Download AMPL CPLEX 9.0 User Guide
Transcript
The strongcand directive controls the size of the candidate list for strong branching. The strongit parameter limits the number of iterations performed on each branch in strong branching. The default setting of i2=0, which allows CPLEX to determine the iteration parameter, will generally suffice. You can use low values of i1 and i2 if the time per strong branching node appears excessive; you may reduce the time per node yet still maintain the performance. Conversely, if the time per node is reasonable but CPLEX makes limited progress, consider increasing the values. Users of parallel CPLEX can control the number of threads used in strong branching using the strongthreads directive. varselect=i (default 0) Once a node has been selected for branching, this directive determines how CPLEX chooses a fractional-valued variable to branch on. By default (i=0) the choice is made by an internal heuristic based on the problem and its progress. The maximum infeasibility rule (i=1) chooses the variable with the largest fractional part. This forces larger changes earlier in the tree, but it tends to disregard the objective function in doing so. The minimum infeasibility rule (i= -1) chooses the variable with the smallest fractional part. This may lead more quickly to a first integer feasible solution, but will usually be slower overall to reach the optimal integer solution. A pseudocost rule (i=2) estimates the worsening of the objective that will result by forcing each fractional variable to an adjacent integer, and uses these "degradations" in an internal heuristic for choosing a variable to branch on. This setting tends to be most effective when the problem embodies complex tradeoffs, and the dual variables have an economic interpretation. Strong branching (i=3) considers several different branches by actually solving subproblems for different choices of branching variable. The variable yielding the best results is then chosen. Strong branching requires more time for each node, but usually fewer nodes to solve the problem. This strategy works especially well on binary problems where the number of binary variables is significantly greater than the number of rows. It is also useful when memory is limited: creating fewer nodes requires less memory. Pseudo reduced costs (i=4) are related to pseudocosts (i=2) but are less expensive to compute. They may therefore be advantageous on models whose LP relaxation contains many hundreds or thousands of fractional variables that are potentially to be branched upon. ILOG AMPL CPLEX SYSTEM 9.0 — USER’S GUIDE 59