ILOG CPLEX 11.0 User's Manual > Languages and APIs > ILOG Concert Technology for Java Users > More Solution Information > Infeasible Solution Information |
Infeasible Solution Information |
INDEX PREVIOUS NEXT |
An important feature of ILOG CPLEX is that even if no feasible solution has been found, (that is, if cplex.solve
returns false
), some information about the problem can still be queried. All the methods discussed so far may successfully return information about the current (infeasible) solution that ILOG CPLEX maintains.
Unfortunately, there is no simple comprehensive rule about whether or not current solution information can be queried. This is because by default, ILOG CPLEX uses a presolve procedure to simplify the model. If, for example, the model is proven to be infeasible during the presolve, no current solution is generated by the optimizer. If, in contrast, infeasibility is only proven by the optimizer, current solution information is available to be queried. The status returned by calling cplex.getCplexStatus
may help you decide which case you are facing, but it is probably safer and easier to include the methods for querying the solution within try / catch
statements.
The method IloCplex.isPrimalFeasible
can be called to learn whether a primal feasible solution has been found and can be queried. Similarly, the method IloCplex.isDualFeasible
can be called to learn whether a dual feasible solution has been found and can be queried.
When an LP has been proven to be infeasible, ILOG CPLEX provides assistance for investigating the cause of the infeasibility through two different approaches: the conflict refiner and FeasOpt.
One approach, invoked by the method IloCplex.refineConflict
, computes a minimal set of conflicting constraints and bounds and reports them to you for you to take action to remove the conflict from your infeasible model. For more about this approach, see Diagnosing Infeasibility by Refining Conflicts.
Another approach to consider is the method IloCplex.feasOpt
to explore whether there are modifications you can make that would render your model feasible. Repairing Infeasibility: FeasOpt explains that feature of ILOG CPLEX more fully, with examples of its use.
Copyright © 1987-2007 ILOG S.A. All rights reserved. Legal terms. | PREVIOUS NEXT |