Gurobi
Developer(s) | Gurobi Optimization |
---|---|
Stable release |
7.5[1]
|
Development status | Active |
Type | Operations Research, Mathematical optimization |
License | Proprietary |
Website |
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).
Gurobi 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.[2]
Features
The Gurobi Optimizer supports a variety of programming and modeling languages including:[3]
- Object-oriented interfaces for C++, Java, .NET, and Python
- Matrix-oriented interfaces for C, 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:[4]
- 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 [5] and for client-server computing [6]