0% found this document useful (0 votes)
74 views152 pages

Cutting GG

The document discusses ideal formulations for integer optimization problems. An ideal formulation contains all feasible integer points (X) and its linear programming relaxation has extreme points that are all in X. The document provides an example problem with three formulations: IP1, IP2, and IP3. IP3 is identified as the ideal formulation because its LP relaxation is the smallest and only contains points in X. Cutting plane methods aim to strengthen weaker formulations to move them closer to an ideal formulation.

Uploaded by

Gizem Bumin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views152 pages

Cutting GG

The document discusses ideal formulations for integer optimization problems. An ideal formulation contains all feasible integer points (X) and its linear programming relaxation has extreme points that are all in X. The document provides an example problem with three formulations: IP1, IP2, and IP3. IP3 is identified as the ideal formulation because its LP relaxation is the smallest and only contains points in X. Cutting plane methods aim to strengthen weaker formulations to move them closer to an ideal formulation.

Uploaded by

Gizem Bumin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 152

Outline

Ideal Formulations
Valid Inequalities and Cutting Planes
Generating Valid Inequalities and Cutting Planes
The Gomory Fractional Cutting Plane Algorithm
Problem Specific Cutting Planes

Cutting Planes for Solving Integer Optimization


Problems

Mustafa Ç. Pınar


Bilkent University
IE 303, Chapter 2: Lecture 3

October 2021

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

Ideal Formulations

Valid Inequalities and Cutting Planes

Generating Valid Inequalities and Cutting Planes

The Gomory Fractional Cutting Plane Algorithm

Problem Specific Cutting Planes

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

What is an ideal formulation?


I An integer optimization problem is usually given as a
formulation P:
X n
max(min) cj xj
j=1
subject to
n
X
aij xj ≤ bi , i = 1, . . . , m
j=1
where xj ≥ 0 and integer j = 1, . . . , n.

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

What is an ideal formulation?


I An integer optimization problem is usually given as a
formulation P:
X n
max(min) cj xj
j=1
subject to
n
X
aij xj ≤ bi , i = 1, . . . , m
j=1
where xj ≥ 0 and integer j = 1, . . . , n.
I However, there is usually a finite number of integer feasible
points in this formulation. Denote the set of feasible integer
points by X . We do not know X , only given P. There can be
other formulations different from P containing X .
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

I Consider the following three formulations for an integer


optimization problem.

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

I Consider the following three formulations for an integer


optimization problem.
I IP1: 2y1 + 2y2 ≤ 3, y1 , y2 non-negative integer.

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

I Consider the following three formulations for an integer


optimization problem.
I IP1: 2y1 + 2y2 ≤ 3, y1 , y2 non-negative integer.
I IP2: 3y1 + 2y2 ≤ 3, y1 , y2 non-negative integer.

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

I Consider the following three formulations for an integer


optimization problem.
I IP1: 2y1 + 2y2 ≤ 3, y1 , y2 non-negative integer.
I IP2: 3y1 + 2y2 ≤ 3, y1 , y2 non-negative integer.
I IP3: y1 + y2 ≤ 1, y1 , y2 non-negative integer.

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

I Consider the following three formulations for an integer


optimization problem.
I IP1: 2y1 + 2y2 ≤ 3, y1 , y2 non-negative integer.
I IP2: 3y1 + 2y2 ≤ 3, y1 , y2 non-negative integer.
I IP3: y1 + y2 ≤ 1, y1 , y2 non-negative integer.
I What are the integer points? In each, the same integer points
are present:
X = {(0, 0), (1, 0), (0, 1)}
See figure in the next page.

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 cont’d

I We say IP2 is a better formulation than IP1 because


LP(IP2)⊂LP(IP1).

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 cont’d

I We say IP2 is a better formulation than IP1 because


LP(IP2)⊂LP(IP1).
I We say IP3 is a better formulation than IP2 because
LP(IP3)⊂LP(IP2).

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 cont’d

I We say IP2 is a better formulation than IP1 because


LP(IP2)⊂LP(IP1).
I We say IP3 is a better formulation than IP2 because
LP(IP3)⊂LP(IP2).
I In fact, IP3 is the best or ideal formulation because all
extreme points of its LP relaxation are points from X .

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 cont’d

I We say IP2 is a better formulation than IP1 because


LP(IP2)⊂LP(IP1).
I We say IP3 is a better formulation than IP2 because
LP(IP3)⊂LP(IP2).
I In fact, IP3 is the best or ideal formulation because all
extreme points of its LP relaxation are points from X .
I The ideal formulation is the one that contains all points of X
and the extreme points of the LP relaxation are all from X .

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 LP Regions

Figure: Example LP feasible regions with X : LP(IP1) is ADE, LP(IP2) is


ADC, LP(IP3) is ABC
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

What is an ideal formulation II?


I Let us look at an example:

max 2x1 + x2
subject to
x2 ≤ x1
6x1 + 2x2 ≤ 21
where x1 , x2 ≥ 0 and integer. (see figure on the next page)

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

What is an ideal formulation II?


I Let us look at an example:

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)}

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

What is an ideal formulation II?


I Let us look at an example:

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

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 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.

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 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?

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 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)!

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 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

Ideal Formulation of Example

I The ideal formulation is called the the convex hull of X : it is


the smallest (polyhedral) convex set containing all points in X .

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

Ideal Formulation of Example

I The ideal formulation is called the the convex hull of X : it is


the smallest (polyhedral) convex set containing all points in X .
I A polyhedral convex set is the solution set of a finite number
of linear inequalities: aiT x ≤ bi , i = 1, . . . , m

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

Ideal Formulation of Example

I The ideal formulation is called the the convex hull of X : it is


the smallest (polyhedral) convex set containing all points in X .
I A polyhedral convex set is the solution set of a finite number
of linear inequalities: aiT x ≤ bi , i = 1, . . . , m
I In general, a set X is convex if for any x, y ∈ X and
α ∈ [0, 1], we have αx + (1 − α)y ∈ X .

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

Ideal Formulation of Example

I The ideal formulation is called the the convex hull of X : it is


the smallest (polyhedral) convex set containing all points in X .
I A polyhedral convex set is the solution set of a finite number
of linear inequalities: aiT x ≤ bi , i = 1, . . . , m
I In general, a set X is convex if for any x, y ∈ X and
α ∈ [0, 1], we have αx + (1 − α)y ∈ X .
I To find the convex hull of a finite number of points is in
general very difficult.

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 Ideal Formulation

Figure: Convex hull of some integer points in two-dimensional plane

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

Ideal Formulation of Example


I We can find the ideal formulation for the example P3:

max 2x1 + x2

subject to
x2 ≤ x1
x1 + x2 ≤ 4
x1 ≤ 3
where x1 , x2 ≥ 0 and integer.

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

Ideal Formulation of Example


I We can find the ideal formulation for the example P3:

max 2x1 + x2

subject to
x2 ≤ x1
x1 + x2 ≤ 4
x1 ≤ 3
where x1 , x2 ≥ 0 and integer.

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

Ideal Formulation of Example


I We can find the ideal formulation for the example P3:

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

Example 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

An Example from Binary Knapsack Problem

Consider the following knapsack set S ∈ B5

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)}

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

An Example from Binary Knapsack Problem II

I We consider two LP formulations for S:

P1 = {y ∈ R5 : 13y1 +21y2 +4y3 +17y4 +4y5 ≤ 47, 0 ≤ y ≤ 1}

P2 = {y ∈ R5 : 3y1 + 3y2 + y3 + 3y4 + y5 ≤ 8, 0 ≤ y ≤ 1}


(Verify that all 28 points in S satisfy both P1 and P2
constraints.)

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

An Example from Binary Knapsack Problem II

I We consider two LP formulations for S:

P1 = {y ∈ R5 : 13y1 +21y2 +4y3 +17y4 +4y5 ≤ 47, 0 ≤ y ≤ 1}

P2 = {y ∈ R5 : 3y1 + 3y2 + y3 + 3y4 + y5 ≤ 8, 0 ≤ y ≤ 1}


(Verify that all 28 points in S satisfy both P1 and P2
constraints.)
I We claim that P2 is a “better” formulation than P1 .

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

An Example from Binary Knapsack Problem II

I We consider two LP formulations for S:

P1 = {y ∈ R5 : 13y1 +21y2 +4y3 +17y4 +4y5 ≤ 47, 0 ≤ y ≤ 1}

P2 = {y ∈ R5 : 3y1 + 3y2 + y3 + 3y4 + y5 ≤ 8, 0 ≤ y ≤ 1}


(Verify that all 28 points in S satisfy both P1 and P2
constraints.)
I We claim that P2 is a “better” formulation than P1 .
I To prove this claim, we need to show that P2 ⊂ P1 , i.e., we
need to show all the points of P2 are also in P1 , and exhibit a
point of P1 which is not in P2

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

An Example from Binary Knapsack Problem III

I First we show that all points of P2 are in P1 . Multiply by 4


the constraint in P2 :

12y1 + 12y2 + 4y3 + 12y4 + 4y5 ≤ 32,

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

An Example from Binary Knapsack Problem III

I First we show that all points of P2 are in P1 . Multiply by 4


the constraint in P2 :

12y1 + 12y2 + 4y3 + 12y4 + 4y5 ≤ 32,

I Rewrite the constraint of P1 :

(12y1 + 12y2 + 4y3 + 12y4 + 4y5 ) + (y1 + 9y2 + 5y4 ) ≤ 47

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

An Example from Binary Knapsack Problem III

I First we show that all points of P2 are in P1 . Multiply by 4


the constraint in P2 :

12y1 + 12y2 + 4y3 + 12y4 + 4y5 ≤ 32,

I Rewrite the constraint of P1 :

(12y1 + 12y2 + 4y3 + 12y4 + 4y5 ) + (y1 + 9y2 + 5y4 ) ≤ 47

I Any point in P2 will make the first parenthesis at most 32,


and the second parenthesis at most 15. Therefore, any point
of P2 satisfies the constraint of P1 .

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

An Example from Binary Knapsack Problem IV

I Now, all we have to do is to show a point of P1 which is not


in P2 .

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

An Example from Binary Knapsack Problem IV

I Now, all we have to do is to show a point of P1 which is not


in P2 .
I Consider the point y∗ = (0.02, 1, 1, 1, 1). y∗ ∈ P1 but it is not
in P2 (as you should verify).

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

An Example from Binary Knapsack Problem IV

I Now, all we have to do is to show a point of P1 which is not


in P2 .
I Consider the point y∗ = (0.02, 1, 1, 1, 1). y∗ ∈ P1 but it is not
in P2 (as you should verify).
I Conclusion: P2 ⊂ P1 . So, P2 is a better formulation than P1
for S!

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

Simple Plant Location revisited


I Recall the “disaggregate” SPLP model (with continuous
variables xij )
Xm n X
X m
max fj yj + cij xij
j=1 i=1 j=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,

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

Simple Plant Location revisited II


I Recall now the “aggregate” SPLP model (with continuous
variables xij )
Xm n X
X m
max fj yj + cij xij
j=1 i=1 j=1
subject to
m
X
xij = 1, ∀i = 1, . . . , n
j=1
n
X
xij ≤ nyj , ∀j = 1, . . . , m
i=1
xij ≥ 0, ∀i = 1, . . . , n, yj ∈ {0, 1}, j = 1, . . . , m,

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

Simple Plant Location revisited III

I Both integer formulations are valid. However, the


disaggregate formulation is “better” than the aggregate
formulation although it has more constraints. Why?

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

Simple Plant Location revisited III

I Both integer formulations are valid. However, the


disaggregate formulation is “better” than the aggregate
formulation although it has more constraints. Why?
I Because the LP relaxation of the disaggregate LP(D) is
“tighter” than that of the aggregate LP(A)

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

Simple Plant Location revisited III

I Both integer formulations are valid. However, the


disaggregate formulation is “better” than the aggregate
formulation although it has more constraints. Why?
I Because the LP relaxation of the disaggregate LP(D) is
“tighter” than that of the aggregate LP(A)
I I.e., LP(D) ⊂ LP(A). It is easy to see this because if we sum
all inequalities xij ≤ yj over all i, we obtain ni=1 xij ≤ nyj .
P

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

Simple Plant Location revisited III

I Both integer formulations are valid. However, the


disaggregate formulation is “better” than the aggregate
formulation although it has more constraints. Why?
I Because the LP relaxation of the disaggregate LP(D) is
“tighter” than that of the aggregate LP(A)
I I.e., LP(D) ⊂ LP(A). It is easy to see this because if we sum
all inequalities xij ≤ yj over all i, we obtain ni=1 xij ≤ nyj .
P

I Therefore, any feasible point of LP(D) is feasible in LP(A).

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

Simple Plant Location revisited III

I Both integer formulations are valid. However, the


disaggregate formulation is “better” than the aggregate
formulation although it has more constraints. Why?
I Because the LP relaxation of the disaggregate LP(D) is
“tighter” than that of the aggregate LP(A)
I I.e., LP(D) ⊂ LP(A). It is easy to see this because if we sum
all inequalities xij ≤ yj over all i, we obtain ni=1 xij ≤ nyj .
P

I Therefore, any feasible point of LP(D) is feasible in LP(A).


I HW: Construct an example showing a feasible point of LP(A)
not feasible in LP(D).

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

Why Care about Ideal Formulation?


I Because in the ideal formulations every extreme point is an
integer point!

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

Why Care about Ideal Formulation?


I Because in the ideal formulations every extreme point is an
integer point!
I The simplex method always finds an optimal point which is an
extreme point

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

Why Care about Ideal Formulation?


I Because in the ideal formulations every extreme point is an
integer point!
I The simplex method always finds an optimal point which is an
extreme point
I Therefore if we solve LP(P3) by the simplex method we are
done! No need to branch or anything.

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

Why Care about Ideal Formulation?


I Because in the ideal formulations every extreme point is an
integer point!
I The simplex method always finds an optimal point which is an
extreme point
I Therefore if we solve LP(P3) by the simplex method we are
done! No need to branch or anything.
I Just solve the LP(P3):
max 2x1 + x2
subject to
0 ≤ x2 ≤ x1
x1 + x2 ≤ 4
0 ≤ x1 ≤ 3
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

Problem of Ideal Formulation

I Therefore, it would be best to find the ideal formulation for a


given integer optimization problem.

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

Problem of Ideal Formulation

I Therefore, it would be best to find the ideal formulation for a


given integer optimization problem.
I Then, we would just solve one LP, and we would be done.

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

Problem of Ideal Formulation

I Therefore, it would be best to find the ideal formulation for a


given integer optimization problem.
I Then, we would just solve one LP, and we would be done.
I Unfortunately with hundreds of variables we do not know how
to find 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

Problem of Ideal Formulation

I Therefore, it would be best to find the ideal formulation for a


given integer optimization problem.
I Then, we would just solve one LP, and we would be done.
I Unfortunately with hundreds of variables we do not know how
to find the ideal formulation.
I But all is not lost. We can tighten formulations, and get
closer to the ideal formulation even if we cannot find it.

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

Problem of Ideal Formulation

I Therefore, it would be best to find the ideal formulation for a


given integer optimization problem.
I Then, we would just solve one LP, and we would be done.
I Unfortunately with hundreds of variables we do not know how
to find the ideal formulation.
I But all is not lost. We can tighten formulations, and get
closer to the ideal formulation even if we cannot find it.
I This tightening of formulations will help us solve integer
optimization problems faster in practice.

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

Problem of Ideal Formulation

I Therefore, it would be best to find the ideal formulation for a


given integer optimization problem.
I Then, we would just solve one LP, and we would be done.
I Unfortunately with hundreds of variables we do not know how
to find the ideal formulation.
I But all is not lost. We can tighten formulations, and get
closer to the ideal formulation even if we cannot find it.
I This tightening of formulations will help us solve integer
optimization problems faster in practice.
I To do this tightening, we need the concept of cutting planes
introduced next.
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

Valid Inequalities and Cutting Planes


I A valid inequality for an integer set X is a linear inequality
Pn
j=1 πj xj ≤ π0 such that it is satisfied by every point of X .

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

Valid Inequalities and Cutting Planes


I A valid inequality for an integer set X is a linear inequality
Pn
j=1 πj xj ≤ π0 such that it is satisfied by every point of X .
I A cutting plane is a valid inequality which cuts some
fractional points of an LP relaxation of a formulation of X .

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

Valid Inequalities and Cutting Planes


I A valid inequality for an integer set X is a linear inequality
Pn
j=1 πj xj ≤ π0 such that it is satisfied by every point of X .
I A cutting plane is a valid inequality which cuts some
fractional points of an LP relaxation of a formulation of X .
I Example for formulation P above: x1 + x2 ≤ 10 is a valid
inequality. However, it is not a cutting plane for P.

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

Valid Inequalities and Cutting Planes


I A valid inequality for an integer set X is a linear inequality
Pn
j=1 πj xj ≤ π0 such that it is satisfied by every point of X .
I A cutting plane is a valid inequality which cuts some
fractional points of an LP relaxation of a formulation of X .
I Example for formulation P above: x1 + x2 ≤ 10 is a valid
inequality. However, it is not a cutting plane for P.
I However, x1 + x2 ≤ 5 is a cutting plane for P, it eliminates at
least the point (21/8, 21/8) (and some other things as well)
from P. Notice that the point (21/8, 21/8) is the optimal
solution of LP(P)!

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

Valid Inequalities and Cutting Planes


I A valid inequality for an integer set X is a linear inequality
Pn
j=1 πj xj ≤ π0 such that it is satisfied by every point of X .
I A cutting plane is a valid inequality which cuts some
fractional points of an LP relaxation of a formulation of X .
I Example for formulation P above: x1 + x2 ≤ 10 is a valid
inequality. However, it is not a cutting plane for P.
I However, x1 + x2 ≤ 5 is a cutting plane for P, it eliminates at
least the point (21/8, 21/8) (and some other things as well)
from P. Notice that the point (21/8, 21/8) is the optimal
solution of LP(P)!
I So if we add x1 + x2 ≤ 5 to P, we obtain a new formulation
containing X , but we shall not see the same optimal point
when we solve the LP relaxation of the new 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

Valid Inequalities and Cutting Planes


I A valid inequality for an integer set X is a linear inequality
Pn
j=1 πj xj ≤ π0 such that it is satisfied by every point of X .
I A cutting plane is a valid inequality which cuts some
fractional points of an LP relaxation of a formulation of X .
I Example for formulation P above: x1 + x2 ≤ 10 is a valid
inequality. However, it is not a cutting plane for P.
I However, x1 + x2 ≤ 5 is a cutting plane for P, it eliminates at
least the point (21/8, 21/8) (and some other things as well)
from P. Notice that the point (21/8, 21/8) is the optimal
solution of LP(P)!
I So if we add x1 + x2 ≤ 5 to P, we obtain a new formulation
containing X , but we shall not see the same optimal point
when we solve the LP relaxation of the new formulation.
I Verify all this on millimetric
M. Ç. Pınar
square paper.
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

Generating Valid Inequalities and Cutting Planes:


Chvatal-Gomory Rounding Procedure
I Now, we shall see a procedure to generate valid inequalities
(VI) and cutting planes (CP) for a given formulation of an
integer optimization problem.

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

Generating Valid Inequalities and Cutting Planes:


Chvatal-Gomory Rounding Procedure
I Now, we shall see a procedure to generate valid inequalities
(VI) and cutting planes (CP) for a given formulation of an
integer optimization problem.
I Let us take an inequality constraint from a given formulation
(recall that all variables are required to be non-negative and
integer valued):
a1 x1 + a2 x2 + . . . + an xn ≤ b

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

Generating Valid Inequalities and Cutting Planes:


Chvatal-Gomory Rounding Procedure
I Now, we shall see a procedure to generate valid inequalities
(VI) and cutting planes (CP) for a given formulation of an
integer optimization problem.
I Let us take an inequality constraint from a given formulation
(recall that all variables are required to be non-negative and
integer valued):
a1 x1 + a2 x2 + . . . + an xn ≤ b
I Step 1 of Chvatal-Gomory Procedure: Replace all left
hand coefficients by their floor:
ba1 cx1 + ba2 cx2 + . . . + ban cxn ≤ b

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

Generating Valid Inequalities and Cutting Planes:


Chvatal-Gomory Rounding Procedure
I Now, we shall see a procedure to generate valid inequalities
(VI) and cutting planes (CP) for a given formulation of an
integer optimization problem.
I Let us take an inequality constraint from a given formulation
(recall that all variables are required to be non-negative and
integer valued):
a1 x1 + a2 x2 + . . . + an xn ≤ b
I Step 1 of Chvatal-Gomory Procedure: Replace all left
hand coefficients by their floor:
ba1 cx1 + ba2 cx2 + . . . + ban cxn ≤ b
I Since all variables are non-negative, this inequality is a VI!
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

Chvatal-Gomory Rounding Procedure


I Step 2 of Chvatal-Gomory Procedure: Replace the RHS
coefficient by its floor:
ba1 cx1 + ba2 cx2 + . . . + ban cxn ≤ bbc

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

Chvatal-Gomory Rounding Procedure


I Step 2 of Chvatal-Gomory Procedure: Replace the RHS
coefficient by its floor:
ba1 cx1 + ba2 cx2 + . . . + ban cxn ≤ bbc
I Since all variables are integer, the LHS is an integer, so this
inequality is a VI!

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

Chvatal-Gomory Rounding Procedure


I Step 2 of Chvatal-Gomory Procedure: Replace the RHS
coefficient by its floor:
ba1 cx1 + ba2 cx2 + . . . + ban cxn ≤ bbc
I Since all variables are integer, the LHS is an integer, so this
inequality is a VI!
I We can generalize this procedure to multiple constraints:

a11 x1 + a12 x2 + . . . + a1n xn ≤ b1


..
.
am1 x1 + am2 x2 + . . . + amn xn ≤ bm

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

Chvatal-Gomory Rounding Procedure with Multiple


Constraints

I Multiply each constraint by a non-negative constant αi

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

Chvatal-Gomory Rounding Procedure with Multiple


Constraints

I Multiply each constraint by a non-negative constant αi


I Add all m inequalities and apply CG procedure to the resulting
inequality:
Xn X m Xm
b αi aij cxj ≤ b α i bi c
j=1 i=1 i=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

Chvatal-Gomory Rounding Procedure with Multiple


Constraints

I Multiply each constraint by a non-negative constant αi


I Add all m inequalities and apply CG procedure to the resulting
inequality:
Xn X m Xm
b αi aij cxj ≤ b α i bi c
j=1 i=1 i=1

I The new inequality is a VI.

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

Chvatal-Gomory Rounding Procedure with Multiple


Constraints

I Multiply each constraint by a non-negative constant αi


I Add all m inequalities and apply CG procedure to the resulting
inequality:
Xn X m Xm
b αi aij cxj ≤ b α i bi c
j=1 i=1 i=1

I The new inequality is a VI.


I Most of the time it is also a CP.

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

Chvatal-Gomory Rounding Procedure with Multiple


Constraints

I Multiply each constraint by a non-negative constant αi


I Add all m inequalities and apply CG procedure to the resulting
inequality:
Xn X m Xm
b αi aij cxj ≤ b α i bi c
j=1 i=1 i=1

I The new inequality is a VI.


I Most of the time it is also a CP.
I Let us check out some examples.

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

Chvatal-Gomory Rounding Procedure Examples I


I Consider the example P above: let us take the constraint:
6x1 + 2x2 ≤ 21.

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

Chvatal-Gomory Rounding Procedure Examples I


I Consider the example P above: let us take the constraint:
6x1 + 2x2 ≤ 21.
I Multiply this constraint by 1/2:

3x1 + x2 ≤ 21/2.

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

Chvatal-Gomory Rounding Procedure Examples I


I Consider the example P above: let us take the constraint:
6x1 + 2x2 ≤ 21.
I Multiply this constraint by 1/2:

3x1 + x2 ≤ 21/2.

I Now apply CG to get: 3x1 + x2 ≤ 10!

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

Chvatal-Gomory Rounding Procedure Examples I


I Consider the example P above: let us take the constraint:
6x1 + 2x2 ≤ 21.
I Multiply this constraint by 1/2:

3x1 + x2 ≤ 21/2.

I Now apply CG to get: 3x1 + x2 ≤ 10!


I Multiply both constraints 6x1 + 2x2 ≤ 21, −x1 + x2 ≤ 0 by
1/2 to get 5/2x1 + 3/2x2 ≤ 21/2. Now apply CG to get:

2x1 + x2 ≤ 10

is a VI. Is it a CP? Check on millimetric paper!


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

Chvatal-Gomory Rounding Procedure Examples II


I Consider the following set (e.g., constraints for a problem):

P = {(x1 , x2 , x3 , x4 ) ≥ 0|4x1 + 5x2 + 9x3 + 12x4 ≤ 34}

and the integer set X = P ∩ Z4 .

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

Chvatal-Gomory Rounding Procedure Examples II


I Consider the following set (e.g., constraints for a problem):

P = {(x1 , x2 , x3 , x4 ) ≥ 0|4x1 + 5x2 + 9x3 + 12x4 ≤ 34}

and the integer set X = P ∩ Z4 .


I Find a VI for X by the CG Procedure:

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

Chvatal-Gomory Rounding Procedure Examples II


I Consider the following set (e.g., constraints for a problem):

P = {(x1 , x2 , x3 , x4 ) ≥ 0|4x1 + 5x2 + 9x3 + 12x4 ≤ 34}

and the integer set X = P ∩ Z4 .


I Find a VI for X by the CG Procedure:
I Solution: Divide the inequality by 4:

x1 + 5/4x2 + 9/4x3 + 12/4x4 ≤ 34/4

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

Chvatal-Gomory Rounding Procedure Examples II


I Consider the following set (e.g., constraints for a problem):

P = {(x1 , x2 , x3 , x4 ) ≥ 0|4x1 + 5x2 + 9x3 + 12x4 ≤ 34}

and the integer set X = P ∩ Z4 .


I Find a VI for X by the CG Procedure:
I Solution: Divide the inequality by 4:

x1 + 5/4x2 + 9/4x3 + 12/4x4 ≤ 34/4


I Then apply CG to get:

x1 + x2 + 2x3 + 3x4 ≤ 8

is a VI. Is it a CP for P? Yes, why?


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

Chvatal-Gomory Rounding Procedure Examples II cont’d

I To check whether a VI for X is a CP for P it is enough to


exhibit a fractional point in P which violates the VI.

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

Chvatal-Gomory Rounding Procedure Examples II cont’d

I To check whether a VI for X is a CP for P it is enough to


exhibit a fractional point in P which violates the VI.
I Consider the VI x1 + x2 + 2x3 + 3x4 ≤ 8 and the point
(8.5, 0, 0, 0) ∈ P. This point violates the VI. So the VI is a CP
for P.

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

Chvatal-Gomory Rounding Procedure Examples II cont’d

I To check whether a VI for X is a CP for P it is enough to


exhibit a fractional point in P which violates the VI.
I Consider the VI x1 + x2 + 2x3 + 3x4 ≤ 8 and the point
(8.5, 0, 0, 0) ∈ P. This point violates the VI. So the VI is a CP
for P.
I Exercise: is the inequality

x2 + x3 + 2x4 ≤ 6

a VI for X ? Is it a CP for P?

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

Chvatal-Gomory Rounding Procedure can be turned into


an algorithm
I The idea is to use the optimal simplex tableau obtained from
solving LP relaxation to generate cutting planes.

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

Chvatal-Gomory Rounding Procedure can be turned into


an algorithm
I The idea is to use the optimal simplex tableau obtained from
solving LP relaxation to generate cutting planes.
I Recall that when we solve an LP by the tableau simplex
method we obtain
X
(xB )i + hj xj = fi
j∈N

in each row i of the (optimal )simplex tableau.

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

Chvatal-Gomory Rounding Procedure can be turned into


an algorithm
I The idea is to use the optimal simplex tableau obtained from
solving LP relaxation to generate cutting planes.
I Recall that when we solve an LP by the tableau simplex
method we obtain
X
(xB )i + hj xj = fi
j∈N

in each row i of the (optimal )simplex tableau.


I Here (xB )i denotes the basic variable corresponding to Row i
of the tableau

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

Chvatal-Gomory Rounding Procedure can be turned into


an algorithm
I The idea is to use the optimal simplex tableau obtained from
solving LP relaxation to generate cutting planes.
I Recall that when we solve an LP by the tableau simplex
method we obtain
X
(xB )i + hj xj = fi
j∈N

in each row i of the (optimal )simplex tableau.


I Here (xB )i denotes the basic variable corresponding to Row i
of the tableau
I The index set N represents the non-basic variables.

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

Chvatal-Gomory Rounding Procedure can be turned into


an algorithm
I The idea is to use the optimal simplex tableau obtained from
solving LP relaxation to generate cutting planes.
I Recall that when we solve an LP by the tableau simplex
method we obtain
X
(xB )i + hj xj = fi
j∈N

in each row i of the (optimal )simplex tableau.


I Here (xB )i denotes the basic variable corresponding to Row i
of the tableau
I The index set N represents the non-basic variables.
I Let us refresh our memory with a numerical example.
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

An Example

I Let us look at the following example:

z IP = min −x1 − x2

subject to
2x1 + 5x2 ≤ 20
3x1 + 4x2 ≤ 17
x1 , x2 ≥ 0, integer.

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

An Example

I Let us look at the following 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.

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 Optimal Simplex Tableau

Figure: Optimal Simplex Tableau


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 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.

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 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.

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 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

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 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

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

Gomory Fractional CP Algorithm


I The idea is to generate CPs from these equations using the
CG procedure, add them to the primal tableau, and re-solve
the new LP relaxation by dual simplex method and repeat
this until integer solutions are observed.

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

Gomory Fractional CP Algorithm


I The idea is to generate CPs from these equations using the
CG procedure, add them to the primal tableau, and re-solve
the new LP relaxation by dual simplex method and repeat
this until integer solutions are observed.
I I.e. we apply CG Proc. to
X
(xB )i + hj xj = fi
j∈N

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

Gomory Fractional CP Algorithm


I The idea is to generate CPs from these equations using the
CG procedure, add them to the primal tableau, and re-solve
the new LP relaxation by dual simplex method and repeat
this until integer solutions are observed.
I I.e. we apply CG Proc. to
X
(xB )i + hj xj = fi
j∈N

I To get X
(xB )i + bhj cxj ≤ bfi c
j∈N

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

Gomory Fractional CP Algorithm cont’d

I Substitute into this inequality


X
(xB )i = fi − hj x j
j∈N

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

Gomory Fractional CP Algorithm cont’d

I Substitute into this inequality


X
(xB )i = fi − hj x j
j∈N

I And rearrange to obtain the inequality


X
(hj − bhj c)xj ≥ fi − bfi c.
j∈N

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

Gomory Fractional CP Algorithm cont’d

I Substitute into this inequality


X
(xB )i = fi − hj x j
j∈N

I And rearrange to obtain the inequality


X
(hj − bhj c)xj ≥ fi − bfi c.
j∈N

I This is a VI for the set of integer solutions, and a CP for the


current LP relaxation. Why?

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

Gomory Fractional CP Algorithm Example cont’d

I Let us generate two CPs from the above

x2 + 2/7x3 − 1/7x4 = 23/7

x1 − 3/14x3 + 5/14x4 = 25/14

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

Gomory Fractional CP Algorithm Example cont’d

I Let us generate two CPs from the above

x2 + 2/7x3 − 1/7x4 = 23/7

x1 − 3/14x3 + 5/14x4 = 25/14


I This gives
2/7x3 + 6/7x4 ≥ 2/7
11/14x3 + 5/14x4 ≥ 11/14.

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

Gomory Fractional CP Algorithm Example cont’d

I Let us generate two CPs from the above

x2 + 2/7x3 − 1/7x4 = 23/7

x1 − 3/14x3 + 5/14x4 = 25/14


I This gives
2/7x3 + 6/7x4 ≥ 2/7
11/14x3 + 5/14x4 ≥ 11/14.
I Let us arbitrarily take the second inequality. We can rewrite it
by substituting for x3 = 20 − 2x1 − 5x2 , and
x4 = 17 − 4x1 − 3x2 to give 3x1 + 5x2 ≤ 21.

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 Integer Problem

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.

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

Problem Specific Cutting Planes: Binary Knapsack


I In the previous part of this lecture we have seen how to
generate cutting planes in general.

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

Problem Specific Cutting Planes: Binary Knapsack


I In the previous part of this lecture we have seen how to
generate cutting planes in general.
I Sometimes, it is useful to search for cutting planes exploiting
the structure of a given integer optimization problem.

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

Problem Specific Cutting Planes: Binary Knapsack


I In the previous part of this lecture we have seen how to
generate cutting planes in general.
I Sometimes, it is useful to search for cutting planes exploiting
the structure of a given integer optimization problem.
I We shall start by studying specific cutting planes for binary
knapsack problem

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

Problem Specific Cutting Planes: Binary Knapsack


I In the previous part of this lecture we have seen how to
generate cutting planes in general.
I Sometimes, it is useful to search for cutting planes exploiting
the structure of a given integer optimization problem.
I We shall start by studying specific cutting planes for binary
knapsack problem
I Recall the BKP:
X n
max pj x j
j=1
subject to
n
X
aj xj ≤ B
j=1
xj binary, for all j =M.1,Ç.. Pınar
. . , n. 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

Cutting Planes: Binary Knapsack


I Definition: A cover C is a subset of indices, i.e.
C ⊆ {1, . . . , n}, such that
X
aj > b
j∈C
.

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

Cutting Planes: Binary Knapsack


I Definition: A cover C is a subset of indices, i.e.
C ⊆ {1, . . . , n}, such that
X
aj > b
j∈C
.
I A cover C is called a minimal cover if for all k ∈ C , C \ {k}
is not a cover.

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

Cutting Planes: Binary Knapsack


I Definition: A cover C is a subset of indices, i.e.
C ⊆ {1, . . . , n}, such that
X
aj > b
j∈C
.
I A cover C is called a minimal cover if for all k ∈ C , C \ {k}
is not a cover.
I A Cover Inequality for cover C is defined as
X
xj ≤ |C | − 1
∈C

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

Cutting Planes: Binary Knapsack


I Definition: A cover C is a subset of indices, i.e.
C ⊆ {1, . . . , n}, such that
X
aj > b
j∈C
.
I A cover C is called a minimal cover if for all k ∈ C , C \ {k}
is not a cover.
I A Cover Inequality for cover C is defined as
X
xj ≤ |C | − 1
∈C

I It is a CP for the LP relaxation of BKP.


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

Cover Inequalities: Binary Knapsack Example

I Consider the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

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

Cover Inequalities: Binary Knapsack Example

I Consider the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I C = {1, 2, 3} is not a cover.

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

Cover Inequalities: Binary Knapsack Example

I Consider the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I C = {1, 2, 3} is not a cover.


I C = {1, 2, 4} is a cover. It is a minimal cover. CI is
x1 + x2 + x4 ≤ 2.

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

Cover Inequalities: Binary Knapsack Example

I Consider the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I C = {1, 2, 3} is not a cover.


I C = {1, 2, 4} is a cover. It is a minimal cover. CI is
x1 + x2 + x4 ≤ 2.
I C = {2, 3, 5} is also a minimal cover. CI is x2 + x3 + x5 ≤ 2.

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

Cover Inequalities: Binary Knapsack Example

I Consider the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I C = {1, 2, 3} is not a cover.


I C = {1, 2, 4} is a cover. It is a minimal cover. CI is
x1 + x2 + x4 ≤ 2.
I C = {2, 3, 5} is also a minimal cover. CI is x2 + x3 + x5 ≤ 2.
I C = {1, 3, 4, 5} is also a minimal cover. CI is
x1 + x3 + x4 + x5 ≤ 3.

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

Extended Cover Inequalities for Binary Knapsack


I If C ⊆ {1, . . . , n} is a cover, an extended cover E (C ) is
defined as
E (C ) = C ∪ {j ∈ {1, . . . , n}|aj ≥ ai ∀i ∈ C }
.

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

Extended Cover Inequalities for Binary Knapsack


I If C ⊆ {1, . . . , n} is a cover, an extended cover E (C ) is
defined as
E (C ) = C ∪ {j ∈ {1, . . . , n}|aj ≥ ai ∀i ∈ C }
.
I Important Fact: If E (C ) is an extended cover for BKP, then
the Extended Cover Inequality
X
xj ≤ |C | − 1
j∈E (C )

is a VI for BKP.

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

Extended Cover Inequalities for Binary Knapsack


I If C ⊆ {1, . . . , n} is a cover, an extended cover E (C ) is
defined as
E (C ) = C ∪ {j ∈ {1, . . . , n}|aj ≥ ai ∀i ∈ C }
.
I Important Fact: If E (C ) is an extended cover for BKP, then
the Extended Cover Inequality
X
xj ≤ |C | − 1
j∈E (C )

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

Cover Inequalities: Binary Knapsack Example cont’d


I Consider again the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

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

Cover Inequalities: Binary Knapsack Example cont’d


I Consider again the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I Recall that C = {1, 3, 4, 5} is a minimal cover. CI is


x1 + x3 + x4 + x5 ≤ 3.

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

Cover Inequalities: Binary Knapsack Example cont’d


I Consider again the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I Recall that C = {1, 3, 4, 5} is a minimal cover. CI is


x1 + x3 + x4 + x5 ≤ 3.
I Can we find an extended cover inequality?

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

Cover Inequalities: Binary Knapsack Example cont’d


I Consider again the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I Recall that C = {1, 3, 4, 5} is a minimal cover. CI is


x1 + x3 + x4 + x5 ≤ 3.
I Can we find an extended cover inequality?
I Yes! E (C ) = C ∪ {2}

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

Cover Inequalities: Binary Knapsack Example cont’d


I Consider again the following knapsack set

K = {(x1 , x2 , x3 , x4 , x5 ) ∈ B5 : 4x1 +8x2 +3x3 +6x4 +5x5 ≤ 15}

I Recall that C = {1, 3, 4, 5} is a minimal cover. CI is


x1 + x3 + x4 + x5 ≤ 3.
I Can we find an extended cover inequality?
I Yes! E (C ) = C ∪ {2}
I The Extended CI is then

x1 + x2 + x3 + x4 + x5 ≤ 3

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

A Cutting Plane Algorithm with Cover Inequalities for


Binary Knapsack
I Algorithm: Solve the LP relaxation, and if not integer
identify cover and/or extended cover inequalities, add them to
the previous LP relaxation and repeat until integer solution
(or no more progress!)

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

A Cutting Plane Algorithm with Cover Inequalities for


Binary Knapsack
I Algorithm: Solve the LP relaxation, and if not integer
identify cover and/or extended cover inequalities, add them to
the previous LP relaxation and repeat until integer solution
(or no more progress!)
I If you get stuck with no progress without an integer solution,
continue with Branch-and-Bound from that point on!

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

A Cutting Plane Algorithm with Cover Inequalities for


Binary Knapsack
I Algorithm: Solve the LP relaxation, and if not integer
identify cover and/or extended cover inequalities, add them to
the previous LP relaxation and repeat until integer solution
(or no more progress!)
I If you get stuck with no progress without an integer solution,
continue with Branch-and-Bound from that point on!
I With some small examples we may get lucky and solve the
problem to optimality.

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

A Cutting Plane Algorithm with Cover Inequalities for


Binary Knapsack
I Algorithm: Solve the LP relaxation, and if not integer
identify cover and/or extended cover inequalities, add them to
the previous LP relaxation and repeat until integer solution
(or no more progress!)
I If you get stuck with no progress without an integer solution,
continue with Branch-and-Bound from that point on!
I With some small examples we may get lucky and solve the
problem to optimality.
I Let us try with the problem instance:
max 20x1 + 11x2 + 26x3 + 13x4 + 12x5
subject to x ∈ K above.
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

A Cutting Plane Algorithm Example with Cover


Inequalities for Binary Knapsack
I Let us solve the LP relaxation: it gives the optimal solution

(1, 0, 1, 1/2, 1)

with z = 64.5. Hence z KNAP ≤ 64 (our upper bound on


integer optimal value is 64).

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

A Cutting Plane Algorithm Example with Cover


Inequalities for Binary Knapsack
I Let us solve the LP relaxation: it gives the optimal solution

(1, 0, 1, 1/2, 1)

with z = 64.5. Hence z KNAP ≤ 64 (our upper bound on


integer optimal value is 64).
I The variables that have non-zero value above are x1 , x3 , x4 , x5 .
We notice that C = {1, 3, 4, 5} is a cover. So we add the
inequality
x1 + x3 + x4 + x5 ≤ 3
to 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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack
I So next we solve the LP relaxation (using simplex method)

max 20x1 + 11x2 + 26x3 + 13x4 + 12x5


subject to
4x1 + 8x2 + 3x3 + 6x4 + 5x5 ≤ 15
x1 + x3 + x4 + 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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack
I So next we solve the LP relaxation (using simplex method)

max 20x1 + 11x2 + 26x3 + 13x4 + 12x5


subject to
4x1 + 8x2 + 3x3 + 6x4 + 5x5 ≤ 15
x1 + x3 + x4 + x5 ≤ 3
0 ≤ x1 , x2 , x3 , x4 , x5 ≤ 1
.
I The optimal point is (1, 0.375, 1, 0, 1) with z = 62.125. Upper
bound improved to 62.
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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack

I We notice that the variables with non-zero value are


x1 , x2 , x3 , x5 . We notice that C = {1, 2, 3, 5} is a cover. We
add immediately the cover inequality to the previous LP
relaxation:
x1 + x2 + x3 + x5 ≤ 3

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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack

I We notice that the variables with non-zero value are


x1 , x2 , x3 , x5 . We notice that C = {1, 2, 3, 5} is a cover. We
add immediately the cover inequality to the previous LP
relaxation:
x1 + x2 + x3 + x5 ≤ 3
I Any guesses as to what will happen? Will the upper bound
improve? Even if it does not improve, it does not get worse
for sure!

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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack
I So next we solve the LP relaxation (using simplex method)
max 20x1 + 11x2 + 26x3 + 13x4 + 12x5
subject to
4x1 + 8x2 + 3x3 + 6x4 + 5x5 ≤ 15
x1 + 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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack
I So next we solve the LP relaxation (using simplex method)
max 20x1 + 11x2 + 26x3 + 13x4 + 12x5
subject to
4x1 + 8x2 + 3x3 + 6x4 + 5x5 ≤ 15
x1 + x3 + x4 + x5 ≤ 3
x1 + x2 + x3 + x5 ≤ 3
0 ≤ x1 , x2 , x3 , x4 , x5 ≤ 1
.
I The optimal point is (1, 1/3, 1, 1/3, 2/3) with z = 62.
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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack
I We notice that the variables with non-zero value are
x1 , x2 , x3 , x4 , x5 . We observe that {1, 2, 3, 4, 5} is an extended
cover for the cover C = {1, 3, 4, 5}. We add immediately the
extended cover inequality to the previous LP relaxation:
x1 + x2 + x3 + x4 + x5 ≤ 3

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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack
I We notice that the variables with non-zero value are
x1 , x2 , x3 , x4 , x5 . We observe that {1, 2, 3, 4, 5} is an extended
cover for the cover C = {1, 3, 4, 5}. We add immediately the
extended cover inequality to the previous LP relaxation:
x1 + x2 + x3 + x4 + x5 ≤ 3
I This time we obtain the optimal LP point (1, 0, 1, 1, 0),
hurrah! We solved the BKP, z = 59.

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

Cutting Plane Algorithm Example with Cover Inequalities


for Binary Knapsack
I We notice that the variables with non-zero value are
x1 , x2 , x3 , x4 , x5 . We observe that {1, 2, 3, 4, 5} is an extended
cover for the cover C = {1, 3, 4, 5}. We add immediately the
extended cover inequality to the previous LP relaxation:
x1 + x2 + x3 + x4 + x5 ≤ 3
I This time we obtain the optimal LP point (1, 0, 1, 1, 0),
hurrah! We solved the BKP, z = 59.
I Recall that we may not always be so lucky. The algorithm
may fail to generate more CIs before an integer solution
appears. There are ways to overcome this obstacle but these
are beyond the scope of IE303.
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

Remarks: Cutting Plane Algorithm with Cover Inequalities


for Binary Knapsack
I Recall: we said that extended cover inequality dominates its
cover inequality.

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

Remarks: Cutting Plane Algorithm with Cover Inequalities


for Binary Knapsack
I Recall: we said that extended cover inequality dominates its
cover inequality.
I in the example above

x1 + x2 + x3 + x4 + x5 ≤ 3

dominates
x1 + x3 + x4 + x5 ≤ 3

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

Remarks: Cutting Plane Algorithm with Cover Inequalities


for Binary Knapsack
I Recall: we said that extended cover inequality dominates its
cover inequality.
I in the example above

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

Remarks: Cutting Plane Algorithm with Cover Inequalities


for Binary Knapsack
We obtain the same final result solving the LP

max 20x1 + 11x2 + 26x3 + 13x4 + 12x5

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

Find the ideal formulation for the integer optimization problem

z IP = min −x1 − x2

subject to
2x1 + 5x2 ≤ 20
3x1 + 4x2 ≤ 17
x1 , x2 ≥ 0, integer.

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 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.

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 III

Consider the following knapsack set

X = {x ∈ B7 |11x1 + 6x2 + 6x3 + 5x4 + 5x5 + 4x6 + x7 ≤ 19}

Find a (minimal) cover inequality and an extended cover inequality


dominating it.

M. Ç. Pınar IE303 Solving Models with Integer Variables

You might also like