Xpress Solver is the technology component that supports all of FICO's optimization solver technologies including:
Xpress Optimizer: core engine comprises of LP (simplex and barrier), MIP, (MI)QP, (MI)QCQP, and (MI)SOCP solvers. It also provides core services, like the tuner, to other components.
Xpress Nonlinear: provides a successive linear programming and an interior point solver for nonlinear problems, integrating closely with the Optimizer’s MIP framework.
Xpress Kalis: provides constraint-based programming capabilities. Combined with the optimizer, it can make use of MIP relaxations of the CP problem.
The new Xpress Solver 8.12 release focuses on several performance and solution robustness improvements to enable enterprises and users to easily deploy and scale their optimization applications. This release also introduces a new R interface to the Xpress Optimizer. To learn more, review the Xpress Solver 8.12 release notes.
Performance & Solution Robustness Enhancements
Mixed-Integer Programming Enhancements: Several improvements have been made to the core MIP technology of the Optimizer including improved separation of Mixed-Integer Rounding cuts, better handling of cliques, improved logic for branching strategies, improved handling of symmetry, new eliminations of non-zeros in presolve, and better handling for global reduced cost implications. With these performance enhancements, users will observe better out-of-the-box performance.
Mixed-Integer Nonlinear Programming Enhancements: Improvements to the nonlinear presolve have led to significant performance improvements to the MINLP solver. Improvements to automatic differentiation have also been made, which improves performance on instances that have very large separable nonlinear expressions.
Sifting Algorithm Improvements:
In Xpress 8.11, we introduced the ability for users to choose Barrier for reoptimizing during the sifting algorithm. With this release, users can invoke Barrier method without crossover in sifting. Users also have the option of warm starting the Barrier method between sifting iterations. Additional options to tune the selection of columns that are dual infeasible, and more options to the SIFTING control have been added allowing a more fine-grained control of the sifting algorithm.Barrier Algorithm Improvements:
We have made improvements to the numerical stability of the Barrier algorithm. In addition, users can now apply the Iterative Refinement method to refine Barrier solutions as part of a Barrier solve. Iterative Refinement, which was first introduced in the solver in Xpress 8.8, is a method used to improve the numerical accuracy of solutions.
New Features
Heuristic Emphasis: This release introduces a new control called HEURMPHASIS that instructs the Optimizer to run heuristics at varying levels of aggressiveness. When set to non-default values, this controls runs more heuristics at the root and in the tree. The control currently allows two modes: The first mode focuses on reducing the primal-dual gap: a measure that favors finding good solutions early in the search. The second mode runs heuristics much more aggressively. The control can be changed during any part of the search, allowing users to decide at what stage they would like the Optimizer to expend more effort on finding solutions.
Users now have the option of running the root LP with the concurrent solver opportunistically. This will enable opportunism only in the concurrent root LP solver. The remainder of the search will still be run deterministically. This can lead to a loss of determinism in some problems. However, runs can still be reproduced by selecting the algorithm that wins the race to solve the root LP, and setting the LP threads to match the number of threads that were used by that LP algorithm.
The ability to write files compressed with GZIP has been added.
Xpress Solver Interfaces
R Interface to the Optimizer: This release introduces a new R interface to the Xpress Optimizer. R is a widely used programming language and free software environment for statistical computing and graphics supported by the R Foundation for Statistical Computing. With the R interface, users can formulate linear, mixed-integer and quadratic optimization problems directly in R. The R API has high-level functions and tools, including support for matrix-style problem input for sparse and dense matrices. The low-level interface allows access to all the Optimizer API functions, including callbacks. Xpress problem objects belong to the S3 class, which makes it convenient to repeatedly solve, modify problems and retrieve intermediate results.
We’ve added support for Python 3.9 and dropped support for Python 2.7 and 3.5.
We’ve made improvements to the Java API. Several convenience functions have been added. The XPRSprob class now derives from the AutoCloseable interface, allowing it to be used in try-with-resources statements.
Updated 5 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