martinbiel / StochasticPrograms.jl

Julia package for formulating and analyzing stochastic recourse models.
MIT License
75 stars 25 forks source link

Update to JuMP 1.2.1, MOI 1.3.0 and MA 1.0.4 #43

Closed iSoron closed 2 years ago

iSoron commented 2 years ago

@martinbiel @odow This PR attempts to make StochasticPrograms.jl compatible with the latest version of JuMP. I have been working on this because we are considering adding this package as a dependency of UnitCommitment.jl and RELOG. A few comments:

Fixes #40.

Edit: You can see that tests are passing here: https://github.com/iSoron/StochasticPrograms.jl/runs/8118666290

odow commented 2 years ago

because we are considering adding this package as a dependency

I don't think @martinbiel is planning on putting a lot of effort into StochasticPrograms in the long-term, so I'd say this is high-risk. You'd essentially need to take ownership of ongoing support and maintenance.

Because SPjl depends heavily on internal and undocumented JuMP/MOI functions, even minor version increments

Yeah, this isn't ideal. Some of the JuMP._ functions we can probably copy-paste into StochasticPrograms. But there's a lot of work to update everything.

martinbiel commented 2 years ago

Thank you very much for your efforts.

The dependence on internal JuMP/MOI functions is unfortunate. Its a solution I opted for in the first major redesign of SPjl, when MathProgBase was replaced by MathOptInterface. My plan was to wait for the stable versions of JuMP/MOI to release and then look into a redesign that would be more stable going forward. This has however been postponed due to life-changes (father to twins :sweat_smile:).

The changes look fine and I am tempted to merge this and tag a new patch release, so that others can identify further issues. A more complete test suite is also on the backlog... Thanks again for the fixes :slightly_smiling_face: