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.

Choosing an OptimizerSolving the extracted model with <strong>ILOG</strong> <strong>CPLEX</strong> involves solving one or a series ofcontinuous relaxations:◆Only one continuous relaxation needs to be solved if the extracted model is continuousitself, that is, if it does not contain integer variables, Boolean variables, semi-continuousor semi-integer variables, logical constraints, special ordered sets (SOS), or piecewiselinear functions. Solving LPs: Simplex Optimizers on page 171 and Solving LPs: BarrierOptimizer on page 197 discuss the algorithms available for solving LPs. Similarly,Solving Problems with a Quadratic Objective (QP) on page 227, discusses thealgorithms available for solving QPs. Solving Problems with Quadratic Constraints(QCP) on page 239 re-introduces the barrier optimizer in the context of quadraticallyconstrained programming problems (QCPs). Using Piecewise Linear Functions inOptimization: a Transport Example on page 337 introduces piecewise-linear functionsthrough a transportation example. Logical Constraints in Optimization on page 349introduces logical constraints, and chapters following it offer examples.◆ In all other cases, the extracted problem that <strong>ILOG</strong> <strong>CPLEX</strong> sees is indeed a MIP and, ingeneral, a series of continuous relaxations needs to be solved. The methodcplex.isMIP returns IloTrue in such a case. Solving Mixed Integer ProgrammingProblems (MIP) on page 255 discusses the algorithms applied.The optimizer option used for solving the first continuous relaxation (whether it is the onlyone or just the first in a series of problems) is controlled by setting the root algorithmparameter:cplex.setParam(IloCplex::RootAlg, alg);where alg is a member of the nested enumeration IloCplex::Algorithm.As a nested enumeration, the fully qualified names that must be used in the program areIloCplex::Primal, IloCplex::Dual, and so on. Table 1.2 displays the meaning of theoptimizer options defined by IloCplex::Algorithm.The choice Sifting is not available for QP models. Only the Barrier option is availablefor QCP models. Table 1.3 on page 54 summarizes these options.<strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL 53

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

Saved successfully!

Ooh no, something went wrong!