Xpress Updates 9.7.1/9.6.2 are now available on the client area for Windows, Linux and MacOS on x86-64, and Linux and MacOS on AArch64, from
https://clientarea.xpress.fico.com/download_patch.php#971
https://clientarea.xpress.fico.com/download_patch.php#962
These are the latest updates for the Xpress 9.7 and 9.6 release branches, respectively, and require matching licenses. Please note that these archives must be extracted over a prior installation of FICO Xpress 9.7 and 9.6, respectively.
Release Notes for both 9.7.1 and 9.6.2
Xpress Optimizer 45.01.03
https://clientarea.xpress.fico.com/download_patch.php#971
https://clientarea.xpress.fico.com/download_patch.php#962
These are the latest updates for the Xpress 9.7 and 9.6 release branches, respectively, and require matching licenses. Please note that these archives must be extracted over a prior installation of FICO Xpress 9.7 and 9.6, respectively.
Release Notes for both 9.7.1 and 9.6.2
Xpress Optimizer 45.01.03
- Fixed a performance bottleneck in linearization of equality indicators during presolve.
- Fixed an issue with disconnected component solves for MIPs that could result in delayed rows being violated.
- Fixed an error condition when loading an almost empty problem.
- Fixed an issue with mixed integer Gomory cuts for problems with semi-continuous variables, which could result in invalid cuts being created.
- Fixed an issue in the quadratic primal simplex algorithm which could result in incorrect solutions.
- Fixed an issue with general constraints where the same column appears multiple times as an input.
- Fixed an issue with user solutions for second-order-cone-convertible quadratics.
- Fixed an issue in the Lifted GUB cover cuts separator, which could result in a crash in some rare cases.
- Fixed an issue in the Strong Chvatal-Gomory cuts separator, which in rare cases could result in the separation of non-valid cuttig planes on some numerically challenging models.
- Fixed an issue that could lead to a crash when solving a mixed-integer quadratically constrained problem after solving a quadratic problem.
- Improved the infeasibility detection in the primal simplex algorithm.
- Fixed a potential crash when running repairinfeas on a problem with no rows.
- Fixed an issue with the transformation of non-convex quadratic objectives.
- Time limits are now handled correctly during convexity checks when solving from the Optimizer console.
- Fixed a potential crash with the reformulation of convex quadratic formulas involving square roots.
- Fixed an issue with transformations involving pre-existing objective transfer columns whose coefficients are not one.
- Fixed a crash when calling XPRSoptimize for a nonlinear problem with the flags argument being NULL.
- Fixed an issue with repairing LP-infeasibility in the MISLP root solve or when running nlpoptimize without the g flag on problems with MIP entities.
- Python
- Removed internal controls and attributes that should not have been exposed in the Python interface.
- Added missing class attributes xpress.linterm, xpress.quadterm and xpress.nonlin.
- Fixed an issue with xpress.is_equal where comparing a NumPy array with a scalar object would give a scalar Boolean result instead of an array of Booleans.
- Fixed a problem where problem.addVariable did not fully revert the new variables if an error occurred while adding them to the problem.
- Fixed a problem where problem.addSOS did not set the names of the sets.
- Fixed a memory corruption issue in problem.addVariables.
- When restoring into an empty or linked problem, problem.restore() now recreates all variable/constraint/sos objects to match the dimensions of the restored problem. For unlinked problems, the legacy behaviour of keeping the existing model objects is preserved.
- Fixed a crash when calling extractLinear() on an empty expression.
- problem.getnamelist() now supports all object types.
- Model properties on variable, constraint and sos objects, such as var.lb, are no longer accessible from callbacks or while the problem is presolved. Properties of the presolved problem can be queried using functions such as problem.getLB() instead.
- Fixed a crash when accessing Xpress NonLinear controls and attributes from callbacks.
- Fixed a crash when converting Python expressions to nonlinear formulas with more than 512 tokens.
- Fixed a bug in problem.delRows, problem.delCols and problem.delSets that could cause a crash.
- Fixed a deprecation warning when passing a dictionary keyed by variable index to xpress.evaluate().
- Fixed a crash when passing iterators of more than 512 elements to API functions.
- C++
- Minor fixes for compatibility with the Visual Studio 2022 C++ compiler.
Updated 10 months 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