Xpress Updates 9.1.4 and 9.0.10 are now available or Windows, Linux and Mac on x86-64 and Linux on AArch64, from
https://clientarea.xpress.fico.com/download_patch.php#914
https://clientarea.xpress.fico.com/download_patch.php#9010
These are the latest updates for the Xpress 9.1 and 9.0 release branches, respectively, and require matching licenses. Please note that these archives must be extracted over a prior installation of FICO Xpress 9.1 and 9.0, respectively.
Release Notes for both 9.1.4 and 9.0.10
Xpress Optimizer 41.01.10
Xpress Nonlinear 41.01.10
Xpress Global 41.01.10
Xpress Interfaces 41.01.10 (Python, R, Matlab, .NET, Java)
Xpress Global 41.01.10
https://clientarea.xpress.fico.com/download_patch.php#914
https://clientarea.xpress.fico.com/download_patch.php#9010
These are the latest updates for the Xpress 9.1 and 9.0 release branches, respectively, and require matching licenses. Please note that these archives must be extracted over a prior installation of FICO Xpress 9.1 and 9.0, respectively.
Release Notes for both 9.1.4 and 9.0.10
Xpress Optimizer 41.01.10
- Fixed an issue that caused a solution loaded before a solve with XPRSaddmipsol to be dropped if a new solution was added in a callback.
- Fixed an issue with presolving of semi-continuous variables that could lead to incorrect results.
- Fixed an issue that could lead to memory corruption if XPRSaddmipsol is called in the intsol or preintsol callbacks while the initial solutions loaded by XPRSaddmipsol are being processed.
- Fixed a bug in symmetry detection in models with SOSs.
- Calling XPRSchgobj on a problem in a presolved or solving state will now result in an error.
- Fixed an issue where delayed rows or model cuts were not restored properly if a MIP is declared infeasible during presolve.
- Fixed a potential memory corruption when using HEURDIVESTRATEGY=11 or 12.
- Fixed an issue with presolving of partially defined user solutions.
- Fixed an issue in a presolve reduction that can sometimes lead to incorrect results.
- Fixed a potential crash in heuristics when solving MISOCPs with barrier.
- Fixed a minor issue in the mod2 presolver technique potentially leading to wrong optimal solutions.
- Fixed a potential crash when parsing floating point numbers.
- Fixed a bug when XPRSchgobjn is used to modify existing objective coefficients.
- Functions to query solution information (value, slack, reduced cost, dual) for single items were fixed in the Java and C# APIs.
- Fixed an error with handling semi-continuous columns.
- Fixed a performance issue in XPRSaddcols and XPRSchgobj.
- Fixed numerical issue in presolve reduction that can sometimes lead to incorrect results.
- Fixed a crash in XPRSreadprob when reading an LP file with an NLP data section.
- Fixed a crash when solving problems where the objective has non-unit weight.
- Input errors in XPRSaddpwlcons and XPRSaddgencons will now leave the problem in a consistent state.
- Fixed an issue in the clique domination presolve reduction that can lead to incorrect results.
- Fixed a problem where time limits were not handled correctly while checking convexity if solving with XPRSoptimize.
- Fixed an inefficiency in the QCQP solver.
- Fixed an issue where constant objectives in .lp files ended up with the wrong sign.
- Fixed an issue in presolving that could lead to nonintegral solution values for integer columns.
- Fixed a corner case detection inside a heuristic that could result in a crash.
- Fixed a rare numerics issue in StrongCG cuts.
- Decomposition search on quadratic problems has been disabled. By default, disconnected components in quadratic MIPs are not solved separately anymore.
- Fixed a potential issue with geometric scaling (bit 5 of SCALING not set).
- Fixed a memory issue in concurrent LP logging.
- Fixed an issue due to outdated solution information involving multiple HEURTHREADS.
- Fixed a potential race condition inside concurrent MIP solves.
- Fixed an issue with termination checks during symmetry detection.
- Fixed a potential crash during symmetry detection in presence of indicators.
- With numerical emphasis activated (i.e. with the NUMERICALEMPHASIS control set to any value greater than 0), a more careful numerical handling of cutting planes is applied to improve the numerical stability of some pathological models.
- Fixed numerical issue in presolve reduction that can lead to incorrect results on extreme inputs.
- Message callbacks should now receive the correct XPRSprob when enabling extra logging with IISLOG>0 during an IIS search.
- XPRSgetobjn now raises an error if the problem is presolved: in previous releases it would return incorrect data in that case.
Xpress Nonlinear 41.01.10
- Fixed an issue where linearizations were solved as a MIP even though piecewise linear and general constraints were not transformed to MIP structs since the problem remained nonlinear.
- Fixed an issue with querying solutions when linearizations were solved as a MIP (e.g., when XSLP_REFORMULATE forced the reformulation to MIP structs even though the problem remained nonlinear).
- Fixed an issue with nonlinear indicators with exactly one linear nonzero.
- Fixed a potential crash when encountering numerical difficulties while solving an LP or convex QCQP through nlpoptimize.
- Fixed an issue where reading in a new problem with non-convex quadratics given as [] blocks in an .lp-file or as quadratics rather than formulas in an .mps-file did not properly reset a previous nonlinear solve.
- Fixed an issue with quadratic problems where all non-convexities involved fixed columns.
- Fixed a potential issue when reading in problems with an explicit equalscolumn from .lp-files.
- Fixed an issue where validationindices in the convergence callbacks could reflect a heuristic instead of the iteration solution.
Xpress Global 41.01.10
- Fixed an issue in presolve for problems with both convex quadratics/SOCPs and non-convex quadratics or general nonlinearities.
- Fixed a potential crash at the end of presolve during global solves.
Xpress Interfaces 41.01.10 (Python, R, Matlab, .NET, Java)
- Fixed an issue where an error message was displayed when problem.getSolution was called from a Python callback.
- Fixed an issue where the Python interface advised the user to pass a path to xpress.init when the path was already being passed.
- Fixed a potential race condition in BCL cleanup in .NET.
- Python 3.7 is no longer supported since it has reached end of life.
- Fixed a potential double-deletion/crash in cleanup in BCL Java.
- Fixed a Python error when adding a large number of variables to a problem.
- Python functions now raise a MemoryError when they fail to allocate memory.
- Fixed a problem in which XPRSprob.addSets() would incorrectly raise an "array too short error" in Java.
- When creating integer or binary variables in Python, the bounds are rounded in the resulting variable object using the same rules as when variable bounds are modified using the Optimizer C API.
- When adding binary variables to a problem in Python, non-default values for the lower or upper bound are now correctly applied.
- Fixed Python functions problem.addVariable and problem.addConstraint so that if they fail due to a duplicate name, the variable or constraint is not added to the problem.
- Fixed a crash when deleting special ordered sets from Python.
- In Python, the correct error message is now shown when an invalid index is passed to problem.delVariable or problem.delConstraint.
- Fixed a crash when a 1d numeric NumPy array is passed to problem.addConstraint and several other API functions.
- Fixed a problem where the first/last arguments of problem.getVariable, problem.getConstraint and problem.getSOS were sometimes ignored.
- Fixed "wrong arguments" error when calling problem.addcoefs or problem.loadcoefs.
- Fixed a crash in Python when a non-contiguous integer Pandas Series was passed to xpress.vars().
- Added a workaround for a known memory leak in NumPy: https://github.com/numpy/numpy/issues/25949
- The Xpress solver libraries have been moved out of the main Python package (xpress) into a dependency package (xpresslibs). There are no changes to the installation procedure: the xpresslibs package will be downloaded and installed automatically by Pip and Conda.
- In Conda environments, the Xpress solver libraries are now installed into the shared library folder: <env>\Library\bin on Windows, <env>/lib on macOS and Linux.
Xpress Global 41.01.10
- BCL no longer forbids using equations in indicator constraints, delayed rows, or model cuts.
Updated 2 years ago
Version 3.0FICO
Community Manager
Joined July 21, 2025
FICO® Xpress Optimization Blog
Follow this blog board to get notified when there's new activity