Lecture 11
Lecture 11
Describing conv(S)
For Example
• Our discussions of branch and bound has so far focused on the use of
three basic bounding methods.
– LP relaxation
– Lagrangian relaxation
– Combinatorial relaxation
• Branch and bound is fundamentally based on the dynamic generation
and imposition of valid disjunctions.
• We will now show how disjunctions can also be exploited to generate
inequalities valid for conv(S).
Computational MILP Lecture 11 4
Cutting Planes
• Recall that the inequality denoted by (π, π0) is valid for a polyhedron P
if πx ≤ π0 ∀x ∈ P.
• The term cutting plane usually refers to an inequality valid for conv(S),
but which is violated by the solution obtained by solving the (current)
LP relaxation.
• Cutting plane methods attempt to improve the bound produced by the LP
relaxation by iteratively adding cutting planes to the initial LP relaxation.
• Adding such inequalities to the LP relaxation may improve the bound
(this is not a guarantee).
• Note that when π and π0 are integer, then π, π0 is a split disjunction for
which X2 = ∅.
Computational MILP Lecture 11 5
Questions to be Answered
• There are a number of different points of view from which one can derive
the standard methods used to generate cutting planes for general MILPs.
• As we have seen before, there is an algebraic point of view and a
geometric point of view.
• Algebraic:
– Take combinations of the known valid inequalities.
– Use rounding to produce stronger ones.
• Geometric:
– Use a disjunction (as in branching) to generate several disjoint
polyhedra whose union contains S.
– Generate inequalities valid for the convex hull of this union.
• Although these seem like very different approaches, they turn out to be
very closely related.
Computational MILP Lecture 11 10
uAx ≤ ub, u ∈ Rm
+.
1
The pathological case occurs when one or more variables have no explicit upper bound and both the
primal and dual problems are infeasible.
Computational MILP Lecture 11 11
• All inequalities valid for P are also valid for conv(S), but they are not
cutting planes.
• We can do better.
• We need the following simple principle: if a ≤ b and a is an integer, then
a ≤ bbc.
• Believe it or not, this simple fact is all we need to generate all valid
inequalities for conv(S)!
Computational MILP Lecture 11 12
Chvátal Inequalities
Chvátal-Gomory Inequalities
uAI − vI ∈ Zp
uAC − vC = 0
so
vi ≥ αi − bαic for 0 ≤ i ≤ p
v i = πi ≥ 0 for p + 1 ≤ i ≤ n
n
P
Proposition 1. Let S = {x ∈ Z | j∈N aj xj ≤ b}, where aj ∈ Z
∈ N , and let k = gcd{a1, . . . , an}. Then conv(S) = {x ∈
for j P
Rn | j∈N (aj /k)xj ≤ bb/kc}.
Computational MILP Lecture 11 18
Gomory Inequalities
• Let’s consider T , the set of solutions to a pure ILP with one equation:
Xn
T = x ∈ Zn+ aj xj = a0
j=1
Pn
• Since j=1 fj xj ≥ 0 and f0 < 1, then k ≥ 0 and so
n
X
fj xj ≥ f0
j=1
• Gomory cutting planes can also be derived directly from the tableau while
solving an LP relaxation.
• Consider the set
(x, s) ∈ Zn+m
+ | Ax + Is = b
n
X m
X
(λAj )xj + λisi = λb,
j=1 i=1
n
X m
X
(λAj − bλAj c)xj + (λi − bλic)si ≥ λb − bλbc.
j=1 i=1
• We will show that this Gomory cut is equivalent to the C-G inequality
with weights ui = λi − bλic.
Computational MILP Lecture 11 21
• To show the Gomory cut is a C-G cut, we first apply the C-G procedure
directly to the tableau row, resulting in the inequality
n
X m
X
bλAj cxj + bλicsi ≤ bλbc.
j=1 i=1
• Note that we can also obtain this inequality by adding the Gomory cut
and the original tableau row.
• Now, we substitute out the slack variables using the equation
s = b − Ax.
to obtain
n m
! m
X X X
bλAj c − bλicaij xj ≤ bλbc − bλicbi,
j=1 i=1 i=1
Computational MILP Lecture 11 22
n m
! m
X X X
(λi − bλic)aij xj ≤ (λi − bλic)bi,
j=1 i=1 i=1
• Consider a row of the tableau in which the value of the basic variable is
not an integer.
• Applying the procedure from the last slide, the resulting inequality will
only involve nonbasic variables and will be of the form
X
fj xj ≥ f0
j∈N B
• Under mild assumptions on the algorithm used to solve the LP, this yields
a general algorithm for solving (pure) ILPs.
Computational MILP Lecture 11 25
shown in Table 2.
Basic var. x1 x2 s1 s2 s3 RHS
x2 0 1 -2/30 8/30 0 16/3
s3 0 0 -1/3 1/3 1 2/3
x1 1 0 8/30 -2/30 0 17/3
Table 1: Optimal tableau of the LP relaxation
28 8 1
s 1 + s2 ≥ ,
30 30 3
2 1 2
s1 + s2 ≥ ,
3 3 3
8 28 2
s 1 + s2 ≥ ,
30 30 3
• The C-G rank denoted r(π, π0) of an inequality (π, π0) valid for P is
defined recursively as follows.
– All inequalities valid for the elementary closure P 1 = e(P) are rank 1.
– The polyhedron P 2 = e(P 1) is the rank 2 closure—inequalities valid
for it that are not rank 1 are rank 2 inequalities.
– An inequality is rank k if it is valid for the rank k closure P k = e(P k−1)
and not for P k−1.
• The C-G rank of P is the maximum rank of any facet-defining inequality
of conv(S).
Computational MILP Lecture 11 33
for x ∈ S1 ∪ S2.
• In fact, all valid inequalities for the union of two polyhedra can be
obtained in this way.
X fj X (1 − fj )
xj − xj ≥ 1
f0 f0
j:fj ≤f0 j:fj >f0
OR
X fj X (1 − fj )
− xj + xj ≥ 1
(1 − f0) (1 − f0)
j:fj ≤f0 j:fj >f0
Computational MILP Lecture 11 35
• Let’s consider how to generate mixed integer Gomory cuts from the
tableau when solving an MILP of the form
Q = {x ∈ Zp+ × Rn−p
+ | Ax ≤ b}.
1 8
s1 + s2 ≥ 1,
10 10
4 2
s1 + s2 ≥ 1,
10 10
T = (x, s) ∈ Zn+m | Ax + Is = b, xN ≥ 0, sN ≥ 0 ,
Figure 3: The corner polyhedron associated with the optimal basis of the
LP relaxation of the earlier example.
Computational MILP Lecture 11 43
First Iteration
x2 + 0.3s2 − 0.4s3
• Note that for purposes of illustration, we are explicitly included the bound
constraints in the tableau.
• The GMI is
0.6s2 + 0.8s3 ≥ 1
Second Iteration
Third Iteration
The solution in the third iteration is (2, 3.7273) and the cut is −14.3x1 −
11.7333x2 ≤ −73.3333.
Computational MILP Lecture 11 48
Further Iterations
Further Iterations
Split Inequalities
P1 = P ∩ {x ∈ Rn | α>x ≤ β}
P2 = P ∩ {x ∈ Rn | α>x ≥ β + 1}
• Any inequality valid for conv(P1 ∪ P2) is valid for S and is called a split
inequality.
Computational MILP Lecture 11 51
max πx̂ − π 0
s.t. π ≤ uA + u0α,
π ≤ vA − v 0α,
π 0 ≥ ub + u0β,
π 0 ≥ vb − v0(β + 1), (SCGLP)
m
X m
X
ui + u0 + vi + v0 = 1
i=1 i=1
u, u0, v, v0 ≥ 0
α ∈ Zn
β∈Z
• The separation problem is a mixed integer nonlinear optimization
problem, however, and is not easy to solve.
Computational MILP Lecture 11 52
• Download http://miplib.zib.de/download/miplib2010-1.1.2-benchmark
zip
• Try solving some instances with and without cutting planes using Cbc.
• Experient with particular classes of cuts.
• A link to instructions for how to use Cbc on the command line is provided
on the course page.