IBM ILOG CPLEX Optimization Studio helps business decision makers developing and deploying optimisation models quickly and create real-world applications that can significantly improve business outcomes.
CPLEX Studio
We will hear different terms for CPLEX.
CPLEX was originally a Simplex method implemented on the C Language in 1987 by Robert E. Bixby, so the name.
Its Simplex algorithm was then revised with a number of improvements.
The official name of the product that we download and install is IBM ILOG CPLEX Optimization Studio (CPLEX Studio).
CPLEX Studio is an integrated development environment (IDE) that enables us to develop, run, analyse and test the models.
Optimization Programming Language (OPL)
Within this IDE, we will write our mathematical model in the modelling language called OPL (Optimization Programming Language).
OPL is a specialised modelling language for describing (and solving) optimisation problems.
It is a syntax that is close to the mathematical formulation, thus making it easier to make the transition from the mathematical formulation to something that can be solved by the computer.
OPL helps professionals build faster with fewer lines of code with scripting capability.
CPLEX Optimizer
When we hit the Run button, the model compiles and is sent to an optimisation engine for solving.
We need an optimisation engine/solver with powerful mathematical processing capabilities to solve the model and find solutions.
One of the engines is called the CPLEX Optimizer engine.
CPLEX Optimizer automatically choose the most appropriate solution algorithm for a particular problem based on problem structure.
The fundamental algorithms include linear, simplex, barrier, mixed integer, quadratic, constraint programming, quadratically constrained (including second-order cone programs) and more.
Besides the CPLEX Optimizer engine, CPLEX Studio includes CP Optimizer engine (CPO), to solve constraint programming problems.
In the coming lessons, we will be using these tools, i.e. CPLEX Studio, CPLEX Optimizer and OPL to solve mathematical programming problems!