Detailed Release Notes for Gurobi 11.0.2

Supported Platforms


Platform (port) Operating System Compiler Notes
Windows
64-bit (win64)
Windows 10, 11, Windows Server 2016, 2019, 2022 Visual Studio 2017-2022 Use gurobi_c++md2017.lib (e.g.) for C++
       
Linux x86-64
64-bit (linux64)
Red Hat Enterprise Linux 8, 9 GCC >= 8.5  
  SUSE Enterprise Linux 15    
  Ubuntu 20.04, 22.04, 24.04    
  Amazon Linux 2, 2023    
macOS
64-bit universal2 (macos_universal2)
12 (Monterey), 13 (Ventura), 14 (Sonoma) Xcode 13/14  
Linux arm64
64-bit (armlinux64)
Red Hat Enterprise Linux 8, 9 GCC >= 8.5  
  SUSE Enterprise Linux 15    
  Ubuntu 20.04, 22.04, 24.04    
  Amazon Linux 2, 2023    
AIX
64-bit (power64)
AIX 7.2, 7.3 XL C/C++ 9 Note that Gurobi 11 will be the last supported version for AIX. Due to limited Python support on AIX, this port does not include the Interactive Shell or the Python libraries.

Additional Supported Platform Information

Gurobi 11.0.2 supports the following language/platform versions:

Language Version
Python 3.8, 3.9, 3.10, 3.11, 3.12
MATLAB R2019a-R2023b
R 4.4
JDK 8, 11, 17
.NET 6, 8

Bug Fixes

All bug fixes listed by version can be found on our website.

Changed in Gurobi 11.0

Linux GNU C library (glibc) dependency

New features affecting all APIs

Mixed-Integer Non-Linear Programming (MINLP) Problems

The Gurobi Optimizer can now use spatial branching and outer approximation to solve models with non-linear functions, instead of using static piecewise-linear approximations. See the discussion of function constraints with dynamic piecewise-linear approximation for more information.

Default behavior of NonConvex parameter

The default behavior of the NonConvex parameter has changed. Previously, you had to explicitly set this parameter to value 2 if you wanted to solve a model with a non-convex quadratic objective or constraint. Now it will solve such models by default. To revert to the previous behavior, set the parameter to 1.

Copying models between environments

It is now possible to copy a model from one environment to another, using the following new routines or signatures:

The primary use case for copying models is when performing optimization on multiple, related versions of the same problem on multiple threads. Multi-threading within an environment is not supported.

For Compute Server users, note that you can copy a model from a client to a Compute Server environment, but it is not possible to copy models between two Compute Server environments.

Better control over the concurrent LP optimizer Option 5 of the Method parameter has been deprecated in favor of the new ConcurrentMethod parameter. The latter allows you to control which methods are run concurrently with the deterministic (Method=4) or non-deterministic (Method=3) concurrent optimizer. The deprecated setting Method=5 can now be replicated by choosing Method=4 along with ConcurrentMethod=3. To give another example, non-deterministic concurrent execution of the primal and dual simplex algorithms can be selected using Method=3 along with ConcurrentMethod=3.

Change the Threads parameter when resuming optimization If an optimization is interrupted (e.g., due to a time limit), the user can now modify the Threads parameter in order to change the number of threads to be used when the solving process is resumed with another call to optimize.

Tuning

The distributed tuning can use remote workers in a dynamic way. With the parameter TuneDynamicJobs you can control the size of a dynamic set of remote workers that are used in parallel. These workers are used for a limited amount of time and afterwards potentially returned so that they are available for other remote jobs.

Starting from Gurobi 11, we include in the results the first set of parameters used to solve the model (base settings). This result is stored as first setting in the tune results. Hence, to get the best tuned set of parameters, you need to request at least 2 sets (using TuneResults) and retrieve the set with index 1.

The tuner now supports the log callback. You can add a log callback to the environment and retrieve all the log messages coming from the tuner.

Piecewise-linear approximation The default behavior of parameter FuncPieces, the main parameter for piecewise-linear approximation of function constraints, is changed. The new default for version 11.0 uses the relative error approach for the approximation, while for version 10.0 or earlier it mainly used the number of function constraints to set the total number of pieces.

New parameters The following parameters are new in Gurobi 11.0:

Changes to gurobipy

Installation and packaging changes

New classes, methods, and properties

Enhancements to existing methods

Changes that may require updating your code

Deprecated functionality

If you are upgrading from a previous version of Gurobi, we recommend first running your code with Gurobi 10 and warnings enabled to catch deprecations in gurobipy. Fixing these deprecated usages will help to keep compatibility for Gurobi 11 and later versions. Warnings can be enabled by running your code with the -X dev or -W default flags. See the Python Development Mode or warnings package documentation for further details.

In Gurobi 11, the following usage is deprecated and will be removed in a future version:

Changes to the Java package

Updates

We've made essential changes in the package structure to allow publishing to Maven Central. Please take note of the following updates:

Changes to the MATLAB interface

On the macOS platform, the Gurobi mex interface is now also available for native Apple silicon MATLAB (mexmaca64).

Compute Server, Cluster Manager, and Instant Cloud

Detailed release notes for Compute Server, Cluster Manager, and Instant Cloud can be found here

Other changes

The interactive shell (gurobi.sh and gurobi.bat) is deprecated and will be removed in a future release.