30.01.2015 Views

ILOG CPLEX C++ API 9.0 Reference Manual

ILOG CPLEX C++ API 9.0 Reference Manual

ILOG CPLEX C++ API 9.0 Reference Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IloCplex<br />

Mathematical Programming models. More precisely, models to be solved by<br />

IloCplex should contain only IloExtractable objects from the following list:<br />

◆<br />

variables: objects of type IloNumVar and its extensions IloIntVar and<br />

IloSemiContVar<br />

◆ range constraints: objects of type IloRange<br />

◆ other relational constraints: objects of type IloConstraint of the form<br />

expr1 relation expr2, where the relation is one of ==, ≥, ≤, or !=<br />

◆ objective function: one object of type IloObjective<br />

◆<br />

variable type conversions: objects of type IloConversion<br />

◆ special ordered sets: objects of type IloSOS1 or IloSOS2<br />

The expressions used in the constraints and objective function handled by IloCplex<br />

are built from variables of those listed types and can be linear or quadratic. In addition,<br />

expressions may contain the following constructs:<br />

◆<br />

◆<br />

◆<br />

minimum:IloMin<br />

maximum:IloMax<br />

absolute value:IloAbs<br />

◆ piecewise linear functions:IloPiecewiseLinear<br />

Expressions that evaluate only to 0 (zero) and 1 (one) are referred to as Boolean<br />

expressions. Such expressions also support:<br />

◆ negation:operator !<br />

◆<br />

conjunction:operator && or, equivalently, IloAnd<br />

◆ disjunction:operator || or, equivalently, IloOr<br />

Moreover, Boolean expressions can be constucted not only from variables, but also<br />

from constraints.<br />

IloCplex will automatically transform all of these constructs into an equivalent<br />

representation amenable to IloCplex. Such models can be represented in the<br />

following way:<br />

Minimize (or Maximize) c'x + x'Qx<br />

subject to<br />

L Ax U<br />

a_i'x + x'Q_i x r_i, for i = 1, ..., q<br />

l x u.<br />

<strong>ILOG</strong> <strong>CPLEX</strong> <strong>C++</strong> <strong>API</strong> <strong>9.0</strong> REFERENCE M ANUAL 46

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!