Business & Industry Applications
Higher Education Research & Teaching




Numerical Computing
Computing Language

The JuMP project makes state-of-the-art tools for mathematical optimization available in Julia. The flagship package is the JuMP modeling interface, a domain-specific language for modeling optimization problems. It supports a number of open-source and commercial solver backends for a variety of problem classes, including (mixed-integer) linear programming, semidefinite programming, and derivative-based nonlinear optimization. JuMP matches the performance of standalone commercial modeling languages by using Julia’s key features like macros and JIT compilation. It provides support for callbacks to solvers for advanced control of the solution process. JuMP is extensible at all levels of the stack, from supporting new solvers, to expressing new types of constraints, and to modeling new problem classes like polynomial optimization.

JuMP has been used for routing school buses in