There is more than Mathematical Programming in IBM ILOG CPLEX Optimization Studio.
Philippe Laborie – IBM
Principal Scientist, IBM CPLEX Optimization Studio
For more than 20 years, the IBM/ILOG R&D team has been developing Constraint Programming (CP) approaches to solve hard combinatorial optimization problems, in particular for industrial scheduling applications.
In the past, CP technology involved experts solving complex problems by implementing problem-specific constraints and search algorithms. Those days are over with the advent of CP Optimizer, the first optimization engine offering a 'model & run' approach.
CP Optimizer extends classic Mathematical Programming (MP) with additional decision variables (such interval, sequence and function variables for scheduling) and non-linear numerical expressions and constraints. These extensions result in more intuitive and concise models in terms of lines of code and maintainability. For instance the classic Job-Shop Scheduling Problem or the Resource-Constrained Project Scheduling Problem can both be modeled in about 5 lines of code. Furthermore, the size of the models (number of variables and constraints) usually grows linearly with the data size.
The powerful, automatic search of CP Optimizer allows modelers to transparently use CP technology to solve models with good out-of-the-box performance. Search is complete (with optimal solutions and optimality proofs) and anytime (a first feasible solution is usually found quickly and then iteratively improved).
As with commercial MP solvers, the performance of CP Optimizer's search is continuously improved with each version. With scheduling problems, for instance, the latest release (v12.8 - December 2017) is approximately 7 times faster than v12.2 (2011) on the same machine. CP Optimizer’s performance is evaluated with a benchmark containing more than 250 different families of optimization problems, more than half of which are scheduling problems.
If the main target of CP Optimizer is complex industrial problems, it has been shown to equal or better the performance of state-of-the-art dedicated algorithms and MP models on classical problems. This includes different variants of Job-Shop Scheduling, Resource-Constrained Project Scheduling or mixed resource allocation and scheduling problems. The tool is increasingly being used by academics with more than 600 papers citing it.
CP Optimizer is successfully used to solve complex scheduling problems in sectors such as manufacturing, aircraft assembly, computer and network scheduling, space (earth observation, autonomous rovers), autonomous systems (assistant robots, UAV), civil engineering, transportation, port management and manpower scheduling.
Transcriptic, the creator of the world’s first robotic cloud laboratory is using CP Optimizer to automatically optimize the scheduling of its automated laboratory. This laboratory provides on-demand assay execution and is connected through IoT and cloud-based technologies.
CP Optimizer is available in IBM ILOG CPLEX Optimization Studio. As with CPLEX, CP Optimizer models can be formulated using OPL, Python, C++, Java or C#. Additionally, most of the CPLEX model development tools (conflict refiner, modeling assistance, warm start, search log, input/output file format) are also available for CP Optimizer. This facilitates both the adoption of CP technology by OR experts and data scientists and the cooperation between CP and MP.
For a detailed overview of CP Optimizer, look out for the forthcoming article 'IBM ILOG CP Optimizer for Scheduling. 20+ Years of Scheduling with Constraints at IBM/ILOG.' in the Constraints Journal.