> Languages and APIs > ILOG Concert Technology for Java Users > Modeling with Concert Technology

An optimization problem is represented by a set of interconnected modeling objects in an IloCplex object. Modeling objects in Concert Technology are objects of type IloNumVar and its extensions, or IloAddable and its extensions. Since these are Java interfaces and not classes, objects of these types cannot be created explicitly. Rather, modeling objects are created using methods of an instance of IloModeler or one of its extensions, such as IloMPModeler or IloCPModeler.

This discussion concentrates on IloModeler and IloMPModeler because the class IloCplex implements these interfaces and thus inherits their methods. To create a new modeling object, you must first create the IloModeler which will be used to create the modeling object. For the discussion here, the model will be an instance of IloCplex, and it is created like this:

  IloCplex cplex = new IloCplex();

Since class IloCplex implements IloMPModeler (and thus its parent interface IloModeler) all methods from IloMPModeler and IloModeler can be used for building a model. IloModeler defines the methods to:

Models that consist only of such constructs can be built and solved with any ILOG optimizer implementing the IloModeler interface, including IloCplex, which implements the IloMPModeler extension.

The IloMPModeler interface extends IloModeler by adding functionality specific to mathematical programming applications. This functionality includes these additional modeling object types:

It also includes these modeling features to support specific needs:

Table 2.1 recapitulates those observations about the interfaces of ILOG CPLEX with Concert Technology for Java users.

Table 2.1 Modeling Classes of ILOG CPLEX with Concert Technology for Java Users
To Model This  
Use an Object of This Class 
variable 
IloNumVar and its extensions IloIntVar and IloSemiContVar 
range constraint 
IloRange with (piecewise) linear or quadratic expressions  
other relational constraint 
IloConstraint of the form expr1 relation expr2, where both expressions are linear or quadratic and may optionally contain piecewise linear terms. 
LP matrix 
IloLPMatrix 
linear or quadratic objective 
IloObjective with (piecewise) linear or quadratic expressions 
variable type-conversion 
IloConversion 
special ordered set 
IloSOS1 or IloSOS2 

For an explanation of quadratic constraints, see Solving Problems with Quadratic Constraints (QCP). For more information about quadratic objective functions, see Solving Problems with a Quadratic Objective (QP). For examples of piecewise linear constraints, see Transport: Piecewise Linear Optimization. For a description of special ordered sets, see Using Special Ordered Sets.