Gurobi Optimizer Technical Features and Details

Free Trial Free Gurobi Trial Button

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. 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. We’ve also gone beyond cutting-edge versions of all the standard cutting planes and developed 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. Our barrier algorithms fully exploit the features of the latest computer architectures. And our APIs are designed to be lightweight, modern and intuitive, so as to minimize your learning curve while maximizing your productivity.  

Unique Features

We have added a range of capabilities:

  • A Python API that provides the advantages of both a modeling language and a full programming language.
  • Support for models with multiple, competing objectives and two options to solve them.
  • 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 an extensive list of Gurobi's technical features, details and benefits.

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.
  • Gurobi is tuned to optimize performance over a wide range of instances.
Add complexity to your model to better represent the real world, and still solve your model within the available time.
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 is tested thoroughly for numerical stability and correctness using an internal library of over 10,000 models from industry and academia.
Have confidence in your results.
Programming and modeling languages
  • 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.
Additional modeling features
  • Support for multiple objectives with flexibility in how they are prioritized
  • General constraints such as MIN/MAX, ABS, AND/OR, and indicator constraints
  • Algorithmic support for models with convex, piecewise-linear objective functions
More easily turn your model into code
Extensions for Python API
  • Python interactive interface for a powerful prototyping
  • Language extensions for easier coding of a model
  • Documented best practices to get you started quickly
  • Pre-built Python libraries support full application development
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.
  • License grows as chip capabilities grow.
The license fits to your situation.
Client-server capabilities
  • Easily build scalable and reliable applications that support multiple simultaneous users across a range of computing platforms
  • Includes job queueing and load-balancing
More easily share optimization power and machines for your developers and users.
Cloud computing
  • Provide your own team and end-users with instant access to powerful optimization capabilities on fast machines.
  • Supports Amazon Web Services (AWS) and Microsoft Azure
You don’t have to buy and maintain a machine, just pick the one that meets your needs.
Outstanding support
  • Direct access to experienced, PhD-trained optimization experts
  • Support is backed by the Gurobi development team
Get answers when you need them — in hours, not days.
Functional Features Detail
Algorithms implemented
  • LP: primal and dual simplex algorithms, parallel barrier algorithm with crossover, concurrent optimization, and sifting algorithm
  • QP: simplex and parallel barrier algorithms
  • QCP: parallel SOCP barrier algorithm
  • MIP: 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 MIN/MAX, ABS, AND/OR and indicator constraints
  • Support for piecewise-linear objectives
  • Interface support for arbitrary piecewise-linear objective functions
  • Support for multiple objectives allowing different strageties
  • 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
  • Different types of cutting planes
  • 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
  • Irreducible Infeasible Subsystem (IIS) detection
  • General constraints including MIN/MAX, ABS, AND/OR and indicator constraints
  • Support for piecewise-linear objectives
  • Interface support for arbitrary piecewise-linear objective functions
  • Support for multiple objectives allowing different strageties
  • 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
  • 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.

Request a Price Quote

Please fill out this form if you’re interested in receiving a price quote.

Can’t see the form? Please email to request pricing.

Thank you! The information has been submitted successfully.