Combinatorial Optimization Lecture Notes Mit 18433 Itebooks Download
Combinatorial Optimization Lecture Notes Mit 18433 Itebooks Download
https://ebookbell.com/product/combinatorial-optimization-lecture-
notes-mit-18433-itebooks-23836210
https://ebookbell.com/product/combinatorial-optimization-lecture-
notes-uiuc-cs598csc-itebooks-23836216
https://ebookbell.com/product/integer-programming-and-combinatorial-
optimization-21st-international-conference-ipco-2020-london-uk-
june-810-2020-proceedings-lecture-notes-in-computer-science-12125-1st-
ed-2020-daniel-bienstock-editor-51579286
https://ebookbell.com/product/combinatorial-optimization-7th-
international-symposium-isco-2022-virtual-event-may-1820-2022-revised-
selected-papers-ivana-ljubi-48671898
Combinatorial Optimization Under Uncertainty Reallife Scenarios In
Allocation Problems Ritu Arora
https://ebookbell.com/product/combinatorial-optimization-under-
uncertainty-reallife-scenarios-in-allocation-problems-ritu-
arora-50418864
https://ebookbell.com/product/combinatorial-optimization-and-
applications-a-tribute-to-bernard-gendron-international-series-in-
operations-research-management-science-358-teodor-gabriel-
crainic-58213986
https://ebookbell.com/product/combinatorial-optimization-polyhedra-
and-efficiency-volabc-schrijver-a-2047426
https://ebookbell.com/product/combinatorial-optimization-in-
communication-networks-1st-edition-maggie-xiaoyan-cheng-2087770
https://ebookbell.com/product/combinatorial-optimization-theory-and-
algorithms-2nd-bernhard-h-korte-2119750
Massachusetts Institute of Technology 18.433: Combinatorial Optimization
Michel X. Goemans February 4th, 2015
1 6
2 7 exposed
3 8 matching
4 9
5 10
Figure 1.1: Example. The edges (1, 6), (2, 7) and (3, 8) form a matching. Vertices 4, 5, 9
and 10 are exposed.
Definition 1.1 An alternating path with respect to M is a path that alternates between
edges in M and edges in E − M .
In the above example, the paths 4-8-3, 6-1-7-2 or 5-7-2-6-1-9 are alternating, but only
the last one is augmenting. Notice that an augmenting path with respect to M which
contains k edges of M must also contain exactly k + 1 edges not in M . Also, the two
endpoints of an augmenting path must be on different sides of the bipartition. The most
interesting property of an augmenting path P with respect to a matching M is that if we set
M 0 = M 4 P ≡ (M − P ) ∪ (P − M ), then we get a matching M 0 and, moreover, the size of
1. Lecture notes on bipartite matching February 4th, 2015 3
M 0 is one unit larger than the size of M . That is, we can form a larger matching M 0 from
M by taking the edges of P not in M and adding them to M 0 while removing from M 0 the
edges in M that are also in the path P . We say that we have augmented M along P .
The usefulness of augmenting paths is given in the following theorem.
Theorem 1.2 A matching M is maximum if and only if there are no augmenting paths with
respect to M .
Proof: (By contradiction)
(⇒) Let P be some augmenting path with respect to M . Set M 0 = M 4 P . Then M 0 is
a matching with cardinality greater than M . This contradicts the maximality of M .
(⇐) If M is not maximum, let M ∗ be a maximum matching (so that |M ∗ | > |M |). Let
Q = M 4 M ∗ . Then:
• Q has more edges from M ∗ than from M (since |M ∗ | > |M | implies that |M ∗ − M | >
|M − M ∗ |).
• Thus Q is composed of cycles and paths that alternate between edges from M and M ∗ .
• Therefore there must be some path with more edges from M ∗ in it than from M (all
cycles will be of even length and have the same number of edges from M ∗ and M ).
This path is an augmenting path with respect to M .
Hence there must exist an augmenting path P with respect to M , which is a contradiction.
4
This theorem motivates the following algorithm. Start with any matching M , say the
empty matching. Repeatedly locate an augmenting path P with respect to M , augment M
along P and replace M by the resulting matching. Stop when no more augmenting path
exists. By the above theorem, we are guaranteed to have found an optimum matching. The
algorithm terminates in µ augmentations, where µ is the size of the maximum matching.
Clearly, µ ≤ n2 where n = |V |.
In the example, one would thus augment M along an augmenting path, say 5-7-2-6-1-9,
obtain the matching (1, 9), (2, 6), (3, 8) and (5, 7), and then realize that no more augmenting
paths can be found.
The question now is how to decide the existence of an augmenting path and how to find
one, if one exists. These tasks can be done as follows. Direct edges in G according to M as
follows : An edge goes from A to B if it does not belong to the matching M and from B to
A if it does. Call this directed graph D.
Claim 1.3 There exists an augmenting path in G with respect to M iff there exists a directed
path in D between an exposed vertex in A and an exposed vertex in B.
This gives an O(m) algorithm (where m = |E|) for finding an augmenting path in G.
Let A∗ and B ∗ be the set of exposed vertices w.r.t. M in A and B respectively. We can
simply attach a vertex s to all the vertices in A∗ and do a depth-first-search from s till we
hit a vertex in B ∗ and then trace back our path.
Thus the overall complexity
√ of finding a maximum cardinality matching is O(nm). This
can be improved to O( nm) by augmenting along several augmenting paths simultaneously.
If there is no augmenting path with respect to M , then we can also use our search
procedure for an augmenting path in order to construct an optimum vertex cover. Consider
the set L (for Labelling) of vertices which can be reached by a directed path from an exposed
vertex in A.
3. There is no edge of the matching between a vertex a ∈ (A−L) and a vertex b ∈ (B ∩L).
Otherwise, a would be in L.
These remarks imply that every vertex in C ∗ is matched and moreover the corresponding
edges of the matching are distinct. Hence, |C ∗ | ≤ |M ∗ |. 4
Although the concepts of maximum matchings and minimum vertex covers can be defined
also for general (i.e. non-bipartite) graphs, we should remark that König’s theorem does not
generalize to all graphs. Indeed, although it is true that the size of a maximum matching
is always at most the minimum size of a vertex cover, equality does not necessarily hold.
Consider indeed the cycle C3 on 3 vertices (the smallest non-bipartite graph). The maximum
matching has size 1, but the minimum vertex cover has size 2. We will derive a minmax
relation involving maximum matchings for general graphs, but it will be more complicated
than König’s theorem.
1. Lecture notes on bipartite matching February 4th, 2015 5
Exercises
Exercise 1-2. An edge cover of a graph G = (V, E) is a subset of R of E such that every
vertex of V is incident to at least one edge in R. Let G be a bipartite graph with no isolated
vertex. Show that the cardinality of the minimum edge cover R∗ of G is equal to |V | minus
the cardinality of the maximum matching M ∗ of G. Give an efficient algorithm for finding
the minimum edge cover of G. Is this true also for non-bipartite graphs?
Exercise 1-3. Show that in any graph G = (V, E) (not necessarily bipartite), the size of
any maximal matching M (i.e. a matching M in which one cannot add an edge while keeping
it a matching) is at least half the size of a maximum matching M ∗ .
Exercise 1-4. Consider the problem of perfectly tiling a subset of a checkerboard (i.e. a
collection of unit squares, see example below) with dominoes (a domino being 2 adjacent
squares).
1.Show that this problem can be formulated as the problem of deciding whether a bipartite
graph has a perfect matching.
2.Can the following figure be tiled by dominoes? Give a tiling or a short proof that no
tiling exists.
Exercise 1-5. Consider a bipartite graph G = (V, E) with bipartition (A, B): V = A ∪ B.
Assume that, for some vertex sets A1 ⊆ A and B1 ⊆ B, there exists a matching MA covering
all vertices in A1 and a matching MB covering all vertices in B1 . Prove that there always
exists a matching covering all vertices in A1 ∪ B1 .
Exercise 1-6. Consider the following 2-person game on a (not necessarily bipartite) graph
G = (V, E). Players 1 and 2 alternate and each selects a (yet unchosen) edge e of the graph
so that e together with the previously selected edges form a simple path. The first player
unable to select such an edge loses. Show that if G has a perfect matching then player 1 has
a winning strategy.
1. Lecture notes on bipartite matching February 4th, 2015 6
Theorem 1.5 (Hall 1935) Given a bipartite graph G = (V, E) with bipartition A, B (V =
A ∪ B), G has a matching of size |A| if and only if for every S ⊆ A we have |N (S)| ≥ |S|,
where N (S) = {b ∈ B : ∃a ∈ S with (a, b) ∈ E}.
Clearly, the condition given in Hall’s theorem is necessary; its sufficiency can be derived
from König’s theorem.
Exercise 1-8. Consider a bipartite graph G = (V, E) with bipartition (A, B). For X ⊆ A,
define def(X) = |X| − |N (X)| where N (X) = {b ∈ B : ∃a ∈ X with (a, b) ∈ E}. Let
1.Generalize Hall’s theorem by showing that the maximum size of a matching in a bipar-
tite graph G equals |A| − def max .
2.For any 2 subsets X, Y ⊆ A, show that
the input (i.e. the number of bits needed to represent the input). Munkres’ analysis even
shows that the algorithm is strongly polynomial, and this means that the running time is
polynomial in the number of numbers involved (i.e. does not depend on the size of the costs
cij ). In this algorithm, the number of operations is upper bounded by O(n3 ) where n = |V |.
The algorithm is often called the Hungarian method, as it relies on ideas developed by
Hungarians, and especially König and Egerváry. In 2006, it was discovered that the method
had actually been discovered in the 19th century by Jacobi and this was posthumously pub-
lished in 1890 in Latin, see http://www.lix.polytechnique.fr/∼ollivier/JACOBI/jacobiEngl.htm.
We start by giving a formulation of the problem as an integer program, i.e. an optimiza-
tion problem in which the variables are restricted to integer values and the constraints and
the objective function are linear as a function of these variables. We first need to associate
a point to every matching. For this purpose, given a matching M , let its incidence vector
be x where xij = 1 if (i, j) ∈ M and 0 otherwise. One can formulate the minimum weight
perfect matching problem as follows:
X
Min cij xij
i,j
subject to:
X
xij = 1 i∈A
j
X
xij = 1 j∈B
i
xij ≥ 0 i ∈ A, j ∈ B
xij integer i ∈ A, j ∈ B.
This is not a linear program, but a so-called integer program. Notice that any solution to
this integer program corresponds to a matching and therefore this is a valid formulation of
the minimum weight perfect matching problem in bipartite graphs.
Consider now the linear program (P ) obtained by dropping the integrality constraints:
X
Min cij xij
i,j
subject to:
X
(P ) xij = 1 i∈A
j
X
xij = 1 j∈B
i
xij ≥ 0 i ∈ A, j ∈ B.
This is the linear programming relaxation of the above integer program. In a linear pro-
gram, the variables can take fractional values and therefore there are many feasible solutions
to the set of constraints above which do not correspond to matchings. But we only care
1. Lecture notes on bipartite matching February 4th, 2015 8
about the optimum solutions. The set of feasible solutions to the constraints in (P ) forms a
bounded polyhedron or polytope, and when we optimize a linear constraint over a polytope,
the optimum will be attained at one of the “corners” or extreme points of the polytope. An
extreme point x of a set Q is an element x ∈ Q which cannot be written as λy + (1 − λ)z
with 0 < λ < 1, y, z ∈ Q with y 6= z. (This will be formalized and discussed in greater depth
in the chapter on polyhedral combinatorics.)
In general, even if all the coefficients of the constraint matrix in a linear program are either
0 or 1, the extreme points of a linear program are not guaranteed to have all coordinates
integral (this is of no surprise since the general integer programming problem is NP-hard,
while linear programming is polynomially solvable). As a result, in general, there is no
guarantee that the value ZIP of an integer program is equal to the value ZLP of its LP
relaxation. However, since the integer program is more constrained than the relaxation, we
always have that ZIP ≥ ZLP , implying that ZLP is a lower bound on ZIP for a minimization
problem. Moreover, if an optimum solution to a linear programming relaxation is integral
(in our case, that would imply it is the incidence vector of a perfect matching) then it must
also be an optimum solution to the integer program.
However, in the case of the perfect matching problem, the constraint matrix has a very
special form and one can show the following very important result.
Theorem 1.6 Any extreme point of (P ) is a 0-1 vector and, hence, is the incidence vector
of a perfect matching.
such that ui + vj ≤ cij for all i ∈ A and j ∈ B. Then for any perfect matching M , we have
that X X X
cij ≥ ui + vj . (1)
(i,j)∈M i∈A j∈B
P P
Thus, i∈A ui + j∈B vj is a lower bound on the cost of the minimum cost perfect matching
(for bipartite graphs). To get the best lower bound, we would like to maximize this quantity,
and therefore we obtain another linear program
X X
Max ui + vj
i∈A j∈B
subject to:
(D) ui + vj ≤ cij i ∈ A, j ∈ B.
The constraints can be interpreted as wij ≥ 0 where wij = cij − ui − vj . This is a linear
program, call it (D). So far, we have shown that this linear program (D) provides a lower
bound on the cost of any perfect matching, but we can even prove that it provides a lower
bound on the value of any solution to the linear program (P ). Indeed consider any x ∈ P .
We have
XX XX
cij xij ≥ (ui + vj )xij
i∈A j∈B i∈A j∈B
! !
X X X X
= ui xij + vj xij
i∈A j∈B j∈B i∈A
X X
= ui + vj ,
i∈A j∈B
because of the constraints that x satisfy. (D) is the dual linear program in the sense of linear
programming duality.
In summary, so far, we know that
" #
X X X X
min cij ≥ min cij xij ≥ max ui + vj .
perfect matchings M (i,j)∈M x∈P (u,v)∈D
(i,j) i∈A j∈B
If, for any instance, we could always find a feasible solution u, v to (D) and a perfect matching
M such that we have equality in (1) (i.e. the cost of the perfect matching is equal to the
value of the dual solution) then we would know that we have equality throughout, that the
matching found is optimum, and that furthermore, the incidence vector of the matching M
is optimum for the linear program (P ). Given a solution u, v to the dual, a perfect matching
M would satisfy equality if it contains only edges (i, j) such that wij = cij − ui − vj = 0.
This is what is referred to as complementary slackness. However, for a given u, v, we may
not be able to find a perfect matching among the edges with wij = 0.
Other documents randomly have
different content
The Project Gutenberg eBook of La promessa
sposa di Lammermoor, Tomo 2 (of 3)
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
Language: Italian
Note:
TOMO SECONDO
LA PROMESSA SPOSA
DI
LAMMERMOOR
O NUOVI RACCONTI DEL MIO OSTIERE
RACCOLTI E PUBBLICATI
DA JEDEDIAH CLEISHBOTHAM
MAESTRO DI SCUOLA, E SAGRESTANO
DELLA PARROCCHIA DI GANDERCLEUGH
V O L G A R I Z Z AT I
DAL PROFESSORE
GAETANO BARBIERI
TOMO II.
FIRENZE
TIPOGRAFIA COEN E COMP.
MDCCCXXVI.
INDICE
Capitolo Primo.
Capitolo II.
Capitolo III.
Capitolo IV.
Capitolo V.
Capitolo VI.
Capitolo VII.
Capitolo VIII.
Capitolo IX.
Capitolo X.
Capitolo XI.
Capitolo XII.
LA PROMESSA SPOSA
DI
LAMMERMOOR
CAPITOLO PRIMO.
ebookbell.com