JuMP is a domain-specific modeling language for mathematical programming embedded in Julia. It currently supports a number of open-source and commercial solvers (COIN Clp, COIN Cbc, GNU GLPK, Gurobi) via a generic solver-independent interface. One the best features of JuMP is its speed - benchmarking has shown that it can create problems at similar speeds to special-purpose modeling languages such as AMPL while maintaing the expressiveness of a generic high-level programming language.
Our documentation, including installation guide, quick-start guide, and reference material is available here.
We have a comprehensive test suite: the current status of the development version of
JuMP is
JuMP was formerly known as MathProg.jl
JuMP can be installed through the Julia package manager (version 0.2 required)
julia> Pkg.add("JuMP")
For full installation instructions, including how to install solvers, see the installation guide
Mathematical programming encompasses a large variety of problem classes. We list below what is currently supported. See the documentation for more information.
Objective types
- Linear
- Convex Quadratic (Gurobi only)
Constraint types
- Linear
- Convex Quadratic (Gurobi only)
- Second-order Conic (Gurobi only)
Variable types
- Continous
- Integer-valued
Please report any issues via the Github issue tracker. All types of issues are welcome and encouraged; this includes bug reports, documentation typos, "how do I do this?" questions, feature requests, etc.