These slides give an overview of some of the challenges in optimization of construction operations. …
Is CPLEX the right solution for my business?
IBM CPLEX Optimization Studio
Cplex Optimization Studio allows you to model business problems mathematically and solve them with powerful algorithms, which can produce a large range of approximate or optimal solutions.
The CPLEX engine provides flexible, high-performance mathematical programming solvers for linear, mixed integer and quadratic programming.
The CP Optimizer engine to solve scheduling problems and other hard and non-linear combinatorial problems using constraint programming.
Both engines can be programmed using the algebraic modelling OPL language, or programmatic APIs in C/C++, C# and Java.
For Operations Research and Mathematical Modelling specialists
The OPL language is an algebraic modelling language that allows modelling optimization problems and solve them with CPLEX or CP Optimizer.
It includes an Eclipse based IDE for Windows, MacOS and Linux, a model explorer, a debugger, and Gantt charts to view scheduling solutions. A large and comprehensive library of models is provided to jumpstart users.
Models in OPL can be deployed in any language (C, C++, C#, Java) via a programmatic API that loads the OPL model, solves and gives access to the results from the main program.
Because it is simple and compact, OPL increases the modeller’s productivity, allowing him / her to explore a large variety of models for the same problem and find the one that provides the best performance over the dataset.
For Linear and Quadratic Problems
CPLEX is the optimization engine dedicated to solve linear and quadratic problems in fractional or integer variables.
Cplex not only provides excellent performance but improves on a regular basis.
Examples of new features added to Cplex recently include automated Benders decomposition, which allows users to tell the engine which variables are primary and which variables are secondary. The engine will then run the optimization problem on the primary variables, extend the assignment to the secondary variables and identify infeasibilities if needed (no-good cuts).
For Scheduling Problems
CP Optimizer is the optimization engine dedicated to solve scheduling and routing, and combinatorial problems.
For scheduling problems, CP Optimizer provides dedicated modeling concepts that allow describing a large variety of scheduling and routing problems, while allowing the engine to solve them efficiently with dedicated scheduling algorithms.
For combinatorial problems, CP Optimizer provides traditional CP modeling concepts, mixed with advanced resolution techniques like automated search.
Programmatic APIs give access to low-level features of engines like CPLEX callbacks for researchers
For access to low-level features of the engines
Cplex and CP Optimizer models can also created via C, C++, C# and Java APIs. While this leads to significantly more verbose models, it allows a tighter integration between the code and the engine.
Writing models in C/C++, C# or Java also gives access to low-level features of the engines like CPLEX callbacks. These features are interesting for researchers that want to add branching strategies and custom cuts. Custom callbacks however disable features that are important for CPLEX’s performance. They are therefore not recommended for models in production.