Overview
CP Optimizer is a software library which provides a constraint programming engine.
The CP Optimizer feature of the IBM® ILOG® CPLEX® Optimizers is a software library which provides a constraint programming engine targeting both constraint satisfaction problems and optimization problems. This engine, designed to be used in a “model & run” development process, contains powerful methods for finding feasible solutions and improving them. The strength of the optimizer generally removes the need for you to write and maintain a search strategy.
CP Optimizer is based on IBM ILOG Concert Technology. Concert Technology offers a library of classes and functions that enable you to define models for optimization problems. Likewise, CP Optimizer offers a library of classes and functions that enable you to find solutions to the models. Though the CP Optimizer defaults will prove sufficient to solve most problems, CP Optimizer offers a variety of tuning classes and parameters to control various algorithmic choices.
IBM ILOG Concert Technology and CP Optimizer provide application programming interfaces (APIs) for Microsoft .NET languages, C++ and Java™. The CP Optimizer part of an application can be completely integrated with the rest of that application (for example, the graphical user interface, connections to databases and so on) because it can share the same objects.
The recommended development path for solving an optimization problem with CP Optimizer is to use IBM ILOG Concert Technology for modeling, together with the CP Optimizer search engine tuned with parameters and search phases. In this way, you benefit from all future improvements to the CP Optimizer propagation and search strategies.
While the modeling objects provided by IBM ILOG Concert Technology and the algorithms provided by the CP Optimizer engine will generally be sufficient to model and solve your problem, in some situations you may need the full flexibility of writing and maintaining the solution process in various ways, such as writing custom constraints and custom constructive search by means of goals. The extensions portion of CP Optimizer is not available in all APIs.