Calling cplex.solve()
returns a boolean indicating whether or not a feasible solution (but not necessarily the optimal one) has been found. To obtain more of the information about the model that CPLEX found during the call to the solve()
method, cplex.getStatus
() can be called. It returns a member of the nested enumeration type:
enum IloAlgorithm::Status { Unknown, Feasible, Optimal, Infeasible, Unbounded, InfeasibleOrUnbounded, Error }; |
Notice that the fully qualified names have the IloAlgorithm
prefix. Table 1.3 shows what the possible return statuses mean for the extracted model.
As can be seen, these statuses indicate information about the model that the CPLEX optimizer was able to prove during the last call to method solve
(). In addition, the CPLEX optimizer provides information about how it terminated. For example, it may have terminated with only a feasible but not optimal solution because it hit a limit or because a user callback terminated the optimization. Such information is accessible by calling method cplex.getCplexStatus()
, which returns a member of the nested enumeration type IloCplex::Status
. For more information about those statuses see the ILOG CPLEX Reference Manual.