Cutting GG
Cutting GG
Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes
October 2021
Ideal Formulations
Example
Example
Example
Example
Example
Example cont’d
Example cont’d
Example cont’d
Example cont’d
Example LP Regions
max 2x1 + x2
subject to
x2 ≤ x1
6x1 + 2x2 ≤ 21
where x1 , x2 ≥ 0 and integer. (see figure on the next page)
max 2x1 + x2
subject to
x2 ≤ x1
6x1 + 2x2 ≤ 21
where x1 , x2 ≥ 0 and integer. (see figure on the next page)
I The set of integer feasible solutions here is
X = {(0, 0), (1, 0), (2, 0), (3, 0), (1, 1), (2, 1), (3, 1), (2, 2)}
max 2x1 + x2
subject to
x2 ≤ x1
6x1 + 2x2 ≤ 21
where x1 , x2 ≥ 0 and integer. (see figure on the next page)
I The set of integer feasible solutions here is
X = {(0, 0), (1, 0), (2, 0), (3, 0), (1, 1), (2, 1), (3, 1), (2, 2)}
I One of these points is optimal (or perhaps more than one but
we are not interested in this possibility).
M. Ç. Pınar IE303 Solving Models with Integer Variables
Outline
Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes
Example
Example cont’d
I We can give another formulation P2 containing X :
max 2x1 + x2
subject to
x2 ≤ x1
3x1 + x2 ≤ 10
where x1 , x2 ≥ 0 and integer.
Example cont’d
I We can give another formulation P2 containing X :
max 2x1 + x2
subject to
x2 ≤ x1
3x1 + x2 ≤ 10
where x1 , x2 ≥ 0 and integer.
I The LP relaxation of P2 is “better” than that of P. Why?
Example cont’d
I We can give another formulation P2 containing X :
max 2x1 + x2
subject to
x2 ≤ x1
3x1 + x2 ≤ 10
where x1 , x2 ≥ 0 and integer.
I The LP relaxation of P2 is “better” than that of P. Why?
I Because LP(P2) contains X and is contained in LP(P)!
Example cont’d
I We can give another formulation P2 containing X :
max 2x1 + x2
subject to
x2 ≤ x1
3x1 + x2 ≤ 10
where x1 , x2 ≥ 0 and integer.
I The LP relaxation of P2 is “better” than that of P. Why?
I Because LP(P2) contains X and is contained in LP(P)!
I So there is a hierarchy of formulations for a given X : there is
also a best formulation called the ideal formulation.
M. Ç. Pınar IE303 Solving Models with Integer Variables
Outline
Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes
max 2x1 + x2
subject to
x2 ≤ x1
x1 + x2 ≤ 4
x1 ≤ 3
where x1 , x2 ≥ 0 and integer.
max 2x1 + x2
subject to
x2 ≤ x1
x1 + x2 ≤ 4
x1 ≤ 3
where x1 , x2 ≥ 0 and integer.
max 2x1 + x2
subject to
x2 ≤ x1
x1 + x2 ≤ 4
x1 ≤ 3
where x1 , x2 ≥ 0 and integer.
I Every extreme point of LP(P3) is an element of X . (see figure
below)
M. Ç. Pınar IE303 Solving Models with Integer Variables
Outline
Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes
S = {(0, 0, 0, 0, 0), (1, 0, 0, 0, 0), (0, 1, 0, 0, 0), (0, 0, 1, 0, 0), (0, 0, 0, 1, 0),
(0, 0, 0, 0, 1), (1, 1, 0, 0, 0), (1, 0, 1, 0, 0), (1, 0, 0, 1, 0),
(1, 0, 0, 0, 1), (0, 1, 1, 0, 0), (0, 1, 0, 1, 0), (0, 1, 0, 0, 1),
(0, 0, 1, 1, 0), (0, 0, 1, 0, 1), (0, 0, 0, 1, 1), (1, 1, 1, 0, 0),
(1, 1, 0, 0, 1), (1, 0, 1, 1, 0), (1, 0, 1, 0, 1), (1, 0, 0, 1, 1),
(0, 1, 1, 1, 0), (0, 1, 1, 0, 1), (0, 1, 0, 1, 1), (0, 0, 1, 1, 1),
(1, 1, 1, 0, 1), (1, 0, 1, 1, 1), (0, 1, 1, 1, 1)}
subject to
m
X
xij = 1, ∀i = 1, . . . , n
j=1
xij ≤ yj , ∀i = 1, . . . , n, j = 1, . . . , m
xij ≥ 0, ∀i = 1, . . . , n, yj ∈ {0, 1}, j = 1, . . . , m,
3x1 + x2 ≤ 21/2.
3x1 + x2 ≤ 21/2.
3x1 + x2 ≤ 21/2.
2x1 + x2 ≤ 10
x1 + x2 + 2x3 + 3x4 ≤ 8
x2 + x3 + 2x4 ≤ 6
a VI for X ? Is it a CP for P?
An Example
z IP = min −x1 − x2
subject to
2x1 + 5x2 ≤ 20
3x1 + 4x2 ≤ 17
x1 , x2 ≥ 0, integer.
An Example
z IP = min −x1 − x2
subject to
2x1 + 5x2 ≤ 20
3x1 + 4x2 ≤ 17
x1 , x2 ≥ 0, integer.
I We solve the LP relaxation (ignoring the integer requirement)
using the tableau simplex method to get the optimal tableau
in the next slide.
Example cont’d
I We see from the optimal tableau that z = −71/14, the basic
variables are x1 , x2 with values 23/7, 25/14, resp.
Example cont’d
I We see from the optimal tableau that z = −71/14, the basic
variables are x1 , x2 with values 23/7, 25/14, resp.
I Recall that the top row of the tableau is called Row 0, while
the other rows are Row 1 and Row 2 in the example.
Example cont’d
I We see from the optimal tableau that z = −71/14, the basic
variables are x1 , x2 with values 23/7, 25/14, resp.
I Recall that the top row of the tableau is called Row 0, while
the other rows are Row 1 and Row 2 in the example.
I Let us write Row 1 and Row 2 in the format
X
(xB )i + hj xj = fi
j∈N
Example cont’d
I We see from the optimal tableau that z = −71/14, the basic
variables are x1 , x2 with values 23/7, 25/14, resp.
I Recall that the top row of the tableau is called Row 0, while
the other rows are Row 1 and Row 2 in the example.
I Let us write Row 1 and Row 2 in the format
X
(xB )i + hj xj = fi
j∈N
I This gives
x2 + 2/7x3 − 1/7x4 = 23/7
x1 − 3/14x3 + 5/14x4 = 25/14
I To get X
(xB )i + bhj cxj ≤ bfi c
j∈N
Figure: The LP feasible region and the Gomory cut (blue one), resolving
LP will give the integer optimum (2, 3) the blue dot in the figure, with
value 5. One pivot of dual simplex is sufficient.
is a VI for BKP.
is a VI for BKP.
I An extended cover inequality is “stronger” than a cover
inequality (if E (C ) \ C 6= ∅). Recall that there is a hierarchy
among VIs, some are stronger than others.
M. Ç. Pınar IE303 Solving Models with Integer Variables
Outline
Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes
x1 + x2 + x3 + x4 + x5 ≤ 3
(1, 0, 1, 1/2, 1)
(1, 0, 1, 1/2, 1)
x1 + x2 + x3 + x4 + x5 ≤ 3
dominates
x1 + x3 + x4 + x5 ≤ 3
x1 + x2 + x3 + x4 + x5 ≤ 3
dominates
x1 + x3 + x4 + x5 ≤ 3
I So when we add x1 + x2 + x3 + x4 + x5 ≤ 3, the inequality
x1 + x3 + x4 + x5 ≤ 3 is redundant. You can throw that one
away from the LP relaxation.
M. Ç. Pınar IE303 Solving Models with Integer Variables
Outline
Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes
subject to
4x1 + 8x2 + 3x3 + 6x4 + 5x5 ≤ 15
x1 + x2 + x3 + x4 + x5 ≤ 3
x1 + x2 + x3 + x5 ≤ 3
0 ≤ x1 , x2 , x3 , x4 , x5 ≤ 1
.
M. Ç. Pınar IE303 Solving Models with Integer Variables
Outline
Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes
HW Exercise I
z IP = min −x1 − x2
subject to
2x1 + 5x2 ≤ 20
3x1 + 4x2 ≤ 17
x1 , x2 ≥ 0, integer.
HW Exercise II
Find three Gomory Fractional CPs for the following integer
optimization problem after solving the LP and forming the optimal
tableau (first pass to equality form by adding slack variables):
z IP = max 7x1 + x2
subject to
−x1 + 2x2 ≤ 4
5x1 + x2 ≤ 20
−2x1 − 2x2 ≤ −7
x1 , x2 ≥ 0, integer.
HW Exercise III