Gurobi Optimizer Features & Benefits

Designed to be the best end-to-end offering available

You may also be interested in our What's New page to learn about what was added or changed in our latest release.


An Optimization Solver Reimagined

The Gurobi Optimizer was designed from the ground up to be the fastest, most powerful solver available for your LP, QP, QCP, and MIP (MILP, MIQP, and MIQCP) problems. In particular:

  • Our code was built to fully exploit parallelism. It's not a sequential code that was parallelized, but a fundamentally parallel code that you can also choose to run sequentially
  • Our MIP cutting plane routines are second to none. Not only do we have cutting-edge versions of all the standard cutting planes, but we’ve also gone beyond that to develop new classes of cuts available only in Gurobi
  • Our advanced MIP heuristics for quickly finding feasible solutions often produce good quality solutions where other solvers fall flat, leading to some of our biggest wins vs. the competition
  • Our barrier algorithms fully exploit the features of the latest computer architectures
  • Our broad range of APIs are designed to be lightweight, modern and intuitive, so as to minimize your learning curve while maximizing your productivity

A Single-minded Focus on Providing the Best Optimization-related Tools Possible

The Gurobi Optimizer was state-of-the-art when it was first introduced, and since then we have maintained that status by dramatically pushing the limits on both solver performance and on features designed to help you and your team be successful with optimization.

On the performance front, Gurobi's solvers consistently deliver outstanding performance across a full range of problems, with performance improving as your problems get harder. While benchmark results can fluctuate over time as competitors introduce new versions, Gurobi typically leads solver results across all tests over time and has a history of delivering significant performance improvements over time. Over just the past seven years Gurobi has improved performance by 6X for LP problems and 43X for MIP problems.

On the features front, we have added a range of capabilities either not available from any other commercial solver provider or delivered at an industry-leading level. Some examples include:

  • A Python API that provides the advantages of both a modeling language and a programming language
  • Support for models with multiple, competing objectives, to better address this common modeling scenario
  • The ability to directly solve models with piecewise-linear objective functions, to better capture certain non-linear problems
  • The ability to express common modeling constructs like min or max or if/then at a higher level, making such models easier to build and maintain
  • Powerful and flexible client-server and cloud capabilities to help you develop and deploy where and how you want to any number of users on a broad range of platforms.

Below is a short summary of Gurobi's features and benefits. For further information on Gurobi and how it can meet your specific needs, we invite you to contact us. We're happy to discuss how Gurobi can help you succeed in applying optimization to your applications.


General Features Detail Benefit for You
Outstanding solve times
  • Gurobi has a history of leading public benchmarks and making continual improvements across a range of problem types
  • You can see the standard public benchmarks, maintained by Hans Mittelmann at Arizona State University, here: http://plato.la.asu.edu/bench.htm. Several benchmarks are given for LP, QP, MILP, and MIQP
Add complexity to your model to better represent the real world, and still solve your model within the available time.
Support for all common problem types
  • Linear Programming (LP)
  • Mixed-Integer Linear Programming (MILP)
  • Quadratic Programming (QP)
  • Mixed-Integer Quadratic Programming (MIQP)
  • Quadratically Constrained Programming (QCP)
  • Mixed-Integer Quadratically Constrained Programming (MIQCP)
Model your problem the way that works best for you.
Extremely robust code
  • Robustness has several components: numerical stability, correctness of results, scalability with problem size and difficulty, and robustness of solve times over a range of model instances.
  • Gurobi has a proven track record on all of these components
  • Gurobi is tested thoroughly for numerical stability and correctness using an internal library of over 10000 models from industry and academia.
  • Gurobi is tuned to optimize performance over a wide range of instances
Have confidence in your results.
Full range of programming and modeling language support
  • Object-oriented interfaces for C++, Java, .NET, and Python
  • Matrix-oriented interfaces for C, MATLAB, and R
  • Consistent intuitive design across all programming interfaces
  • Interfaces are lightweight, meaning that they are faster and use less memory
  • Links to standard modeling languages: AMPL, GAMS, AIMMS, and MPL
  • Links to Excel through Frontline Solvers
Maximize your productivity by working in the language you are most comfortable with.
Examples of additional features to ease the modeling process
  • Support for 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
  • Algorithmic support for models with convex, piecewise-linear objective functions, to capture certain non-linear problems
  • Interface support for arbitrary piecewise-linear objective functions, to make it easier to express this common modeling feature
More easily turn your model into code
Easily model and develop applications with Python
  • Python interactive interface provides a powerful prototyping and application development tool
  • Simple language extensions and documented best practices provide many of the features of standard modeling languages, but inside a general programming language
  • Pre-built Python libraries support full application development
  • Save time and effort with a single integrated environment for both modeling and deployment
Take advantage of a single, powerful, environment designed for both modeling and application development.
Flexible licensing
  • Each license can be used for both development and deployment
  • Each license can run multiple applications
  • Licenses can be transferred from consulting developer to end user
  • Licenses never depend on the number of cores per chip, meaning that the power of your license grows as chip capabilities grow
  • Receive credit for existing licenses you wish to upgrade as your needs change
More easily meet your needs and budget both now and as your needs change over time.
Client-server and Cloud computing capabilities
  • With Gurobi Computer Server's client-server capabilities you can more easily build scalable and reliable applications that support multiple simultanious users across a range of computing platforms
  • With the Gurobi
  • Instant Cloud, you can provide your own team and end-users with instant access to powerful optimization capabilties on fast machines.
More easily provide developers and end-users with access to the optimization power they need.
Outstanding support you can actually reach
  • Direct access to experienced, PhD-trained optimization experts, backed by the Gurobi development team, meaning no hunting for the right person to answer your questions
Get answers when you need them — in hours, not days.


Functional Features Detail
Advanced implementations of the latest algorithms
  • LP Solver: primal and dual simplex algorithms, parallel barrier algorithm with crossover, concurrent optimization, and sifting algorithm
  • QP Solver: simplex and parallel barrier algorithms
  • QCP Solver: parallel SOCP barrier algorithm
  • MIP Solver: deterministic, parallel branch-and-cut, non-traditional tree-of-trees search, multiple default heuristics, solution improvement, cutting planes, and symmetry detection
Continuous model features
  • Deterministic and non-deterministic concurrent optimizers that allow you to exploit all of the cores in your machine
  • Multiple simplex pricing options, including steepest edge, devex, and partial pricing
  • Multiple barrier fill-reducing ordering options, including approximate minimum degree and vertex separator nested dissection
  • Both homogeneous and standard barrier algorithms
  • Multiple options for selecting the initial barrier crossover basis
  • Simplex warm starting using advanced bases or solution vectors
  • Automated sifting approach for large aspect ratio models
  • Efficient Irreducible Infeasible Subsystem (IIS) detection
  • General constraints including MIX/MAX, ABS, AND/OR and indicator constraints
  • Support for piecewise-linear objectives
  • Interface support for arbitrary piecewise-linear objective functions, to make it easier to express this common modeling feature
  • Support for multiple objectives with flexibility in how they are prioritized
  • Feasibility relaxation feature for minimizing constraint violations for infeasible models
  • Unbounded ray computation for unbounded models
  • Infeasibility proof computation for infeasible models
  • Detailed sensitivity information
Mixed-Integer model features
  • Sixteen different types of cutting planes
  • Fourteen different MIP feasibility heuristics, including advanced sub-MIP methods
  • Node presolve
  • Support for user cuts and lazy constraints
  • Symmetry detection
  • Support for Special-Ordered Set constraints
  • Support for semi-continuous and semi-integer variables
  • Efficient Irreducible Infeasible Subsystem (IIS) detection
  • General constraints including MIX/MAX, ABS, AND/OR and indicator constraints
  • Support for piecewise-linear objectives
  • Interface support for arbitrary piecewise-linear objective functions, to make it easier to express this common modeling feature
  • Support for multiple objectives with flexibility in how they are prioritized
  • Feasibility relaxation feature for minimizing constraint violations for infeasible models
  • Solution pool provides access to multiple feasible solutions
  • Extensive callback capabilities
  • Support for MIP starts
Presolve
  • Six major categories of reductions for LP models
  • Over fifteen different categories of additional reductions for MIPs
  • Example reductions include: aggregation, bound strengthening, coefficient reduction, reduced-cost fixing, probing, and domination
  • Automatic dualization of continuous models
  • Automatic linearization of quadratic objective and quadratic constraints

For an overview of the different available license types, please visit our licensing overview page. For any questions about our solvers, please contact us directly.