Performance Improvements and Advanced Solving Techniques

The Gurobi R&D team continues to push the boundaries of performance—resulting in improvements to existing algorithms and the development of several brand-new techniques. As a result, Gurobi Optimizer 10.0 has achieved the following performance improvements since the release of Gurobi Optimizer 9.5:

ALGORITHM OVERALL SPEED-UP ON >100SEC MODELS

LP

  • Concurrent
  • Primal Simplex
  • Dual Simplex
  • 10%
  • 3%
  • 3%
  • 25%
  • 10%
  • 10%

MIP

  • MILP
  • Convex MIQP
  • Convex MIQCP
  • Non-Convex MIQCP
  • 13%
  • 57%
  • 28%
  • 51%
  • 24%
  • 2.4x*
  • 88%*
  • 2.6x

*MIQP and MIQCP hard model test sets are smaller than for other problem classes.

“We’ve achieved a more than 75x speedup on MILP since version 1.1. But more importantly, Gurobi 10.0 can now solve even more models easily, including some models that were, until now, intractable.”

Dr. Tobias Achterberg
Vice President of Research and Development, Gurobi Optimization

Gurobi Optimizer

Gurobi 10.0 also includes the following advances in the underlying algorithmic framework:

  • New network simplex algorithm – Greatly speeds up solving LPs with network structure.
  • New heuristic for QUBO models, which can arise in quantum optimization – Improves Gurobi’s ability to quickly find good feasible solutions for quadratic unconstrained Boolean optimization problems.
  • Significant performance gains on MIPs that contain machine learning models – Results in a more than 10x improvement on certain models that contain embedded neural networks with ReLU activation functions.
  • New optimization-based bound tightening (OBBT) algorithm – Greatly speeds up solving nonconvex MIQCP models.
  • Reorganized concurrent LP solver – Improves performance and reduces memory footprint.

Innovative Data Science Integration

With Gurobi Machine Learning—an open-source Python project to embed trained machine learning models directly into Gurobi—data scientists can more easily tap into the power of mathematical optimization.

Specifically, Gurobi Machine Learning allows users to add a trained machine learning model as a constraint to a Gurobi model (e.g., from scikit-learn, TensorFlow/Keras, or PyTorch). Thus, you would estimate a real-world system by training a machine learning model, and then use this machine learning model as a constraint in Gurobi, so you can optimize controls on that system. 

“We’re aiming to connect the world of data science with the world of optimization. With Gurobi, you can take your machine learning ‘black box’ that’s generating your predictions and plug it directly into your optimization model—enabling you to connect your forecasting with optimization.”

Dr. Tobias Achterberg
Vice President of Research and Development, Gurobi Optimization

With this release we’re also making it more convenient to integrate gurobipy model building with pandas objects through a new, dedicated open-source package available now.

Enterprise Development and Deployment Experience

To make its solver even more accessible and easy to use, the Gurobi team has integrated new tools for model development, monitoring, and advanced diagnosis:

  • Significant enhancements to the matrix-friendly API in gurobipy – All matrix-friendly modeling objects now support multiple dimensions, and dimension handling leans consistently on NumPy, including broadcasting.
  • New logistic general constraint – Makes it easy to incorporate a constraint in MIP that models the logistic function.
  • NuGet package for .NET – Allows .NET users to download Gurobi directly from the NuGet server.
  • Memory limit parameter that allows graceful exit – Users can set a memory limit and still get the best solution and resume the optimization after the limit was hit.
  • New Cluster Manager dashboards – The Gurobi Cluster Manager now includes two new dashboards, enabling users to monitor metrics over time and drill down to the actual activity to better understand the cluster usage and application behavior.
  • Expanded platform support – Gurobi 10.0 includes support for Python 3.11 and Linux on ARM 64-bit.

Expanded Web License Service

Gurobi introduced its Web License Service (WLS) for Docker and Kubernetes container environments last year, with the release of Gurobi 9.5. With Gurobi 10.0, the team has expanded WLS to support nearly all types of containerized environments. Moreover, customers can now also obtain WLS licenses that allow them to run Gurobi in virtually all deployment scenarios, including containerized environments, virtual machines, and bare-metal machines, across Linux, macOS, and Windows.

“Our customers love our WLS and the flexibility it provides. And now they can dynamically deploy Gurobi software in even more environments.”

Duke Perrucci
Chief Operating Officer, Gurobi Optimization

New Customer Support Policy

Additionally, starting with Gurobi 10.0, major product releases—and their subsequent minor and technical product releases—will be supported for a term of three years from the initial major product release date. For example, Gurobi version 10.0.0 (released in November 2022) and minor releases between 10.0 and 11.0 will be supported until November 2025.

“This helps create predictability for our customers, so they know exactly how long a version will be supported. We aim to deliver expert technical guidance and support for our customers—and this policy helps eliminate the guesswork. We want our customers to get the help they need, when they need it.”

Dr. Sonja Mars
Director of Optimization Support, Gurobi Optimization

Webinar

What’s New in Gurobi 10.0 – Nov. 15 and 22

In this webinar, attendees will get a first look at our upcoming product release, Gurobi 10.0. We will summarize the performance improvements and highlight some of the underlying algorithmic advances, such as the network simplex algorithm, enhancements in concurrent LP, and optimization based bound tightening.

Upgrade Now

For more information on how to install Gurobi 10.0, visit the article: How do I update my Gurobi installation to a newer version? Commercial users with an existing 9.5 license, who are current on maintenance and support, and all eligible Academic users, can upgrade to 10.0 immediately by visiting the downloads page (while logged in). Commercial users with an older version of Gurobi or those not current on maintenance and support should contact sales@gurobi.com to get this new release. All other users, please contact us to discuss upgrade options.

Try Gurobi for Free

Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.

Evaluation License
Get a free, full-featured license of the Gurobi Optimizer to experience the performance, support, benchmarking and tuning services we provide as part of our product offering.
Academic License
Gurobi supports the teaching and use of optimization within academic institutions. We offer free, full-featured copies of Gurobi for use in class, and for research.
Cloud Trial

Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.

Search

Gurobi Optimization