Blog Post

FICO® Xpress Optimization Blog
3 MIN READ

Xpress Updates 9.4.4

FICO's avatar
FICO
Community Manager
1 year ago
Xpress Updates 9.4.4 is 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#944

This is the latest updates for the Xpress 9.4 release branch, respectively, and require matching licenses. Please note that these archives must be extracted over a prior installation of FICO Xpress 9.4, respectively.

Release Notes for 9.4.4

Xpress Optimizer 43.01.05
  • Improved the numerical handling in presolve of very large rows.
  • Fixed an issue with a local search heuristic running on a background thread for MIQPs.
  • Fixed an issue with in-tree coefficient tightening of a MIP that could result in memory corruption.
  • Fixed some multi-threading issues with the 'B' heuristic for MIPs.
  • Fixed an issue where the solution was sometimes unavailable when a multi- objective solve was interrupted after the first objective.
  • Fixed an issue with tolerances that could lead to cancellation of coefficients in presolving.
  • Fixed an issue with semi-continuous columns in presolve.
  • Fixed: Loading a semi-continuous variable with negative upper bound now returns an immediate error at load time, because the model is trivially infeasible.
  • Fixed an issue in IIS resulting in data loss if the subproblem solves failed.
  • Fixed an issue in the hybrid gradient algorithm when used with LP folding and crossover.
Xpress Nonlinear 43.01.05
  • Fixed an issue that could lead to an internal error when MISLP ran into LP infeasibility.
  • Querying a Knitro parameter which has not been set by the user now returns the correct default value.
  • XSLPsetdefaults and XSLPsetdefaultcontrol now reset Knitro parameters.
  • Fixed an issue where the objectivetransfercol could take a wrong value in the merit solution when the problem had an additional linear objective contribution.
  • Fixed issues with integer deltas in MISLP.
Xpress Global 43.01.05
  • If several licenses are available, a license authorizing the global solver will now only be consumed when the global solver is invoked. Note that to guarantee this behaviour, the NLPSOLVER control must not be set to AUTOMATIC.
  • Fixed an issue in the hybrid gradient algorithm which could cause a crash.
Xpress Interfaces 43.01.05 (Python, R, Matlab, .NET, Java)
  • Python
    • Fixed error about deallocating NotImplemented when solving a problem with a chgbranchobject callback.
    • Added support for more iterable index set types to problem.addVariables, including Pandas Series with sparse integer indices.
    • Improved performance of problem.addrows, problem.addcols and problem.loadproblem, when names are provided.
    • Collections of indicator tuples can now be provided to problem.addIndicator.
    • Passing an array of expressions in the body argument of xpress.constraint() now raises an error, instead of silently using the first element as the constraint body.
    • Fixed a crash when passing names=None to problem.addnames.
    • Fixed a crash when passing a generator for an array argument, when the generator does not produce enough values.
    • Fixed a problem where a semi-continuous, semi-integer or partial integer threshold of zero was ignored when creating linked variables.
    • The default threshold for semi-continuous, semi-integer and partial integer variables is now 1.
  • Java, .NET
    • Fixed a problem where a constant term of 1 was not extracted if a LinTermMap or QuadTermMap was part of a non-linear expression.
Xpress Mosel 6.6.2
Runtime Library
  • The matrix generator now detects and reports invalid bounds for semi continuous and semi integer decision variables
mmxnlp 34.5.3
  • getparam now works with Knitro parameters, such as xktr_param_opttol.
  • Knitro parameters are now also available via the xprs_knitro_param prefixes.
  • Fixed an error that occurred when a multi-objective problem has nlctr objectives but they are all linear.
mmxprs 4.4.3
  • 'estimatemarginals' now raises an error if the problem is presolved, since the functionality is not available in that case.
  • Fixed an error that occurred when a multi-objective problem has nlctr objectives but they are all linear
Updated 1 year ago
Version 2.0
No CommentsBe the first to comment