Recent Bug Fixes by Version

Below is a summary of the bug fixes made in the releases starting with version 6.5. If you have any questions, please contact us at support@gurobi.com. To download the latest version of Gurobi visit our download center page.

Release Version Detail
7.5.2
  • 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.
7.5.1
  • 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.
7.5.0
  • 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.
7.0.2
  • 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.
7.0.1
  • 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.
7.0
  • 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.
6.5.2
  • 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.
6.5.1
  • 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.
6.5.0
  • 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.

Return to the Documentation Overview page ➤