JuMP, a modelling language and collection of supporting packages for mathematical optimization problems in Julia, has gotten a new version. The 1.0 release marks the completion of the JuMP 1.0 roadmap and the transition to semantic versioning.
JuMP makes it easy to formulate and solve a range of problem classes, including linear programs, integer programs, conic programs, semidefinite programs, and constrained nonlinear programs.
JuMP consists of two main Julia packages, JuMP.jl and MathOptInterface.jl, along with a plethora of supporting packages that interface MathOptInterface.jl to external solvers, use JuMP to solve application-specific optimization problems, or extend JuMP to new problem domains.
JuMP is used to route school buses, schedule trains, plan power grid expansion, and optimise organic milk production.
Semantic versioned packages have a version comprised of three numbers: MAJOR.MINOR.PATCH. Given a version number MAJOR.MINOR.PATCH:
the MAJOR version is incremented for incompatible API changes
the MINOR version is incremented when new backwards compatible functionality is added
the PATCH version is incremented for bug fixes.
JuMP follows the ColPrac guide for deciding how to version each release.