Xpress Updates 9.6.3 and 9.7.2 are now available on SharePoint for Windows, Linux and MacOS on x86-64, and Linux and MacOS on AArch64, from
https://clientarea.xpress.fico.com/download_patch.php#963
https://clientarea.xpress.fico.com/download_patch.php#972
These are the latest updates for the Xpress 9.6 and 9.7 release branches, respectively, and require matching licenses. Please note that these archives must be extracted over a prior installation of FICO Xpress 9.6 and 9.7, respectively.
Release Notes for both 9.6.3 and 9.7.2
Xpress Optimizer 45.01.04
Xpress Nonlinear 45.01.04
Xpress Global 45.01.04
Xpress Interfaces 45.01.04 (Python, R, Java, C#)
Xpress BCL 45.01.04
Xpress Mosel 6.10
Mosel 6.10.1
https://clientarea.xpress.fico.com/download_patch.php#963
https://clientarea.xpress.fico.com/download_patch.php#972
These are the latest updates for the Xpress 9.6 and 9.7 release branches, respectively, and require matching licenses. Please note that these archives must be extracted over a prior installation of FICO Xpress 9.6 and 9.7, respectively.
Release Notes for both 9.6.3 and 9.7.2
Xpress Optimizer 45.01.04
- Fixed a problem in the tuner when tuning probsets and reusing the history where the wrong number of tuner runs was read from the history.
- Fixed a threading deadlock in the context of loading violated delayed rows.
- Calling XPRSscale after solving a MIP should now scale the incumbent MIP solution correctly.
- Fixed a potential crash in dual KKT Simplex.
- Fixed an issue when XPRSchgcoltype is used for changing a semi-continuous variable into a semi-integer variable, which could have left the column in an inconsistent state.
- Fixed an issue with disconnected component solves that could result in a sub-optimal solution being returned.
- Ensured that a minimum tolerance on GCDs is respected.
- Fixed an issue with IIS returning the wrong status for a feasible MIP.
- Significantly reduced initialization overhead for lpoptimize/mipoptimize, in particular when OUTPUTLOG is set to XPRS_OUTPUTLOG_NO_OUTPUT.
- Fixed a problem where calling XPRSsetdefaults reset the problem name.
- Fixed a potential crash during presolve when converting quadratic rows into second-order cones.
- Fixed a problem with getCallbackPresolveSolution(), getCallbackPresolveSlacks(), getCallbackPresolveRedCosts(), getCallbackPresolveDuals() in Java, C#, C++ APIs: the overload without index arguments previously raised a "bad index" exception. This is now fixed.
- Fixed an issue in quadratic presolve deriving invalid variable bounds.
- Fixed an issue with the community license, that could cause the optimizer to take a different solution path with respect to the path taken when used with a full license.
- Fixed a potential crash when branching on MIQPs with a single column and no rows (including such problems within heuristics).
- Fixed a potential crash in strong branching with KKT simplex.
- Fixed an issue in presolve where in some edge cases incorrect fixings could be produced from quadratic or indicator rows.
- Fixed the problem detection for tuning with multiple instances to correctly distinguish LP and MIP problem sets.
- Fixed an issue where primal simplex could return a slightly infeasible solution.
- Fixed an issue in MIP presolve dual reductions that in some corner cases could lead to a wrong node cutoff during the branch-and-bound tree search.
- Fixed an issue with the tuner that in some cases did not use its history.
- Adjusted primal simplex to accept small shifted infeasibilities instead of rejecting the solution as unstable.
- Fixed an issue in background tasks that in some corner cases could lead to a non-determinism in the solution process when heuristic emphasis is activated (i.e., when the control HEUREMPHASIS is set to value 1 or value 2).
- Fixed an issue in IIS that in some rare cases could lead to a crash.
Xpress Nonlinear 45.01.04
- Fixed an issue where indicator constraints, including ones generated through transformations, were provided to Knitro as hard constraints.
- Fixed an issue where postsolve and validate could potentially delete an equalscolumn that was already present in the input problem.
- Fixed an issue where linear coefficients added to a nonlinear variable after adding an SLP coefficient to it (not a regular formula) could be ignored.
- Fixed an issue with nonlinear indicators that could lead to the basis being lost and incorrect slacks being returned for the indicator.
- Fixed an issue in MISLP heuristics for problems with convex quadratic objective.
- Fixed an issue with nonlinear eliminations in the presence of indicator constraints.
- Fixed an issue where MISLP could erroneously be called after continuing a continuous SLP solve using XPRSoptimize.
- Fixed an issue where solutions did not get postsolved correctly if the multistart-winning job ran into a work limit.
- Fixed an issue where an initial infeasible multistart job could remain the winner.
- Fixed an issue where XPRSgetnlpsol and XPRSgetcallbacksol would return linearization instead of nonlinear slacks when presolve was disabled.
- Introduced XSLPsetinitstepbounds to replace missing functionality from XSLPaddvars.
- Fixed a potential stack overflow in nonlinear presolve for deeply nested formulas.
- Fixed computation of XPRS_SLPMIPITER attribute in SLP-MIP-SLP.
- Fixed an issue with userfunctions returning derivatives when some of the input arguments of the user function in the formula were constant.
- Fixed a potential crash for userfunctions providing derivatives.
Xpress Global 45.01.04
- Fixed an issue with domain propagation of the power function that could result in feasible solutions being dropped.
- Fixed an issue related to setting CALLBACKFROMMAINTHREAD=1 for global solves.
Xpress Interfaces 45.01.04 (Python, R, Java, C#)
- Python
- Fixed "Variable has no value" error when passing a dict keyed by var objects to xpress.evaluate().
- R
- Fixed interface compatibility with R version 4.5.0 and above.
- Java
- Fixed an ArrayIndexOutOfBoundsException in functions like getSolution(Stream<Variable>) in the Java API.
- Fixed a small problem in examples that use the solution pool.
- C#
- Fixed a small problem in examples that use the solution pool.
Xpress BCL 45.01.04
- Fixed an issue with calling the obsolete functions XPRBsolve, XPRBminim and XPRBmaxim after an interrupted solve.
Xpress Mosel 6.10
Mosel 6.10.1
- Compiler Library: Native routines requiring lists/sets/arrays of unions are now properly compiled.
- Lower memory consumption on detection of quadratic constraints.
- Improved handling of memory errors.
- Lower memory consumption when generating matrices of quadratic coefficients.
Updated 2 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