CPLEX

Linear programming (including integer and network linear programming) and convex quadratic programming


The foundation of CPLEX is the CPLEX Linear Optimizer Base System. This system solves linear programs using the robust simplex algorithms - primal simplex, dual simplex, and network simplex. Options available with the base system include

The Callable Library Option
The facilities of the Base System are made available as a library, allowing users to embed the solvers into their applications. Interfaces to C, Fortran, and other languages are supported.
Mixed Integer Solver Option
Adds a capability for handling integer variables (binary and general). A sophisticated mixed integer pre-processing system is included.
Barrier Solver
A primal-dual interior-point algorithm, including fast crossover to basic solutions. This solver also handles convex quadratic programs.
 

Both linear and integer codes can solve network-structured problems with unlimited side-constraints.

CPLEX products are designed to solve large, difficult problems where other linear programming solvers fail or are unacceptably slow. CPLEX algorithms are exceptionally fast and robust, providing exceptional reliability even for poorly scaled or numerically difficult problems. Online help is provided with all CPLEX products.

Typical application areas include large models in refining, manufacturing, banking, finance, transportation, timber, defense, energy, and logistics. CPLEX is also used heavily in academic research in universities throughout the world.

Algorithms

The CPLEX Base System implements modified primal and dual simplex. The System includes a special algorithm for extracting and solving a maximal size network from within linear programming problems. The network algorithm is much more efficient than LP algorithms where pure network structures can be identified.

A sophisticated preprocessor is included with the Base System for reducing the size of LP models.

The Barrier Solver implements a primal-dual interior-point algorithm, incorporating a predictor-corrector strategy to speed convergence. This algorithm is especially useful for large problems. The Barrier solver includes a crossover algorithm to convert mid-face solutions to basic, vertex solutions.

Most algorithmic parameters can be adjusted by users, although pre-set defaults with built-in dynamic adjustment often provide best performance. The System supports interactive execution, allowing users to change problems, parameters, and output options based on feedback from the solvers.

The CPLEX Mixed Integer Programming option uses a variety of branching and node selection techniques, including cuts (cliques & covers) and heuristics. and branch-and-cut algorithms. Several options are available to guide and limit integer solving, such as user-set priorities and alternative branching and node selection strategies. Specialized algorithms for special-ordered sets are available for use on certain classes of problem.

Availability

CPLEX reads linear and integer problems in several formats, including MPS format and CPLEX LP format. CPLEX also interfaces with several modeling languages, including GAMS, AMPL, and MPL.

All CPLEX products are designed to be portable and are available on most popular hardware/software environments, including personal computers (all IBM compatibles), UNIX workstations (Sun, HP/Apollo, DEC, IBM, MIPS, and others), mainframes (IBM, DEC, Unisys, and others), and supercomputers (Cray, Convex).

CPLEX offers a Value Added Reseller Program for developers interested in using CPLEX within their own products.

Need more info?

Visit CPLEX on the WWW or contact:

CPLEX Optimization, Inc. 
Suite 279 
930 Tahoe Blvd., Bldg. 802 
Incline Village, NV 89451 
Phone: (702) 831-7744 
Fax:  (702) 831-7755 

Reference:

R. E. Bixby, Implementing the simplex method: The initial basis, ORSA Journal on Computing 4 (1992), pp. 267--284.

Solutions to Complex Problems, UNIX World 7 (1990), pp. 111--113.

A large-scale linear optimizer for small- and large-scale systems, OR/MS Today 18 (1991), pp. 26--29.


[ Optimization Software Guide | OTC Home Page | NEOS Server | NEOS Guide ]