Gurobi
The Gurobi Optimizer is a commercial optimization solver for linear programming (LP), quadratic programming (QP), quadratically constrained programming (QCP), mixed integer linear programming (MILP), mixed-integer quadratic programming (MIQP), and mixed-integer quadratically constrained programming (MIQCP).
Developer(s) | Gurobi Optimization |
---|---|
Stable release | 9.1[1]
|
Type | Operations Research, Mathematical optimization |
License | Proprietary |
Website | gurobi |
As of | 2019-05-07 |
Gurobi was founded in 2008[2] and is named for its founders: Zonghao Gu, Edward Rothberg and Robert Bixby. Bixby was also the founder of CPLEX, while Rothberg and Gu led the CPLEX development team for nearly a decade.[3]
Features
The Gurobi Optimizer supports a variety of programming and modeling languages including:[4]
- Object-oriented interfaces for C++, Java, .NET, and Python
- Matrix-oriented interfaces for C, Python, MATLAB, and R
- Links to standard modeling languages: AIMMS, AMPL, GAMS, and MPL
- Links to Excel through their Analytic Solver and Solver SDK products
The Gurobi Optimizer also includes a number of features to support the building of optimization models including support for:[5]
- Multiple objectives with flexibility in how they are prioritized
- General constraints such as MIN/MAX, ABS, AND/OR, and indicator constraints help avoid having to turn commonly occurring constraints in linear constraints
- Models with convex, piecewise-linear objective functions, to capture certain non-linear problems
- Arbitrary piecewise-linear objective functions, to make it easier to express this common modeling feature
- Distributed tuning, to speed the exploration of parameter settings to speed solve times
The Gurobi Optimizer also has options to deploy on the cloud[6] and for client-server computing.[7]