As an ILOG Concert algorithm, an instance of IloCplex extracts the following classes from a model when you call its method IloCplex::extract:
-
IloNumVar representing numeric variables;
-
IloSemiContVar representing semi-continuous or semi-integer variables;
-
IloObjective representing at most one objective function in linear or piecewise linear expressions;
-
IloRange representing range constraints in linear or piecewise linear expressions;
-
IloConversion representing type conversions of variables (from floating-point to integer, for example);
-
IloSOS1 representing special ordered sets of type 1;
-
IloSOS2 representing special ordered sets of type 2;
-
IloAnd for use with IloSolution.
There are also facilities in IloCplex for representing piecewise-linear functions, as explained in Transport: Piecewise Linear Optimization, and logical constraints, introduced in Logical Constraints in Optimization. As that chapter explains, logical constraints in ILOG CPLEX are available only to C++ users.