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.

Applying HeuristicsPeriodically during the branch & cut algorithm, <strong>ILOG</strong> <strong>CPLEX</strong> may apply a heuristicprocess that attempts to compute an integer solution from available information, such as thesolution to the relaxation at the current node. This activity does not replace the branchingsteps, but sometimes is able to inexpensively locate a new feasible solution sooner than bybranching, and a solution found in this way is treated in the same way as any other feasiblesolution. At intervals in the tree, new cuts beyond those computed at the root node may alsobe added to the problem.When an Integer Solution Is Found: the IncumbentAfter <strong>ILOG</strong> <strong>CPLEX</strong> finds an integer solution, it does the following:◆◆◆It makes that integer solution the incumbent solution and that node the incumbent node.It makes the value of the objective function at that node (modified by the objectivedifference parameter) the new cutoff value.It prunes from the tree all subproblems for which the value of the objective function is nobetter than the incumbent.Controlling Strategies: Diving and BacktrackingYou control the path that <strong>CPLEX</strong> traverses in the tree through several parameters, assummarized in Table 14.5.Table 14.5 Parameters for Controlling Branch & Cut StrategyInteractive OptimizerCommandConcert TechnologyIlo<strong>CPLEX</strong> MethodCallable Library Routineset mip strategybacktrackset mip strategynodeselectset mip strategyvariableselectset mip strategybbintervalset mip strategybranchsetParam(BtTol, n) CPXsetdblparam(env, CPX_PARAM_BTTOL, n)setParam(NodeSel, i) CPXsetintparam(env, CPX_PARAM_NODESEL, i)setParam(VarSel, i) CPXsetintparam(env, CPX_PARAM_VARSEL, i)setParam(BBInterval, i) CPXsetintparam(env, CPX_PARAM_BBINTERVAL, i)setParam(BrDir, i) CPXsetintparam(env, CPX_PARAM_BRDIR, i)During the branch & cut algorithm, <strong>ILOG</strong> <strong>CPLEX</strong> may choose to continue from the presentnode and dive deeper into the tree, or it may backtrack (that is, begin a new dive fromelsewhere in the tree). The value of the backtrack parameter, BtTol, influences thisdecision, in terms of the relative degradation of the objective function caused by the<strong>ILOG</strong> <strong>CPLEX</strong> <strong>11.0</strong> — USER’ S MANUAL 267

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

Saved successfully!

Ooh no, something went wrong!