Decide which Xpress products to evaluate
Topics covered in this section:
In order to make this decision you must consider the type of problem that you wish to solve, the tools that you wish to use for model development, the tools that you wish to use for model deployment, and the platform you intend to use.
Type of problem
Xpress has solver engines for different types of problems:
Type of problem | Solving engine |
---|---|
Linear Programming (LP) | Xpress Optimizer |
Mixed Integer Programming (MIP) | |
Quadratic Programming (QP) | |
Mixed Integer Quadratic Programming (MIQP) | |
Quadratically Constrained Quadratic Programming (QCQP/MIQCQP) | |
Second Order Cone Programming (SOCP/MISOCP) | |
Non-Linear Programming (NLP)![]() |
Xpress NonLinear, Xpress Global![]() |
Mixed Integer Non-Linear Programming (MINLP) | |
Constraint Programming (CP) | Xpress Kalis |
Further information
See Xpress documentation (in the docs subdirectory of your Xpress installation or at http://www.fico.com/fico-xpress-optimization/docs/latest):
- Classification of mathematical programming problems: ``Getting Started with Xpress'', 1.1. `Mathematical Programming'.
- Modeling with Mosel, in particular LP/MIP: Xpress Mosel User Guide.
- Formulation of mathematical programming problems: see the book: ``Applications of Optimization with Xpress-MP'', Part I: `Developing Linear and Integer Programming models'.
- Non-linear Programming: Xpress NonLinear Manual, Xpress Global User Manual.
- Constraint Programming: Xpress Kalis Mosel User Guide.
Tools for model development and specification
Xpress provides the following tools for model development and specification:
- Xpress Mosel/Xpress Workbench: Mosel is an advanced modeling and programming language. Xpress Workbench is the visual environment to develop Mosel models and Insight apps.
- Xpress Solver object-oriented APIs: Object-oriented library callable from supported programming languages.
- Xpress Optimizer libraries: Optimizer functions and procedures provided for low-level integration with applications developed in supported programming languages.
Also, a model may be specified by a matrix in MPS or LP format.
Tools for model deployment
Model deployment strongly depends on the tool used to specify the model. Deployment is achieved through the use of Xpress libraries. Alternative deployment options for Mosel models are distributed or Cloud computing applications controled via XPRD (see the Advanced Evaluators Guide for further detail) and the embedding into distributed, multi-user applications using Xpress Insight.
Model specified in | Deployed using |
---|---|
Mosel | Xpress Insight |
Mosel libraries (C++/C, Java, VBA, .NET) | |
XPRD (C++/C, Java) | |
Object-oriented Solver libraries | Object-oriented Solver libraries (C++, Java, .NET) |
Optimizer libraries | Optimizer libraries (C++/C, Java, .NET, Python, R) |
Kalis libraries | Kalis libraries (C++, Java, Python) |
Note that for Constraint Programming (Xpress Kalis), the model must be specified either via Xpress Mosel or using the Kalis libraries.
Further information
See Xpress documentation (in the docs subdirectory of your Xpress installation or at http://www.fico.com/fico-xpress-optimization/docs/latest):
- Introductory examples (Mosel/Optimizer): Getting Started with Xpress.
- Mosel libraries examples: ``Xpress Mosel User Guide'', Part III: `Working with the Mosel Libraries'.
- Mosel libraries documentation: Mosel Library Reference Manual.
- Object-oriented APIs: Solver C++ User Guide, Solver Java User Guide and Solver .NET User Guide.
- Optimizer: Optimizer Reference Manual.
- Kalis: Xpress Kalis Mosel Reference Manual and Xpress Kalis Libraries User Guide.
Platform
Xpress Workbench is available on Microsoft Windows platforms, on macOS, and on the FICO Analytic Cloud. Xpress Kalis is available on Microsoft Windows, macOS and Linux. All other products are available on every supported platform.
© 2001-2024 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.