We are pleased to announce the release of JuMP v0.20 and MathOptInterface (MOI) v0.9. This release is an incremental improvement over JuMP v0.19, with the majority of breaking changes affecting only solver developers. We support a number of new features that build on top of the extensible design of MOI.
Highlights from the JuMP 0.20 release notes:
- LP sensitivity summary functions
- Additional functions for:
- Setting and querying coefficients in constraints
- Setting and querying the new MOI attributes listed below
- Improved error messages
- Performance improvements
Highlights from the MOI 0.9 release notes:
- New sets were added for modeling new constraints: IndicatorSet, NormOneCone and NormInfinityCone.
- New attributes were added to enhance solver independent control over solvers: DualObjectiveValue, RawParameter, RawStatusString, SolveTime, Silent, and TimeLimitSec.
- Bridges have matured to a point where solver wrappers don’t have to implement any transformation and can directly map the solver interface into MOI without the need of doing any extra work. This allowed us to get rid of the intermediate layers LQOI and SDOI which were carrying out such transformations.
Updating solver wrappers for a new release of MOI is a large effort that requires coordination over 20+ packages. Most, but not all, solver interfaces have already been updated to support MOI 0.9. See here to track progress. Notably, the GLPK, Gurobi, Xpress, CPLEX have been or are currently being rewritten from scratch in order to reduce technical debt and remove the dependency on the intermediate LQOI package.
Note: Until all solver wrappers have a compatible release, expect to see Pkg reporting version incompatibilities.
We thank all the contributors to the release!