The Latest Enhancements

Version 7.0 delivers higher performance and powerful new modeling capabilities


Performance Improvements

The Gurobi Optimizer 7.0 extends our tradition of providing significant performance enhancements with each new release. The overall performance improvements from v6.5 on models that take more than one second to solve include:

  • MIP: 22% faster (38% faster on models that take >100 seconds to solve)
  • LP (concurrent): 10% faster (25% faster on models that take >100 seconds to solve)
  • QCP: 46% faster (66% faster on models that take >100 seconds to solve)
  • MIQCP: 48% faster (164% faster on models that take >100 seconds to solve)
  • MIQP: 9% (18% faster on models that take >100 seconds to solve)

While we're seeing improvements on the majority of models in our test sets, results on your models may vary. We are happy to help you benchmark your models with Gurobi v7.0. Simply email us at support@gurobi.com.


Python Modeling Enhancements

Our Python modeling interface has been greatly enhanced. We provide new methods and classes that further simplify the task of translating mathematical models into efficient implementations.


Support for Multiple Objectives

You can now associate multiple, independent optimization objectives with your model, and then perform either blended or lexicographic optimization on the resulting multi-objective model.


MIP Solution Pool Support

You can now obtain more than just one optimal solution to your MIP model. Specifically, you can now request the N best solutions, or N solutions that are less than a specified gap from the optimal solution.


New General Constraints

You can now enter several commonly occurring types of constraints without having to translate them into linear constraints yourself. Specifically, you can now add the following constraint types:

  • MIN/MAX constraint: sets a decision variable equal to the min/max over a set of other decision variables
  • ABS constraint: sets a decision variable equal to the absolute value of some other decision variable
  • AND/OR constraint: sets a binary decision variable equal to the logical and/or over a set of other binary decision variables
  • Indicator constraint: forces a linear constraint to be satisfied whenever a binary decision variable takes the specified value

Support for Tuning Criterion

In previous releases, the tuning tool would always try to find settings that minimize the optimality gap. You can use the new TuneCriterion parameter to search for settings that produce the best lower bound, upper bound, or gap.


Support for Python 3.5 on the Mac

With the addition of Python 3.5 support on the Mac, Gurobi Optimizer v7.0 now supports all of the most popular Python platforms. You can also now use Gurobi with the Anaconda Python 3.5 distribution for the Mac, with its large number of pre-built libraries to support full application development and included Jupyter Notebook development environment.


Additional Enhancements in 7.0

In addition to the above enhancements, we've also responded to requests for the following features:

  • Enhanced .NET Property Support — Gurobi parameters and attributes are now available through .NET properties in the .NET interface.
  • No more update calls for most programs — The new release changes the default update behavior. You can now refer to newly created variables and constraints without having to call update first.
  • Additional new parameters:
    • BestObjStop: New termination criterion - terminates a MIP solve when the incumbent objective is at least as good as the specified value.
    • BestBdStop: New termination criterion - terminates a MIP solve when the best bound is at least as good as the specified value.
    • InfProofCuts: New cutting plane type.
    • StrongCGCuts: New cutting plane type.
    • DegenMoves: Allows the user to shut off a root heuristic that can sometimes be expensive.

With version 7.0, Gurobi continues to show its commitment to providing the best solvers, features, and support to help OR professionals succeed with optimization.


Upgrading is Easy

You will need a new license to use Gurobi 7.0, but getting one is easy:

  • Commercial users current on their Maintenance and Support — Simply download and install Gurobi 7.0, and then rerun the grbgetkey process with your current license(s). Your license(s) have already been updated to work with Gurobi 7.0. To find the code for your license simply go to https://user.gurobi.com/download/licenses/current (while logged in), click on the license you wish to use with Gurobi 7.0, and you will see the grbgetkey code near the bottom of the page.
  • Academic users of the free academic version of Gurobi — Academic users who obtained their license from the Gurobi website should go to https://user.gurobi.com/download/licenses/free-academic and request a new academic license. Academic users who obtained their license directly from Gurobi's license team should follow the process for commercial users current on their M&S shown above.
  • All other users — Please contact Gurobi Sales to discuss upgrade options.

Enhancements in Prior Versions of Gurobi

You may also be interested in viewing a detailed list of enhancements from 5.0 to 6.5, and a summary of enhancements in releases prior to 5.0 on our Prior Versions page.