Solving the Model - IloCplex

Once the optimization problem has been created in an IloModel object, it is time to create the IloCplex object for solving the problem. This is done by creating a variable of type IloCplex. For example, to create an object named cplex, do the following:

  IloCplex cplex(env);

again using the environment env as parameter. The CPLEX object can then be used to extract the model to be solved. This can be done by calling cplex.extract(model). However, we recommend a shortcut that performs the construction of the cplex object and the extraction of the model in one line:

  IloCplex cplex(model);

This works because the modeling object model contains within it the reference to the environment named env.

After this line, object cplex is ready to solve the optimization problem described by model. Solving the model is done by calling:

  cplex.solve();

This method returns an IloBool value, where IloTrue indicates that cplex successfully found a feasible (yet not necessarily optimal) solution, and IloFalse indicates that no solution was found. More precise information about the outcome of the last call to method solve() can be obtained by calling:

  cplex.getStatus();

The returned value tells you what CPLEX found out about the model: whether it found the optimal solution or only a feasible solution, whether it proved the model to be unbounded or infeasible, or whether nothing at all has been determined at this point. Even more detailed information about the termination of the solve call is available through method IloCplex::getCplexStatus().


Previous Page: Creating a Model - IloModel  Return to Top Next Page: Querying Results