||Fixed issue with empty error messages from within callback in Python
Fixed numerical issue in cut lifting
Added missing Visual C++ runtime dependency for Python on Windows
Fixed issue with resetting runtime attribute to zero on model updates
Fixed potential segmentation fault when running out of memory
Fixed issue in gurobipy with MLinExpr objects used for objective
functions of multi-objective models
Fixed numerical issue in clique based presolve reduction that lead to
wrong claim of infeasibility
Fixed issue with cbStopOneMultiObj() not working correctly on
multi-objective models solved with distributed MIP
Fixed potential segmentation fault when calling cbStopOneMultiobj()
after a SIGINT has been received
Fixed rare performance issue in a primal heuristic that may lead to a
long time without display output
Fixed numerical issue in cut scaling that very rarely lead to not
calling the callback to allow for lazy constraint generation for a
Fixed performance issue in flow path cut separator for models with
very special structure
Fixed the use of feasRelax() on multi-objective models
Fixed incorrect handling of variables with infinite lower bound and
finite upper bound for QP simplex
Fixed wrong answer bug due to a bad symmetry reduction on models with
quadratic or SOS constraints
Fixed performance issue and not checking the time limit while lifting
binary variables into cuts
Fixed issue in IIS computation where hitting the time limit on the
initial solve reports an error result
Fixed numerical issue in a knapsack based cut strengthening routine
that may lead to wrong answers
Fixed issue in gurobipy with using a singleton MVar as objective
Fixed numerical issue in presolve implied bounds reduction
Fixed segmentation fault due to numerical issue in crossover for
handling of dual super basic variables in a singular basis
Fixed performance issue with sub-MIP cuts taking very long on MIQPs
Fixed issue with temporarily using more threads than allowed by the
Fixed issue with "gurobi_cl --tokens" for single-use licenses on Windows
Fixed issue with keeping internal bilinear constraint representation
in model produced by presolve method
Fixed issue with MIP cleanup on models with semi-continuous or
Fixed issue with getting a Q_NOT_PSD error for MIP starts applied to
Fixed issue with querying OBJVAL attribute for unbounded models if a
feasible solution is available
Fixed issue with returning error 10017 for an MIQCP that is presolved
to an MILP and solved with distributed MIP
Fixed wrong answer due to applying incompatible symmetry and
disconnected components reductions at the same time
Fixed rare uninitialized memory read in presolve for non-convex
quadratic objective function
Fixed issue in primal simplex ratio test that can lead to wrong
conclusion of infeasibility
Fixed issue that caused two worker processes to run simultaneously on
the Compute Server for distributed MIP
Fixed issue with getting an unbounded ray from a simplex solve
Fixed issue with querying char attributes in gurobipy via
Fixed potential uninitialized memory read when setting MIP start via
Start attribute on Compute Server
||Fixed bug in presolve with merging small cliques that can lead to a wrong answer
Changed gurobipy argument name of addMConstrs() from "names" to "name" to match documentation
Fixed a performance issue with an infinite loop in a heuristic due to numerical issues
Fixed a small memory leak for multi-scenario models
Fixed LP iteration count attribute values for multi-objective model solves
Fixed issue in gurobipy with wrong result when adding two MLinExpr expressions
Fixed bug with querying attributes of a multi-scenario model from Compute Server
Fixed issue with wrong MIP solution status if a parallel thread at the root node proves infeasibility of the model
Fixed OverflowError in gurobipy when adding many variables with addVars()
Fixed segmentation fault when using multiple environments on Windows with a Compute Server or Instant Cloud application
Fixed rare segmentation fault in a set partitioning heuristic
Fixed the handling of the "ImproveStartTime" parameter for multi-objective models
Fixed wrong answer due to bad presolve reduction for non-convex MIQCPs with quadratic equations
Fixed segmentation fault when using user cuts in certain situations
Fixed segmentation fault related to semi-continuous variables
Fixed extensions in library names in the R source package on Mac
Fixed translation of one particular form of the addGenConstrIndicator() function in gurobipy when a linear expression with a non-zero constant term is involved
Fixed wrong answer for non-convex MIQCPs due to an invalid dual reduction on the McCormick constraints
Fixed performance issue in gurobipy with Compute Server when printing a set of variables if no feasible solution exists
Fixed performance issue in symmetry computation
Fixed issue with not stopping immediately if cbStopOneMultiObj() is called from the callback for a multi-objective solve that is currently performing symmetry detection
Fixed segmentation fault that arises from a numerical issue in presolve for MIQPs
Fixed issue with not printing the problem size for concurrent MIP
> Fixed issue with writing a solution file based on the "SolFiles" parameter if the user callback returned an error
Added missing support of scalar division for the MLinExpr object of gurobipy
Fixed bug with accepting a solution with big constraint violation that came from a certain heuristic
Fixed bug with returning the scaled solution from barrier, if the barrier solve is interrupted prematurely
Fixed segmentation fault in presolve for non-convex MIQPs
Enable work-around for a long running model.free() call via Compute Server that would terminate the connection due to a time out
Fixed wrong fingerprint value when writing to mps files due to handling of IEEE -0.0 (negative zero) values
Fixed wrong answer coming from relax-and-lift cuts
Fixed issue with duplicate variable indices in the linear constraint of an indicator constraint
Fixed wrong answers due to invalid symmetry detection for models with SOS constraints
Fixed segmentation fault with solving a model in batch mode that has no name
Fixed wrong answer in non-convex MIQCPs due to a wrong local update of the McCormick constraints
Fixed numerical issue in presolve for models with SOS constraints and big-M coefficients
Fixed performance issue in the LP file reader when huge files are being read
Fixed wrong answer for multi-scenario models that decompose into multiple large components
||Fixed issue with concurrent batch upload in Cluster Manager (9.0.2a)
Fixed issue with infinite dives on bilinear and poolsearchmode
Fixed performance issue with running a heuristic in parallel to the root cut loop
Fixed bug in IIS for SOS variables with negative upper bounds
Fixed python 3.8 issue on Windows with DLL load path
Fixed a wrong translation of quadratic constraints into second order cones
Fixed numerical issue with QC cuts and huge primal solution values
Fixed numerical issue for convex MIQCPs if LP relaxation is unstable
Fixed bug with a corner case in presolve when detecting piece-wise linear structures
Fixed rare segmentation fault when root LP solve runs into numerical issues
Fixed bug for a special case of QC cuts that could lead to wrong answers
Fixed performance issue in presolve reduction to substitute sub-expressions
Reduced memory consumption during conversion of QCPs or MIQCPs into SOCP form
Fixed segmentation fault for a very rare case in which the environment creation runs
out of memory
Fixed issue with recording asynchronous solves
Fixed wrong behaviour when querying certain attributes in some gurobipy classes
Fixed performance issue with memory management for general constraint translation on
Fixed issue with the global dual bound for models that have disconnected components
Fixed performance issue with memory management for non-zero cancellation on Windows
Fixed issue with applying sifting for barrier crossover in current LP
Fixed bug in propagating quadratic constraints that can lead to wrong answers
Fixed issue with empty names in gurobipy's addVars() method
Fixed issue when a sub-MIP heuristic produces a non-convex continuous model for
Improved cycling detection in QP simplex
Fixed a presolve reduction for integer knapsacks on models with at most 3 variables
Accept empty structs in MATLAB API
Fixed assertion in Python setup on Windows
Fixed numerical issue in presolve with fixing variables for singleton rows
Fixed issue in MPS reader with variables with infeasible domains
Fixed issue with inconsistent gurobipy data structures after a feasRelaxS() call
Fixed issue with not calling update() in OO APIs before calling feasRelax()
Fixed issue with BestBdStop parameter not working correctly with MIP starts
Fixed handling of semi-continuous variables inside the fixed model
Fixed issue with ILP files not written if Compute Server is used
Fixed issue with a symmetry presolve reduction that can lead to an
Fixed issue with overshooting time limit during barrier factorization
Fixed issue with setting attributes in gurobipy using ndarrays
Fixed a non-determinism caused by network cut separation
Fixed wrong answer issue caused by a presolve reduction on general constraints
Fixed issue with propagating quadratic constraints, which can cause a
Fixed numerical issues in the disconnected component solver
Fixed issue with deleting variables or constraints after having set
the "Tag" attribute
Fixed issue with a scipy.sparse matrix containing explicit zeros
leading to data loss if used in setMObjective()
Fixed issue with changing the "QCName" attribute causing the solution
status of the model to be reset
Fixed issue with getting presolved model on Compute Server, if
generating presolved model takes more than 20 seconds
Fixed issue with calling getVarByName() or getConstrByName() after
having modified names
Fixed issue with getting relaxation value for an MVar object in a
Enforce the THREADLIMIT parameter of Compute Server, such that larger
THREAD parameter values are capped
Fixed wrong answer caused by disconnected component presolver in
combination with SOS constraints
Fixed segmentation fault if threading callbacks are used in combination with MKL
Fixed wrong answer for a trivial quadratic constraint infeasibility if
presolve is disabled
Fixed segmentation fault when the total number of non-zeros in the
separated cuts exceeds 2 billion
Fixed missing Python 3.8 in Windows installer
Fixed issue with setting real-valued parameters on Compute Server, if a locale is used that has a floating point number representation which
differs from the "C" locale
Fixed wrong answer caused by a numerical issue in the dual bound
update of a heuristic
Fixed issue with using a TempConstr as dict key in gurobipy
Fixed wrong answer for non-convex MIQCPs due to invalid reduced cost fixing
Fixed issue with grbtune not working correctly with a token license
and a token server password
Improved numerical robustness when disaggregating quadratic constraints
Fixed writing of "SolFiles" when non-default variable names are used
with Compute Server
Fixed bug in BQP cut separator that could cause wrong answers
Fixed wrong answer caused by a symmetry presolve reduction
Improved logging in crossover regarding super basics and infeasibility
Added missing warning message that simplex is used instead of barrier
for root solve of non-convex QP
Improved barrier performance on AMD Ryzen and EPYC processors
||Fixed issue with BestObjStop and BestBdStop in concurrent environments for maximization models
Fixed segmentation fault in multi-objective solves for MIP models with special constraints, such as general constraints
Fixed rare issue with scaling in PWL simplex
Fixed issue with using basis file with Compute Server
Fixed bug that prevented concurrent MIP to stop if a user objective limit or a solution limit has been reached
Fixed rare wrong answer due to presolve
Added missing constants to Python API
Added missing constants to .NET API
Fixed wrong answer issue for models that have multiple components
Fixed bug in implied integer detection that may lead to infeasible solutions
Fixed issue with running the tuner using Compute Server
Fixed bug that prevented default settings to use Concurrent LP for the root solve in MIP on Windows
Fixed bug with linearizing quadratic constraints
Fixed issue with dualizing a QP
Fixed numerical issue in cover cut separation when tiny coefficients are involved
Fixed issue in the tuner when an optimization aborts due to numerical reasons
Fixed issue with missing variable names when adding variables to a Compute Server model after an mps file has been read
Fixed numerical issue in presolve for aggregating integer variables with big coefficients
Fixed issue with HOSTID detection on Mac
Fixed performance issue in MIP IIS code when LP is already infeasible
Fixed internal naming when combining GRBloadmodel with GRBaddvars/GRBaddconstrs
Fixed possible memory leak with multiple partial MIP starts
Added back missing warning "Warning: parameter changes on this environment will not affect existing models."
Fixed segmentation fault on general constraint model with Presolve=0
Fixed issue with gurobi_cl --tokens
Fixed issue in presolve for models with more than 2 billion non-zeros
Fixed issue with Java linearize() creating feasibility model instead of linearized model
Fixed issue with problem being declared infeasible during presolving
Fixed numerical issue with fixing variables in presolve to very large values
Fixed infinite loop with lazy constraints when LP relaxation is unbounded
Fixed issue with returning wrong error code for operating system file I/O methods
Fixed wrong log output "Ordering time: 0.00s" despite long ordering phase
Fixed bug with parsing "ResultFile" parameter of Gurobi command line solver
Fixed issue in presolve with piece-wise linear objectives and big bounds
Fixed double log output with Python API
Fixed invalid read for empty quadratic constraints
Fixed performance bug with sub-expression presolve
Fixed numerical issue in presolve with big coefficients
Fixed bug with linearization of quadratic maximization objectives with off-diagonal terms
Fixed bug with missing objective constant when copying models with piece-wise linear objective
Fixed issue with wrong MIP start solution values for models with piece-wise linear objective
Fixed calculation of objective value of pool solutions for models with quadratic or piece-wise linear objective
Fixed segmentation fault for running a certain heuristic on models with more than 2 billion non-zeros
Fixed issue with symmetry detection not respecting the time limit
Fixed bug with zlib compression in Compute Server if data size exceeds 2 billion bytes
Fixed - and * operators for GRBQuadExpr objects in .NET API
Fixed numerical issue in presolve leading to an error 10003 for models with general constraints
Limit memory growth in zero-half and mod-k cut separators
Return error if end piece of piece-wise linear objective is invalid
Fixed numerical issue leading to a wrong answer for an MIQP
Fixed segmentation fault in LP file reader for reading indicator constraints
Call polling callback from mutli-objective model more often to avoid long delays
Fixed numerical issue with using big finite bounds in aggregator of presolve
Fixed bug with using BestObjStop, BestBdStop, or Cutoff for maximization objectives in multi-objective environments
Fixed bug with using concurrent settings in a Compute Server solve
Fixed very rare issue with wrongly concluding optimality for unbounded LP with empty column
Fixed segmentation fault while solving multi-objective models with a MIP start
Fixed issue with returning network error instead of JOB_REJECTED after CSQueueTimeout is reached
Fixed issue that Compute Server didn't work correctly for models with more 2 billion nonzeros
Fixed segmentation fault in Python API when environment is freed before model, e.g., due to garbage collection
Fixed subtle issue with ratio test of piece-wise linear simplex algorithm that may lead to a wrong answer
Call polling callback during sub-MIP heuristics to avoid long delays
Fixed numerical issue in GCD calculation that may lead to wrong answer
Fixed performance issue with using Compute Server for models with many general constraints
Fixed issue with setting the "ComputeServer" and "TokenServer" parameters as command line options of the Gurobi command line solver
Fixed bug with using GRBoptimizeasync() for Compute Server
Fixed issue with calling the MIPSOL callback multiple times for the same solution
Added workaround for a bug in Java 8 JDK that causes crash for models with a large number of nonzeros in constraints
Fixed performance issue with automatic threads selection on machines with 17 to 31 cores and hyper-threading
Fixed various issues with reading *.bas files manually generated by user
Upgraded to a newer MKL, which fixes the SELinux security text due to a TEXTREL section in the library
Fixed segmentation fault in handling cycling of QP simplex
Fixed issue with presolve introducing duplicate indices into SOS2 constraints
Fixed bug with the fixed model of a model with a non-convex piece-wise linear objective containing non-fixed binary variables
Fixed numerical issues with handling objective that may lead to wrong answers
Fixed numerical issue in conflict analysis that may lead to wrong answers
Fixed bug with querying number of cores on Windows for machines with more than 64 logical processors
Fixed client/server failure when model update takes too long
Fixed issue when a compute server node joins a cluster just after leaving it
Fixed issue causing a compute server to remain in draining mode
||Fixed bug returning error 10005 in a rare case for multi-objective models on Compute Server.
Fixed bug with Compute Server on multi-objective MIP models that change to multi-objective LP after presolve.
Fixed segmentation fault of Compute Server worker due to issue with variable names.
Fixed wrong model generation on Compute Server with Indicator Constraints in MPS files.
Fixed bug with empty MST files if problem is not updated before adding MIP starts on Compute Server.
Fixed segmentation fault when writing unavailable model data (e.g., MIP start if none exists) using Compute Server.
Fixed bug with a wrong answer due to a presolve reduction.
Fixed bug with uninitialized memory read in presolve.
Fixed bug in PSD adjustment for solving QPs with barrier without presolve.
Fixed segmentation fault in an MIQCP presolve reduction.
Fixed segmentation fault during QP presolve.
Fixed bug in a presolve reduction that would cause an infeasible model to become feasible.
Fixed bug with wrong counting of eliminated columns in a presolve reduction.
Fixed bug with wrong objective value if a multi-objective MIP reduces to an LP.
Fixed segmentation fault with using callbacks for a multi-objective model.
Fixed bug with lazy constraints in multi-objective models.
Fixed error for querying the solution of an empty multi-objective model.
Fixed bug with infeasible quadratic constraint leading to incorrect conic reformulation.
Fixed bug for non-PSD problems that disaggregate into multiple components.
Fixed segmentation fault in handling QP simplex cycling.
Fixed wrong answer for an MIQCP if the initial LP relaxation is unbounded.
Fixed wrong answer due to inconsistency in SOS feasibility tolerance usage for SOS models that decompose into smaller pieces.
Fixed issue about the fixed model still having non-convex piece-wise linear objective.
Fixed wrong infeasible result on a model with piece-wise linear objective.
Fixed bug in the Gomory cut separator for a rare case.
Fixed bug with the solver appearing to hang in the middle of a MIP solve.
Fixed segmentation fault in a heuristic for models with only empty rows.
Fixed integer overflow issues for models with very large numbers of rows or columns.
Fixed wrong answer in MIP model due to incorrect simplex infeasibility status in phase I.
Fixed bug with lazy constraints.
Fixed tuning tool running on local machine with multiple models.
Fixed bug with distributed tuning aborting with 'Non-PSD error is encountered' on MIQPs or MIQCPs.
Fixed segmentation fault when calling GRBaddconstrs() with RBeg > 0.
Fixed bug with Python 3 where model attribute -completion prints garbage.
Fixed issue with name allocations causing huge overhead with Matlab R2018b.
Fixed issue with combining distributed solves with concurrent solves.
Fixed distributed concurrent MIP.
Fixed bug with recording and replaying for huge models.
Fixed issue with updating MIP starts in recording.
Fixed license transfer message and processing with grbgetkey.
Fixed cluster node state processing when a node could incorrectly become DEGRADED or FAILED.
Fixed bug in Python API where Cloud solve does not output minimal log when opening the connection.
|| Fixed issue in presolve on models that contain a piece-wise linear structure.
Fixed numerical issue in the clean-up of MIP solutions.
Fixed potential segmentation fault in heuristic if QCP relaxation is
used for an MIQCP.
Fixed grbgetkey writing wrong line to license file.
Fixed bug with memory management of row names.
Fixed bug with lazy constraints added via callback.
Fixed issue with bound flipping in piece-wise linear simplex algorithm.
Fixed wrong answer from piece-wise linear dual simplex algorithm.
Fixed segmentation fault on piece-wise linear model if presolve is turned off.
Fixed tuning on multi-objective models that cannot be solved to optimality.
Fixed bug when adding new variables after having called setObjectiveN().
Fixed issue with wrong optimal value when objective constant is
modified after having solved the model.
Fixed issue with resetting and then setting parameters in concurrent
environments with Compute Server.
Fixed segmentation fault with adding cuts or lazy constraints from
within the callback on multi-objective models.
Fixed bug with lazy constraints from callback being ignored for a
solution that is found by a trivial heuristic for a multi-objective
Fixed bug with zero-length cuts added in callback.
Fixed segmentation fault when writing models with lazy constraints
to mps file.
Fixed performance issue in probing with variables of infinite domain size.
Removed wrong and confusing additional LP presolve output in log file.
Fixed very rare wrong answer bug due to a missing clean-up in presolve.
Fixed issue with empty log files if Concurrent MIP is used with
Fixed issue with setting parameters in multi-objective environments
on Compute Server.
Fixed very rare hang in QP simplex for numerically troublesome models.
Fixed wrong answer due to numerical issues if problem decomposes
into multiple smaller sub-problems.
Fixed segmentation fault in a heuristic for MIQP models.
Fixed crash when calling GRBterminate() at the same time as other
API routines when Compute Server is used.
Make license check thread safe.
Fixed a numerical issue in quadratic constraint propagation.
Fixed numerical issue with small coefficients in knapsack presolve reduction.
Fixed segfault when querying the presolved model of an LP with
piece-wise linear objective.
Fixed very small memory leak when reading variable hint files.
Fixed issue with executing user callback concurrently from within
Fixed issue with uncrushing solution through parallel column
reduction if one is integer and the other is continuous.
Fixed small memory leak in MPS reader.
Fixed small memory leak in barrier dense column handling.
Fixed uninitialized memory read in decomposition code for MIPs.
Fixed ERROR 10005 for applying barrier without presolve on LPs with
piece-wise linear objective.
Fixed bug with cutting off optimal solution due to cutoff bound
calculation for MIP models with very large objective coefficients.
Fixed bug with wrong slack signs after QP simplex was applied.
Fixed issues with creating many connections to Compute Server in short time.
Fixed rare bug in uncrushing a solution for a certain presolve reduction.
Fixed potential segfault when running gurobi_cl with a gurobi.env that contains a line with "ResultFile".
|| Fixed final cut count provided by Compute Server.
Fixed performance bug in Gomory Cuts for cases with many fractional variables.
Fixed bug with empty quadratic constraint when presolve removes all columns.
Fixed issues with using non-default Python on macOS.
Fixed some inconsistencies in Python parameter help texts.
Fixed an issue in presolve for models with piece-wise-linear structure.
Fixed bug with rejecting 'inf' values in Python API.
Fixed issue with model::printAttr in Python API.
Throw error instead of ignoring variables in LP format files that have the same name as one of the LP format keywords.
Fixed issues with the Python logger module.
Fixed segmentation fault with MIQCPs.
Fixed issue with not providing dual ray even if InfUnbdInfo parameter is set.
Fixed issues with three or more identical break-points in piece-wise-linear objective function definition.
Fixed distributed tuning without a Compute Server.
Fixed SolutionCount attribute for continuous models.
Fixed double log line output with Python and Compute Server.
Fixed segmentation fault due to interplay of user cutting planes from callback and domain propagation at nodes.
Fixed tiny memory leaks in Java API.
Fixed an issue with getting QCP duals on AIX.
Fixed issues with threading callback.
Fixed API version display in replay.
Fixed bug with the "gurobi_cl --group" command.
Fixed bug with ServerTimeout not being passed to Compute Server.
Fixed inconsistency with token license server and "ServerTimeout" parameter.
Fixed bug with BestObjStop and maximization objective sense.
Fixed bug with Compute Server producing empty files when exporting a large model to disk.
Fixed wrong answer bug with symmetry reductions.
Fixed issues with tune() and computeIIS() functions in various APIs if update() has not been called before.
Fixed issue with disconnected component presolve reduction and piece-wise linear objectives.
Partly addressed bug with inconsistent final objective value for MIQPs by giving user additional control to the diagonal adjustment using the PSDTol parameter.
Fixed performance bug for models with very long constraints that lead to many implications.
Fixed bug in presolve substitution that may lead to wrong answers.
Fixed numerical issue in dual presolve reduction that converts continuous variables to binaries.
Fixed potential wrong answers due to objective propagation at the nodes.
Fixed uncrush issue for barrier QCP solves that leads to "Requested data not available" error if presolve removed all columns.
Fixed numerical issue with MIQCP reduction that leads to coefficient cancellation.Fixed numerical issue in domination presolve when this leads to tiny coefficients.
Fixed bug with not catching Ctrl-C in Python for tune().Fixed wrong termination of distributed MIP due to issue in crushing solutions.
Fixed grbgetkey that was saving the license file in a wrong default location on linux systems.
Fixed self-signed certificate generation that could not be used from Windows clients.Fixed handling of unicode in hostname.
Fixed access to grb_rs Swagger documentation on some platforms.Fixed issue that prevented grb_rs service restart on Windows after a reboot.
Fixed issue that prevented client to stop polling when a job in queue was aborted.
||Fixed an issue with CURL producing a segmentation fault when multiple cloud environments are created in parallel.
Fixed inconsistent solution count if model is solved in presolve and a MIP start is used.
Fixed a numerical issue in simplex that could lead to wrong answers for MIP.
Added missing documentation for error code 40001. Fixed segmentation fault in Java when calling optimizeasync() with a callback.
Fixed an issue with reusing an old solution as a MIP start of a modified model.
Fixed an issue with MultiObjPre=2 declaring a multi-objective model infeasible.
Fixed an issue with cut management for cuts added via the callback.
Fixed a segmentation fault with writing an *.ilp file for an infeasible multi-objective model.
Fixed a segmentation fault with querying Farkas info for an infeasible model.
Fixed a small memory leak due to locale settings on Windows.
Fixed a bug with symmetry handling on problems with multiple components.
Fixed an issue with lineariizing MIQP models that may lead to wrong answers for MIQPs.
Fixed a segmentation fault with calling SetPWLObj without update().
Fixed floating point exception in presolve for Euclidean bound strengthening if very large bounds for integer variables are involved.
Fixed issue with reduced cost propagation cutting off optimal solution if bound strengthening was applied after the LP solve.
Fixed issue with discarding primary objective function for multiple-objective models if update() is not called after increasing model.numobj.
Fixed a segmentation fault with concurrent MIP and MIP starts.
Fixed issues in MPS reader if lazy constraints and quadratic or indicator constraints are in the model.
Fixed wrong answer for decomposable models due to contradictory bounds from dual bound strengthening.
Fixed performance issue with AddTerms() in .NET API.
Fixed issue with handling free super-basic variables in primal simplex.
Fixed numerical issue in presolve when using tiny activities for coefficient reduction.
Do not dualize the LP model if dual presolve reductions are turned off.
Fixed a bug in a dual reduction of branching.
Fixed an issue with using MIP starts for multi-objective models.
Fixed bug with losing the lazy attribute of constraints when copying a model.
Fixed bug with the tuner ignoring the lazy attribute of constraints.
Fixed issues with a multi-objective model that only contains a single objective.
Fixed the transformation of certain types of indicator constraints, which could have lead to wrong answers.
Fixed an infinite loop in the *.lp file reader for erroneous files with empty constraints.
Fixed a segmentation fault if gurobi_read() in the MATLAB API is called without arguments.
Fixed a segmentation fault for MIQCP models that are on the boundary of PSDness.
Fixed a bug with cleaning up the solution of a model that contains quadratic constraints and a piecewise linear objective.
Fixed problem with scaling in a multi-objective setting, when the primary model reduces to an LP, while the secondary model is a MIP.
Fixed an issue in the IIS code where a minimal IIS is declared to be not minimal.
Throw an error when reading NaN values from an *.lp or *.mps file.
Fixed a segmentation fault in the *.lp file reader for multi-objective models.
Fixed bug that GRBfeasrelax() and GRBfeasibility() did not remove a piecewise linear objective.
Throw an exception when setObjectiveN() is used with a quadratic term in Python.
Fixed a bug in the aggregator that may lead to a wrong answer.
Fixed a bug with ignoring GRBterminate() calls from a multi-objective callback if individual environments for the objectives are used
Fixed a bug in presolve that may lead to infeasible solutions being reported as feasible in the presolved model.
Fixed a bug in probing where two contradictory constraints on unbounded variables lead to a chain of bound improvements that yield bounds that are too large for floating point representation.
Fixed an uninitialized memory read in node probing for SOS constraints that may lead to wrong answers.
Fixed a very rare bug in the semi-sparse LU factorization of the simplex algorithm.
Fixed a bug in the presolved model returned my model.presolve() with unsupported cone constraints by converting them into quadratic constraints.
Fixed the segfault with mac64 Gurobi package for Anaconda 5.x python 3.6 version
||Fixed unknown attribute error for a multi-objective model, if a solution violates by more than tolerance.
Fixed segfault for reading model in MATLAB and using Compute Server.
Fixed a token server license bug, token not released, when MATLAB returns an error.
Fixed a bug in the disconnected component code, if BestObjStop is specified.
Fixed a bug in crossover basis code, ignoring time limit.
Fixed a bug in managing cut table.
Fixed a bug for parameter IgnoreNames.
Fixed a documentation issue for NodeMethod.
Fixed a wrong behavior for tuning on multi-objective models.
Fixed a callback bug in setting CutOff in the disconnected component code.
Fixed a bug writing lazy constraints in LP and MPS formats.
Fixed a bug incorrectly requiring to match Server attribute in capitalization.
Fixed a bug in creating GRBenv, if it runs out of memory.
Fixed a wrong answer bug for piecewise linear variables with negative infinite lower bound.
Fixed wrong FILEVERSION in gurobi75.dll.
Fixed a bug returning interrupt incorrectly for models with lazy constraints.
Fixed an issue in the installer for Mac.
Fixed a bug returning a solution with undefined values, when a MIP start with undefined values is provided.
Fixed a documentation issue about multi-objective behavior.
Fixed a bug with different objective value, after solution is uncrushed, for models with general constraints.
Fixed a bug, where multi-objective env doesn't work for Java API.
Fixed a numeric issue, which may cause hang in QP simplex and MIQP.
Fixed a license issue in R API.
Fixed an issue with the tuner trying strange values for the StartNodeLimit parameter.
Fixed an issue, where Gurobi doesn't work for MATLAB R2017a or newer versions on Mac.
Fixed an issue in the Python API with passing a list as names to the m.addVars() method.
Fixed a bug not handling solutions cut off by lazy constraints correctly.
Fixed a numeric issue in presolve aggregation.
Fixed a bug, where IIS doesn't converge.
In addition, 7.5.2 also includes the following enhancements:
- Supports problem-based optimization, a new Optimization ToolBox feature of MATLAB R2017b.
- Allows users to combine MultiObjPre > 0 and Presolve = 0.
- Allows use of const char *name in C API for GRBsetobjectiven.
- Improves various parts of the documentation.
||Fixed bug where a compute server client hangs or issues network error after server has been running for a while.
Fixed log bug for models with disconnected components.
Fixed inconsistent solution count when MIP Start is used and the model is solved by presolve.
Fixed deadlock in the unusual situation of unprocessed failed nodes.
Fixed a few callback issues.
||Fixed a few issues in Python API related to addVars, attributes and tuning log.
Fixed numerical issues in inverse modular presolve reduction, barrier for nodes.
Fixed potential divide-by-zero in some reductions of conflict analysis.
Added missing PSD check for quadratic models if presolve is off.
Fixed check for SolutionLimit parameter in certain situations.
Fixed error code if X attribute is queried for infeasible model.
Fixed bug with wrong objective values in barrier log and callback for maximization models.
Fixed log output about presolve reductions when root LP is dualized.
Fixed bug with wrong objective sign for simplex callback during crossover for maximization models.
Fixed infeasible/unbounded status when LP is dualized.
Fixed bug with updating QP warmstart basis with UpdateMode 1.
Fixed Visual Studio 2015 project template files.
Fixed bug with ignoring objective constant in MATLAB when model is read using gurobi_read.
Fixed bug with maximization multi-objectives.
Fixed bug with keeping fractional bounds even if presolve finds a variable to be integral.
Fixed a bug with MIP starts and semi-integer or semi-continuous variables.
Fixed IIS computation for multi-objective models.
Fixed infinite loop when cutoff and MIPGap=0 are set.
Fixed bug with losing general constraint names if one without a name is added.
Fixed shared library installer issue on latest Mac OS.
Fixed bug with losing solutions of last solve in multi-objective optimization if interrupted.
Fixed bug with concurrent LP changing original user model with piece-wise linear objective.
Fixed issue with QCP model becoming non-PSD inside IIS algorithm.
Fixed bug in IIS where Gurobi does not relax fixed binary variables.
Fixed wrong answers for a few rare cases, like combinations of quadratic, general and SOS constraints and piece-wise linear objective, having lazy constraints, bugs in uncommon presolve reductions.
Fixed a few rare segmentation faults, with very long problem name or NodeFileDir string, in sequential MIP solves, when simplex switches to quad precision, when combining lazy constraints and SearchMode > 0, when merging parallel rows for multi-objectives, when running into numeric trouble in "DegenMoves" for SOS models, having both piece-wise linear objective and general constraints.
Fixed bug handling error cases in simplex, like out of memory.
Fixed bug with solutions that violate integrality in MIQP and MIQCP.
Fixed bug where GRBresetparams was not recorded in the recording file.
Fixed very rare case of a non-deterministic behavior in simplex.
Fixed bug when using a user cutoff value for maximization problems.
Fixed bug with declaring model infeasible if user cutoff is set slightly above optimal value.
Fixed bug with reading large recording files on Windows.
Fixed bug with calling the callback on a disconnected component.
||Fixed potential issue in simplex with switching from quad back to double precision.
Fixed crash for very large models in crossover basis construction due to integer overflow.
Fixed log output of multi-objective model solves on compute server.
Fixed potential very long delay in presolve.
Fixed an issue with local bound changes derived by orbital probing.
Fixed bug with SOS constraints and symmetry substitution.
Fixed check for that piece-wise linear obectives cannot be used within multi-objective models.
Fixed bug with pending changes to Q objective not being discarded if Q is deleted.
Fixed potential infinite loop for disconnected component solves if SubMIPNodes is set to 0.
Fixed performance issue with setting parameters in Python.
Fixed very rare segmentation fault in simplex when numerical issues are encountered for a mip model.
Fixed bug in C++ API getQCRow() method.
Fixed an issue with concurrent LP applied to model with piece-wise linear objective.
Fixed bug in presolve that may have introduced infeasible solutions.
Fixed problem with dir(o) in Python 3.5.
Fixed very rare wrong answer issue with barrier applied to piece-wise linear objective models.
Don't terminate a running token server if it is unable to read the license file.
Fixed "RuntimeError: maximum recursion depth exceeded" for addVars() in Python.
Fixed gap computation for near zero objective values.
Fixed bug where fixed binary variables were not included in the returned IIS.
Fixed issue that in rare cases the dual bound and incumbent solution is not displayed in node log.
Fixed several documentation issues in C++, Java or Python documentation, about general constraints, multi-objective, etc.
Improved numerics in presolve, cut separation and conflict analysis.
Improved error messages for cloud solves.
Improved handling of SSL certificates on Linux for cloud connections and include SSL certificate for cloud solves in distribution.
Improved error messages for querying multi-objective attributes.
Improved token server error handling when the OS limit on the number of open file descriptors is reached.
Improved warning messages in LP file reader.
Added IISMethod=3 parameter setting.
Added option to turn on CURL verbose mode via environment variable.
Allow to exchange the .NET assembly with a newer minor or technical Gurobi version without the need to recompile all dependent assemblies.
Do not include infinite right-hand-side values in model statistics report.
Return error if attributes are queried for multi-objective models that are unavailable in the multi-objective context.
Use default weight of 1 for all objectives in multi-objective optimization.
||Fixed an unusual error when reading LP file with SOS constraints.
Fixed a namespace pollution issue in Python library.
Fixed a recording issue for GRBwrite().
Fixed model update issues for multi-objectives and for range constraints.
Fixed a bug in translating "And" constraints with fixed variables.
Fixed a message issue on multi-objective models for using compute server.
Fixed a tuplelist serialization issue in Python library.
Fixed a non-overlapped singleton symmetry bug.
Fixed a concurrent MIP log issue, every node instead of every 5 seconds by default.
Fixed potential crash in Windows token server client.
Fixed a token server issue where interrupting a client could lead to a token being lost.
||Fixed handling lower bounds for semi-variables that are less than zero.
Fixed handling of semi-variables with empty semi-domain.
Fixed possible crash for SOCP models.
Fixed some issues with compute server and recording feature on 32 bit systems.
Fixed SARHSLow and SARHSUp statistics for equations.
Fixed minor issues in MIP solution clean-up.
Fixed a memory leak in API replay.
Fixed "Runtime" attribute for concurrent LP.
Fixed a bug in strong branching.
Fixed bug with UpdateMode=1 and ranged rows.
Fixed bug in .NET SetObjective() method.
Fixed crash with piece-wise linear simplex on unbounded models.
Fixed usage of "ResultFile=*.ilp" for infeasible models.
Fixed issue with adding ranged constraints and new variables without intermediate update() call in OO APIs.
Fixed issue with writing numbers to *.mps and *.lp files if user uses a non-C LOCALE setting.
Fixed issue with more than 2 billion non-zeros in MATLAB API.,
Fixed bug with non-deterministic node counts on small knapsack models.
Fixed issue with spaces in file names on Linux.
Fixed issue in presolve for quadratic constraints with linear terms.
Fixed bug that could lead to wrong answers in very rare situations.
Fixed a bug in constraint strengthening.
Fixed bug in crushing solutions that could lead to rejection of a feasible user solution from a callback.
Fixed bug in MinRel heuristic that could lead to early termination for models with disconnected components.
Fixed an issue with multiple Gurobi versions installed on Windows that lead to always starting the version that was installed last.
Fixed potential buffer overflows for very long error messages (e.g. due to very long variable names).
Fixed querying "Xn" attribute multiple times when "SolutionNumber" parameter is modified between the calls.
Fixed bug with adding quadratic or SOS constraints and removing variables without intermediate update() call.
Fixed an issue with the IIS algorithm on models that contain only empty SOS constraints.
Fixed potential crash in barrier for models with more than 2 billion non-zeros running on 32 bit systems.
Fixed bug in heuristics running on the original model when the model contains semi-continuous or semi-integer variables.
Fixed potential non-deterministic behavior for parallel solves of unbounded models that contain SOS constraints.
Do not generate the default "gurobi.log" file if gurobi_cl is used with a custom "LogFile=..." parameter setting.
Fixed a bug with presolve turning a PSD Q matrix into non-PSD if variables get fixed that are member of an SOS constraint.
Fixed bug with MIP Starts for MIQCP models.
Fixed potential wrong answer, crash or hang in QP simplex for numerically bad situations.
Fixed very unlikely issue where simplex could declare a zero-objective model to be unbounded.
Fixed issue with delayed MATLAB logging.
Fixed issue when running the tuning tool on a pure LP model with maximization objective sense.
||Fixed bug with adding ranged rows and then adding new variables without calling update() in between.
Fixed interplay of UpdateMode=1 parameter with compute server and record/replay feature.
Fixed potential segfault with adding cuts.
Fixed bug with warm-starting a modified QP with presolve disabled.
Fixed bug with having multiple environments or models in replay feature.
Fixed numeric issue with tightening an infinite bound to a finite but very big bound in presolve.
Fixed problems with MIP starts for semi-continuous models.
Fixed bug with deleting an environment pointing to a compute server in Python.
Fixed bug with linearizing quadratic terms in MIQPs involving integer variables.
Fixed non-determinism in root node parallelism.
Fixed bug with maximizing QPs.
Fixed issue with querying quadratic constraints that do not have linear terms.
Fixed presolve bug with fixed semi-continuous or semi-integer variables.
Fixed wrong infeasible/unbounded status if model is dualized (PreDual=1).
Fixed issue with end of replay file in Python.
Fixed issue on AIX where querying processor count could leave a pipe open.
Fixed issue with writing to an existing 7z file.
Fixed valgrind issue for a client that connects to a compute server.
Fixed bug with lost solution in distributed MIP.
Fixed crash in Python when passing strings as numbers.
Fixed issues originating from parallel garbage collection in Java and .NET.
Fixed small memory leak when writing variable hints to a *.hnt file.
Fixed a replay/compute server bug for models with range rows.
Fixed bug in Java, C++, and .NET with adding an expression to itself.
Fixed bug with the remove() method of quadratic expressions in C++, Java, .NET, and Python, which did not remove the given variable from the linear part of the expression.
Fixed bug with models having more than 2 billion non-zeros when using a token server or a compute server license.
Fixed bug when querying the objective constant on models with piece-wise linear objective terms.
Fixed memory issue and segfault for models that contain continuous variable aggregation possibilities.
Fixed bug with distributed MIP giving an error 10005 for infeasible models.
Fixed bug with modifying bounds after having solved a piece-wise linear model.
Fixed bug with overshooting time limit in presolve for models that lead to many substitutions.
Fixed wrong answer with MIQCP models that have an unbounded root relaxation when using outer approximation.
Fixed potential segfault in out-of-memory situations.
||Fixed minor bug with long user names in licensing.
Fixed issue with NULL arguments to attribute and parameter query methods of compute server.
Fixed issue with querying variables and constraints from compute server.
Exit with SUBOPTIMAL status from barrier instead of getting into a seemingly infinite loop in barrier for some numerical issues.
Fixed bug where barrier could exit due to numerical issues and leave a permuted user model behind.
Minor fix in distributed MIP for switching from racing ramp-up to parallel search phase.
Record basis and PStart/DStart change in recording file.
Fixed wrong answer bug due to disconnected component solves and implied bound cuts.
Fixed bug with wrong declaration of SUBOPTIMAL for MIQCPs.
Fixed problem with printing an empty tuplelist in Python API.
Abort earlier if QP simplex runs into numerical issues.
Use hard-coded path to libaes65.so on Mac to fix bug in newer MacOS versions.
Fixed bug with accepting infeasible MIQCP solutions from fix-and-dive heuristic.
Only remove zeros and tiny coefficients from internal copy of MIQCPs instead of modifying user model.
Fixed bug in SARHSLow and SARHSUp computation for equations.
Make TuneOutput=3 display solve logs in Python.
Change default value for BarIterLimit to 1000 to fix a seemingly infinite loop.
Fixed license manager issue on Windows.
Fixed an integer overflow in presolve for very large models.
Fixed issue with overwriting record file on Windows.
Fixed segfault when replaying recorded file with UpdateMode=1.
Fixed license manager issue on AIX.
Output "model solved by another algorithm" instead of "Time limit exceeded" when barrier is interrupted by simplex in concurrent LP.
Do not assign license token to malformed token requests - fixes issues with port scanners.
Do not fix penalty variables in presolve if dual reductions are turned off.
Fixed problem with expr.remove() in Python.
Fixed problem with facility.py example.
Add support for simple_triplet_matrix in row-major order in R interface.
Move Record parameter to integer parameter enum in .NET interface.
Fixed potential issue for models with PWL objectives and variables with -infinity lower bounds.
Return AttributeError instead of GurobiError in Python interface when user requests a non-existent attribute.
Extend licensing to support new Linux network interface naming convention.
Modify barrier progress check.
Fix potential problem when using UpdateMode=1 and setObjective() in the object-oriented interfaces.
Fix a potential segfault for unbounded models with PWL objectives.
||Fixed an issue on Mac OS X 10.11 (El Capitan) where System Integrity Protection caused the Python interface not to load.
Fixed a bug in the Python interface, where LogToConsole=0 would not disable some output.
Added missing DistributedMIPJobs parameter to Java and C++ interfaces.
Fixed an integer overflow on models with a large number of implied bounds.
Fixed a segfault on QCP models when use the parameter setting PreDual=2.
Fixed an issue that can occur when modifying indefinite QCP models to be positive semi-definite.
Fixed an issue with lazy constraints on models with a few variables.