FICO Xpress
Developer(s) | FICO |
---|---|
Initial release | 1983 |
Stable release | 9.2[1] |
Platform | Cross-platform |
Type | Operations Research, Mathematical optimization |
License | Proprietary |
Website | www |
The FICO Xpress optimizer is a commercial optimization solver for linear programming (LP), mixed integer linear programming (MILP), convex quadratic programming (QP), convex quadratically constrained quadratic programming (QCQP), second-order cone programming (SOCP) and their mixed integer counterparts.[2] Xpress includes a general purpose non-linear solver, Xpress NonLinear, including a successive linear programming algorithm (SLP, first-order method), and Artelys Knitro (second-order methods).
Xpress was originally developed by Dash Optimization, and was acquired by FICO in 2008.[3] Its initial authors were Bob Daniel and Robert Ashford. The first version of Xpress could only solve LPs; support for MIPs was added in 1986. Being released in 1983, Xpress was the first commercial LP and MIP solver running on PCs.[4] In 1992, an Xpress version for parallel computing was published, which was extended to distributed computing five years later.[5] Xpress was the first MIP solver to cross the billion matrix non-zero threshold by introducing 64-bit indexing in 2010.[6] Since 2014, Xpress features the first commercial implementation of a parallel dual simplex method.[2]
Technology
[edit]Linear and quadratic programs can be solved via the primal simplex method, the dual simplex method or the barrier interior point method. All mixed integer programming variants are solved by a combination of the branch and bound method and the cutting-plane method. Infeasible problems can be analyzed via the IIS (irreducible infeasible subset) method. Xpress provides a built-in tuner for automatic tuning of control settings. [1] Xpress includes its modelling language Xpress Mosel[7] and the integrated development environment Xpress Workbench.[8] Mosel includes distributed computing features to solve multiple scenarios of an optimization problem in parallel. Uncertainty in the input data can be handled via robust optimization methods.[9]
Xpress has a modeling module called BCL (Builder Component Library) that interfaces to the C, C++, Java programming languages, and to the .NET Framework.[10] Independent of BCL, there are Python and MATLAB interfaces. Next to Mosel, Xpress connects to other standard modeling languages, such as AIMMS, AMPL, and GAMS.
The FICO Xpress Executor[11] executes and deploys Mosel models, using SOAP or REST interfaces. It can be used from external applications or from the FICO Decision Management Platform.
References
[edit]- ^ a b "FICO Xpress Optimization".
- ^ a b Berthold, T.; Farmer, J.; Heinz, S.; Perregaard, M. (15 Jun 2017). "Parallelization of the FICO Xpress-Optimizer". Optimization Methods and Software. 33 (3): 518–529. doi:10.1080/10556788.2017.1333612.
- ^ "Dash Optimization acquired by FICO" Jan 22, 2008.
- ^ Ashford, R. (Feb 2007). "Mixed integer programming: A historical perspective with Xpress-MP". Annals of Operations Research. 149 (1): 5–17. doi:10.1007/s10479-006-0092-x.
- ^ Laundy, R. (1999). "Implementation of Parallel Branch-and-bound Algorithms in XPRESS-MP". pp. 25–41. doi:10.1057/9780230372924_2. ISBN 9780230372924.
{{cite book}}
:|journal=
ignored (help); Missing or empty|title=
(help) - ^ O. Bastert (2011). FICO Xpress Optimization Suite (PDF) (Report). Retrieved Jan 23, 2019.
- ^ Guéret, Christelle; Prins, Christian; Sevaux, Marc (2002). Applications of Optimization with Xpress-MP. Dash Optimization Limited. ISBN 9780954350307.
- ^ "FICO Xpress Workbench". Nov 12, 2017.
- ^ P. Belotti (2014). Robust Optimization with Xpress (PDF) (Report). Retrieved Oct 28, 2018.
- ^ "BCL Reference Manual" Nov 13, 2018.
- ^ "FICO Xpress Executor" Nov 13, 2018.