CPLEX consists of software components and options.
Types of problems solved
Defines the kind of problems that CPLEX solves.
CPLEX also can solve several extensions to LP:
- Network Flow problems, a special case of LP that CPLEX can solve much faster by exploiting the problem structure.
- Quadratic Programming (QP) problems, where the LP objective function is expanded to include quadratic terms.
- Quadratically Constrained Programming (QCP) problems that include quadratic terms among the constraints. In fact, CPLEX can solve Second Order Cone Programming (SOCP) problems.
- Mixed Integer Programming (MIP) problems, where any or all of the LP, QP, or QCP variables are further restricted to take integer values in the optimal solution and where MIP itself is extended to include constructs like Special Ordered Sets (SOS) and semi-continuous variables.
Components of IBM CPLEX Optimizer for z/OS
Describes the components of CPLEX: Interactive Optimizer, Concert Technology, Callable Library.
CPLEX comes in various forms to meet a wide range of users' needs:
- The CPLEX Interactive Optimizer is an executable program that can read a problem interactively or from files in certain standard formats, solve the problem, and deliver the solution interactively or into text files.
-
Concert Technology is a set of C++ class libraries offering an API that includes modeling facilities to allow the programmer to embed CPLEX optimizers in C++ applications.
The Concert Technology libraries make use of the Callable Library (described next).
- The CPLEX Callable Library is a C library that allows the programmer to embed CPLEX optimizers in applications written in C, Visual Basic, FORTRAN, or any other language that can call C functions.
In this manual, the phrase CPLEX Component Libraries is used to refer equally to any of these libraries. While all of the libraries are callable, the term CPLEX Callable Library as used here refers specifically to the C library.
Components of IBM CPLEX Optimizer for z/OS
Introduces the options available in CPLEX.
This manual explains how to use the LP algorithms that are part of CPLEX. The QP, QCP, and MIP problem types are based on the LP concepts discussed here, and the extensions to build and solve such problems are explained in the CPLEX User’s Manual.
Default settings will result in a call to an optimizer that is appropriate to the class of problem you are solving. However, you may wish to choose a different optimizer for special purposes. An LP or QP problem can be solved using any of the following CPLEX optimizers: dual simplex, primal simplex, barrier, and perhaps also the network optimizer (if the problem contains an extractable network substructure). Pure network models are all solved by the network optimizer. QCP models, including the special case of SOCP models, are all solved by the barrier optimizer. MIP models are all solved by the mixed integer optimizer, which in turn may invoke any of the LP or QP optimizers in the course of its computation.
Parallel optimizers
Parallel optimizers are available in CPLEX.
Parallel barrier, parallel MIP, and concurrent optimizers are implemented to run on hardware platforms with parallel processors. These parallel optimizers can be called from the Interactive Optimizer and the Component Libraries.
When small models, such as those in this document, are being solved, the effect of parallelism will generally be negligible. On larger models, the effect is ordinarily beneficial to solution speed.
See the topic Parallel optimizers in the CPLEX User's Manual for information about using CPLEX on a parallel computer.
Data entry options of IBM CPLEX Optimizer for z/OS
CPLEX supports a variety of data entry options.
CPLEX provides several options for entering your problem data. When using the Interactive Optimizer, most users will enter problem data from formatted files. CPLEX supports the industry-standard MPS (Mathematical Programming System) file format as well as CPLEX LP format, a row-oriented format many users may find more natural. Interactive entry (using CPLEX LP format) is also a possibility for small problems.
Data entry options are described briefly in this manual. File formats are documented in the reference manual File formats supported by CPLEX.
Concert Technology and Callable Library users may read problem data from the same kinds of files as in the Interactive Optimizer, or they may want to pass data directly into CPLEX to gain efficiency. These options are discussed in a series of examples that begin with Building and solving a small LP model in C++ and Building and solving a small LP model in C for the CPLEX Callable Library users.