Gurobi Optimizer
Faster Than Ever
With Gurobi 9.1, the Gurobi Optimizer – which was tested using Gurobi’s test library comprised of thousands of real-world models – registered notable performance improvements across multiple problem types including:
We are happy to help you benchmark your models with Gurobi Version 9.1. Please submit a Gurobi Support ticket to get started.
New Features
The new features in the release include:
- NoRel Heuristic: This new heuristic finds high-quality solutions in situations where the linear programming (LP) relaxation of the mixed-integer programming (MIP) problem is too expensive to solve.
- Integrality Focus: This new feature allows users to be much stricter on integrality constraints, thus avoiding many undesirable results (including trickle flows) that can come from small integrality violations.
- Python Matrix API Enhancements: Gurobi’s Python interface – gurobipy – has been extended and improved to better support matrix-oriented modeling.
- Pip Install Support: Users can now utilize pip, a Python tool, to install Gurobi in their Python environment.
- Releasing the GIL in Python API: When the optimize() method is called, gurobipy now releases the Global Interpreter Lock (GIL), which allows user programs to execute Python code in another Python thread while optimize() is running.
- Tuning Tool Enhancements: We added a number of additional controls to our tuning tool.
- Record/Replay for Compute Server and Cloud: We now support the record/replay feature for Gurobi Compute Server and Gurobi Instant Cloud.
- Pre-specified User Cuts: By setting the Lazy linear constraint attribute to the new value -1, the user can declare a linear constraint to be a user cut. The constraint must be redundant with respect to the rest of the model. The solver can optionally add user cuts to the relaxation in order to cut off LP solutions that are encountered during the MIP solving process and potentially improve performance.