I have a model coded in JuMP which needs to be solved multiple times in a loop. It is an inter-temporal / rolling horizon problem where the model is solved for one time period at a time, then various “parameters” need to be updated.

I wasn’t aware of the ParametricOptInterface.jl, so I implemented the parameters as variables, whose values are fixed and updated between each model solve (rather than re-build the model in full each time).

I’m wondering if I should update my code to use the ParametricOptInterface.jl rather than variables, so my question is: is this likely to offer performance gains relative to using variables?

Not sure if the answer depends on the structure or size of my problem (it is an MCP solved with PATH solver, and it is relatively large).

Thanks @odow, the problem is expensive to build and quick to solve (and it has to be solved many times) so modifying in place is definitely the go.

What I have done is modify in place using variables as a hack for parameters, but was wondering if this ParametricOptInterface might have some advantages.

Variables as parameters approach works OK. I ran into the upper limit of variables for the “free” version of PATH solver, but downloading the PATH licence file fixed that.