12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Other forms of avoiding under-constrained conditions, such as adding a constraint thatlimits the sum of all variables, are also possible.If an unbounded solution is not possible in the physical system you are modeling, thenadding finite lower and upper bounds or adding other constraints may represent somethingrealistic about the system that is worth expressing in the model anyway. However, great careshould be taken to assign meaningful bounds, in cases where it is not possible to be certainwhat the actual bounds should be. If you happen to select bounds that are tighter than anoptimal solution would obtain, then you can get a solution of worse objective function valuethan you want. On the other hand, picking extremely large numbers for bounds (just to besafe) carries some risk, too: on a finite-precision computer, even a bound of one billion mayintroduce numeric instability and cause the optimizer to solve less rapidly or not to convergeto a solution at all, or may result in solutions that satisfy tolerances but contain smallinfeasibilities.Diagnosing UnboundednessYou may be able to diagnose the cause of unboundedness by examining the output fromthe optimizer that detected the unboundedness. For example, if the presolve step at thebeginning of optimization made a series of reductions and then stopped with a message likethis:Primal unbounded due to dual bounds, variable 'x1'.it makes sense to look at your formulation, paying particular attention to variable x1 and itsinteractions. Perhaps x1 never intersects less-than-or-equal-to constraints with a positivecoefficient (or, greater-than-or-equal-to constraints with a negative coefficient), and byinspection you can see that nothing prevents x1 from going to infinity.Similarly, the primal simplex optimizer may terminate with a message like this:Diverging variable = x2In such a case, you should focus attention on x2. (The dual simplex and barrier optmizerswork differently than primal; they do not detect unboundedness in this way.) Unfortunately,the variable which is reported in one of these ways may or may not be a direct cause of theunboundedness, because of the many algebraic manipulations performed by the optimizeralong the way.An approach to diagnosis that is related to the technique discussed in AvoidingUnboundedness on page 388 is to temporarily assign finite bounds to all variables. Bysolving the modified model and discovering which variables have solution values at theseartificial bounds, you may be able to trace the cause through the constraints involving thosevariables.Since an unbounded outcome means that an unbounded ray exists, one approach todiagnosis is to display this ray. In Concert Technology, use the method getRay; in the<strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL 389

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!