The FICO Xpress optimizer is a commercial
optimization solver
A solver is a piece of mathematical software, possibly in the form of a stand-alone computer program or as a software library, that 'solves' a mathematical problem. A solver takes problem descriptions in some sort of generic form and calculates t ...
for
linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear function#As a polynomial function, li ...
(LP),
mixed integer linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming is ...
(MILP), convex
quadratic programming (QP), convex
quadratically constrained quadratic programming (QCQP),
second-order cone programming (SOCP) and their mixed integer counterparts.
Xpress includes a general purpose non-linear solver, Xpress NonLinear, including a successive linear programming algorithm (SLP, first-order method), and
Artelys Knitro
Artelys Knitro is a commercial software package for solving large scale nonlinear mathematical optimization problems.
KNITRO – (the original solver name) short for "Nonlinear Interior point Trust Region Optimization" (the "K" is silent) – was ...
(second-order methods).
Xpress was originally developed by Dash Optimization, and was acquired by
FICO in 2008.
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
A personal computer (PC) is a multi-purpose microcomputer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or techn ...
.
In 1992, an Xpress version for parallel computing was published, which was extended to distributed computing five years later.
Xpress was the first MIP solver to cross the billion matrix non-zero threshold by introducing 64-bit indexing in 2010.
Since 2014, Xpress features the first commercial implementation of a parallel dual
simplex method.
Technology
Linear and quadratic programs can be solved via the primal simplex method, the dual simplex method or the barrier
interior point method
Interior-point methods (also referred to as barrier methods or IPMs) are a certain class of algorithms that solve linear and nonlinear convex optimization problems.
An interior point method was discovered by Soviet mathematician I. I. Dikin in 1 ...
. All mixed integer programming variants are solved by a combination of the
branch and bound method and the
cutting-plane method
In mathematical optimization, the cutting-plane method is any of a variety of optimization methods that iteratively refine a feasible set or objective function by means of linear inequalities, termed ''cuts''. Such procedures are commonly used t ...
. Infeasible problems can be analyzed via the IIS (
irreducible
In philosophy, systems theory, science, and art, emergence occurs when an entity is observed to have properties its parts do not have on their own, properties or behaviors that emerge only when the parts interact in a wider whole.
Emergence ...
infeasible subset) method. Xpress provides a built-in tuner for automatic tuning of control settings.
Xpress includes its modelling language Xpress Mosel
and the integrated development environment Xpress Workbench.
Mosel includes
distributed computing
A distributed system is a system whose components are located on different computer network, networked computers, which communicate and coordinate their actions by message passing, passing messages to one another from any system. Distributed com ...
features to solve multiple scenarios of an optimization problem in parallel. Uncertainty in the input data can be handled via
robust optimization Robust optimization is a field of mathematical optimization theory that deals with optimization problems in which a certain measure of robustness is sought against uncertainty that can be represented as deterministic variability in the value of the ...
methods.
Xpress has a modeling module called BCL (Builder Component Library) that interfaces to the
C,
C++,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
programming languages, and to the
.NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
. Independent of BCL, there are
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
and
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
interfaces. Next to Mosel, Xpress connects to other standard modeling languages, such as
AIMMS AIMMS (acronym for Advanced Interactive Multidimensional Modeling System) is a prescriptive analytics software company with offices in the Netherlands, United States, China and Singapore.
It has two main product offerings that provide modeling and ...
,
AMPL, and
GAMS.
The FICO Xpress Executor
"FICO Xpress Executor"
Nov 13, 2018. executes and deploys Mosel models, using SOAP
Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
or REST interfaces. It can be used from external applications or from th
FICO Decision Management Platform
References
{{Mathematical optimization software
Numerical software
Mathematical optimization software