IBM ILOG CPLEX Solver

The CPLEX solver from IBM ILOG is a high performance solver for Linear Programming (LP), Mixed Integer Programming (MIP) and Quadratic Programming (QP/QCP/MIQP/MIQCP) problems.

CPLEX Linear Programming

CPLEX Basic offers various algorithms for solving Linear Programming problems: you can choose between the primal or dual simplex algorithm, the barrier algorithm and the network algorithm. The barrier (or interior point) algorithm offers an approach particularly efficient on large sparse problems. CPLEX can handle sparse matrices very efficiently.

A presolver is used to reduce the size of the problem before it is solved, sometimes by an order of magnitude. CPLEX is very robust and reliable. It is capable of solving huge, real-world Optimization problems. Almost always the default option settings of CPLEX are sufficient to solve a problem with excellent solution times.

Download a free license to use CPLEX as the Linear Programming solver in AIMMS 

CPLEX Mixed Integer Programming

CPLEX Intermediate can also solve Mixed Integer Programming problems. The CPLEX branch-and-bound algorithm for solving Mixed Integer Programming problems uses modern features like cutting planes and heuristics to find integer solutions. Combined with the state-of-the-art presolver it makes CPLEX a very powerful tool for solving large and difficult Mixed Integer Programming problems.

Download a free license to use CPLEX as the Mixed Integer Programming solver in AIMMS 

CPLEX Quadratic Programming

CPLEX Basic, Intermediate and Full can also be used to solve Quadratic Programming (QP) problems which are problems with linear constraints and a quadratic objective function. CPLEX Full can also handle the variant with integer variables: Mixed Integer Quadratic Programming (MIQP) problems. CPLEX Full can also handle problems that have quadratic constraints: Quadratically Constrained Programming (QCP) problems and Mixed Integer Quadratically Constrained Programming (MIQCP) problems.

The QCP and MIQCP solvers support second-order cone constraints, rotated second-order cone constraints, and more general convex quadratic constraints.

Parallel CPLEX

CPLEX provides a parallel CPLEX option allowing you to take advantage of the availability of additional CPUs to speed up performance while it solves a specific model. CPLEX 11 extends the functionality of the parallel Mixed Integer Programming optimizer to include two modes of operation. In deterministic mode, a newly implemented search algorithm exploits parallelism in solving nodes of the branch-and-cut tree, but produces a repeatable, invariant solution path. In opportunistic mode, the search algorithm, takes full advantage of parallelism; it performs less synchronization between threads and allows random tie breaking, which may result in different solution paths but potentially faster performance.

Starting with CPLEX 12, parallel algorithms are included at no additional charge.

CPLEX Indicator Constraints

CPLEX provides indicators constraints. Indicator constraints are a new constraint type that enable the user to express particular modeling constructs among variables by identifying a binary variable to control whether or not a specified linear constraint is active. Formulations using indicator constraints are more numerically robust and accurate than conventional formulations involving so-called Big M data.

CPLEX Solution Polishing

Also the solution polishing heuristic of CPLEX is available in AIMMS to boost performance on certain types of models. Solution Polishing is appropriate for finding the best solutions to complex and difficult Mixed Integer Programming models within a specified time and is used to improve the best solution at the end of the branch-and-cut process if optimality has not been proven. It can also be used instead of the branch-and-cut algorithm if an initial solution can be found in the root node.

CPLEX Tuning Tool

CPLEX 11 introduced a performance tuning tool to help you analyze whether default option settings are best for your particular model or models and to aid you in adjusting option settings efficiently.

CPLEX Performance Improvements

CPLEX 11 introduced a new search algorithm—dynamic search. It is innovative in its integration and sequencing of the usual branching, nodes and cuts in branch-and-cut algorithms. CPLEX 11 retains its conventional branch-and-cut algorithm, but with advances in branching, cuts and heuristics. By selecting the more efficient of the two search strategies, CPLEX 11 improves the time to optimality by 15% on average for models solved in less than one minute; and it solves models in the range of one minute to one hour an average of three times faster. For hard models requiring more than one hour to solve, the speed up is a factor of ten on average.

CPLEX 12 includes improvements in the performance of solving Mixed Integer Programming problems and the barrier algorithm.

About IBM ILOG CPLEX

IBM ILOG CPLEX is developed and supported by IBM, Inc. IBM ILOG CPLEX is a registered trademark of IBM, Inc. www.ibm.com.

CPLEX Supported Versions

AIMMS supports CPLEX 8.1 - 12.x. 

Download a free license to use CPLEX as the Mathematical Programming solver in AIMMS