Fixed Issues in Gurobi Optimizer 12.0#
This page lists the issues fixed in Gurobi 12.0.
Fixed Issues in Gurobi 12.0.3#
Optimizer#
- Fixed wrong answer for models involving piecewise-linear objective terms 
- Fixed segmentation fault when resuming an optimizing and hitting a limit right after 
- Fixed numerical issue with dealing with superbasics in simplex 
- Fixed wrong answer with a perspective reformulation using a fixed indicator constraint 
- Fixed harmless uninitialized memory read in symmetry detection due to a very rare hash collision 
- Be less aggressive in column scaling in the PWL column reduction to fix a customer model performance issue 
- Fixed an issue in the termination condition for TimeLimit=0 
- Fixed issue when reading a parameter file with Windows line ending 
- Fixed issue with invalid parameter settings appearing in presolved model 
- Respect the soft memory limit in disconnected component sub-problems 
- Fixed barrier termination test when slacks have not been computed accurately 
- Fixed wrong infeasibility claim in LP presolve due to too aggressive constraint redundancy detection 
Tuning Tool#
- Added missing version information in log of tuning tool in non-distributed mode 
- Fixed error in tuning tool with StartNumber=-1 parameter setting 
gurobipy#
- Fixed issue in gurobipy with errors in matrix API operations due to writable numpy arrays 
Fixed Issues in Gurobi 12.0.2#
Optimizer#
- Fixed floating point exception with POW constraints 
- Fixed an integer overflow when reading an attr file 
- Fixed an issue with an infinite violation on nonlinear models that have poles in POW constraints 
- Fixed an issue with returning a solution value of x=0 for a LOG constraint 
- Fixed wrong declaration of infeasibility on models with piecewise-linear objective 
- Fixed numerical issues with handling TAN functions 
- Fixed wrong answer bug in PreQLinearize handling of maximization problems with quadratic objective 
- Fixed performance issue in presolve for MINLPs if too many redundant constraints are detected 
- Fixed a UMR in MINLP presolve 
- Fixed possible segmentation fault in presolve for models with quadratic objective 
- Fixed bug that solving a model with multiple scenarios and multiple starts returns an error 
- Fixed issue with variable hints not being used in the model fingerprint calculation if hint priorities are not set 
- Fixed issue with variable hints not being written to the attribute file if hint priorities are not set 
- Fixed rare segmentation fault in heuristic for models with variable hints and numerically problematic LP relaxations 
- Fixed integer overflow in simplex memory allocation that results in a false out-of-memory error 
- Reduced performance and memory overhead in some situations for MIP models with disconnected components 
- Fixed possible segmentation fault for MIP models with disconnected components 
- Fixed numerical issue in the parallel row presolve reduction that could lead to a solution with large violation 
- Fixed issue for MIP models with disconnected components that could lead to wrong answers 
- Fixed potential segmentation fault in simplex algorithm 
- Fixed bug with dual simplex incorrectly returning an error 10025 for models with more than 2 billion nonzeros 
- Fixed wrong declaration of unboundedness on small nonconvex QP 
- Fixed issue that providing a warm start but setting LPWarmStart=0 takes a different simplex solving path than omitting the warm start 
- Fixed bug with implied bound computation for quadratic constraints that could lead to wrong answers 
- Fixed numerical issue in IIS algorithm that could lead to a wrong IIS result 
- Fixed bug in presolve reduction that detects an XOR structure, which could lead to wrong answers 
- Fixed numerical issue with an unbounded nonconvex MIQCP that was declared optimal 
- Fixed heap-buffer-overflow in mps reader when reading multi-scenario names 
- Fixed numerical issue in simplex that could lead to a seemingly infinite loop 
- Fixed error code returned from - GRBstartenvwhen trying to use a Compute Server with a light Gurobi client library
- Fixed potential segmentation fault on nonconvex models caused by nonlinear barrier algorithm 
- Fixed very rare performance bug in presolve aggregator 
- Fixed inconsistency in C++ API for the default value of abstol in - setObjectiveNmethod
- Fixed - ConvertToFixedmethod in .NET API
- Fixed - convertToFixedmethod in Java API
- Fixed issue in Maven pom file that leads to a warning or error about an invalid Gurobi pom file 
- Added - DYLD_LIBRARY_PATHto MacOS examples Makefile
Tuning Tool#
- Fixed issue in tuning tool where Gurobi would not switch to the RUNTIME criterion after it found a parameter setting that could solve all models to optimality 
Fixed Issues in Gurobi 12.0.1#
- Missing - GRBloadenvand- GRBemptyenvsymbols in the C library have been restored
- Fixed bug and numerical issue in domain propagation of LOGISTIC and TAN functions 
- Fixed bug in presolve that can lead to wrong objective value calculation 
- Fixed bug with incorrect SolCount attribute value when using the PoolGap parameter 
- Fixed bug in object oriented APIs with duplicate variable indices in the objective functions of multi-objective models 
- Fixed numerical issue with reporting a feasible solution to the user while the problem was already declared infeasible 
- Fixed rare uninitialized memory read when accessing the simplex basis, which may lead to non-deterministic behavior 
- Fixed performance bug in multi-objective solves when crushing an objective function into the presolved model space 
- Fixed issue in multi-objective solves that can lead to unexpected error code - 20000
- Fixed very rare segmentation fault when using node files 
- Fixed bug with nonlinear presolve reductions invalidating lazy constraints produced in the callback 
- Fixed bug in the tuning tool used with a WLS license 
- Fixed unexpected error - 10005after multi-objective solve
- Fixed bug in simplex-internal reduced cost strengthening that can lead to wrong answers for MIP models 
- Use safer numerics in domain propagation of quadratic constraints to avoid numerical issues 
- Fixed issue where the MIPGap setting could lead to a path change in the MIP tree search 
- Fixed infinite loop in IIS algorithm resulting from numerical issues in a sub-system solve 
- Fixed behavior of - GRBpresolvemodeland- Model.presolvemethods when a restart is triggered during presolve
- Fixed numerical issue in domain propagation of linear constraints with very small coefficients that can lead to wrong answers 
- Fixed bug with missing error messages when model size exceeds license limits 
- Fixed issues in presolve with handling the DIVIDE operator in general nonlinear functions 
- Fixed numerical issue in mixing path cut separator that could lead to wrong answers 
- Fixed bug in implicitly handling lower bounds in cone constraints that can lead to sub-optimal termination for infeasible SOCPs 
- Fixed segmentation fault with using MIP starts on MINLP models 
- Fixed bug that leads to invocation of - Model.cbStopOneMultiObjterminating multi-objective solves completely
- Fixed bug in presolve for quadratic constraints that could lead to wrong answers for MIQCPs 
- Model.addConstrnow raises an explicit exception for invalid syntax involving NL constraints
- Fixed error message in gurobipy when trying to optimize again an asynchronously optimized model that has already been closed 
- Fixed bug in presolve for QUBO models and PoolSearchMode=2 that leads to not anymore finding all feasible solutions 
- Fixed bug in presolve with non-convex quadratic constraints being modeled as general nonlinear constraints always leading to non-PSD error even if non-convex constraints should be allowed 
- Fixed bug with ignoring resource parameter limits like Threads or MemLimit with multi-objective or concurrent environments 
- Fixed bug with ignoring lazy constraints from the callback if the callback calls - Model.message.
- Removed warning about big bounds that had been introduced by Gurobi during presolve 
- Fixed memory leak in barrier when presolve decided to explicitly dualize the model 
- Fixed potential segmentation fault with general nonlinear constraints containing plus and mult operators 
- Fixed numerical issue in Euclidean presolve reduction that could lead to wrong answers 
- Fixed constraint sense in gc_funcnonlinear example for MATLAB and R 
- Fixed numerical issue in the envelope calculation for SIN and COS nonlinear function constraints 
- Fixed numerical issue for POLY nonlinear function constraints with tiny coefficients 
- Fixed numerical issue in a presolve reduction that detects piece-wise linear objectives, which can lead to wrong answers 
- Fixed potential segmentation fault in presolve for general nonlinear constraints 
- Fixed numerical issue in presolve for cliques with continuous variables 
- Fixed potential segmentation fault in a very rarely called heuristic 
- Fixed issue that fingerprint attribute for a model with piece-wise linear objective function on macOS ARM can be different than on other platforms. 
Fixed Issues in Gurobi 12.0.0#
Optimizer#
- Properly sign Windows dll and executables and .NET library 
- Fixed issue with empty error messages for function calls from callback 
- Fixed issue with infinite recursion if - GRBmsgis called from within a message callback
- Reduced number of malloc calls to avoid issues with memory fragmentation that may lead to out-of-memory errors 
- Removed runtime overhead from querying OS information for logging that could be noticed when solving thousands of tiny models 
- Fixed a potential segmentation fault when setting an integer attribute of a general constraint 
- Fixed read error for OPB files at the end of the file 
- Fixed issue in OPB file reader when the resulting quadratic problem has more than 2 billion quadratic terms 
- Fixed very rare numerical issue in presolve that could lead to wrong answers 
- Fixed numerical issues in presolve that could lead to a wrong declaration of infeasibility 
- Fixed numerical issues in parallel column presolve reduction that could lead to wrong answers 
- Fixed issue with inconsistent objective values if uncrushing improves (for numerical reasons) the objective value 
- Fixed rare issue with presolve reduction that combines an inequality with an equation that is parallel to it, leading to a wrong answer 
- Fixed issue in presolve with general piecewise-linear constraint that can lead to large constraint violations 
- Fixed potential segmentation fault in presolve for models with both quadratic equalities and a quadratic objective 
- Fixed rare issues in MIQCP presolve that could lead to wrong answers 
- Fixed some numerical issues in the simplex algorithm 
- Fixed numerical issue in dependent row presolve for LPs that could lead to wrong declaration of infeasibility 
- Fixed issue with infinite cycling in QP simplex 
- Fixed very rare issue with super basic variables handling in LP relaxations of MIPs that could lead to wrong answers 
- Fixed memory leak in simplex when switching from primal to dual and solving again with primal 
- Fixed issue with dual violations if a continuous model with a piecewise-linear objective is solved by barrier without crossover 
- Fixed bugs in barrier that could arise for models with more than 2 billion non-zeros 
- Fixed potential segmentation fault in SOCP when there are more cones than linear constraints in the model 
- Fixed issue with wrong objective sense for maximization models that are solved with barrier, use the explicit dual model and exploit symmetry 
- Fixed issue with IntegralityFocus=1 that could lead to a wrong answer 
- Fixed issue in MIP cleanup with accepting a solution that has too large constraint violations 
- Fixed numerical issue in cut lifting that could lead to wrong answers 
- Fixed very rare segmentation fault in a special case of clique and implied bound cuts 
- Fixed performance issue with the interior point heuristic for nonconvex MIQCPs not benefitting from the user-specified PStart values because they are incorrectly discarded 
- Fixed issue with an infinite loop in MIQCP solving if outer approximation is unbounded 
- Fixed numerical issue with small values in presolve for quadratic constraints that could lead to wrong answers 
- Fixed bug with spatial branching for nonconvex models that could result in excessively large node files or memory consumption 
- Raise error earlier if there are more than 2 billion quadratic terms in the quadratic constraints 
- Removed wrong warning log message about piecewise-linear objective for an IIS solve on a model with general function constraints 
- Fixed issue with incorrect handling of the WorkLimit parameter in individual multi-objective environments 
- Fixed issues with getting a wrong primary objective function in a multi-objective model without an update call before setting the secondary objective 
- Fixed inconsistencies in the interplay of the global Threads parameter and the Threads parameters of concurrent environments 
Tuning Tool#
- Fixed handling of fixed parameter settings in remote tuning sessions 
gurobipy#
- Fixed usage of - np.array()for numpy 2.0 compatibility
Compute Server, Cluster Manager, and Instant Cloud#
The list of fixed issues for Compute Server, Cluster Manager, and Instant Cloud can be found here.