![Page 1: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/1.jpg)
Introduction to Operations Research
Peng Zhang ∗
June 7, 2015
∗School of Computer Science and Technology, Shandong University, Jinan, 250101,
China. Email: [email protected].
0-0
![Page 2: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/2.jpg)
1 Introduction
1
![Page 3: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/3.jpg)
2 Overview of the Operations Research
Modeling Approach
2
![Page 4: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/4.jpg)
3 Introduction to Linear Programming
3
![Page 5: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/5.jpg)
4 Solving Linear Programming
Problems: The Simplex Method
4
![Page 6: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/6.jpg)
5 The Theory of the Simplex Method
5
![Page 7: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/7.jpg)
6 Duality Theory and Sensitivity
Analysis
6
![Page 8: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/8.jpg)
7 Other Algorithms for Linear
Programming
7
![Page 9: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/9.jpg)
8 The Transportation and Assignment
Problems
8
![Page 10: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/10.jpg)
9 Network Optimization Models
9
![Page 11: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/11.jpg)
10 Dynamic Programming
10
![Page 12: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/12.jpg)
11 Integer Programming
11
![Page 13: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/13.jpg)
Integer programming (IP): every variable is restricted to be an
integer.
Binary integer programming (BIP): every variable is restricted
to have values 0 or 1.
Mixed integer programming (MIP): only some of the variables
are restricted to have integer values.
11.1 PROTOTYPE EXAMPLE
The CALIFORNIA MANUFACTURING COMPANY problem.
The company has 10 million dollars. It wants to build factories and
warehouses in Los Angeles or San Francisco. The number of factories is
at most two, and the number of warehouses is at most one. Only when
a factory is built in some place, a warehouse can be built there.
11-1
![Page 14: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/14.jpg)
The values and costs of factories and warehouses in different places
are given in the following table.
The question is, where it will build factories and warehouses, so that
the total value of the built factories and warehouses is maximized?
This problem can be formulated as the following binary integer
programming (BIP).
11-2
![Page 15: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/15.jpg)
max 9x1 + 5x2 + 6x3 + 4x4
s.t. 6x1 + 3x2 + 5x3 + 2x4 ≤ 10
x3 + x4 ≤ 1
x3 ≤ x1
x4 ≤ x2
xj ∈ {0, 1}, ∀j
11-3
![Page 16: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/16.jpg)
11.2 SOME BIP APPLICATIONS
11.3 INNOVATIVE USES OF BINARYVARIABLES
IN MODEL FORMULATION
11.4 SOME FORMULATION EXAMPLES
The Knapsack problem
Instance: There is a knapsack with capacity W , and n items each of
which has a weight wi > 0 and a value vi > 0.
Task: Put some items into the knapsack such that their total weight
is at most W and their total value is maximized.
Solution.
We use the decision variable xi to indicate whether item i is put into
11-4
![Page 17: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/17.jpg)
the knapsack.
max∑i
vixi
s.t.∑i
wixi ≤W
xi ∈ {0, 1}, ∀i
The Minimum Spanning Tree problem
Instance: We are given an undirected graph G = (V,E) with non-
negative costs {ce} defined on edges.
Task: The goal is to find a minimum cost tree spanning all vertices
in G.
Solution.
11-5
![Page 18: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/18.jpg)
For each edge e ∈ E, there is a decision variable xe. If xe = 1, e is
included in the solution. If xe = 0, it is not.
min∑e
cexe
s.t.∑
e∈δ(S)
xe ≥ 1, ∀∅ ̸= S ⊂ V
xe ∈ {0, 1}, ∀e ∈ E
The Traveling Salesman Problem
Instance: We are given n cities. For every two cities i ̸= j, there is a
length (e.g., distance) cij ≥ 0.
Task: Find a shortest tour that visits every city exactly once and
returns to the original city.
11-6
![Page 19: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/19.jpg)
11-7
![Page 20: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/20.jpg)
Solution 1.
11-8
![Page 21: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/21.jpg)
For each ordered pari (i, j), we define a decision variable xij . If
xij = 1, then the edge (i, j) is used in the tour to be found. If xij = 0,
then the edge (i, j) is not used.
min∑i ̸=j
cijxij
s.t.∑j ̸=i
xij = 1, ∀i
∑j ̸=i
xji = 1, ∀i
∑i∈S,j∈S̄
xij ≥ 1, ∀∅ ̸= S ⊂ [n]
xij ∈ {0, 1}, ∀i ̸= j
11-9
![Page 22: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/22.jpg)
Solution 2.
The decision variables {xij} are defined in the same way as above.
For each city i ∈ {1, · · · , n}, there is a variable ui, whose value can
be any real number.
Thus we get a MIP formulation for the TSP problem. This formula-
tion is by Miller, Tucker, and Zemlin [JACM’60].
11-10
![Page 23: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/23.jpg)
min∑i ̸=j
cijxij (1)
s.t.∑j ̸=i
xij = 1, ∀i (2)
∑j ̸=i
xji = 1, ∀i (3)
ui − uj + nxij ≤ n− 1, ∀2 ≤ i ̸= j ≤ n (4)
xij ∈ {0, 1}, ∀i ̸= j
ui ≷ 0, ∀i
Theorem 11.1. The MIP (1) defines TSP.
Proof.
11-11
![Page 24: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/24.jpg)
• We first prove that any solution to (1) is a TSP tour (a circuit visiting
every city exactly once).
• Constraint (2) says that every city has exactly one outgoing edge in the
solution. Constraint (3) says that every city has exactly one ingoing edge
in the solution. So, these two constraints guarantee that the solution
must consist of circuits. In the following we will prove that there is only
one circuit in the solution, by constraint (4).
• Actually, we will prove every circuit in the solution passes through city
1. Since city 1 can only be visited exactly once (by constraints (2) and
(3)), this means there is only one circuit in the solution.
• Suppose for the contradiction that in the solution there is a circuit
(i1, i2, · · · , ik, i1) consisting of length k edges which does not visit c-
11-12
![Page 25: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/25.jpg)
ity 1. Since for every edge (i, j) in the circuit we have xij = 1, we have
the following k inequalities for this circuit by constraint (4):
ui1 − ui2 + n ≤ n− 1,
ui2 − ui3 + n ≤ n− 1,
· · · ,
uik − ui1 + n ≤ n− 1.
• Adding these k inequalities, we get kn ≤ k(n− 1), which is absurd.
• Next we prove any TSP tour defines a solution to MIP (1).
• Given a TSP tour, we define xij = 1 if edge (i, j) is used in the tour,
and xij = 0 otherwise. So, constraints (2) and (3) are satisfied.
• The tour must visit every city. Let city 1 be the first city on the tour,
11-13
![Page 26: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/26.jpg)
and we define u1 = 1. In general, if city i is the k-th city (2 ≤ k ≤ n) on
the tour, we define ui = k.
• Now we consider constraint (4). Let (i, j) be any pair such that i ̸= j
and i, j ∈ {2, · · · , n}. Then we have two cases to consider: xij = 0 and
xij = 1.
• If xij = 0, then constraint (4) reduces to
ui − uj ≤ n− 1,
which obviously holds since ui ≤ n and uj ≥ 2.
• If xij = 1, then constraint (4) becomes
ui − uj + n ≤ n− 1,
11-14
![Page 27: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/27.jpg)
which also holds since city j is the successor of city i on the tour and
hence ui − uj = −1.
• Note that since city 1 is not included in the condition of constraint (4),
we need not to consider constraint (4) on the “last” edge on the tour
ingoing to city 1 . (Suppose city i′ is the predecessor of city 1 on the
tour. Then we have xi′1 = 1, and ui′ = n and u1 = 1.)
11.5 SOME PERSPECTIVES ON SOLVING INTE-
GER PROGRAMMING PROBLEMS
IP may be easier than LP. Wrong!
11-15
![Page 28: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/28.jpg)
Since LP can be efficiently solved, and IP has far fewer feasible solu-
tions than LP, it may seem that IP should be relatively easy to solve.
However, the opposite is true: IP is much harder to solve than LP.
There are two fallacies in the above reasoning.
(i) One fallacy is that having a finite number of feasible solutions
ensures the problem is readily solvable. The fact is that, finite
numbers can be astronomically large. For example, if there are
100 0-1 variables in an IP, then there will be 2100 feasible solutions
to be considered.
(ii) The second fallacy is that removing some non-integer solutions
from an LP will make it easier to solve. To the contrary, it is just
because all these feasible solutions are there so that there will be a
11-16
![Page 29: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/29.jpg)
bfs which is also an optimal solution. By contrast, people cannot
prove similar beautiful property for IP.
One may think to use rounding to the closest integers. Does-
n’t work!
Example. Rounding may lead to unfeasible solutions.
max x2
s.t. − x1 + x2 ≤1
2
x1 + x2 ≤ 31
2
x1, x2 ∈ Z+
11-17
![Page 30: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/30.jpg)
11-18
![Page 31: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/31.jpg)
The optimal solution to the corresponding LP is (23 , 2). No matter
to round ( 23 , 2) to which solution of (1, 2) or (2, 2), it is not a feasible
solution.
Example. Even leading to a feasible solution, the rounded solution
may be far away from the optimal solution.
max x1 + 5x2
s.t. x1 + 10x2 ≤ 20
x1 ≤ 2
x1, x2 ∈ Z+
11-19
![Page 32: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/32.jpg)
The optimal solution to the corresponding LP will be rounded to
(2, 1). However, the optimal solution to IP is (0, 2).
11-20
![Page 33: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/33.jpg)
11.6 THE BRANCH-AND-BOUND TECHNIQUE
AND ITS APPLICATION TO BINARY IN-
TEGER PROGRAMMING
To illustrate the branch-and-bound method, we begin with an example.
(The California Manufacturing Company problem)
11-21
![Page 34: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/34.jpg)
max 9x1 + 5x2 + 6x3 + 4x4 (IP0)
s.t. 6x1 + 3x2 + 5x3 + 2x4 ≤ 10
x3 + x4 ≤ 1
x3 ≤ x1
x4 ≤ x2
xj ∈ {0, 1}, ∀j
Branching
Since each variable is a 0-1 variable, a natural idea is to branch into
two subproblems on some variable xi. For example, if we branch on x1,
then we get two subproblems.
11-22
![Page 35: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/35.jpg)
Subproblem 1 (x1 = 0):
max 5x2 + 6x3 + 4x4 (IP1)
s.t. 3x2 + 5x3 + 2x4 ≤ 10
x3 + x4 ≤ 1
x3 ≤ 0
x4 ≤ x2
x2, x3, x4 ∈ {0, 1}
11-23
![Page 36: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/36.jpg)
Subproblem 2 (x1 = 1):
max 9 + 5x2 + 6x3 + 4x4 (IP2)
s.t. 3x2 + 5x3 + 2x4 ≤ 4
x3 + x4 ≤ 1
x3 ≤ 1
x4 ≤ x2
x2, x3, x4 ∈ {0, 1}
Bounding
For each of these subproblems, we can get an upper bound on its
optimal value by solving the corresponding LP-relaxation of it.
For example, let (LP0) be the LP-relaxation of (IP0). The optimal
11-24
![Page 37: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/37.jpg)
solution to (LP0) is ( 56 , 1, 0, 1) with value Z∗LP0 = 16 1
2 . Since Z∗IP0 ≤
Z∗LP0 and Z∗
IP0 is an integer, we conclude that Z∗IP0 ≤ 16.
Similarly, we get that the optimal solution to (LP1) is (0, 1, 0, 1) with
value Z∗LP1 = 9, so Z∗
IP1 ≤ 9. The optimal solution to (LP2) is (1, 45 , 0,
45 )
with value Z∗LP2 = 16 1
5 , so Z∗IP2 ≤ 16.
11-25
![Page 38: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/38.jpg)
In the procedure of the branch-and-bound method, we remember the
current best feasible solution (called incumbent) and its value Z∗.
So far, the current best feasible solution is (0, 1, 0, 1) with Z∗ = 9.
11-26
![Page 39: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/39.jpg)
Fathoming1
A subproblem can be conquered (fathomed), and thereby dismissed
from further consideration, in the three ways described below.
(i) The subproblem’s upper bound is ≤ Z∗.
(Since the upper bound is ≤ Z∗, the optimal value of the subprob-
lem is obviously ≤ Z∗, too. Since there is already the incumbent
whose value is Z∗, this subproblem can be dismissed.)
(ii) The subproblem’s LP-relaxation has no feasible solution.
(iii) The subproblem’s LP-relaxation has integer (0-1) optimal solution.
If this solution is better than the incumbent, it becomes the new
1The original meaning of fathom is to understand what something means after
thinking about it carefully. It means here to conquer, not to consider further.
11-27
![Page 40: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/40.jpg)
incumbent, and the fathoming rule 1 is reapplied to all unfathomed
subproblems with the new larger Z∗.
The Branch-and-Bound algorithm for BIP
1 The set of unfathomed subproblems LIST ← ∅. The incumbent is
assigned by empty. The current best value Z∗ ← −∞.
2 Compute the upper bound of the current whole problem. Apply
the three fathoming rules to the current problem. If it is not
fathomed, then insert the problem to LIST .
3 while LIST ̸= ∅ do
4 Take the subproblem that was created most recently. (Break
ties according to which has the larger bound.) Remove it from
LIST .
11-28
![Page 41: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/41.jpg)
5 (Branching) Create two new subproblems by fixing the next
variable (the branching variable) at either 0 or 1.
6 (Bounding) For each of the two new subproblems, compute its
upper bound.
7 (Fathoming) For each of the two new subproblems, apply the
three fathoming rules on it. (If a problem in LIST is fathomed,
then remove it. Recall the fathoming rule 3.)
8 Insert the not fathomed new subproblems to LIST .
9 endwhile
10 return the incumbent.
Completing the Example
11-29
![Page 42: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/42.jpg)
Branching on (IP2) with either x2 = 0 or x2 = 1, we get two sub-
problems (IP3) and (IP4).
11-30
![Page 43: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/43.jpg)
Subproblem 3 (x1 = 1, x2 = 0):
max 9 + 6x3 + 4x4 (IP3)
s.t. 3x2 + 5x3 + 2x4 ≤ 4
x3 + x4 ≤ 1
x3 ≤ 1
x4 ≤ 0
x3, x4 ∈ {0, 1}
11-31
![Page 44: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/44.jpg)
Subproblem 4 (x1 = 1, x2 = 1):
max 14 + 6x3 + 4x4 (IP4)
s.t. 5x3 + 2x4 ≤ 1
x3 + x4 ≤ 1
x3 ≤ 1
x4 ≤ 1
x3, x4 ∈ {0, 1}
11-32
![Page 45: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/45.jpg)
Both (IP3) and (IP4) cannot be fathomed. (Recall the three fathom-
ing rules.)
11-33
![Page 46: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/46.jpg)
Branching on (IP4) with either x3 = 0 or x3 = 1, we get two sub-
problems (IP5) and (IP6).
Subproblem 5 (x1 = 1, x2 = 1, x3 = 0):
max 14 + 4x4 (IP5)
s.t. 2x4 ≤ 1
x4 ≤ 1
x4 ∈ {0, 1}
11-34
![Page 47: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/47.jpg)
Subproblem 6 (x1 = 1, x2 = 1, x3 = 1):
max 20 + 4x4 (IP6)
s.t. 2x4 ≤ −4
x4 ≤ 0
x4 ≤ 1
x4 ∈ {0, 1}
11-35
![Page 48: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/48.jpg)
Since (IP6)’s relaxation (LP6) has no feasible solution, (IP6) is fath-
omed.
We branch on (IP5) with either x4 = 0 or x4 = 1, getting subproblem
11-36
![Page 49: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/49.jpg)
7 and subproblem 8.
Subproblem 7 (x1 = 1, x2 = 1, x3 = 0, x4 = 0):
max 14 (IP7)
Subproblem 8 (x1 = 1, x2 = 1, x3 = 0, x4 = 1):
max 18 (IP8)
s.t. 2 ≤ 1
11-37
![Page 50: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/50.jpg)
Since (LP8) is not feasible, (IP8) is fathomed.
(IP7) is fathomed too, since it has the integer optimal solution (1, 1, 0, 0)
with Z∗IP8 = 14.
11-38
![Page 51: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/51.jpg)
Since Z∗IP8 is better than the value Z∗ of the incumbent, (1, 1, 0, 0)
becomes the new incumbent.
Since Z∗ = 14 now, (IP3) is fathomed by the fathoming rule 1.
Now LIST is empty (there is no unfathomed problem). The algo-
rithm terminates, and the optimal solution to the original problem is
(1, 1, 0, 0), with optimal value 14.
11.7 A BRANCH-AND-BOUNDALGORITHM FOR
MIXED INTEGER PROGRAMMING
Compared to the Branch-and-Bound algorithm for BIP, there are four
changes for the algorithm for MIP.
(i) Only the integer variables that have a non-integer value in the
11-39
![Page 52: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/52.jpg)
optimal solution to the LP-relaxation of the current subproblem
are considered as branching variables.
(ii) When branching, just create two new subproblems by specifying
two ranges of values for the variable.
For example, if xj is the branching variable, then we add the fol-
lowing constraints to the two new subproblems,
xj ≤ ⌊x∗j⌋ and xj ≥ ⌈x∗
j⌉,
respectively.
(iii) In BIP, the optimal value Z∗LP is rounded down to be used as an
upper bound of the current subproblem. Now, in MIP, since there
may be non-integer variables, the upper bound is Z∗LP without
11-40
![Page 53: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/53.jpg)
rounding down.
(iv) The fathoming rule 3 is now as follows.
If the optimal solution to the LP-relaxation of the current subprob-
lem has integer values for the integer restricted variables, then this
subproblem can be fathomed.
And, if this solution is better than the incumbent, it becomes the
new incumbent and the fathoming rule 1 is reapplied to all the
unfathomed subproblems with the new larger Z∗.
Remarks. In execution of the Branch-and-Bound algorithm for MIP,
a branching variable may recur again as the branching variable in the
future. See the example shown below.
The Branch-and-Bound algorithm for MIP
11-41
![Page 54: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/54.jpg)
1 The set of unfathomed subproblems LIST ← ∅. The incumbent is
assigned by empty. The current best value Z∗ ← −∞.
2 Compute the upper bound of the current whole problem. Apply
the three fathoming rules to the current problem. If it is not
fathomed, then insert the problem to LIST .
3 while LIST ̸= ∅ do
4 Take the subproblem that was created most recently. (Break
ties according to which has the larger bound.) Remove it from
LIST .
5 (Branching) let xj be the branching variable and x∗j be its value
in the optimal solution to the LP-relaxation of the subprob-
lem. Create two new subproblems by adding the respective
constraints xj ≤ ⌊x∗j⌋ and xj ≥ ⌈x∗
j⌉.
11-42
![Page 55: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/55.jpg)
6 (Bounding) For each of the two new subproblems, compute its
upper bound.
7 (Fathoming) For each of the two new subproblems, apply the
three fathoming rules on it. (If a problem in LIST is fathomed,
then remove it. Recall the fathoming rule 3.)
8 Insert the not fathomed new subproblems to LIST .
9 endwhile
10 return the incumbent.
An MIP Example. Solve the following MIP by Branch-and-Bound.
11-43
![Page 56: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/56.jpg)
max 4x1 − 2x2 + 7x3 − x4 (MP0)
s.t. x1 + 5x3 ≤ 10
x1 + x2 − x3 ≤ 1
6x1 − 5x2 ≤ 0
− x1 + 2x3 − 2x4 ≤ 3
x1, x2, x3 ∈ Z+
x4 ≥ 0
Solution.
Solving LP0, we get the following.
11-44
![Page 57: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/57.jpg)
Branch into two subproblems (MP1) and (MP2) on variable x1.
11-45
![Page 58: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/58.jpg)
max 4x1 − 2x2 + 7x3 − x4 (MP1)
s.t. x1 + 5x3 ≤ 10
x1 + x2 − x3 ≤ 1
6x1 − 5x2 ≤ 0
− x1 + 2x3 − 2x4 ≤ 3
x1 ≤ 1 (*)
x1, x2, x3 ∈ Z+
x4 ≥ 0
11-46
![Page 59: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/59.jpg)
max 4x1 − 2x2 + 7x3 − x4 (MP2)
s.t. x1 + 5x3 ≤ 10
x1 + x2 − x3 ≤ 1
6x1 − 5x2 ≤ 0
− x1 + 2x3 − 2x4 ≤ 3
x1 ≥ 2 (*)
x1, x2, x3 ∈ Z+
x4 ≥ 0
11-47
![Page 60: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/60.jpg)
(MP2) is fathomed since (LP2) has no feasible solution.
Branch into two subproblems (MP3) and (MP4) on variable x2.
11-48
![Page 61: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/61.jpg)
max 4x1 − 2x2 + 7x3 − x4 (MP3)
s.t. x1 + 5x3 ≤ 10
x1 + x2 − x3 ≤ 1
6x1 − 5x2 ≤ 0
− x1 + 2x3 − 2x4 ≤ 3
x1 ≤ 1 (*)
x2 ≤ 1 (*)
x1, x2, x3 ∈ Z+
x4 ≥ 0
11-49
![Page 62: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/62.jpg)
max 4x1 − 2x2 + 7x3 − x4 (MP4)
s.t. x1 + 5x3 ≤ 10
x1 + x2 − x3 ≤ 1
6x1 − 5x2 ≤ 0
− x1 + 2x3 − 2x4 ≤ 3
x1 ≤ 1 (*)
x2 ≥ 2 (*)
x1, x2, x3 ∈ Z+
x4 ≥ 0
11-50
![Page 63: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/63.jpg)
Branch into two subproblems (MP5) and (MP6) on variable x1 (re-
curring).
11-51
![Page 64: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/64.jpg)
max 4x1 − 2x2 + 7x3 − x4 (MP5)
s.t. x1 + 5x3 ≤ 10
x1 + x2 − x3 ≤ 1
6x1 − 5x2 ≤ 0
− x1 + 2x3 − 2x4 ≤ 3
x1 ≤ 1 (*)
x2 ≤ 1 (*)
x1 ≤ 0 (*)
x1, x2, x3 ∈ Z+
x4 ≥ 0
11-52
![Page 65: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/65.jpg)
max 4x1 − 2x2 + 7x3 − x4 (MP6)
s.t. x1 + 5x3 ≤ 10
x1 + x2 − x3 ≤ 1
6x1 − 5x2 ≤ 0
− x1 + 2x3 − 2x4 ≤ 3
x1 ≤ 1 (*)
x2 ≤ 1 (*)
x1 ≥ 1 (*)
x1, x2, x3 ∈ Z+
x4 ≥ 0
11-53
![Page 66: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/66.jpg)
(MP5) is fathomed since we find the new incumbent (0, 0, 2, 12 ) with
Z∗ = 13 12 .
(MP4) is fathomed since its upper bound is ≤ Z∗.
11-54
![Page 67: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/67.jpg)
(MP6) is fathomed since (LP6) has no feasible solution.
LIST is empty now. The optimal solution to (MP0) is (0, 0, 2, 12 ),
with the optimal value Z∗ = 13 12 .
11.8 THE BRANCH-AND-CUT APPROACH TO
SOLVING BIP PROBLEMS
A cutting plane for any IP problem is a new functional constraint that
reduces the feasible solution for the LP-relaxation without eliminating
any feasible solutions for the IP problem.
Example.
11-55
![Page 68: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/68.jpg)
max 3x1 + 2x2
s.t. 2x1 + 3x2 ≤ 4
x1, x2 ∈ {0, 1}
The feasible region for the LP-relaxation of the above IP is as follows.
11-56
![Page 69: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/69.jpg)
If we add the constraint x1+x2 ≤ 1 to the LP-relaxation, the feasible
region will be sharpened. However, no feasible solution to the original
IP problem is harmed.
11-57
![Page 70: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/70.jpg)
In this case, the constraint x1 + x2 ≤ 1 is a cutting plane for the
original IP problem.
Generating Cutting Planes for BIP
There are many ways to generate cutting planes for BIP. Here we
11-58
![Page 71: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/71.jpg)
just give one such method.
1. Consider any functional constraint in≤ form with only nonnegative
coefficients.
For example, 2x1 + 3x2 ≤ 4.
2. Find a group of variables (called a minimal cover of the constraint)
such that
(a) The constraint is violated if every variable in the group equals
to 1 and all other variables equal 0.
(b) But the constraint becomes satisfied if the value of any one of
these variables is changed from 1 to 0.
In our example, the group is {x1, x2}.
11-59
![Page 72: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/72.jpg)
3. By letting N denote the number of variables in the group, the
resulting cutting plane is
Sum of variables in group ≤ N − 1.
So, the cutting plane for our example is x1 + x2 ≤ 1.
Remarks. For a given functional constraint, its cutting plane may
not be unique.
Example.
Consider the constraint
6x1 + 3x2 + 5x3 + 2x4 ≤ 10.
Then
x1 + x2 + x4 ≤ 2
11-60
![Page 73: Peng Zhang - Shandong Universitycourse.sdu.edu.cn/.../uploadfile/20151224010142463.pdf · 2015. 12. 23. · Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer](https://reader036.vdocuments.mx/reader036/viewer/2022062605/5fd7797d1131706d57005c3a/html5/thumbnails/73.jpg)
is a cutting plane, since x1, x2 and x4 cannot be 1 simultaneously, but
every two of them can be 1 at the same time.
It is interesting to notice that this constraint has another cutting
plane
x1 + x3 ≤ 1.
11-61