Lecture 10
Lecture 10
Branching
Split Disjunctions
• The most easily handled disjunctions are those based on dividing the
feasible region using a given hyperplane.
• In such cases, each term of the disjunction can be imposed by addition
of a single inequality.
• A hyperplane defined by a vector π ∈ Rn is said to be integer if πi ∈ Z
for 0 ≤ i ≤ p and πi = 0 for p + 1 ≤ i ≤ n.
• Note that if π is integer, then we have π >x ∈ Z whenever x ∈ Zp ×Rn−p.
• Then the disjunction defined by
is valid when π0 ∈ Z.
• This is known as a split disjunction.
Computational MILP Lecture 10 6
Variable Disjunctions
xj = 0 OR xj = 1
Other Disjunctions
• Is this better?
Computational MILP Lecture 10 13
Logical Disjunctions
yi = 1,
yi = 0 and πx ≤ π0.
Strong Branching
Pseudocost Branching
Dj+ = Pj+(1 − fj )
Dj− = Pj−fj ,
Pseudocost Initialization
Reliability Branching
x1 ≤ 0 x1 ≥ 1 x2 ≤ 0 x2 ≥ 1 x3 ≤ 0 x3 ≥ 1
100 100 10 30 70 80
Comparing Candidates
x1 ≤ 0 x1 ≥ 1 x2 ≤ 0 x2 ≥ 1 x3 ≤ 0 x3 ≥ 1
100 −∞ 10 50 40 40
• Possible metrics (z̃1, z̃2, . . . z̃r are the estimates for r children of a
candidate):
– max
P z̃i
– i z̃i /r
– maxi z̃i − mini z̃i
– α1 maxi z̃i + α2 mini z̃i
Computational MILP Lecture 10 22
Comparing Candidates
Local Branching
for small k.
• Is this a valid rule?
• Which child is easier to solve?
• For full details, see Local Branching by Fischetti and Lodi.
• We will discuss this and other methods when we talk about primal
heuristics.
Computational MILP Lecture 10 24