Professional Documents
Culture Documents
lap chi lau is an Assistant Professor in the Department of Computer Science and
Engineering at The Chinese University of Hong Kong. Lap Chis main research inter-
ests are in combinatorial optimization and graph algorithms. His paper on Steiner tree
packing was given the Machtey award in the IEEE Foundations of Computer Science
Conference. His Ph.D. thesis was awarded the doctoral prize from the Canadian Mathe-
matical Society and a doctoral prize from the Natural Sciences and Engineering Research
Council of Canada.
mohit singh is an Assistant Professor in the School of Computer Science, McGill Uni-
versity. He completed his Ph.D. in 2008 at the Tepper School of Business, Carnegie
Mellon University, where his advisor was Professor R. Ravi. His thesis was awarded
the Tucker prize by the Mathematical Programming Society. His research interests
include approximation algorithms, combinatorial optimization, and models that deal
with uncertainty in data.
C A M B R I D G E T E X T S I N A P P L I E D M AT H E M AT I C S
All titles listed below can be obtained from good booksellers or from Cambridge University Press.
For a complete series listing, visit http://www.cambridge.org/uk/series/sSeries.asp?code=CTAM
R. RAVI
Carnegie Mellon University
MOHIT SINGH
McGill University
cambridge university press
Cambridge, New York, Melbourne, Madrid, Cape Town,
Singapore, So Paulo, Delhi, Tokyo, Mexico City
A catalog record for this publication is available from the British Library.
Cambridge University Press has no responsibility for the persistence or accuracy of URLs for
external or third-party Internet Web sites referred to in this publication and does not guarantee
that any content on such Web sites is, or will remain, accurate or appropriate.
Contents
Preface page ix
1 Introduction 1
1.1 The assignment problem 1
1.2 Iterative algorithm 3
1.3 Approach outline 5
1.4 Context and applications of iterative rounding 8
1.5 Book chapters overview 8
1.6 Notes 10
2 Preliminaries 12
2.1 Linear programming 12
2.2 Graphs and digraphs 19
2.3 Submodular and supermodular functions 21
4 Spanning trees 46
4.1 Minimum spanning trees 46
4.2 Iterative 1-edge-nding algorithm 54
4.3 Minimum bounded-degree spanning trees 57
4.4 An additive one approximation algorithm 60
4.5 Notes 62
v
vi Contents
5 Matroids 65
5.1 Preliminaries 65
5.2 Maximum weight basis 67
5.3 Matroid intersection 71
5.4 Duality and minmax theorem 74
5.5 Minimum bounded degree matroid basis 77
5.6 k matroid intersection 82
5.7 Notes 85
9 Matchings 145
9.1 Graph matching 145
9.2 Hypergraph matching 155
9.3 Notes 160
Bibliography 233
Index 241
Preface
Audience
As teachers and students of combinatorial optimization, we have often looked
for material that illustrates the elegance of classical results on matchings, trees,
matroids, and ows, but also highlights methods that have continued applica-
tion. With the advent of approximation algorithms, some techniques from exact
optimization such as the primal-dual method have indeed proven their staying
power and versatility. In this book, we describe what we believe is a simple and
powerful method that is iterative in essence and useful in a variety of settings.
The core of the iterative methods we describe relies on a fundamental result
in linear algebra that the row rank and column rank of a real matrix are equal.
This seemingly elementary fact allows us via a counting argument to provide
an alternate proof of the previously mentioned classical results; the method
is constructive and the resulting algorithms are iterative with the correctness
proven by induction. Furthermore, these methods generalize to accommodate
a variety of additional constraints on these classical problems that render them
NP-hard a careful adaptation of the iterative method leads to very effective
approximation algorithms for these cases.
Our goal in this book has been to highlight the commonality and uses of
this method and convince the readers of the generality and potential for future
applications. We have used an elementary presentation style that should be
accessible to anyone with introductory college mathematics exposure in linear
algebra and basic graph theory. Whatever advanced material in these areas we
require, we develop from scratch along the way. Some basic background on
approximation algorithms such as is provided in the various books and surveys
available on this subject will be useful in appreciating the power of the results
we prove in this area. Other than the basic denition of an approximation
algorithm and the understanding of polynomial-time complexity, no further
technical background is required from this typically more advanced subject.
ix
x Preface
History
This book is inspired by the application of the iterative method in the eld of
approximation algorithms and its recent adaptations to prove performance guar-
antees for problems with two objectives. This adaptation showed us how the
proof technique can be used to reprove several classical results in combinatorial
optimization and also in approximation algorithms in a unied way. The book
owes its origin to the paper by Jain [75] describing a 2-approximation algo-
rithm for a large class of minimum cost network-design problems in undirected
networks. There are other earlier illustrations of the method in the literature,
but it is Jains work that inspired the adaptation that led to the results in this
monograph.
Jains result itself was a breakthrough when it appeared, and demonstrated the
power of his iterative rounding method to prove this result that was conjectured
based on a long line of earlier papers that applied a different primal-dual method
to these problems. In this sense, his method was a purely primal attack on the
problem. His method was extended by Lau et al. [88] to degree-bounded net-
work design problems. The adaptation of this method by Singh and Lau [125] to
the degree-bounded minimum cost spanning tree problem surprisingly involves
no rounding at all! Instead, variables whose value are set to one in the linear
programming relaxation are selected, and the program is modied carefully to
continue to yield this property. This explains the title of this monograph and
also hints at how this adaptation now allows one to prove exact results since
we no longer have to round any variables and lose optimality.
Acknowledgments
We are grateful to the many organizations whose support have enabled this
work: US National Science Foundation, Research Grants Council of Hong
Kong, Microsoft Research, Kyoto University RIMS, the Qatar Foundation,
Carnegie Mellon University Pittsburgh and Doha, McGill University, and the
Chinese University of Hong Kong. We are also grateful to our families for their
support of this endeavor. We hope you will enjoy reading this monograph as
much as we did writing it.
Preface xi
Dedications
Lau dedicates this work to his parents, his wife Pui Ming, and their children
Ching Lam, Sing Chit, and Ching Yiu. Ravi dedicates this work to the memory
of his late brother, R. Balasubramaniam, who encouraged him to write a book.
Singh dedicates this work to his parents.
1
Introduction
In this rst chapter we motivate our method via the assignment problem.
Through this problem, we highlight the basic ingredients and ideas of the
method. We then give an outline of how a typical chapter in the rest of the
book is structured, and how the remaining chapters are organized.
1
2 1 Introduction
V1 V2
u1 v1
u2 v2
u3 v3
u4 v4
Figure 1.1 The solid edges form a perfect matching in the bipartite graph.
xuv = 1 v V2
u:{u,v}E
xuv 0 {u, v} E
The objective function is to minimize the total weight of the matching, while
the two sets of linear equalities ensure that every vertex in V1 is matched to
exactly one vertex in V2 in the assignment and vice-versa.
A fundamental result in the operations research literature [71] is the polyno-
mial time solvability (as well as the practical tractability) of linear programming
problems. There is also a rich theory of optimality (and certicates for it) that
has been developed (see e.g., the text by Chvatal [29]). Using these results,
we can solve the problem we formulated earlier quite effectively for even very
large problem sizes.
Returning to the formulation, however, our goal is to nd a binary assign-
ment of vertices in V1 to vertices in V2 , but in the solution returned, the
x-variables may take fractional values. Nevertheless, for the assignment prob-
lem, a celebrated result that is a cornerstone of combinatorial optimization [30]
states that for any set of weights that permit a nite optimal solution, there
is always an optimal solution to the preceding linear program (LP) that takes
binary values in all the x-variables.
Such integrality results of LPs are few and far between, but reveal rich under-
lying structure for efcient optimization over the large combinatorial solution
space [121]. They have been shown using special properties of the constraint
1.2 Iterative algorithm 3
matrix of the problem (such as total unimodularity) or of the whole linear sys-
tem including the right-hand side (such as total dual integrality). This book is
about a simple and fairly intuitive method that is able to re-prove many (but not
all) of the results obtained by these powerful methods. One advantage of our
approach is that it can be used to incorporate additional constraints that make
the problem computationally hard and allow us to derive good approximation
algorithms with provable performance guarantee for the constrained versions.
If any xuv is set to 1 in an optimal solution to the LP, then we take this pair
as matched in our solution, delete them both to get a smaller problem, and
proceed to the next iteration.
If any variable xuv is set to 0 in an optimal solution, we remove the edge
(u, v) to again get a smaller problem (since the number of edges reduces by
1) and proceed to the next iteration.
We continue these iterations till all variables have been xed to either 0 or 1.
Given the preceding iterative algorithm, there are two claims that need to be
proven. First, the algorithm works correctly (i.e., it can always nd a variable
with value 0 or 1) in each iteration, and, second, the selected matching is an
optimal (minimum weight) matching. Assuming the rst claim, the second
claim can be proved by a simple inductive argument. The crux of the argument
is that in each iteration our solution pays exactly what the fractional optimal
solution pays. Moreover, the fractional optimal solution when restricted to the
residual graph remains feasible for the residual problem. This allows us to
apply an inductive argument to show that the matching we construct has the
same weight as the fractional optimal solution and is thus optimal. For the rst
claim, it is not clear a priori that one can always nd a variable with value 1 or
0 at every step. Indeed, the example in Figure 1.2 shows that there might not
be such a variable at some fractional optimal solution. However, we use the
important concept of the extreme point (or vertex) solutions of linear programs
to show that the preceding iterative algorithm works correctly.
1
u2 2 v2
u2 1 v2 u2 0 v2
1 1
2 2 0 0 1 1
v1 u3
v1 u3 v1 u3
1 1
2 2 1 1 0 0
u1 1 v3
2 u1 0 v3 u1 1 v3
(a) (b) (c)
Figure 1.2 (a) The fractional solution which places 12 on all the edges is an optimal
fractional solution but not an extreme point solution. The fractional solution in (a)
is the convex combination of the integral solutions in (b) and (c).
Extreme point solutions are also known as vertex solutions and are equivalent
to basic feasible solutions. These concepts are dened in Chapter 2. Pictorially
extreme point solutions are the corner points of the set of feasible solutions.
The following basic result shows that there is always an optimal extreme point
solution to bounded linear programs.
This is a lower bound on the number of variables of the linear program, since
we have one variable for each edge.
On the other hand, using the rank lemma, we derive an upper bound on the
number of variables of the linear program. In the linear program for bipar-
tite matching, we have only 2n constraints (one for each vertex in V1 V2 ).
Moreover, these 2n constraints are dependent since the sum of the constraints
for vertices in V1 equals the sum of the constraints for vertices in V2 . Hence,
the number of linearly independent constraints is at most 2n 1. By the Rank
Lemma, the number of variables is at most 2n 1. This provides us an upper
bound on the number of variables. Since our upper bound is strictly smaller than
the lower bound, we obtain the desired contradiction. Therefore, in an extreme
point solution of the linear program for bipartite matching, there must exist a
variable with value 0 or 1, and thus the iterative algorithm works. The number
of iterations can be simply bounded by the number of edges in the bipartite
graph. We give a formal proof of the preceding outline in Chapter 3.
For the bipartite matching problem, we will see how the iterative algorithm
presented here can be adapted to give approximation algorithms for the gen-
eralized assignment problem in Chapter 3. Other generalizations include the
budgeted allocation problem in Chapter 3 and the hypergraph matching problem
in Chapter 9.
(iv) Analysis: We then analyze the iterative algorithm. This involves arguing
the following two facts. We establish, rst, that the algorithm runs correctly
and, second, that it returns an optimal solution.
(a) Correctness: We show that the iterative algorithm is correct by argu-
ing that there is always a 1-element or a 0-element to pick in every
iteration. This crucially uses the characterization of tight constraints
at this optimal extreme point solution. The argument here also follows
the same contradiction proof idea (lower bound > upper bound): We
assume for a contradiction that there is no 1-element or 0-element and
get a large lower bound on the number of nonzero variables in the opti-
mal extreme point solution. On the other side, we use the sparsity of
the linearly independent tight constraints to show an upper bound on
the number of such constraints. This then contradicts the Rank Lemma
that insists that both these numbers are equal, and proves that there is
always a 1- or 0-element.
(b) Optimality: We nally show that the iterative algorithm indeed returns
an optimal solution using a simple inductive argument. The crux of
this argument is to show that the extreme point solution induced on the
residual problem remains a feasible solution to this residual problem.
For the NP-hard variants of the problems we study, our goal is to show that
the preceding framework can be naturally adapted to provide an approxima-
tion algorithm via the iterative method. In particular, recall that this iterative
algorithm typically has one or both of two additional steps: rounding and
relaxation.
using the separation oracle. We also outline the important rank lemma and other
properties about extreme point solutions. Finally, we discuss the LP duality
theorem and the complementary slackness conditions, and some basic facts
about submodular functions and graphs.
A rst stream of chapters study problems in undirected graphs. In Chapter 3,
we give the rst example to illustrate the iterative method on bipartite matching
and vertex cover problems. We also show how the proof for bipartite matching
leads to approximation algorithms for the generalized assignment problem and
the budgeted allocation problem. In Chapter 4, we study the classical spanning
tree problem and its extension to the minimum bounded degree spanning tree
problem. This chapter introduces the uncrossing technique in combinatorial
optimization. In Chapter 5, we generalize the arguments for undirected span-
ning trees to bases of matroids as well as to the common bases in the intersection
of two matroids, and also to the minimum bounded degree matroid basis prob-
lem and the maximum common independent set problem in the intersection
of k matroids. We also show integrality of the dual of matroid and matroid
intersection problems that lead to certain minmax results.
A second stream of chapters study problems in directed graphs. In Chapter 6,
we study the directed rooted spanning tree (or arborescence) problem, along
with a degree-bounded version and then generalize the method developed here
to a rooted k-connected subgraph problem providing a self-contained proof of
a result of Frank and Tardos [46]. This is developed further in Chapter 7 to
showing the integrality of submodular ow problems. For this last problem,
we again complement the proof of exact LP characterization with a description
of an approximation algorithm for the degree-bounded version built upon the
proof of the exact counterpart. For the submodular ow problem, we also give
a proof of the integrality of its dual.
We then present a few more advanced chapters applying the iterative method.
In Chapter 8, we apply the iterative method to general problems involv-
ing network matrices as constraint matrices (with integral right-hand sides)
and their duals. We then show the application of network matrices to derive
integrality of the duals of various linear programs encountered in earlier
chapters (such as those for matroid bases, matroid intersection, and submodu-
lar ow). In Chapter 9, we address the generalization of perfect and maximum
matchings in bipartite graphs to general graphs, and also address higher dimen-
sional matching problems. We then present a common generalization of Jains
2-approximation algorithm for the survivable network design problem (SNDP),
and a result of Boyd and Pulleyblank on 1-edges in the Held-Karp relaxation
for the Symmetric Traveling Salesman Problem (STSP) in Chapter 10. This
10 1 Introduction
chapter also generalizes Jains result to degree bounded network design prob-
lems. In Chapter 11, we extend the application of the method to constrained
optimization problems such as partial covering and multicriteria problems. In
Chapter 12, we add the primal-dual complementary slackness conditions to
the iterative method to derive approximation results for some cut problems.
In Chapter 13 we present some early examples of iterative methods, including
the Beck-Fiala theorem on discrepancy and Karmarkar-Karp algorithm for bin
packing. Most chapters contain selected historical notes as well as exercises.
1.6 Notes
Polyhedral combinatorics, the compact polyhedral description of important
combinatorial optimization problems, is a fundamental and unifying tool in
algorithms, combinatorics, and optimization. A highlight of this line of research
is the pioneering work by Jack Edmonds [34]; we refer the reader to the
book [121] and the historical survey [119] by Schrijver for an encyclopedic
treatment of this subject.
Two closely related methods for proving integrality of polyhedra that are
widely covered in Schrijvers book deserve mention: Total Unimodularity (TU)
and Total Dual Integrality (TDI). Informally, TU matrices are constraint matri-
ces such that for integral right-hand sides, the linear programming relaxations
provide integral solutions (whenever the solutions exist and are nite). Alter-
nately, using the relation between extreme points solutions and basic feasible
solutions to LPs developed in the next chapter, these matrices are those for
which every square submatrix has determinant value zero, plus one or minus
one. The class of Network matrices that we will study in Chapter 8 is an impor-
tant example of such TU matrices. Total Dual Integrality involves both the
constraint matrix and the right-hand side: A system of inequalities dened by a
constraint matrix and right-hand side vector is TDI if, for all integer objective
coefcients, the dual program has an integral solution (whenever it exists and
is nite). If a system is TDI for an integral right-hand side, then the polyhe-
don described by the system is integral hence giving another way of providing
characterizations of integral solutions to combinatorial optimization problems.
A popular example of an integral characterization that arises from a TDI sys-
tem is the description of matchings in general graphs that we develop using our
alternate iterative method in Chapter 9.
An implicit use of the iterative method is found in the alternate proof of
Steinitzs theorem due to Grinberg and Sevastyanov [10, 65, 127]. Earlier uses
of the iterative relaxation method can be traced back to the proof of a discrepancy
theorem by Beck and Fiala [14] and the approximation algorithm for the bin
1.6 Notes 11
In this chapter we discuss linear programming and basic facts about extreme
point solutions to linear programs. We then briey discuss solution methods
for linear programs, particularly stating the sufciency of nding a separation
oracle for the program to be able to solve it. We then state some concepts
from graph theory which are used throughout the book. The last part of the
chapter discusses submodular and supermodular functions. These functions
give a general tool for modeling a variety of optimization problems. Excellent
introductory textbooks or surveys in all three areas are available for further
reference [17, 73, 131].
minimize cT x
subject to Ax b
x0
12
2.1 Linear programming 13
A(x + y) b, x + y 0
A(x y) b, x y 0
cT x cT (x + y)
cT x cT (x y)
cT y = 0
We now show that x + y is a new optimal solution with one more zero
coordinate or one extra tight constraint. Since x + y 0 and x y 0, if xi = 0
then yi = 0. Therefore, the coordinates that were at 0, remain at 0. Moreover
A= (x + y) = A= x = b since A= y = 0; hence, tight constraints remain tight.
Since we assume that min{cT x : x P } is nite, is nite, and the solution
x + y has one more zero coordinate (when = (xj )/(yj )) or one extra
tight constraint (when = (Ai x bi )/(Ai y)).
Proceeding this way, we can convert any optimal solution to one that is also
an extreme point solution, proving the claim.
We now prove the important Rank Lemma. We restate the lemma (in
canonical form) for completeness.
minimize cT x
subject to Ax b
x0
minimize cT x
subject to Ax + s = b
x0
s0
xB = A1 1
B b. If in addition to being basic, it is also feasible (i.e., AB b 0), it
is called a basic feasible solution for short. The correspondence between bases
and basic feasible solutions is not one to one. Indeed there can be many bases,
which correspond to the same basic feasible solution. The next theorem shows
the equivalence of extreme point solutions and basic feasible solutions.
Theorem 2.1.5 Let A be a m n matrix with full row rank. Then every
feasible x to P = {x : Ax = b, x 0} is a basic feasible solution if and only if
x is an extreme point solution.
Proof () If x is a basic feasible solution, then AB is invertible. Since Ax is
a submatrix of AB (it is a proper submatrix if some basic variable is at 0), Ax
has linearly independent columns. Therefore, by Lemma 2.1.3, x is an extreme
point solution.
() If x is an extreme point solution, then by Lemma 2.1.3, Ax has linearly
independent columns. Now we can add columns to Ax from A to convert it into
an invertible matrix AB . Note that since Ax = b, AB xB + AN xN = b, where
AN and xN denote the nonbasic parts of A and x, respectively. By construction
of AB , xN = 0 and so xB = A1B b. So x is a basic feasible solution with AB as
the basis.
The following theorem of Grtschel, Lvasz, and Schrijver [67] shows that
polynomial time separability is equivalent to polynomial time solvability of a
linear program; we state it in an informal manner that is convenient for com-
binatorial optimization problems. The basis of this equivalence is the ellipsoid
algorithm.
Clearly, one can solve the separation problem by checking each constraint
but for problems where the number of constraints is exponential in size such a
method is too slow. In this book, as we consider LP formulations with an expo-
nential number of constraints, we will often provide efcient separation oracles
showing that the linear program for the problem is solvable in polynomial time.
xj 0 1 j n
yi 0 1 i m
It is not difcult to show that the optimal value of the primal linear program is
at least the optimal value of the dual linear program, and thus any dual feasible
solution provides a lower bound on the optimal value of the primal program.
This is called the weak LP duality theorem, whose proof also follows from the
derivation of the complementary slackness conditions below. A fundamental
result in linear programming is the strong duality theorem, which shows that
the optimal value of the primal linear program is actually equal to that of the
dual linear program.
Theorem 2.1.9 (Strong Duality Theorem) If the primal linear program has
an optimal solution, so does its dual, and the respective optimal costs are equal.
Many combinatorial minmax theorems can be derived from the strong dual-
ity theorem. For example, we will see in Chapter 3 the minmax theorem for
bipartite matching, and in Chapter 5 for the minmax theorem for matroid inter-
section. We refer the reader to any textbook on linear programming (e.g., [29])
for the proof of the strong duality theorem.
m
Either xj = 0 or aij yi = cj .
i=1
n
Either yi = 0 or aij xj = bi .
j =1
where the rst inequality is by the constraints in the dual linear program, the
second equality is by interchanging the order of the summations, and the third
inequality is by the constraints in the primal linear program. Note that this
shows the weak duality theorem. Since x and y are optimal solutions, by the
strong duality theorem, we have that nj=1 cj xj = m i=1 bi yi , and thus equality
must hold throughout. The primal complementary slackness conditions follow
from the rst inequality holding as an equality, while the dual complementary
slackness conditions follow from the last inequality holding as an equality.
Mengers theorem shows a close connection between disjoint paths and cuts,
which will be used in writing linear programs and constructing separation ora-
cles. One can also obtain the corresponding minmax theorems for undirected
graphs and for vertex connectivity by simple transformations (see the exercises).
2.3 Submodular and supermodular functions 21
2.3.1 Submodularity
Denition 2.3.1 A function f : 2V R is submodular if for every pair A, B
of subsets of V , we have
Similarly, we get
A B
Figure 2.1 In this example the solid edges are counted exactly once in both the
LHS d(A)+d(B), and the RHS d(AB)+d(AB), and the bold edge is counted
exactly twice on both sides. The dashed edge is counted in the LHS but not in the
RHS.
Note that the edge cut function can be extended to the case when nonnegative
weights, say x : E R+ are assigned to the edges. Instead of d(S) = |(S)|,
we have x((S)) = e(S) xe . The proof also shows that the function x is
submodular as well.
For undirected graphs, since the degree function is symmetric (i.e., d(S) =
d(V S)), by applying Proposition 2.3.2 on the complements we have
which can also be veried directly using the same method as above (see
Figure 2.2).
Let us dene a stronger notion of submodularity.
f (A) + f (B) f (A B) + f (A B)
and
f (A) + f (B) f (A \ B) + f (B \ A).
The second property in Denition 2.3.4 has also been referred to as posimod-
ularity [101, 102]. The edge cut functions in undirected graphs are strongly
submodular. Indeed, if a function is submodular and symmetric, then it is
strongly submodular (see exercises).
2.3 Submodular and supermodular functions 23
A B
Figure 2.2 In this example, the solid edges are counted exactly once in both the
LHS d(A) + d(B) and the RHS d(A \ B) + d(B \ A), and the bold edge is counted
exactly twice on both sides. The dashed edge, however, is counted in the LHS but
not in the RHS.
2.3.2 Supermodularity
We move on to a symmetric concept, supermodularity.
Denition 2.3.5 A function f : 2V R is supermodular if for every pair A, B
of subsets of V , we have
2.3.3 Renements
Denition 2.3.7 Two subsets A and B of a ground set V are intersecting if
A B = , A B = and B A = . A function f : 2V R is intersecting-
submodular if for every pair A, B of intersecting subsets of V , we have
Denition 2.3.8 Two subsets A and B of a ground set V are crossing if none
of the four subsets A B, A \ B, B \ A and V \ (A B) are empty. A function
24 2 Preliminaries
Proposition 2.3.9 The cut functions d in and d out of any directed graph are
submodular. This is also true for the weighted directed cut functions with
nonnegative weights.
A B
Figure 2.3 In this example the solid arcs are counted exactly once in both the LHS
out (A) + out (B) and the RHS out (A B) + out (A B) and the bold edges are
counted exactly twice on both sides. The dashed edges are counted in the LHS but
not in the RHS.
2.3 Submodular and supermodular functions 25
Exercises
2.1 Consider a bounded linear program. Prove that an LP solution x is a basic
feasible solution (or extreme point solution) if and only if there is an
objective function c such that x is the unique optimum solution.
2.2 Prove Mengers theorem for undirected graphs: The maximum number
of edge-disjoint s-t paths is equal to the minimum d(X) over all sets
X V with s / X and t X. (Hint: Bidirect the edges and apply
Theorem 2.2.1.)
2.3 Two directed s-t paths P1 and P2 are internally vertex-disjoint if V (P1 )
V (P2 ) = {s, t}. A vertex set U V is an s-t cut, if there is no directed
s-t paths in G U . Prove Mengers theorem for vertex connectivity: The
maximum number of internally vertex-disjoint s-t paths is equal to the
minimum size of a vertex s-t cut. (Hint: Split each vertex appropriately
and apply Theorem 2.2.1.)
2.4 Derive a corresponding Mengers theorem for vertex connectivity in
undirected graphs.
2.5 Show that if a function is submodular and symmetric then it is strongly
submodular. Hence, derive that a cut function of an undirected graph is
strongly submodular.
2.6 Verify Proposition 2.3.9 that the in- and out-cut functions d in and d out for
a digraph are indeed submodular but not strongly submodular.
2.7 Verify Proposition 2.3.6. Is the induced edges (arcs) function supermod-
ular for digraphs?
2.8 Show that a function f : 2V R+ is (fully) submodular if and only if
f (X + v) f (X) f (Y + v) f (Y ) whenever X Y and v V X.
2.9 Use the equivalent denition of submodular function in Exercise 2.8 to
derive Proposition 2.3.2 and Proposition 2.3.9.
2.10 Show that the connectivity requirement function for the survivable net-
work design problem, f (S) = maxuS,vS / ruv for all S V is skew
supermodular.
Exercises 27
2.11 Show that the connectivity requirement function for the k-connected
subgraph problem, f (S) = k for every nonempty S V is crossing
supermodular.
2.12 Show that the connectivity requirement function for the rooted-
connectivity problem, f (S) = k for every nonempty S V with r
/S
for a specied vertex r is intersecting supermodular.
3
Matching and vertex cover in bipartite graphs
28
3.1 Matchings in bipartite graphs 29
xe 0 e E
Observe that the linear program LPbm (G) is compact (i.e., the number of
constraints and variables is polynomially bounded in the size of the problem).
Hence, the linear program can be solved optimally in polynomial time using
Theorem 2.1.6.
We prove the following theorem by an iterative algorithm in the next section.
Theorem 3.1.1 Given any weight function w there exists an integral matching
M such that w(M) w x where x is an optimal solution to LPbm (G).
Lemma 3.1.3 Given any extreme point solution x to LPbm (G) such that xe > 0
for each e E there exists W V1 V2 such that
Proof The proof will proceed by induction on the number of iterations of the
algorithm. The base case is trivial when the algorithm proceeds for only one
iteration.
If we nd an edge e with xe = 0 in Step (ii)(a). of the algorithm, then the
residual problem is to nd a matching in the graph G = G \ {e}, where we
remove the edge e from G. The residual solution xres , x restricted to G \ {e}, is
a feasible solution to the linear programming relaxation of the residual problem.
By induction, the algorithm returns a matching F E(G ) with weight at least
the optimal solution to LPbm (G ). Since w(F ) w xres = w x, the induction
hypothesis holds in this case.
In the other case, if we nd an edge e = {u, v} with xe = 1 in Step (ii)(b). of
the algorithm, then the residual problem is to nd a matching that contains the
edge e. This is exactly the matching problem in graph G = G \ {u, v}, where
3.1 Matchings in bipartite graphs 31
we remove the vertices u and v and their incident edges from G. Moreover
xres , x restricted to edges in G , is a feasible solution to the linear programming
relaxation for the residual problem. Inductively, the algorithm will return a
matching F of weight at least the weight of the optimum solution of LPbm (G ),
and hence w(F ) w xres , as xres is a feasible solution to LPbm (G ). The
algorithm returns the matching F = F {e}, and we have
This implies the inequalities must hold as equalities, and thus dE (v) = 0 for
each v / W by the rst inequality and dE (v) = 2 for each v W by the second
inequality.
Hence, E is a cycle cover on the vertices in W . Let C be any such cycle with
all vertices in W . Since C is an even cycle because G is bipartite, we also have
((v)) = ((v))
vCV1 vCV2
Thus, we obtain from Lemma 3.1.5 that the algorithm in Figure 3.1 returns
a matching with total weight at least the weight of the linear program. This
completes the proof of Theorem 3.1.1.
place time constraints for all machines but a subset M M which is initialized
to M. We have a variable xe for each e = ij denoting whether job j is assigned
to machine i.
minimize cij xij
e=(i,j )E
subject to xe = 1 j J
e(j )
p e xe Ti i M
e(i)
xe 0 e E
Lemma 3.2.3 Consider any extreme point solution x to LPga . One of the
following must hold.
Proof Suppose for sake of contradiction that both the conditions do not hold.
By Step (ii)a and Step (ii)b, we have 0 < xe < 1 for each edge e. Each job j
has degree at least two since e(j ) xe = 1 and there is no edge with xe = 1
by Step (ii)b. Moreover, each machine in M has degree at least two because
the constraints for machines with degree one have been removed in Step (ii)c.
From Lemma 3.2.2 we have that |E| = |J | + |M |. This implies that
j J d(j ) + iM d(i)
|J | + |M | = |E| |J | + |M | |J | + |M |
2
and hence all inequalities must hold as equalities. The rst inequality implies
that each machine i M \ M has degree zero; the second inequality implies
that each job j J and each machine i M have degree exactly two; the
last inequality implies that J = J and M = M . Therefore, G is a union of
cycles, with vertices in J M (tight constraints). Consider any cycle C. The
total number of jobs in C is exactly equal to the total number of machines in C.
Therefore, since each job j J has iM xij = 1, there must be a machine i
with j J xij 1. Hence, this machine i has degree two and j J xij 1,
contradicting that Step (2)c. cannot be applied.
Proof of Theorem 3.2.1 We rst prove that the algorithm returns an assignment
of optimal cost. We claim that at any iteration of the algorithm the cost of
assignment given by F plus the cost of the current linear programming solution
to LPga is at most the cost of the initial linear programming solution. This can
be shown by a simple inductive argument on the number of iterations. Observe
that the claim holds trivially before the rst iteration. In any iteration, if we
assign job j to machine i in Step (ii)b then the cost of F increases by cij and
the current linear programming solution decreases by cij xij = cij since xij = 1.
Hence, the claim holds. If we remove a constraint in Step (ii)c, then the cost
of F remains the same, while the cost of the current linear program can only
decrease. Hence, the claim holds in this case as well. Thus, nally when F is a
feasible assignment, by induction, the cost of assignment given by F is at most
the cost of the initial linear programming solution.
Finally, we show that machine i is used at most 2Ti units for each i. Fix any
machine i. We rst argue the following claim. If i M , then at any iteration we
must have Ti + Ti (F ) Ti , where Ti is the residual time left on the machine at
this iteration and Ti (F ) is the time used by jobs assigned to machine i in F . The
proof of the claim follows by a simple inductive argument as in the preceding
inductive argument for costs. Now consider when the machine i is removed from
M . There are two possibilities. If there is only one job j in machine i, then the
total processing time at machine i is at most Ti + pij 2Ti , where the inequality
holds because of the pruning step (where we deleted edges assigning a job to
machine i if its processing time exceeded Ti ). If there are two jobs j1 and j2 in
machine i, then let x denote the linear programming solution when the constraint
for machine i is removed. The total processing time at machine i at most
Ti (F ) + pij1 + pij2
Ti xij1 pij1 xij2 pij2 + pij1 + pij2
Ti + (1 xij1 )pij1 + (1 xij2 )pij2
Ti + (2 xij1 xij2 )Ti
2Ti
because pij1 , pij2 Ti again by the pruning step and xij1 + xij2 1 by
Step (ii)c. This completes the proof of Theorem 3.2.1.
xij {0, 1} i A, j Q
The constraints require that each item is allocated to at most one agent. The
objective function can be rewritten as a linear function by adding auxiliary
constraints. Thus, we obtain a linear programming relaxation by relaxing the
integrality constraints. Observe that by appropriate scaling there is always an
optimal fractional solution in which j Q bij xij Bi for all i A. Henceforth,
we consider the following equivalent linear programming relaxation, denoted
by LPmba , which is similar to that of the generalized assignment problem.
Throughout this section, we assume without loss of generality that bij Bi for
each j Q (for otherwise, we can reset bij to Bi ) and maintain this invariant
in all iterations of the iterative algorithm.
maximize bij xij
iA j Q
subject to bij xij Bi i A
j Q
xij 1 j Q
iA
xij 0 i A, j Q
3.3 Maximum budgeted allocation 37
Lemma 3.3.2 Given any extreme point solution x to LPmba with xij > 0 for
each i A, j Q, there exist A A, Q Q such that
(i) j Q bij xij = Bi for each i A and iA xij = 1 for each j Q .
(ii) The corresponding row vectors in A and Q are linearly independent.
(iii) |E| = |A | + |Q |.
While Q = do
(i) Find an optimal extreme point solution x to LPmba . Remove all edges
with xij = 0.
(ii) Pick a leaf agent i. Let L be the set of leaf items in N (i). Assign each
item l L to i and then remove L. Modify Bi := Bi lL bil xil .
(a) If i has a non-leaf item j , modify the bid of i on j to be bij
min(bij , Bi ).
lL bil xil . Note that x restricted to the remaining edges is a feasible solution
to the residual problem. Let bij = min(bij , Bi ) denote the new bid of agent i
to item j . If bij = bij , then the decrease of the fractional solution is at most
lL bil xil . Otherwise, if bij = Bi , then the decrease of the fractional solution
is at most
bil xil + (bij bij )xij bil xil + (Bi Bi ) = 2 bil xil
lL lL lL
where the rst inequality follows because bij Bi and bij = Bi and xij 1.
Hence, in either case, the increase of the integral solution is at least half the
decrease of the fractional solution in each iteration. It follows by an inductive
argument that the nal integral solution is at least half the initial fractional
solution.
While Q = do
(i) Find an optimal extreme point solution x to LPmba . Remove all edges
with xij = 0.
(ii) If there is a leaf agent i with all the items in N (i) being leaf items, then
assign each item l N (i) to i and remove N (i) and i.
(iii) Pick a tight leaf agent i. Let L be the set of leaf items in N (i), and j
be the unique non-leaf item in N (i). Assign each item in N (i) \ {j } to
i and remove each item in N (i) \ {j }. Modify both
4
Bi , bij bij xij .
3
Lemma 3.3.4 In any iteration the increase of the integral solution is at least
3
4
of the decrease of the fractional solution.
Proof Consider any iteration, and rst suppose that Step (ii) is applied on a leaf
agent i in this iteration. Let x denote the optimal fractional solution at the end
of the iteration. Note that Bi is modied at most once throughout the algorithm.
Suppose Bi has not been modied before this iteration. Then the increase of the
integral solution is at least lN(i) bil xil . Since the current solution x restricted
to the remaining edges is a feasible solution in the residual problem, the decrease
of the fractional solution is at most lN(i) bil xil , and thus the lemma holds.
Now suppose that Bi has been modied before this iteration. In this case, let
j be the unique neighbor of i. Let y denote the fractional solution when Bi was
modied. Let Bi denote the original budget, bij denote the original bid, and
bij denote the current bid. The decrease in the fractional solution in the current
40 3 Matching and vertex cover in bipartite graphs
4
bij = bij yij .
3
However, from the iteration when its budget was modied, the unspent frac-
tional budget left on agent i is at least bij yij , and hence the increase of the
integral solution is at least
3
bij yij bij .
4
Therefore, the lemma holds if Step (ii) is applied.
Now, nally assume that Step (iii)(b) was applied on a tight leaf agent i. Let
j be the unique nonleaf item in N (i). Then increase in the integral solution is
at least
bil xil = Bi bij xij .
lN(i)\{j }
Hence, the increase in the integral solution is at least 3/4 of the decrease of the
fractional solution as veried below:
3
7(Integral) 7(FractionalSolution)
4
3 4
= Bi bij xij (Bi bij xij2 )
4 3
Bi Bi bij
= bij xij (1 xij ) 0
4 4 4
where the second last inequality uses the fact that x(1 x) 1/4 for any 0
x 1. This completes the proof of the lemma, and thus the proof of
Theorem 3.3.1.
subject to xu + xv 1 e = {u, v} E
xv 0 v V
As in the previous two sections, the linear program LPbvc (G) is compact
(i.e., the number of constraints and variables is polynomially bounded in the
size of the problem). Hence, the linear program can be solved optimally in
polynomial time by Theorem 2.1.6.
We prove the following theorem by an iterative algorithm.
Theorem 3.4.1 Given any cost function c there exists an integral vertex cover
U such that c(U ) c x where x is an optimal solution to LPbvc (G).
Lemma 3.4.3 Given any extreme point x to LPbvc (G) with xv > 0 for each
v V , there exists F E such that
The proof of this claim is identical to the proof of Claim 3.1.4. We leave the
details to the reader. We now complete the proof of Theorem 3.4.1 by showing
that we can always nd a vertex v with xv = 0 and dE (v) = 0, or a vertex with
xv = 1. The proof of the following lemma crucially uses the characterization
of extreme point solutions given in Lemma 3.4.3.
Lemma 3.4.5 Given any extreme point solution x to LPbvc (G) there must exist
a vertex v with xv = 0 and dE (v) = 0, or a vertex with xv = 1.
Proof Suppose for the sake of contradiction that xv < 1 and xv = 0 implies
that dE (v) 1 for each vertex v V . This implies that there is no vertex v
with xv = 0. This follows from the fact that any neighbor u of v must have
3.5 Vertex cover and matching: duality 43
Thus, by Lemma 3.4.5, the algorithm in Figure 3.5 returns a vertex cover
that costs at most the optimal solution to the linear program LPbvc (G), proving
Theorem 3.4.1.
3.6 Notes
The bipartite perfect matching problem (also known as the assignment problem)
is one of the oldest problems in combinatorial optimization (see e.g., [119]). The
rst proof of polynomial solvability of maximum weight bipartite matching via
the Hungarian method was given by Egervry [40], sharpened by Kuhn [87]
and shown efcient by Munkres [100]. The unweighted case was addressed
earlier by Frobenius [48]. Birkhoff [16] was the rst to show that the extreme
points of the bipartite matching polyhedron (dened by the so-called doubly
stochastic constraint matrix) are integral.
The generalized assignment problem was rst studied by Shmoys and Tar-
dos [122] following up on a bicriteria approximation algorithms for the problem
due to Lin and Vitter [91]. Trick [128] studied the version minimizing the
weighted sum of cost and makespan of the underlying scheduling problem,
while Lenstra, Shmoys and Tardos [90] study the makespan problem and give
the 2-approximation that was generalized in the subsequent work of Shmoys and
Tardos [122]. Extensions have been considered by Saha and Srinivasan [116]
and Zhang et al. [135]; see exercises.
The maximum budgeted allocation
problem is NP-hard. The rst approx-
imation algorithm is a (1 + 5)/2-approximation algorithm given by Garg,
Kumar, and Pandit [57]. The approximation ratio was subsequently improved
to e/(e 1) by Andelman and Mansour [3] and 3/2 by Azar et al. [6]. The result
presented in this chapter is by Chakrabarty and Goel [23]. The same result is also
obtained independently by Srinivasan [126] by a dependent rounding algorithm.
The bipartite minimum vertex cover problem is the linear programming dual
to the maximum matching problem. The minmax theorem relating them is due
to Knig [84]. The Hungarian method and LP duality can be used to show the
integrality of the weighted vertex cover problem. An alternate approach is to use
the total unimodularity (see e.g., the book by Nemhauser and Wolsey [106]) of
the constraint matrix which is the edge-node incidence matrix of the bipartite
graph, which is also an example of a network matrix that we will study in
Chapter 8.
Exercises
3.1 Given a bipartite graph G = (V , E) and a cost function c : E R, a perfect
matching is a subgraph with degree exactly one at any node.
(a) Write a linear programming formulation for the minimum cost perfect
matching problem.
Exercises 45
In this chapter, we will study the spanning tree problem in undirected graphs.
First, we will study an exact linear programming formulation and show its inte-
grality using the iterative method. To do this, we will introduce the uncrossing
method, which is a very powerful technique in combinatorial optimization. The
uncrossing method will play a crucial role in the proof and will occur at numer-
ous places in later chapters. We will show two different iterative algorithms for
the spanning tree problem, each using a different choice of 1-elements to pick
in the solution. For the second iterative algorithm, we show three different cor-
rectness proofs for the existence of a 1-element in an extreme point solution: a
global counting argument, a local integral token counting argument and a local
fractional token counting argument. These token counting arguments will be
used in many proofs in later chapters.
We then address the degree-bounded minimum-cost spanning tree problem.
We show how the methods developed for the exact characterization of the
spanning tree polyhedron are useful in designing approximation algorithms
for this NP-hard problem. We give two additive approximation algorithm: The
rst follows the rst approach for spanning trees and naturally generalizes to
give a simple proof of the additive two approximation result of Goemans [59];
the second follows the second approach for spanning trees and uses the local
fractional token counting argument to provide a very simple proof of the additive
one approximation result of Singh and Lau [125].
46
4.1 Minimum spanning trees 47
subject to x((S)) 1 SV
xe 0 eE
1 1
2 2
1 1
2 2
1 1
2 2
Figure 4.1 Consider a cycle of n vertices, where every edge has the same cost,
say 1. Any spanning tree requires at least n 1 edges, and thus has cost at least
n 1. However, by setting xe = 1/2 for each edge, it can be easily checked that
this is a feasible solution to the undirected LP and has total cost of only n/2.
minimize ce xe (4.1)
eE
In the next section we will give an iterative algorithm which will prove that
the subtour LP is integral.
Theorem 4.1.1 Every extreme point solution to the subtour LP is integral and
corresponds to the characteristic vector of a spanning tree.
Before we give the iterative algorithm and the proof of Theorem 4.1.1, we
show that one can optimize over the subtour LP in polynomial time. We show
this by giving a polynomial time separation oracle for the constraints in subtour
LP. Polynomial time solvability now follows from Theorem 2.1.8.
Theorem 4.1.2 There is a polynomial time separation oracle for the subtour
LP.
r
S
S
k
Figure 4.2 The construction for separation of spanning tree constraints. Solid
edges are part of the cut, and dashed edges are not part of the cut. Thick edges
into k have cost 1 and thick edges from r to any node j cost e(j ) x2e . Thin arcs
x }
between nodes i and j form a pair of antiparallel edges of cost {i,j
2 .
x((S)) x((v))
|S| 1 + + = |S| 1 + x(E(V )) x(E(S)).
2 v S
/
2
X Y
Figure 4.3 In this example, the solid edges are counted exactly once in both the
LHS (E(X)) + (E(Y )), and the RHS (E(X Y )) + (E(X Y )), and the
bold edge is counted exactly twice on both sides. The dashed edge, however, is
counted in the RHS but not in the LHS.
4.1 Minimum spanning trees 51
The rst equality follows from the fact that S, T F. The second inequality
follows from Proposition 4.1.3 (or from Proposition 2.3.6). The third inequality
follows from the constraints for S T and S T in the subtour LP. The last
equality is because |S| + |T | = |S T | + |S T | for any two sets S, T . Thus,
equality must hold everywhere, and we have x(E(S T )) + x(E(S T )) =
|S T | 1 + |S T | 1. Hence, we must have equality for constraints for S T
and S T (i.e., x(E(S T )) = |S T | 1 and x(E(S T )) = |S T | 1,
which implies that S T and S T are also in F). Moreover, equality holds for
Proposition 4.1.3 and thus (E(S \ T , T \ S)) = and (E(S)) + (E(T )) =
(E(S T )) + (E(S T )).
Denote by span(F) the vector space generated by the set of vectors
{(E(S)) | S F}. Recall that two sets X, Y are called intersecting if X Y ,
X Y and Y X are nonempty. A family of sets is laminar if no two sets in
the family are intersecting. The following lemma says that an extreme point
solution is characterized by tight inequalities whose corresponding sets form a
laminar family. This is a crucial structure theorem on the extreme point solutions
for the subtour LP.
Lemma 4.1.5 If L is a maximal laminar subfamily of F, then span(L) =
span(F).
Proof Suppose, by way of contradiction, that L is a maximal laminar sub-
family of F but span(L) span(F). For any S / L, dene intersect(S, L)
to be the number of sets in L which intersect S (i.e., intersect(S, L) = |{T
L | S and T are intersecting}|). Since span(L) span(F), there exists a set S
with (E(S)) / span(L). Choose such a set S with minimum intersect(S, L).
Clearly, intersect(S, L) 1; otherwise L {S} is also a laminar subfamily,
52 4 Spanning trees
The following proposition about the size of a laminar family will be used to
bound the number of variables in an extreme point solution.
Proposition 4.1.7 A laminar family L over the ground set V without singletons
(subsets with only one element) has at most |V | 1 distinct members.
Proof The proof is by induction on the size of the ground set. If |V | = 2, clearly
the claim follows. Let n = |V | and the claim be true for all laminar families
over ground sets of size strictly smaller than n. Let S be a maximal set in the
laminar family, which is not equal to V . Each set in L, except for V , is either
contained in S or does not intersect S. The number of sets in L contained in S
(including S itself) is at most |S| 1 by the induction hypothesis. The sets in
L not intersecting with S form a laminar family over the ground set V \ S and
hence there are at most |V | |S| 1 such sets. Along with V , this gives a total
of at most (|S| 1) + (|V | |S| 1) + 1 = |V | 1 sets.
Lemma 4.1.9 For any extreme point solution x to the subtour LP with xe > 0
for every edge e, there exists a vertex v with d(v) = 1.
Proof Suppose each vertex is of degree at least two. Then |E| = 12 vV d(v)
|V |. On the other hand, since there is no edge e with xe = 0, every tight inequality
is of the form x(E(S)) = |S| 1. By Lemma 4.1.5, there are |L| linearly
independent tight constraints of the form x(E(S)) = |S| 1, where L is a
laminar family with no singleton sets. It follows that |E| = |L| by the Rank
Lemma 2.1.4. By Proposition 4.1.7, |L| |V | 1 and hence |E| |V | 1, a
contradiction.
Next we show that the returned solution is a minimum spanning tree in the
following theorem.
algorithm is shown in Figure 4.5. A key difference is that to create the residual
problem, the chosen edge e is contracted from G to identify its endpoints to
result in the graph G/e.
Lemma 4.2.1 For any extreme point solution x to the subtour LP with xe > 0
for each edge e, there exists an edge f with xf = 1.
Proof We give three alternate proofs of this lemma mainly to illustrate the three
types of counting arguments that can be used to accomplish such proofs.
Proof 1 (Global Counting Argument). This is the proof style of Lemma 4.1.5,
which shows by a global degree counting argument over all (nonleaf) nodes
that |E| |V |, which contradicts the upper bound of |L| of |V | 1.
Proof 2 (Local Token Counting Argument). By Lemma 4.1.5, there are |L|
linearly independent tight constraints of the form x(E(S)) = |S| 1, and so
|E| = |L|. We now show a contradiction to this through a local token counting
argument.
We assign one token for each edge e in the support E, for a total of |E|
tokens. We will redistribute the tokens so that each set in L will receive one
token and there are some extra tokens left. This implies that |E| > |L|, giving
us the contradiction. Actually, for the contradiction, we can collect two tokens
for each set S L. Since |L| 1, this will give the desired extra token and
hence the contradiction.
56 4 Spanning trees
To redistribute the tokens, each edge gives its token to the smallest set con-
taining both of its endpoints. Let S be any set in L with children R1 , . . . , Rk (k
could be zero). We have
x(E(S)) = |S| 1
Subtracting, we obtain
k
k
x(E(S)) x(E(Ri )) = |S| |Ri | + k 1.
i=1 i=1
Let A = E(S) \ (i E(Ri )). Observe that S obtains exactly one token for each
edge in A. If A = , then (E(S)) = i (E(Ri )), which contradicts the linear
independence of these constraints in L. Moreover, |A| = 1 as x(A) is an integer,
but no single edge in it has an integral value. Hence, |A| 2, and thus S receives
at least two tokens.
Proof 3 (Local Fractional Token Counting Argument). This is a slight mod-
ication of the previous argument but generalizes nicely to the degree-bounded
case. As before, we assign one token for each edge e in the support E, for a
total of |E| tokens. For each edge e, however, we only redistribute xe fractional
token to the smallest set containing both the endpoints. Now, we show that
each set in L can collect at least one token and demonstrate some extra leftover
fractional edge tokens as before giving us the contradiction.
Let S be any set in L with children R1 , . . . , Rk for some k 0. Following the
previous proof, we have that
x(E(S)) x(E(Ri )) = |S| |Ri | + k 1
i i
= x(A) = |S| |Ri | + k 1
i
where A = E(S) \ (i E(Ri )). Now S obtains exactly xe fractional token for
each edge e in A. If A = , then (E(S)) = i (E(Ri )) which contradicts
the linear independence of these sets of constraints in L. Moreover, x(A) is an
integer and hence it is at least one, giving S the one token it needs.
Since every edge is not integral, we have the extra fractional token of value
(1 xe ) for every edge e as unused tokens giving the contradiction.
4.3 Minimum bounded-degree spanning trees 57
Theorem 4.3.1 There exists a polynomial time algorithm, which, given a fea-
sible instance of the MBDST problem, returns a spanning tree T such that
dT (v) Bv + 1 and cost of the tree T is at most the cost of any tree which
satises the degree bounds.
Separation over the inequalities in this linear program can be carried out in
polynomial time and follows from Theorem 4.1.2. When the preceding LP relax-
ation is infeasible, the method signals infeasibility; otherwise, it proceeds to
iteratively round and provide an approximate solution. Henceforth, we assume
58 4 Spanning trees
that we are working with a feasible instance of the problem for which there is
trivially a feasible LP solution.
Lemma 4.3.3 Any extreme point solution x to LPmbdst (G, B, W ) with xe > 0
for each edge e E must satisfy one of the following.
Theorem 4.3.4 The leaf-nding iterative algorithm in Figure 4.6 returns a tree
T of optimal cost with dT (v) Bv + 2 for each v V .
Proof The proof that the cost of tree returned is at most the cost of the linear
programming solution is identical to the proof of the optimality of the iterative
spanning tree algorithm in Section 4.1, and we do not duplicate it here.
We show that the degree of any vertex v is at most Bv + 2. At any iteration,
let F denote the set of edges selected, and let Bv denote the current residual
degree bound of v. We claim that while the degree constraint of v is present,
dF (v) + Bv = Bv . The proof is by induction on the number of iterations of the
algorithm. Clearly, F = and Bv = Bv and the claim holds. At any iteration,
whenever we include an edge e (v) in F , we reduce Bv by one and hence
the equality holds true.
When the degree bound for the vertex v is removed, then at most three edges
are incident at v. In the worst case, we may select all three edges in the solution.
Hence,
dT (v) Bv Bv + 3 Bv + 2
60 4 Spanning trees
laminar family L F and T W such that |L| + |T | = |E| and constraints for
sets in L are linearly independent. Observe that if T = , then only the spanning
tree inequalities dene the solution x. Hence, x must be integral. In the other
case, we show that there must be a vertex in W whose degree constraint can be
removed.
Proof We use the local fractional token argument as in the integrality proof of
the 1-edge-nding iterative MST algorithm we presented earlier.
Suppose for the sake of contradiction, we have T = and dE (v) Bv + 2
for each v W . We now show a contradiction by a fractional token argument.
We give one token for each edge in E. We then redistribute the token such that
each vertex in T and each set in L gets one token, and we still have extra tokens
left. This will contradict |E| = |T | + |L|. The token redistribution is as follows.
Each edge e E gives as before xe fractional token to the smallest set in L
containing both endpoints of e, and (1 xe )/2 fractional token to each of its
endpoints for the degree constraints.
We have already argued earlier that the xe assignment sufces to obtain one
token for each member in the laminar family (see the third fractional token
argument in the proof of Lemma 4.2.1).
Thus, it sufces to show that each vertex with a tight degree constraint gets
one token. Let v W be such a vertex. Then v receives (1 xe )/2 token for
each edge incident at v for a total token of value
1 xe dE (v) Bv
= 1
e(v)
2 2
where the rst equality holds since e(v) xe = Bv and the inequality holds
since dE (v) Bv + 2 by Step (1)b. of the algorithm.
To nish the proof, we argue that there is some extra token left for contra-
diction. If V
/ L, then there exists an edge e that is not contained in any set of
L and the xe token for that edge gives us the contradiction. Similarly, if there
is a vertex v W \ T , then v also collects one token, which it does not need,
and we get the desired contradiction. Moreover, if there is a vertex v V \ T ,
then each edge e incident at v must have xe = 1, else the (1 xe )/2 > 0 token
is extra. Note that e span(L) for each e with xe = 1, since e is a tight set of
62 4 Spanning trees
We have argued that V L and e span(L) for each edge e (v) for v V T .
Since T = , this implies the linear dependence of the tight constraints in T
and those in L, giving us the contradiction.
4.5 Notes
Many variants of the greedy algorithm for nding minimum spanning trees
have been obtained starting from Boruvka [18], Kruskal [86], and Prim [111]
(Graham and Hell [61] have a useful survey of the history). Edmonds [38] gave
the integral linear programming relaxation for minimum spanning tree problem
that we presented.
There is a long line of work of successively improving the performance
guarantees for the degree-bounded minimum-cost spanning tree problem. The
algorithm with additive guarantee of one for the unweighted case was rst given
by Frer and Raghavachari [53]. The additive algorithm with violation 2 (with
both upper and lower degree bounds) was presented by Goemans [59]. The algo-
rithm with additive violation of 1 was rst presented by Singh and Lau [125],
also for the case with upper and lower bounds on the degree. The fractional
token proof which we used for the additive one proof was rst presented by
Bansal et al. [8]. Chan et al. [25] consider the degree-bounded spanning tree
problem with metric costs and give true approximation by applying splitting
off techniques to the solution presented here (see exercises).
Exercises
4.1 (Partition LP formulation for spanning trees.) Consider the following
partition LP for the minimum spanning tree problem. Let = {V1 , . . . , Vl }
be a partition of the vertex set V , and let || = l denote the size of the
partition. Dene 7( ) to be the set of edges with endpoints in different
sets in the partition . In any spanning tree, there are at least || 1 edges
in 7( ) for a partition of V . Note that the undirected LP is a special case
where only partitions of size two are considered. Show that the partition
LP is equivalent to the subtour LP.
Exercises 63
minimize ce xe
eE
subject to x( in (S)) 1 S V r
xa 0 aA
(a) Suppose all edge weights are positive. Then show that the partition
LP, the subtour LP, and the bidirected LP are equivalent. That is, any
solution of one can be translated into a solution of the other with the
same cost.
(b) Using the preceding result, provide separation oracles for these formu-
lations and show that there is a polynomial time separation oracle for
the partition LP, the subtour LP, and the bidirected LP.
4.4 Argue that in the iterative relaxation algorithm in Figure 4.7, one only needs
to compute an optimal extreme point solution once initially, after that one
can modify the current solution to obtain an extreme point solution for the
next iteration in a simple way. (Hint: After we relax a degree constraint,
we only need to nd another extreme point solution with cost no more than
the original solution, and the current solution is an almost extreme point
solution for the next iteration.)
4.5 (Ghodsi et al. [63]) In an instance of the minimum bounded weighted-
degree spanning tree we are given a graph G = (V , E) and cost function
c : E R+ , a weight function w : E R+ , a degree bound Bv on each
vertex v, and the task is to nd a spanning tree T with minimum cost and
eT (v) w(e) Bv for all v V . Give a good bicriteria approximation
algorithm for the problem.
4.6 Can you generalize the result in the previous problem to get good bicri-
teria approximation algorithm for the minimum bounded weighted-degree
Steiner tree problem? Why or why not?
4.7 (Chan et al. [25]) Consider the minimum bounded degree spanning tree
problem when the cost function c : E Z satises triangle inequalities
(i.e., c(uv) + c(vw) c(uw) for all u, v, w V ). Given a spanning tree T ,
denoted by dT (v) the degree of a vertex v in T and Bv the degree bound
for v. Using a minimum-cost ow technique, Fekete et al. [41] showed that
the cost of a tree satisfying all degree bounds is at most the cost of T times
Bv 2
2 min{ : v V , dT (v) > 2}.
dT (v) 2
5.1 Preliminaries
Denition 5.1.1 A pair M = (S, I) is a matroid if I is a nonempty collection
of subsets of S with the following properties.
(i) I.
(ii) A I and B A = B I.
(iii) A, B I and |B| > |A| = x B \ A such that A {x} I.
S is called the ground set of the matroid M. A set A S is called independent
if A I else it is called dependent. A maximal set A I is called a basis of M.
Observe that Property 5.1.1 implies that all bases have the the same cardinality.
65
66 5 Matroids
Examples of Matroids
(i) Graphic Matroid: Given an undirected graph G = (V , E), the graphic
matroid of G is dened as MG = (E, IG ), where IG = {F E | F contains
no cycles}.
(ii) Uniform Matroid: Given a set S and an integer k 0, the uniform matroid
of rank k is dened as MkS = (S, I k ), where I k = {T S : |T | k}.
(iii) Partition Matroid: Given a set S = ki=1 Si ( is the operation of dis-
joint union) and integers n1 , . . . , nk 0, the partition matroid is dened as
M = (S, I) where I = { ki=1 Ti Si : |Ti | ni }.
(iv) Linear Matroid: Let A be an m n matrix and S = {1, . . . , n}. For
any 1 i n, let Ai denote the ith column of A. The linear matroid
over matrix A is dened as MA = (S, IA ), where IA = {T S : Ai for
i T are linearly independent}.
(v) Matroid Restriction: Let M = (S, I) be a matroid and T S. Then the
matroid restriction of M to the set T is the matroid MT = (T , IT ), where
IT = {R : R I, R T }.
It is quite straightforward to verify that these ve examples satisfy the
properties of matroids, and we leave it as an exercise for the reader.
Denition 5.1.2 (Rank function) Given a matroid M = (S, I), the rank
function rM : 2S Z of the matroid M is dened as rM (T ) = maxU T ,U I |U |.
We will drop the subscript M from the rank function rM when the matroid
M is clear from the context. Observe that A I if and only if r(A) = |A|. We
also have the following important property about rank function of matroids.
In the terminology introduced in Chapter 2, the property states that the rank
function of matroids is (fully) submodular.
Lemma 5.1.3 Let r be the rank function of matroid M = (S, I). Then for all
A, B S, we have r(A) + r(B) r(A B) + r(A B).
Proof Let r(AB) = k1 , r(AB) = k2 . This implies that V AB such that
r(V ) = |V | = k1 . Similarly, there exists U A B such that r(U ) = |U | = k2 .
Moreover, since every independent set can be extended to a basis, we can
assume that V U . Since U is independent, we have r(A) |U A| and
r(B) |U B|. Now, we have
|U A| + |U B| = |U (A B)| + |U (A B)| |U | + |V |
Solving the linear program. Observe that this linear program is exponential
in size and hence, an efcient separation routine is needed to separate over
68 5 Matroids
these constraints. The separation routine needs to check that x(T ) r(T ) for
each T S. Cunningham [31] provided such a separation routine which as an
input uses the independence oracle for matroid M. Since the rank function of a
matroid is a submodular function, one can also uses an algorithm for minimizing
submodular function [121] to separate over these constraints.
Proof
The rst equality is by the fact that U , V F. The second equality follows
from basic set properties. The third inequality follows from the constraints in
the matroid basis LPmat (M). The last equality is because of the submodularity
of the rank function r as shown in Lemma 5.1.3. Moreover, (U ) + (V ) =
(U V ) + (U V ) follows from basic set properties.
Proof The proof follows exactly the same argument as in Lemma 4.1.5. We
show exactly where the argument differs and why we obtain a chain in this case
while we could only argue a laminar structure in Lemma 4.1.5. Lemma 5.2.2
shows that two tight sets A and B can always be uncrossed, not only when A
and B intersect as was the case in Lemma 4.1.4. Hence, even if A, B are two
tight sets and A B = , we can uncross them and ensure that no such two sets
exist among the constraints dening x.
Observe that for the spanning tree formulation in Section 4.1, we obtained a
laminar family characterizing the extreme point solution in Lemma 4.1.5. For
the matroid basis problem, which is a generalization of spanning tree problem,
Lemma 5.2.3 implies that the extreme point can be characterized by the chain,
which is a simpler structure than a general laminar family. This discrepancy can
be explained by the formulation that we chose for the spanning tree problem.
Indeed, applying uncrossing on the partition LP does give a characterization
such that the extreme point is characterized by a chain, albeit over the edges
and not the vertices of the graph (see exercises).
The following lemma follows from Lemma 5.2.3 and the Rank Lemma.
Lemma 5.2.4 Let x be any extreme point solution to LPmat (M) with xe > 0
for each element e S. Then there exists a chain L such that
(i) x(T ) = r(T ) for each T L.
(ii) The vectors in { (T ) : T L} are linearly independent.
(iii) |L| = |S|.
By Lemma 5.2.4, there are |L| linearly independent tight constraints of the
form x(T ) = r(T ) where L is a chain. Since there is no integral xe , there is no
singleton element in the chain. Thus, every pair of consecutive sets in the chain
differ by at least two elements, so |L| |S|/2 which is a contradiction.
(Local Fractional Token Argument.) As in the case of spanning trees, there is
a fractional token argument that can be generalized to the degree bounded case.
For each e S, assign one token and distribute xe fraction of it to the smallest set
T in the chain of tight constraints containing it. For every tight set T with child
C, the set of fractional tokens assigned to it is x(T ) x(C) = r(T ) r(C),
which cannot be zero (due to linear independence of this pair), and hence is at
least one. The remaining (1 xe ) tokens for any element e gives the desired
contradiction.
Next we show that the returned solution is a maximum weight basis, which
is proved in the following theorem.
This also shows that the LPmat (M) is an exact formulation of the maximum
weight basis problem.
Theorem 5.2.7 The extreme point solutions of LPmat (M) are bases of
matroid M.
We now show that an efcient procedure for the maximum weight basis in
the intersection of two matroids. In contrast, the matroid intersection problem
for three or more matroids is NP-hard in general.
subject to x(T ) r1 (T ) T S
x(T ) r2 (T ) T S
xe 0 e S
Lemma 5.3.1 There exist two chains C1 and C2 such that span(C1 C2 ) =
span(F1 F2 ) and constraints in sets C1 and C2 are linearly independent.
Now, picking a maximal independent family from C1 C2 gives us the desired
chains.
The following lemma follows from Lemma 5.3.1 and the Rank Lemma.
Lemma 5.3.2 Let x be any extreme point solution to LPint (M1 , M2 ) with xe > 0
for each element e S. Then there exist two chains C1 and C2 such that
Lemma 5.3.3 For any extreme point solution x to LPint (M1 , M2 ) with xe > 0
for every element e, there exists an element e with xe = 1.
Proof Suppose for a contradiction 0 < xe < 1 for each e S. Then the number
of variables is exactly |S|. Since there is no element e with xe = 0, every tight
inequality is of the form x(T ) = r1 (T ) or x(T ) = r2 (T ) for some T S. By
Lemma 5.3.2, we obtain two chains C1 and C2 dening x. We now show a
contradiction to the fact that |S| = |C1 | + |C2 | by a counting argument.
74 5 Matroids
We give two tokens to each element in S for a total of 2|S| tokens. Now, we
collect two tokens for each member of C1 and C2 and an extra token showing
the contradiction. This is done as follows. Each element e assigns one token to
the smallest set T1 C1 such that e T1 and the other token to the smallest set
T2 C2 such that e T2 . We now claim that each set in C1 C2 obtains at least
two tokens.
The argument is identical for sets in C1 and C2 . Let T C1 and R be the
largest set in C1 such that R T . Now, we have x(T ) = r1 (T ) and x(R) = r1 (R).
Subtracting, we obtain x(T \ R) = r1 (T ) r1 (R). If T \ R = , then T = R, and
we have a contradiction to the linear independence of the constraints. Also, since
x(T \ R) is an integer and 0 < xe < 1 for all e, we have that |T \ R| 2. Thus,
T receives one token for each element in T \ R for a total of at least two tokens.
Therefore, every set in C1 C2 receives at least two tokens. Now, we show that
there is at least one extra token. Observe that S C1 or S C2 but not both; say
it is in C1 . Hence, there exists an e such that e is not contained in any set in C2 .
Hence, one token for e has not been used in the counting argument, giving us
the desired extra token for the contradiction.
It remains to check that the returned solution is optimal. The proof of the
following theorem is straightforward and follows from an argument identical
to that for Theorem 5.2.6 (and is not duplicated).
Theorem 5.3.4 The iterative matroid intersection algorithm returns a maxi-
mum weight set independent in the intersection of both matroids.
This also shows that the LPint (M1 , M2 ) is an exact formulation of the
maximum weight matroid intersection problem.
Theorem 5.3.5 The extreme point solutions of LPint (M1 , M2 ) correspond to
independent sets in the intersection of M1 and M2 .
LPdmat (M), is the dual linear program to LPmat (M). We use y(T ) to denote the
dual variable for a subset T , and we assume that the weights we are nonnegative
integers.
minimize r(T )y(T )
T S
subject to y(T ) we e S
T :eT
y(T ) 0 T S
and thus the objective function value does not increase. Finally, the new solution
can easily be checked to have fewer pairs that are disjoint or intersecting in the
support, giving the contradiction and nishing the proof.
Claim 5.4.1 implies that the following restricted linear program, denoted by
LPrdmat (M), has the same objective value as LPdmat (M).
minimize r(T )y(T )
T C
subject to y(T ) we e S
T C:eT
y(T ) 0 T C
As C is a chain, one can show that the constrained matrix of LPrdmat (M) is
a network matrix: (see Section 8.4.1 in Chapter 8). Then, by the results on LPs
76 5 Matroids
with network matrix constraints (Theorem 8.1.1), it follows that LPrdmat (M)
is integral. Since we have shown that LPdmat (M) always has integral optimal
solutions, we also get the following result.
yi (T ) 0 T S, 1 i 2
Claim 5.4.3 There is an optimal solution y to LPdint (M1 , M2 ) where the sets
C1 = {T S : y1 (T ) > 0} and C2 = {T S : y2 (T ) > 0} are both chains of S.
As in the case of the dual of maximum weight basis, Claim 5.4.3 implies that
the following restricted linear program, denoted by LPrdint (M1 , M2 ), has the
same objective value as LPdint (M1 , M2 ).
minimize r1 (T )y1 (T ) + r2 (T )y2 (T )
T C1 T C2
subject to y1 (T ) + y2 (T ) we e S
T C1 :eT T C2 :eT
yi (T ) 0 T Ci , 1 i 2
As C1 and C2 are chains, one can show that the constrained matrix of
LPrdint (M1 , M2 ) is a network matrix (see Section 8.4.2 in Chapter 8). Then, by
the result on network matrix (Theorem 8.1.1), it follows that LPrdint (M1 , M2 )
is integral. As before, since we have shown that LPdint (M) always has integral
optimal solutions, we also get the following result.
5.5 Minimum bounded degree matroid basis 77
Using Theorem 5.3.5 and Theorem 5.4.4, we can obtain the following min
max theorem on the maximum cardinality of a common independent set in two
matroids M1 and M2 .
Theorem 5.4.5 Given matroids M1 = (S, I1 ) and M2 = (S, I2 ) with rank func-
tions r1 and r2 , respectively, the size of a maximum common independent set in
I1 and I2 is given by
Theorem 5.5.1 There is a polynomial time algorithm for the minimum bounded
degree matroid basis problem which returns a basis B of cost at most opt such
that |B e| g(e) + 7 1 for each e E(H ). Here 7 = maxvS |{e E(H ) :
v e}| is the maximum degree of the hypergraph H , and opt is the cost of an
optimal solution that satises all the degree constraints.
minimize cv xv
vS
This linear program is exponential in size but can be separated over in poly-
nomial time as before if given access to an independent set oracle for the
underlying matroid.
5.5 Minimum bounded degree matroid basis 79
Lemma 5.5.2 Let x be any extreme point solution to LPmat (M, H ) with xe > 0
for each element e S. Then there exists a set R E and a chain L such that
x is the unique solution to the following linear system.
(i) x(T ) = r(T ) for each T L and x(e) = g(e) for each e R.
(ii) The vectors in {(T ) : T L} { (e) : e R} are linearly independent.
(iii) |S| = |L| + |R|.
Lemma 5.5.3 An extreme point solution x to LPmat (M, H ) must satisfy one of
the following.
Proof The proof is by a local fractional token argument. Each element is ini-
tially assigned 7 tokens, for a total of 7 |S| tokens. For each element v, 1 xv
token is redistributed to each hyperedge that contains v, and 7 xv token is
redistributed to the smallest set T L which contains e. This is possible since
each element is contained in at most 7 hyperedges. We shall show that if neither
of the above conditions are satised, then each set in L and each hyperedge
constraint in R can collect 7 tokens, and there are still some tokens left. This
would imply |S| > |L| + |R|, which contradicts to Lemma 5.5.2.
For each hyperedge e in R, it collects
(1 xv ) = |e| xv = |e| g(e) 7
ve ve
tokens. The second equality follows because e is tight, and the last inequality
follows because the second condition in the lemma is not satised. This shows
that each hyperedge constraint in R can collect at least 7 tokens.
For each T L, let U L be its child in the chain L. Then T collects
5.5.5 Applications
We highlight some applications of the bounded degree matroid basis result.
Corollary 5.5.4 There exists a polynomial time algorithm for the minimum
crossing spanning tree problem that returns a tree T with cost at most opt, and
such that T contains at most gi + d 1 edges from cut Ci for each i, where
d = maxeE |{Ci : e Ci }| and opt is the cost of an optimal solution which
satises all the cut degree constraints.
Proof Let M = (E, I) denote the graphic matroid over the graph G. The hyper-
graph H is dened with V (H ) = E(G) and E(H ) = {Ci : 1 i m}. Note
that 7 = maxvV (H ) |{e E(H ) : v e}| = maxeE(G) |{Ci : e Ci }| = d. So,
using Theorem 5.5.1, we obtain a basis T of matroid M (which is a spanning
tree), such that |T Ci | gi + d 1.
Corollary 5.5.5 There exists a polynomial time algorithm for the minimum
bounded-ones binary matroid basis problem that returns a basis B of cost at
most opt, such that there are at most gi + d 1 ones in any row restricted to
columns of B. Here d is the maximum number of ones in any column of A, and
opt is the cost of an optimal solution satisfying all the row constraints.
Proof Let M = (E, I) denote the union of k graphic matroids over the graph
G, which is a matroid by the matroid union theorem (see e.g., [121]). The
hypergraph H is dened with V (H ) = E(G) and E(H ) = {(v) : v V (G)}.
Note that 7 = maxvV (H ) |{e E(H ) : v e}| = maxeE(G) |{(v) : v V (G)
e (v)}| = 2. So, using Theorem 5.5.1, we obtain a basis F of matroid M
(which is the union of k edge-disjoint spanning trees), such that |F (v)|
g(v) + 1.
subject to x(T ) r1 (T ) T S
x(T ) r2 (T ) T S
x(T ) r3 (T ) T S
xe 0 e S
5.6 k matroid intersection 83
Lemma 5.6.1 Let x be any extreme point solution to LP3int (M1 , M2 , M3 ) with
xe > 0 for each element e S. Then there exist three chains C1 , C2 , C3 such
that
Lemma 5.6.2 For any extreme point solution x to LP3int (M1 , M2 , M3 ) with
xe > 0 for every element e, there exists an element e with xe 12 .
Proof Suppose for a contradiction 0 < xe < 12 for each e S. Then the number
of variables is exactly |S|. By Lemma 5.6.1, we obtain three chains C1 , C2 , C3
dening x. We now show a contradiction to the fact that |S| = |C1 | + |C2 | + |C3 |
by a counting argument.
We give three tokens to each element in S for a total of 3|S| tokens. Now, we
collect three tokens for each member of C1 , C2 , C3 and an extra token showing
the contradiction. This is done as follows. Each element e assigns one token to
the smallest set Ti Ci such that e Ti for i = {1, 2, 3}. We now claim that each
set in C1 C2 C3 obtains at least three tokens.
84 5 Matroids
5.7 Notes
Matroids were introduced by Whitney in the 1930s and a comprehensive review
of related concepts that led to this as well as the rich literature on it is reviewed
by Schrijver in his book [121]. The work of Edmonds [37, 38] rst showed
the polyhedral characterization results we presented in this chapter. The result
for the minimum bounded degree matroid basis problem is by Kirly, Lau, and
Singh [80].
86 5 Matroids
Exercises
5.1 Show that the ve examples of matroids in Section 5.1 are indeed matroids
by verifying the three matroid properties for each of them.
5.2 Verify that the deletion and contraction matroids dened in Section 5.1
are indeed matroids by checking the two properties of matroids for them.
Also prove that their rank function is correctly dened. Finally, convince
yourself that for any element x of the matroid, if {x} is not independent,
then M \ x = M/x.
5.3 Given a matroid M = (S, I) with rank function r, let M = (S, I ) be the
dual matroid where I = {I S : S \ I contains a basis of M}.
(a) Show that M is a matroid.
(b) Show that the rank r of a set T in the dual matroid M is given by
r (T ) = |T | r(S) + r(S \ T ).
5.4 Let M = (S, I) be a matroid with rank function r, and let T S. Matroid
MT = (T , IT ) is dened by IT = {R T : R I}.
(a) Show that MT is a matroid.
(b) What is the rank function rT of MT ?
5.5 Given two matroid M1 = (S, I1 ) and matroid M2 = (S, I2 ), let M12 =
(S1 S2 , I1 I2 ) where S1 and S2 are two copies of S such that S1 S2 =
and I1 I2 = {A B : A I1 , B I2 }. Let M = (S1 S2 , I ) be the
partition matroid such that I I if and only if I contains at most one
copy of each element in S (remember there are two copies of each element,
one in S1 and the other in S2 ).
(a) Show that M12 is a matroid.
(b) Show that matroid union M1 M2 is isomorphic to matroid intersec-
tion M12 M .
(c) Derive the rank function of matroid union of two matroids using the
size of maximum size of an independent set in the intersection of these
two matroids.
5.6 Let D = (V , A) be a directed graph and subsets U , S of V . For X, Y V ,
call X linked to Y if |X| = |Y | and D has |X|-vertex disjoint X Y paths.
(X is the set of starting vertices of these paths, and Y is the set of ending
vertices.)
Let I be the collection of subsets I of S such that some subset of U linked
to I . Prove that M = (S, I) is a matroid.
5.7 Show that nding a maximum cardinality independent set in the intersec-
tion of three matroids is NP-hard.
Exercises 87
5.8 Apply uncrossing to the partition LP for the spanning tree problem to
obtain a characterization such that characteristic vectors for edge sets
corresponding to linearly independent tight constraints form a chain.
5.9 Consider the degree bounded minimum cost spanning tree problem where
the degree bounds are imposed only on an independent subset of the nodes
of the underlying graph. Show that this problem can be solved optimally
in polynomial time.
5.10 Show that Theorem 5.6.3 can be generalized to give a (k 1)-
approximation algorithm for the maximum k matroid intersection
problem.
6
Arborescence and rooted connectivity
In this chapter we study problems in directed graphs and see how the techniques
developed in previous chapters generalize to problems on directed graphs.
We rst consider exact formulations for the arborescence problem and a ver-
tex connectivity problem in directed graphs. For the latter, we demonstrate
the iterative method in the more sophisticated uncrossing context which is
applied to biset families instead of set families as in previous chapters. We
then extend these results to degree bounded variants of the problems and
use the iterative method to obtain bicriteria results unlike previous chapters
where the algorithm would be optimal on the cost and only violate the degree
constraints.
Given a directed graph D = (V , A) and a root vertex r V , a spanning
r-arborescence is a subgraph of D so that there is a directed path from r to
every vertex in V r. The minimum spanning arborescence problem is to nd
a spanning r-arborescence with minimum total cost. We will show an integral
characterization using iterative proofs, and extend this result in two directions.
Given a directed graph D and a root vertex r, a rooted k-connected subgraph
is a subgraph of D so that there are k internally vertex-disjoint directed paths
from r to every vertex in V r. The minimum rooted k-connected subgraph
problem is to nd a rooted k-connected subgraph with minimum total cost. We
extend the proofs in the minimum arborescence problem to show an integral
characterization in this more general setting.
As in the previous chapters, we extend the method developed for the exact
characterization to the degree bounded version of the problem. However,
unlike in the undirected case, the resulting approximation algorithms have
a multiplicative guarantee (rather than an additive guarantee) on the degree
and the cost. We also show how additive guarantees on the degree can be
recovered in the case of unweighted arborescence where arc costs are not
considered.
88
6.1 Minimum cost arborescence 89
minimize ca xa
aA
subject to x( in (S)) 1 S V r
xa 0 aA
cut of value less than 1, the violated constraint is precisely the set of vertices
that this cut separates.
One can also write a compact formulation for the directed LP, using the
equivalence of ows and cuts. This compact formulation provides an alternative
way to solve the directed LP in polynomial time. For each vertex v V r, there
is a variable fav for each arc a, representing the ow value from r to v through
the arc a. The proof of the equivalence of the linear programs is deferred to the
exercises.
minimize ca x a
aA
subject to fav = 1 v V r
a in (v)
fav fav = 0 v V r, u V r v
a in (u) a out (u)
fav = 1 v V r
a out (r)
xa fav a A, v V r
fav 0 a A, v V r
xa 0 aA
x( in (X)) + x( in (Y )) x( in (X Y )) + x( in (X Y ))
The following lemma shows that the family F is closed under intersection
and union.
6.1 Minimum cost arborescence 91
1 + 1 = x( in (S)) + x( in (T ))
x( in (S T )) + x( in (S T ))
1 + 1.
The equality follows from the fact that S, T F. The rst inequality follows
from Proposition 6.1.1. The second inequality follows from the constraints
for S T and S T in the directed LP. Equality must hold everywhere and
thus x( in (S T )) + x( in (S T )) = 2. Therefore, we must have equality for
constraints for S T and S T (i.e., x( in (S T )) = 1 and x( in (S T )) = 1,
which imply that S T and S T are also in F). Moreover, equality holds for
Proposition 6.1.1 and thus E(S \ T , T \ S) = and ( in (S)) + ( in (T )) =
( in (S T )) + ( in (S T )).
Denote by span(F) the vector space generated by the set of characteristic
vectors {( in (S)) | S F}. The following lemma says that an extreme point
solution is characterized by tight inequalities whose corresponding sets form a
laminar family. The proof follows the same steps as in the case of undirected
spanning trees (see Lemma 4.1.5), and we do not duplicate it here.
Lemma 6.1.3 If L is a maximal laminar subfamily of F, then span(L) =
span(F).
Lemma 6.1.3 and the Rank Lemma imply the following.
Corollary 6.1.4 Let x be any extreme point solution to the directed LP. Then
there exists a laminar family L such that
(i) x( in (S)) = 1 for all S L.
(ii) The vectors in { ( in (S)) : S L} are linearly independent.
(iii) |A| = |L|.
A laminar family L denes naturally a forest L as follows (see Figure 6.1):
Each node of L corresponds to a set in L, and there is an edge from set R to
set S if R is the smallest set containing S. R is called the parent of S, and S is
called the child of R. A node with no parent is called a root, and a node with
no children is called a leaf. Given a node R, the subtree rooted at R consists of
R and all its descendants. The forest L corresponding to the laminar family L
will be used to perform the token counting arguments inductively.
92 6 Arborescence and rooted connectivity
T1
S1
S2 T2
R1 R2 R3 S3
T1 T2
S1 S2 S3
R1 R2 R3
The key step is to prove that the algorithm will terminate. In the following
lemma, we show that there is an arc a with either xa = 1 or xa = 0 at each stage
of the algorithm.
6.1 Minimum cost arborescence 93
Lemma 6.1.6 For any extreme point solution x to the directed LP, either there
is an arc with xa = 0 or there is an arc with xa = 1.
Before we begin the proof, let us recall that there exists a laminar family
L such that it represents a linearly independent set of tight constraints (Corol-
lary 6.1.4). The proof, by contradiction, is based on the token argument used in
earlier proofs. The idea of the argument is to assume that there is no arc with
xa = 0 and xa = 1, and then derive a contradiction by showing that the num-
ber of constraints (that is, the number of sets in L) is smaller than the number
of nonzero variables (i.e., the number of arcs)contradicting the Rank Lemma
(i.e., Corollary 6.1.4).
As in the undirected case, we present three different counting arguments.
While the rst argument is the simplest for the minimum arborescence problem,
the second argument can be generalized to the minimum cost rooted k-connected
subgraph problem, and the third proof can be generalized to the degree-bounded
version of the minimum arborescence problem.
On the other hand, from Lemma 6.1.4, we have the maximal linearly inde-
pendent constraints form a laminar family over the ground set V \ {r}. From
Corollary 4.1.8, we have that |L| 2(|V | 1) 1 = 2|V | 3, but this
contradicts Corollary 6.1.4 since |A| 2|V | 2 > |L|.
94 6 Arborescence and rooted connectivity
Proof 2 (local token counting argument) For each arc, one token is assigned
to its head. So the total number of tokens assigned is exactly |A|. These tokens
will be redistributed such that each subset S L is assigned one token, and
there are still some tokens left. This will imply |A| > |L| and thus contradicts
Corollary 6.1.4. The following lemma shows that the redistribution is possible
by an inductive argument on the forest L corresponding to the laminar family L.
Lemma 6.1.7 For any rooted subtree of the forest L = with root S, the
tokens assigned to vertices inside S can be distributed such that every node in
the subtree gets at least one token, and the root S gets at least two tokens.
Proof The proof is by induction on the height of the subtree. The base case is
when S is a leaf. Since x( in (S)) = 1 and there is no arc with xa = 1, there are
at least two arcs in in (S), and so S gets at least two tokens.
For the induction step, let S be the root and R1 , . . . , Rk be its children. By
the induction hypothesis, each node in the subtree rooted at Ri gets at least one
token and Ri gets at least two tokens. Since Ri only needs to keep one token, it
can give one token to S. Suppose k 2, then S can collect two tokens by taking
one token from each of its children, as required. So suppose k = 1. If there is
an arc a that enters S but not R1 , then S can collect two tokens by taking one
token from R1 and one token from the head of a. Suppose such an arc does not
exist, then in (S) in (R). Since x( in (S)) = x( in (R)) = 1 and there is no
arc with xa = 0, this implies in (S) = in (R). Hence ( in (S)) = ( in (R)),
but this contradicts the linear independence of the characteristic vectors for sets
in L (recall that L can be chosen to satisfy the properties in Corollary 6.1.4).
Therefore, such an arc must exist, and S can collect two tokens, as required.
This completes the proof of the induction step.
From Lemma 6.1.7, the number of tokens is at least |L| + 1, which implies
that |A| > |L|, contradicting Corollary 6.1.4.
(i) For every arc a, we assign xa token to the smallest set in L containing its
head.
(ii) For every arc a, we assign 1 xa token to the smallest set in L containing
its tail.
Thus, the total number of tokens assigned is exactly |A|. To derive a contradic-
tion, we show that each subset S L has been assigned at least one token, and
6.2 Minimum cost rooted k-connected subgraphs 95
there are still some tokens left. This will imply |A| > |L| and thus contradicts
Corollary 6.1.4.
Lemma 6.1.8 Let S be any set in the L. Then S receives at least one token by
the above assignment.
Therefore each set is assigned one token. To complete the argument, we need
to show that there are still some extra tokens. This follows from observing that
for any arc incident at the root, the 1 xa > 0 token is still unassigned as there
is no set in L containing its tail. This completes the counting argument.
SO
u
SI
Figure 6.3 In this example the biset S = (SO , SI ) is shown and the arc (u, v )
enters S.
a set, and a more sophisticated notion, biset, is needed. See Figure 6.3 for an
example.
Let us intuitively explain the role of bisets for this problem. A graph is rooted
k-connected if upon removal of l k vertices, there are still at least k l vertex
disjoint paths from r to other vertices. This is precisely the reason we count arcs
coming in from V SO to SI corresponding to the case where the vertices in
SO SI are deleted.
Let R be the set of all bisets S for which SO V r. We have the following
biset LP formulation for the minimum rooted k-connected subgraph problem.
Note that, by Mengers theorem, a 01 solution to the biset LP corresponds to
a rooted k-connected subgraph (see Exercise 2.2.3).
minimize ca xa
aA
We can use a minimum cut algorithm to design a separation oracle for the
biset LP. Given a solution x for this problem, we can construct an auxiliary graph
D by expanding each vertex to an arc of capacity 1. All other arc capacities
are the values of xa . It is easy to see that the solution x is a feasible solution to
the biset LP if and only if the minimum cut separating the root from a vertex of
V r in D has outgoing capacity at least k.
6.2 Minimum cost rooted k-connected subgraphs 97
TO
SO
TI SI
Figure 6.5 In this example, the biset S = (SO , SI ) and biset T = (TO , TI ) intersect.
The equality is by the fact that S, T F. The rst inequality follows from the
submodularity of the biset function d in (S), which can be shown in a manner
similar to the corresponding submodularity of the set function d in (S) in the
6.2 Minimum cost rooted k-connected subgraphs 99
arborescence problem (see the exercises). The second inequality follows from
the constraints in the biset LP. The last inequality is because of the property we
require the function g to satisfy intersecting bisupermodularity. We will prove
in Proposition 6.2.7 that the function g is intersecting bisupermodular at each
stage of the iterative algorithm.
Corollary 6.2.6 Let x be any extreme point solution to the biset LP. Then there
exists a bilaminar family L such that
The key to prove the correctness is to show that the algorithm will termi-
nate. This is very similar to a counting argument we employed for minimum
arborescences.
Lemma 6.2.9 For any extreme point solution x to the biset LP, either there is
an arc with xa = 0 or there is an arc with xa = 1.
Lemma 6.2.10 For any rooted subtree of the forest L = with root S, the
tokens assigned to vertices inside SI can be distributed such that every node
in the subtree gets at least one token and the root S gets at least g(S) + 1
tokens.
Proof The proof is by induction on the height of the subtree. The base case is
when S is a leaf. Since x( in (S)) = g(S) and there is no arc with xa = 1, there
are at least g(S) + 1 arcs in in (S), and so S gets at least g(S) + 1 tokens.
For the induction step, let S be the root and R1 , . . . , Rk be its children. By
the induction hypothesis, each node in the subtree rooted at Ri gets at least one
token and Ri gets at least g(Ri ) + 1 tokens. Since Ri only needs to keep one
token, it can give g(Ri ) tokens to S. Let g(R) = ki=1 g(Ri ). Three cases are
considered.
(i) g(S) < g(R). Then S can collect g(R) g(S) + 1 tokens from its children.
(ii) g(S) > g(R). Since there is no arc with xa = 1, there must be at least
g(S) g(R) + 1 arcs entering S but not its children. So S can take g(R)
tokens from its children and g(S) g(R) + 1 tokens from the heads of
those arcs. Therefore, S can collect at least g(S) + 1 tokens, as required.
(iii) g(S) = g(R). If there is an arc a that enters S but not any of its children,
then S can collect g(S) + 1 tokens by taking g(S) = g(R) tokens from
its children and at least one more token from the head of such arc, as
required. Suppose such an arc does not exist, then in (S) ki=1 in (Ri ).
Since x( in (S)) = ki=1 x( in (Ri )) and there is no arc with xa = 0, this
implies that in (S) = ki=1 in (Ri ). Hence, ( in (S)) = ki=1 ( in (Ri )),
but this contradicts the linear independence of the characteristic vectors
for bisets in L. Therefore, such an arc must exist, and thus S can collect
g(S) + 1 tokens, as required.
From Lemma 6.2.10, the number of tokens is at least |L| + 1, which implies
that |A| > |L|, contradicting Corollary 6.2.6. This completes the proof of
Lemma 6.2.9, and hence Theorem 6.2.8 follows.
minimize ca xa
aA
subject to x( in (S)) 1 S V r
out
x( (v)) Bv vW
xa 0 aA
Proof First we prove that the cost of the arborescence returned by the algorithm
is at most twice the cost of the initial LP solution. The proof is by induction
on the number of iterations executed by the algorithm. For the base case that
requires only one iteration, the theorem follows since it rounds up a single arc a
with xa 12 . For the induction step, let a be the arc with xa 12 in the current
iteration. Let f be the residual requirement function after this iteration, and
let F be the set of arcs picked in subsequent iterations for satisfying f . The
key observation is that the current solution x restricted to A a is a feasible
solution for satisfying f (by checking the connectivity constraints and also the
degree constraints), and thus by the induction hypothesis, the cost of F is at
most 2 aAa ca xa . Consider F := F a , which satises f (by the denition
of f ). The cost of F is
cos t(F ) = cos t(F ) + ca 2 ca xa + ca 2 ca xa
aAa aA
where the last inequality follows because xa 12 . This implies that the cost of
F is at most twice the cost of an optimal fractional solution.
Next we show that the degree of any vertex v is at most 2Bv + 2. At any
iteration, let F denote the set of edges selected, and let Bv denote the current
residual degree bound of v. While the degree constraint of v is present, dF (v) =
2(Bv Bv ). This is because, at any iteration, whenever we include an edge
e (v) in F , we reduce Bv by half, and hence the equality holds true. When
the degree bound for the vertex v is removed, then less than Bv + 3 edges are
incident at v. In the worst case, we may select all these edges in the solution.
6.3 Minimum bounded degree arborescence 105
Hence,
dF (v) < 2(Bv Bv ) + Bv + 3 < 2Bv + 3.
Since dF (v) and Bv are integers, this implies that dF (v) 2Bv + 2, as
required.
Lemma 6.3.3 An extreme point solution x to LPmbda must satisfy one of the
following.
Proof The proof uses the local fractional token argument. Each arc is assigned
two tokens, for a total of 2|A| tokens. For each arc a, 1 xa token is assigned to
its tail, and 1 + xa token is assigned to its head. We shall show that if none of the
preceding conditions are satised, then each set in L and each degree constraint
in T can collect two tokens, and there are some tokens left. This would imply
|A| > |L| + |T |, which contradicts Lemma 6.3.1.
For each tight vertex v in T , it collects
(1 xa ) = d out (v) xa = d out (v) Bv 3
a out (v) a out (v)
tokens; the second equality follows because v is tight, and the last inequality
follows because the condition in the lemma is not satised. This shows that each
degree constraint in T can collect at least three tokens. Hence, each degree
constraint has at least one extra token. In the following, each node with a
degree constraint will contribute its extra token to the smallest set in the laminar
family containing it.
For a leaf node S L, it collects
(1 + xa ) = d in (S) + xa = d in (S) + 1 4
a in (S) a in (S)
tokens; the second equality follows because S is tight and so x( in (S)) = 1, and
the last inequality follows because there are no arcs with value at least 1/2, and
hence d in (S) 3. This shows that each leaf node in L can collect at least four
tokens. Hence each leaf node has at least two extra tokens to start us off in the
bottom-up induction over the laminar family.
106 6 Arborescence and rooted connectivity
tokens; the rst inequality follows because of the out-degree constraint at v, and
the last inequality follows because the condition in the lemma is not satised.
This shows that each vertex with nonzero out-degree has at least two extra
tokens. Each such vertex with an out-degree constraint distributes its two extra
tokens to the smallest set in L containing it.
A leaf node S L collects x( in (v)) = 1 token. Furthermore, S has at least
one extra token if d out (S) 1 (actually at least two extra tokens but we only
need one extra token for the induction to work). We call S with d out (S) = 0 a
sink node. Note that when S is a leaf node, it gets at least one token if it is a
sink node and at least two if it is a nonsink node. We prove inductively (going
108 6 Arborescence and rooted connectivity
S
R2
R1
R3
v
a
Rl
Figure 6.8 In this gure, set S has children R1 , . . . , Rl where all except R1
are leaf as well sink nodes. Thus, the tail u of arc a in (R1 ) \ in (S) must
have two extra tokens, which it gives to S.
bottom-up in L) that we can redistribute the tokens in the subtree of any nonleaf
node S L so that every set gets at least one token and the root S gets at least
two tokens. For the induction step, consider a nonleaf node S L, and let its
children be R1 , . . . , Rl . If S has at least two children that are nonleaf nodes or are
leaf nodes that are nonsink nodes, then S can collect one extra token from each
such child by the induction hypothesis, and hence S has at least two tokens, as
required. So assume S has at most one child R1 that is a nonleaf node or a leaf
node that is a nonsink node.
Since x( in (S)) = x( in (R1 )) = 1 and ( in (S)) = ( in (R1 )), there is an
arc a in (R1 ) in (S). Since R2 , . . . , Rl are sink nodes, the tail of a is not
contained in R1 R2 Rl but is in S. Furthermore, since the tail of a has
positive out-degree in the support, it has two extra tokens by the argument in
the previous paragraph that it assigns to S, as required. The roots of L have
extra tokens left, completing the proof.
6.5 Notes
The directed LP formulation for the minimum spanning arborescence problem
is due to Edmonds [36]. The rst polynomial-time algorithm for the minimum
rooted k-connected subgraph problem was given by Frank and Tardos [46] via
the use of submodular ows (which we will introduce in Chapter 7). Recently
Frank [45] showed that the minimum rooted k-connected subgraph problem can
actually be reduced to the matroid intersection problem, and that the biset LP
for this problem is totally dual integral. The bicriteria approximation algorithm
for the minimum bounded degree arborescence problem is by Lau et al. [88],
Exercises 109
while the additive approximation algorithm for the unweighted problem is due
to Bansal, Khandekar, and Nagarajan [8].
Exercises
6.1 Show the equivalence of the directed LP and the ow-based LP in
Section 6.1.1.
6.2 Write a compact formulation for the spanning tree problem. (Hint: Use the
compact formulation for the arborescence problem.)
6.3 Show the application of the iterative method to formulate an integral LP
for the rooted k-arc-connected subgraph problem. Use the same outline we
have used as in the earlier chapters: LP formulation, properties of extreme
point solutions, iterative algorithm, and its correctness and optimality.
6.4 Work out the details of the separation oracle for the biset LP relaxation for
this problem. Also, show how the separation oracle can be adapted for the
LP formulations that arise when some of the arcs are already chosen in a
current solution.
6.5 A function g on bisets is intersecting bisubmodular if g(S) + g(T )
g(S T ) + g(S T ) holds for any two intersecting bi-sets S and T . Prove
that the biset function d in (S) is intersecting bisubmodular.
6.6 Show that in a bilaminar family, the inner members form a laminar family,
and if XI YI , then XO YO or YO XO .
6.7 Prove Lemma 6.2.5.
6.8 Can the approximation algorithms for the minimum bounded degree
arborescence problem be extended to the minimum bounded degree rooted
k-edge-connected subgraph problem?
7
Submodular ows and applications
Quoting Lovsz from his paper Submodular Functions and Convexity [94]:
Several recent combinatorial studies involving submodularity t into the following
pattern. Take a classical graph-theoretical result (e.g. the Marriage Theorem, the
Max-ow-min-cut Theorem etc.), and replace certain linear functions occurring in
the problem (either in the objective function or in the constraints) by submodular
functions. Often the generalizations of the original theorems obtained this way
remain valid; sometimes even the proofs carry over. What is important here to
realize is that these generalizations are by no means lart pour lart. In fact, the range
of applicability of certain methods can be extended tremendously by this trick.
110
7.1 The model and the main result 111
f (U ) + f (T ) f (U T ) + f (U T ).
112 7 Submodular ows and applications
where x( in (U )) is a shorthand for ain (U ) xa and similarly for x( out (U )).
The set P of all submodular ows with the bound constraints da xa ca is
called the submodular ow polyhedron.
Note that the minimum-cost circulation, which we generalized from, can
easily be seen to be a special case of a maximum-cost version of the submodular
ow problem where the costs are 1 for every arc. Take C = {{v} | v V };
trivially C is a crossing family. Set f = 0; obviously f is a crossing submodular
function. The maximum-cost submodular ow problem becomes
maximize wa xa
aA
Note that no inequality at a vertex can be a strict inequality, and so the solution
must be a maximum cost circulation. We refer to the above constraint system
as constituting the submodular ow polyhedron.
The main result of this chapter is the following theorem.
maximize wa xa
aA
As you might have expected by now, this linear program can be solved by
the ellipsoid method, using the polynomial time algorithm for minimizing
submodular functions as a separation oracle. To see this, note that the func-
tion x( in (S)) x( out (S)) is modular since this is exactly vS (x( in (v))
x( out (v))). Thus, the function g(S) = f (S) (x( in (S)) x( out (S))) is sub-
modular and the separation problem is equivalent to checking whether the
minimum of g(S) is negative or not.
Lemma 7.2.5 For any extreme point solution x to LPsmf (D, f , w), either there
is an arc with xa = 0 or there is an arc with xa = 1.
The proof of Lemma 7.2.5 starts from a cross-free family C, which satises
the properties of Lemma 7.2.3. From a cross-free family, a laminar family L is
constructed as follows. Let r V be an arbitrary vertex.
L := {X V r : X C} {X V r : V X C}.
The rst set includes the members of C, which does not contain r, and so is
laminar. The second set includes the members of C, which contain r, and so
their complements form a laminar family. Also it can be checked that a member
in the rst set does not intersect a member in the second set (otherwise they are
crossing in C), and so L is a laminar family. Note that since the constraints in
C are linearly independent, there are no repeated sets in the laminar family L.
As usual, a counting argument will be used to derive a contradiction
assuming there is no arc with xa = 0 or xa = 1, then the number of inequalities
is smaller than the number of variables. For each arc, one token is assigned to
its head, and one token is assigned to its tail. So the total number of tokens
assigned is exactly 2|A|. These tokens will be redistributed such that each set
S L is assigned two tokens, and there are still some excess tokens left. This
will imply |A| > |L| and yield a contradiction. Let L be the forest corresponding
to the laminar family L. The following lemma shows that the redistribution is
possible.
Lemma 7.2.6 For any rooted subtree of the forest L = with root S, the
tokens assigned to vertices inside S can be distributed such that every node in
the subtree (including the root S) gets at least two tokens.
Proof The proof is by induction on the height of the subtree. The base case is
when S is a leaf. Since x( in (S)) x( out (S)) = f (S) and there is no arc with
xa = 1 or xa = 0, either there are at least two incoming arcs, or there are at least
two outgoing arcs, or there are at least one incoming and one outgoing arc. In
any case, S can collect two tokens.
For the induction step, let S be the root and R1 , . . . , Rk be its children. By
the induction hypothesis, each node in the subtree rooted at Ri gets at least two
tokens, and Ri gets at least two tokens. To prove the induction step, S needs to
collect two more tokens. If there is an arc that enters S but not any Ri , or there
is an arc that leaves S but not any Ri , then S can collect one token from this
116 7 Submodular ows and applications
arc. Suppose, to the contrary, that such an arc does not exist. Then
k
sign(S)( in (S) out (S)) = sign(Ri )( in (Ri ) out (Ri ))
i=1
minimize f (S) y(S)
SV
subject to y(S) y(S) wa a A
S:a in (S) S:a out (S)
y(S) 0 S V
The uncrossing technique can be used to prove the following claim, whose
proof is similar to that of Claim 5.4.1 and Claim 5.4.3.
Claim 7.3.1 There is an optimal solution y to LPdsmf (D, f , w) with the set
C = {S V (D) : y(S) > 0} being a cross-free family of V (D).
Claim 7.3.1 implies the following restricted linear program, denoted by
LPrdsmf (D, f , w), has the same objective value as LPdsmf (D, f , w).
minimize f (S) y(S)
SC
subject to y(S) y(S) wa a A
SC:a in (S) SC:a out (S)
y(S) 0 S C
Note that if a graph is strongly connected, then there is no directed cut in it.
A directed cut cover (also known as a dijoin in the literature) is a set of arcs
intersecting each directed cut.
Lucchesi and Younger proved the following minmax theorem for the mini-
mum size of a directed cut cover, which was conjectured by N. Robertson and
by Younger.
Theorem 7.4.1 (LucchesiYounger Theorem). Suppose D = (V , A) is not a
strongly connected graph. Then the minimum size of a directed cut cover is
equal to the maximum number of arc-disjoint directed cuts.
We will derive the LucchesiYounger theorem from Theorem 7.1.1. The
starting point is this simple observation.
Proposition 7.4.2 Let C consists of all sets U such that the collection of arcs
entering U forms a directed cut (i.e., C := {U V | = U = V and out
(U ) = }). Then C is a crossing family of subsets.
To model the minimum directed cut cover problem as a submodular ow
problem, we set f (U ) = 1 for each U C and d(a) = , c(a) = 0, w(a) = 1
for each arc. Note that since out (U ) = for each U C, the linear program
LPsmf (D, f , w) simplies to the following (after replacing the negation of the
original ow variables by x below, hence transforming the maximization to a
minimization problem):
minimize xa
aA
in
subject to x( (U )) 1 U C
xa 0 a A
y(U ) 0 U C
cuts to be arc-disjoint. By Theorem 7.1.1, both the primal and the dual pro-
grams have integral optimal solutions, and thus the LucchesiYounger theorem
follows by the strong duality theorem of linear programming (Theorem 2.1.9).
Furthermore, an efcient separation oracle for the minimum directed cut cover
problem can be constructed via standard ow techniques, and thus the problem
can be solved in polynomial time.
B
E
A b D
c
e
Figure 7.2 In this example, the directed planar graph D is shown in solid edges
and its dual D is dotted edges. The arcs (A, B) and (C, B) form a feedback arc
set, and the corresponding dual edges (a, b) and (b, c) form a directed cut cover in
the dual graph.
xs 0 for s S,
x(U ) f (U ) for U S.
xs 0 for s S,
x(U ) f1 (U ) for U S,
x(U ) f2 (U ) for U S.
7.4 Applications of submodular ows 121
Notice that matroid intersection is a special case since the rank function of a
matroid is submodular. The following theorem is due to Edmonds.
This result can be derived from Theorem 7.1.1. First, a directed graph D =
(V , A) is constructed as follows. Let S and S be two disjoint copies of S, let
V = S S , and A = {s s | for s S}. Note that D = (V , A) is a directed
matching, where each arc in A corresponds to an element in the ground set S.
Dene C = {U | U S} {S U | U S} where U and U denote the sets
of copies of elements of U in S and S , and dene f : C R+ by
f (U ) := f1 (U ) for U S,
f (V \ U ) := f2 (U ) for U S,
f (S ) := min{f1 (S), f2 (S)}
S S
U1
U2
Figure 7.3 In this example, the graph D is shown along with two typical sets U1
and U2 in C .
122 7 Submodular ows and applications
x( in (U )) x( out (U )) dDin (U ) k,
0 xa 1.
Note that the right-hand side dDin (U ) k is a crossing submodular function, and
thus this re-orientation problem is a submodular ow problem. Observe that
when G is 2k-edge-connected, x 12 is a feasible fractional solution to this
submodular ow problem, since
1 1
dDin (U ) + x(D
out in
(U )) x(D (U )) = dDin (U ) + dDout (U ) dDin (U )
2 2
1 1
= d in (U ) + d out (U )
2 2
1 1
(2k dDout (U )) + d out (U )
2 2
= k.
These force the difference between d in (v) and d out (v) to be xed, and so the
resulting orientation must have d in (v) = dDin (v) d(v), where dDin (v) is the
indegree in the initial orientation. These extra constraints are only dened on
124 7 Submodular ows and applications
singletons and complement of singletons, and one can verify that the result-
ing function is still crossing submodular no matter what d(v) is. We note
that the degree-constrained orientation problem (even without connectivity
requirement) already captures many interesting combinatorial problems such
as bipartite matching, score sequences of tournament and basketball league
winner problems.
where (v) = in (v) out (v). If W = , then this is the well-studied submodular
ow problem we encountered earlier. (Even though we have a minimiza-
tion problem rather than the maximization version we introduced earlier,
the transformation between the two is direct by negating the weights w.)
However, the addition of the degree constraints makes the feasibility prob-
lem NP-complete. We show the following by adapting the iterative proof of
Theorem 7.1.1.
Theorem 7.5.1 There exists a polynomial time algorithm for the minimum
bounded degree submodular ow problem which returns a 01 submodular
ow of cost at most opt that violates each degree constraint by at most one,
where opt is the cost of an optimal solution which satises all the degree
constraints.
minimize wa xa
aA
Lemma 7.5.2 Let x be any extreme point solution to LPbdsmf (D, f , w, g) with
0 < xa < 1 for each arc a A(D). Then there exist a cross-free family C and a
set T W such that
(i) x( in (S)) x( out (S)) = f (S) for each S C and x((v)) = g(v) for each
vT.
(ii) The vectors in { (S) : S C} { ((v)) : v T } are linearly independent.
(iii) |C| + |T | = |A(D)|.
v in v out
v
7.5.5 Applications
We close with some applications of the minimum bounded degree submodular
ow problem.
128 7 Submodular ows and applications
Corollary 7.5.3 There exists a polynomial time algorithm for the minimum
bounded degree directed cut cover problem, which returns a directed cut cover
F of cost at most opt and |F (v)| g(v) + 1 for each vertex v V , where
opt is the cost of an optimal solution that satises all the degree constraints.
Corollary 7.5.4 There exists a polynomial time algorithm for the minimum
bounded degree graph orientation problem, which nds an arc set of cost at
most opt whose reversal makes the digraph strongly k-arc-connected and such
that the number of arcs reversed at each node v is at most g(v) + 1, where opt
is the cost of an optimal solution that satises all degree constraints.
7.6 Notes
The polyhedral result on submodular ows is due to Edmonds and Giles [39],
generalizing the result by Lucchesi and Younger [95] on directed cut cover and
the polymatroid intersection theorem by Edmonds [37]. This paper by Edmonds
and Giles also introduced the notion of totally dual integrality and demonstrated
the power of the uncrossing technique, which was developed earlier by Lucchesi
and Younger [95] and Lovsz [93].
Exercises 129
The starting point of graph orientation problems is the result by Robbins [114]
showing that a graph has a strongly connected orientation if and only if it is
2-edge-connected. This result is extended by Nash-Williams [104] to obtain
Theorem 7.4.7 and a further generalization on local edge-connectivities. The
reduction of graph orientation problems to the submodular ows problem is
due to Frank (see [44] for a survey). The result on degree constrained submod-
ular ow problem is from Kraly et al. [80]. Gabow [55] also solves a degree
constrained orientation problem using iterative rounding.
Exercises
7.1 Fill in the details of the proof of Lemma 7.2.2.
7.2 Prove Claim 7.3.1.
7.3 (a) Generalize the proof of the integrality of the LP formulation for the
submodular ow problem when box constraints are present.
(b) Generalize the proof of the integrality of the dual of submodular ow
when the primal has box constraints. (Hint: Observe that upper and
lower bound introduce extra variables on arcs. Argue separately with
tight arc constraints for which these variables are zero and nonzero.)
7.4 Prove Theorem 7.4.5.
7.5 Prove the discrete separation theorem (Theorem 7.4.6) using a construc-
tion similar to that for the polymatroid intersection Theorem 7.4.5.
7.6 Verify that the degree-constrained graph-orientation problem introduced
in Section 7.4.3 by verifying that the extra degree constraints introduced
there still result in a submodular function in the right-hand side of the
constraints.
7.7 Dilworths theorem states that in any partially ordered set, the size of the
maximum antichain is equal to the minimum number of chains needed to
cover the whole set. Show that Dilworths theorem is a special case of the
submodular ow problem.
7.8 (Frank and Tardos [46]) We outline the reduction of the minimum cost
rooted k-connected subgraph problem (in Chapter 6) to the submodular
ow problem. The proof is divided into two main steps.
(a) Let G = (A, B; E) be a simple bipartite graph. Let p be an intersecting
supermodular function and c be a nonnegative cost function on the
edges. Call a subset R E supporting if ?R (X) p(X) for every
X A, where ?R (X) := {y B | yx R for some x A}. Prove that
the minimum-cost supporting set of a bipartite graph can be found in
polynomial time via a reduction to the submodular ow problem.
130 7 Submodular ows and applications
131
132 8 Network matrices
f5
e3 e4 f1 f2 f3 f4 f5
f4
e1 1 1 0 0 0
e2 1 0 0 1 0
f3
f2 e3 0 0 1 1 1
e1 e2
e4 0 0 1 0 0
(b)
f1
(a)
Figure 8.1 (a) Tree T is shown in bold edges and graph D in dotted edges. (b)
The corresponding network matrix.
Dene N , an |E(T )| |E(D)| matrix in the following way for arcs e E(T )
and f E(D). Let P be the path from tail of f to the head of f in T . See
Figure 8.1 for an example.
if e does not occur on P
0
Nef = +1 if e occurs in the forward direction on P
1 if e occurs in the reverse direction on P
Such {0, +1, 1} matrices arising from a given directed tree T and a given
directed graph D on the same set of vertices are called network matrices.
A well-known result in combinatorial optimization is the integrality of linear
programs with network constraint matrices.
Theorem 8.1.1 Let N be a network matrix and b be an integral vector. Then the
extreme point solutions of the linear program {max cT x : Nx b} are integral.
This follows from the result that network matrices are actually a subclass of a
broader class of constraint matrices that have integral extreme point solutions,
called totally unimodular matrices. The latter are matrices that have all square
subdeterminants equal to 0, +1, or 1, and permit several equivalent rich
characterizations for more on them, see the books by Schrijver [120, 121].
In this chapter, we use an iterative method to prove both Theorems 8.1.1 and
its dual version 8.1.2, and discuss some applications of these theorems.
8.2 Primal integrality 133
xf 0 f E(D)
Theorem 8.2.2 The iterative algorithm for network constrained matrix linear
programs in Figure 8.2 returns an optimal integral solution in polynomial time.
The following lemma shows that the algorithm will terminate and completes
the proof of Theorem 8.2.2.
Lemma 8.2.3 For any extreme point solution x to LPnet (T , D), there is an arc
f E(D) with integer value (i.e., xf = af for an integer af ).
The proof follows closely the proof of the similar lemma (Lemma 7.2.5)
for the submodular ow problem. Suppose for contradiction that for each arc
f D, we have that xf is not integral. From Lemma 8.2.1, we start with a
maximal set of tight constraints that are linearly independent at the extreme
point solution x and denote the corresponding subset of arcs by R. Note that
every arc in D has xf > 0 since there are no integer valued variables. We will
show a contradiction to |R| = |E(D)| as stated in Lemma 8.2.1.
8.2 Primal integrality 135
k
= be dir(ei , e) bei
i=1
subtree, its two contributions in the left-hand side get canceled out. Also, if an
arc a D has one endpoint in a vertex below u and the other above u, then,
again, its two terms get canceled out in the left-hand side. Thus, the only arcs
whose contributions survive in the left-hand side in the preceding equation are
those that have one endpoint in u, which are precisely those that give their
tokens to u.
Now the left-hand side of the preceding equation cannot be zero since in
that case, we have linear dependence between the tight constraints for arcs
e, e1 , . . . , ek , contradicting Lemma 8.2.1. Thus, the left-hand side has a nonzero
variable. But the right-hand side is an integer, and all the variables xa in the
left-hand side are nonintegral. Therefore, there must be at least two variables
in the left-hand side, thus giving two tokens to the endpoint u as required.
To get extra tokens at the root of T , note that we can always root the tree
T at a leaf, and the argument we provided previously for a leaf applies to
the root as well, giving it at least two extra tokens, and hence the desired
contradiction.
minimize be ye
eE(T )
subject to ye ye c f f E(D)
e:f I (e) e:f O(e)
ye 0 e E(T )
8.3 Dual integrality 137
Lemma 8.3.1 Let y be any extreme point solution to LPdnet (T , D) with non-
integral ye for each arc e E(T ). Then there exists a subset D E(D) such
that
(i) e:f I (e) ye e:f O(e) ye = cf for each f D .
(ii) The vectors in { (f ) : f D } are linearly independent.
(iii) |D | = |E(T )|.
Theorem 8.3.2 The iterative algorithm for duals of network constrained matrix
linear programs in Figure 8.3 returns an optimal integral solution in polynomial
time.
Lemma 8.3.3 For any extreme point solution y to LPdnet (T , D), there is an
arc e E(T ) with integer value (i.e., ye = ae for an integer ae ).
138 8 Network matrices
Suppose for contradiction, ye is not an integer for any arc e E(T ). From
Lemma 8.3.1, we start with a maximal set of tight constraints that are linearly
independent at the extreme point solution y, and denote the corresponding sub-
set of arcs by D . Observe that ye > 0 for each e T since no variable is integral.
We will show a contradiction to |D | = |E(T )| as stated in Lemma 8.3.1.
We use a counting argument to derive a contradiction: The arcs in D corre-
sponding to tight constraints in y also form a graph over the vertices in V (T ).
First, we argue that the graph formed by D is acyclic. Since |E(T )| = |D | and
T is a tree, this implies that D also forms a tree. Then we use the path in D
between the endpoints of an arc e E(T ) to show that the variable ye must be
set to an integer value, giving us the lemma.
In detail, rst suppose for a contradiction that there is a cycle C (in the
undirected sense) among the arcs in D . Fix an orientation of the cycle, and let
the arcs encountered in this order be f1 , f2 , . . . , fk (not necessarily all oriented
in the same direction as the cycle C). Consider the weighted sum of constraints
corresponding to f1 , . . . , fk .
k
sign(fi ) ye ye ,
i=1 e:fi I (e) e:fi O(e)
It is now easy to verify that since the arcs fi form a cycle, the terms for every
tree arc e cancel out in the above summation to reduce it to zero, thus showing
that a cycle of tight constraints in D are linearly dependent, contradicting
Lemma 8.3.1. Thus, there are no cycles in D , and hence D is also a tree.
Finally, consider an arc e E(T ) going from a leaf u T to its parent v (the
case when it is pointed to the leaf can be argued symmetrically). Since D is a
tree, there is an (undirected) path from u to v in D , say, f1 , f2 , . . . , fp . Again,
consider the sum of tight inequalities
p p
sign(fi ) ye ye = cf i
i=1 e:fi I (e) e:fi O(e) i=1
8.4 Applications
Traditional applications of the integrality of network matrices range from the
integrality of vertex cover and maximum matching problems in bipartite graphs
to its generalization to the max-ow min-cut theorem in digraphs. In this section,
we use the framework of network matrices to show integrality of the dual LPs
for various problems we encountered earlier, such as the maximum matroid
basis problem and the maximum matroid intersection problem in Chapter 5, as
well as the submodular ow problem in Chapter 7.
8.4.1 Matroid
In this section, we show the integrality of the dual linear program for the
maximum weight basis problem as discussed in Section 5.4.1 and prove
Theorem 5.4.2 which we state again.
Proof Let y be an optimal solution to LPdmat (M). Claim 5.4.1 implies that
we can assume that the support of y is a chain C. Moreover, the following
140 8 Network matrices
restricted linear program, denoted by LPrdmat (M), has the same objective value
as LPdmat (M).
minimize r(T )y(T )
T C
subject to y(T ) we e S
T C:eT
y(T ) 0 T C
In the following lemma, we show the constraint matrix of LPdmat (M) is the
transpose of a network matrix when C is a chain.
Lemma 8.4.2 Given a set S, let C be a chain over the subsets of S. Then the
|S| |C| matrix N , with the entry (e, R) for e S and R C is 1 if and only if
e R, is the transpose of a network matrix.
Proof Construct a directed tree T with a root vertex r and one vertex for each
set in C. There is an arc from R C to R C if and only if R is the smallest
set containing R. Moreover there is an arc from the set R to root r where R is
the largest set in C. Thus T is a directed path towards r.
The graph D is dened over the same vertex set. For each element e in S
which is contained in some set of C, there is an arc from the vertex corresponding
to the smallest set containing e to the root r. See Figure 8.4. It is easy to check
that the network matrix corresponding to (T , D) is exactly the transpose of the
matrix N .
Proof Let y be an optimal solution to LPdint (M1 , M2 ). Claim 5.4.1 implies that
we can assume that the set C1 = {T S : y1 (T ) > 0} and the set C2 = {T S :
y2 (T ) > 0} are chains over the ground set S. Moreover, the following restricted
linear program, denoted by LPrdint (M1 , M2 ), has the same objective value as
8.4 Applications 141
r
S1
S2
fv S1
S3
S4 v
fu S2
u
S3
(a) S4
(b)
LPdint (M1 , M2 ).
minimize r1 (T )y1 (T ) + r2 (T )y2 (T )
T C1 T C2
subject to y1 (T ) + y2 (T ) we e S
T C1 :eT T C2 :eT
yi (T ) 0 T Ci , 1 i 2
In the following lemma, we show the constraint matrix of LPrdint (M) is the
transpose of a network matrix when C1 and C2 are chains.
Lemma 8.4.4 Given a set S, let C1 and C2 be chains over the subsets of S.
Consider the |S| (|C|1 + |C2 |) matrix N , where the entry (e, R) for e S and
R C1 C2 is 1 if and only if e R. Then N is the transpose of a network
matrix.
Proof Construct a directed tree T with a vertex r along with one vertex for
each set in C1 or C2 . For each set R in C1 , there is an arc with its tail in R and its
head in the smallest set containing R in C1 . If R is the largest set in C1 then the
head of the arc is the root r. For each set R in C2 , there is an arc with its tail in
R and its head in the largest set contained in R. For the largest set in C2 the tail
142 8 Network matrices
r
S1
R1 S2
R2 R1 S1
S3
R3 v
S4
fv
R2 S2
u
R3 S3
fu
S4
(a)
(b)
Figure 8.5 (a) The chains C1 = {S1 , S2 , S3 , S4 } and C2 = {R1 , R2 , R3 } are shown
where u S4 R2 and v S2 R1 . (b) The corresponding tree has a vertex r and
one vertex for every set in C1 C2 . Each element in S corresponds to a non-tree arc
from the smallest set containing it in C1 to the smallest containing it in C2 . Hence
fu is from S4 to R2 and fv is from S2 to R1 .
of the arc is the root r. Thus, the tree T is a directed path toward the smallest
set in C2 .
We now dene the graph D with the same vertex set as T . For each element
of S which is contained in some set of C1 or C2 , there is an arc from the smallest
set in C1 containing e to the smallest set in C2 containing e. If no set in C1 or C2
contains e, then the head or the tail is changed to r accordingly. See Figure 8.5.
Again it is straightforward to check that the network matrix corresponding
to (T , D) is the transpose of the matrix N .
Theorem 8.4.5 The linear program LPdsmf (D, f , w) is integral for any vector
w Z m.
Proof Let y be an optimal solution to LPdsmf (D, f , w). Claim 7.3.1 implies
that we can assume that the support of y is a cross-free family C. Moreover,
Exercises 143
the following restricted linear program, denoted by LPrdsmf (D, f , w), has the
same objective value as LPdsmf (D, f , w).
maximize f (S) y(S)
SC
subject to y(S) y(S) wa a A
SC:a in (S) SC:a out (S)
y(S) 0 S C
8.5 Notes
A matrix A is called totally unimodular if every square submatrix has deter-
minant in {0, +1, 1}. It is easy to see that if the constraint matrix of a linear
program is totally unimodular and the right-hand side of the constraints is inte-
gral, then the linear program is integral. Total unimodularity is a very strong tool
for proving integrality of linear programs for many optimization problems. The
fact that network matrices are totally unimodular was proved by Tutte [129].
Total Dual Integrality, introduced by Edmonds and Giles [39], is a weaker con-
dition than total unimodularity but is also very powerful tool in establishing
integrality of linear programs for optimization problems. Indeed, almost all
integrality results discussed in this book have been proven to be integral show-
ing that the given linear programming description is also totally dual integral
(see also [121]).
Exercises
8.1 Perhaps the most famous application of the fact that network matrix con-
straints result in integer solutions for LPs is to show the max-ow min-cut
theorem: Given a directed graph with nonnegative capacities on the arcs,
and a source node s and a sink node t, the maximum ow problem asks
for the maximum set of disjoint paths from s to t obeying the capacities on
the edges (i.e., the maximum number of paths using an arc is at most its
capacity).
Formulate a LP relaxation for the maximum ow problem with the
property that its constraint matrix is a network matrix. (Hint: Write one
144 8 Network matrices
145
146 9 Matchings
1
1
2
2
1 0 1
2 2
1
1 2
2
Figure 9.1 In this example, if the weight of the cut edge is small, then the fractional
solution is an optimal solution to the linear program with only degree constraints.
maximize we xe
eE
subject to x((v)) 1 v V
|S| 1
x(E(S)) S V , |S| odd
2
xe 0 e E
To prove Lemma 9.1.2, we rst prove the following claim about tight odd-
sets, which are the sets S with |S| odd and x(E(S)) = (|S| 1)/2.
Lemma 9.1.3 If A, B are tight odd-sets and AB = , then one of the following
is true:
Proof First consider the case that |A B| is odd. Since |A| + |B| = |A B| +
|A B|, this implies that |A B| is also odd. Hence, we have
|A| 1 |B| 1
+ = x(E(A)) + x(E(B))
2 2
x(E(A B)) + x(E(A B))
|A B| 1 |A B| 1
+
2 2
|A| 1 |B| 1
= +
2 2
where the rst inequality follows from supermodularity of the function |E(S)|
(Proposition 2.3.6), and the second inequality follows from the constraints of
LPM (G). Hence both inequalities are satised at equality. The second inequality
thus implies that A B and A B are tight odd-sets, while the rst inequality
implies that there are no edges between A \ B and B \ A and thus (E(A)) +
(E(B)) = (E(A B)) + (E(A B)).
Next we consider the case when |A B| is even, in which case |A \ B| is
odd. Since |A| + |B| = |A \ B| + |B \ A| + 2|A B|, it follows that |B \ A| is
also odd, and hence:
|A| 1 |B| 1
+ = x(E(A)) + x(E(B))
2 2
x(E(A \ B)) + x(E(B \ A)) + x((v))
vAB
148 9 Matchings
|A \ B| 1 |B \ A| 1
+ + |A B|
2 2
|A| 1 |B| 1
= +
2 2
where the rst inequality can be veried by counting the contribution of each
edge, and the second inequality follows from the odd-set constraints of A \ B
and B \ A and the degree constraints in A B. Therefore, both inequalities must
hold as equalities. The second inequality thus implies that A \ B and B \ A are
both tight odd-sets, and also all the degree constraints in A B are tight. The
rst inequality implies that there are no edges with one endpoint in A B
and another endpoint in V (A B), and therefore (E(A)) + (E(B)) =
(E(A \ B)) + (E(B \ A)) + vAB ((v)).
The next claim shows that a tight odd-set that is not connected can be
replaced by a connected tight odd-set and some tight degree constraints.
Claim 9.1.4 If S is a tight odd-set for which E(S) is not connected, then there
exists a tight odd-set R S such that R is a connected component in S, and
2(E(S)) = 2 (E(R)) + vS\R ((v)) and x((v)) = 1 for each v S \ R.
Proof Since |S| is odd, there exists a connected component R of E(S) with
|R| odd, and
|S| 1 = 2x(E(S))
= 2x(E(R)) + 2x(E(S R))
= 2x(E(R)) + x((v)) x((S R))
vSR
Proof of 9.1.2 The proof structure is similar to that of Lemma 4.1.5, but the
details are more subtle. Let F = {S | x(E(S)) = (|S| 1)/2} be the set of tight
odd-sets and T = {{v} | x((v)) = 1} be the set of tight vertices for an extreme
point solution x to LPM (G). Denote by span(F T ) the vector space generated
by the characteristic vectors in { (E(S)) | S F} { ((v)) | v T }. Let L
be a maximal laminar family of F with the additional property that each set
S L is connected. Using Lemma 9.1.3 and Claim 9.1.4, we will prove that
span(L T ) = span(F T ), and then the lemma follows directly from the
Rank Lemma.
Suppose, by way of contradiction, that span(L T ) span(F T ). Recall
that two sets A and B intersect if A B, A B, B A are all nonempty. As in
Lemma 4.1.5, we dene intersect(A, L) = |{B L | A and B are intersecting}|
(i.e., the number of sets in L that intersect A). Since span(LT ) span(F T ),
there exists a set A F with (E(A)) / span(L T ). Choose such a set
A with minimum intersect(A, L) and then minimum |A|. We will show that
(E(A)) span(L T ), leading to a contradiction.
First suppose that intersect(A, L) = 0, then A must be disconnected; oth-
erwise, L A is also a laminar family with each set in L A connected,
contradicting the maximality of L. By Claim 9.1.4, there is a tight odd-set
B which is a connected component in A, and
2 (E(A)) = 2 (E(B)) + ((v)) (9.1)
vA\B
Claim 9.1.6 If A / L and B L are intersecting, then all the four num-
bers intersect(A B, L), intersect(A B, L), intersect(A \ B, L) and intersect
(B \ A, L) are strictly smaller than intersect(A, L).
Lemma 9.1.7 Given any extreme point x to LPM (G) there must exist an edge
e with xe = 0 or xe = 1.
Proof Suppose for contradiction that 0 < xe < 1 for each edge e E. Let L
be a laminar family of tight odd-sets and T be a set of tight vertices satisfying
the properties given by Lemma 9.1.2. Let L = L T be the extended laminar
family. We show a contradiction to the fact that |E| = |L| + |T | = |L | by a
token counting argument. Initially, each edge is given one token, for a total of
|E| tokens. Each edge will give its token to the smallest set in L that contains
both of its endpoints. Then we will redistribute the tokens inductively so that
each member in L receives one token and there are some tokens left. This will
imply that |E| > |L | giving us the desired contradiction.
Recall that a laminar family naturally denes a forest L as follows: Each
node of L corresponds to a set in L , and there is an edge from set S to set R if
S is the smallest set containing R, in which case we say S is the parent of R and
R is a child of S. In this problem, the number of tokens a set S L received
is equal to the number of edges induced in S but not induced in the children
of S. Henceforth, when we consider S L , it is more convenient to consider
the graph GS formed by contracting the children of S in G[S] into singletons.
See Figure 9.1.4. For a vertex v GS , we let Rv L be the corresponding
child of S in G[S]. The following claim shows that GS and G[S] have similar
properties.
|GS | 1
Claim 9.1.8 For S L , |GS | is odd and x(E(GS )) = 2
.
hence |GS | is odd since |S| is odd. Also, since each Ri is a tight odd-set, we
have
k
k
|S| 1 |Ri | 1 |GS | 1
x(E(GS )) = x(E(S)) x(E(Ri )) = = .
i=1
2 i=1
2 2
We say a set S L is degree-tight if x((S)) = 1, and the characteristic vector
((S)) can be written as a linear combination of the characteristic vectors in
the subtree of L rooted at S. Note that the tight vertices in T are the singleton
degree-tight sets. The following claim gives a partial characterization when a
set S L T is degree-tight.
Claim 9.1.9 A set S L T is degree-tight if every vertex v in GS is degree-
tight.
Proof Since S L , by Claim 9.1.8, we have 2x(E(GS )) = |GS |1. Therefore,
x((S)) = x((GS )) = vGS x((v)) 2x(E(GS )) = |GS | (|GS | 1) = 1.
Note that
((S)) = ((v)) 2 (E(GS )). (9.4)
vGS
R3
R1
R1 R3
R2
R5 R5
R4 R2 R4
Graph G [S ] Graph GS
Figure 9.3 In this example, the nodes R2 and R4 are in G1 and R1 , R3 and R5 are
in G2 .
|GS | 1 |GS | 1
= x(E(GS )) x((v)) |G1 | (9.5)
2 vG
2
1
where the second inequality of (9.5) follows from the degree constraints of
vertices in G1 . Thus, equalities hold as equalities. The second inequality of
(9.5) implies that x((v)) = 1 for each v G1 , and it follows that
x((S)) = x((v)) 2x(E(G(S))) = |GS | (|GS 1) = 1. (9.6)
vGS
The rst inequality of (9.5) implies that (E(GS )) = vG1 ((v)), and so
(E(S)) = (E(GS )) + (E(Rv )) = ((v)) + (E(Rv )).
vGS vG1 vGS
(9.7)
154 9 Matchings
l
2m = |(v)| |(vi )| 2l.
vGV i=1
Suppose for contradiction that m = l. Then the inequalities must hold as equal-
ities. The second inequality implies that GV is a disjoint union of cycles, while
the rst inequality implies that every vertex in the cycles is a degree-tight ver-
tex. Consider a cycle C in GV . Since every vertex in C is degree-tight, we
have 2x(E(C)) = vC x((v)) = |C|. Therefore, C cannot be an odd cycle;
9.2 Hypergraph matching 155
otherwise, vC Rv is an odd set violating the corresponding odd set constraint
in LPM (G). So C is an even cycle, and let C1 , C2 be the bipartition of C. Then
((v)) = ((v)). (9.8)
vC1 vC2
We prove Theorem 9.2.1 for 3-partite hypergraphs. This is also known as the
3-dimensional matching problem, one of the classical NP-complete problem.
The generalizations to k-uniform and k-partite hypergraphs are deferred to the
exercises.
maximize we xe
eE
subject to xe 1 v V
e(v)
xe 0 e E
For the analysis of the iterative algorithm, we consider a slightly more general
linear program, denoted by LPM (H , B), where B denotes the vector of all degree
bounds 0 Bv 1 for each vertex v V . Initially Bv = 1 for each v V .
maximize we xe
eE
subject to xe B v v V
e(v)
xe 0 e E
Lemma 9.2.2 Given any extreme point solution x to LPM (H , B) with xe > 0
for each e E, there exists W V such that
(i) x((v)) = Bv > 0 for each v W .
(ii) The vectors in { ((v)) : v W } are linearly independent.
(iii) |W | = |E|.
Local-Ratio(F,w)
(i) Remove from F all hyperedges with nonpositive weights.
(ii) If F = , then return .
(iii) Choose from F the hyperedge e with the smallest index. Decompose
the weight vector w = w1 + w2 where
w(e) if e N[e],
w1 (e ) =
0 otherwise.
(iv) M Local-Ratio(F , w2 ).
(v) If M {e} is a matching, return M {e}; else return M .
Theorem 9.2.3 After Step (ii) of the iterative algorithm in Figure 9.4, there
is an ordering of the hyperedges with x(N [ei ] {ei , ei+1 , . . . , em }) 2 for all
158 9 Matchings
The proof of Theorem 9.2.3 consists of two steps. First, in Lemma 9.2.4, we
prove that there is a hyperedge e with x(N [e]) 2 in an extreme point solution to
LPM (H , B). Since the initial solution x is an extreme point solution, this implies
that the rst iteration of Step (ii) of the iterative algorithm will succeed. Then we
prove in Lemma 9.2.5 that the remaining solution (after removing e and updating
Bv ) is still an extreme point solution to LPM (H , B). Therefore, by applying
Lemma 9.2.4 inductively, the iterative algorithm will succeed in nding an
ordering of hyperedges {e1 , . . . , em } with x(N[ei ] {ei , ei+1 , . . . , em }) 2 for all
1 i m. Now we prove Lemma 9.2.4.
Proof Let W be the set of tight vertices as described in Lemma 9.2.2. To show
that there is a hyperedge with the required property, we rst prove that in any
extreme point solution to LPM (H , B) there is a vertex in W of degree at most
two. Suppose for contradiction that every vertex in W is of degree at least three.
This implies that
vV |(v)| vW |(v)|
|W | = |E| = |W |
3 3
where the rst equality follows from Lemma 9.2.2, the second equality follows
because every hyperedge contains exactly three vertices. Hence the inequalities
must hold as equalities. In particular the rst inequality implies that every
hyperedge is contained in W . Let V1 , V2 , V3 be the tripartition of V , and Wi =
W Vi for 1 i 3. Since each hyperedge intersects Wi exactly once, we have
((v)) = ((v)).
vW1 vW2
This implies that the characteristic vectors in W are not linearly independent,
contradicting Lemma 9.2.2. Therefore, there is a vertex u W of degree at most
two. Let e = {u, v, w} be the hyperedge in (u) with larger weight. Since u is
of degree at most two, this implies that 2xe x((u)). Therefore,
Lemma 9.2.5 In any iteration of Step (ii) of the algorithm in Figure 9.4, the
restriction of the fractional solution is an extreme point solution to LPM (H , B).
Proof Suppose the graph in the current iteration is H = (V , E). Let xE be the
restriction of the initial extreme point solution x to E. We prove by induction
on the number of iterations that xE is an extreme point solution to LPM (H , B).
This holds in the rst iteration by Step (i) of the algorithm. Let e = {v1 , v2 , v3 }
be the hyperedge found in Step (ii)(a) of the algorithm. Let E = E e and
H = (V , E ). Let B be the updated degree bound vector. We prove that xE is
an extreme point solution to LPM (H , B ). Since the degree bounds of v1 , v2 , v3
are decreased by exactly xe , it follows that xE is still a feasible solution. Suppose
to the contrary that xE is not an extreme point solution to LPM (H , B ). This
means that xE can be written as a convex combination of two different feasible
solutions y1 and y2 to LPM (H , B ). Extending y1 and y2 by setting the fractional
value on e to be xe , this implies that xE can be written as a convex combination
of two different feasible solutions to LPM (H , B), contradicting that xE is an
extreme point solution. Hence xE is an extreme point solution to LPM (H , B ).
Theorem 9.2.7 Let x be an optimal extreme point solution to LPM (H , B). The
matching M returned by the algorithm in Figure 9.5 satises w(M) 12 w x.
have x(N [e]) 2. Let w, w1 , w2 be the weight vectors computed in Step (iii) of
the algorithm. Let y and y be the characteristic vectors for M and M obtained
in Step (iv) and Step (v) respectively. Since w(e) > 0 and w2 (e) = 0, w2 has
fewer hyperedges with positive weights than w. By the induction hypothesis,
w2 y 12 w2 x. Since w2 (e) = 0, this implies that w2 y 12 w2 x. By Step (v)
of the algorithm, at least one hyperedge in N [e] is in M. Since x(N [e]) 2 and
w1 (e ) = w(e) for all e N[e], it follows that w1 y 12 w1 x. Therefore, by
Theorem 9.2.6, we have w y 12 w x. This shows that M is a 2-approximate
solution to the 3-dimensional matching problem.
9.3 Notes
The work of Edmonds [35] rst showed the polyhedral characterization for the
general matching problem. It forms the rst class of polytopes whose character-
ization does not simply follow just from total unimodularity, and its description
Exercises 161
Exercises
9.1 Verify Claim 9.1.5 and Claim 9.1.6.
9.2 Adapt the arguments in this chapter to show an integral formulation for the
maximum weight k-matching problem of choosing a set of k independent
edges of maximum weight in a given undirected graph. In particular, argue
that it sufces to add one equality constraint insisting that the sum of cho-
sen edges is k to our formulation for maximum matchings to achieve this.
9.3 In an instance of the T -join problem, we are given a graph G = (V , E)
with weight function w : E R+ and a set T of even cardinality, the task
is to nd a subgraph H such that the degree of v in H , dH (v) is even if
v / T and odd if v T .
(a) Show that if T = V , then the optimal T -join is the minimum weight
perfect matching.
(b) Generalize the linear programming formulation for the perfect match-
ing problem to obtain a formulation for the T -join.
(c) Generalize the argument for the perfect matching problem to obtain
integrality of the linear programming formulation for the T -join
problem.
9.4 (Padberg and Rao [109]) A Gomory-Hu (cut-equivalent) tree for graph
G = (V , E) with weight function w on edges is a tree T with vertex set
V and a new weight function w on edges of T . The edges of T can be
distinct from the edges of G (i.e., T need not be a subgraph of G). The
tree satises the following properties.
162 9 Matchings
(i) For every pair of vertices u, v, the weight of minimum (u, v)-cut in G
(w.r.t. w) is equal to the weight of the minimum (u, v)-cut in T (w.r.t.
w ).
(ii) For each edge e E(T ), w (e) is the weight of the cut G (S) where
the removal of e from T results in components S and V \ S.
Given a weighted undirected graph, a Gomory-Hu tree for it can be con-
structed in polynomial time (see e.g., [30] for details). Use this fact to
prove the following.
(a) Show that the minimum weight odd cut (which has an odd number of
vertices on either side) can be obtained using the Gomory-Hu tree.
(b) Obtain an efcient separation oracle for the perfect matching problem
in general graphs.
(c) Can you use the ideas in (a) and (b) to also supply an efcient sep-
aration oracle for LPM (G) for the maximum matching problem in
general graphs?
9.5 Let T = {S V : |S| is odd and x ((S)) = 1} where x is an extreme
point of LPM (G). Solving the linear program using the ellipsoid method
enables us to get a set family F T such that constraints for sets in F
are independent and span all the tight constraints in T . But F need not
be laminar. Give a polynomial time algorithm that, given F, returns a
laminar family L T such that constraints for sets in L are independent
and span all the tight constraints in T .
9.6 Modify Lemma 9.2.4 to prove that there is an edge e with x(N [e]) k
1 + k1 for k-uniform hypergraphs, and an edge e with x(N [e]) k 1 for
k-partite hypergraphs. Use this to generalize the 3-dimensional matching
result to prove Theorem 9.2.1.
9.7 Show that the algorithm in Figure 9.4 can be modied to give a direct iter-
ative rounding 2-approximation algorithm (without using the local-ratio
routine) for the unweighted problem.
9.8 This exercise is to develop an alternative proof that the integrality gap of
the 3-dimensional matching problem is at most 2. Given a hypergraph H
with fractional value xe on each edge, a fractional hyperedge coloring is
a set of weighted matchings {M1 , . . . , Ml } of H so that i:eMi w(Mi ) =
xe . A fractional hyperedge coloring is called a fractional hyperedge
k-coloring if the total weight on the matchings is equal to k. Use a greedy
coloring algorithm on the ordering in Theorem 9.2.3 to obtain a fractional
hyperedge 2-coloring of the hypergraph. Conclude that the integrality gap
of the 3-dimensional matching problem is at most 2.
9.9 Consider the following colorful graph matching problem. Given a undi-
rected graph in which each edge e has weight we and a color c(e), the
Exercises 163
164
10.1 Survivable network design problem 165
f (S) + f (T ) f (S T ) + f (S T ),
or
It can be veried that the function f dened by f (S) = maxuS,vS/ {ruv } for
each subset S V is a skew supermodular function (see Exercise 2.2.10). Thus,
one can write the following linear programming relaxation for the survivable
network design problem, denoted by LPsndp , with the function f being skew
supermodular.
minimize ce xe
eE
for any two subsets X and Y . When f is skew supermodular, it follows from
standard uncrossing arguments, as in spanning trees (Chapter 4) and maximum
matchings (Chapter 9), that an extreme point solution to LPsndp is characterized
by a laminar family of tight constraints. Lemma 10.1.1 follows from these
uncrossing arguments and the Rank Lemma.
Assuming Theorem 10.1.2, the iterative algorithm will terminate, and it can
be shown by an inductive argument that the returned solution is a 2-approximate
solution (see Theorem 6.3.2 for a similar proof). We prove Theorem 10.1.2 by
a counting argument, following the original proof of Jain, which will be useful
later for the minimum bounded degree Steiner network problem.
Suppose for a contradiction that every edge e has 0 < xe < 12 . By
Lemma 10.2.1, there is a laminar family L of tight constraints that denes
x. We assign two tokens to each edge, one to each endpoint, for a total of
2|E| tokens. Then we will redistribute the tokens so that each member in L
receives at least two tokens and there are some tokens left. This would imply
that |E| > |L|, contradicting Lemma 10.2.1.
Let S be a subset of vertices. Dene its corequirement coreq(S) :=
e(S) ( 2 xe ). We call a set S L special if coreq(S) = 2 . Given a lami-
1 1
nar family, it can be represented as a forest of trees if its sets are ordered by
inclusion. Recall that in this forest, a set R L is a child of S L if S is the
smallest set in L that contains R. We say an endpoint v is owned by S if S is
the smallest set in L that contains v. The following lemma is useful to establish
that a certain set is special. A proof can be found in Vaziranis book [132], and
it is omitted here.
Lemma 10.1.4 For any rooted subtree of the forest L with root S, the tokens
assigned to vertices in S can be redistributed such that every member in the
subtree gets at least two tokens, and the root S gets at least three tokens.
Furthermore, S gets exactly three tokens only if S is special; otherwise, S gets
at least four tokens.
Proof The proof is by induction. For the base case, consider a leaf node S
in the laminar family. Since f (S) 1 and xe < 12 for all e, this implies that
d(S) 3 and thus S can collect three tokens. Furthermore, S collects exactly
three tokens only if coreq(S) = d(S)/2 x((S)) = 1/2. In this case, f (S) = 1
and d(S) = 3, and thus S is special. This veries the base case.
For the induction step, consider a nonleaf node S. For a child R of S, we say
R has one excess token if R has three tokens, and R has at least two excess
tokens if R has at least four tokens. By the induction hypothesis, each child has
at least one excess token and has exactly one excess token only if it is special.
We will divide the cases by the number of children of S.
168 10 Network design
(i) S has at least four children: Then S can collect four tokens by taking one
excess token from each child.
(ii) S has three children: If any child of S has two excess tokens or if S
owns any endpoint, then S can collect four tokens. Otherwise, all three
children of S are special and S does not own any enpdoint, but then S is
special by Lemma 10.1.3, and so three tokens are enough for the induction
hypothesis.
(iii) S has two children: If both children have two excess tokens, then S can
collect four tokens. So assume that one child of S is special, but then it
can be shown that S must own at least one endpoint (see the exercises
or Lemma 23.20 of [132]). If both children of S are special, then S is
special by Lemma 10.1.3, and so three tokens are enough for the induction
hypothesis. Otherwise, S can collect four tokens.
(iv) S has one child R: Since ((S)) and ((R)) are linearly independent,
S must owns at least one endpoint. As both f (S) and f (R) are integers
and there is no edge of integral value, this actually implies that S can-
not own exactly one endpoint, and thus S owns at least two endpoints.
If R is not special, then S can collect four tokens; otherwise, S is spe-
cial by Lemma 10.1.3 and so three tokens are enough for the induction
hypothesis.
The extra tokens in the roots of the laminar family give us the desired contra-
diction. This proves Theorem 10.1.2, and thus the 2-approximation algorithm
for the survivable network design problem follows.
/ {ruv }
For the survivable network design problem, we set f (S) = maxuS,vS
for each subset S V , and set W = . For the traveling salesman problem, we
set f (S) = 2 for each S V , f (V ) = 0, and W = V .
for each e E. Then we will show that |E| > |L|, contradicting Lemma 10.2.1.
The proof is by a fractional token counting argument. We give one token to
each edge in E, and then we will reassign the tokens such that we can collect
one token for each member in L and still have extra tokens left, giving us the
contradiction that |E| > |L|. Each edge e = uv is given one token, which is
reassigned as follows.
(i) (Rule 1) Let S L be the smallest set containing u and R L be the
smallest set containing v. Then e gives xe tokens each to S and R.
(ii) (Rule 2) Let T be the smallest set containing both u and v. Then e gives
1 2xe tokens to T .
We now show that each set S in L receives at least one token. Let S be any
set with children R1 , . . . , Rk where k 0 (if S does not have any children, then
k = 0). We have the following equalities.
x((S)) = f (S),
x((Ri )) = f (Ri ) 1 i k.
Subtracting, we obtain
k
k
x((S)) x((Ri )) = f (S) f (Ri ). (10.1)
i=1 i=1
We divide the edges involved in the left-hand side of (10.1) into three types,
where
A = {e : |e (i Ri )| = 0, |e S| = 1},
B = {e : |e (i Ri )| = 1, |e S| = 2},
C = {e : |e (i Ri )| = 2, |e S| = 2}.
R1 B 1 R2
C
2 0
A +1
Figure 10.2 Example for expression x((S)) ki=1 x((Ri )) with k = 2 children.
The dashed edges cancel out in the expression. Edge-sets A, B, C shown with their
respective coefcients.
xe + (1 xe ) + (1 2xe )
eA eB eC
where the last equality follows from (10.2). Since f is integral and the preceding
expression is nonzero (since A B C = ), the right-hand side is at least one,
and thus every set S L receives at least one token in the reassignment.
It remains to show that there are some unassigned tokens, which would imply
the contradiction that |E| > |L|. Let R be any maximal set in L. Consider any
edge e (R). The fraction of the token by Rule 2 for edge e is unassigned, as
there is no set T L with |T e| = 2, which gives us the desired contradiction.
This proves the rst part of the theorem.
[Second part]: The proof of the second part is almost identical to the proof
of the rst part, except that we use scaled token assignment rules. Each edge
e = uv is given one token which it reassigns as follows.
(i) (Rule 1 ) Let S be the smallest set containing u and R be the smallest set
containing v in L. Then e gives xe /2 tokens each to S and R.
(ii) (Rule 2 ) Let T be the smallest set containing both u and v. Then e gives
1 xe tokens to T .
172 10 Network design
We now show that each set in L receives at least one token. Let S be any set
with children R1 , . . . , Rk where k 0. We have the following equalities.
x((S)) = f (S),
x((Ri )) = f (R) 1 i k.
x(A) x(B)
= + |B| + |C| x(C)
2 2
f (S) i f (Ri )
= |B| + |C| + .
2
Since A B C = and f is an even-valued function, this is a positive integer.
Thus, every set S L receives at least one token in the reassignment.
Now, we show that there are some unassigned tokens showing the strict
inequality |L| < |E|. Let R be any maximal set L. Then, consider any edge
e (R). Then, (add) the fraction of the (end addition) token by Rule 2 for
edge e is unassigned as there is no set T L with |T e| = 2. This gives us the
desired contradiction.
(i) x((v)) = Bv > 0 for all {v} L and x((S)) = f (S) 1 for all S L .
(ii) The vectors in { ((S)) : S L} are linearly independent.
(iii) |E| = |L|.
Lemma 10.3.2 Let x be an extreme point solution to LPbdsn with xe > 0 for
every edge e, and W be the set of vertices with degree constraints. Then either
one of the following holds:
(i) There exists an edge e with xe 12 .
(ii) There exists a vertex v W with degree d(v) 4.
In the following we use a token counting argument to prove Lemma 10.3.2.
The counting argument is similar to that of Theorem 10.1.2. Each edge is
assigned two tokens, for a total of 2|E| tokens. For each edge e, one token
10.4 An additive approximation algorithm 175
is assigned to each endpoint. We shall show that if none of the steps in the algo-
rithm can be applied, then each set in L and each degree constraint in L can
collect two tokens, and there are some tokens left. This would imply |E| > |L|,
contradicting that x is an extreme point solution.
We prove the same statement as in Lemma 10.1.4 to get the contradiction.
The counting argument is similar, and we only highlight the differences here.
By Step 2(b), we may assume that d(v) 5 for each v W , and hence each
degree constraint has three extra tokens. The case when the node S L does
not own a vertex in W is exactly the same as in Lemma 10.1.4. Henceforth,
we consider a node S L that owns a vertex v W . If S has another child
R, then S can collect three tokens from v and at least one token from R, as
desired. Otherwise, by linear independence of ((S)) and ((v)), S owns at
least one endpoint and thus S can collect three tokens from v and at least one
more token from the endpoints it owns as required. This completes the proof
of Lemma 10.3.2.
at least 6rmax as high degree vertices. Observe that the fractional degree of
each vertex is nonincreasing during the algorithm, since we reset the degree
upper bound in Step (ii)a. in each iteration. Consider an edge e with v as
an endpoint. When v Wh , e is picked only if xe = 1 in Step (ii)b. of the
algorithm. Hence, while v Wh , at most Bv 6rmax edges incident at v are
added to H . While v W \ Wh , e is picked only if xe 12 in Step (ii)d. of the
algorithm. Hence, while v W \ Wh , strictly less than 12rmax edges incident at
v are added to H . Finally, by Step (ii)(c) of the algorithm, a degree constraint
is removed only if v is incident to at most four edges, where possibly all of
them are added to H . Therefore, the degree of v in H is strictly less than
(Bv 6fmax ) + 12fmax + 4 = Bv + 6fmax + 4. As Bv is an integer, the degree
of v in H is at most Bv + 6fmax + 3. Moreover, since we always included edges
with value at least half in F in each iteration, by induction, the cost of the nal
solution is at most twice the optimal objective value of LPbdsn . This proves
Theorem 10.4.1, assuming that the algorithm terminates.
The following lemma proves that the algorithm will always terminate. With
the same characterization as in Lemma 10.3.1, we use a more careful counting
argument to prove stronger properties of the extreme point solutions to LPbdsn
than those in Lemma 10.3.2.
10.4 An additive approximation algorithm 177
Lemma 10.4.2 Let x be an extreme point solution to LPbdsn with xe > 0 for
all e, and W be the set of vertices with degree constraints, and Wh = {v
W | e(v) xe 6rmax }. Then at least one of the following holds:
It is useful to note that this denition reduces to the original denition of core-
quirement, if every edge e with xe 12 is thought of as two parallel edges,
each aiming to achieve a value of 12 and each has fractional value x2e : Summing
1
2
x2e over both edges gives 1 xe . We say a set is special if coreq(S) = 12 as
in the proof of Jains theorem.
After this initial assignment, each vertex in V \ Wh receives at least as many
tokens as their degree. Moreover, each vertex in W \ Wh receive at least ve
178 10 Network design
tokens, as their degree is at least ve. Note that a vertex v Wh might not have
any tokens if all the edges incident at it are heavy edges. However, by exploiting
the fact that f (S) rmax , we will show that vertices in Wh can get back enough
tokens. We prove the following lemma which shows that the tokens can be
reassigned in a similar way as in Lemma 10.1.4.
Lemma 10.4.3 For any subtree of L rooted at S, we can reassign tokens such
that each node in the subtree gets at least two tokens and the root S gets at least
three tokens. Moreover, the root S gets exactly three tokens only if S is special;
otherwise it gets at least four tokens.
Proof Suppose S has c children. As each child has at least one excess token by
the induction hypothesis, if c 6w, then we have 6w tokens which is at least
2w + 4. Henceforth, we assume that c < 6w. Let B := vWh x((v)), where
the sum is over all vertices v Wh owned by S. Note that B 6wrmax by the
denition of Wh . For a child R of S, as x((R)) = f (R) rmax , at most rmax
units of B are contributed by the edges in (R). Similarly, at most rmax units
of B are contributed by the edges in (S). Hence, at least rmax (6w c 1)
units of B are from the edges with both endpoints owned by S. Since there is
no edge e with xe = 1, there are at least rmax (6w c 1) + 1 such edges. Let
e = uv be such an edge with v Wh owned by S. If u W , then both u and v
get one token from e in the initial assignment. If u
/ W , then u gets two tokens
from e in the initial assignment, but these two tokens are owned by S. Hence,
the number of tokens owned by S plus the number of tokens left with vertices
in Wh owned by S is at least rmax (6w c 1) + 1. Furthermore, S can also
collect one excess token from each child. So, the total number of tokens that S
can collect is at least rmax (6w c 1) + c + 1, which is a decreasing function
of c. As c < 6w, the number of tokens is minimized at c = 6w 1, which is at
least 2w + 4, proving the claim.
Base case S is a leaf node. Claim 10.4.4 implies that S can collect enough
tokens if it owns vertices in Wh . Hence, assume S Wh = . First, consider
10.5 Notes 179
Induction step If S owns any vertex in Wh , then we are done by Claim 10.4.4.
Thus, we can assume that S does not own any vertex in Wh . By the induction
hypothesis, any child of S has at least one excess token. So, if S owns a vertex
in W \ Wh , then S can collect at least four tokens. Hence, we can assume that S
does not own any vertex in W , and the proof of these cases are almost identical
to that in Lemma 10.1.4 with the denition of corequirement revised; the details
are omitted.
The iterative algorithm is similar where the improvement comes from the
following fact [89, 124]: There is a heavy edge between two vertices without
degree constraints. The proof is by a more involved counting argument that
uses a different induction hypothesis.
10.5 Notes
The algorithm for the survivable network design problem is due to Jain [75],
who introduced the iterative rounding method in the design of approximation
180 10 Network design
Exercises
10.1 Prove Lemma 10.1.3.
10.2 Show the following statement in the proof of Lemma 10.1.4: If set S has
two children, one of which has a corequirement of 1/2, then it must own
at least one endpoint.
10.3 Give a 2-approximation algorithm for the traveling salesman problem,
using the fact there is always an edge e with xe = 1 in the linear
programming relaxation LPf .
10.4 Show that the result of Boyd and Pulleyblank on the existence of a 1-edge
in the subtour relaxation for the TSP can be derived as a corollary of the
result of Jain on the existence of a 12 -edge for the SNDP. In particular
show that an extreme point for the former scaled down by a factor of two
is feasible and is an extreme point for the spanning tree case of SNDP to
derive the result.
10.5 Consider the subtour elimination LP for asymmetric TSP [70]. Find the
largest value such that there is always some arc variable with xa .
10.6 Design a bicriteria approximation algorithm for the minimum bounded
degree strongly k-arc-connected subgraph problem in directed graphs.
(a) Write a cut-cover linear programming relaxation for the problem.
Show that the connectivity requirement function for this problem is
a crossing supermodular function.
(b) Use the uncrossing technique to show that an extreme point solution
is dened by a cross-free family of tight constraints.
(c) (Gabow [54]) Prove that there is an arc with value at least 13 in any
extreme point solution when there are no degree constraints in the
problem.
Exercises 181
182
11.1 Vertex cover 183
minimize cv xv
vV
subject to xu + xv 1 e = {u, v} E
xv 0 v V
We shall prove the following theorem of Nemhauser and Trotter using the
simple characterization of the extreme point solutions to the linear program.
Theorem 11.1.1 Let x be an extreme optimal solution to LPvc . Then xv
{0, 12 , 1} for each v V .
Theorem 11.1.1 implies Theorem 11.1.2 as a corollary.
Theorem 11.1.2 There exists a 2-approximation algorithm for the vertex cover
problem.
Proof Let x be the optimal extreme point solution to LPvc . Construct a vertex
cover by picking each vertex v such that xv = 12 or xv = 1. Theorem 11.1.1
implies that it is a feasible vertex cover, and it costs at most twice that of the
fractional solution x.
Proof In Step (3)a., we select all vertices with xv = 1 and remove all such
vertices. Then any vertex with xv = 0 must now be an isolated vertex and hence
can be removed. Thus, we obtain a vertex cover instance on the remaining graph.
We assume the remaining graph is connected; otherwise, we apply the same
argument to each connected component. From Lemma 11.1.3, there is a subset
of edges F with linearly independent tight constraints. As |F | = |V |, it follows
that F contains a cycle C. We will show that xv = 12 for each vertex in C.
First, notice that C must be an odd cycle; otherwise, the characteristic vectors
in {({u, v}) : {u, v} E(C)} are linearly dependent (the sum of the vectors for
the odd" edges is the same as that for the even" edges in the cycle). As C is an
odd cycle, the unique solution to these equations is xv = 12 for each v C. Now,
observing that xv + xu = 1 for any {u, v} F and xv = 12 imply that xu = 12 ,
each vertex u reachable from the cycle C in F must also have xu = 21 , proving
Theorem 11.1.1.
0 xv 1 v V
0 ye 1 e E
As we proceed with the iterative algorithm, we will work with a graph where
edges could be of size one only. For example, when we have a variable with
xv = 0, we will remove v from all edges containing v. Such edges will contain
only one vertex but not two vertices.
Lemma 11.2.2 Given an extreme point solution x to LPpvc with 0 < xv < 1
for all v V and 0 < ye < 1 for all e E, there is a subset F E of edges
such that
(i) ve xv = ye for each e F .
186 11 Constrained optimization problems
(ii) The constraints in { ve xv = ye : e F } { eE yv = L} are linearly
independent.
(iii) |F | + 1 = |V | + |E|.
subject to x(E(V )) = |V | 1
x(E(S)) |S| 1 S V
ci (e)xe Li 1 i k
eE
xe 0 e E
188 11 Constrained optimization problems
Lemma 11.3.2 Let x be an extreme point solution to LPmcst with xe > 0 for
each edge e. Then there exists a set J {1, . . . , k} and a laminar family L such
that
(i) eE ci (e)xe = Li for each i J and x(E(S)) = |S| 1 for each S L.
(ii) The vectors in { (E(S)) : S L} are linearly independent.
(iii) |L| + |J | = |E|.
edges. Now we show that the ci -cost of the tree returned by the algorithm is at
most Li + Li . Note that any tree must contain n 1 edges out of the n + k 1
edges in the support graph. Hence, the maximum ci -cost tree has cost at most
k k Li = Li more than that of the minimum ci -cost tree in this support graph.
In turn, the minimum ci -cost tree has cost at most the ci -cost of the optimal
fractional solution, which is at most Li by feasibility. Altogether, the maximum
ci -cost of the solution returned is no more than Li + Li . Adding the cost of the
edges guessed in the rst step we obtain that the tree returned by the algorithm
has ci -cost at most (Li +Li )+(Li Li ) = (1+)Li , proving Theorem 11.3.1.
11.4 Notes
The paper by Bshouty and Burroughs [21] was the rst to give a 2-approximation
algorithm for the partial vertex cover problem using LP-rounding. Sub-
sequently, other combinatorial 2-approximation algorithms based on the
local-ratio method [9] and the primal-dual algorithm [62] were proposed.
Ravi and Goemans [113] presented a polynomial time approximation scheme
(PTAS) for the bicriteria spanning tree problem via the Lagrangian relaxation
method. The result presented in this chapter for the multicriteria spanning
problem is from the work of Grandoni, Ravi, and Singh [64].
Exercises
11.1 Weighted Partial Vertex Cover: In an instance of the weighted vertex cover
problem, we are given a graph G = (V , E) with nonnegative cost function
c on vertices and a nonnegative weight function w on edges and a weight
target B. The goal is to nd a vertex set V V of minimum cost such
that the edges covered by V weigh at least B.
190 11 Constrained optimization problems
(a) Write a linear programming formulation for the partial vertex cover
problem.
(b) Extend the proof of Theorem 11.2.1 to obtain a 2-approximation for
this problem.
11.2 Partial Set Cover: In an instance of the set cover problem, we are given
a ground set V , a collection of subsets S = {S1 , S2 , . . . , Sm } of V with a
nonnegative cost function c on the subsets, a nonnegative weight function
w on the elements of V , and a weight target B. The goal is to nd non-
negative a subset S S of minimum cost such that the elements covered
by S weigh at least B.
(a) Write a linear programming formulation for the partial set cover
problem.
(b) Extend the proof of the weighted partial vertex cover problem to obtain
an f -approximation algorithm for the problem, where f denotes the
maximum number of subsets in S containing a particular element
in V .
11.3 Prize Collecting Vertex Cover: In an instance of the prize collecting vertex
cover problem, we are given a graph G = (V , E) with nonnegative cost
function c on vertices and a nonnegative penalty function w on edges. The
cost of any solution dened by V V is the cost of vertices in V plus
the penalty of the edges not covered by V . The task is to nd a subset
V V of minimum total cost.
(a) Write a linear programming formulation for the prize collecting vertex
cover problem.
(b) Give a simple iterative procedure to achieve a 2-approximation for
the problem.
(c) Show that an approximation factor of 2 needs to be paid only for the
vertex cost and not for the edge penalties (i.e., the total cost of your
approximate solution is at most the penalty cost for the edges paid by
the LP solution plus twice the LP cost for the vertices).
11.4 Multicriteria Matroid Basis: In this problem, we are given a matroid M =
(V , I), nonnegative cost functions ci : V R for 0 i k, bounds Li
for each 1 i k, and the task is to the nd the minimum c0 -cost basis
of M such that its ci -cost is at most Li .
(a) Write a linear programming relaxation for the multicriteria matroid
basis problem.
(b) Extend the proof of Theorem 11.3.1 to give a polynomial time approx-
imation scheme for the problem, with running time polynomial for
xed and k.
12
Cut Problems
191
192 12 Cut problems
xe 0 e E
Proof The main difference from previous iterative algorithms is in the last
step, where we add all the edges not in H to F . Notice that in this last step the
algorithm does not consider the fractional values of the remaining edges, but
only consider their weights. Suppose we could prove that
we 2 we xe (12.1)
eE(G)E(H ) eE(G)
where the right-hand side is twice the objective value in the remaining frac-
tional solution after the while loop. Then we know that E(G) E(H ) is a
2-approximate solution for the triangle cover problem in the remaining graph,
as the objective value is a lower bound on the optimal value. Since we only
pick edges with fractional value at least 12 in the loop, by a standard inductive
argument as in previous chapters, we could show that the iterative algorithm
in Figure 12.1 is an overall 2-approximation algorithm for the triangle cover
problem.
We now use the complementary slackness conditions to prove (12.1). The
following is the dual program of LPtri (G), in which there is one variable for
each triangle T in G.
maximize yT
T
subject to yT we e E
T :eT
yT 0 triangle T G
We can assume without loss of generality that every edge e in G belongs to some
triangle; otherwise, we could delete e from G without changing any minimal
solution to the triangle cover problem. Also, there is no edge with fractional
value at least 12 in Step (4) of the algorithm because of the termination condition
of the while loop. Since every edge e is in some triangle T , this implies that
xe > 0 for every edge e in Step (4); otherwise, some other edge in T must have a
fractional value of at least 12 in order to satisfy the constraint for T in LPtri (G).
As x is an optimal solution for LPtri (G), by the primal complementary slackness
conditions (see Section 2.1.4.1), in any dual optimal solution y we must have
yT = we
T :eT
194 12 Cut problems
for every edge e in G. Hence, the objective value of any dual optimal solution
y is
1 1
yT = yT = we
T
3 eE T :eT 3 eE
where the rst equality follows because every triangle is counted exactly thrice
on the right-hand side, and the second equality follows from the primal com-
plementary slackness conditions. By the LP duality theorem (Theorem 2.1.9),
the objective value of the primal program is equal to that of the dual program.
Therefore, in Step (iv) of the algorithm, the objective value for the primal
solution is
1
we xe = yT = we .
eE T
3 eE
As H computed in Step (4) satises the property that eE(H ) we
1
2 eE(G) we , we have
1 3
we we = we xe .
eE(G)E(H )
2 eE(G) 2 eE(G)
xv 0 v V
Proof The main difference from standard iterative algorithms is in Step (4),
where we add all the vertices in X + to the solution regardless of their fractional
values. Suppose we could prove that
wv 2 wv xv (12.2)
vX + vV
where the right-hand side is twice the objective value in the remaining fractional
solution after the while loop. Then we know that X+ is a 2-approximate solution
for the feedback vertex set problem in the remaining graph. As we only pick
vertices with fractional value at least 12 in the loop, by an inductive argument as
in previous chapters, we could show that the iterative algorithm in Figure 12.2
is an overall 2-approximation algorithm for the feedback vertex set problem in
bipartite tournaments.
We use the complementary slackness conditions to prove (12.2). The follow-
ing is the dual program of LP4cyc (D), in which there is one variable for each
directed cycle C of length 4 in D.
maximize yC
C
subject to yC wv v V
C:vC
for each vertex v X+ . Hence, the objective value of any dual optimal solution
y is
1 1
yC yC = wv
C
2 + C:vC
2 +
vX vX
where the rst inequality follows because each directed 4-cycle intersects X +
at most twice. By the LP duality theorem, we have
1
wv xv = yC wv .
vV C
2 +
vX
xv 0 v V T
There could be exponentially many constraints in LPcut (G), but this can still
be solved by the ellipsoid algorithm in polynomial time, since we can use a
shortest path algorithm to construct a separation oracle for this linear program.
198 12 Cut problems
which is twice the objective value in the remaining fractional solution after
the while loop. Then we know that B is a 2-approximate solution for the node
multiway cut problem in the remaining graph. As we only pick vertices with
value 1 in the loop, by an inductive argument as in previous chapters, we could
show that the iterative algorithm in Figure 12.1 is an overall 2-approximation
algorithm for the node multiway cut problem.
We use the complementary slackness conditions to prove (12.3). The follow-
ing is the dual program of LPcut (G), in which there is one variable for each
path P of P.
maximize yP
P
subject to yP wv v V T
P :vP
yP 0 P P
vertex in B has a positive fractional value and vP xv = 1. Since P is a path
connecting two terminals s and r, this contradicts the fact that x is a feasible
solution to LPcut (G). Therefore, each path P with yP > 0 contains exactly two
vertices in B. Hence, the objective value of any dual optimal solution y is
1 1
yP = yP = wv
P
2 vB P :vP 2 vB
where the rst equality holds because each path P with yP > 0 uses exactly
two vertices in B, and the second equality follows from the complementary
slackness conditions. By the LP duality theorem, we have
1
wv xv = yP = wv .
vV T P
2 vB
12.4 Notes
The result for the triangle cover problem is from the work of Krivelevich [85].
The algorithm for the feedback vertex set problem on bipartite tournaments
is due to van Zuylen [130], improving a 3.5-approximation algorithm by Cai,
Deng and Zang [22] and an iterative rounding 3-approximation algorithm by
Sasatte [117]. The result for the node mulitway cut problem is due to Garg,
Vazirani, and Yannakakis [58].
Exercises
1
12.1 Design a 2
-approximation algorithm for the maximum weighted bipar-
tite subgraph problem.
12.2 Consider the directed triangle cover problem: Given a directed graph
with weights on the arcs, nd a subset of arcs with minimum total
weight that intersect all the directed triangles. Obtain a 2-approximation
algorithm for this problem.
12.3 Consider the following complement problem to the triangle cover
problem: Given an undirected graph with weights on the edges,
nd a triangle-free subgraph with maximum total weight. Design
a 32 -approximation algorithm for this problem. (Hint: Use the 2-
approximation algorithm for the triangle cover problem and the ideas
therein.)
Exercises 201
12.4 Generalize the result for the triangle cover problem to obtain a (k 1)-
approximation algorithm for the k-cycle cover problem when k is odd.
What about the case when k is even?
12.5 Consider the feedback vertex set problem on tournaments. A tournament
is obtained from a complete undirected graph by assigning exactly one
direction to each edge.
(a) Prove that a tournament has a directed cycle if and only if it has a
directed 3-cycle.
(b) Use part (a) to write a linear programming relaxation for the problem.
(c) Obtain a 3-approximation algorithm for the problem using the above
linear program.
12.6 Consider the directed 4-cycle cover problem in bipartite directed graph
(a directed graph with the underlying undirected graph bipartite): Given
a bipartite directed graph with weights on the arcs, nd a subset of arcs
with minimum total weight to intersect all the directed 4-cycles. Design
a 2-approximation algorithm for this problem.
Can you also obtain a 2-approximation algorithm for the node-weighted
case where the objective is to nd a subset of nodes with minimum total
weight to intersect all the directed 4-cycles?
12.7 Consider the feedback arc set problem on bipartite tournaments, where
the objective is to nd a subset of arcs with minimum total weight to
intersect all the directed cycles. What is the best performance guarantee
you can obtain in polynomial time?
12.8 Work out the details of the separation oracle for solving LPcut .
12.9 Show that there is an approximation-ratio preserving reduction from the
minimum vertex cover problem to the node multiway cut problem.
12.10 Prove that LPcut (G) is actually half-integral: There is always an optimal
solution to LPcut (G) with xv {0, 12 , 1} for every vertex v V (G).
12.11 Consider the multicut problem on trees: Given a tree T with weights
on the edges and a set of l pairs of vertices {(si , ti ) : 1 i l}, the
objective is to nd a subset of edges F with minimum total weight
that intersect all the si -ti paths (i.e., there is no si -ti path in T \ F for
1 i l).
(a) Write a linear programming relaxation for this problem.
(b) Assume the tree T is rooted at a specic vertex r. An instance of
the problem is called noncrossing, if for each pair (si , ti ), si is a
descendant of ti in the rooted tree (T , r). Prove that the foregoing
linear programming relaxation always has integral optimal solutions
for noncrossing instances.
202 12 Cut problems
(c) Use part (b) to obtain a 2-approximation algorithm for the multicut
problem on trees. (Hint: Construct a noncrossing instance from a
non-noncrossing instance.)
12.12 Can you obtain a 2-approximation algorithm for the multicut problem
on trees by an iterative rounding algorithm?
13
Iterative relaxation: Early and recent
examples
Even though we mentioned the paper by Jain [75] as the rst explicit applica-
tion of the iterative method to approximation algorithms, several earlier results
can be reinterpreted in this light, which is what we set out to do in this chapter.
We will rst present a result by Beck and Fiala [12] on hypergraph discrep-
ancy, whose proof is closest to other proofs in this book. Then we will present
a result by Steinitz [127] on rearrangements of sums in a geometric setting,
which is the earliest application that we know of. Then we will present an
approximation algorithm by Skutella [123] for the single source unsplittable
ow problem. Then we present the additive approximation algorithm for the
bin packing problem by Karmarkar and Karp [77], which is still one of the
most sophisticated uses of the iterative relaxation method. Finally, we sketch a
recent application of the iterative method augmented with randomized round-
ing to the undirected Steiner tree problem [20] following the simplication due
to Chakrabarty et al. [24].
203
204 13 Iterative relaxation
1 xv 1 v V .
Lemma 13.1.2 Given any extreme point solution to LPdisc with 1 < xv < 1
for each v V , there exists a subset F E such that
(i) ve xv = Be for each e F .
(ii) The characteristic vectors for the constraints in F are linearly indepen-
dent.
(iii) |F | = |V |.
or (v) = 1, disc (e) increases by (v) and Be decreases by (v) for each
hyperedge e that contains v, and hence the equality continues to hold. When
the constraint for a hyperedge e is removed, there are at most d vertices left in
e. Since each variable v has value 1 < xv < 1, the equality ve xv = Be =
disc (e) implies that |disc (e)| = | ve xv | < d. Hence, after the constraint
is removed, even if we color the remaining vertices arbitrarily, the maximum
discrepancy of this edge is strictly less than 2d.
To complete the proof of Theorem 13.1.1, we show that the algorithm will
terminate by a simple counting argument.
Lemma 13.1.3 Given any extreme point solution x of LPdisc (G), at least one
of the following must hold:
(i) There exists a vertex v with xv {1, 1}.
(ii) There exists an edge e E with |e| d.
Proof Suppose that neither is true. From Lemma 13.1.2 there is a subset of
hyperedges F E with |F | = |V |. Thus, the number of variables |V | is at most
|E|. As each hyperedge contains strictly more than d vertices,
|e| > d|E|
eE
k
|| vi || d for all 1 k n
i=1
Note that since each vector v V is d-dimensional, the equality constraint (13.1)
is actually an abbreviation of d linear equality constraints.
k
k
k
k
vi = vi vi vi = (1 vi )vi
i=1 i=1 i=1 i=1
where the rst equation follows because ki=1 vi vi = 0 by the equality con-
straint (13.1) in the linear program. Taking norms and using that 1 vi 0
and ||vi || 1 gives
k
k
k
|| vi || = || (1 vi )vi || ||(1 vi )vi ||
i=1 i=1 i=1
k
(1 vi ) = k (k d) = d
i=1
where the second last equation follows from the equality constraint (13.2) of
the linear program. This completes the proof of Theorem 13.2.1.
minimize ca x a
aA
Lemma 13.3.2 Given any extreme point solution x to LPcirc with 0 < xa < ua
for each a A, there exists a subset W V such that
The following corollary states the property that will be used later.
Corollary 13.3.3 Given any extreme point solution x to LPcirc with 0 < xa < ua
for each a A, we must have |A| |V | 1.
Proof By Lemma 13.3.2, we have |A| = |W |. Note that vV (v) = 0, since
every arc is counted exactly once as a positive term and exactly once as a
negative term. As the constraints in W are linearly independent, this implies
that |W | |V | 1, and thus the corollary follows.
Lemma 13.3.4 For any extreme point solution x to LPcirc with 0 < xa < ua ,
there is a vertex v with d(v) = d out (v) + d in (v) 1.
Proof Suppose for contradiction that d(v) 2 for each v V . Thus, we have
|A| = 12 vV d(v) |V |. This contradicts Corollary 13.3.3.
cost at most the optimal cost of any splittable ow that satises all the capacity
constraints.
A similar but weaker theorem holds without any assumption on the demands
(see the exercises). We prove Theorem 13.4.1 by an iterative relaxation algo-
rithm. The underlying integral problem is the min-cost circulation problem, and
we will use Theorem 13.3.1.
Since the linear program is the same as LPcirc , we obtain the same characteri-
zation as in Lemma 13.3.2 as well as in Corollary 13.3.3.
Lemma 13.4.2 The iterative algorithm for the minimum cost unsplittable ow
problem returns an unsplittable ow such that the capacity on each arc is
violated by at most dmax .
212 13 Iterative relaxation
Note that N can be exponential in n(I ) and m(I ). Let Tj = (tj 1 , . . . , tj m(I ) ) where
tj i denotes the number of items of type i in conguration j . The conguration
linear programming relaxation for the bin-packing problem is as follows.
N
minimize xj
j =1
N
subject to tj i xj b i 1 i m(I )
j =1
xj 0 1 j N
where the constraints ensure that the congurations chosen contain at least
bi items for each type i. This linear programming has exponentially many
variables, but there is a polynomial time algorithm to compute a fractional
solution differing from the optimum by at most . Consider the dual of the
linear program.
m(I
)
maximize bi yi
i=1
m(I
)
subject to tj i yi 1 1 j N
i=1
yi 0 1 i m(I )
The dual program has m variables but exponentially many constraints, but if
there is a polynomial time separation oracle to determine if a given y is a feasible
214 13 Iterative relaxation
solution, then the dual program can be solved by the ellipsoid algorithm. The
separation problem for the dual linear program is to determine, given y, if
)
there exists a conguration T = {t1 , t2 , . . . , tm } so that m(I
i=1 ti yi > 1. This is
equivalent to the following maximization problem on the variables ti . Recall
that si denotes the size of items of type i.
m(I
)
maximize yi ti
i=1
m(I
)
subject to si ti 1
i=1
ti Z+ 1 i m(I )
the dual of the restricted dual program. Since there are only polynomially many
variables and constraints, this resticted primal program can be solved optimally
in polynomial time. Let optprimal be the optimal value of the restricted primal
program. Then we have
Lemma 13.5.2 Given any extreme point solution to the conguration linear
program, there are at most m(I ) nonzero variables, where m(I ) is the number
of different types of items in instance I .
To illustrate the use of Lemma 13.5.2, we show a very simple algorithm with
a good performance guarantee when the number of different types of items is
small. Let lin(I ) denote the optimal value of the conguration LP associated
)
with instance I . Let size(I ) = m(I
i=1 si bi be the sum of the sizes of all the items
in instance I .
2 1
m(J ) size(I ) + +log2 ,.
k (I )
We say an item is large if its size is larger than g2 and small otherwise. Consider
a process that starts with a given packing of large items into bins, and then
inserts the small items, using a new bin only when necessary. If the cost of the
given packing of the large pieces is C, then the cost of the packing resulting
from the process is at most max{C, (1 + g)opt(I ) + 1} (see the exercises).
Proof Note that the total size of the residual problem decreases geometrically:
13.5 Bin packing 219
2 1
size(Ii+1 ) lin(Ii+1 ) xj (xj ) m(Ji ) size(Ii ) + log2
j
k g
where the second last inequality follows from Lemma 13.5.2 and the last
inequality follows from Lemma 13.5.5. Therefore,
i
2 1 2 2 i1
size(Ii+1 ) size(J ) + +log2 , 1 + + + ( )
k g k k
i
2 1 1
size(I ) + log2
k 1 k2 g
t
Since size(It ) > 1 + 1
log2 g1 , this implies that k2 size(I ) 1 and hence
1 k2
ln size(I )
t + 1 = O(ln n).
ln k2
After inserting the small items, the total number of bins used by the algorithm
is at most the maximum of (1 + g)opt(I ) + 1 and
ln size(I ) 1 2 1
opt(I ) + + 1 1 + k log + 2 + log
ln k2 g g
2 2
1 k2
220 13 Iterative relaxation
because ti=1 Xi lin(I ) + t opt(I ) + t and t ln size (I )
+ 1 and Yi
ln k2
k log2 g1 . By setting k = 4 and g = size1
(I )
n1 , and noting that opt(T )
size(I ), we see that the total number of bins is at most opt(I ) + O(ln2 opt(I )),
proving Theorem 13.5.1.
minimize CK xK
K
subject to xK (|K S| 1) |S| 1 = S R
K:KS=
xK (|K| 1) = |R| 1
K
xK 0 K
222 13 Iterative relaxation
To convert the proof of the theorem into a rounding algorithm, one needs
to use the methodology of arguing that by restricting oneself to sufciently
large full components in the preceding description, one can get sufciently
close to the LP value: Formally, to get a (1 + )-approximation to the previous
LP relaxation, it sufces to use full components of size bounded by a (large)
constant for every xed constant > 0. The details of this claim form the basis
of the r-restricted full component method, which are nontrivial and can be
found in [66].
Finally, we need to show that the earlier formulation, even with bounded-size
full components, is polynomially solvable. For this, we can devise a separation
oracle for a given fractional solution. We build an auxiliary multigraph on
the terminal set R as follows: For every full component set K with positive
value of xK in the support that is supplied to the separation oracle, we add the
edges of an arbitrary spanning tree on the nodes of K to this auxiliary graph
and give each of these edges a fractional value of xK . We now claim that the
resulting fractional multigraph solution is feasible for the subtour relaxation
for a spanning tree on the nodes of R if and only if the supplied solution x is
feasible for the hypergraphic relaxation. The proof of this claim is very similar
to that of the proof of the Bridge Lemma 13.6.2 and is deferred to the exercises.
b a c d
3 3
2 2
b {a,x } {c,y } d
3 3 3 3
x y
(a) (b)
Figure 13.6 (a) Graph F (K) is a full component with terminals K = {a, b, c, d} and
Steiner vertices {x, y}. The bold edges {a, x} and {y, c} form LOSS(K). (b) Graph
TLC(K) is shown obtained after contracting LOSS(K).
set K while LC(K) is a subset of edges with endpoints in the full component
of K including some Steiner nodes. See Figure 13.6 for an example.
Since contraction is involved in several stages of the algorithm in Figure 13.7,
we may have different auxiliary edges between a pair of terminals (due to loss
contraction of different full components) but we retain all such edges as parallel
edges in the analysis.
The idea of the iterative randomized algorithm is to start with a MST on
the terminals and iteratively choose a full component on K with probability
proportional to the value of its choice variable, and add all of its LOSS(K)
edges and some of the remaining loss-contracted edges LC(K) to the nal
solution. An auxiliary spanning tree on the whole terminal set R is used to track
which portion of the loss-contracted edges from each iteration are retained in the
nal solution. The candidates for inclusion in this auxiliary tree are precisely the
auxiliary edges induced in TLC(K). Furthermore, as we start retaining some of
these intermediate loss-contracted edges, we can drop some original spanning
224 13 Iterative relaxation
tree edges, which reduce the cost of the MST that is retained. This auxiliary
spanning tree that records the drop in the value of the initial solution is denoted
Ti at iteration i in the algorithm (Figure 13.7). This charging device allows us
to formulate a clean recurrence for the reducing value of Ti in expectation, and
hence bound the total cost of the solution in the end. The algorithm is shown in
Figure 13.7.
In the last step, when we refer to edges in Tt+1 , notice that this may include
some auxiliary edges from TLC(Ki ) for some iteration in Step (iii)b. However,
due to the bijection between these edges and the corresponding real edges in
LC(Ki ), we actually include the real edges in LC(Ki ) in this step.
We argue that Tt+1 ti=1 LOSS(Ki ) contains a Steiner tree on R. In par-
ticular, we argue that for every pair of terminals joined by an edge in Tt+1 ,
there is a path between them in the union of the real edges corresponding to
the auxiliary edges in this tree plus the edges in ti=1 LOSS(Ki ). Note that
if an edge in Tt+1 is an original edge from T1 , there is nothing to prove. Else,
it is a new auxiliary edge introduced as part of some TLC(Ki ). However, the
corresponding real edge in LC(Ki ) along with the edges in LOSS(Ki ) contain
a path between these two endpoints by construction, proving our claim.
13.6.3.1 Preparations
We start by dening the drop of a full component K with respect to a terminal
spanning tree T (i.e., a tree spanning exactly the terminals). Recall from the
denition of node contraction that T /K denotes the (multi)graph obtained by
identifying the terminals spanned by K into a single node. Dene
e 2 f
e 2 f
1 6 6 1
e 2 f
6
b d 6 1 6 6 1
a c
3 3 1
b 6 c 6 d
1 a
2 2
3 {a,b,c,d }
x y 2
(a) (b) (c)
and let dropT (K) be the cost of the edges in DROP T (K). Note that these are
precisely the edges in T that can now be dropped given an alternate means of
connecting the terminals in K via a full component on them, hence the name.
See Figure 13.8 for an illustration.
The Bridge Lemma lower bounds the expected drop.
Lemma 13.6.2 Given a terminal spanning tree T and a feasible solution x to
the hypergraphic LP formulation,
xK dropT (K) c(T ).
K
Proof The proof of this lemma uses the close relation between the hypergraphic
relaxation and the subtour elimination LP we encountered in Chapter 4 for
spanning trees, presented again here.
minimize ce ze
eE
The proof idea is to convert the solution x for the hypergraphic relaxation
into a solution z for the subtour LP on the vertex set of terminals R. For this we
introduce some auxiliary edges on the vertex set R. In particular, for each full
component K such that xK > 0, contracting the edges in E(T ) \ DROP T (K)
and retaining the labels of the terminals in K in the contracted graph, we get a
226 13 Iterative relaxation
spanning tree TDROP T (K) on the node set K. Moreover, there is a bijection
between the edges of this spanning tree and the edges in DROP T (K) (just
as was the case between TLC(K) and LC(K)). Give each of these edges in
TDROP T (K) (now running between nodes of K) a z-value of xK , making
parallel edges between pairs of terminals as needed. Let this set of auxiliary
multiedges that are given z-values be F . We see that
ce ze = xK dropT (K).
eF K
Note that we introduced exactly |K| 1 edges for each full component K, and
for any S R, at most |S K| 1 of these edges in F have both ends in S since
these edges form a tree on K. Therefore, x being feasible for the hypergraphic
relaxation implies that z is feasible for the subtour relaxation. Thus, the left-
hand quantity in the lemma has cost that of a feasible solution to the subtour
relaxation on the graph of the auxiliary edges. Note that the auxiliary edges
corresponding to full components of size two generate the original edges of T
in this auxiliary graph as well.
By Theorem 4.1.1, since the subtour relaxation is the convex hull of integral
spanning trees in the graph made of the edges in E(T ) F , the cost of any
tree is at least that of the minimum-cost spanning tree in this auxiliary graph.
But consider any edge f F , which corresponds to some auxiliary edge in
TDROP T (K) for some full component K, and hence corresponds to an edge
in DROP(K). By the denition of DROP(K), the edge f was dropped from
the original tree T in choosing MST (T /K), and hence was the costliest edge
in some cycle in T /K. Thus, when we add this auxiliary edge f between its
endpoints in TDROP T (K) in the tree T , it still continues to be a maximum cost
edge in the unique cycle formed in T f . Since this is true for every f F , the
minimum cost tree in E(T ) F is T itself. See Figure 13.8c for an illustration.
This completes the proof.
We need two more observations before we commence the proof.
Lemma 13.6.3 The value of T1 = MST (R), the initial terminal spanning tree,
is at most twice the optimal value of the hypergraphic LP relaxation for Steiner
tree.
The proof of this lemma follows the short-cutting argument in the beginning
of this section, but on the full components in the optimal fractional solution for
the hypergraphic relaxation, and showing that this doubled short-cut solution is
feasible for the subtour LP relaxation for spanning trees in the metric completion
of R. The details are left as an exercise.
13.6 Iterative randomized rounding: Steiner trees 227
Proof First, we assume without loss of generality that every internal Steiner
node has degree three in K (else we can make it so by splitting higher degree
nodes into degree-three nodes and connecting them in a tree-like fashion with
zero-cost edges). Now root the tree at an arbitrary leaf and let every internal
node choose the cheapest of its two children. These chosen edges give paths
from every Steiner node to a terminal leaf and have cost at most twice that of
the full component, proving the lemma.
Proof We bound the cost of the terminal spanning tree Ti+1 based on that of
Ti . One way to derive this spanning tree is to add in edges of LC(Ki ) and drop
the edges in DROP Ti (Ki ). Thus, we have
1 1
E[c(Ti+1 )] E[c(Ti )] xK dropTi (K) + xK c(LC(K)).
M K M K
Let lp = K xK CK and loss = K xK loss(K), and since LC(K) = CK
loss(K), we have
1
E[c(Ti+1 )] E[c(Ti )] xK dropTi (K) + (lp loss )/M.
M K
Applying the Bridge Lemma 13.6.2 to bound the second term, we get the
following:
1
E[c(Ti+1 )] 1 E[c(Ti )] + (lp loss )/M.
M
Now we use the bound from Lemma 13.6.3 to get the following bound:
t t
1 1
E[c(Ti+1 )] lp 1+ 1 loss 1 1 .
M M
This takes care of the rst component of the edges in ALG. For the second
component, namely the edges in ti=1 LOSS(Ki ), we have the following bound:
t
t
t
E[loss(Ki )] = xK loss(K)/M = loss /M = t loss /M.
i=1 i=1 K i=1
Here the second inequality uses Lemma 13.6.4, and the last inequality follows
from the fact that 12 + 32 ex + x2 is minimized at x = ln 3 taking on value 1 + ln23 .
This is also why we chose t = M ln 3.
13.7 Notes
The discrepancy theorem is due to Beck and Fiala [12]. Our presentation of
the Steinitzs result follows that of Brny [10], who attributes this proof to
Grinberg and Sevastyanov [65]. Steinitzs original proof [127] also used lin-
ear dependencies and gave constant 2d instead of d. Steinitzs result has many
applications in mathematics (see e.g., [10]), as well as in designing approxi-
mation algorithms for scheduling problems (see e.g., [11] and the references
in [10]). Some other problems about sums of 1 signs can also be solved by a
similar iterative method, see [10].
Exercises 229
Exercises
13.1 (Bednarchak and Helm [13]) The bound on the BeckFiala theorem can
be improved to 2d 3. Can you prove this improved bound by rening
the iterative method?
13.2 (Skutella [123]) Given any instance of the unsplittable ow problem, let
f be a minimum cost splittable ow. Give an efcient algorithm that
returns an unsplittable ow with cost at most that of f such that the
total ow on each arc a is at most 2fa + dmax . (Hint: Reduce the general
problem to the problem in Theorem 13.4.1.)
13.3 Show that the natural LP relaxation for the bin-packing problem has a
multiplicative integrality gap approaching two. On the other hand, show
how a greedy bin-packing algorithm achieves a packing of instance I
into at most 2size(I ) + 1 bins.
13.4 Show that the greedy procedure to pack small items dened in
Section 13.5.3.3 uses at most max{C, (1 + g)opt(I ) + 1} bins.
13.5 Show that the bin-packing problem is a special case of the single source
unsplittable ow problem.
13.6 Show that the generalized assignment problem is a special case of the
single source min-cost unsplittable ow problem.
13.7 Prove Lemma 13.6.3 by showing that an optimal solution to the hyper-
graphic LP relaxation for Steiner trees can be doubled and converted to
230 13 Iterative relaxation
231
232 14 Summary
233
234 Bibliography
[88] L.C. Lau, S. Naor, M. Salavatipour, M. Singh, Survivable network design with
degree or order constraints, in Proceedings of the 40th ACM Symposium on
Theory of Computing (STOC), 651660, 2007.
[89] L.C. Lau, M. Singh, Additive approximation for bounded degree survivable
network design, in Proceedings of the 41st ACM Symposium on Theory of
Computing (STOC), 759768, 2008.
[90] J.K. Lenstra, D.B. Shmoys, E. Tardos, Approximation algorithms tor schedul-
ing unrelated parallel machines, Mathematical Programming, 46, 259271,
1990.
[91] J.H. Lin, J.S. Vitter, -approximations with minimum packing constraint vio-
lation, in Proceedings of the 24th Annual ACM Symposium on the Theory of
Computing (STOC), 771782, 1992.
[92] A. Louis, N.K. Vishnoi Improved algorithm for degree bounded survivable net-
work design problem, in Proceedings of 12th Scandinavian Symposium and
Workshops on Algorithm Theory (SWAT), 408419, 2010.
[93] L. Lovsz, On two minimax theorems in graphs, Journal of Combinatorial Theory,
Series B, 21, 96103, 1976.
[94] L. Lovsz, Submodular functions and convexity, in A. Bachem, M. Grtschel,
and B. Korte, ed., Mathematical Programming The State of the Art, Springer,
235257, 1983.
[95] C.L. Lucchesi, D.H. Younger, A minimax theorem for directed graphs, Journal
of the London Mathematical Society, 17(2), 369374, 1978.
[96] J. Matouek, J. Neetril, An Invitation to Discrete Mathematics, Oxford
University Press, 2nd edition, 2008.
[97] V. Melkonian, E. Tardos, Algorithms for a network design problem with crossing
supermodular demands, Networks, 43(4), 256265, 2004.
[98] K. Menger, Zur allgemeinen kurventheorie, Fund. Math. 10, 96115, 1927.
[99] M. Molloy, B. Reed, Graph Colouring and the Probabilisitc Method, Springer
Series in Algorithms and Combinatorics 23, 2002.
[100] J. Munkres, Algorithms for assignment and transportation problems, Journal of
the Society for Industrial and Applied Mathematics, 5, 3238, 1957.
[101] H. Nagamochi, T. Ibaraki, A note on minimizing submodular functions, Informa-
tion Processing Letters, 67, 239244, 1998.
[102] H. Nagamochi, T. Ibaraki, Polyhedral structure of submodular and posi-modular
systems, Lecture Notes in Computer Science 1533, Springer-Verlag, Kyung-Yong
Chwa and Oscar H.Ibara (Eds.), Algorithms and Computation, 9th International
Symposium (ISAAC), 169178, 1998.
[103] V. Nagarajan, R. Ravi, M. Singh, Simpler analysis of LP extreme points for trav-
eling salesman and survivable network design problems, Operations Research
Letter, 38(3), 156160, 2010.
[104] C.St.J.A. Nash-Williams. Edge disjoint spanning trees of nite graphs, J. London
Math. Soc., 36, 445450, 1961.
[105] G.L. Nemhauser, L.E. Trotter, Vertex packings: structural properties and algo-
rithms, Mathematical Programming, 8, 232248, 1975.
[106] G.L. Nemhauser, L.A. Wolsey, Integer and Combinatorial Optimization, Wiley-
Interscience, 1999.
Bibliography 239
[107] T. Nguyen, A simple LP relaxation for the asymmetric traveling salesman prob-
lem, in Proceedings of International Workshop on Approximation Algorithms for
Combinatorial Optimization (APPROX), 207218, 2008.
[108] Z. Nutov, Approximating directed weighted-degree constrained networks, in
Proceedings of International Workshop on Approximation Algorithms for Com-
binatorial Optimization (APPROX), 219232, 2008.
[109] M.W. Padberg, M.R. Rao, Odd minimum cut-sets and b-matchings, Mathematics
of Operations Research, 7, 6780, 1982.
[110] D. Pritchard, Approximability of sparse integer programs, in Proceedings of
European Symposium of Algorithms (ESA), 8394, 2009.
[111] R. C. Prim, Shortest connection networks and some generalisations, in Bell
System Technical Journal, 36, 13891401, 1957.
[112] M. Queyranne, Minimizing symmetric submodular functions, Mathematical
Programming, 82, 312, 1998.
[113] R. Ravi, M.X. Goemans, The constrained minimum spanning tree problem, in
Proceedings of Fifth Scandinavian Workshop on Algorithm Theory (SWAT),
6675, 1996.
[114] H.E. Robbins, A theorem on graphs with an application to a problem of trafc
control, American Mathmatics Monthly, 46, 281283, 1939.
[115] G. Robins, A. Zelikovsky, Tighter bounds for graph Steiner tree approximation,
SIAM Journal on Discrete Mathematics, 19(1), 122134, 2005.
[116] B. Saha, A. Srinivasan, A new approximation technique for resource-allocation
problems, in Proceedings of FirstAnnual Symposium on Innovations in Computer
Science (ICS), 342357, 2010.
[117] P. Sasatte, Improved approximation algorithm for the feedback set problem in a
bipartite tournament, Operations Research Letters 36(5), 602604, 2008.
[118] A. Schrijver, A combinatorial algorithm minimizing submodular functions in
strongly polynomial time, J. Combin. Theory Ser. B, 80, 346355, 2000.
[119] A. Schrijver, On the history of combinatorial optimization (till 1960), Handbook
of Discrete Optimization, 24, Eds. K. Aardal, G.L. Nemhauser and R. Weismantel,
2005.
[120] A. Schrijver, Theory of Linear and Integer Progamming, Wiley, 1998.
[121] A. Schrijver, Combinatorial Optimization - Polyhedra and Efciency, Springer
Verlag, New York, 2005.
[122] D. Shmoys, E. Tardos, An approximation algorithm for the generalized assign-
ment problem, Mathematical Programming, 62(3), 461474, 1993.
[123] M. Skutella, Approximating the single-source unsplittable min-cost ow problem,
Mathematical Programming B, 91(3), 493514, 2002.
[124] M. Singh, Iterative Methods in Combinatorial Optimization, Ph.D. thesis,
Carnegie Mellon University, 2008.
[125] M. Singh, L.C. Lau, Approximating minimum bounded degree spanning tress to
within one of optimal, in Proceedings of 39th ACM Symposium on Theory of
Computing (STOC), 661670, 2007.
[126] A. Srinivasan, Budgeted allocations in the full-information setting, in Proceed-
ings of International Workshop on Approximation Algorithms for Combinatorial
Optimization Problems, 247253, 2008.
240 Bibliography
[127] E. Steinitz, Bedingt konvergente Reihen und konvexe Systeme, J. Reine Ang.
Mathematik, 143, 128175, 1913, ibid., 144, 140, 1914, ibid., 146, 152, 1916.
[128] M.A. Trick, Scheduling multiple variable-speed machines, in Proceedings of
the 1st Conference on Integer Programming and Combinatorial Optimization
(IPCO), 485494, 1990.
[129] W.T. Tutte, Lectures on matroids, Journal of Research National Bureau of Stan-
dards Section B, 69, 147, 1965. [reprinted in D. McCarthy, R.G. Stanton, editors,
Selected Papers of W.T. Tutte vol. II, Charles Babbage Research Centre, 439496,
1979].
[130] A. van Zuylen, Linear programming based approximation algorithms for
feedback set problems in bipartite tournaments, Conference on Theory and
Applications of Models of Computation, 2009.
[131] R. J. Vanderbei, Linear Programming: Foundations and Extensions, 3rd edition,
Springer, 2007.
[132] V. Vazirani, Approximation Algorithms, Springer, 2001.
[133] S.J. Wright, Primal-Dual Interior-Point Methods, SIAM Publications, 1997.
[134] A. Zelikovsky, An 11/6-approximation algorithm for the network Steiner problem,
Algorithmica, 9, 463470, 1993.
[135] C. Zhang, G. Wang, X. Liu, J. Liu, Approximating scheduling machines with
capacity constraints, in Proceedings of 3rd International Workshop on Frontiers
in Algorithms (FAW), 283292, 2009.
Index
E(X, Y ), 19 connected, 20
(S), 19 strongly connected, 20
(v), 19 weakly connected, 20
in (S), 20 connectivity requirement function, 25
in (v), 20 contraction, 20
out (S), 20 cross-free family, 113, 115
out (v), 20 crossing family, 111
d in (S), 20, 24 crossing sets, 23
d out (S), 20, 24 cut function, 21
coreq(S), 167 directed, 24
d(S), 20, 21 undirected, 21
d in (v), 20
d out (v), 20 directed cut, 117
i(S), 23 directed cut cover, 117
r(S), 66
extreme point solution, 4, 13
241
242 Index