Xpress Solveris the technology component that supports all of FICO's optimization solver technologies including:
Highlights of this release include:
For further information please see the details listed in the Xpress release notes.
- 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 successive linear programming and an interior point solver for nonlinear problems, integrating closely with the Optimizer’s MIP framework.
- Xpress Global:provides an engine for solving nonlinear problems to global optimality integrating with the components of Xpress Nonlinear and Xpress Optimizer.
- Xpress Kalis: provides constraint-based programming capabilities. Combined with the optimizer, it can make use of MIP relaxations of the CP problem.
Highlights of this release include:
- GPU Port of the Primal-Dual Hybrid Gradient Method: The primal-dual hybrid gradient method (PDHG) also commonly referred to as PDLP, has been ported to run on NVIDIA® GPUs and is available as a beta to users with licenses for Xpress 9.8. The CPU version of this algorithm has been available since Xpress 9.4. The control BARHGGPUs can be used to enable the running of PDLP on GPUs along with the control BARALG, which is used to select PDHG as the algorithm to solve the LP. The minimum hardware requirements for running PDHG on GPUs are an NVIDIA® GPU with Turing (or later) microarchitecture with Compute Capability 7.5 or later, NVIDIA drivers with version 580 or later, and an NVIDIA® CUDA® runtime of version 13.0 or later. Users must install NVIDIA drivers and CUDA libraries themselves. Please refer to the installation guide for the list of supported platforms and details for installation. Users interested in submitting instances or providing feedback can write to [email protected]. To learn more about the PDHG method, its convergence properties and tolerance considerations, please visit the Xpress documentation for this method.
- Default LP solver: The default solver for LPs has been changed from dual simplex to the concurrent solver, which runs dual simplex and barrier concurrently as default, and primal simplex only if the problem is suitable. If only a single thread is available or when a starting basis is available, dual simplex is used by default.
- Mixed-Integer Programming (MIP) Performance Enhancements: Performance enhancements have been made to the MIP engine including improved handling of indicator constraints in heuristics, improvements to the pre-root parallel heuristics where a new algorithm has been added, new metric to measure the effectiveness of rounds of cuts, and improvements to the background threads used for running heuristics. Year-over-year (compared with Xpress 9.5), the MIP engine is 14% faster overall and 24% faster on models that require at least 100 seconds on either version. Time comparisons are performed using the shifted geometric mean with a shift of 10 seconds.
- Global Solver Performance Enhancements: A new class of cutting planes (semidefinite cuts) has been introduced, and the RLT cut separation has been improved for squared columns. A bound reduction technique called Optimization-Based Bound Tightening has been introduced which is off by default but can be enabled by means of a control parameter. Year-over-year (compared with Xpress 9.5), the global solver is 68% faster overall and 5.3 times faster for models that take at least 100s.
- Solver Interfaces
- For Java, C++, and .NET interfaces, performance improvements have been made for model building. Furthermore, a new method for adding multiple managed cuts in a single shot has been introduced.
- Python API: The Python API has been unified with new naming conventions and increased consistency across all other Solver APIs. Furthermore, a new data type xpress.ndarray has been introducedwhich is a subclass of NumPy ndarray. This type overrides the comparison operators of NumPy ndarray to produce constraint objects. All functions that return NumPy arrays now return xpress.ndarray.
For further information please see the details listed in the Xpress release notes.
Updated 1 year 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