Professional Documents
Culture Documents
Editorial Board
Combinatorial
Optimization
Polyhedra and Efficiency
Volume A-C
123
Alexander Schrijver
CWI
Kruislaan 413
1098 SJ Amsterdam
The Netherlands
e-mail: lex@cwi.nl
ISSN 0937-5511
ISBN 3-540-20456-3 Springer-Verlag Berlin Heidelberg New York
ISBN 3-540-44389-4 print edition Springer-Verlag Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of
the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks.
Duplication of this publication or parts thereof is permitted only under the provisions of the German
Copyright Law of September 9, 1965, in its current version, and permission for use must always be
obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law.
The use of general descriptive names, registered names, trademarks etc. in this publication does not
imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
Cover design: design & production, Heidelberg
Typesetting: by the author using a Springer LaTEX macro package
Printed on acid-free paper 46/3142ck-5 4 3 2 1 0
Preface
The book by Gene Lawler from 1976 was the first of a series of books all en-
titled Combinatorial Optimization, some embellished with a subtitle: Net-
works and Matroids, Algorithms and Complexity, Theory and Algorithms.
Why adding another book to this illustrious series? The justification is con-
tained in the subtitle of the present book, Polyhedra and Eciency. This is
shorthand for Polyhedral Combinatorics and Ecient Algorithms.
Pioneered by the work of Jack Edmonds, polyhedral combinatorics has
proved to be a most powerful, coherent, and unifying tool throughout com-
binatorial optimization. Not only it has led to ecient (that is, polynomial-
time) algorithms, but also, conversely, ecient algorithms often imply poly-
hedral characterizations and related min-max relations. It makes the two
sides closely intertwined.
We aim at oering both an introduction to and an in-depth survey of poly-
hedral combinatorics and ecient algorithms. Within the span of polyhedral
methods, we try to present a broad picture of polynomial-time solvable com-
binatorial optimization problems more precisely, of those problems that
have been proved to be polynomial-time solvable. Next to that, we go into a
few prominent NP-complete problems where polyhedral methods were suc-
cessful in obtaining good bounds and approximations, like the stable set and
the traveling salesman problem. Nevertheless, while we obviously hope that
the question NP=P? will be settled soon one way or the other, we realize
that in the astonishing event that NP=P will be proved, this book will be
highly incomplete.
By definition, being in P means being solvable by a deterministic se-
quential polynomial-time algorithm, and in our discussions of algorithms
and complexity we restrict ourselves mainly to this characteristic. As a conse-
quence, we do not cover (but yet occasionally touch or outline) the important
work on approximative, randomized, and parallel algorithms and complex-
ity, areas that are recently in exciting motion. We also neglect applications,
modelling, and computational methods for NP-complete problems. Advanced
data structures are treated only moderately. Other underexposed areas in-
clude semidefinite programming and graph decomposition. This all just to
keep size under control.
VI Preface
Alfred Lehman, Jan Karel Lenstra, Laci Lov asz, Bill Pulleyblank, Herman
te Riele, Alexander Rosa, Andr as Sebo, Paul Seymour, Bruno Simeone, Jan
Smaus, Adri Steenbeek, Laci Szeg
o, Eva Tardos, Bjarne Toft, and David
Williamson, for giving useful insights and suggestions, for providing me with
precious and rare papers and translations, for advice on interpreting vintage
articles, and for help in checking details.
Sincere thanks are due as well to Truus W. Koopmans for sharing with
me her memories and stories and sections from her late husbands war di-
ary, and to Herb Scarf for his kind mediation in this. I am indebted to Steve
Brady (RAND) and Dick Cottle for their successful eorts in obtaining clas-
sic RAND Reports for me, and to Richard Bancroft and Gustave Shubert
of RAND Corporation for their help in downgrading the secret Harris-Ross
report.
The assistance of my institute, CWI in Amsterdam, has been indispens-
able in writing this book. My special thanks go to Karin van Gemert of the
CWI Library for her indefatigable eorts in obtaining rare publications from
every corner of the world, always in sympathizing understanding for my of-
ten extravagant requests. Also Thea de Hoog and Rick Ooteman were very
helpful in this. Other members of CWIs sta whose assistance is highly ap-
preciated include Miente Bakker, Susanne van Dam, Lieke van den Eersten,
Jacqueline de Klerk, Wouter Mettrop, Ay Ong, and Jos van der Werf.
In the technical realization of this book, I thankfully enjoyed the first-
rate workmanship of the sta of Springer-Verlag in Heidelberg. I thank in
particular Frank Holzwarth, Claudia Kehl, Leonie Kunz, Ute McCrory, and
Martin Peters for their skilful and enthusiastic commitment in finalizing this
out-size project.
As it has turned out, it was only by gravely neglecting my family that I
was able to complete this project. I am extremely grateful to Monique, Nella,
and Juliette for their perpetual understanding and devoted support. Now
comes the time for the pleasant fulfilment of all promises I made for when
my book will be finished.
Volume A
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Matchings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 But what about nonbipartite graphs? . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Hamiltonian circuits and the traveling salesman problem . . . . . 5
1.5 Historical and further notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5a Historical sketch on polyhedral combinatorics . . . . . . . . . 6
1.5b Further notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 General preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Vectors, matrices, and functions . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Maxima, minima, and infinity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Feketes lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Preliminaries on graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1 Undirected graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Directed graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Hypergraphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3a Background references on graph theory . . . . . . . . . . . . . . 37
22 Transversals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
22.1 Transversals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
22.1a Alternative proofs of Halls marriage theorem . . . . . . . 379
22.2 Partial transversals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
22.3 Weighted transversals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
22.4 Min-max relations for weighted transversals . . . . . . . . . . . . . . . 382
22.5 The transversal polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
22.6 Packing and covering of transversals . . . . . . . . . . . . . . . . . . . . . 385
22.7 Further results and notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
22.7a The capacitated case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
22.7b A theorem of Rado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
22.7c Further notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
22.7d Historical notes on transversals . . . . . . . . . . . . . . . . . . . . 390
28 Edge-colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
28.1 Vizings theorem for simple graphs . . . . . . . . . . . . . . . . . . . . . . . 465
28.2 Vizings theorem for general graphs . . . . . . . . . . . . . . . . . . . . . . 467
28.3 NP-completeness of edge-colouring . . . . . . . . . . . . . . . . . . . . . . . 468
28.4 Nowhere-zero flows and edge-colouring . . . . . . . . . . . . . . . . . . . 470
28.5 Fractional edge-colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
28.6 Conjectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
28.7 Edge-colouring polyhedrally . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
28.8 Packing edge covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
28.9 Further results and notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
28.9a Shannons theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
28.9b Further notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
28.9c Historical notes on edge-colouring . . . . . . . . . . . . . . . . . 482
31 b-matchings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
31.1 b-matchings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
31.2 The b-matching polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
31.3 Total dual integrality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
31.4 The weighted b-matching problem . . . . . . . . . . . . . . . . . . . . . . . 554
31.5 If b is even . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
31.6 If b is constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
31.7 Further results and notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
31.7a Complexity survey for the b-matching problem . . . . . . 559
31.7b Facets and minimal systems for the b-matching
polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
31.7c Regularizable graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
31.7d Further notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Volume B
Part IV: Matroids and Submodular Functions 649
39 Matroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
39.1 Matroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
39.2 The dual matroid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
39.3 Deletion, contraction, and truncation . . . . . . . . . . . . . . . . . . . . . 653
39.4 Examples of matroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
39.4a Relations between transversal matroids and
gammoids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
39.5 Characterizing matroids by bases . . . . . . . . . . . . . . . . . . . . . . . . 662
39.6 Characterizing matroids by circuits . . . . . . . . . . . . . . . . . . . . . . 662
39.6a A characterization of Lehman . . . . . . . . . . . . . . . . . . . . . 663
39.7 Characterizing matroids by rank functions . . . . . . . . . . . . . . . . 664
39.8 The span function and flats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
39.8a Characterizing matroids by span functions . . . . . . . . . . 666
39.8b Characterizing matroids by flats . . . . . . . . . . . . . . . . . . . 667
39.8c Characterizing matroids in terms of lattices . . . . . . . . . 668
39.9 Further exchange properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
39.9a Further properties of bases . . . . . . . . . . . . . . . . . . . . . . . . 671
39.10 Further results and notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
39.10a Further notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
39.10b Historical notes on matroids . . . . . . . . . . . . . . . . . . . . . . 672
Volume C
Part VII: Multiflows and Disjoint Paths 1219
73 T -paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279
73.1 Disjoint T -paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279
73.1a Disjoint T -paths with the matroid matching
algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283
73.1b Polynomial-time findability of edge-disjoint
T -paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285
73.1c A feasibility characterization for integer K3 -flows . . . 1286
73.2 Fractional packing of T -paths . . . . . . . . . . . . . . . . . . . . . . . . . . 1287
73.2a Direct proof of Corollary 73.2d . . . . . . . . . . . . . . . . . . . 1288
73.3 Further results and notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289
73.3a Further notes on Maders theorem . . . . . . . . . . . . . . . . 1289
73.3b A generalization of fractionally packing T -paths . . . . 1290
73.3c Lockable collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1291
73.3d Mader matroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292
73.3e Minimum-cost maximum-value multiflows . . . . . . . . . 1294
73.3f Further notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1463
Introduction
1.1. Introduction
Combinatorial optimization searches for an optimum object in a finite collec-
tion of objects. Typically, the collection has a concise representation (like a
graph), while the number of objects is huge more precisely, grows exponen-
tially in the size of the representation (like all matchings or all Hamiltonian
circuits). So scanning all objects one by one and selecting the best one is not
an option. More ecient methods should be found.
In the 1960s, Edmonds advocated the idea to call a method ecient if its
running time is bounded by a polynomial in the size of the representation.
Since then, this criterion has won broad acceptance, also because Edmonds
found polynomial-time algorithms for several important combinatorial opti-
mization problems (like the matching problem). The class of polynomial-time
solvable problems is denoted by P.
Further relief in the landscape of combinatorial optimization was discov-
ered around 1970 when Cook and Karp found out that several other promi-
nent combinatorial optimization problems (including the traveling salesman
problem) are the hardest in a large natural class of problems, the class NP.
The class NP includes most combinatorial optimization problems. Any prob-
lem in NP can be reduced to such NP-complete problems. All NP-complete
problems are equivalent in the sense that the polynomial-time solvability of
one of them implies the same for all of them.
Almost every combinatorial optimization problem has since been either
proved to be polynomial-time solvable or NP-complete and none of the
problems have been proved to be both. This spotlights the big mystery:
are the two properties disjoint (equivalently, P=NP), or do they coincide
(P=NP)?
This book focuses on those combinatorial optimization problems that have
been proved to be solvable in polynomial time, that is, those that have been
proved to belong to P. Next to polynomial-time solvability, we focus on the
related polyhedra and min-max relations.
These three aspects have turned out to be closely related, as was shown
also by Edmonds. Often a polynomial-time algorithm yields, as a by-product,
2 Chapter 1. Introduction
1.2. Matchings
Let G = (V, E) be an undirected graph and let w : E R+ . For any subset
F of E, denote
(1.1) w(F ) := w(e).
eF
(The sum ranges over all edges e containing v.) That is, for A we can take
the V E incidence matrix of G and for b the all-one vector 1 in RV .
It is not dicult to show that the matching polytope for bipartite graphs is
indeed completely determined by (1.9). First note that the matching polytope
is contained in the polytope determined by (1.9), since M satisfies (1.9)
for each matching M . To see the reverse inclusion, we note that, if G is
bipartite, then the matrix A is totally unimodular, i.e., each square submatrix
has determinant belonging to {0, +1, 1}. (This easy fact will be proved in
Section 18.2.) The total unimodularity of A implies that the vertices of the
polytope determined by (1.9) are integer vectors, i.e., belong to ZE . Now
each integer vector satisfying (1.9) must trivially be equal to M for some
matching M . Hence, if G is bipartite, the matching polytope is determined
by (1.9).
We therefore can apply linear programming techniques to handle problem
(1.2). Thus we can find a maximum-weight matching in a bipartite graph in
polynomial time, with any polynomial-time linear programming algorithm.
Moreover, the duality theorem of linear programming gives
(1.10) max{w(M ) | M matching in G} = max{wT x | x 0, Ax 1}
= min{y T 1 | y 0, y T A wT }.
If we take for w the all-one vector 1 in RE , we can derive from this K
onigs
matching theorem (Konig [1931]):
(1.11) the maximum size of a matching in a bipartite graph is equal to
the minimum size of a vertex cover,
where a vertex cover is a set of vertices intersecting each edge. Indeed, the
left-most expression in (1.10) is equal to the maximum size of a matching.
The minimum can be seen to be attained by an integer vector y, again by
4 Chapter 1. Introduction
Such an algorithm indeed exists, as it has been shown that the inequalities
(1.9) and (1.12) can be checked in time bounded by a polynomial in |V |, |E|,
and the size of x. This method obviously should avoid testing all inequalities
(1.12) one by one.
Combining the description of the matching polytope with the duality
theorem of linear programming gives a min-max formula for the maximum
weight of a matching. It again yields a certificate of optimality: if we have a
matching M , we can convince our boss that M has maximum weight, by
supplying a dual solution y of objective value w(M ). So the maximum-weight
matching problem has a good characterization i.e., belongs to NPco-NP.
This gives one motivation for studying polyhedral methods. The ellip-
soid method proves polynomial-time solvability, it however does not yield a
practical method, but rather an incentive to search for a practically ecient
algorithm. The polyhedral method can be helpful also in this, e.g., by imi-
tating the simplex method with a constraint generation technique, or by a
primal-dual approach.
as it is for any other vector in the convex hull. Therefore, the discrete problem
is equivalent to an ordinary linear programme whose constraints, together with
non-negativity, are given by the half-spaces. The dual (more precisely, a dual) of
the discrete problem is the dual of this ordinary linear programme.
For a class of discrete problems, formulated in a natural way, one may hope then
that equivalent linear constraints are pleasant enough though they are not explicit
in the discrete formulation.
After having received support from H.W. Kuhn and referring to Kuhns maximum-
weight bipartite matching algorithm, Edmonds continued:
This algorithm depends crucially on what amounts to knowing all the bounding
inequalities of the associated convex polyhedronand, as I said, there are many
of them. The point is that the inequalities are known by an easily verifiable
characterization rather than by an exhaustive listingso their number is not
important.
This sort of thing should be expected for a class of extremum problems with a
combinatorially special structure. For the traveling salesman problem, the ver-
tices of the associated polyhedron have a simple characterization despite their
numberso might the bounding inequalities have a simple characterization de-
spite their number. At least we should hope they have, because finding a really
good traveling salesman algorithm is undoubtedly equivalent to finding such a
characterization.
So Edmonds was aware of the correlation of good algorithms and polyhedral char-
acterizations, which later got further support by the ellipsoid method.
Also during the 1960s and 1970s, Fulkerson designed the clarifying framework of
blocking and antiblocking polyhedra, throwing new light by the classical polarity of
vertices and facets of polyhedra on combinatorial min-max relations and enabling,
with a theorem of Lehman, the deduction of one polyhedral characterization from
another. It stood at the basis of the solution of Berges perfect graph conjecture in
1972 by Lov asz, and it also inspired Seymour to obtain several other basic results
in polyhedral combinatorics.
8 Chapter 1. Introduction
General preliminaries
2.1. Sets
A large part of the sets considered in this book are finite. We often
neglect mentioning this when introducing a set. For instance, graphs
in this book are finite graphs, except if we explicitly mention otherwise. Sim-
ilarly for other structures like hypergraphs, matroids, families of sets, etc.
Obvious exceptions are the sets of reals, integers, etc.
We call a subset Y of a set X proper if Y = X. Similarly, any other
substructure like subgraph, minor, etc. is called proper if it is not equal to
the structure of which it is a substructure.
A family is a set in which elements may occur more than once. More
precisely, each element has a multiplicity associated. Sometimes, we indicate
a family by (A1 , . . . , An ) or (Ai | i I).
A collection is synonymous with set, but is usually used for a set whose
elements are sets. Also class and system are synonyms of set, and are usually
used for sets of structures, like a set of graphs, inequalities, or curves.
A set is called odd (even) if its size is odd (even). We denote for any set
X:
(2.1) P(X) := collection of all subsets of X,
Podd (X) := collection of all odd subsets Y of X,
Peven (X) := collection of all even subsets Y of X.
Odd and even are called parities.
We sometimes say that if s U , then U covers s and s covers U . A set
U is said to separate s and t if s = t and |U {s, t}| = 1. Similarly, a set U
is said to separate sets S and T if S T = and U (S T ) {S, T }.
We denote the symmetric dierence of two sets S and T by ST :
(2.2) ST = (S \ T ) (T \ S).
10 Chapter 2. General preliminaries
2.2. Orders
A relation on a set X is called a pre-order if it is reflexive (x x for all
x X) and transitive (x y and y z implies x z). It is a partial order
if it is moreover anti-symmetric (x y and y x implies x = y). The pair
(X, ) is called a partially ordered set if is a partial order.
A partial order is a linear order or total order if x y or y x for
all x, y X. If X = {x1 , . . . , xn } and x1 < x2 < < xn , we occasionally
refer to the linear order by x1 , . . . , xn or x1 < < xn . A linear order
is called a linear extension of a partial order if x y implies x y.
In a partially ordered set (X, ), a lower ideal is a subset Y of X such
that if y Y and z y, then z Y . Similarly, an upper ideal is a subset Y
of X such that if y Y and z y, then z Y . Alternatively, Y is called
down-monotone if Y is a lower ideal, and up-monotone if Y is an upper ideal.
If (X, ) is a linearly ordered set, then the lexicographic order on
k
k0 X is defined by:
(2.9) (v1 , . . . , vt ) (u1 , . . . , us ) the smallest i with vi = ui
satisfies vi < ui ,
where we set vi :=void if i > t, ui :=void if i > s, and void< x for all x X.
2.3. Numbers
Z, Q, and R denote the sets of integers, rational numbers, and real numbers,
respectively. The subscript + restricts the sets to the nonnegative numbers:
(2.10) Z+ := {x Z | x 0}, Q+ := {x Q | x 0},
R+ := {x R | x 0}.
Further we denote for any x R:
(2.11) x := largest integer y satisfying y x,
x := smallest integer y satisfying y x.
Proof. For all i, j, k 1 we have ajk+i jak +ai , by the inequality prescribed
in the theorem. Hence for all fixed i, k 1 we have
ajk+i jak + ai ak jk ai
(2.25) lim inf lim inf = lim inf ( + )
j jk + i j jk + i j k jk + i jk + i
ak
= .
k
As this is true for each i, we have for each fixed k 1:
an ajk+i ak
(2.26) lim inf = inf lim inf .
n n i=1,...,k j jk + i k
So
an ak
(2.27) lim inf sup ,
n n k k
implying (2.24).
Proof. Directly from Theorem 2.2 applied to the sequence log a1 , log a2 , . . ..
Chapter 3
Preliminaries on graphs
This chapter is not meant as a rush course in graph theory, but rather as
a reference guide and to settle notation and terminology.
To promote readability of the book, nonstandard notation and terminology
will be, besides below in this chapter, also explained on the spot in later
chapters.
An edge uv is said to connect u and v. The vertices u and v are called the
ends of the edge uv. If there exists an edge connecting vertices u and v, then
u and v are called adjacent or connected, and v is called a neighbour of u.
The edge uv is said to be incident with, or to meet, or to cover, the vertices u
and v, and conversely. The edges e and f are said to be incident, or to meet,
or to intersect, if they have a vertex in common. Otherwise, they are called
disjoint.
If U V and both ends of an edge e belong to U , then we say that U
spans e. If at least one end of e belongs to U , then U is said to be incident
with e. An edge connecting a vertex in a set S and a vertex in a set T is said
to connect S and T . A set F of edges is said to cover a vertex v if v is covered
by at least one edge in F , and to miss v otherwise.
For a vertex v, we denote:
(3.4) G (v) := E (v) := (v) := family of edges incident with v,
NG (v) := NE (v) := N (v) := set of neighbours of v.
Here and below, notation with the subscript deleted is used if the graph is
clear from the context. We speak in the definition of (v) of the family of
edges incident with v, since any loop at v occurs twice in (v).
The degree degG (v) of a vertex v is the number of edges incident with v.
In notation,
(3.5) degG (v) := degE (v) := deg(v) := |G (v)|.
A vertex of degree 0 is called isolated, and a vertex of degree 1 an end vertex.
A vertex of degree k is called k-valent. So isolated vertices are loopless.
We denote
(3.6) (G) := maximum degree of the vertices of G,
(G) := minimum degree of the vertices of G.
(G) and (G) are called the maximum degree and minimum degree of G,
respectively.
If (G) = (G), that is, if all degrees are equal, G is called regular. If all
degrees are equal to k, the graph is called k-regular. A 3-regular graph is also
called a cubic graph.
If G = (V, E) and G = (V , E ) are graphs, we denote by G + G the
graph
(3.7) G + G := (V V , E E )
where E E is the union of E and E as families (taking multiplicities into
account).
18 Chapter 3. Preliminaries on graphs
So if G is simple, then G = G.
A graph G is called complete if G is simple and any two distinct vertices
are adjacent. In notation,
(3.9) Kn := complete graph with n vertices.
As Kn is unique up to isomorphism, we often speak of the complete graph
on n vertices.
The line graph of a graph G = (V, E) is the simple graph with vertex set
E, where two elements of E are adjacent if and only if they meet. In notation,
(3.10) L(G) := the line graph of G.
Subgraphs
A graph G = (V, E) is connected if for any two vertices u and v there is a path
connecting u and v. A maximal connected nonempty subgraph of G is called
a connected component, or just a component, of G. Here maximal is taken
with respect to taking subgraphs. Each component is an induced subgraph,
and each vertex and each edge of G belong to exactly one component.
We often identify a component K with the set V K of its vertices. Then the
components are precisely the equivalence classes of the equivalence relation
on V defined by: u v there exists a path connecting u and v.
A component is called odd (even) if it has an odd (even) number of ver-
tices.
Section 3.1. Undirected graphs 21
Cuts
A graph is called a forest if it has no circuits. For any forest (V, E),
(3.31) |E| = |V | ,
where is the number of components of (V, F ). A tree is a connected forest.
So for any tree (V, E),
(3.32) |E| = |V | 1.
Any forest with at least one edge has an end vertex. A connected subgraph
of a tree T is called a subtree of T .
The notions of forest and tree extend to subsets of edges of a graph
G = (V, E) as follows. A subset F of E is called a forest if (V, F ) is a forest,
and a spanning tree if (V, F ) is a tree. Then for any graph G = (V, E):
(3.33) G has a spanning tree G is connected.
For any connected graph G = (V, E) and any F E:
(3.34) F is a spanning tree F is an inclusionwise maximal for-
est F is an inclusionwise minimal edge set with (V, F )
connected.
Section 3.1. Undirected graphs 23
Colouring
Bipartite graphs
Homeomorphic graphs
Planarity
in the boundary of F . Two faces are called adjacent if they are incident with
some common edge.
There is a unique unbounded face, all other faces are bounded. The bound-
ary of the unbounded face is part of |G|, and is called the outer boundary of
G.
Eulers formula states that any connected planar graph G = (V, E), with
face collection F, satisfies:
(3.43) |V | + |F| = |E| + 2.
Kuratowski [1930] found the following characterization of planar graphs:
(See Thomassen [1981b] for three short proofs, and for history and references
to other proofs.)
As Wagner [1937a] noticed, the following is an immediate consequence
of Kuratowskis theorem (since planarity is maintained under taking minors,
and since any graph without K5 minor has no subgraph homeomorphic to
K5 ):
(3.44) A graph G is planar G has no K5 or K3,3 minor.
(In turn, with a little more work, this equivalence can be shown to imply
Kuratowskis theorem.)
The four-colour theorem of Appel and Haken [1977] and Appel, Haken,
and Koch [1977] states that each loopless planar graph is 4-colourable.
(Robertson, Sanders, Seymour, and Thomas [1997] gave a shorter proof.)
Tait [1878b] showed that the four-colour theorem is equivalent to: each
cubic bridgeless planar graph is 3-edge-colourable. Petersen [1898] gave the
example of the now-called Petersen graph (Figure 3.1), to show that not
every bridgeless cubic graph is 3-edge-colourable. (This graph was also given
by Kempe [1886], for a dierent purpose.)
Wagners theorem
Figure 3.1
The Petersen graph
Figure 3.2
V8
As Wagner [1937a] pointed out, this theorem implies that the four-colour
theorem is equivalent to: each graph without K5 minor is 4-colourable. This
follows from the fact that k-colourability is maintained under taking k -sums
for all k k.
The concepts from graph theory invite to a less formal, and more expres-
sive language, which appeals to the intuition, and whose formalization will
be often tedious rather than problematic. Thus we say replace the edge uv
by two edges in series, which means deleting uv and introducing a new ver-
tex, w say, and new edges uw and wv. Similarly, replacing the edge uv by
a path means deleting uv, and introducing new vertices w1 , . . . , wk say, and
new edges uw1 , w1 w2 , . . . , wk1 wk , wk v.
The indegree deginD (v) of a vertex v is the number of arcs entering v. The
outdegree degout
D (v) of a vertex v is the number of arcs leaving v. In notation,
30 Chapter 3. Preliminaries on graphs
(3.52) degin in in in
D (v) := degA (v) := deg (v) := |D (v)|,
out out out out
degD (v) := degA (v) := deg (v) := |D (v)|.
A vertex of indegree 0 is called a source and a vertex of outdegree 0 a sink.
For any arc a = (u, v) we denote
(3.53) a1 := (v, u).
For any digraph D = (V, A) the reverse digraph D1 is defined by
(3.54) D1 = (V, A1 ), where A1 := {a1 | a A}.
A mixed graph is a triple (V, E, A) where (V, E) is an undirected graph
and (V, A) is a directed graph.
The complete directed graph on a set V is the simple directed graph with
vertex set V and arcs all pairs (u, v) with u, v V and u = v. A tournament
is any simple directed graph (V, A) such that for all distinct u, v V precisely
one of (u, v) and (v, u) belongs to A.
The line digraph of a directed graph D = (V, A) is the digraph with vertex
set A and arc set
(3.55) {((u, v), (x, y)) | (u, v), (x, y) A, v = x}.
If no confusion may arise, we sometimes identify the walk P with the subgraph
(V P, AP ) of D, or with the set V P of vertices in P , or with the family AP
of arcs in P .
If the digraph is simple or (more generally) if the arcs traversed are irrel-
evant, we indicate the walk just by the sequence of vertices traversed:
(3.62) P = (v0 , v1 , . . . , vk ) or P = v0 , v1 , . . . , vk .
A path may be identified by the sequence of arcs:
(3.63) P = (a1 , . . . , ak ) or P = a1 , . . . , ak .
Two walks P and Q are called vertex-disjoint or disjoint if V P and V Q are
disjoint, internally vertex-disjoint or internally disjoint if the set of internal
vertices of P is disjoint from the set of internal vertices of Q, and arc-disjoint
if AP and AQ are disjoint.
The directed walk P in (3.13) is called a closed directed walk or directed
cycle if vk = v0 . It is called a directed circuit, or just a circuit, if vk = v0 ,
k 1, v1 , . . . , vk are all distinct, and a1 , . . . , ak are all distinct. An undirected
circuit is a circuit in the underlying undirected graph.
Cuts
in in
(3.65) D (U ) := A (U ) := in (U ) := set of arcs of D entering U ,
D (U ) := A (U ) := out (U ) := set of arcs of D leaving U .
out out
Vertex-cuts
Contraction
3.3. Hypergraphs
Part VIII is devoted to hypergraphs, but we occasionally need the terminol-
ogy of hypergraphs in earlier parts. A hypergraph is a pair H = (V, E) where
V is a finite set and E is a family of subsets of V . The elements of V and E
are called the vertices and the edges respectively. If |F | = k for each F E,
the hypergraph is called k-uniform.
A hypergraph H = (V, E) is called connected if there is no U V such
that = U = V and such that F U or F V \ U for each edge F . A
(connected) component of H is a hypergraph K = (V , E ) with V V and
E E, such that V and E are inclusionwise maximal with the property that
K is connected. A component is uniquely identified by its set of vertices.
For background on graph theory we mention the books by K onig [1936] (historical),
Harary [1969] (classical reference book), Wilson [1972b] (introductory), Bondy and
Murty [1976], and Diestel [1997].
Chapter 4
4.1. Introduction
An informal, intuitive idea of what is an algorithm will suce to understand
the greater part of this book. An algorithm can be seen as a finite set of
instructions that perform operations on certain data. The input of the algo-
rithm will give the initial data. When the algorithm stops, the output will be
found in prescribed locations of the data set. The instructions need not be
performed in a linear order: an instruction determines which of the instruc-
tions should be followed next. Also, it can prescribe to stop the algorithm.
While the set of instructions constituting the algorithm is finite and fixed,
the size of the data set may vary, and will depend on the input. Usually, the
data are stored in arrays, that is, finite sequences. The lengths of these arrays
may depend on the input, but the number of arrays is fixed and depends only
on the algorithm. (A more-dimensional array like a matrix is stored in a linear
fashion, in accordance with the linear order in which computer memory is
organized.)
The data may consist of numbers, letters, or other symbols. In a computer
model they are usually stored as finite strings of 0s and 1s (bits). The size
of the data is the total length of these strings. In this context, the size of a
rational number p/q with p, q Z, q 1, and g.c.d.(p.q) = 1, is equal to
1 + log(|p| + 1) + log q.
Section 4.3. Polynomial-time solvability 39
4.4. P
P, NP, and co-NP are collections of decision problems: problems that can be
answered by yes or no, like whether a given graph has a perfect matching
or a Hamiltonian circuit. An optimization problem is no decision problem,
but often can be reduced to it in a certain sense see Section 4.7 below.
A decision problem is completely described by the inputs for which the
answer is yes. To formalize this, fix some finite set , called the alphabet,
of size at least 2 for instance {0, 1} or the ASCII-set of symbols. Let
denote the set of all finite strings (words) of letters from . The size of a word
is the number of letters (counting multiplicities) in the word. We denote the
size of a word w by size(w).
As an example, an undirected graph can be represented by the word
(4.2) ({a, b, c, d}, {{a, b}, {b, c}, {a, d}, {b, d}, {a, c}})
(assuming that contains each of these symbols). Its size is 43.
A problem is any subset of . The corresponding informal problem
is:
(4.3) given a word x , does x belong to ?
As an example, the problem if a given graph is Hamiltonian is formalized by
the collection of all strings representing a Hamiltonian graph.
The string x is called the input of the problem. One speaks of an instance
of a problem if one asks for one concrete input x whether x belongs to .
A problem is called polynomial-time solvable if there exists a polynomi-
al-time algorithm that decides whether or not a given word x belongs
to . The collection of all polynomial-time solvable problems is
denoted by P.
4.5. NP
An easy way to characterize the class NP is: NP is the collection of decision
problems that can be reduced in polynomial time to the satisfiability problem
that is, to checking if a Boolean expression can be satisfied. For instance, it
is not dicult to describe the conditions for a perfect matching in a graph by
a Boolean expression, and hence reduce the existence of a perfect matching to
the satisfiability of this expression. Also the problem of finding a Hamiltonian
circuit, or a clique of given size, can be treated this way.
Section 4.5. NP 41
However, this is not the definition of NP, but a theorem of Cook. Roughly
speaking, NP is defined as the collection of all decision problems for which
each input with positive answer, has a polynomial-time checkable certificate
of correctness of the answer. Consider, for instance, the question:
(4.4) Is a given graph Hamiltonian?
A positive answer can be certified by giving a Hamiltonian circuit in the
graph. The correctness of it can be checked in polynomial time. No such
certificate is known for the opposite question:
(4.5) Is a given graph non-Hamiltonian?
Checking the certificate in polynomial time means: checking it in time
bounded by a polynomial in the original input size. In particular, it implies
that the certificate itself has size bounded by a polynomial in the original
input size.
This can be formalized as follows. NP is the collection of problems
for which there is a problem P and a polynomial p such that for each
w one has:
(4.6) w there exists a word x of size at most p(size(w)) with
wx .
The word x is called a certificate for w. (NP stands for nondeterministi-
cally polynomial-time, since the string x could be chosen by the algorithm by
guessing. So guessing well leads to a polynomial-time algorithm.)
For instance, the collection of Hamiltonian graphs belongs to NP since
the collection of strings GC, consisting of a graph G and a Hamiltonian
circuit C in G, belongs to P. (Here we take graphs and circuits as strings like
(4.2).)
Trivially, we have PNP, since if P, we can take = and p 0
in (4.6).
About all problems that ask for the existence of a structure of a prescribed
type (like a Hamiltonian circuit) belong to NP. The class NP is apparently
much larger than the class P, and there might be not much reason to believe
that the two classes are the same. But, as yet, nobody has been able to prove
that they really are dierent. This is an intriguing mathematical question,
but besides, answering the question might also have practical significance. If
P=NP can be shown, the proof might contain a revolutionary new algorithm,
or alternatively, it might imply that the concept of polynomial-time is com-
pletely meaningless. If P=NP can be shown, the proof might give us more
insight in the reasons why certain problems are more dicult than other, and
might guide us to detect and attack the kernel of the diculties.
42 Chapter 4. Preliminaries on algorithms and complexity
value (by binary search). In this way we usually can derive a polynomial-time
algorithm for the minimization problem from a polynomial-time algorithm
for the decision problem. Similarly, for maximization problems.
About all combinatorial optimization problems, when framed as a decision
problem like (4.10), belong to NP, since a positive answer to question (4.10)
can often be certified by just specifying an x X satisfying f (x) r.
If a combinatorial optimization problem is characterized by a min-max
relation like
(4.11) min f (x) = max g(y),
xX yY
(As Cook [1971] mentioned, a method of Davis and Putnam [1960] solves the
2-satisfiability problem in polynomial time.)
We next derive that the partition problem is NP-complete (Karp [1972b]).
This is the problem:
(4.23) Given a collection of subsets of a finite set X, does it contain a
subcollection that is a partition of X?
Maybe the first paper that was concerned with the complexity of computation
is an article by Lame [1844], who showed that the number of iterations in the
Euclidean g.c.d. algorithm is linear in the logarithm of the smallest of the two
(natural) numbers:
Dans les traites dArithmetique, on se contente de dire que le nombre des divisions
a eectuer, dans la recherche du plus grand commun diviseur entre deux entiers,
`
ne pourra pas surpasser la moiti e du plus petit. Cette limite, qui peut etre d
epass
ee
si les nombres sont petits, seloigne outre mesure quand ils ont plusieurs chires.
Lexag eration est alors semblable ` a celle qui assignerait la moitie dun nombre
comme la limite de son logarithme; lanalogie devient evidente quand on connat
le theor`
eme suivant:
Theore
`me. Le nombre des divisions a` eectuer, pour trouver le plus grand com-
mun diviseur entre deux entiers A, et B<A, est toujours moindre que cinq fois
le nombre des chires de B.3
The traveling salesman problem and the assignment problem have been long-term
bench-marks that gave shape to the ideas on eciency and complexity.
Menger might have been the first to ask attention for the complexity of the
traveling salesman problem. In the session of 5 February 1930 of his mathematische
Kolloquium in Vienna (as reported in Menger [1932a]), he introduced das Boten-
problem, later called the traveling salesman problem and raised the question for a
better-than-finite algorithm:
Dieses Problem ist naturlich stets durch endlichviele Versuche l
osbar. Regeln,
welche die Anzahl der Versuche unter die Anzahl der Permutationen der gegebe-
nen Punkte herunterdrucken w urden, sind nicht bekannt.5
3 In the handbooks of Arithmetics, one contents oneself with saying that, in the search
for the greatest common divisor of two integers, the number of divisions to execute
could not surpass half of the smallest [integer]. This bound, that can be exceeded if
the numbers are small, goes away beyond measure when they have several digits. The
exaggeration then is similar to that which would assign half of a number as bound of
its logarithm; the analogy becomes clear when one knows the following theorem:
Theorem. The number of divisions to execute, to find the greatest common divisor of
two integers A, and B<A, is always smaller than five times the number of digits of B.
4 The network looked for will be traced after at most 2n elementary operations, calling
the search for the continuum closest to a given continuum an elementary operation.
5 Of course, this problem is solvable by finitely many trials. Rules which would push the
number of trials below the number of permutations of the given points, are not known.
Section 4.14b. Eciency and complexity historically 51
Ghosh [1949] observed that the problem of finding a shortest tour along n
random points in the plane (which is the traveling salesman problem) is hard:
After locating the n random points in a map of the region, it is very dicult to
find out actually the shortest path connecting the points, unless the number n is
very small, which is seldom the case for a large-scale survey.
We should realize however that at that time also the (now known to be polynomial-
time solvable) assignment problem was considered to be hard. In an Address deliv-
ered on 9 September 1949 at a meeting of the American Psychological Association
at Denver, Colorado, Thorndike [1950] studied the problem of the classification of
personnel:
There are, as has been indicated, a finite number of permutations in the assign-
ment of men to jobs. When the classification problem as formulated above was
presented to a mathematician, he pointed to this fact and said that from the
point of view of the mathematician there was no problem. Since the number of
permutations was finite, one had only to try them all and choose the best. He
dismissed the problem at that point. This is rather cold comfort to the psychol-
ogist, however, when one considers that only ten men and ten jobs mean over
three and a half million permutations. Trying out all the permutations may be a
mathematical solution to the problem, it is not a practical solution.
But, in a RAND Report dated 5 December 1949, Robinson [1949] reported
that an unsuccessful attempt to solve the traveling salesman problem, led her
to a cycle-cancelling method for the optimum assignment problem, which in fact
stands at the basis of ecient algorithms for network problems. She gave an op-
timality criterion for the assignment problem (absence of negative-length cycles in
the residual graph). As for the traveling salesman problem she mentions:
Since there are only a finite number of paths to consider, the problem consists in
finding a method for picking out the optimal path when n is moderately large,
say n = 50. In this case, there are more than 1062 possible paths, so we can not
simply try them all. Even for as few as 10 points, some short cuts are desirable.
She also observed that the number of feasible solutions is not a measure for the
complexity (where it refers to the assignment problem):
However at first glance, it looks more dicult than the traveling salesman
probl[e]m, for there are obviously many more systems of circuits than circuits.
The development of the simplex method for linear programming, and its, in
practice successful, application to combinatorial optimization problems like assign-
ment and transportation, led to much speculation on the theoretical eciency of
the simplex method. In his paper describing the application of the simplex method
to the transportation problem, Dantzig [1951a] mentioned (after giving a variable
selection criterion that he speculates to lead to favourable computational experience
for large-scale practical problems):
This does not mean that theoretical problems could not be cooked up where
this criterion is weak, but that in practical problems the number of steps has not
been far from m + n 1.
(Here n and m are the numbers of vertices and arcs, respectively.)
At the Symposium on Linear Inequalities and Programming in Washington,
D.C. in 1951, Votaw and Orden [1952] reported on early computational results
with the simplex method (on the SEAC), and claimed (without proof) that the
simplex method is polynomial-time for the transportation problem (a statement
refuted by Zadeh [1973a]):
52 Chapter 4. Preliminaries on algorithms and complexity
As to computation time, it should be noted that for moderate size problems, say
m n up to 500, the time of computation is of the same order of magnitude as
the time required to type the initial data. The computation time on a sample
computation in which m and n were both 10 was 3 minutes. The time of com-
putation can be shown by study of the computing method and the code to be
proportional to (m + n)3 .
During the further 1950s, better-than-finite methods were developed for the as-
signment and several other problems like shortest path and maximum flow. These
methods turned out to give polynomial-time algorithms (possibly after modifica-
tion), and several speedups were found but polynomial-time was, as yet, seldom
marked as eciency criterion. The term algorithm was often used just to distin-
guish from complete enumeration, but no mathematical characterization was given.
Kuhn [1955b,1956] introduced the Hungarian method for the assignment prob-
lem (inspired by the proof method of Egervary [1931]). Kuhn contented himself with
showing finiteness of the method, but Munkres [1957] showed that it is strongly
polynomial-time:
The final maximum on the number of operations needed is
(11n3 + 12n2 + 31n)/6.
This maximum is of theoretical interest, since it is much smaller than the n!
operations necessary in the most straightforward attack on the problem.
As for the maximum flow problem, Ford and Fulkerson [1955,1957b] showed that
their augmenting path method is finite, but only Dinits [1970] and Edmonds and
Karp [1970,1972] showed that it can be adapted to be (strongly) polynomial-time.
Several algorithms were given for finding shortest paths (Shimbel [1955], Ley-
zorek, Gray, Johnson, Ladew, Meaker, Petry, and Seitz [1957], Bellman [1958],
Dantzig [1958,1960], Dijkstra [1959], Moore [1959]), and most of them are obvi-
ously strongly polynomial-time. (Ford [1956] gave a liberal shortest path algorithm
that may require exponential time (Johnson [1973a,1973b,1977a]).)
Section 4.14b. Eciency and complexity historically 53
Similarly, the interest in the shortest spanning tree problem revived, leading to
old and new strongly polynomial-time algorithms (Kruskal [1956], Loberman and
Weinberger [1957], Prim [1957], and Dijkstra [1959]).
The traveling salesman problem resisted these eorts. In the words of Dantzig,
Fulkerson, and Johnson [1954a,1954b]:
Although algorithms have been devised for problems of similar nature, e.g., the
optimal assignment problem,3,7,8 little is known about the traveling-salesman
problem. We do not claim that this note alters the situation very much;
The papers 3,7,8 referred to, are the papers Dantzig [1951a], Votaw and Orden
[1952], and von Neumann [1953], quoted above.
The use of the word Although in the above quote makes it unclear what
Dantzig, Fulkerson, and Johnson considered to be an algorithm. Their algorithm
uses polyhedral methods to solve the traveling salesman problem, while Dantzig
[1951a] and Votaw and Orden [1952] apply the simplex method to solve the assign-
ment and transportation problems. In a follow-up paper, Dantzig, Fulkerson, and
Johnson [1959] seem to have come to the conclusion that both methods are of a
comparable level:
Neither does the example, as we have solved it, indicate how one could make
the combinatorial analysis a routine procedure. This can certainly be done (by
enumeration, if nothing else)but the fundamental question is: does the use of
a few linear inequalities in general reduce the combinatorial magnitude of such
problems significantly?
We do not know the answer to this question in any theoretical sense, but it is
our feeling, based on our experience in using the method, that it does aord a
practical means of computing optimal tours in problems that are not too huge.
It should be noted that a similar question, for example, arises when one uses the
simplex method to find optimal solutions to linear programs, since no one has yet
proved that the simplex method cuts down the computational task significantly
from the crude method of examining all basic solutions, say. Nonetheless, people
do use the simplex method because of successful experience with many hundreds
of practical problems.
The feeling that the traveling salesman problem is more complex than the as-
signment problem was stated by Tompkins [1956]:
A traveling-salesman problem is in some respects similar to the assignment prob-
lem. It seems definitely more dicult, however.
Tompkins described a branch-and-bound scheme to the permutation problem (in-
cluding assignment and traveling salesman), but said:
It must be noted, however, that this is not a completely satisfactory scheme
for solution of such problems. In a few important cases (such as the assignment
problem) more ecient machine methods have been devised.
The available algorithms for the traveling salesman problem were also not accept-
able to Flood [1956]:
There are as yet no acceptable computational methods, and surprisingly few
mathematical results relative to the problem.
He mentioned that the problem might be fundamentally complex:
Very recent mathematical work on the traveling-salesman problem by I. Heller,
H.W. Kuhn, and others indicates that the problem is fundamentally complex.
It seems very likely that quite a dierent approach from any yet used may be
required for succesful treatment of the problem. In fact, there may well be no
general method for treating the problem and impossibility results would also be
valuable.
54 Chapter 4. Preliminaries on algorithms and complexity
(It was noticed later by Cook [1971] that Davis and Putnams method gives a
polynomial-time method for the 2-satisfiability problem.)
A mathematical framework for computational complexity of algorithms was set
up by Hartmanis and Stearns [1965]. They counted the number of steps made by
a multitape Turing machine to solve a decision problem. They showed that for
all real-time countable functions f, g (which include all functions nk , kn , n!, and
sums, products, and compositions of them) the following holds: if each problem
solvable in time O(f ) is also solvable in time O(g), then f = O(g 2 ). This implies,
for instance, that there exist problems solvable in time O(n5 ) but not in time
O(n2 ), and problems solvable in time O(2n ) but not in time O(2n/3 ) (hence not in
polynomial time).
Polynomial-time
Moreover:
For practical purposes the dierence between algebraic and exponential order is
often more crucial than the dierence between finite and non-finite.
proceed digit-by-digit to the left writing down the sum. No matter how large m
and n, this process terminates with the answer after a number of steps equal at
most to one greater than the larger of l(m) and l(n). Thus the process of adding
m and n can be carried out in a number of steps which is bounded by a linear
polynomial in l(m) and l(n). Similarly, we can multiply m and n in a number of
steps bounded by a quadratic polynomial in l(m) and l(n). So, too, the number of
steps involved in the extraction of square roots, calculation of quotients, etc., can
be bounded by polynomials in the lengths of the numbers involved, and this seems
to be a property of simple functions in general. This suggests that we consider
the class, which I will call L, of all functions having this property.
At a symposium in New York in 1966, also Rabin [1967] noted the importance
of polynomial-time solvability:
In the following we shall consider an algorithm to be practical if, for automata
with n states, it requires at most cnk (k is a fixed integer and c a fixed constant)
computational steps. This stipulation is, admittedly, both vague and arbitrary. We
do not, in fact cannot, define what is meant by a computational step, thus have no
precise and general measure for the complexity of algorithms. Furthermore, there
is no compelling reason to classify algorithms requiring cnk steps as practical.
Several points may be raised in defense of the above stipulation. In every given
algorithm the notion of a computational step is quite obvious. Hence there is not
much vagueness about the measure of complexity of existing algorithms. Another
significant pragmatic fact is that all existing algorithms either require up to about
n4 steps or else require 2n or worse steps. Thus drawing the line of practicality
between algorithms requiring nk steps and algorithms for which no such bound
exists seems to be reasonable.
NP-completeness
eliminate the analogous question, because the volume of work mandated by those
algorithms is fantastically large. This is the situation with so-called sequential
(or exhaustive) search problems, including: the minimization of Boolean func-
tions, the search for proofs of finite length, the determination of the isomorphism
of graphs, etc. All of these problems are solved by trivial algorithms entailing
the sequential scanning of all possibilities. The operating time of the algorithms,
however, is exponential, and mathematicians nurture the conviction that it is
impossible to find simpler algorithms.
Levin next announced that any problem in NP (in his terminology, any sequential
search problem) can be reduced to the satisfiability problem, and to a few other
problems.
The wide extent of NP-completeness was disclosed by Karp [1972b], by showing
that a host of prominent combinatorial problems is NP-complete, therewith reveal-
ing the fissure in the combinatorial optimization landscape. According to Karp, his
theorems
strongly suggest, but do not imply, that these problems, as well as many others,
will remain intractable perpetually.
Karp also introduced the notation P and NP, and in a subsequent paper, Karp
[1975] introduced the term NP-complete.
Sipser [1992] gave an extensive account on the history of the P=NP question.
Hartmanis [1989] reviewed the historic setting of Godel, von Neumann and the
P=?NP Problem. Other papers on the history of complexity are Hartmanis [1981],
Trakhtenbrot [1984] (Russian approaches), Karp [1986], and Iri [1987] (the Japanese
view).
Chapter 5
This chapter surveys what we need on polyhedra and linear and integer
programming. Most background can be found in Chapters 710, 14, 16, 19,
22, and 23 of Schrijver [1986b]. We give proofs of a few easy further results
that we need in later parts of the present book.
The results of this chapter are mostly formulated for real space,
but are maintained when restricted to rational space. So the symbol
R can be replaced by the symbol Q. In applying these results, we add the
adjective rational when we restrict ourselves to rational numbers.
5.2. Cones
A subset C of Rn is called a (convex) cone if C = and x + y C
whenever x, y C and , R+ . The cone generated by a set X of vectors
is the smallest cone containing X:
(5.2) coneX = {1 x1 + + k xk | k 0, 1 , . . . , k 0, x1 , . . . , xk
X}.
There is a variant of Caratheodorys theorem:
Theorem 5.2. For any X Rn and x coneX, there exist linearly inde-
pendent vectors x1 , . . . , xk in X with x cone{x1 , . . . , xk }.
maximize minimize
constraint variable 0
constraint variable 0
= constraint unconstrained variable
variable 0 constraint
variable 0 constraint
unconstrained variable = constraint
right-hand side objective function
objective function right-hand side
5.7. Polarity
(For the results of this section, see Section 9.1 in Schrijver [1986b].) For any
subset C of Rn , the polar of C is
(5.18) C := {z Rn | xT z 1 for all x C}.
If C is a cone, then C is again a cone, the polar cone of C, and satisfies
(5.19) C := {z Rn | xT z 0 for all x C}.
Let C be a polyhedral cone; so C = {x | Ax 0} for some matrix A.
Trivially, if C is generated by the vectors x1 , . . . , xk , then C is equal to the
cone determined by the inequalities xT i z 0 for i = 1, . . . , k. It is less trivial,
and can be derived from Farkas lemma, that:
(5.20) the polar cone C is equal to the cone generated by the transposes
of the rows of A.
This implies
(5.21) C = C for each polyhedral cone C.
So there is a symmetric duality relation between finite sets of vectors gener-
ating a cone and finite sets of vectors generating its polar cone.
Here the only if part is trivial, while the if part requires Farkas lemma.
Theorem 5.8 implies that for vectors x1 , . . . , xk Rn+ and z1 , . . . , zd Rn+
one has:
(5.27) conv.hull{x1 , . . . , xk }+Rn+ = {x Rn+ | zjT x 1 for j = 1, . . . , d}
if and only if
(5.28) conv.hull{z1 , . . . , zd } + Rn+ = {z Rn+ | xT
i z 1 for i = 1, . . . , k}.
Two polyhedra P, R are called a blocking pair (of polyhedra) if they are
of blocking type and satisfy R = B(P ). So if P, R is a blocking pair, then so
is R, P .
Section 5.10. Methods for linear programming 67
Two convex sets P, R are called an antiblocking pair (of polyhedra) if they
are of antiblocking type and satisfy R = A(P ). So if P, R is an antiblocking
pair, then so is R, P .
edges, but by linear inequalities, and that vertices are determined by a, not
necessarily unique, basis among the inequalities.
The first polynomial-time method for linear programming was given by
Khachiyan [1979,1980], by adapting the ellipsoid method for nonlinear pro-
gramming of Shor [1970a,1970b,1977] and Yudin and Nemirovski [1976]. The
method consists of finding a sequence of shrinking ellipsoids each containing
at least one optimum solution, until we have an ellipsoid that is small enough
so as to derive an optimum solution. The method however is practically quite
infeasible.
Karmarkar [1984a,1984b] showed that interior point methods can solve
linear programming in polynomial time, and moreover that they have ecient
implementations, competing with the simplex method. Interior point methods
make a tour not along vertices and edges, but across the feasible region.
Theorem 5.11. The optimization problem and the separation problem for
any polynomial-time solvable system of polyhedra are solvable in strongly pol-
ynomial time.
(Theorem (6.6.5) in Gr
otschel, Lovasz, and Schrijver [1988].)
For polynomial-time solvable classes of polyhedra, the separation problem
can be strengthened so as to obtain a facet as separating hyperplane:
Theorem 5.16. Problem (5.39) belongs to co-NP if and only if for each
, there exists a collection I of inequalities determining P such that
the problem:
(5.40) given , c QE , and Q, does cT x belong to I ,
72 Chapter 5. Preliminaries on polyhedra and linear and integer programming
belongs to NP.
Proof. To see necessity, we can take for I the collection of all valid in-
equalities for P . Then co-NP-membership of (5.39) is equivalent of NP-
membership of (5.40).
To see suciency, a negative answer to question (5.39) can be certified
by giving inequalities cT i x i from I and i Q+ (i = 1, . . . , k) such that
c = 1 c1 + + k ck and 1 1 + + k k . As we can take k |E |,
and as each inequality in I has a polynomial-time checkable certificate (as
(5.40) belongs to NP), this gives a polynomial-time checkable certificate for
the negative answer. Hence (5.39) belongs to co-NP.
Proof. If problem (5.40) would belong to NP, then by Theorem 5.16, problem
(5.39) belongs to co-NP. If (5.39) is NP-complete, this implies NP=co-NP.
(Corollary 22.1a in Schrijver [1986b].) We also will use the following obser-
vation:
(Cf. Theorem 19.1 in Schrijver [1986b].) It follows that each linear program-
ming problem with integer data and totally unimodular constraint matrix
has integer optimum primal and dual solutions:
Edmonds and Giles [1977] introduced the powerful notion of total dual in-
tegrality. It is not only useful as a tool to derive combinatorial min-max
relation, but also it gives an ecient way of expressing a whole bunch of
min-max relations simultaneously.
A system Ax b in n dimensions is called totally dual integral, or just
TDI, if A and b are rational and for each c Zn , the dual of maximizing cT x
over Ax b:
(5.54) min{y T b | y 0, y T A = cT }
has an integer optimum solution y, if it is finite.
Section 5.17. Total dual integrality 77
(5.57) cT x = cT T T T T T
+ x + z x = y 1 + z x = y 1 + z 1.
In certain cases, to obtain total dual integrality one can restrict oneself
to nonnegative objective functions:
(5.58) min{y T b | y 0, y T A cT T T T
+ } = min{y b | y 0, y A c },
Theorem 5.27. Let A11 , A12 , A21 , A22 be matrices and let b1 , b2 be column
vectors, such that the system
(5.59) A1,1 x1 + A1,2 x2 = b1 ,
A2,1 x1 + A2,2 x2 b2
is TDI and such that A1,1 is nonsingular. Then also the system
(5.60) (A2,2 A2,1 A1 1
1,1 A1,2 )x2 b2 A2,1 A1,1 b1
is TDI.
Proof. We may assume that b1 = 0, since by Theorem 5.26 total dual inte-
grality is invariant under replacing (5.59) by
(5.61) A1,1 x1 + A1,2 x2 = b1 A1,1 A1
1,1 b1 = 0,
A2,1 x1 + A2,2 x2 b2 A2,1 A1
1,1 b1 .
and
Section 5.17. Total dual integrality 79
(5.64) y2T b2 = cT x2 .
So y2 is an integer optimum solution of the problem dual to maximizing cT x2
over (5.60).
We also have:
Theorem 5.32. A rational system Ax b is TDI if and only if for each face
F of P := {x | Ax b}, the rows of A which are active in F form a Hilbert
base.
(5.84) PI = conv.hull(P Zn ).
It can be shown that PI is a rational polyhedron again.
Consider any rational ane halfspace H = {x | cT x }, where c is a
nonzero integer vector such that the g.c.d. of its components is equal to 1
and where Q. Then it is easy to show that
(5.85) HI = {x | cT x }.
The inequality cT x (or, more correctly, the hyperplane {x | cT x = })
is called a cutting plane.
Define for any rational polyhedron P :
(5.86) P := HI ,
HP
Most background on polyhedra and linear and integer programming needed for this
book can be found in Schrijver [1986b].
More background can be found in Dantzig [1963] (linear programming), Gr un-
baum [1967] (polytopes), Hu [1969] (integer programming), Garfinkel and Nemhau-
ser [1972a] (integer programming), Brndsted [1983] (polytopes), Chv atal [1983]
(linear programming), Lov asz [1986] (ellipsoid method), Gr
otschel, Lov
asz, and
Schrijver [1988] (ellipsoid method), Nemhauser and Wolsey [1988] (integer pro-
gramming), Padberg [1995] (linear programming), Ziegler [1995] (polytopes), and
Wolsey [1998] (integer programming).
Part I
Chapters:
The first three chapters of this part are devoted to the shortest path prob-
lem. A number of simple but fundamental methods have been developed
for it.
The division into the three chapters is by increasing generality of the length
function. In the present chapter we take unit lengths; that is, each edge or
arc has length 1. Equivalently, we search for paths with a minimum number
of edges or arcs. We also consider zero length, equivalently, searching for
any path.
Next, in Chapter 7, we consider nonnegative lengths, where Dijkstras
method applies. Finally, in Chapter 8, we go over to arbitrary lengths.
If we put no further constraints, the shortest path problem is NP-complete
(in fact, even if all lengths are 1). But if there are no negative-length
directed circuits, the problem is polynomial-time solvable, by the Bellman-
Ford method.
The methods and results in this chapter generally apply to directed and
undirected graphs alike; however, in case of an undirected graph with length
function such that each circuit has nonnegative length, the problem is
polynomial-time, but the method is much more involved. It can be solved
in polynomial time with nonbipartite matching methods, and for this we
refer to Section 29.2.
In this chapter, graphs can be assumed to be simple.
Proof. Trivially, the minimum is at least the maximum, since each s t path
intersects each s t cut in at least one arc. That the minimum is equal to
the maximum follows by considering the s t cuts out (Ui ) for i = 1, . . . , d,
where d is the distance from s to t and where Ui is the set of vertices of
distance less than i from s.
Theorem 6.2. Let D = (V, A) be a digraph and let s V . Then there exists
a shortest paths tree rooted at s.
Proof. Let V be the set of vertices reachable in D from s. Choose, for each
t V \ {s}, an arc at that is the last arc of some shortest s t path in D.
Then A := {at | t V \ {s}} gives the required rooted tree.
In fact, the algorithm finds the distance from s to all vertices reachable
from s. Moreover, it gives the shortest paths, even the shortest paths tree:
Proof. Scan s. Then recursively all vertices reachable from s will be scanned,
and the order in which we finish scanning them is the opposite of a pre-
90 Chapter 6. Shortest paths: unit lengths
This implies:
Corollary 6.5a. Given a digraph D = (V, A), the vertices of D can be ordered
pre-topologically in linear time.
Proof. Add a new vertex s and arcs (s, v) for each v V . Applying Theorem
6.5 gives the required pre-topological ordering.
Corollary 6.5b. Given an acyclic digraph D = (V, A), the vertices of D can
be ordered topologically in linear time.
Theorem 6.6. Given a digraph D = (V, A), the strong components of D can
be found in linear time.
Theorem 6.7. Given an undirected graph G = (V, E) with all degrees even,
an Eulerian orientation of G can be found in O(m) time.
Proof. We assume that we have a list of vertices, and, with each vertex v, a
list of edges incident with v.
Consider the first nonisolated vertex in the list, v say. Starting at v, we
make a walk such that no edge is traversed more than once. We make this
walk as long as possible. Since all degrees are even, we terminate at v.
We orient all edges traversed in the direction as traversed, delete them
from G, find the next nonisolated vertex, and iterate the algorithm. We stop
if all vertices are isolated. Then all edges are oriented as required.
Theorem 6.3 directly gives that determining the distances in a digraph D = (V, A)
between all pairs of vertices can be done in time O(nm); similarly for undirected
graphs.
Seidel [1992,1995] gave the following faster method for dense undirected graphs
G = (V, E), assuming without loss of generality that G is connected (by Corollary
6.6a).
92 Chapter 6. Shortest paths: unit lengths
For any undirected graph G = (V, E), let distG (v, w) denote the distance
between v and w in G (with unit-length edges). Moreover, let G2 denote the
graph with vertex set V , where two vertices v, w are adjacent in G2 if and only
if distG (v, w) 2.
Let M (n) denote the time needed to determine the product A B of two n n
matrices A and B, each with entries in {0, . . . , n}.
It is not dicult to see that the following problem can be solved in time
O(M (n)):
(6.6) given: an undirected graph G = (V, E);
find: the undirected graph G2 .
Moreover, also the following problem can be solved in time O(M (n)):
(6.7) given: an undirected graph G = (V, E) and the function distG2 ;
find: the function distG .
Proof. Let A be the adjacency matrix of G and let T be the V V matrix with
Tv,w = distG2 (v, w) for all v, w V . Note that distG2 = distG /2. Let B := T A.
So for all u, w V :
(6.8) Bu,w = distG2 (u, v).
vN (w)
Now if distG (u, w) = 2distG (u, w)/2, then distG (u, v)/2 distG (u, w)/2 for
each neighbour v of w, and hence Bu,w deg(v)distG (u, w)/2. On the other
hand, if distG (u, w) = 2distG (u, w)/2 1, then distG (u, v)/2 distG (u, w)/2
for each neighbour v of w, with strict inequality for at least one neighbour v of
w (namely any neighbour of w on a shortest u w path). So we have Bu,w <
deg(v)distG (u, w)/2. We conclude that having G, distG2 = distG /2, and B, we
can derive distG . As we can calculate B in time O(M (n)), we have the lemma.
Theorem 6.8. Given an undirected graph G on n vertices, the function distG can be
determined in time O(M (n) log n). Here M (n) denotes the time needed to multiply
two n n matrices each with entries in {0, . . . , n}.
Proof. Determining G2 from G and determining distG from G and distG2 can be
done in time O(M (n)). Since the depth of the recursion is O(log n), the algorithm
has running time O(M (n) log n).
Complexity survey for all-pairs shortest paths with unit lengths ( indicates an
asymptotically best bound in the table):
Here is any real such that any two n n matrices can be multiplied by O(n )
arithmetic operations (e.g. = 2.376).
Alon, Galil, and Margalit [1991,1997] extended their method to digraphs with
arc lengths in {1, 0, 1}.
Related work was done by Fredman [1976], Yuval [1976], Romani [1980], Aing-
worth, Chekuri, and Motwani [1996], Zwick [1998,1999a,2002], Aingworth, Chekuri,
Indyk, and Motwani [1999], and Shoshan and Zwick [1999].
Proof. Suciency of the condition is easy, since adding an ear to a strongly con-
nected graph maintains strong connectivity.
To see necessity, let D = (V, A) be strongly connected. Let D = (V , A ) be
a subgraph of D which has an ear-decomposition and with |V | + |A | as large as
possible. (Such a subgraph exists, as any single vertex has an ear-decomposition.)
Then D = D, for otherwise there exists an arc a A \ A with tail in V . Then
a is contained in a directed circuit C (as D is strongly connected). This circuit C
contains a subpath (or circuit) P such that P can be added as an ear to D . This
contradicts the maximality of |V | + |A |.
Complexity survey for finding the transitive closure of a directed graph ( indicates
an asymptotically best bound in the table):
Again, is any real such that any two n n matrices can be multiplied by O(n )
arithmetic operations (e.g. = 2.376). Moreover, f = O(g) if f = O(g logk g) for
some k.
For more on finding the transitive closure we refer to Fischer and Meyer [1971],
Munro [1971], ONeil and ONeil [1973], Dzikiewicz [1975], Syslo and Dzikiewicz
[1975], Warren [1975], Eve and Kurki-Suonio [1977], Adleman, Booth, Preparata,
and Ruzzo [1978], Schnorr [1978a], Schmitz [1983], Ioannidis and Ramakrishnan
[1988], Jakobsson [1991], Ullman and Yannakakis [1991], and Cohen [1994a,1997].
Aho, Garey, and Ullman [1972] showed that finding a minimal directed graph
having the same transitive closure as a given directed graph, has the same time
complexity as finding the transitive closure.
Karp and Tarjan [1980a,1980b] gave algorithms for finding the connected com-
ponents of an undirected graph, and the strong components of a directed graph, in
O(n) expected time. More on finding strong components can be found in Gabow
[2000a].
Books discussing algorithmic problems on paths with unit lengths (reachability,
closure, etc.) include Even [1973], Aho, Hopcroft, and Ullman [1974,1983], Chris-
tofides [1975], Cormen, Leiserson, and Rivest [1990], Lengauer [1990], Jungnickel
[1999], and Mehlhorn and N aher [1999]. Berge [1958b] gave an early survey on
shortest paths.
Chapter 7
In this chapter we consider the shortest path problem in graphs where each
arc has a nonnegative length, and describe Dijkstras algorithm, together
with a number of speedups based on heaps.
In this chapter, graphs can be assumed to be simple. If not mentioned ex-
plicitly, length is taken with respect to a given function l.
The methods and results discussed in Chapter 6 for unit-length arcs can be
generalized to the case where arcs have a not necessarily unit length. For any
length function l : A R and any path P = (v0 , a1 , v1 , . . . , am , vm ), the
length l(P ) of P is defined by:
m
(7.1) l(P ) := l(a).
i=1
The distance from s to t (with respect to l), denoted by distl (s, t), is equal
to the minimum length of any s t path. If no s t path exists, distl (s, t) is
set to +.
A weighted version of Theorem 6.1 is as follows, again due to Robacker
[1956b] (sometimes called the max-potential min-work theorem (Dun
[1962])):
Proof. Again, the minimum is not smaller than the maximum, since if P is
any s t path and C1 , . . . , Ck is any collection as described in the theorem,
then
Section 7.2. Dijkstras method 97
(7.2) l(P ) = l(a) (number of i with a Ci )
aAP aAP
k
k
= |Ci AP | 1 = k.
i=1 i=1
To see equality, let d be the distance from s to t and let Ui be the set of
vertices at distance less than i from s, for i = 1, . . . , d. Taking Ci := out (Ui ),
we obtain a collection C1 , . . . , Cd as required.
Proof. We show correctness of the algorithm. Let dist(v) denote the distance
from s to v, for any vertex v. Trivially, d(v) dist(v) for all v, throughout
the iterations. We prove that throughout the iterations, d(v) = dist(v) for
each v V \ U . At the start of the algorithm this is trivial (as U = V ).
Consider any iteration (7.3). It suces to show that d(u) = dist(u) for
the chosen u U . Suppose d(u) > dist(u). Let s = v0 , v1 , . . . , vk = u be a
shortest s u path. Let i be the smallest index with vi U .
Then d(vi ) = dist(vi ). Indeed, if i = 0, then d(vi ) = d(s) = 0 = dist(s) =
dist(vi ). If i > 0, then (as vi1 V \ U ):
(7.4) d(vi ) d(vi1 ) + l(vi1 , vi ) = dist(vi1 ) + l(vi1 , vi ) = dist(vi ).
This implies d(vi ) dist(vi ) dist(u) < d(u), contradicting the choice of u.
Theorem 7.4. If u0 is deleted, the k-heap can be restored in time O(k logk n).
Section 7.4. Speeding up Dijkstras algorithm with Fibonacci heaps 99
This implies that if for some class of digraphs D = (V, A) one has |A|
|V |1+ for some fixed > 0, then there is a linear-time shortest path algorithm
for these graphs.
Lemma 7.7. In a Fibonacci forest (U, A), each vertex has outdegree at most
2 log2 |U |.
Proof. We show:
k
(7.5) if u has outdegree at least k, then at least 2 vertices are reach-
able from u.
100 Chapter 7. Shortest paths: nonnegative lengths
k
This implies the lemma, since 2 |U | is equivalent to k 2 log2 |U |.
In proving (7.5), we may assume that u is a root. We prove (7.5) by
induction on k, the case k = 0 being trivial. If k 1, let v be the highest
ordered child of u. So v has outdegree at least k 2. Then by induction, at
k2
least 2 vertices are reachable from v. Next delete arc (u, v). We keep a
Fibonacci forest, in which u has outdegree at least k 1. By induction, at
k1
least 2 vertices are reachable from u in the new forest. Hence at least
k2 k1 k
(7.6) 2 + 2 2
vertices are reachable from u in the original forest.
(The recursion (7.6) shows that the Fibonacci numbers give the best bound,
justifying the name Fibonacci forest. The weaker bound given, however, is
sucient for our purposes.)
A Fibonacci heap consists of a rooted forest F = (U, A) and functions
d : U R and : U {0, 1}, such that:
(7.7) (i) if (u, v) A, then d(u) d(v);
(ii) for each u U , the children of u can be ordered such that the
ith child v satisfies degout (v) + (v) i 1;
(iii) if u and v are distinct roots of F , then degout (u) = degout (v).
Condition (7.7)(ii) implies that F is a Fibonacci forest. So, by Lemma 7.7,
condition (7.7)(iii) implies that F has at most 1 + 2 log2 |U | roots.
The Fibonacci heap will be specified by the following data structure,
where t := 2 log2 |U |:
(7.8) (i) for each u U , a doubly linked list of the children of u (in any
order);
(ii) the function parent : U U , where parent(u) is the parent of
u if it has one, and parent(u) = u otherwise;
(iii) the functions degout : U Z+ , : U {0, 1}, and d : U R;
(iv) a function b : {0, . . . , t} U with b(degout (u)) = u for each
root u.
Theorem 7.7. When inserting p times a new vertex, finding and deleting n
times a root u minimizing d(u), and decreasing m times the value of d(u),
the structure can be restored in time O(m + p + n log p).
Proof. Inserting a new vertex v, with value d(v), can be done by setting
(v) := 0 and by applying:
(7.9) plant(v):
Let r := b(degout (v)).
If r is a root with r = v, then:
Section 7.5a. Weakly polynomial-time algorithms 101
if d(r) d(v), add arc (r, v) to A and plant(r);
if d(r) > d(v), add arc (v, r) to A and plant(v);
else define b(degout (v)) := v.
Throughout we update the lists of children and the functions parent, degout ,
, and b.
A root u minimizing d(u) can be found in time O(log p), by scanning
d(b(i)) for i = 0, . . . , t where b(i) is a root.
The root u can be deleted as follows. Let v1 , . . . , vk be the children of u.
First delete u and all arcs leaving u from the forest. This maintains conditions
(7.7)(i) and (ii). Next, condition (7.7)(iii) can be restored by applying plant(v)
for each v = v1 , . . . , vk .
If we decrease the value of d(u) for some u U we do the following:
(7.10) Determine the longest directed path P in F ending at u such
that each internal vertex v of P satisfies (v) = 1. Reset (v) :=
1(v) for each v V P \{u}. Delete all arcs of P from A. Apply
plant(v) to each v V P that is a root of the new forest.
The fact that this maintains (7.7) uses that if the starting vertex q of P is
not a root of the original forest, then q = u and (q) is reset from 0 to 1
hence degout (q) + (q) is not changed, and we maintain (7.7)(ii).
We estimate the running time. Throughout all iterations, increases at
most m times (at most once in each application of (7.10)). Hence decreases
at most m times. So the sum of the lengths of the paths P in (7.10) is at
most 2m. So A decreases at most 2m + 2n log2 p times (since each time we
delete a root we delete at most 2 log2 p arcs). Therefore, A increases at most
2m + 2n log2 p + p times (since the final |A| is less than p). This gives the
running time bound.
The above methods all give a strongly polynomial-time algorithm for the shortest
path problem, with best running time bound O(m + n log n). If we allow also the
size of the numbers to occur in the running time bound, some other methods are
of interest that are in some cases (when the lengths are small integers) faster than
the above methods.
102 Chapter 7. Shortest paths: nonnegative lengths
One can derive from Theorem 7.8 also the following result of Gabow [1985b]:
Proof. For each a A, let l (a) := l(a)/d. Recursively we find distl (s, v) for all
v V , in time O(m logd L ) where L := L/d. Note that logd L (logd L) 1.
Now set
(7.11)
l(a) := l(a) + d distl (s, u) d distl (s, v)
for each a = (u, v) A. Then
l(a) 0, since
(7.12) l(a) d l (a) d(distl (s, v) distl (s, u)).
Moreover, distl (s, v) nd for each v reachable from s, since if P is an s v path
with l (P ) = distl (s, v), then l(P ) = l(P ) dl (P ) nd. So by Theorem 7.8 we
can find distl (s, v) for all v V in time O(m), since nd 2m. As distl (s, v) =
distl (s, v) d distl (s, v), we find the required data.
The following gives a survey of the development of the running time bound for
the shortest path problem for a digraph D = (V, A), s, t V , and nonnegative
length-function l, where n := |V |, m := |A|, and L := max{l(a) | a A} (assuming
l integer). As before, indicates an asymptotically best bound in the table.
Fredman and Willard [1990,1994] gave an O(m + n logloglogn n )-time algorithm for
shortest paths with nonnegative lengths, utilizing nonstandard
capabilities of a
RAM like addressing. This was extended to O(m + n log n log log n) by Raman
[1996], to O(m log log n) and O(m log log L) by Thorup [1996,2000b] (cf. Hagerup
[2000]), and to O(m+n(log L log log L)1/3 ) by Raman [1997]. For undirected graphs,
2 Aho, Hopcroft, and Ullman [1983] (p. 208) claimed to give an O(m + n log n)-time
shortest path algorithm based on 2-heaps, but they assume that, after resetting a value,
the heap can be restored in constant time.
104 Chapter 7. Shortest paths: nonnegative lengths
For the all-pairs shortest paths problem with nonnegative lengths one has:
Here is any real such that any two n n matrices can be multiplied by O(n )
arithmetic operations (e.g. = 2.376). Moreover, f = O(g) if f = O(g logk g)
for some k. (At the negative side, Kerr [1970] showed that matrix multiplication
of n n matrices with addition and multiplication replaced by minimization and
addition, requires time (n3 ).)
Spira [1973] gave an O(n2 log2 n) expected time algorithm for all-pairs short-
est paths with nonnegative lengths. This was improved to O(n2 log n log log n) by
Takaoka and Moat [1980], to O(n2 log n log n) by Bloniarz [1980,1983] (defining
log n := min{i | log(i) n 1}, where log(0) n := n and log(i+1) n := log(log(i) n)),
and to O(n2 log n) by Moat and Takaoka [1985,1987]. Related work includes Car-
son and Law [1977], Frieze and Grimmett [1985], Hassin and Zemel [1985], Walley
and Tan [1995], and Mehlhorn and Priebe [1997].
Yen [1972] (cf. Williams and White [1973]) described an all-pairs shortest paths
method (based on Dijkstras method) using 12 n3 additions and n3 comparisons.
Nakamori [1972] gave a lower bound on the number of operations. Yao, Avis, and
Rivest [1977] gave a lower bound of (n2 log n) for the time needed for the all-pairs
shortest paths problem.
Karger, Koller, and Phillips [1991,1993] and McGeoch [1995] gave an O(n(m +
n log n)) algorithm for all-pairs shortest paths, where m is the number of arcs that
belong to at least one shortest path. See also Yuval [1976] and Romani [1980] for
relations between all-pairs shortest paths and matrix multiplication.
Frederickson [1983b,1987b] showed that in a planar directed graph, with non-
negative lengths, the all-pairs shortest paths problem can be solved in O(n2 ) time.
Spira and Pan [1973,1975], Shier and Witzgall [1980], and Tarjan [1982] studied
the sensitivity of shortest paths trees under modifying arc lengths. Fulkerson and
Harding [1977] studied the problem of lengthening the arc lengths within a given
budget (where each arc has a given cost for lengthening the arc length) so as to
maximize the distance from a given source to a given sink. They reduced this
problem to a parametric minimum-cost flow problem. Land and Stairs [1967] and
Hu [1968] studied decomposition methods for finding all-pairs shortest paths (cf.
Farbey, Land, and Murchland [1967], Hu and Torres [1969], Yen [1971b], Shier
[1973], and Blewett and Hu [1977]).
Frederickson [1989,1995] gave a strongly polynomial-time algorithm to find an
O(n) encoding of shortest paths between all pairs in a directed graph with non-
negative length function. (It extends earlier work of Frederickson [1991] for planar
graphs.)
Algorithms for finding the k shortest paths between pairs of vertices in a directed
graph were given by Clarke, Krikorian, and Rausen [1963], Yen [1971a], Minieka
[1974], Weigand [1976], Lawler [1977], Shier [1979], Katoh, Ibaraki, and Mine [1982],
Byers and Waterman [1984], Perko [1986], Chen [1994], and Eppstein [1994b,1999].
Mondou, Crainic, and Nguyen [1991] gave a survey of shortest paths methods,
with computational results, and Raman [1997] on recent results on shortest paths
with nonnegative lengths.
106 Chapter 7. Shortest paths: nonnegative lengths
Books covering shortest path methods for nonnegative lengths include Berge
[1973b], Aho, Hopcroft, and Ullman [1974,1983], Christofides [1975], Lawler [1976b],
Minieka [1978], Even [1979], Hu [1982], Papadimitriou and Steiglitz [1982], Smith
[1982], Syslo, Deo, and Kowalik [1983], Tarjan [1983], Gondran and Minoux [1984],
Rockafellar [1984], Nemhauser and Wolsey [1988], Bazaraa, Jarvis, and Sherali
[1990], Chen [1990], Cormen, Leiserson, and Rivest [1990], Lengauer [1990], Ahuja,
Magnanti, and Orlin [1993], Cook, Cunningham, Pulleyblank, and Schrijver [1998],
Jungnickel [1999], Mehlhorn and N aher [1999], and Korte and Vygen [2000].
Chapter 8
We now go over to the shortest path problem for the case where negative
lengths are allowed, but where each directed circuit has nonnegative length
(with no restriction, the problem is NP-complete). The basic algorithm here
is the Bellman-Ford method.
In this chapter, graphs can be assumed to be simple. If not mentioned ex-
plicitly, length is taken with respect to a given function l.
8.2. Potentials
Necessity. Suppose that each directed circuit has nonnegative length. For
each t V , let p(t) be the minimum length of any path ending at t (starting
wherever). This function satisfies the required condition.
Proof. Let p(v) := distl (s, v) if v belongs to at least one s t walk, and
p(v) := 0 otherwise. This p is as required.
The following observation can also be of use, for instance when calculating
shortest paths by linear programming:
Theorem 8.4. Let D = (V, A) be a digraph, let s V be such that each vertex
of D is reachable from s, and let l : A R be such that each directed
circuit
has nonnegative length. Let p be a potential with p(s) = 0 and vV p(v)
maximal. Then p(t) = distl (s, t) for each t V .
Section 8.3. The Bellman-Ford method 109
Proof. One easily shows that for any potential p with p(s) = 0 one has
p(t) distl (s, t) for each t V . As distl (s, ) is a potential, the theorem
follows.
for all t V .
This method gives us the distance from s to t. It is not dicult to derive
a method finding a shortest paths tree with root s. Thus:
Proof. If dn = dn1 , then dn (t) < dn1 (t) for some t V . So the algorithm
finds an s t walk P of length dn (t), traversing n arcs. As P traverses n arcs,
it contains a directed circuit C. Removing C gives an s t walk P with less
than n arcs. So l(P ) dn1 (t) > dn (t) = l(P ) and hence l(C) < 0.
If dn = dn1 , then there is no negative-length directed circuit reachable
from s.
110 Chapter 8. Shortest paths: arbitrary lengths
Proof. Extend D by a new vertex s and arcs (s, v) for v V , each of length 0.
Then setting p(v) equal to the distance from s to v (which can be determined
with the Bellman-Ford method) gives a potential.
We remark that the shortest path problem for undirected graphs, for
length functions without negative-length circuits, also can be solved in pol-
ynomial time. However, the obvious reduction replacing every undirected
edge uv by two arcs (u, v) and (v, u) each of length l(uv) may yield a
negative-length directed circuit. So in this case, the undirected case does not
reduce to the directed case, and we cannot apply the Bellman-Ford method.
The undirected problem can yet be solved in polynomial time, with the meth-
ods developed for the matching problem see Section 29.2.
Proof. With the Bellman-Ford method one finds a potential p in time O(nm)
(Theorem 8.7). Set l(a) := l(a) p(v) + p(u) for each arc a = (u, v). So
l(a) 0 for each arc a. Next with Dijkstras method, using Fibonacci heaps,
one can determine for each s V a shortest paths tree Ts for l, in time
O(m + n log n) (Corollary 7.7a). As these are shortest paths trees also for l,
we have the current theorem.
some k < n). Hence dn (v) = l(Pn ) = l(Pk ) + l(C) l(Pk ) dk (v) and so
dn (v) dk (v) 0. Therefore, (8.8) is nonnegative.
To see that it is 0, let C = (v0 , a1 , v1 , . . . , at , vt ) be a directed cycle of
length 0. Then minr dr (v0 ) is attained by some r with n t r < n (as it is
attained by some r < n (since each circuit has nonnegative length), and as
we can add C to the shortest walk ending at v0 ). Fix this r.
Let v := vnr , and split C into walks
(8.9) P := (v0 , a1 , v1 , . . . , anr , vnr ) and
Q := (vnr , anr+1 ,vnr+1 , . . . , at , vt ).
Then dn (v) dr (v0 ) + l(P ), and therefore for each k:
(8.10) dk (v) + l(Q) dk+(t(nr)) (v0 ) dr (v0 ) dn (v) l(P ).
This implies dn (v) dk (v) l(C) = 0. So the minimum (8.8) is at most 0.
Algorithmically, it gives:
Notes. Karp and Orlin [1981] and Karzanov [1985c] gave generalizations. Orlin and
Ahuja [1992] gave an O( n m log(nL)) algorithm for the minimum-mean length di-
rected circuit problem (cf. McCormick [1993]). Early work on this problem includes
Lawler [1967], Shapiro [1968], and Fox [1969].
The following gives a survey of the development of the running time bound for the
shortest path problem for a digraph D = (V, A), s, t V , and l : A Z (without
negative-length directed circuits), where n := |V |, m := |A|, L := max{|l(a)| a
A}, and L := max{l(a) | a A} (assuming L 2). As before, indicates an
asymptotically best bound in the table.
continued
O( n m log(nL )) Gabow and Tarjan [1988b,1989]
O( n m log L ) Goldberg [1993b,1995]
(Gabow [1983b,1985b] and Gabow and Tarjan [1988b,1989] give bounds with L
instead of L , but Goldberg [1995] mentioned that an anonymous referee of his
paper observed that L can be replaced by L .)
Kolliopoulos and Stein [1996,1998b] proved a bound of o(n3 ) for the average-
case complexity.
For the special case of planar directed graphs:
For the all-pairs shortest paths problem, with no negative-length directed circuits,
one has:
3+
Alon, Galil, and Margalit [1991,
O((nL) 2 log3 n) 1997], Galil and Margalit [1997a,
1997b]
Here SP+ (n, m, L) denotes the time needed to find a shortest path in a digraph
with n vertices and m arcs, with nonnegative integer lengths on the arcs, each at
most L. is any real such that any two n n matrices can be multiplied by O(n )
arithmetic operations (e.g. = 2.376).
114 Chapter 8. Shortest paths: arbitrary lengths
Frederickson [1983b,1987b] showed that for planar directed graphs, the all-pairs
shortest paths problem, with no negative-length directed circuits, can be solved in
O(n2 ) time.
jt jt 1 jt1 jt1 1 j2 j2 1 j1 j1 1
ri1 ri
Figure 8.1
Let D be the digraph arising in this way. Then it is not dicult to check that
there exists a subcollection C of C that partitions X if and only if D has a directed
Hamiltonian r0 k path P . (Take: (ri1 , ri ) P Ci C .)
Hence:
Proof. This follows from the fact that there exists an s t path of length |V | 1
if and only if there is a directed Hamiltonian s t path.
Again it implies:
Proof. This follows from the fact that there exists an s t path of length |V | 1
if and only if there is a Hamiltonian s t path.
The method originally described by Ford [1956] consists of the following. Given a
digraph D = (V, A), s, t V , and a length function l : A Q, define d(s) := 0 and
d(v) := for all v =
s; next perform the following iteratively:
(8.11) choose an arc (u, v) with d(v) > d(u) + l(u, v), and reset d(v) :=
d(u) + l(u, v).
Stop if no such arc exists.
If there are nonegative-length directed circuits, thisis a finite method, since
at each iteration v d(v) decreases, while it is at least v distl (s, v) and it is an
integer multiple of the g.c.d. of the l(a).
In fact, it can be shown that the number of iterations is at most 2|V | , if l is
nonnegative. Moreover, if l is arbitrary (without negative
directed circuit), there
are at most 2|V |2 L iterations, where L := max{|l(a)| a A}.
However, Johnson [1973a,1973b] showed that the number of iterations is (n2n ),
even if we prescribe to choose (u, v) in (8.11) with d(u) minimal. For nonnegative l,
Johnson [1973b,1977a] showed that the number of iterations is (2n ) if we prescribe
no selection rule of u.
116 Chapter 8. Shortest paths: arbitrary lengths
Theorem 8.12. Let D = (V, A) be an acyclic digraph and let s, t V . Then the
maximum length of an s t path is equal to the minimum number of directed s t
cuts covering all arcs that are on at least one s t path.
One similarly shows for paths not fixing its ends (Vidyasankar and Younger
[1975]):
Theorem 8.13. Let D = (V, A) be an acyclic digraph. Then the maximum length
of any path is equal to the minimum number of directed cuts covering A.
Also weighted versions hold, and may be derived similarly. A weighted version
of Theorem 8.12 is:
In acyclic graphs one can find shortest paths in linear time (Mor
avek [1970]):
Note that this implies that also a longest path in an acyclic digraph can be
found in linear time.
Johnson [1973b] showed that, in a not necessarily acyclic digraph, an O(m)-
time algorithm for the single-source shortest path problem exists if the number of
directed circuits in any strongly connected component is bounded by a constant.
Related work was reported by Wagner [2000].
More on longest paths and path covering in acyclic graphs can be found in
Chapter 14.
Pollack [1960] observed that several of the shortest path algorithms can be modified
to the following maximum-capacity path problem. For any digraph D = (V, A) and
capacity function c : A Q, the capacity of a path P is the minimum of the
capacities of the arcs in P . (This is also called sometimes the reliability of P cf.
Section 50.6c.)
Then the maximum-capacity path problem (also called the maximum reliability
problem), is:
(8.13) given: a digraph D = (V, A), s, t V , and a capacity function c :
A Q;
find: an s t path of maximum capacity.
To this end, one should appropriately replace min by max and + by min in these
algorithms. Applying this to Dijkstras algorithm gives, with Fibonacci heaps, a
running time of O(m + n log n).
In fact, the following bottleneck min-max relation holds (Fulkerson [1966]):
It is easy to solve the bottleneck shortest path problem by binary search in time
O(m log L), where L := l assuming l integer. This was improved by Gabow
[1985b] to O(m logn L).
Further analyses of shortest path methods were given by Pollack and Wiebenson
[1960], Homan and Winograd [1972], Tabourier [1973], Pape [1974], Kershenbaum
[1981], Glover, Glover, and Klingman [1984], Pallottino [1984], Glover, Klingman,
and Phillips [1985], Glover, Klingman, Phillips, and Schneider [1985], Desrochers
[1987], Bertsekas [1991], Goldfarb, Hao, and Kai [1991], Sherali [1991], Cherkassky,
Goldberg, and Radzik [1994,1996], and Cherkassky and Goldberg [1999] (negative
circuit detection).
Spirakis and Tsakalidis [1986] gave an average-case analysis of an O(nm)-time
negative circuit detecting algorithm, and Tarjan [1982] a sensitivity analysis of
shortest paths trees.
Fast approximation algorithms for shortest paths were given by Klein and
Sairam [1992], Cohen [1994b,2000], Aingworth, Chekuri, and Motwani [1996], Dor,
Halperin, and Zwick [1996,2000], Cohen and Zwick [1997,2001], and Aingworth,
Chekuri, Indyk, and Motwani [1999].
Dantzig [1957] observed that the shortest path problem can be formulated as
a linear programming problem, and hence can be solved with the simplex method.
Edmonds [1970a] showed that this may take exponentially many pivot steps, even
for nonnegative arc lengths. On the other hand, Dial, Glover, Karney, and Kling-
man [1979] and Zadeh [1979] gave pivot rules that solve the shortest path problem
with nonnegative arc lengths in O(n) pivots. For arbitrary length Akg ul [1985] and
Goldfarb, Hao, and Kai [1990b] gave strongly polynomial simplex algorithms. Akg ul
[1993] gave an algorithm using O(n2 ) pivots, yielding an O(n(m + n log n))-time
algorithm. An improvement to O(nm) (with (n 1)(n 2)/2 pivots) was given by
Goldfarb and Jin [1999b]. Related work was done by Dantzig [1963], Orlin [1985],
and Ahuja and Orlin [1988,1992].
Computational results were presented by Pape [1974,1980], Golden [1976], Car-
son and Law [1977], Kelton and Law [1978], van Vliet [1978], Denardo and Fox
[1979], Dial, Glover, Karney, and Klingman [1979], Glover, Glover, and Klingman
[1984], Imai and Iri [1984], Glover, Klingman, Phillips, and Schneider [1985], Gallo
and Pallottino [1988], Mondou, Crainic, and Nguyen [1991], Goldberg and Radzik
[1993] (Bellman-Ford method), Cherkassky, Goldberg, and Radzik [1996], Goldberg
and Silverstein [1997], and Zhan and Noon [1998].
Frederickson [1987a,1991] gave an algorithm that gives a succint encoding of all
pairs shortest path information in a directed planar graph (with arbitrary lengths,
but no negative directed circuits).
Section 8.6g. Historical notes on shortest paths 119
Compared with other combinatorial optimization problems like the minimum span-
ning tree, assignment, and transportation problems, research on the shortest path
problem started relatively late. This might be due to the fact that the problem is ele-
mentary and relatively easy, which is also illustrated by the fact that at the moment
that the problem came into the focus of interest, several researchers independently
developed similar methods. Yet, the problem has oered some substantial dicul-
ties, as is illustrated by the fact that heuristic, nonoptimal approaches have been
investigated (cf. for instance Rosenfeld [1956], who gave a heuristic approach for
determining an optimal trucking route through a given trac congestion pattern).
Search methods
Depth-first search methods were described in the 19th century in order to traverse
all lanes in a maze without knowing its plan. Wiener [1873] described the following
method:
Man markire sich daher den Weg, den man zur ucklegt nebst dem Sinne, in
welchem es geschieht. Sobald man auf einen schon markirten Weg st osst, kehre
man um und durchschreite den schon beschriebenen Weg in umgekehrtem Sinne.
Da man, wenn man nicht ablenkte, denselben hierbei in seiner ganzen Ausdehnung
nochmals zurucklegen wurde, so muss mann nothwendig hierbei auf einen noch
nicht markirten einm undenden Weg treen, den man dann verfolge, bis man
wieder auf einen markirten trit. Hier kehre man wieder um und verfahre wie
vorher. Es werden dadurch stets neue Wegtheile zu den beschriebenen zugef ugt,
so dass man nach einer endlichen Zeit das ganze Labyrinth durchwandern w urde
und so jedenfalls den Ausgang f
ande, wenn er nicht schon vorher erreicht worden
ware.3
3 One therefore marks the road that one traverses together with the direction in which it
happens. As soon as one hits a road already marked, one turns and traverses the road
already followed in opposite direction. As one, if one would not deviate, would traverse
it to its whole extent another time, by this one should necessarily meet a road running
to a not yet marked one, which one next follows, until one again hits a marked one.
Here one turns again and proceeds as before. In that road always new road parts are
added to those already followed, so that after a finite time one would walk through the
whole labyrinth and in this road in any case would find the exit, if it would not have
been reached already before.
120 Chapter 8. Shortest paths: arbitrary lengths
Alternate routing
Path problems were also studied at the beginning of the 1950s in the context of
alternate routing, that is, finding a second shortest route if the shortest route is
blocked. This applies to freeway usage (cf. Trueblood [1952]), but also to telephone
call routing. At that time making long-distance calls in the U.S.A. was automatized,
and alternate routes for telephone calls over the U.S. telephone network nation-wide
should be found automatically:
When a telephone customer makes a long-distance call, the major problem fac-
ing the operator is how to get the call to its destination. In some cases, each
toll operator has two main routes by which the call can be started towards this
destination. The first-choice route, of course, is the most direct route. If this is
busy, the second choice is made, followed by other available choices at the oper-
ators discretion. When telephone operators are concerned with such a call, they
can exercise choice between alternate routes. But when operator or customer toll
dialing is considered, the choice of routes has to be left to a machine. Since the
intelligence of a machine is limited to previously programmed operations,
the choice of routes has to be decided upon, and incorporated in, an automatic
alternate routing arrangement.
(Jacobitti [1955], cf. Myers [1953], Clos [1954], and Truitt [1954]).
4 Each maze can be traversed in one single run, by passing each of the corridors twice in
opposite direction, without that it is necessary to know its plan.
To solve this problem, it suces to observe this only rule:
Retake the initial corridor that has led to a crossing for the first time only when one
cannot do otherwise.
Section 8.6g. Historical notes on shortest paths 121
Matrix methods
Matrix methods were developed to study relations in networks, like finding the
transitive closure of a relation; that is, identifying in a digraph the pairs of vertices
s, t such that t is reachable from s. Such methods were studied because of their
application to communication nets (including neural nets) and to animal sociology
(e.g. peck rights).
The matrix methods consist of representing the relation by a matrix, and then
taking iterative matrix products to calculate the transitive closure. This was studied
by Landahl and Runge [1946], Landahl [1947], Luce and Perry [1949], Luce [1950],
Lunts [1950,1952], and by A. Shimbel.
Shimbels interest in matrix methods was motivated by their applications to
neural networks. He analyzed with matrices which sites in a network can communi-
cate to each other, and how much time it takes. To this end, let S be the 0, 1 matrix
indicating that if Si,j = 1, then there is direct communication from i to j (includ-
ing i = j). Shimbel [1951] observed that the positive entries in S t correspond to
the pairs between which there exists communication in t steps. An adequate com-
munication system is one for which S t is positive for some t. One of the other
observations of Shimbel [1951] is that in an adequate communication system, the
time it takes that all sites have all information, is equal to the minimum value of t
for which S t is positive. (A related phenomenon was observed by Luce [1950].)
Shimbel [1953] mentioned that the distance from i to j is equal to the number
of zeros in the i, j position in the matrices S 0 , S 1 , S 2 , . . . , S t . So essentially he gave
an O(n4 ) algorithm to find all distances in a (unit-length) digraph.
Shortest paths
The basic methods for the shortest path problem are the Bellman-Ford method
and Dijkstras method. The latter one is faster but is restricted to nonnegative
length functions. The former method only requires that there is no directed circuit
of negative length.
The general framework for both methods is the following scheme, described in
this general form by Ford [1956]. Keep a provisional distance function d. Initially,
set d(s) := 0 and d(v) := for each v = s. Next, iteratively,
(8.16) choose an arc (u, v) with d(v) > d(u) + l(u, v) and reset d(v) := d(u) +
l(u, v).
If no such arc exists, d is the distance function.
The dierence in the methods is the rule by which the arc (u, v) with d(v) >
d(u) + l(u, v) is chosen. The Bellman-Ford method consists of considering all arcs
consecutively and applying (8.16) where possible, and repeating this (at most |V |
rounds suce). This is the method described by Shimbel [1955], Bellman [1958],
and Moore [1959].
Dijkstras method prescribes to choose an arc (u, v) with d(u) smallest (then
each arc is chosen at most once, if the lengths are nonnegative). This was described
by Leyzorek, Gray, Johnson, Ladew, Meaker, Petry, and Seitz [1957] and Dijkstra
[1959]. A related method, but slightly slower than Dijkstras method when imple-
mented, was given by Dantzig [1958], G.J. Minty, and Whiting and Hillier [1960],
and chooses an arc (u, v) with d(u) + l(u, v) smallest.
122 Chapter 8. Shortest paths: arbitrary lengths
Parallel to this, a number of further results were obtained on the shortest path
problem, including a linear programming approach and good characterizations.
We now describe the developments in greater detail.
He extended this arithmetic to the matrix product. Calling the distance matrix
associated with a given length matrix S the dispersion, he stated:
It follows trivially that S k k 1 is a matrix giving the shortest paths from site
to site in S given that k 1 other sites may be traversed in the process. It also
follows that for any S there exists an integer k such that S k = S k+1 . Clearly, the
dispersion of S (let us label it D(S)) will be the matrix S k such that S k = S k+1 .
Although Shimbel did not mention it, one trivially can take k |V |, and hence
the method yields an O(n4 ) algorithm to find the distances between all pairs of
vertices.
Leyzorek, Gray, Johnson, Ladew, Meaker, Petry, and Seitz [1957] noted that
Shimbels method can be speeded up by calculating S k by iteratively raising the
current matrix to the square (in the min-addition matrix algebra). This solves the
all-pairs shortest paths problem in time O(n3 log n).
In a RAND paper dated 14 August 1956, Ford [1956] described a method to find
a shortest path from P0 to PN , in a network with vertices P0 , . . . , PN , where lij
denotes the length of an arc from i to j:
Assign initially x0 = 0 and xi = for i = 0. Scan the network for a pair Pi
and Pj with the property that xi xj > lji . For this pair replace xi by xj + lji .
Continue this process. Eventually no such pairs can be found, and xN is now
minimal and represents the minimal distance from P0 to PN .
Ford next argues that the method terminates. It was shown by Johnson [1973a,
1973b,1977a] that Fords liberal selection rule can require exponential time.
In their book Studies in the Economics of Transportation, Beckmann, McGuire,
and Winsten [1956] showed that the distance matrix D = (di,j ) is the unique matrix
satisfying
(8.17) di,i = 0 for all i;
di,k = minj (li,j + dj,k ) for all i, k with i = k.
Section 8.6g. Historical notes on shortest paths 123
We next describe the work of Bellman on shortest paths. After publishing several
papers on dynamic programming (in a certain sense a generalization of shortest
path methods), Bellman [1958] eventually focused on the shortest path problem by
itself. He described the following functional equation approach (originating from
dynamic programming) for the shortest path problem, which is the same as that of
Shimbel [1955].
Bellman considered N cities, numbered 1, . . . , N , every two of which are linked
by a direct road, together with an N N matrix T = (ti,j ), where ti,j is the time
required to travel from i to j (not necessarily symmetric). Find a path between 1
and N which consumes minimum time. First, Bellman remarked that the problem
is finite:
Since there are only a finite number of paths available, the problem reduces to
choosing the smallest from a finite set of numbers. This direct, or enumerative,
approach is impossible to execute, however, for values of N of the order of mag-
nitude of 20.
Since each iteration can be done in time O(N 2 ), the algorithm takes time O(N 3 ).
Bellman also remarks:
It is easily seen that the iterative scheme discussed above is a feasible method for
either hand or machine computation for values of N of the order of magnitude of
50 or 100.
The motivation of Moore was the routing of toll telephone trac. He gave algo-
rithms A, B, and C, and D.
First, Moore considered the case of an undirected graph G = (V, E) with no
length function, where a path from vertex A to vertex B should be found with
a minimum number of edges. Algorithm A is: first give A label 0. Next do the
following for k = 0, 1, . . .: give label k + 1 to all unlabeled vertices that are adjacent
to some vertex labeled k. Stop as soon as vertex B is labeled.
If it were done as a program on a digital computer, the steps given as single steps
above would be done serially, with a few operations of the computer for each city
of the maze; but, in the case of complicated mazes, the algorithm would still be
quite fast compared with trial-and-error methods.
Among the further applications of his method, Moore described the example
of finding the fastest connections from one station to another in a given railroad
timetable (cf. also Levin and Hedetniemi [1963]). A similar method was given by
Minty [1958].
Berge [1958b] described a breadth-first search method similar to Moores algo-
rithm A, to find the shortest paths from a given vertex a, for unit lengths, but he
described it more generally for directed graphs: let A(0) := {a}; if A(k) has been
found, let A(k + 1) be the set of vertices x for which there is a y A(k) with (y, x)
an arc and with x A(i) for all i k. One directly finds a shortest a b path from
the A(k). This gives an O(m) algorithm.
D.A. DEsopo (cf. the survey of Pollack and Wiebenson [1960]) proposed the
following sharpening of Moores version of the Bellman-Ford method, by indexing
the vertices during the algorithm. First define index(s) := 1, and let i := 1. Then
apply the following iteratively:
(8.18) Let v be the vertex with index i. For each arc (v, w) leaving v, reset
d(w) := d(v)+l(v, w) if it decreases d(w); if w is not indexed give it the
smallest unused index; if some d(w) has been reset with index(w) < i,
choose the w minimizing index(w), and let i :=index(w); otherwise,
let i := i + 1.
In May 1958, Homan and Pavley [1959b] reported, at the Western Joint Com-
puter Conference in Los Angeles, the following computing time for finding the
distances between all pairs of vertices by Moores algorithm (with nonnegative
lengths):
It took approximately three hours to obtain the minimum paths for a network of
265 vertices on an IBM 704.
Orden [1955] observed that the shortest path problem is a special case of the trans-
shipment problem: let be given an n n matrix (ci,j ) and a vector g Rn
(8.19) minimize i,j ci,j xi,j
n
subject to (xi,j xj,i ) = gi for i = 1, . . . , n
j=1
and xi,j 0 for i, j = 1, . . . n,
and showed that it can be reduced to a transportation problem, and hence to a
linear programming problem. If one wants to find a shortest 1 n path, set g1 = 1,
gn = 1, and gi = 0 for all other i.
In a paper presented at the Summer 1955 meeting of ORSA at Los Angeles,
Dantzig [1957] formulated the shortest path problem as an integer linear program-
ming problem very similar to the system for the assignment problem, and similar
to Ordens formulation. Dantzig observed that replacing the condition xi,j 0 by
xi,j {0, 1} does not change the minimum value. (Dantzig assumed di,j = dj,i for
all i, j.)
He described a graphical procedure for the simplex method applied to this
problem. Let T be a rooted tree on {1, . . . , n}, with root 1. For each i = 1, . . . , n,
126 Chapter 8. Shortest paths: arbitrary lengths
Good characterizations
In the First Annual Report of the project Investigation of Model Techniques, car-
ried out by the Case Institute of Technology in Cleveland, Ohio for the Combat
Development Department of the Army Electronic Proving Ground, Leyzorek, Gray,
Johnson, Ladew, Meaker, Petry, and Seitz [1957] describe (rudimentarily) a shortest
path algorithm similar to Dijkstras algorithm:
(1) All the links joined to the origin, a, may be given an outward orientation. . . .
(2) Pick out the link or links radiating from a, aa , with the smallest delay. . . .
Then it is impossible to pass from the origin to any other node in the network
by any shorter path than aa . Consequently, the minimal path to the general
node is aa .
(3) All of the other links joining may now be directed outward. Since aa must
necessarily be the minimal path to , there is no advantage to be gained by
directing any other links toward . . . .
(4) Once has been evaluated, it is possible to evaluate immediately all other
nodes in the network whose minimal values do not exceed the value of the second-
smallest link radiating from the origin. Since the minimal values of these nodes
are less than the values of the second-smallest, third-smallest, and all other links
radiating directly from the origin, only the smallest link, aa , can form a part
of the minimal path to these nodes. Once a minimal value has been assigned to
these nodes, it is possible to orient all other links except the incoming link in an
outward direction.
(5) Suppose that all those nodes whose minimal values do not exceed the value
of the second-smallest link radiating from the origin have been evaluated. Now it
is possible to evaluate the node on which the second-smallest link terminates. At
this point, it can be observed that if conflicting directions are assigned to a link,
in accordance with the rules which have been given for direction assignment, that
link may be ignored. It will not be a part of the minimal path to either of the
two nodes it joins. . . .
Following these rules, it is now possible to expand from the second-smallest link as
well as the smallest link so long as the value of the third-smallest link radiating
from the origin is not exceeded. It is possible to proceed in this way until the
entire network has been solved.
Section 8.6g. Historical notes on shortest paths 127
Analog computing
A similar method was proposed by Bock and Cameron [1958] (cf. Peart, Randolph,
and Bartlett [1960]). The method was extended to the directed case by Klee [1964].
Rapaport and Abramson [1959] described an electric analog computer for solv-
ing the shortest path problem.
Dantzig [1958,1960] gave an O(n2 log n) algorithm for the shortest path problem
with nonnegative length function. A set X is updated throughout, together with
a function d : X Q+ . Initially X = {s} and d(s) = 0. Then do the following
iteratively:
(8.20) for each v X, let wv be a vertex not in X with d(wv ) minimal.
Choose a v X minimizing d(v) + l(v, wv ). Add wv to X and set
d(wv ) := d(v) + l(v, wv ).
Stop if X = V .
Note that throughout the iterations, the function d is only extended, and not
updated. Dantzig assumed
(a) that one can write down without eort for each node the arcs leading to other
nodes in increasing order of length and (b) that it is no eort to ignore an arc of
the list if it leads to a node that has been reached earlier.
Indeed, in a preprocessing the arcs can be ordered in time O(n2 log n), and, for
instance by using doubly linked lists, an arc can be deleted from the appropriate
list in time O(1). As each iteration can be done in time O(n) (identifying a v
128 Chapter 8. Shortest paths: arbitrary lengths
minimizing d(v) + l(v, wv ) and deleting all arcs entering wv from each list of arcs
leaving x for x X), Dantzigs method can be performed in time O(n2 log n).
Dantzig [1958,1960] mentioned that, beside Bellman, Moore, Ford, and himself,
also D. Gale and Fulkerson proposed shortest path methods, in informal conversa-
tions.
The same method as that of Dantzig (however without the observations con-
cerning storing the outgoing arcs from any vertex in a list) was given by G.J. Minty
(cf. Pollack and Wiebenson [1960]) and by Whiting and Hillier [1960].
Dijkstra [1959] gave an O(n2 ) method which is slightly dierent from that of Dantzig
[1958,1960]. Let D = (V, A) be a graph and let a length function l : A R+ be
given. Dijkstras method consists of repeatedly updating a set X and a function
d : V R+ as follows.
Initially, set X = , d(s) = 0, d(v) = if v = s. Next move s into X. Then do
the following iteratively: Let v be the vertex just moved into X;
(8.21) for each arc (v, w) with w
X, reset d(w) := d(v) + l(v, w) if this
would decrease d(w). Choose v
X with minimum d(v ), and move
v into X.
Stop if no such v exists.
Since each iteration can be done in time O(n) and since there are at most |V |
iterations, the algorithm runs in time O(n2 ). Dijkstra states:
The solution given above is to be preferred to the solution by L.R. Ford [3 ] as
described by C. Berge [4 ], for, irrespective of the number of branches, we need
not store the data for all branches simultaneously but only those for the branches
in sets I and II, and this number is always less than n. Furthermore, the amount
of work to be done seems to be considerably less.
(Dijkstras references [3] and [4] are Ford [1956] and Berge [1958b].)
Dijkstras method is easier to implement (as an O(n2 ) algorithm) than Dantzigs,
since we need not store the information in lists: in order to find v
X minimizing
d(v ) we can just scan all vertices that are not in X.
Whiting and Hillier [1960] described the same method as Dijkstra.
Heaps
time O(m log n) and O(n1+ + m) (for each > 0) (published in D.B. Johnson
[1977a]). Tarjan [1983] observed that taking d := m/n gives O(m logm/n n). Next,
Fredman and Tarjan [1984,1987] showed that Fibonacci heaps give O(m + n log n).
Negative lengths
Ford and Fulkerson [1962] seem to be the first to observe that the Bellman-Ford
method also works for arbitrary lengths as long as each directed circuit has non-
negative length. It is also implicit in the paper of Iri [1960].
Pollack [1960] modified the shortest path algorithm so as to obtain a path with
maximum capacity (the capacity of a path is equal to the minimum of the capacities
of the arcs in the path). Related work was done by Amara, Lindgren, and Pollack
[1961].
Berge and Ghouila-Houri [1962] and Dantzig [1963] proposed to speed up Dijkstras
method by fanning out at both ends simultaneously. Berge and Ghouila-Houri [1962]
proposed to stop as soon as a vertex is permanently labeled from both ends; how-
ever, one may see that this need not yield a shortest path.
Dantzig [1963] proposed to add an arc (s, v) with length d(s, v) as soon as v is
permanently labeled when fanning out from s, and similarly add an arc (w, t) with
length d(w, t) if a vertex w is labeled permanently when fanning out from t:
The algorithm terminates whenever the fan of one of the problems reaches its
terminal in the other.
Chapter 9
Disjoint paths
Having done with shortest paths, we now arrive at disjoint paths. We con-
sider disjoint st paths, where s and t are the same for all paths. The more
general problem where we prescribe for each path a (possibly dierent) pair
of ends, will be discussed in Part VII.
Mengers theorem equates the maximum number of disjoint s t paths to
the minimum size of a cut separating s and t. There are several variants
of Mengers theorem, all about equivalent: undirected, directed, vertex-
disjoint, arc- or edge-disjoint. The meaning of cut varies accordingly.
Next to Mengers min-max relation, we consider the algorithmic side of
disjoint s t paths. This will be an extract from the related maximum flow
algorithms to be discussed in the next chapter. (Maximum integer flow can
be viewed as the capacitated version of disjoint s t paths.)
Menger [1927] gave a min-max theorem for the maximum number of disjoint
S T paths in an undirected graph. It was observed by Gr unwald [1938]
(= T. Gallai) that the theorem also holds for directed graphs. We follow the
proof given by G oring [2000].
Recall that a path is an S T path if it runs from a vertex in S to a
vertex in T . A set C of vertices is called S T disconnecting if C intersects
each S T path (C may intersect S T ).
Proof. Obviously, the maximum does not exceed the minimum. Equality is
shown by induction on |A|, the case A = being trivial.
Let k be the minimum size of an S T disconnecting vertex set. Choose
a = (u, v) A. If each S T disconnecting vertex set in D a has size at
least k, then inductively there exist k vertex-disjoint S T paths in D a,
hence in D.
132 Chapter 9. Disjoint paths
In turn, Theorem 9.1 follows from Corollary 9.1a by adding two new
vertices s and t and arcs (s, v) for all v S and (v, t) for all v T .
Also an arc-disjoint version can be derived (where paths are arc-disjoint
is they have no arc in common). This version was first formulated by Dantzig
and Fulkerson [1955,1956] for directed graphs and by Kotzig [1956] for undi-
rected graphs.
Recall that a set C of arcs is an s t cut if C = out (U ) for some subset
U of V with s U and t U .
The proof above of Theorem 9.1b was given by G oring [2000], which curtails the
proof of Pym [1969a], which by itself is a simplification of a proof of Dirac [1966].
The basic idea (decomposition into two subproblems determined by a minimum-size
cut) is due to Menger [1927], for the undirected vertex-disjoint version. (Mengers
original proof contains a hole, closed by K onig [1931] see Section 9.6e.)
Hajos [1934] gave a dierent proof for the undirected vertex-disjoint case, based
on intersections and unions of sets determining a cut. Also the proofs given in Nash-
Williams and Tutte [1977] are based on this. We give the first of their proofs.
Let G = (V, E) be an undirected graph and let s, t V . Suppose that the
minimum size of an s t vertex-cut is k. We show by induction on |E| that there
exist k vertex-disjoint s t paths.
The statement is trivial if each edge is incident with at least one of s and t. So
we can consider an edge e = xy incident with neither s nor t.
We can assume that G e has an s t vertex-cut C of size k 1 otherwise
the statement follows by induction. Similarly, we can assume that G/e has an s t
vertex-cut of size k 1 otherwise the statement follows by induction again.
Necessarily, this cut contains the new vertex obtained by contracting e. Hence G
has an s t vertex-cut C of size k containing both x and y.
Now let Cs be the set of vertices in C C that are reachable in G from s by
a path with no internal vertex in C C . Similarly, let Ct be the set of vertices in
C C that are reachable in G from t by a path with no internal vertex in C C .
Trivially, Cs and Ct are s t vertex-cuts, and Cs Ct C C . Moreover,
Cs Ct C C , since for any v Cs Ct there is an s t path P intersecting
C C only in v. As x, y C , P does not traverse edge e. Hence v C C .
Therefore,
(9.1) |Cs | + |Ct | |C| + |C | 2k 1,
contradicting the fact that Cs and Ct each have size at least k.
An augmenting path proof for the directed vertex-disjoint version was given by
Grunwald [1938] (= T. Gallai), and for the directed arc-disjoint version by Ford
and Fulkerson [1955,1957b] see Section 9.2. (ONeil [1978] gave a proof similar
to that of Gr
unwald [1938].)
More proof ideas were given by Halin [1964,1968,1989], Haj os [1967], McCuaig
[1984], and B
ohme, G oring, and Harant [2001].
134 Chapter 9. Disjoint paths
Proof. Apply the reduction described after Corollary 9.1b. In this case the
number of iterations is at most |V |.
Proof. Directly from the fact that the path P can be found in time O(m).
We also need the following. Let (D) denote the set of arcs contained in
at least one shortest s t path. Then:
Proof. It suces to show that (D) and (D) are invariant if we add a1
to D for one arc a (D). Suppose not. Then there is a directed s t path
P in A {a1 } traversing a1 , of length at most (D). As a (D), there
is an s t path Q traversing a, of length (D). Hence AP AQ \ {a, a1 }
contains an s t path of length less than (D), a contradiction.
Proof. Let D = (V, (D)). (Note that (D) can be identified in time O(m)
and that (V, (Df )) is acyclic.) By Theorem 9.4, we can find in time O(m)
Define:
a blocking collection P1 , . . . , Pl in D.
(9.6) D := (V, A (D)1 ) and D := D P1 Pl .
We show (D ) > (D). As D is a subgraph of D , we have (D )
(D ) = (D), by Theorem 9.5. Suppose that (D ) = (D ). Then (D )
(D ) = (D) (again by Theorem 9.5). Hence, as (D ) contains an st path
(of length (D )), (D) contains an s t path arc-disjoint from P1 , . . . , Pl .
This contradicts the fact that P1 , . . . , Pl is blocking in D.
Theorem 9.6. If (Di+1 ) > (Di ) for each i < k, then k 2|A|1/2 . If
moreover D is simple, then k 2|V |2/3 .
Hence there is an i p with |Ui |+|Ui+1 | 2|V |1/3 . This implies |Ui ||Ui+1 |
1 2 2/3
4 (|Ui | + |Ui+1 |) |V | . So Dp contains at most |V |2/3 arc-disjoint s t
paths. Therefore k p |V |2/3 , and hence k 2|V |2/3 .
This gives the following time bounds (Karzanov [1973a], Tarjan [1974e],
Even and Tarjan [1975]):
Proof. Let p := |V |1/2 . Then each st path in Dp has lengthpat least p+1.
Let Ui be the set of vertices at distance i from s in Di . Then i=1 |Ui | |V |.
This implies that |Ui | |V |1/2 for some i. Hence Di has at most |V |1/2 arc-
disjoint s t paths. So k + 1 p |V |1/2 . Hence k 2|V |1/2 .
In fact one can reduce n in this bound to the minimum number (D)
of vertices intersecting each arc of D (this bound will be used in deriving
bounds for bipartite matching (Theorem 16.5)):
For finding arc-disjoint s t paths we have the following survey of running time
bounds ( indicates an asymptotically best bound in the table):
continued
Nagamochi and Ibaraki [1992a] finding k arc-disjoint
O(k2 n)
paths
Nagamochi and Ibaraki [1992a] finding k arc-disjoint
O(kn5/3 )
paths
Nagamochi and Ibaraki [1992a] finding k arc-disjoint
O(kn2 )
paths; D simple
Nagamochi and Ibaraki [1992a] finding k arc-disjoint
O(k3/2 n3/2 )
paths; D simple
For undirected simple graphs, Goldberg and Rao [1997b,1999] gave an O(n3/2 m1/2 )
bound, and Karger and Levine [1998] gave (m + nk3/2 ) and O(nm2/3 k1/6 ) bounds,
where k is the number of paths.
For vertex-disjoint paths:
Gr
unwald [1938], Ford and Fulkerson [1955,
O(nm)
1957b]
Karzanov [1973a], Tarjan [1974e], Even and
O( n m)
Tarjan [1975]
O( n m logn (n2 /m)) Feder and Motwani [1991,1995]
Nagamochi and Ibaraki [1992a] finding k
O(k2 n)
vertex-disjoint paths
Nagamochi and Ibaraki [1992a] finding k
O(kn3/2 )
vertex-disjoint paths
continued
O(n log n) Weihe [1994b,1997b]
O(n) Brandes and Wagner [1997]
Orlova and Dorfman [1972] and Hadlock [1975] showed, with matching theory, that
in planar undirected graphs also a maximum-size cut can be found in polynomial-
time (Barahona [1990] gave an O(n3/2 log n) time bound) see Section 29.1. Karp
[1972b] showed that in general finding a maximum-size cut is NP-complete see
Section 75.1a.
For any digraph D = (V, A) and any B A, call two paths disjoint on B if they
have no common arc in B. One may derive from Mengers theorem a more general
min-max relation for such partially disjoint paths:
The construction given in this proof can also be used algorithmically, but making
|A| parallel arcs takes (m2 ) time. However, one can prove:
Disjoint paths have a number of exchange properties that imply a certain matroidal
structure (cf. Section 39.4).
Let D = (V, A) be a directed graph and let X, Y V . Call X linked to Y
if |X| = |Y | and D has |X| vertex-disjoint X Y paths. Note that the following
Section 9.6d. Further notes 141
theorem follows directly from the algorithm for finding a maximum set of disjoint
paths (since any vertex in S T , once covered by the disjoint paths, remains covered
during the further iterations):
The following result, due to Perfect [1968], says that for two distinct maximum
packings P, Q of S T paths there exists a maximum packing of S T paths whose
starting vertices are equal to those of P and whose end vertices are equal to those
of Q.
Other proofs of this corollary were given by Pym [1969b,1969c], Brualdi and
Pym [1971], and McDiarmid [1975b].
Lovasz, Neumann-Lara, and Plummer [1978] proved the following on the maximum
number of disjoint paths of bounded length. Let G = (V, E) be an undirected
graph, let s and t be two distinct and nonadjacent vertices, and let k 2. Then the
minimum number of vertices (= s, t) intersecting all s t paths of length at most
k is at most 21 k times the maximum number of internally vertex-disjoint s t
paths each of length at most k. (A counterexample to a conjecture on this raised by
Lovasz, Neumann-Lara, and Plummer [1978] was given by Boyles and Exoo [1982].
Related results are given by Galil and Yu [1995].)
On the other hand, when taking lower bounds on the path lengths, Montejano
and Neumann-Lara [1984] showed that, in a directed graph, the minimum number
142 Chapter 9. Disjoint paths
The topologist Karl Menger published his theorem in an article called Zur allge-
meinen Kurventheorie (On the general theory of curves) (Menger [1927]) in the
following form:
Satz . Ist K ein kompakter regul
ar-eindimensionaler Raum, welcher zwischen
den beiden endlichen Mengen P und Q n-punktig zusammenh angend ist, dann
enth
alt K n paarweise fremde Bogen, von denen jeder einen Punkt von P und
einen Punkt von Q verbindet.5
Eines der wichtigsten Probleme der Kurventheorie ist die Frage nach den Bezie-
hungen zwischen der Ordnungszahl eines Punktes der regul aren Kurve K und
der Anzahl der im betreenden Punkt zusammenstossenden und sonst fremden
ogen von K.6
Teilb
In fact, Menger used Satz to show that if a point in a regular curve K has
order n, then there exists a topological n-leg with p as top; that is, K contains n
arcs P1 , . . . , Pn such that Pi Pj = {p} for all i, j with i = j.
The proof idea is as follows. There exists a series N1 N2 of open
neighbourhoods of p such that N1 N2 = {p} and |bd(Ni )| = n for all
i = 1, 2, . . . and such that
(9.8) |bd(N )| n for each neighbourhood N N1 .
This follows quite directly from the definition of order.
Now Menger showed that we may assume that the space Gi := Ni \ Ni+1 is a
(topological) graph. For each i, let Qi := bd(Ni ). Then (9.8) gives with Mengers
theorem that there exist n disjoint paths Pi,1 , . . . , Pi,n in G such that each Pi,j runs
from Qi to Qi+1 . Properly connecting these paths for i = 1, 2, . . . we obtain n arcs
forming the required n-leg.
It was however noticed by K onig [1932] that Mengers proof of Satz is in-
complete. Menger applied induction on |E|, where E is the edge set of the graph G.
Menger first claimed that one easily shows that |E| n, and that if |E| = n, then
G consists of n disjoint edges connecting P and Q. He stated that if |E| > n, then
there exists a vertex s P Q, or in his words (where the Grad denotes |E|):
Wir nehmen also an, der irreduzibel n-punktig zusammenh angende Raum K
besitze den Grad g(> n). Oenbar enthalt dann K ein punktf
ormiges St
uck s,
welches in der Menge P + Q nicht enthalten ist.7
P
aros k
orulj
ar
as
u graphban az eleket kimert
o sz
ogpontok minimalis sz
ama meg-
egyezik a p
aronkent k
oz
os v
egpontot nem tartalmaz oelek maximalis sz aval.8
am
In other words, in a bipartite graph G = (V, E), the maximum size of a matching
is equal to the minimum number of vertices needed to cover all edges, which is
Konigs matching theorem see Theorem 16.2.
Konig did not mention in his 1931 paper that this result provided the missing
element in Mengers proof, although he finishes with:
Megemltj
uk v
egul, hogy eredmenyeink szorosan
osszef
uggnek Frobeniusnak de-
terminansokra
es Mengernek graphokra vonatkoz o n
emely vizsg
alat
aval. E kapc-
solatokra masutt fogunk kiterjeszkedni.9
Elsewhere is K
onig [1932], in which paper he gave a full proof of Mengers
theorem. The hole in Mengers original proof is discussed in a footnote:
Der Beweis von Menger enth alt eine L
ucke, da es vorausgesetzt wird (S. 102, Zeile
34) da ,,K ein punktf
ormiges Stuck s enthalt, welches in der Menge P +Q nicht
enthalten ist, wahrend es recht wohl m oglich ist, da mit der hier gew ahlten
Bezeichnungsweise ausgedr ucktjeder Knotenpunkt von G zu H1 + H2 geh ort.
Dieserkeineswegs einfacherFall wurde in unserer Darstellung durch den Be-
weis des Satzes 13 erledigt. Die weiterenhier folgendenUberlegungen, die uns
zum Mengerschen Satz f uhren werden, stimmen im Wesentlichen mit demsehr
kurz gefatenBeweis von Menger u berein. In Anbetracht der Allgemeinheit
und Wichtigkeit des Mengerschen Satzes wird im Folgenden auch dieser Teil ganz
ausf
uhrlich und den Forderungen der rein-kombinatorischen Graphentheorie ent-
sprechend dargestellt.
[Zusatz bei der Korrektur, 10.V.1933] Herr Menger hat die Freundlichkeit
gehabtnachdem ich ihm die Korrektur meiner vorliegenden Arbeit zugeschickt
habemir mitzuteilen, da ihm die oben beanstandete L ucke seines Beweises
schon bekannt war, da jedoch sein vor Kurzem erschienenes Buch Kurventhe-
orie (Leipzig, 1932) einen vollkommen l uckenlosen und rein kombinatorischen
Beweis des Mengerschen Satzes (des n-Kettensatzes) enth alt. Mir blieb dieser
Beweis bis jetzt unbekannt.10
8 In an even circuit graph, the minimal number of vertices that exhaust the edges agrees
with the maximal number of edges that pairwise do not contain any common end point.
9 We finally mention that our results are closely connected to some investigations of
Frobenius on determinants and of Menger on graphs. We will enlarge on these con-
nections elsewhere.
10 The proof of Menger contains a hole, as it is assumed (page 102, line 34) that K
contains a point-shaped piece s that is not contained in the set P + Q, while it is quite
well possible thatexpressed in the notation chosen hereevery node of G belongs to
H1 + H2 . Thisby no means simplecase is settled in our presentation by the proof
of Theorem 13. The further arguments following here that will lead us to Mengers
theorem, agree essentially with thevery briefly couchedproof of Menger. In view of
the generality and the importance of Mengers theorem, also this part is exhibited in the
following very extensively and conforming to the progress of the purely combinatorial
graph theory.
[Added in proof, 10 May 1933] Mr. Menger has had the kindnessafter I have sent
him the galley proofs of my present workto inform me that the hole in his proof
objected above, was known to him already, but that his, recently appeared, book Kur-
ventheorie (Leipzig, 1932) contains a completely holeless and purely combinatorial proof
of the Menger theorem (the n-chain theorem). As yet, this proof remained unknown
to me.
Section 9.6e. Historical notes on Mengers theorem 145
In his book Theorie der endlichen und unendlichen Graphen (Theory of finite
and infinite graphs), K
onig [1936] called his theorem ein wichtiger Satz (an impor-
tant theorem), and he emphasized the chronological order of the proofs of Mengers
theorem and of K onigs theorem (which is implied by Mengers theorem):
Ich habe diesen Satz 1931 ausgesprochen und bewiesen, s. K onig [9 und 11].
1932 erschien dann der erste l uckenlose Beweis des Mengerschen Graphensatzes,
von dem in 4 die Rede sein wird und welcher als eine Verallgemeinerung dieses
Satzes 13 (falls dieser nur f
ur endliche Graphen formuliert wird) angesehen wer-
den kann.12
Related work
In a paper presented 7 May 1927 to the American Mathematical Society, Rutt [1927,
1929] gave the following variant of Mengers theorem, suggested by J.R. Kline. Let
G = (V, E) be a planar graph and let s, t V . Then the maximum number of
internally vertex-disjoint s t paths is equal to the minimum number of vertices in
V \ {s, t} intersecting each s t path.
11 On the n-chain theorem for graphs and the method used in the foregoing for the proof,
compare Menger (Fund. Math. 10, 1927, p. 101 .). The detailed elaboration and ex-
planation above originates from N obeling.
12 I have enunciated and proved this theorem in 1931, see K
onig [9 and 11]. Next, in 1932,
the first holeless proof of the Menger theorem appeared, of which will be spoken in 4
and which can be considered as a generalization of this Theorem 13 (in case this is
formulated only for finite graphs).
146 Chapter 9. Disjoint paths
In fact, the theorem follows quite easily from Mengers version of his theorem by
deleting s and t and taking for P and Q the sets of neighbours of s and t respectively.
(Rutt referred to Menger and gave an independent proof of the theorem.)
This construction was also observed by Knaster [1930] who showed that
Mengers theorem would follow from Rutts theorem for general (not necessarily
planar) graphs. A similar theorem was published by N obeling [1932], using Mengers
result.
A result implied by Mengers theorem was presented by Whitney [1932a] on
28 February 1931 to the American Mathematical Society: a graph is n-connected
if and only if any two vertices are connected by n internally disjoint paths. While
referring to the papers of Menger and Rutt, Whitney gave a direct proof. K onig
[1932] remarked on Whitneys theorem:
Das interessante Hauptresultat einer Abhandlung von Whitney [10], n amlich
sein Theorem 7, folgt unmittelbar aus diesem Mengerschen Satz, jedoch, wie es
scheint, nicht umgekehrt.13
In the 1930s, other proofs of Mengers theorem were given by Hajos [1934] and
Grunwald [1938] (= T. Gallai) the latter paper gives an essentially algorithmic
proof based on augmenting paths, and it observes, in a footnote, that the theorem
also holds for directed graphs:
Die ganze Betrachtung l asst sich auch bei orientierten Graphen durchf
uhren und
liefert dann eine Verallgemeinerung des Mengerschen Satzes.14
In Theorems 33 and 34 of the dissertation, methods are developed for the proof
of Theorem 35. The method is to consider a minimal graph satisfying the cut
condition, and next to orient it so as to make a directed graph in which each vertex
w (except u and v) has indegree = outdegree, while u has outdegree k and indegree
0. This then yields the required paths.
Although the dissertation has several references to K
onigs book, which contains
the undirected vertex-disjoint version of Mengers theorem, Kotzig did not link his
13 The interesting main result of an article of Whitney [10], namely his Theorem 7, follows
immediately from this theorem of Menger, however, as it seems, not conversely.
14 The whole argument lets itself carry out also for oriented graphs and then yields a
generalization of Mengers theorem.
15 Theorem 35. Let G be an arbitrary graph containing vertices u = v for which G (u, v) =
k > 0, then there exists a system of paths {C1 , C2 , . . . , Ck } such that each path connects
vertices u, v and no two distinct paths have an edge in common. Such a system of paths
in G exists only if G (u, v) k.
Section 9.6e. Historical notes on Mengers theorem 147
result to that of Menger. (Kotzig [1961a] gave a proof of the directed arc-disjoint
version of Mengers theorem, without reference to Menger.)
We refer to the historical notes on maximum flows in Section 10.8e for further
notes on the work of Dantzig, Ford, and Fulkerson on Mengers theorem.
Chapter 10
Maximum flow
The following theorem was proved by Ford and Fulkerson [1954,1956b] for the
undirected case and by Dantzig and Fulkerson [1955,1956] for the directed
case. (According to Robacker [1955a], the max-flow min-cut theorem was
conjectured first by D.R. Fulkerson.)
Proof. Directly from the proof of the max-flow min-cut theorem, where we
can take = 1.
Theorem 10.4. If all capacities c(a) are rational, the algorithm terminates.
Proof. If all capacities are rational, there exists a natural number K such
that Kc(a) is an integer for each a A. (We can take for K the l.c.m. of the
denominators of the c(a).)
Then in the flow-augmenting iterations, every fi (a) and every is a mul-
tiple of 1/K. So at each iteration, the flow value increases by at least 1/K.
Since the flow value cannot exceed c( out ({s})), there are only finitely many
iterations.
Ford and Fulkerson [1962] showed that Theorem 10.4 is not maintained if we allow
arbitrary real-valued capacities. The example is as follows.
Let D = (V, A) be the complete directed graph on 8 vertices, with s, t V . Let
A0 = {a1 , a2 , a3 } consist of three disjoint arcs of D, each disjoint
from s and t. Let
r be the positive root of r2 + r 1 = 0; that is, r = (1 + 5)/2 < 1. Define a
capacity function c on A by
(10.13) c(a1 ) := 1, c(a2 ) := 1, c(a3 ) := r,
and c(a) at least
1
(10.14) q := = 1 + r + r2 +
1r
for each a A \ A0 . Apply the flow-augmenting algorithm iteratively as follows.
In step 0, choose, as flow-augmenting path, the s t path of length 3 traversing
a1 . After this step, the flow f satisfies, for k = 1:
(10.15) (i) f has value 1 + r + r2 + + rk1 ,
(ii) {c(a) f (a) | a A0 } = {0, rk1 , rk },
(iii) f (a) 1 + r + r2 + + rk1 for each a A.
We describe the further steps. In each step k, for k 1, the input flow f
satisfies (10.15). Choose a flow-augmenting path P in Df that contains the arc
a A0 satisfying c(a) f (a) = 0 in backward direction, and the other two arcs in
A0 in forward direction; all other arcs of P are arcs of D in forward direction. Since
rk < rk1 , and since (1 + r + + rk1 ) + rk < q, the flow augmentation increases
the flow value by rk . Since rk1 rk = rk+1 , the new flow satisfies (10.15) with k
replaced by k + 1.
Section 10.5. A strongly polynomial bound on the number of iterations 153
We can keep iterating this, making the flow value converge to 1+r+r2 +r3 + =
q. So the algorithm does not terminate, and the flow value does not converge to the
optimum value, since, trivially, the maximum flow value is more than q.
(Zwick [1995] gave the smallest directed graph (with 6 vertices and 8 arcs) for
which the algorithm (with irrational capacities) need not terminate.)
10k 10k
s 1 t
10k 10k
Figure 10.1
Since a shortest path can be found in time O(m) (Theorem 6.3), this
gives:
Karzanov [1974] gave a faster algorithm to find a blocking flow, thus speeding up
the maximum flow algorithm. We give the short proof of Malhotra, Kumar, and
Maheshwari [1978] (see also Cherkasski [1979] and Tarjan [1984]).
Theorem 10.7 improves the running time for finding a maximum flow as follows:
Theorem 10.8. The number of pushes is O(n3 ) and the number of relabels
is O(n2 ).
Proof. We order the vertex set V as a doubly linked list, in order of increasing
value p(v). Moreover, for each u V we keep the set Lu of arcs (u, v) in Af
with p(v) = p(u) 1, ordered as a doubly linked list. We also keep with each
vertex v the value excessf (v), and we keep linked lists of arcs of D incident
with v.
Throughout the iterations, we choose an active vertex u maximizing p(u),
and we process u, until u becomes inactive. Between any two relabelings,
this searching takes O(n) time, since as long as we do not relabel, we can
continue searching the list V in order. As we relabel O(n2 ) times, we can do
the searching in O(n3 ) time.
Suppose that we have found an active vertex u maximizing p(u). We next
push over each of the arcs in Lu . So finding an arc a = (u, v) for pushing
takes time O(1). If it is a saturating push, we can delete (u, v) from Lu in
time O(1). Moreover, we can update excessf (u) and excessf (v) in time O(1).
Therefore, as there are O(n3 ) pushes, they can be done in O(n3 ) time.
We decide to relabel u if Lu = . When relabeling, updating the lists
takes O(n) time: When we reset p(u) from i to i + 1, then for each arc (u, v)
or (v, u) of D, we add (u, v) to Lu if p(v) = i and (u, v) Af , and we remove
(v, u) from Lv if p(v) = i + 1 and (v, u) Af ; moreover, we move u to its new
rank in the list V . This all takes O(n) time. Therefore, as there are O(n2 )
relabels, they can be done in O(n3 ) time.
O(n2 ) on the number of relabels and O(nm) on the number of saturating pushes
are maintained, while the number of nonsaturating pushes is O(n2 m).
A first-in first-out selection rule was studied by Goldberg [1985], also yield-
ing an O(n3 ) algorithm. Theorem 10.9 (using the largest-label selection) is due
to Goldberg and Tarjan [1986,1988a], who also showed an implementation of the
push-relabel method with dynamic trees, taking O(nm log(n2 /m)) time. Cheriyan
and Maheshwari [1989] and Tuncel [1994] showed that the bound on the number
of pushes in Theorem 10.8 can be improved to O(n2 m), yielding an O(n2 m)
running time bound. Further improvements are given in Ahuja and Orlin [1989]
and Ahuja, Orlin, and Tarjan [1989]. The worst-case behaviour of the push-relabel
method was studied by Cheriyan and Maheshwari [1989].
Edmonds and Karp [1972] considered the following fattest augmenting path rule:
choose a flow-augmenting path for which the flow value increase is maximal. They
showed that, if all capacities are integer, it terminates in at most 1 + m log
iterations, where is the maximum flow value and where m is the maximum
number of arcs in any s t cut. This gives a maximum flow algorithm of running
time O(n2 m log nC), where C is the maximum capacity (assuming all capacities
are integer). (For irrational capacities, Queyranne [1980] showed that the method
need not terminate.)
Edmonds and Karp [1970,1972] and Dinits [1973a] introduced the idea of
capacity-scaling, which gives the following stronger running time bound:
Theorem 10.10. For integer capacities, a maximum flow can be found in time
O(m2 log C).
Proof. Let L := log2 C+1. For i = L, L1, . . . , 0, we can obtain a maximum flow
f for capacity function c := c/2i , from a maximum flow f for capacity function
c := c/2i+1 as follows. Observe that the maximum flow value for c diers by
at most m from that of the maximum flow value for 2c . For let out (U ) be a
cut with 2c ( out (U )) = . Then c ( out (U )) | out (U )| m. So a maximum
flow with respect to c can be obtained from 2f by at most m augmenting path
iterations. As each augmenting path iteration can be done in O(m) time, and as
c/2L = 0, we have the running time bound given.
With methods similar to those used in Corollary 10.6a, the bound in Theorem
10.10 can be improved to O(nm log C), a result of Dinits [1973a] and Gabow [1985b].
To see this, observe that the proof of Theorem 10.6 also yields:
Proof. Consider the proof of Theorem 10.6. We do at most iterations, while each
iteration takes O(n + t) time, where t is the number of arcs deleted.
Corollary 10.11a. For integer capacities, a maximum flow can be found in time
O(n( + m)), where is the maximum flow value.
Therefore,
Corollary 10.11b. For integer capacities, a maximum flow can be found in time
O(nm log C).
Proof. In the proof of Theorem 10.10, a maximum flow with respect to c can be
obtained from 2f in time O(nm) (by Corollary 10.11a), since the maximum flow
value in the residual graph Df is at most m.
continued
Sleator [1980], Sleator and Tarjan
O(nm log n)
[1981,1983a] dynamic trees
Goldberg and Tarjan [1986,1988a]
O(nm log(n2 /m))
push-relabel+dynamic trees
Ahuja and Orlin [1989] push-relabel +
O(nm + n2 log C)
excess scaling
Ahuja, Orlin, and Tarjan [1989]
O(nm + n2 log C)
Ahuja-Orlin improved
Ahuja, Orlin, and Tarjan [1989]
O(nm log((n/m) log C + 2))
Ahuja-Orlin improved + dynamic trees
Cheriyan, Hagerup, and Mehlhorn
O(n3 / log n)
[1990,1996]
Alon [1990] (derandomization of
O(n(m + n5/3 log n))
Cheriyan and Hagerup [1989,1995])
(for each > 0) King, Rao, and Tarjan
O(nm + n2+ )
[1992]
(for each > 0) Phillips and
O(nm logm/n n + n2 log2+ n)
Westbrook [1993,1998]
O(nm log m n) King, Rao, and Tarjan [1994]
n log n
Here C := c for integer capacity function c. For a complexity survey for unit
capacities, see Section 9.6a.
Research problem: Is there an O(nm)-time maximum flow algorithm?
For the special case of planar undirected graphs:
Itai and Shiloach [1979] and Hassin [1981b] showed that if s and t both are on
the outer boundary, then a shortest path algorithm applied to the dual gives an
O(n log n) algorithm for finding a minimum-capacity st cut and a maximum-value
s t flow, also for the directed case. This extends earlier work of Hu [1969].
Khuller, Naor, and Klein [1993] studied the lattice structure of the integer s t
flows in a planar directed graph. More on planar maximum flow can be found in
Khuller and Naor [1990,1994].
Dinits [1973b] and Minieka [1973] observed the following analogue of Theorem 9.12:
This was also shown by Megiddo [1974], who used it to prove the following.
Let D = (V, A) be a directed graph, let c : A R+ be a capacity function,
and let s, t V , where s is a source, and t is a sink. An s t flow f c is
called source-optimal if the vector (f (a) | a out (s)) is lexicographically maximal
among all s t flows subject to c (ordering the a out (s) by nonincreasing value
of f (a)). The maximum flow algorithm implies that a source-optimal s t flow is
a maximum-value s t flow.
One similarly defines sink-optimal, and Theorem 10.12 implies that there exists
an s t flow that is both source- and sink-optimal. The proof shows that this flow
can be found by combining a source-optimal and a sink-optimal flow appropriately.
As Megiddo showed, a source-optimal flow can be found iteratively, by updating
a flow f (starting with f = 0), by determining an arc a out (s) with f (a) = 0,
on which f (a) can be increased most. Making this increase, gives the next f . Stop
if no increase is possible anymore.
and Tardos [1993], Ahuja and Orlin [1997], Armstrong and Jin [1997], Goldfarb
and Chen [1997], Tarjan [1997], Armstrong, Chen, Goldfarb, and Jin [1998], and
Hochbaum [1998].
Worst-case analyses of maximum flow algorithms were given by Zadeh [1972,
1973b] (shortest augmenting path rule), Dinits [1973b] (shortest augmenting path
rule), Tarjan [1974e], Even and Tarjan [1975] (Dinits O(n2 m) algorithm), Baratz
[1977] (Karzanovs O(n3 ) algorithm), Galil [1981], Cheriyan [1988] (push-relabel
method), Cheriyan and Maheshwari [1989] (push-relabel method), and Martel
[1989] (push-relabel method). For further analysis of maximum flow algorithms,
see Tucker [1977a] and Ahuja and Orlin [1991].
Computational studies were reported by Cherkasski [1979], Glover, Kling-
man, Mote, and Whitman [1979,1980,1984], Hamacher [1979] (Karzanovs method),
Cheung [1980], Imai [1983b], Goldfarb and Grigoriadis [1988] (Dinits method
and the simplex method), Derigs and Meier [1989] (push-relabel method), Al-
izadeh and Goldberg [1993] (push-relabel in parallel), Anderson and Setubal [1993]
(push-relabel), Gallo and Scutell`
a [1993], Nguyen and Venkateswaran [1993] (push-
relabel), and Cherkassky and Goldberg [1995,1997] (push-relabel method). Consult
also Johnson and McGeoch [1993].
A probabilistic analysis was presented by Karp, Motwani, and Nisan [1993]. A
randomized approximation algorithm for minimum s t cut was given by Bencz ur
and Karger [1996].
Fulkerson [1959b] gave a labeling algorithm for finding the minimum cost of
capacities to be added to make an s t flow of given value possible. Wollmer
[1964] studied which k arcs to remove from a capacitated digraph so as to reduce
the maximum s t flow value as much as possible. McCormick [1997] studied the
problem of computing least infeasible flows. Akers [1960] described the eect of
Y operations on max-flow computations.
Ponstein [1972] gave another rule guaranteeing termination of the augmenting
path iterations in Ford and Fulkersons algorithm. Karp [1972b] showed that the
maximum-cut problem is NP-complete see Section 75.1a. Work on flows with
small capacities was reported by Fern andez-Baca and Martel [1989] and Ahuja and
Orlin [1991]. Decomposition algorithms for locating minimal cuts were studied by
Jarvis and Tufekci [1982]. The kth best cut algorithm was given by Hamacher
[1982].
The problem of determining a flow along odd paths in an undirected graph was
considered by Schrijver and Seymour [1994] see Section 29.11e.
For an in-depth survey of network flows, see Ahuja, Magnanti, and Orlin [1993].
Other surveys were given by Ford and Fulkerson [1962], Dantzig [1963], Busacker
and Saaty [1965], Fulkerson [1966], Hu [1969,1982], Iri [1969], Frank and Frisch
[1971], Berge [1973b], Adelson-Velski, Dinits, and Karzanov [1975] (for a review,
see Goldberg and Gusfield [1991]), Christofides [1975], Lawler [1976b], Bazaraa and
Jarvis [1977], Minieka [1978], Even [1979], Jensen and Barnes [1980], Papadimitriou
and Steiglitz [1982], Smith [1982], Chv atal [1983], Syslo, Deo, and Kowalik [1983],
Tarjan [1983], Gondran and Minoux [1984], Rockafellar [1984], Tarjan [1986], Nem-
hauser and Wolsey [1988], Ahuja, Magnanti, and Orlin [1989,1991], Chen [1990],
Cormen, Leiserson, and Rivest [1990], Goldberg, Tardos, and Tarjan [1990], Frank
[1995], Cook, Cunningham, Pulleyblank, and Schrijver [1998], Jungnickel [1999],
Mehlhorn and N aher [1999], and Korte and Vygen [2000].
164 Chapter 10. Maximum flow
Golden and Magnanti [1977] gave a bibliography and Slepian [1968] discussed
the algebraic theory of flows.
Boldyres heuristic
While the maximum flow algorithms found so far were derived from the simplex
method, the quest for combinatorial methods remained vivid. A heuristic for the
maximum flow problem, the flooding technique, was presented by Boldyre [1955c,
1955b] on 3 June 1955 at the New York meeting of the Operations Research Society
of America (published as a RAND Report of 5 August 1955 (Boldyre [1955a])).
The method is intuitive and the author did not claim generality (we quote from
Boldyre [1955b]):
Section 10.8e. Historical notes on maximum flow 165
Boldyre speculates:
In dealing with the usual railway networks a single flooding, followed by removal
of bottlenecks, should lead to a maximal flow.
In his article, Boldyre [1955b] gave as example the model of a real, comprehensive,
railway transportation system with 41 vertices and 85 arcs:
The total time of solving the problem is less than thirty minutes.
In their first report on maximum flow, Maximal Flow through a Network, Ford and
Fulkerson [1954,1956b] mentioned that the maximum flow problem was formulated
by T.E. Harris as follows:
Consider a rail network connecting two cities by way of a number of intermediate
cities, where each link of the network has a number assigned to it representing its
capacity. Assuming a steady state condition, find a maximal flow from one given
city to the other.
Later, in their book Flows in Networks, Ford and Fulkerson [1962] gave a more
precise reference17 :
It was posed to the authors in the spring of 1955 by T.E. Harris, who, in conjunc-
tion with General F.S. Ross (Ret.), had formulated a simplified model of railway
trac flow, and pinpointed this particular problem as the central one suggested
by the model [11].
Ford and Fulkersons reference [11] here is the secret report by Harris and Ross
[1955] entitled Fundamentals of a Method for Evaluating Rail Net Capacities, dated
24 October 195518 , and written for the Air Force. The report was downgraded to
unclassified on 21 May 1999.
Unlike what Ford and Fulkerson write, the interest of Harris and Ross was not
to find a maximum flow, but rather a minimum cut (interdiction) of the Soviet
railway system. We quote:
Air power is an eective means of interdicting an enemys rail system, and such
usage is a logical and important mission for this Arm.
As in many military operations, however, the success of interdiction depends
largely on how complete, accurate, and timely is the commanders information,
particularly concerning the eect of his interdiction-program eorts on the en-
emys capability to move men and supplies. This information should be available
at the time the results are being achieved.
The present paper describes the fundamentals of a method intended to help the
specialist who is engaged in estimating railway capabilities, so that he might more
readily accomplish this purpose and thus assist the commander and his sta with
greater eciency than is possible at present.
sort of node. But Ross realized that, in the region we were studying, the divi-
sions (little administrative districts) should be the nodes. The link between two
adjacent nodes represents the total transportation capacity between them. This
made a reasonable and manageable model for our rail system.
The Harris-Ross report stresses that specialists remain needed to make up the
model (which seems always a good strategy to get new methods accepted):
It is not the purpose that the highly specialized individual who estimates track
and network capacities should be replaced by a novice with a calculating machine.
Rather, it is accepted that the evaluation of track capacities remains a task for
the specialist.
[...]
The ability to estimate with relative accuracy the capacity of single railway lines
is largely an art. Specialists in this field have no authoritative text (insofar as the
authors are informed) to guide their eorts, and very few individuals have either
the experience or talent for this type of work. The authors assume that this job
will continue to be done by the specialist.
The authors next disputed the naive belief that a railway network is just a set of
disjoint through lines, and that cutting these lines would imply cutting the network:
It is even more dicult and time-consuming to evaluate the capacity of a railway
network comprising a multitude of rail lines which have widely varying charac-
teristics. Practices among individuals engaged in this field vary considerably, but
all consume a great deal of time. Most, if not all, specialists attack the problem
by viewing the railway network as an aggregate of through lines.
The authors contend that the foregoing practice does not portray the full flexi-
bility of a large network. In particular it tends to gloss over the fact that even if
every one of a set of independent through lines is made inoperative, there may
exist alternative routings which can still move the trac.
This paper proposes a method that departs from present practices in that it
views the network as an aggregate of railway operating divisions. All trackage
capacities within the divisions are appraised, and these appraisals form the basis
for estimating the capability of railway operating divisions to receive trains from
and concurrently pass trains to each neighboring division in 24-hour periods.
Whereas experts are needed to set up the model, to solve it is routine (when having
the work sheets):
The foregoing appraisal (accomplished by the expert) is then used in the prepara-
tion of comparatively simple work sheets that will enable relatively inexperienced
assistants to compute the results and thus help the expert to provide specific
answers to the problems, based on many assumptions, which may be propounded
to him.
While Ford and Fulkerson flow-augmenting path algorithm for the maximum
flow problem was not found yet, the Harris-Ross report suggests applying Boldyr-
es flooding technique described above. The authors preferred this above the sim-
plex method for maximum flow:
The calculation would be cumbersome; and, even if it could be performed, su-
ciently accurate data could not be obtained to justify such detail.
However, later in the report their assessment of the simplex method is more
favourable:
These methods do not require elaborate computations and can be performed by
a relatively untrained person.
168 Chapter 10. Maximum flow
Figure 10.2
From Harris and Ross [1955]: Schematic diagram of the railway network of the Western
Soviet Union and East European countries, with a maximum flow of value 163,000 tons
from Russia to Eastern Europe, and a cut of capacity 163,000 tons indicated as The
bottleneck.
Further developments
Soon after the Harris-Ross report, Ford and Fulkerson [1955,1957b] presented in a
RAND Report of 29 December 1955 their very simple algorithm for the maximum
flow problem, based on finding augmenting paths as described in Section 10.4
above. The algorithm finds in a finite number of steps a maximum flow, if all
capacities have integer values. We quote:
This problem is of course a linear programming problem, and hence may be solved
by Dantzigs simplex algorithm. In fact, the simplex computation for a problem of
this kind is particularly ecient, since it can be shown that the sets of equations
one solves in the process are always triangular [2]. However, for the flow problem,
we shall describe what appears to be a considerably more ecient algorithm; it is,
moreover, readily learned by a person with no special training, and may easily be
mechanized for handling large networks. We believe that problems involving more
than 500 nodes and 4,000 arcs are within reach of present computing machines.
The proof of Elias, Feinstein, and Shannon is based on a reduction technique similar
to that used by Menger [1927] in proving his theorem.
Chapter 11
Proof. We may assume that excessf = 0, since we can add a new ver-
tex u, for each v V with excessf (v) > 0, an arc (v, u), and for each
v V with excessf (v) < 0, an arc (u, v). Define f (v, u) := excessf (v) and
f (u, v) := excessf (v) for any new arc (u, v) or (v, u). Then the new f sat-
isfies excessf = 0, and a decomposition for the new f gives a decomposition
for the original f .
Define A := {a | f (a) > 0}. We apply induction on |A |. We may assume
that A = . Then A contains a directed circuit, C say. Let be the minimum
Section 11.2. Circulations 171
11.2. Circulations
Let D = (V, A) be a digraph. A function f : A R is called a circulation if
(11.2) f ( in (v)) = f ( out (v))
for each vertex v V . So now the flow conservation law holds in each vertex
v. By Theorem 11.1,
(11.3) each nonnegative circulation is a nonnegative linear combination
of incidence vectors of directed circuits; each nonnegative integer
circulation is the sum of incidence vectors of directed circuits.
Homan [1960] mentioned that he proved the following characterization
of the existence of circulations in 195619 :
contradicting (11.4).
(One can derive this theorem also from the max-flow min-cut theorem, with
the methods described in Section 11.6 below.)
Theorem 11.2 implies that any circulation can be rounded:
(Berge [1958b] wrote that this result was shown by Homan with linear
programming techniques, and was reduced to network theory by L.R. Ford,
Jr.)
Moreover, a min-max relation for the maximum value of a flow obeying
upper and lower bounds can be derived:
Proof. Let be the minimum value of (11.11). Add to D an arc (t, s),
with d(t, s) = c(t, s) = . Then the extended network has a circulation by
Theorem 11.2. Indeed, condition (11.4) for U not separating s and t follows
from (11.10). If s U , t U , (11.4) follows from the definition of . If s U ,
t U , then value(f ). Hence
(11.12) + c( out (U )) d( in (U )) + f ( out (U )) f ( in (U ))
= value(f ) 0.
Therefore, the original network has a flow as required.
11.4. b-transshipments
Let D = (V, A) be a digraph and let b RV . A function f : A R is
called a b-transshipment if excessf = b. (So each function f : A R is a
174 Chapter 11. Circulations and transshipments
Proof. Directly from Corollary 11.2i, since (11.15) can be split into a condi-
tion on a and one on b.
Add two new vertices s and t. For each v V with excessd (v) > 0, add an arc
(s, v) with capacity c (s, v) := excessd (v). For each v V with excessd (v) <
0, add an arc (v, t) with capacity c (v, t) := excessd (v). This makes the
extended graph D = (V , A ).
Then D has a circulation f satisfying d f c if and only if D has an
s t flow f c of value
(11.18) excessd (v)
vV
excessd (v) > 0
Theorem 11.3. If a maximum flow can be found in time MF(n, m), then a
circulation can be found in time O(MF(n, m)).
Corollary 11.3a. If a maximum flow can be found in time MF(n, m), then
(given a, b, d, c) a z-transshipment f satisfying d f c and a z b can
be found in time O(MF(n, m)).
Proof. Reduce the problem with the construction of Corollary 11.2i to the
circulation problem, and use Theorem 11.3.
The results on flows, circulations, and transshipments extend directly to the case
where also each vertex has an upper and/or lower bound on the amount of flow
traversing that vertex. We can reduce this to the cases considered above by splitting
any vertex v into two vertices v and v , adding an arc from v to v with bounds
equal to the vertex bounds, and replacing any arc (u, v) by (u , v ).
The results of this chapter also apply to characterizing the existence of a sub-
graph D = (V, A ) of a given graph D = (V, A), where D has prescribed bounds
on the indegrees and outdegrees (cf. Hakimi [1965]).
Chapter 12
Minimum-cost flows can be seen to generalize both shortest path and max-
imum flow. A shortest s t path can be deduced from a minimum-cost
s t flow of value 1, while a maximum s t flow is a minimum-cost s t
flow if we take cost 1 on arcs leaving s and 0 on all other arcs (assuming
no arc enters s).
Minimum-cost flows, circulations, and transshipments are closely related,
and when describing algorithms, we will choose the most suitable variant.
In this chapter, graphs can be assumed to be simple.
So cost(f ) cost(f ).
It is not dicult to see that for rational data this leads to a finite algorithm.
However, if we just select circuits in an arbitrary fashion, the algorithm
may take exponential time, as follows by application to the maximum flow
problem given in Figure 10.1 (by adding an arc from t to s of cost 1). Zadeh
[1973a,1973b] showed that several strategies of selecting a circuit do not lead
to a strongly polynomial-time algorithm.
Goldberg and Tarjan [1988b,1989] were able to prove that one obtains a
strongly polynomial-time algorithm if one chooses in (12.8) a directed circuit
C of minimum mean cost, that is, one minimizing
k(C)
(12.9) .
|C|
(We identify C with its set AC of arcs.) In Corollary 8.10a we saw that such
a circuit can be found in time O(nm).
Note that if we formulate a maximum s t flow problem as a minimum-
cost circulation problem, by adding an arc (t, s) of cost 1 and capacity
+, then the minimum-mean cost cycle-cancelling algorithm reduces to the
shortest augmenting path method of Dinits [1970] and Edmonds and Karp
[1972] (Section 10.5).
We now prove the result of Goldberg and Tarjan (as usual, n := |V |,
m := |A|):
each Ah arises from Ah1 by deleting at least one negative-cost arc and adding
only positive-cost arcs. This implies that Am contains no negative-cost arc,
and hence fm has minimum cost; so m = 0, contradicting our assumption.
Let h be the smallest index such that Ch contains an arc a with k(a) 0.
So all negative-cost arcs in Ch also belong to A0 , and hence have cost at least
0 . So k(Ch ) (|Ch | 1)0 and therefore h = k(Ch )/|Ch | (1 n1 )0 .
This proves (12.12).
Now define
(12.13) t := 2nmln n.
Then by (12.12)(ii):
1 2nln n
(12.14) t (1 ) 0 < 0 /2n,
n
since (1 n1 )n < e1 and e2 ln n = n2 2n 1
.
We finally show that for each i there exists an arc a in Ci such that a Ch
for each h i + t. Since |A A1 | = 2m, this implies that the number of
iterations is at most 4mt, as required.
To prove this, we may assume that i = 0 and that pt = 0. As k(C0 ) =
0 |C0 |, C0 contains an arc a0 with k(a0 ) 0 < 2nt . Without loss of
generality, a0 A.
Suppose that fh (a0 ) = ft (a0 ) for some h > t. Since k(a0 ) < 2nt t ,
we have that a0 At (by (12.11)). So ft (a0 ) = c(a0 ), and hence fh (a0 ) <
ft (a0 ). Then, by (11.3) applied to ft fh , Ah has a directed circuit C con-
taining a0 such that At contains C 1 . By (12.11), k(a) = k(a1 ) t for
each a C. This gives (using (12.12)(i)):
(12.15) k(C) = k(a0 ) + k(C \ {a0 }) < 2nt + (|C| 1)t nt
nh |C|h ,
contradicting the definition of h .
Proof. Directly from Theorem 12.2 and Corollary 8.10a. Note that if d and c
are integer and we start with an integer circulation f0 , all further circulations
obtained by (12.8) are integer.
Notes. Goldberg and Tarjan [1988b,1989] showed that, with the help of dynamic
trees, the running time of the minimum-mean cost cycle-cancelling method can be
improved to O(nm log n min{log(nK), m log n}), where K := k , assuming k to
be integer.
Weintraub [1974] showed that if we take always a directed circuit C in Df
such that, by resetting f to f + C as in (12.8), the cost decreases most, then
the number of iterations (12.8) is polynomially bounded. However, finding such
a circuit is NP-complete (finding a Hamiltonian circuit in a directed graph is a
special case). Weintraub [1974] also proposed a heuristic of finding a short (negative)
circuit by finding a minimum-cost set of vertex-disjoint circuits in Df (by solving
an assignment problem), and choosing the shortest among them. Barahona and
Tardos [1989] showed that this also leads to a (weakly) polynomial-time algorithm.
Proof. Extend D by a new vertex u and arcs (v, u) for each v V . Extend
d, c, and k by defining d(v, u) := a(v), c(v, u) := b(v) and k(v, u) := 0 for
each v V . By Corollary 12.2b, we can find a minimum-cost circulation x
with d x c in the extended digraph in strongly polynomial time. It gives
a b-transshipment in the original graph as required.
For later reference, we derive that also the dual problem (in the LP sense)
can be solved in strongly polynomial time. If M denotes V A incidence
matrix of D, problem (12.18) corresponds to the minimum in the LP-duality
equation:
(12.19) min{k T x | d x c, a M x b}
= max{y1T b y2T a + z1T d z2T c | y1 , y2 , z1 , z2 0,
(y1 y2 )T M + (z1 z2 )T = k T }.
The approach above consists of keeping a feasible circulation, and throughout im-
proving its cost. A dual approach can best be described in terms of b-transshipments:
we keep a b -transshipment f such that Df has no negative-cost directed circuits,
and improve b until b = b. This can be studied with the concept of extreme
function.
Let D = (V, A) be a digraph and let d, c, k : A R be given, the lower bound
function, the capacity function, and the cost function, respectively. Let f : A R
be such that d f c. We call f extreme if cost(f ) cost(f ) for each function f
satisfying d f c and excessf = excessf ; in other words, setting b := excessf ,
f is a minimum-cost b-transshipment subject to d f c. (excessf is defined in
Section 10.1.)
Note that the concept of extreme depends on k, d, and c. So it might be better
to define a function to be extreme with respect to k, d, and c. However, when
considering extreme functions f , the functions k, d, and c are generally fixed, or
follow from the context.
Again it will be useful to consider the residual graph Df = (V, Af ) of f (with
respect to d and c), where
184 Chapter 12. Minimum-cost flows and circulations
As for the algorithmic side, the following observation (Jewell [1958], Busacker
and Gowen [1960], Iri [1960]) is very useful in analyzing algorithms (This theorem
may properly be regarded as the central one concerning minimal cost flows Ford
and Fulkerson [1962]):
Theorem 12.5. In Theorem 12.4, if p is a potential for Df such that p(t) p(s) =
distk (s, t), then p is also a potential for Df .
Proof. Note that each iteration consists of finding a shortest path in Df . Simulta-
neously we can find a potential for Df satisfying p(t) p(s) = distk (s, t). Since by
Theorem 12.5, p is a potential also for Df , we can perform each iteration in time
SP+ (n, m, K).
186 Chapter 12. Minimum-cost flows and circulations
Theorem 12.7. The algorithm stops after at most n iterations of (12.27) and at
most O(n log n) iterations of (12.28).
Proof. Throughout the proof we assume n 2. We first observe that for each i:
Section 12.4b. A strongly polynomial-time algorithm using capacity-scaling 187
n1
(12.30) deffi+1 i ,
n
since otherwise we could have applied (12.28) to the final gi (= fi+1 ). This implies
that for each i:
(12.31) deffi 2i .
This is direct for i = 0. If i+1 = 21 i , then, by (12.30), deffi+1 n1
n
i i =
2i+1 . If i+1 < 21 i , then deffi+1 = T = i+1 2i+1 . This proves (12.31).
We next show, that, for any i:
(12.32) in the iterations (12.27) and (12.28), for any a Ai the value of gi (a)
remains more than 6ni .
In each iteration (12.27), for any arc a Ai , the value of gi (a) changes by at most
deffi , which is at most 2i (by (12.31)). For any fixed i, we apply (12.27) at
most n times. So the value of gi (a) on any arc a Ai changes by at most 2ni .
In the iterations (12.28), the value of gi (a) changes by at most 4ni . To see
this, consider the sum
(12.33) |defgi (v)|.
vV
n1
|defgi (v)| > n i
(as K is laminar cf. Theorem 3.5), (12.28) is applied at most 8n + 4n log2 (13n4 )
times in total.
Proof. Directly from Theorem 12.7, since any iteration (12.27) or (12.28) takes
O(m + n log n) time, using Fibonacci heaps (Corollary 7.7a) and maintaining a
potential as in Theorem 12.5.
Corollary 12.7b. A minimum-cost circulation can be found in time O(m log n(m+
n log n)).
Define b(ua ) := c(a) and b(va ) := c(a). Moreover, define a cost function k on
the arcs of D by k (u, ua ) := k(a), k (va , ua ) := 0, k (va , v) := 0 if k(a) 0, and
k (u, ua ) := 0, k (va , ua ) := k(a), k (va , v) := 0 if k(a) < 0. Then a minimum-cost
b-transshipment x 0 in D gives a minimum-cost b-transshipment x satisfying
0 x c in the original digraph D.
By Theorem 12.7, a minimum-cost b-transshipment x 0 in D can be found by
finding O(n log n) times a shortest path in a residual graph Dx . While this digraph
has 2m + n vertices, it can be reduced in O(m) time to finding a shortest path in
an auxiliary digraph with O(n) vertices only. Hence again it takes O(m + n log n)
time by using Fibonacci heaps (Corollary 7.7a) and maintaining a potential as in
Theorem 12.5.
continued
Goldberg and Tarjan [1987]
generalized cost-scaling; Goldberg
O(nm log n log(nK))
and Tarjan [1988b,1989]
minimum-mean cost cycle-cancelling
O(m log n SP+ (n, m, K)) Orlin [1988,1993]
Goldberg and Tarjan [1990]
O(nm log(n2 /m) log(nK))
generalized cost-scaling
Ahuja, Goldberg, Orlin, and Tarjan
O(nm log log C log(nK))
[1992] double scaling
circulations with lower bounds only
O(n log C(m + n log n))
Gabow and Tarjan [1989]
O((m3/2 C 1/2 + log ) log(nK)) Gabow and Tarjan [1989]
O((nm + log ) log(nK)) Gabow and Tarjan [1989]
Here K := k , C := c , and := c1 , for integer cost function k and integer
capacity function c. Moreover, SP+ (n, m, K) denotes the running time of any algo-
rithm finding a shortest path in a digraph with n vertices, m arcs, and nonnegative
integer length function l with K = l . Similarly, MF(n, m, C) denotes the run-
ning time of any algorithm finding a maximum flow in a digraph with n vertices,
m arcs, and nonnegative integer capacity function c with C = c .
Complexity survey for minimum-cost nonnegative transshipment:
From Corollary 12.1a, the following min-max equality for minimum-cost circulation
can be derived. The equality also follows directly from linear programming duality
and total unimodularity. Both approaches were considered by Gallai [1957,1958a,
1958b].
Proof. The minimum is not less than the maximum, since if f is any circulation
in D with d f c and y, z, p satisfy (12.52), then
(12.53) k(a)f (a) = (k(a)+p(u)p(v))f (a) = (y(a)z(a))f (a)
aA a=(u,v)A aA
(y(a)d(a) z(a)c(a)).
aA
A minimum-cost flow algorithm (in disguised form) was given by Ford and Fulkerson
[1958b]. They considered the following dynamic flow problem. Let D = (V, A) be
a digraph and let r, s V (for convenience we assume that r is a source and s is a
Section 12.5c. Dynamic flows 193
for each v V \ {r, s} and each t {1, . . . , T }. We maximize the amount of flow
reaching s not later than time T ; that is, we
T (a)
(12.59) maximize x(a, t).
a in (s) t=1
Since we may assume that we do not send flow from r that will not reach s, we
may assume that we have equality in (12.58) if t = T .
As Ford and Fulkerson [1958b] observed, this dynamic flow problem can be
transformed to a static flow problem as follows. Let D be the digraph with vertices
all pairs (v, t) with v V and t {1, . . . , T }, and arcs
(12.60) (i) ((u, t), (v, t+ (a))) for each a = (u, v) A and t {1, . . . , T (a)},
(ii) ((v, t), (v, t + 1)) for each v V and t {1, . . . , T 1}.
Let any arc of type (i) have capacity c(a) and let any arc of type (ii) have capacity
+. Then the maximum dynamic flow problem is equivalent to finding a maximum
flow in the new network from (r, 1) to (s, T ).
By this construction, a maximum dynamic flow can be found by solving a max-
imum flow problem in the large graph D . Ford and Fulkerson [1958b] however
described an alternative way of finding a dynamic flow that has a number of advan-
tages. First of all, no large graph D has to be constructed (and the final algorithm
can be modified with the scaling method of Edmonds and Karp [1972] to a method
that is polynomial also in log T ). Second, the solution can be represented as a rel-
atively small number of paths over which flow is transmitted repeatedly. Finally,
the method shows that at intermediate vertices hold-over of flows is not necessary
(that is, all arcs of type (12.60)(ii) with v = r, s can be deleted).
Ford and Fulkerson [1958b] showed that a solution of the dynamic flow problem
can be found by solving the following problem:
(12.61) maximize T x(a) (a)x(a),
a in (s) aA
where x is an r s flow satisfying 0 x c.
194 Chapter 12. Minimum-cost flows and circulations
This is equivalent to a minimum-cost flow problem, with cost k(a) := (a) T for
a in (s), and k(a) := (a) for all other a. Note that there are arcs of negative
cost (generally), and that the value of the flow is not prescribed. So by adding an
arc (s, r) we obtain a minimum-cost circulation problem.
How is problem (12.61) related to the dynamic flow problem? Given an optimum
solution x : A Z+ of (12.61), there exist r s paths P1 , . . . , Pm in D such that
m
(12.62) x Pi
i=1
where m is the value of x. (We identify a path P and its set of arcs.) For any path
P , let (P ) be the traversal time of P (= the sum of the traversal times of the arcs
in P ). Then (Pi ) T for each i, since otherwise we could replace x by x Pi ,
while increasing the objective value in (12.61).
Now send, for each i = 1, . . . , m, a flow of value 1 along Pi at times 1, . . . , T
(Pi ). It is not dicult to describe this in terms of the x(a, t), yielding a feasible
solution for the dynamic flow problem, of value
m
(12.63) (T (Pi )) mT (a)x(a),
i=1 aA
p(v) (a)
p(v)
+ x(a, t) x(a, t)
v=s a in (v) t=1 a out (v) t=1
p(v)
(a) p(u)
= x(a, t) x(a, t)
a=(u,v)A t=1 t=1
p(v) (a)
x(a, t) c(a)(p(v) (a) p(u))
a=(u,v)A t=p(u)+1 a=(u,v)A
c(a)y(a).
aA
Section 12.5d. Further notes 195
The minimum-cost flow problem is a linear programming problem, and hence it can
be solved with the primal simplex method or the dual simplex method. Strongly
polynomial dual simplex algorithms for minimum-cost flow have been given by
Orlin [1985] (O(m3 ) pivots) and Plotkin and Tardos [1990] (O(m2 / log n) pivots)
(cf. Orlin, Plotkin, and Tardos [1993]). No pivot rule is known however that finds
a minimum-cost flow with the primal simplex method in polynomial time. Partial
results were found by Goldfarb and Hao [1990] and Tarjan [1991].
Further work on the primal simplex method applied to the minimum-cost flow
problem is discussed by Dantzig [1963], Gassner [1964], Johnson [1966b], Grigoriadis
and Walker [1968], Srinivasan and Thompson [1973], Glover, Karney, and Kling-
man [1974], Glover, Karney, Klingman, and Napier [1974], Glover, Klingman, and
Stutz [1974], Ross, Klingman, and Napier [1975], Cunningham [1976,1979], Bradley,
Brown, and Graves [1977], Gavish, Schweitzer, and Shlifer [1977], Barr, Glover, and
Klingman [1978,1979], Mulvey [1978a], Kennington and Helgason [1980], Chv atal
[1983], Cunningham and Klincewicz [1983], Gibby, Glover, Klingman, and Mead
[1983], Grigoriadis [1986], Ahuja and Orlin [1988,1992], Goldfarb, Hao, and Kai
[1990a], Tarjan [1991,1997], Eppstein [1994a,2000], Orlin [1997], and Sokkalingam,
Sharma, and Ahuja [1997].
Further results on the dual simplex method applied to minimum-cost flows
are given by Dantzig [1963], Helgason and Kennington [1977b], Armstrong, Kling-
man, and Whitman [1979], Orlin [1984a], Ikura and Nemhauser [1986], Adler and
Cosares [1990], Plotkin and Tardos [1990], Orlin, Plotkin, and Tardos [1993], Epp-
stein [1994a,2000], and Armstrong and Jin [1997].
Further algorithmic work is presented by Briggs [1962], Pla [1971] (dual out-
of-kilter), Barr, Glover, and Klingman [1974] (out-of-kilter), Hassin [1983,1992],
Bertsekas [1985], Kapoor and Vaidya [1986] (interior-point method), Bertsekas and
Tseng [1988] (relaxation method), Masuzawa, Mizuno, and Mori [1990] (interior-
point method), Cohen and Megiddo [1991], Bertsekas [1992] (auction algorithm),
Norton, Plotkin, and Tardos [1992], Wallacher and Zimmermann [1992] (combi-
natorial interior-point method), Ervolina and McCormick [1993a,1993b], Fujishige,
Iwano, Nakano, and Tezuka [1993], McCormick and Ervolina [1994], Hadjiat and
Maurras [1997], Goldfarb and Jin [1999a], McCormick and Shioura [2000a,2000b]
(cycle canceling), Shigeno, Iwata, and McCormick [2000] (cycle- and cut-canceling),
and Vygen [2000].
196 Chapter 12. Minimum-cost flows and circulations
Concave costs were studied by Zangwill [1968], Rothfarb and Frisch [1970],
Daeninck and Smeers [1977], Jensen and Barnes [1980], Graves and Orlin [1985],
and Erickson, Monma, and Veinott [1987].
The basic references on network flows are the books of Ford and Fulkerson [1962]
(historical) and Ahuja, Magnanti, and Orlin [1993]. Minimum-cost flow problems
are discussed also in the books of Hu [1969,1982], Iri [1969], Frank and Frisch
[1971], Potts and Oliver [1972], Adelson-Velski, Dinits, and Karzanov [1975] (for
a review, see Goldberg and Gusfield [1991]), Christofides [1975], Lawler [1976b],
Murty [1976], Bazaraa and Jarvis [1977], Minieka [1978], Jensen and Barnes [1980],
Kennington and Helgason [1980], Phillips and Garcia-Diaz [1981], Swamy and Thu-
lasiraman [1981], Papadimitriou and Steiglitz [1982], Smith [1982], Chv atal [1983],
Syslo, Deo, and Kowalik [1983], Tarjan [1983], Gondran and Minoux [1984], Rock-
afellar [1984], Derigs [1988a], Nemhauser and Wolsey [1988], Bazaraa, Jarvis, and
Sherali [1990], Chen [1990], Cook, Cunningham, Pulleyblank, and Schrijver [1998],
Jungnickel [1999], and Korte and Vygen [2000].
Survey papers include Glover and Klingman [1977], Ahuja, Magnanti, and Orlin
[1989,1991], Goldberg, Tardos, and Tarjan [1990], and Frank [1995]. A bibliography
was given by Golden and Magnanti [1977].
The history of the minimum-cost flow, circulation, and transshipment problems
is closely intertwined with that of the transportation problem see Section 21.13e.
Chapter 13
A large part of the theory of paths and flows can be represented geometri-
cally by polytopes and polyhedra, and can be studied with methods from
geometry and linear programming. Theorems like Mengers theorem, the
max-flow min-cut theorem, and Homans circulation theorem can be de-
rived and interpreted with elementary polyhedral tools.
This can be done with the help of the total unimodularity of the incidence
matrices of directed graphs, and of the more general network matrices. It
again yields proofs of basic flow theorems and implies the polynomial-time
solvability of flow problems.
Proof. Clearly, each vector in Ps t path (D) satisfies (13.2). So Ps t path (D)
is contained in the polyhedron Q determined by (13.2). Suppose that the re-
verse inclusion does not hold. Then there is an l ZA such that the minimum
of lT x over x Q is smaller than over x Ps t path (D). If l ZA
+ , the mini-
mum in both cases is ; so l ZA + . Then the minimum over Ps t path (D)
is equal to the minimum length k of an s t path, taking l as length function.
By Theorem 7.1, there exist s t cuts C1 , . . . , Ck such that each arc a is in
at most l(a) of the Ci . Hence for any x Q one has
k T k
(13.3) lT x Ci x= x(Ci ) k,
i=1 i=1
Proof. The vertices are integer, as they are incidence vectors of paths.
Proof. Directly with the theory of blocking polyhedra (Theorem 5.8) from
Theorem 13.1.
Equivalently:
Proof. The vertices are integer, as they are incidence vectors of s t cuts.
Corollary 13.1d. The polyhedra Ps t path (D) and Ps t cut (D) form a
blocking pair of polyhedra.
With linear programming duality, this theorem implies the max-flow min-
cut theorem:
Dual integrality. The fact that Ps t path (D) and Ps t cut (D) form a block-
ing pair of polyhedra, is equivalent to the fact that the polyhedra determined
by (13.2) and (13.5) each are integer (that is, have integer vertices only).
More precisely, blocking polyhedra theory tells us:
(13.9) the polyhedron determined by (13.2) is integer the polyhe-
dron determined by (13.5) is integer.
In other words, minimizing any linear function over (13.2) gives an integer
optimum solution if and only if minimizing any linear function over (13.5)
gives an integer optimum solution. Thus there is an equivalence of the exis-
tence of integer optimum solutions between two classes of linear programming
problems. What can be said about the dual linear programs?
There is no general theorem known that links the existence of integer op-
timum dual solutions of blocking pairs of polyhedra. In fact, it is not the case
that if two systems Ax b and A x b of linear inequalities represent a
blocking pair of polyhedra, then the existence of integer optimum dual solu-
tions for one system implies the existence of integer optimum dual solutions
for the other. That is, the total dual integrality of Ax b is not equivalent to
the total dual integrality of A x b (even not if one puts strong conditions
on the two systems, like A, b, A , and b being 0, 1).
Yet, in the special case of paths and cuts the systems are totally dual
integral, as follows directly from theorems proved in previous chapters. (In
particular, total dual integrality of (13.5) amounts to the integrity theorem
for flows.)
Theorem 13.2. The systems (13.2) and (13.5) are totally dual integral.
202 Chapter 13. Path and flow polyhedra and total unimodularity
Proof. Total dual integrality of (13.2) is equivalent to Theorem 7.1, and total
dual integrality of (13.5) is equivalent to Corollary 10.3a.
we have x = .
There are a number of related polyhedra for which similar results hold. Call a subset
A of A an s t connector if A contains the arc set of an s t path as a subset.
The s t connector polytope Ps t connector (D) is the convex hull of the incidence
vectors of the s t connectors.
This polytope turns out to be determined by the following system of linear
inequalities:
(13.11) (i) 0 x(a) 1 for each a A,
(ii) x(C) 1 for each s t cut C.
Again, the fact that the s t connector polytope is contained in the polytope
determined by (13.11) follows from the fact that P satisfies (13.11) for each s t
connector P .
Also in this case one has:
Theorem 13.7. Let A be the set of arcs a for which there exists an s t path not
traversing a. Then dim Ps t connector (D) = |A |.
Theorem 13.8. The polytope P determined by (13.12) has the integer decomposi-
tion property.
We show that the max-flow min-cut theorem can be derived from the total uni-
modularity of the incidence matrix of a digraph:
Corollary 13.9a (max-flow min-cut theorem). Let D = (V, A), let s, t V , and
let c : A R+ be a capacity function. Then the maximum value of an s t flow
f c is equal to the minimum capacity of an s t cut.
Proof. Since the maximum clearly cannot exceed the minimum, it suces to show
that there exists an s t flow x c and an s t cut, whose capacity is not more
than the value of x.
Let M be the incidence matrix of D and let M arise from M by deleting the
rows corresponding to s and t. So the condition M x = 0 means that the flow
conservation law should hold at any vertex v = s, t.
Let w be the row of M corresponding to vertex t. So for any arc a, wa = +1 if
a enters t, wa = 1 if a leaves t, and wa = 0 otherwise.
Now the maximum value of an s t flow subject to c is equal to
(13.15) max{wT x | 0 x c; M x = 0}.
By LP-duality, this is equal to
(13.16) min{y T c | y 0; z : y T + z T M wT }.
Since M is totally unimodular by Theorem 13.9 and since w is an integer vector,
minimum (13.16) is attained by integer vectors y and z. Extend z by defining
zt := 1 and zs := 0. Then y T + z T M 0.
Now define
206 Chapter 13. Path and flow polyhedra and total unimodularity
(13.17) U := {v V | zv 0}.
Then U is a subset of V containing s and not containing t.
It suces to show that
(13.18) c( out (U )) y T c,
since y T c is equal to the maximum flow value (13.15).
To prove (13.18), it suces to show that
(13.19) if a = (u, v) out (U ), then ya 1.
To see this, note that zu 0 and zv 1. Moreover, y T + z T M 0 implies
ya + zv zu 0. So ya zu zv 1. This proves (13.19).
It follows similarly that if all capacities are integers, then there exists a maxi-
mum integer flow; that is, we have the integrity theorem (Corollary 10.3a).
Let D = (V, A) be a digraph and s, t V . The set of all s t flows of value 1
is a polyhedron Ps t flow (D), determined by:
(13.20) (i) x(a) 0 for each a A,
(ii) x( in (v)) = x( out (v)) for each v V \ {s, t},
(iii) x( out (s)) x( in (s)) = 1.
The set of all s t flows of value trivially equals Ps t flow (D).
The total unimodularity of M gives that, for integer , the intersection of
Ps t flow (D) with an integer box {x | 0 x c} is an integer polytope. In other
words:
Proof. Directly from the total unimodularity of the incidence matrix of a digraph
(using Theorem 5.20).
Notes. A relation of Ps t flow (D) with the polytope Ps t path (D) is that
Dantzig [1963] (pp. 352366) showed that each vertex x of Ps t flow (D) is the
incidence vector P of some s t path P . It can be shown that, if each arc of D is
in some s t path, then Ps t flow (D) is the topological closure of the convex hull
of the vectors P RA where P is an s t walk and where
Section 13.2c. Consequences for transshipments 207
Corollary 13.10b. Let D = (V, A) be a digraph and let c, d : A Z. Then the set
of circulations x satisfying d x c forms an integer polytope.
Proof. Directly from the total unimodularity of the incidence matrix of a digraph.
Proof. Directly from the total unimodularity of the incidence matrix of a digraph.
(13.28) Qb = (Pb RA A
+ ) + R+ .
since for each arc a = (u, v) we have yv yu w(a), implying that the number
of i such that a enters Ui is at most max{0, yv yu }, which is at most w(a). So
this gives a feasible integer dual solution to the problem of minimizing wT x over
(13.29). It is in fact optimum, since
(13.31) b(Ui ) = y T b = .
i=1
Theorem 13.14 implies the integer decomposition property for the polyhedron
Qb :
If b is integer, we know:
(13.32) Qb = conv.hull{f | f nonnegative integer b-transshipment} + RA
+.
Corollary 13.14b. If b is integer, system (13.33) has the integer rounding prop-
erty.
and let be the maximum in which the zf are restricted to nonnegative integers
(here f ranges over minimal nonnegative integer b-transshipments). Let k := .
We must show that = k.
As = min{cT x | x B(Qb )}, we know that c Qb . Hence, as k ,
c kQb . By Corollary 13.14a, there exist nonnegative integer b-transshipments
f1 , . . . , fk with f1 + + fk c. Hence k. Since , we have = k.
So
r r
(13.39) Cj (|Cj | l),
j=1 j=1
By LP-duality
and total unimodularity, this is equal to the maximum value of
l r aA y(a), where r Z, y ZA A
+ , f Z+ such that
One may derive similarly min-max formulas for the minimum number of vertices
in l internally vertex-disjoint s t paths and for the minimum number of vertices
in l disjoint s t vertex-cuts.
Minimum-cost flow methods also provide fast algorithms to find optimum
unions of disjoint paths:
Proof. Directly from Theorems 12.6 and 11.1 and Corollary 7.8a.
Here DPk (n, m) denotes the time needed to find k arc-disjoint disjoint s t paths
in a digraph with n vertices and m edges.
Suurballe and Tarjan [1984] described an O(m logm/n n) algorithm for finding,
in a digraph with nonnegative length function and fixed vertex s, for all v a pair of
edge-disjoint s v paths Pv , Qv with length(Pv ) + length(Qv ) minimum.
Gabow [1983b,1985b] described minimum-cost flow algorithms for networks
with unit capacities. The running times are O(m7/4 log L) and, if D is simple,
O(n1/3 m3/2 log L). For the vertex-disjoint case, he gave algorithms with running
Section 13.3. Network matrices 213
time O(n3/4 m log L) and O(nm log2+ m L). Goldberg and Tarjan [1990] gave an
n
O(nm log(nL)) algorithm for minimum-cost flow with unit capacities. More com-
plexity results follow from the table in Section 12.5a. Disjoint s t cuts were con-
sidered by Wagner [1990] and Talluri and Wagner [1994].
Proof. By Theorem 13.19, it suces to show that any square network matrix
C has determinant 0, 1, or 1. We prove this by induction on the size of C,
the case of 1 1 matrices being trivial. We use notation as above.
Assume that det C = 0. Let u be an end vertex of T and let a be the arc
in T incident with u. By reversing orientations, we can assume that each arc
in A and A incident with u, has u as tail. Then, by definition of C, the row
indexed by a contains only 0s and 1s.
Consider two 1s in row a . That is, consider two columns indexed by arcs
a1 = (u, v1 ) and a2 = (u, v2 ) in A. Subtracting column a1 from column a2 ,
has the eect of resetting a2 to (v1 , v2 ). So after that, column a2 has a 0 in
position a . Since this subtraction does not change the determinant, we can
assume that there is exactly one arc in A incident with u; that is, row a
has exactly one nonzero. Then by expanding the determinant by row a , we
obtain inductively that det C = 1.
tree on V {u} with arcs (u, v) for v V . Then the network matrix generated
by T and D is equal to the incidence matrix of D.
Notes. Recognizing whether a given matrix is a network matrix has been studied by
Gould [1958], Auslander and Trent [1959,1961], Tutte [1960,1965a,1967], Tomizawa
[1976b], and Fujishige [1980a] (cf. Bixby and Wagner [1988] and Section 20.1 in
Schrijver [1986b]).
Seymour [1980a] showed that all totally unimodular matrices can be obtained
by glueing network matrices and copies of a certain 5 5 matrix together (cf.
Schrijver [1986b] and Truemper [1992]).
Theorem 14.1. Let (S, ) be a partially ordered set. Then the minimum
number of antichains covering S is equal to the maximum size of a chain.
Proof. That the maximum cannot be larger than the minimum follows easily
from (14.2). To see that the two numbers are equal, define for any element
s S the height of s as the maximum size of any chain in S with maximum
s. For any i Z+ , let Ai denote the set of elements of height i. Let k be
the maximum height of the elements of S. Then A1 , . . . , Ak are antichains
covering S, and moreover there exists a chain of size k, since there exists an
element of height k.
218 Chapter 14. Partially ordered sets and path coverings
Proof. Define a partial order on A by: a < a if there exists a directed path
traversing a and a , in this order. Applying Theorem 14.1 gives the Corollary.
Proof. That the maximum cannot be larger than the minimum follows easily
from (14.2). To see that the two numbers are equal, we apply induction on
|S|. Let be the maximum size of an antichain and let A be an antichain of
size . Define
(14.3) A := {s S | t A : s t},
A := {s S | t A : s t}.
Then A A = A and A A = S (otherwise we can augment A).
First assume that A = S and A = S. Then, by induction, A can be
covered by chains. Since A A , each of these chains contains exactly one
element in A. For each s A, let Cs denote the chain containing s. Similarly,
there exist chains Cs (for s A) covering A , where Cs contains s. Then
for each s A, Cs Cs forms a chain in S, and moreover these chains cover
S.
So we may assume that A = S or A = S for each antichain A of size .
It means that each antichain A of size is either the set of minimal elements
of S or the set of maximal elements of S. Now choose a minimal element
s and a maximal element t of S with s t. Then the maximum size of an
antichain in S \ {s, t} is equal to 1 (since each antichain in S of size
contains s or t). By induction, S \ {s, t} can be covered by 1 chains.
Adding the chain {s, t} yields a covering of S by chains.
Section 14.3. Path coverings 219
Notes. This proof is due to Perles [1963]. Dilworth original proof is based on a
dierent induction. For a proof using linear programming duality, see Dantzig and
Homan [1956]. For a deduction of Dilworths decomposition theorem from K onigs
matching theorem (Theorem 16.2), see Fulkerson [1956], Ford and Fulkerson [1962]
(pp. 6164), and Mirsky and Perfect [1966]. Further proofs were given by Dilworth
[1960], Tverberg [1967], and Pretzel [1979].
If only a subset of the arcs has to be covered, one has more generally:
Proof. Consider the partially ordered set (B, ) with a < a if there exists
a directed path traversing a and a , in this order. Then for each chain K in
(B, ) there is a path in D covering K, and for each antichain L in (B, )
there is a directed cut C in D with L C B. Hence the theorem follows
from Dilworths decomposition theorem.
Proof. Replace each element s of S by w(s) copies, making the set S . For
any copy s of s and t of t, define s < t if and only if s < t. This gives the
partially ordered set (S , ). Note that the copies of one element of S form
an antichain in S .
Then the maximum weight w(A) of an antichain A in S is equal to the
maximum size |A | of an antichain A in S . By Dilworths decomposition
theorem, S can be covered by a collection of |A | chains. Replacing the
elements of each chain by their originals in S, gives the required equality.
Proof. Directly from Theorem 14.3 by defining the partially ordered set
(V, ) by: u v if and only if there exists a u v path.
A similar weighted variant of the easier Theorem 14.1 holds: Again, let
(S, ) be a partially ordered set. Let w : S Z+ be a weight function.
Theorem 14.4. The maximum weight w(C) of any chain is equal to the
minimum size of a family of antichains covering each element s exactly w(s)
times.
Proof. We can assume that l and w are rational (by continuity), and hence
integer. Let t be the maximum of l(C) taken over all chains C.
For each s S, let h(s) be the maximum of l(C) taken over all chains C
with maximum element s. For each k Z, let Ak be the set of those elements
s S with h(s) l(s) < k h(s).
Then each Ak is an antichain. Moreover, Ak = if k > t, and
t
(14.5) Ak = l.
k=1
Therefore,
t
t
(14.6) max l(C) max w(A) = t max w(A) w(Ak ) = wT Ak
C A A
k=1 k=1
= wT l,
where C and A range over chains and antichains, respectively.
the antichain polytope Pantichain (S) of S is the convex hull of the incidence
vectors (in RS ) of antichains in S.
These two polytopes turn out to form an antiblocking pair of polyhedra.
To see this, we first show:
This implies that the chain and antichain polytope are related by the
antiblocking relation:
Corollary 14.6a. Pchain (S) and Pantichain (S) form an antiblocking pair of
polyhedra.
When studying partially ordered sets (S, ) algorithmically, we should know how
these are represented. Generally, giving all pairs (s, t) with s t yields a large,
redundant input. It suces to give an acyclic digraph D = (S, A) such that s t if
and only if t is reachable from s. So it is best to formulate the algorithmic results
in terms of acyclic digraphs.
The strong polynomial-time solvability of the problems discussed below follow
from the strong polynomial-time solvability of minimum-cost circulation. We give
some better running time bounds.
Section 14.5a. Path coverings algorithmically 223
Proof. Add two vertices s and t to D, and, for each vertex v, make degin B (v)
parallel arcs from s to v and degout
B (v) parallel arcs from v to t. Let D = (V , A )
be the extended graph. By Theorem 9.10, we can find in time O(nm) a maximum
collection P1 , . . . , Pk of s t paths that are disjoint on the set A \ A of new arcs.
We make another auxiliary graph D = (V, A)
as follows. Each arc in B belongs
to A. Moreover, for each a = (u, v) A, we make r parallel arcs from u to v, where
r is the number of times a is traversed by the Pi . (So if a B, there are r+1 parallel
arcs from u to v.) This gives the acyclic graph D. Now choose, repeatedly as long
as possible, in D a path from a (current) source to a (current) sink and remove its
arcs. This gives us a collection of paths in D and hence also in D, covering all arcs
in B. We claim that it has minimum size.
For each i, let Pi be the path obtained from Pi by deleting the first and last
arc. For each v V , let (v) be the number of Pi that start with (s, v) and let (v)
be the number of Pi that and with (v, t).
out out
Let U V give a minimum s t cut A (U {s}) in D with A (U ) = . As
P1 , . . . , Pk form a maximum s t path packing in D , we have for each v V :
in
(14.9) (v) B (v), with equality if v V \ U ,
out
(v) B (v), with equality if v U .
So
k
k
(14.10) degin
A
in
(v) = degB (v) + degin
AP (v) (v) + degin
AP (v)
i i
i=1 i=1
k
= degin
APi (v),
i=1
Now deleting any source-sink path P in D does not invalidate (14.12). Moreover, P
in
runs from V \ U to U . Since none of the arcs in A (U ) are traversed by any Pi , we
know that P should use an arc of B in (U ). So the number of paths found is at
in
most |B A (U )|. Therefore, by Corollary 14.2d, the paths form a minimum-size
collection of paths covering B.
Proof. We may assume that each arc of D is contained in at least one st path. But
then each path can be extended to an s t path, and hence a minimum collection
of paths gives a minimum collection of s t paths.
These bounds are best possible, as the size of the output is (nm). As for paths
covering the arcs, this can be seen by taking vertices v1 , . . . , vn , with r parallel arcs
from v1 to v2 , r parallel arcs from vn1 to vn , and one arc from vi1 to vi for each
i = 2, . . . , n 1. Then the number of arcs is 2r + n 2, while any minimum path
covering of the arcs consists of r paths of length n 1 each.
Proof. To see max min, let C be a collection of at most k directed cutsand
let P be a collection of directed paths. Then, setting := C and := P,
(14.14) |B | |B \ | + | | |B \ | + k |P|.
(Note that any directed path P intersects any directed cut in at most one
edge; hence | AP | k for each P P.)
In proving equality, we may assume that D has exactly one source, s say,
and exactly one sink, t say. (Adding s to V , and all arcs (s, v) for v V does
not change the theorem. Similarly for adding a sink.)
Define for each a A, a capacity c(a) := and a cost l(a) := 0. For
each arc a = (u, v) B, introduce a new arc a = (u, v) parallel to a, with
c(a) := 1 and l(a) := 1. Finally, add an arc (t, s), with c(t, s) := and
= (V, A).
l(t, s) := k. This makes the digraph D
Let f : A Z be a minimum-cost nonnegative circulation in D subject to
c. As Df has no negative-cost directed circuits (Theorem 12.1), there exists
a function p : V Z such that for each a = (u, v) A:
(14.15) p(v) p(u), with equality if f (a) 1.
Moreover, for each a = (u, v) B:
(14.16) p(v) p(u) 1 if f (a ) = 0,
p(v) p(u) 1 if f (a ) = 1.
Finally,
(14.17) p(s) p(t) + k, with equality if f (t, s) 1.
We may assume that p(t) = 0. So by (14.15), p(s) 0 and by (14.17),
p(s) k. For each i = 1, . . . , p(s), let Ui := {v V | p(v) i}. Then for each
out
i, A (Ui ) is a directed s t cut, since s Ui , t Ui , and no arc in A enters
Ui : if (u, v) A with v Ui , then p(v) i, and hence by (14.15), p(u) i,
that is u Ui .
Let C be the collection of these directed cuts and let := C. We can
decompose f as a sum of incidence vectors of directed circuits in D. Each of
these circuits contains exactly one arc (t, s). Deleting it, and identifying
any
a with a (for a B) gives a path collection P in D. Let := P.
Then B \ = B \ . For let a = (u, v) B \ . Then f (a ) = 0, and
hence by (14.16), p(v) p(u) 1. Hence a out (Ui ) for i := p(u). So a .
Moreover,
(14.18) k |P|
= (p(s) p(t))f (t, s)
= (p(u) p(v))f (a) + (p(u) p(v))f (a )
a=(u,v)A a=(u,v)B
= (p(u) p(v))f (a ) = |B |.
a=(u,v)B
226 Chapter 14. Partially ordered sets and path coverings
Corollary 14.8a. Let (S, ) be a partially ordered set and let k Z+ . Then
the maximum size of the union of k antichains is equal to the minimum value
of
(14.19) min{k, |C|},
CC
Corollary 14.8a can be stated in a slightly dierent form. For any partially
ordered set (S, ), any Y S, and any k Z+ , let
(14.20) ak (Y ) := max{|Z|
Z Y is the union of k antichains}.
Then:
Proof. The inequality follows from the fact that if Z is the union of k
antichains and Y S, then |Z| |Z \ Y | + ak (Z Y ) |S \ Y | + k a1 (Y ).
To obtain equality, let C be a partition of S into chains attaining the
minimum in Corollary 14.8a. Let C be the collection of those chains C C
with |C| k. Let Y be the union of the chains in C . Then (14.19) is equal
to |S \ Y | + k|C |. This is at least |S \ Y | + k a1 (Y ) (as |C | a1 (Y )). Thus
we have equality.
Proof. It suces to show that in the proof of Theorem 14.8 the minimum-cost
circulation f can be chosen such that it has minimum cost simultaneously with
respect to the given cost function l, and with respect to the cost function l which
is the same as l except that l (t, s) = k + 1.
T
For choose f such that it has minimum cost with respect to l, and with l f as
small as possible. Suppose that f does not have minimum cost with respect to l .
Then Df has a directed circuit C with l (C) < 0. As l(C) 0, C traverses (s, t).
So l(C) l (C) = l(s, t) l (s, t) = 1, and therefore l(C) = 0. So f := f + C
T T
is a feasible circulation with lT f = lT f and l f < l f . This contradicts our
assumption.
Corollary 14.9a. Let (S, ) be a partially ordered set and let k Z+ . Then there
exists a chain partition C of S such that
(14.22) ak (S) = min{k, |C|} and ak+1 (S) = min{k + 1, |C|}.
CC CC
(For a linear programming proof and an extension, see Homan and Schwartz
[1977]. For another proof, see Perfect [1984]. Denig [1981] showed that the common
saturating chain collections determine a matroid.)
So |B \ | + k|C| = |B \ | + |B | = |B \ | + |B | = |B |.
Corollary 14.10a. Let (S, ) be a partially ordered set and let k Z+ . Then
the maximum size of the union of k chains is equal to the minimum value of
(14.27) min{k, |A|},
AA
Section 14.7a. Common saturating collections of antichains 229
Like the result in the previous section, also this theorem can be stated in
a dierent form. For any partially ordered set (S, ), Y S and k Z+ , let
(14.28) ck (Y ) := max{|Z|
Z Y is the union of k chains}.
Then:
Similar results to those in Section 14.6a were obtained for antichain partitions by
Greene [1976]. Consider the proof of Theorem 14.10. By Theorem 12.5, there exist
minimum-cost flows f and f of values k and k + 1 respectively and a function
p : V Z that is both a potential for f and for f .
This implies the following result of Greene [1976] on the minimum in Theorem
14.10:
Corollary 14.11a. Let (S, ) be a partially ordered set and let k Z+ . Then there
exists an antichain partition A of S such that
(14.30) ck (S) = min{k, |A|} and ck+1 (S) = min{k + 1, |A|}.
AA AA
More on this can be found in Perfect [1984]. For more on chain and antichain
partitions, see Frank [1980a].
230 Chapter 14. Partially ordered sets and path coverings
Then
(14.36) 2ak = 2 min{k, |C|} (min{k 1, |C|} + min{k + 1, |C|})
CC CC
ak1 + ak+1 .
The second part of the theorem is shown similarly (with Corollary 14.10a).
for each p = 0, 1, 2, . . ..
= k (k p) = n + pp k = n + pp np
k=1 k=1 k=1
= n + min(pk nk ),
k0
by (14.42).
By (14.43), condition (14.41) is equivalent to
p
(14.45) np = q for p = 0, 1, . . ..
q=1
Lemma 14.13 gives the equivalence of the Corollaries 14.10b and 14.8b. For
other proofs of the conjugacy of (k ) and (p ), see Fomin [1978] and Frank [1980a].
232 Chapter 14. Partially ordered sets and path coverings
Proof. For any partition of V into directed paths, let C be the set of end
vertices of the paths in . For any subset U of V , let (U ) be the maximum
number of pairwise nonadjacent vertices in U . We show by induction on |V | that
(14.46) for each partition of V into directed paths there is a partition
into directed paths with C C and |C | (V ).
This implies the theorem.
Let be a partition of V into directed paths. To prove (14.46), we may assume
that C is inclusionwise minimal among all such partitions.
If C is a stable set, then (14.46) is trivial. If C is not a stable set, take
u, v C with (v, u) A. By the minimality of C , the path Pu in ending at u
consists of more than u alone, since otherwise we could extend the path ending at
v by u. So Pu has a one but last vertex, w say.
Let be obtained from by deleting u from Pu . So is a partition of V \ {u}
into directed paths. By induction, there is a partition of V \ {u} into directed
paths such that C C and such that |C | (V \ {u}).
If one of the paths in ends at w, we can extend it with u, and obtain a
partition of V as required. If none of the paths in end at w, but one of the
paths ends at v, we can extend it with u, again obtaining a partition as required.
If none of the paths in end at v or w, then augmenting by a path consisting
of u alone, gives a partition of V with C C , contradicting the minimality
of C .
Proof. This is the special case where (D) = 1 in the Gallai-Milgram theorem.
There is a strong relation between the class of partially ordered sets and the class
of partially ordered sets of a special type, the distributive lattices. It formed the
original motivation for Dilworth to study minimum chain partitions of partially
ordered sets.
Let (S, ) be a partially ordered set and let a, b S. Then an element c S is
called the meet of a and b if for each s S:
(14.48) s c if and only if s a and s b.
Note that if the meet of a and b exists, it is unique. Similarly, c is called the join
of a and b if for each s S:
(14.49) s c if and only if s a and s b.
Again, if the join of a and b exists, it is unique.
S is called a lattice if each pair s, t of elements of S has a meet and a join; they
are denoted by s t and s t, respectively. The lattice is called distributive if
(14.50) s (t u) = (s t) (s u) and s (t u) = (s t) (s u)
for all s, t, u S. (In fact it suces to require only one of the two equalities.)
Each partially ordered set (S, ) gives a distributive lattice in the following
way. Call a subset I S a lower ideal, or just an ideal, if t I and s t implies
that s I. Let IS be the collection of ideals in S. Then (IS , ) is a distributive
lattice. This follows directly from the fact that for I, J IS one has I J = I J
and I J = I J, and hence (14.50) is elementary set theory. Thus
(14.51) (S, ) (IS , )
associates a distributive lattice with any partially ordered set.
In fact, each finite distributive lattice can be obtained in this way; that is, we
can reverse (14.51). For any lattice (L, ), call an element u L join-irreducible
if there exist no s, t L with s = u, t = u, and u = s t. Let JL be the set of
join-irreducible elements in L. Trivially,
(14.52) (L, ) (JL , )
associates a partially ordered set with any distributive lattice.
Theorem 14.15. Functions (14.51) and (14.52) are inverse to each other.
Proof. We first show that d(L) cover(s) for each s L. Let d := d(L), let
L Zd , and choose s L. Let Y be the set of elements covered by s. For each
t Y , let Ut := {i | ti < si }. Now for all t, u Y with t = u one has t u = s;
hence Ut Uu = . As Ut = for all t Y , we have |Y | d.
So d(L) maxsL cover(s). To see equality, by Theorem 14.15 we may assume
that L = IS (the set of ideals in S) for some partially ordered set (S, ), ordered
by inclusion. For any ideal I in S, cover(I) is the number of inclusionwise maximal
ideals J I. Each such ideal J is equal to I \ {t} for some t I max . So cover(I) =
|I max |. Hence maxsL cover(s) is equal to the maximum antichain size in S. Let
this be d, say.
By Dilworths decomposition theorem, S can be covered by d chains, C1 , . . . , Cd
say. For each j, the collection ICj of ideals in Cj is again a chain (ordered by
Section 14.8c. Maximal chains 235
The following was noted by Dilworth [1960]. The relations (14.54) give the
following partial order on the collection AS of antichains in a partially ordered set
(S, ):
(14.57) A B if and only if A B
for A, B AS . As (IS , ) is a lattice, also (AS , ) is a lattice.
Theorem 14.17. Let (S, ) be a partially ordered set and let A and B be maximum-
size antichains. Then also A B and A B are maximum-size antichains.
Corollary 14.17a. Let L be a finite distributive lattice. Then the elements s max-
imizing cover(s) form a sublattice of L.
Proof. We can represent L as the set IS of ideals in a partially ordered set (S, ).
As one has cover(I) = |I max | for any I IS , the result follows from Theorem 14.17.
Theorem 14.18. The maximum number of disjoint maximal chains is equal to the
minimum size of a set intersecting all maximal chains.
Proof. Define a digraph D = (S, A) where A consists of all pairs (s, t) where t covers
s. Let U and W be the sets of minimal and maximal elements of S, respectively. So
maximal chains correspond to U W paths, and the theorem follows from Mengers
theorem.
236 Chapter 14. Partially ordered sets and path coverings
Related results were given by Bogart [1970], Saks [1986], and Behrendt [1988], ex-
tensions and algorithms by Cameron and Edmonds [1979], Frank [1980a], Linial
[1981], Cameron [1982,1985,1986], and Homan [1983], surveys by Greene [1974b],
Homan [1982], West [1982], and Bogart, Greene, and Kung [1990], and an intro-
duction to and historical account of Dilworths decomposition theorem by Dilworth
[1990].
Fleiner [1997] proved the following conjecture of A. Frank: Let (S, ) be a
partially ordered set and let M be a perfect matching on S such that for any two
uu , vv M with u v, one has v u . (This is called a symmetric partially
ordered set.) Call a subset C of M a symmetric chain if S has a chain intersecting
each edge in C. Then the minimum number of symmetric chains covering M is
equal to the maximum value of
k
(14.59) 12 |Xi |,
i=1
where X1 , . . . , Xk are disjoint subsets of M (for some k) with the properties that
j, then there exist no
(i) no Xi contains a symmetric chain of size 3, and (ii) if i =
x e Xi and y f Xj with x y.
Chapter 15
s2 t1
Figure 15.1
If we want to test the k-connectivity for some fixed k, we may use the
following result given by Even [1975]:
Theorem
15.6.
Given a digraph D and an integer k, one can decide in
O((k + n)k nm) time if D is k-connected, and if not, find a minimum
cut.
240 Chapter 15. Connectivity and Gomory-Hu trees
This implies:
Matula [1987] showed that Theorem 15.6 implies the following result of
Galil [1980b], where (D) is the vertex-connectivity of D:
Corollary 15.6b.
A minimum-size
vertex-cut in a digraph D can be found
in O(((D) + n)(D) n m) time.
arcs, the results above immediately imply similar results for vertex-cuts and
vertex-connectivity in undirected graphs.
Complexity survey for vertex-connectivity (in directed graphs, unless stated other-
wise; again, indicates an asymptotically best bound in the table):
for undirected graphs) observed that one need not check all pairs of vertices
to find a minimum cut:
Proof. In Theorem 15.8 one needs to check only if there exist k arc-disjoint
s t paths, and if not find a minimum-size s t cut. This can be done in
time O(km), as we saw in Corollary 9.3a.
With a method of Matula [1987] this implies, where (D) is the arc-
connectivity of D:
For undirected graphs, Nagamochi and Ibaraki [1992b] showed that the
edge-connectivity of an undirected graph can be determined in time O(nm)
(for simple graphs this bound is due to Podderyugin [1973]). We follow the
shortened algorithm described by Frank [1994b] and Stoer and Wagner [1994,
1997].
Proof. This can be shown in the same way as Theorem 15.10, using Fibonacci
heaps for finding a legal order.
Survey for arc-complexity (in uncapacitated directed graphs, unless stated other-
wise):
continued
O(nm) undirected Nagamochi and Ibaraki [1992b]
2 2
O(m + n ) undirected Nagamochi and Ibaraki [1992b]
+ n2 log n)
O(m + mn undirected Nagamochi and Ibaraki [1992b]
capacitated undirected Nagamochi and Ibaraki
O(n(m + n log n))
[1992b]
O(nm log(n2 /m)) capacitated Hao and Orlin [1992,1994]
O(m log(n2 /m)) Gabow [1991a,1995a]
2
O(m + n log(n/)) undirected Gabow [1991a,1995a]
Here denotes the arc- or edge-connectivity of the graph, m the number of parallel
classes of edges, and the minimum (out-)degree. Note that 2m/n. If l is
involved, the time bound is for determining min{, l}.
EC(n, m) denotes the time needed to find the minimum size of an s t cut, for
fixed s, t. Moreover, ECl (n, m) denotes the time needed to find the minimum size
of an s t cut (for fixed s, t) if this size is less than l. We refer to Sections 9.4 and
9.6a for bounds on EC(n, m) and ECl (n, m).
By the observation of Matula [1987] (cf. Corollary 15.9a above), if min{, l} can
be determined in time O(l f (n, m)) (for some 1), then can be determined
in time O( f (n, m)).
Matula [1993] gave a linear-time 2 + -approximative algorithm determining the
edge-connectivity. (Related work was done by Henzinger [1997].)
Galil and Italiano [1991] described a linear-time method to make from a graph
G a graph k (G), with m + (k 2)n vertices and (2k 3)m edges such that: G is k-
edge-connected k (G) is k-vertex-connected. This implies, for instance, that
3-edge-connectivity can be tested in linear time (as Hopcroft and Tarjan [1973b]
showed that 3-vertex-connectivity can be tested in linear time). Related work was
reported by Esfahanian and Hakimi [1984] and Padberg and Rinaldi [1990a].
Karger and Stein [1993,1996] gave a randomized minimum cut algorithm for
undirected graphs, with running time O(n2 log3 n). Karger [1996,2000] gave an im-
provement to O(m log3 n).
Nagamochi, Ono, and Ibaraki [1994] report on computational experiments with
the Nagamochi-Ibaraki algorithm. An experimental study of several minimum cut
algorithms was presented by Chekuri, Goldberg, Karger, Levine, and Stein [1997].
Theorem 15.12. Given an undirected graph G = (V, E), its 2-edge-connected com-
ponents can be found in linear time.
Proof. We may assume that G is connected, since by Corollary 6.6a, the compo-
nents of G can be found in linear time.
Choose s V arbitrarily, and consider a depth-first search tree T starting at
s. Orient each edge in T away from s. For each remaining edge e = uv, there is
a directed path in T that connects u and v. Let the path run from u to v. Then
orient e from v to u. This gives the orientation D of G.
Then any edge not in T belongs to a directed circuit in D. Moreover, any edge
in T that is not a cut edge, belongs to a directed circuit in D. Then the 2-edge-
connected components of G coincide with the strong components of D. By Theorem
6.6, these components can be found in linear time.
t t
X X
s s
u v U u v U
t X tX
Figure 15.2
and
(15.17) c((X \ U )) c((U )),
we have c((U \ X)) c((X)). So (U \ X) is a minimum-capacity u v
cut.
Theorem 15.14. For each graph G = (V, E) and each capacity function
c : E R+ there exists a Gomory-Hu tree.
Notes. The method gives an O(m2 ) method to find a Gomory-Hu tree for the
capacity function c = 1, since O(m2 ) = O( v d(v)m), and for each new vertex v a
minimum cut can be found in time O(d(v)m). Hao and Orlin [1992,1994] gave an
O(n3 )-time method to find, for given graph G = (V, E) and s V , all minimum-
size s t cuts for all t = s (with push-relabel). Shiloach [1979b] gave an O(n2 m)
algorithm to find a maximum number of edge-disjoint paths between all pairs of
vertices in an undirected graph. Ahuja, Magnanti, and Orlin [1993] showed that the
best directed all-pairs cut algorithm takes (n2 ) max-flow iterations.
For planar graphs, Hartvigsen and Mardon [1994] gave an (n2 log n + m) al-
gorithm to find a Gomory-Hu tree (they observed that this bound can be derived
also from Frederickson [1987b]). This improves a result of Shiloach [1980a], who
gave an O(n2 (log n)2 )-time algorithm to find minimum-size cuts between all pairs
of vertices in a planar graph.
Theorem 15.13 implies that a Gomory-Hu tree for a graph G = (V, E) is a
maximum-weight spanning tree in the complete graph on V , for weight function
r(u, v). However, not every maximum-weight spanning tree is a Gomory-Hu tree
(for G = K1,2 , c = 1, only G itself is a Gomory-Hu tree, but all spanning trees on
V K1,2 have the same weight).
More on Gomory-Hu trees can be found in Elmaghraby [1964], Hu and Shing
[1983], Agarwal, Mittal, and Sharma [1984], Granot and Hassin [1986], Hassin
[1988], Chen [1990], Gusfield [1990], Hartvigsen and Margot [1995], Talluri [1996],
Goldberg and Tsioutsiouliklis [1999,2001], and Hartvigsen [2001b]. Generalizations
were given by Cheng and Hu [1990,1991,1992] and Hartvigsen [1995] (to matroids).
where distT (e) denotes the distance in T between the end vertices of e.
Now any Gomory-Hu tree T for G and capacity function r indeed minimizes
(15.19). To see this, let for any edge f of T , RT (f ) be equal to the requirement (=
capacity) of the cut determined by the two components of T f . Then (15.19) is
equal to
(15.20) RT (f ).
f T
Now T minimizes (15.20), as was shown by Adolphson and Hu [1973]. For let T
be any other spanning tree on V . Then for each f = st T and each edge f on
the s t path in T one has
(15.21) RT (f ) RT (f ),
since the components of T f determine a minimum-capacity s t cut, and since
the components of T f determine an s t cut. Since T and T are spanning
trees, there exists a one-to-one function : T T such that for each f = st T ,
(f ) is an edge on the s t path in T .
To see this, let u be an end vertex of T . Let f = uv be the edge of T incident
with u, and define (f ) to be the first edge of the u v path in T . Delete f and
contract (f ). Then induction gives the required function.
So (15.21) implies that (15.20) is not decreased by replacing T by T . Hence T
minimizes (15.20), and therefore also (15.19).
Proof. Necessity follows from the facts that K2 is 2-vertex-connected and that
2-vertex-connectivity is maintained under adding proper ears. To see suciency,
let G be 2-vertex-connected, and let G = (V , E ) be a subgraph of G that has a
Section 15.5b. Further notes 253
Proof. Necessity follows from the facts that K1 is 2-edge-connected and that 2-
edge-connectivity is maintained under adding ears. To see suciency, let G be
2-edge-connected, and let G = (V , E ) be a subgraph of G that has an ear-
decomposition, with |E | as large as possible. Suppose that E = E, and let e = uv
be an edge in E \ E incident with V ; say u V . Let C be a circuit in G traversing
e. Let C start with u, e, . . .. Let s be the first vertex in C, after e, that belongs to V .
Then subpath P = u, e . . . , w of C is an ear that can be added to G , contradicting
the maximality of |E |.
Dinits, Karzanov, and Lomonosov [1976] showed that the set of all minimum-
capacity cuts of an undirected graph (with positive capacities on the edges) has
the cactus structure, as follows. A cactus is a connected graph such that each
edge belongs to at most one circuit. Let G = (V, E) be a graph with a capacity
function c : E Z+ such that the minimum cut capacity is positive. Then there
exist a cactus K with O(|V |) vertices and a function : V V K such that for
each inclusionwise minimal cut K (U ) of K, the set G (1 (U )) is a cut of capac-
ity , and such that each minimum-capacity cut in G can be obtained this way.
Moreover, K is a tree when is odd. It follows that the number of minimum-
capacity cuts is at most n2 (and at most n 1 when is odd), and that the
vertices of G can be ordered as v1 , . . . , vn so that each minimum-capacity cut is of
the form ({vi , vi+1 , . . . , vj }) for some i j. Related results can be found in Picard
and Queyranne [1980], Karzanov and Timofeev [1986], Gabow [1991b,1993b,1995c],
Gusfield and Naor [1993], Karger and Stein [1993,1996], Nagamochi, Nishimura,
and Ibaraki [1994,1997], Bencz ur [1995], Henzinger and Williamson [1996], Karger
[1996,2000], Fleischer [1998a,1999b], Dinitz and Vainshtein [2000], and Nagamochi,
Nakao, and Ibaraki [2000].
Gusfield and Naor [1990,1991] considered the analogue of the Gomory-Hu tree
for vertex-cuts.
A theorem of Mader [1971] implies that each k-connected graph G = (V, E)
contains a k-connected spanning subgraph with O(k|V |) edges similarly for k-
edge-connected. This was extended by Nagamochi and Ibaraki [1992a], showing
that for each k, each graph G = (V, E) has a subgraph Gk = (V, Ek ) such that
|Ek | = O(k|V |) and such that for all s, t V :
(15.22) (i) Gk (s, t) min{G (s, t), k},
254 Chapter 15. Connectivity and Gomory-Hu trees
Surveys on connectivity are given by Even [1979], Mader [1979], Frank [1995],
and Subramanian [1995] (edge-connectivity). For the decomposition of 3-connected
graphs into 4-connected graphs, see Coullard, Gardner, and Wagner [1993].
Part II
Chapters:
That is, the maximum size of a matching in a bipartite graph is equal to the
minimum size of a vertex cover.
Proof. By (16.3) it suces to show that (G) (G). We may assume that
G has at least one edge. Then:
(16.5) G has a vertex u covered by each maximum-size matching.
To see this, let e = uv be any edge of G, and suppose that there are maximum-
size matchings M and N missing u and v respectively2 . Let P be the com-
ponent of M N containing u. So P is a path with end vertex u. Since P is
not M -augmenting (as M has maximum size), P has even length, and hence
does not traverse v (otherwise, P ends at v, contradicting the bipartiteness
of G). So P e would form an N -augmenting path, a contradiction (as N
has maximum size). This proves (16.5).
Now (16.5) implies that for the graph G := G u one has (G ) =
(G) 1. Moreover, by induction, G has a vertex cover C of size (G ).
Then C {u} is a vertex cover of G of size (G ) + 1 = (G).
(This proof is due to De Caen [1988]. For K onigs original, algorithmic proof,
see the proof of Theorem 16.6. Note that also Mengers theorem implies
Konigs matching theorem (using the construction given in the proof of The-
orem 16.4 below). For a proof based on showing that any minimum bipartite
graph with a given vertex cover number is a matching, see Lov asz [1975d]. For
another proof (of Rizzi [2000a]), see Section 16.2c. As we will see in Chapter
18, Konigs matching theorem also follows from the total unimodularity of
the incidence matrix of a bipartite graph. (Flood [1960] and Entringer and
Jackson [1969] gave proofs similar to K onigs proof.))
A consequence of Theorem 16.2 is a theorem of Frobenius [1917] that
characterizes the existence of a perfect matching in a bipartite graph. (A
matching is perfect if it covers all vertices.) Actually, this theorem motivated
Konig to study matchings in graphs, and in turn it can be seen to imply
Konigs matching theorem.
Proof. Directly from K onigs matching theorem, since G has a perfect match-
ing if and only if (G) 12 |V |.
2
M misses a vertex u if u M . Here M denotes the union of the edges in M ; that
is, the set of vertices covered by the edges in M .
262 Chapter 16. Cardinality bipartite matching and vertex cover
Corollary 16.2b. Each regular bipartite graph (of positive degree) has a
perfect matching.
The proof method given by Frobenius [1917] of Corollary 16.2a is in terms of ma-
trices, but can be formulated in terms of graphs as follows. Necessity of the con-
dition being easy, we prove suciency. Let U and W be the colour classes of G.
As both U and W are vertex covers, and hence have size at least 12 |V |, we have
|U | = |W | = 21 |V |.
Choose an edge e = {u, w} with u U and w W . We may assume that
G u w has no perfect matching. So, inductively, G u w has a vertex cover C
with |C | < |U | 1. Then C := C {u, w} is a vertex cover of G, with |C| |U |,
and hence |C| = |U |.
Now U C and W C partition V (where denotes symmetric dierence).
If both U C and W C are matchable3 , then G has a perfect matching. So, by
symmetry, we may assume that U C is not matchable. Now U C = V as u
U C. Hence we can apply induction, giving that G[U C] has a vertex cover D
with |D| < 12 |U C|. Then the set D(U C) is a vertex cover of G (since each edge
of G intersects both U and C, and hence it either intersects U C, or is contained
in U C and hence intersects D). However, |D| + |U C| < 12 |U C| + |U C| =
1
2
(|U | + |C|) = 21 |V |, a contradiction.
(This is essentially also the proof method of Rado [1933] and Dulmage and
Halperin [1955].)
a matrix A, det A is reducible (that is, there exist nonconstant polynomials p and
q with det A = p q) if and only if A has a k l all-zero submatrix with k + l = n
and k, l 1.)
Edmonds [1967b] showed that the argumentation can be applied also the other
way around. This gives the following linear-algebraic proof of Frobenius theorem
(implying linear-algebraic proofs also of other bipartite matching theorems).
Let G = (V, E) be a bipartite graph not having a perfect matching. Let U and
W be the colour classes of G. We may assume that |U | = |W | (otherwise the smaller
colour class is a vertex cover of size less than 21 |V |).
Make a U W matrix A = (au,w ), where au,w = 0 if u and w are not adjacent,
and au,w = xu,w otherwise, where the xu,w are independent variables.
As G has no perfect matching, we know that det A = 0, and hence the columns
of A are linearly dependent. Let W W be the index set of a minimal set of linearly
dependent columns of A. Then there is a subset U of U with |U | = |W | 1 such
that the U W submatrix A of A has rank |U |. Hence there is a vector y such that
A y = 0 and such that each entry in y is a nonzero polynomial in those variables
xu,w that occur in A . Let A be the U W submatrix of A. Then A y = 0, and
hence all entries in the (U \ U ) W submatrix of A are 0. Hence the rows in U
and columns in W \ W cover all nonzeros. As |U | + |W \ W | < |W |, we have
Frobenius theorem.
In fact, the factor n1/2 can be reduced to (G)1/2 (as before, (G) and
(G) denote the maximum size of a matching and the minimum size of a
vertex cover, respectively):
Proof. Similar to the proof of Theorem 16.4, using Theorem 9.8 and the fact
that (G) = (G).
Gabow and Tarjan [1988a] observed that the method of Corollary 9.7a
applied to the bipartite matching problem implies that for each k one can
find in time O(km) a matching of size at least (G) nk .
Hence:
The following theorem characterizes when one of the colour classes of a bi-
partite graph can be covered by a matching, and is a direct consequence of
Konigs matching theorem (where N (S) denotes the set of vertices not in S
that have a neighbour in S):
(This theorem goes back to theorems of F. Bernstein (cf. Borel [1898] p. 103),
Banach [1924], and Knaster [1927] on injective mappings between two sets.)
Theorem 16.8 implies a characterization of sets that are covered by some
matching:
Notes. These results also are special cases of the exchange results on paths dis-
cussed in Section 9.6c. Perfect [1966] gave the following linear-algebraic argument
for Corollary 16.8b. Make a U W matrix A with au,w = xu,w if uw E and
au,w := 0 otherwise, where the xu,w are independent variables. Let U be any
maximum-size subset of U covered by some matching and let W be any maximum-
size subset of W covered by some matching. Then U gives a maximum-size set of
Section 16.7b. Finding perfect matchings in regular bipartite graphs 267
O(nm) K
onig [1931], Kuhn [1955b]
Hopcroft and Karp [1971,1973], Karzanov
O( n m)
[1973a]
)
O(n Ibarra and Moran [1981]
O(n3/2 log m
n
) Alt, Blum, Mehlhorn, and Paul [1991]
2
O( n m logn (n /m)) Feder and Motwani [1991,1995]
Here is any real such that any two n n matrices can be multiplied by O(n )
arithmetic operations (e.g. = 2.376).
Goldberg and Kennedy [1997] described a bipartite matching algorithm based
on the push-relabel method, of complexity O( n m logn (n2 /m)). Balinski and Gon-
zalez [1991] gave an alternative O(nm) bipartite matching algorithm (not using
augmenting paths).
By K onigs matching theorem, each k-regular bipartite graph has a perfect matching
(if k 1). One can use the regularity also to find quickly a perfect matching. This
will be used in Chapter 20 on bipartite edge-colouring.
First we show the following result of Cole and Hopcroft [1982] (which will not
be used any further in this book):
Proof. We first describe an O(m log n)-time algorithm for the following problem:
Let G have colour classes U and W . First let k be even. Then find an Eulerian
orientation of the edges of G (this can be done in O(m) time (Theorem 6.7)). Let
F be the set of edges oriented from U to W .
Next let k be odd. Call a subset F of E almost regular if | degF (v)degF (u)| 1
for all u, v V . (Here degF (v) is the degree of v in the graph (V, F ).)
Moreover, let odd(F ) and even(F ) denote the sets of vertices v with degF (v)
odd and even, respectively, and let (F ) denote the maximum degree of the graph
(V, F ). We give an O(m) algorithm for the following problem:
(16.10) given: an almost regular subset F of E with (F ) 2,
find: an almost regular subset F of E with (F ) 2 and |odd(F )|
1
2
|odd(F )|.
In time O(m) we can find a subset F of F such that
(16.11) 12 degF (v) degF (v) 12 degF (v)
for each vertex v: make an Eulerian orientation in the graph obtained from (V, F )
by adding edges so as to make all degrees even, and choose for F the subset of all
edges oriented from U to W . So F and F \ F are almost regular.
We choose F such that
(16.12) |odd(F ) odd(F )| 12 |odd(F )|
(otherwise replace F by F \ F ). Let 2l be the degree of the even-degree vertices
of (V, F ). We consider two cases.
Case 1: l is even. Define F := F . By (16.11), F is almost regular. Moreover, as
l is even, odd(F ) odd(F ), implying (with (16.12)) that |odd(F )| 12 |odd(F )|.
Finally, (F ) 2, since otherwise (F ) 3 and hence l = 0, implying (F ) 1,
a contradiction.
Case 2: l is odd. Define F := F (E \ F ). Then F is almost regular, since each
degF (v) is either 21 degF (v) + k degF (v) = k 12 degF (v) or 12 degF (v) +
k degF (v) = k 21 degF (v).
Since k is odd, one also has (by definition of F ): degF (v) is odd
degF (v) + k degF (v) is odd degF (v) degF (v) (mod 2)
v odd(F ) odd(F ) (since even(F ) odd(F ), as l is odd). So |odd(F )| =
|odd(F ) odd(F )| 21 |odd(F )|, by (16.12).
Finally, suppose that (F ) 1. Choose v odd(F )\odd(F ). So v even(F ),
hence degF (v) = 0, implying degF (v) = 0 and degF (v) = k. But then 0 = 12 k,
and so k 1, a contradiction.
This describes the O(m)-time algorithm for problem (16.10). It implies that one can
find an almost regular subset F of E with (F ) 2 and odd(F ) = in O(m log n)
time. So (V, F ) is a regular subgraph of G, and we have solved (16.9).
This implies an O(m log n) algorithm for finding a perfect matching: First find a
subset F of E as in (16.9). Without loss of generality, |F | 12 |E|. Recursively, find a
perfect matching in (V, F ). The time is bounded by O((m+ 21 m+ 14 m+ ) log n) =
O(m log n).
In fact, as was shown by Cole, Ost, and Schirra [2001], one can find a perfect
matching in a regular bipartite graph in O(m) time. To explain this algorithm, we
Section 16.7b. Finding perfect matchings in regular bipartite graphs 269
increases by
(16.15) ((we +1)2 we2 )+ ((we 1)2 we2 ) = 2w(M )+|M |2w(N )+|N |,
eM eN
The bound given in this theorem was improved to linear time independent of
the degree, by Cole, Ost, and Schirra [2001]. Their method forms a sharpening of
the method described in the proof of Theorem 16.10, utilizing the fact that when
breaking a circuit, the path segments left (chains) can be used in the further path
search to extend the path by chains, rather than just edge by edge. To this end,
these chains need to be supplied with some extra data structure, the self-adjusting
binary trees, in order to avoid that we have to run through the chain to find an
end of the chain where it can be attached to the path. The basic operation is the
splay.
The main technique of Cole, Ost, and Schirras theorem is contained in the
proof of the following theorem. For any graph G = (V, E) call a (weight) function
w : E R k-regular if w((v)) = k for all v V .
270 Chapter 16. Cardinality bipartite matching and vertex cover
II. Data structure. In order to make profit of storing paths, we need additional
data structure (based on self-adjusting binary trees, analyzed by Sleator and Tar-
jan [1983b,1985], cf. Tarjan [1983]).
We keep a collection P of paths (possibly singletons), each being a subpath of
a component of F , such that
(16.18) (i) each component of F itself is a path in P;
(ii) P is laminar, that is, any two paths in P are vertex disjoint, or one
is a subpath of the other;
(iii) any nonsingleton path P P has an edge eP such that the two
components of P eP again belong to P.
With any path P P we keep the following information:
(16.19) (i) the number |P | of vertices in P ;
(ii) a list ends(P ) of the ends of P (so ends(P ) contains one or two
vertices);
Section 16.7b. Finding perfect matchings in regular bipartite graphs 271
III. The splay. We now describe splaying an edge e F . It changes the data
structure so that Pe becomes a root, keeping F invariant. It modifies the tree
associated with the laminar family through three generations at a time, so as to
attain eciency on average. (The adjustments make future searches more ecient.)
The splay is as follows. While parent(Pe ) = null, do the following:
(16.23) Let Pf := parent(Pe ).
Case 1: parent(Pf ) = null. Reset as in:
Pf f e Pe
Pe e f Pf
Case 2: parent(Pf ) = null. Let Pg := parent(Pf ). If Pe and Pg have
an end in common, reset as in:
Pg g e Pe
Pf f f Pf
Pe e g Pg
If Pe and Pg have no end in common, reset as in:
Pg g e Pe
Pf f Pf f g Pg
Pe e
272 Chapter 16. Cardinality bipartite matching and vertex cover
Note that Case 1 applies only in the last iteration of the while loop. It is straight-
forward to check that the data associated with the paths can be restored in O(1)
time at any iteration.
IV. Running time of one splay. To estimate the running time of a splay, define:
(16.24) := log |P |,
P P
V. The algorithm. Now we use the splay to perform the conceptual operations
described in the conceptual outline (proof section I above). Thus, let v be the last
vertex of the current path Q (cf. (16.16)) and let e = vu be an edge in E \F incident
with u. Determine the root P P containing u (possibly by splaying an edge in F
incident with u).
Case A: P is not on Q. (We keep a pointer to indicate if a root belongs to Q.)
Find a root R as follows. If u is incident with no edge in F , then R := {u}. If u is
incident with exactly one edge f F , splay f and let R := Pf . If u is incident with
two edges in F , by splaying find f F incident with u such that (after splaying f )
subpaths(Pf ) = {R, R } where u ends(R) and |R| > |R |; then delete Pf from P,
and f from F .
This determines R. If |Pt | + |R| k2 , add e to F , let Pe be the join of Pt , e,
and R, and reset Pt in Q to Pe . If |Pt | + |R| > k2 , extend Q by e, Pt+1 := R.
Case B: P is on Q, say P = Pj . By (possibly) splaying, we can decide if u is at
the end of Pj or not. In the former case, reset Q := P0 , e1 , P1 , . . . , ej , Pj and let
C := ej+1 , Pj+1 , . . . , Pt , e. In the latter case, split Pj to Pj , f, Pj in such a way that
Section 16.7b. Finding perfect matchings in regular bipartite graphs 273
VI. Running time of the algorithm. We finally estimate the running time. In
any iteration, let be the number of roots of P that are not on Q. Initially, n.
During the algorithm, only increases when we are in Case B and break a circuit
C, in which case increases by at most
LC
(16.28) 2 2 + mC + 2,
k
where LC is the length of C in G (that is, the number of edges ei plus the sum of
the lengths of the paths Pi in C), and where mC is the number of edges of weight
0 deleted at the end of the iteration. Bound (16.28) uses the fact that the sizes of
any two consecutive paths along C sum up to more than k2 , except possibly at the
beginning and the end of the circuit, and that any edge of weight 0 can split a root
into two new roots.
Now if we sum bound (16.28) over all circuits C throughout the iterations, we
have
LC
(16.29) (2 2 + mC + 2) = O(m),
C
k
since C LC nk2 , like in the proof of the previous theorem (note that mC 1
for each C, so the term 2 is absorbed by mC ). So the number of roots created
throughout the Case B iterations is O(m). Now at each Case A iteration, we split
o a part of a root of size less than half the size of the root; the split o part can
be used again by Q some time in later iterations. Hence any root can be split at
most log k2 times, and therefore, the number of Case A iterations is O(m log k). In
particular, the number of times we join two paths in P and make a new path is
O(m log k).
Next consider as defined in (16.24). Note that at any iteration except for
joins and splays, does not increase. At any join, increases by at most log k2 ,
and hence the total increase of during joins is O(m log2 k).
Now the number of splays during any Case A iteration is O(1), and during any
Case B iteration O(LC /k2 + mC + 1). Hence by (16.29), the total number of splays
is O(m log k). By (16.25), each splay takes time O( +log k), where is the decrease
of (possibly < 0). The sum of over all splays is O(m log2 k), as this is the total
increase of during joins. So all splays take time O(m log2 k). As the number of
splits is proportional to the number of splays, and each takes O(1) time, we have
the overall time bound of O(m log2 k).
274 Chapter 16. Cardinality bipartite matching and vertex cover
This result will be used in obtaining a fast edge-colouring algorithm for bipartite
graphs (Section 20.9a).
Notes. Alon [2000] gave the following easy O(m log m)-time method for finding a
perfect matching in a regular bipartite graph G = (V, E). Let k be the degree, and
choose t with 2t kn. Let := 2t /k and := 2t k. So < k. Let H be the
graph obtained from G by replacing each edge by parallel edges, and by adding
a -regular set F of (new) edges, consisting of 12 n disjoint classes, each consisting
of parallel edges. So H is 2t -regular.
Iteratively, split H into two regular graphs of equal degree (by determining an
Eulerian orientation), and reset H to the graph that has a least number of edges
in F .
As |F | = 12 n < 2t , after log2 |F | < t iterations, H contains no edge in F .
Hence after t iterations we have a perfect matching in H not intersecting F ; that
is, we have a perfect matching in G.
This gives an O(m log m)-time method, provided that we do not display the
graph H fully, but handle the parallel edges implicitly (by the sizes as a function
of the underlying edges).
Note that O(m log m) = O(nk(log k + log n)). An O(nk + n log n log k)-time
algorithm finding a perfect matching in a k-regular bipartite graph was given by
Rizzi [2002].
(Csima and Lov asz [1992] described a space-ecient O(n2 k log k)-time algo-
rithm for finding a perfect matching in a k-regular bipartite graph.)
Section 16.7c. The equivalence of Mengers theorem and K
onigs theorem 275
We have seen that K onigs matching theorem can be derived from Mengers theorem
(by the construction given in the proof of Theorem 16.4) in fact it forms the
induction basis in Mengers proof. The interrelation however is even stronger, as was
noticed by Homan [1960] (cf. Orden [1955], Ford and Fulkerson [1958c], Homan
and Markowitz [1963], Ingleton and Pi [1973]): in turn Mengers theorem (in the
form of Theorem 9.1) can be derived from K onigs matching theorem by a direct
(noninductive) construction.
Let D = (V, A) be a directed graph and let S, T V . We may assume that
S T = . For each v V \ S introduce a vertex v and for each v V \ T introduce
a vertex v . Let E be the set of pairs {u , v } with u V \ S and v V \ T with the
property that (u, v) A or u = v. This makes the bipartite graph G, containing
the matching
(16.30) M := {{v , v } | v V \ (S T )}.
For any X V , let X := {v | v X} and X := {v | v X}.
Now let M be a matching in G of size (G). For each component of M M
having more than one vertex, we may assume that it is an M -augmenting path
(since any other component K has an equal number of edges in M and in M , and
hence we can replace M by M K). Each M -augmenting path is an S T path.
Hence there exist |M | |M | = (G) |V \ (S T )| vertex-disjoint S T paths.
Let U V \ T and W V \ S be such that D := U W is a vertex cover of
G, with |U | + |W | = (G). Then
(16.31) C := (U S) (U W ) (W T )
intersects each S T path in D. Indeed, suppose P = (v0 , v1 , . . . , vk ) is an S T
path not intersecting C. We may assume that P intersects S and T only at v0 and
vk , respectively. Now
(16.32) Q := (v0 , v1 , v1 , . . . , vk1
, vk1 , vk )
is a path in G of odd length 2k 1. Hence D intersects Q in at least k vertices.
Therefore, v0 D (hence v0 U S C), or vk D (hence vk W T C),
or vi , vi D for some i {1, . . . , k 1} (hence vi U W C). So C intersects
each S T path in D.
As
(16.33) |C| = |U S|+|U W |+|W T | = |U S|+|U |+|W ||U W |+|W T |
= |U | + |W | |V \ (S T )|
(since (U W ) \ (S T ) = V \ (S T )), and as |U | + |W | = (G) = (G), we have
that the size of C is at most the number of disjoint S T paths found above.
The converse construction (described by Kuhn [1956]) also applies. Let be given
a bipartite graph G = (V, E), with colour classes U and W , and a matching M in
G. Orient each edge from U to W , and next contract all edges in M . This gives a
directed graph D = (V , A). Let S and T be the sets of vertices in U and W missed
by M . Then the maximum number of vertex-disjoint S T paths in D is equal to
(G) |M |.
These constructions also imply:
276 Chapter 16. Cardinality bipartite matching and vertex cover
Theorem 16.12. For any function (n, m) one has: the bipartite matching problem
with n vertices and m edges is solvable in time O((n, m)) the disjoint s t
paths problem with n vertices and m arcs is solvable in time O((n, m)).
Frobenius [1917] proved his theorem (Corollary 16.2a) in terms of matrices, in the
following form:
(16.34) Each diagonal of an n n matrix has product 0 if and only if M has
a k l all-zero submatrix with k + l > n.
Similarly, K
onigs matching can be formulated in matrix terms as follows:
(16.35) In a matrix, the maximum number of nonzero entries with no two in
the same line (=row or column) is equal to the minimum number of
lines that include all nonzero entries.
An equivalent form of K onigs theorem on the existence of a perfect matching in a
regular bipartite graph (Corollary 16.2b) is:
(16.36) If in a nonnegative matrix each row and each column has the same
positive sum, then it has a diagonal with positive entries.
Bipartite graphs can be studied also as unions of two partitions of a given set.
Indeed, let G = (V, E) be a bipartite graph. Then the family ((v) | v V ) is a
union of two partitions of E. Since each union of two partitions arises in this way,
we can formulate theorems on bipartite graphs equivalently as theorems on unions
of two partitions of a set.
The following equivalent form of Frobenius theorem (Corollary 16.2a) was given
by Maak [1936]:
(16.37) Let A and B be two partitions of the finite set X. Then there is a
subset Y of X intersecting each set in A B in exactly one element if
and only if for each natural number k, the union of any collection of k
classes of A intersects at least k classes of B.
This implies the following equivalent form of Corollary 16.2b, given by van der
Waerden [1927] (with short proof by Sperner [1927] see Section 22.7d):
(16.38) Let A = (A1 , . . . , An ) and B = (B1 , . . . , Bn ) be two partitions of a
finite set X with |A1 | = = |An | = |B1 | = = |Bn |. Then there
is a subset Y of X intersecting each Ai and each Bi in exactly one
element.
Some of the matching results can be formulated in terms of (common) transver-
sals. We will discuss this more extensively in Chapters 22 and 23.
Section 16.7g. Further notes 277
Extensions of Frobenius and K onigs theorems to the infinite case were considered
by K onig and Valk o [1925], Shmushkovich [1939], de Bruijn [1943], Rado [1949b],
Brualdi [1971f], Aharoni [1983b,1984b], and Aharoni, Magidor, and Shore [1992].
Itai, Rodeh, and Tanimoto [1978] showed that, given a bipartite graph G =
(V, E), F E, and k Z+ , one can find a perfect matching M with |M F | k
(or decide that no such perfect matching exists) in time O(nm). (This amounts to
a minimum-cost flow problem.)
Karp, Vazirani, and Vazirani [1990] gave an optimal on-line bipartite matching
algorithm. Motwani [1989,1994] investigated the expected running time of matching
algorithms.
The following question was posed by A. Frank: Given a bipartite graph
G = (V, E) whose edges are coloured red and blue, and given k and l; when does
there exist a matching containing k red edges and l blue edges? This problem is
NP-complete, but for complete bipartite graphs it was characterized by Karzanov
[1987c].
An extension of Frobenius theorem to more general matrices than described in
Section 16.2b was given by Hartfiel and Loewy [1984].
Dulmage and Mendelsohn [1958] study minimum-size vertex covers in a bipar-
tite graph as a lattice. For maintaining perfect matchings in the presence of failure,
see Sha and Steiglitz [1993]. Lov asz [1970a] gave a generalization of K
onigs match-
ing theorem see Section 60.1a. Uniqueness of a maximum-size matching in a
bipartite graph was investigated by Cechl arov
a [1991], and related work was re-
ported by Costa [1994]. A variant of K onigs matching theorem was given by de
Werra [1984].
For surveys on matching algorithms, see Galil [1983,1986a,1986b]. For sur-
veys on bipartite matching, see Woodall [1978a,1978b]. Books discussing bipartite
matching include Ford and Fulkerson [1962], Ore [1962], Dantzig [1963], Christofi-
des [1975], Lawler [1976b], Even [1979], Papadimitriou and Steiglitz [1982], Tarjan
[1983], Tutte [1984], Halin [1989], Cook, Cunningham, Pulleyblank, and Schrijver
278 Chapter 16. Cardinality bipartite matching and vertex cover
K
onigs work on matchings in regular bipartite graphs
That is, every regular bipartite graph has a perfect matching (= factor of degree
1). As a corollary, K
onig derived:
B. Chaque graphe regulier `
a circuits pairs est le produit de facteurs du premier
degr
e; le nombre de ces facteurs est
egal au degre du graphe.7
That is, each k-regular bipartite graph is k-edge-colourable (cf. Chapter 20).
K
onig did not give a proof of the theorem in the Paris paper, but expressed the
hope to give a complete proof at another occasion.
This occasion came in K onig [1916] (presented to Class III of the Hungarian
Academy of Sciences on 15 November 1915) where next to the above mentioned
Theorems A and B, K onig gave the following result:
C) Ha egy p
aros k
or
ulj
ar
as
u graph barmelyik cs
ucs
aba legfeljebb k-sz
amuel fut,
akkor minden
el
ehez oly modon lehet k-sz
amu index valamelyiket hozz
arendelni,
hogy ugyanabba a csucsba fut
o k
et
elhez mindenkor ket k
ul
onbozo index legyen
rendelve.8
Next:
E) Ha egy determinans minden sor aban
es oszlop
aban pontosan k-sz
am u el nem
t
un
o elem van, akkor legal
abb k-sz
amu determin unik el.10
anstag nem t
Third:
F) Ha egy n2 mezej u quadratikus t abl
an kn-sz amu figura ugy van elhelyezve
(ugyanazon a mez on tobb figura is lehet), hogy minden sorban es oszlopban
pontosan k-szamu figura fordul el
o, akkor e konfigur aczi
o mindig mint k-szamu
ugyancsak n2 mezej u oly konfigur
aczi
o egyest
ese keletkeztethet
o, melyek minde-
gyik
eben egy-egy figura van minden sorban es minden oszlopban.11
7 B. Each regular graph with even circuits is the product of factors of the first degree;
the number of these factors is equal to the degree of the graph.
8 C) If in each vertex of an even circuit graph at most k edges meet, then one can assign
to each of the edges of the graph one from k indices in such a way that two edges that
meet in a point always obtain dierent indices.
9 D) If in a determinant of nonnegative [integer] numbers each row and each column
yield the same positive sum, then at least one member of the determinant is dierent
from zero.
10 E) If the number of nonvanishing elements in each row and column of a determinant
is exactly equal to k, then there are at least k nonvanishing determinant members.
11 F) If kn pieces are placed on a quadratic board with n2 fields (where several pieces
may stand in the same field), such that each row and each column contains exactly k
pieces, then this configuration always arises by joining k such configurations with also
n2 fields, in which each row and each column contains exactly one piece.
280 Chapter 16. Cardinality bipartite matching and vertex cover
Frobenius theorem
Frobenius gave a short combinatorial proof of his theorem see Section 16.2a.
His proof is in terms of determinants, and he oered his opinion on graph-theoretic
methods:
Die Theorie der Graphen, mittels deren Hr. Ko nig den obigen Satz abgeleitet
hat, ist nach meiner Ansicht ein wenig geeignetes Hilfsmittel f ur die Entwick-
lung der Determinantentheorie. In diesem Falle f
uhrt sie zu einem ganz speziellen
Satze von geringem Werte. Was von seinem Inhalt Wert hat, ist in dem Satze II
ausgesprochen.14
In October 1926, van der Waerden [1927] presented the following theorem at the
Mathematisches Seminar in Hamburg:
Es seien zwei Klasseneinteilungen einer endlichen Menge M gegeben. Die eine
soll die Menge in zueinander fremde Klassen A1 , . . . , A zu je n Elementen
zerlegen, die andere ebenfalls in fremde Klassen B1 , . . . , B zu je n Elementen.
Dann gibt es ein System von Elementen x1 , . . . , x , derart, da jede A-Klasse
und ebenso jede B-Klasse under den xi durch ein Element vertreten wird.15
The proof of van der Waerden is based on an augmenting path argument. More-
over, van der Waerden remarked that E. Artin has communicated orally to him that
the result can be sharpened to the existence of n disjoint such common transversals.
In the article, the following note is added in proof:
Zusatz bei der Korrektur. Ich bemerke jetzt, da der hier bewiesene Satz mit
nes Ko
einem Satz von De nig u
ber regul aquivalent ist.16
are Graphen
The article of van der Waerden is followed by an article of Sperner [1927] (presented
at the Mathematisches Seminar in Januari 1927), which gives a simple proof of
van der Waerdens result we quote the full paper in Section 22.7d.
K
onigs matching theorem
Um die Tragweite dieses Satzes zu beleuchten, wollen wir noch zeigen, da ein
von mir schon vor l
angerer Zeit bewiesener Satz u ber die Faktorenzerlegung von
regul
aren endlichen paaren Graphen aus Satz 13 unmittelbar abgeleitet werden
kann.
Der betreende Satz lautet:
are Graph besitzt einen Faktor ersten Grades.18
14. Jeder endliche paare regul
In a footnote, K
onig mentioned:
Sp
ater wurden fur diesen Satz, bzw. f
ur seine Interpretation in der Determi-
nantentheorie und in der Kombinatorik verschiedene Beweise gegeben, so durch
Frobenius, Sainte-Lague , van der Waerden, Sperner, Skolem, Egerva ry.19
and
18. Die Minimalzahl der Reihen (Zeilen und Spalten), welche in ihr Gesamtheit
jedes nicht-verschwindende Element einer Matrix enthalten, ist gleich der Maxi-
malzahl von nicht-verschwindenden Elementen, welche paarweise verschiedenen
oren.22
Zeilen und verschiedenen Spalten angeh
Die Satze 17 und 18 hat der Verfasser, mit den hier gegebenen Beweisen, am 26.
Marz 1931 in der Budapester Mathematischen und Physikalischen Gesellschaft
vorgetragen, s. [6]. Hieran anschlieend hat dann E. Egerva ry [1] f
ur den Satz
18 einen anderen Beweis und eine interessante Verallgemeinerung gegeben.23
Es sei noch erwahnt, da wir oben, im 2, beim Beweis des Satzes 16 einen
Gedanken von Frobenius ben utzt haben, den er bei seiner Zur
uckf
uhrung des
Satzes 20 auf Satz 19 angewendet hat.26
(We note that K onigs quotation aus verborgenen Eigenschaften der Determinanten
mit nichtnegativen Elementen is from Frobenius [1917]. The references [3], [4], and
[5] in Konigs article correspond to our references Frobenius [1917], Konig [1915],
and K onig [1916], respectively.)
In terms of transversals, the theorems of Frobenius and Konig have been redis-
covered by Hall [1935] see the historical notes on transversals in Section 22.7d.
Other developments are mentioned in Section 19.5a.
26 This theorem was proved there from hidden properties of determinants with nonneg-
ative elements by complicated arguments. Next, I gave in 1915, in my work [4], an
elementary, graph-theoretic proof (which was replaced here by an even simpler one).
Next, in 1917, also Frobenius [3] has published an elementary proof, and that after I
had sent him my proof (in German translation). Frobenius has refrained from men-
tioning this fact there, as well as my work [4] at all. Yet, he quotes my work [5], and
that with the following remark: The theory of graphs, by which Mr. Ko nig has derived
the theorem above [this is the determinant-theoretic interpretation of Theorem 14], is,
to my opinion, of little appropriate help for the development of determinant theory. In
this case it leads to a very special theorem of little value. What from its contents has
value, is expressed in Theorem II [this is Theorem 19 of Frobenius].
Obviously, the author of the present treatise will not subscribe to this opinion. The
arguments that one can produce for or against the value or valuelessness of a theorem
or a method, have always, more or less, a subjective character, so that it would be of
little scientific value when we here tried to fight the point of view of Frobenius. But
if Frobenius wants to base his rejecting criticism about the applicability of graphs to
determinant theory on the fact that his actually more valuable Theorem 19 cannot
be proved graph-theoretically, then his ground isas we have seencertainly not solid.
The graph-theoretic proof that we have given for Theorem 19 seems to us to be a simple
and illustrative proof, that corresponds naturally to the combinatorial character of the
theorem and also leads to a remarkable generalization (Theorem 17).
Let it finally be mentioned that above, in 2, in the proof of Theorem 16, we have
used an idea of Frobenius, which he has applied at his reduction of Theorem 20 to
Theorem 19.
Chapter 17
The methods and results of the previous chapter can be extended to han-
dle maximum-weight matchings. Egerv arys theorem is the weighted ver-
sion of K
onigs matching theorem. It led Kuhn to develop the Hungarian
method for the assignment problem. This problem is equivalent to finding
a minimum-weight perfect matching in a complete bipartite graph.
Proof. The maximum is not more than the minimum, since for any matching
M and any y RV+ satisfying (17.1) for each edge e = uv, one has
(17.2) w(M ) (yu + yv ) yv .
e=uvM vV
To see equality, choose a y RV+ attaining the minimum value. Let F be the
set of edges e having equality in (17.1) and let R be the set of vertices v with
yv > 0.
If F contains a matching M covering R, we have equality throughout in
(17.2), showing that the maximum is equal to the minimum value.
So we may assume that no such matching exists. Then by Corollary 16.8a
there exists a stable set S R containing no edge and such that |N (S)| < |S|.
286 Chapter 17. Weighted bipartite matching and the assignment problem
Theorem 17.3. The method can be performed in time O(n(m + n log n)).
Observe that in the Hungarian method one can stop as soon as matching
M has no larger weight than M ; that is, DM has no UM WM path of
negative length. For let N be a matching with w(N ) > w(M ). So |N | > |M |
27 A potential for a digraph D = (V, A) with respect to a length function l : A R is a
function p : V R satisfying p(v) p(u) l(a) for each arc a = (u, v).
288 Chapter 17. Weighted bipartite matching and the assignment problem
(since all matchings of size |M | have weight w(M )). Choose N with
|N M | minimal. By similar arguments as used in the proof of Theorem
17.2, we may assume that N M has |N | |M | nontrivial components, each
having one more edge in N than in M . So each component gives a UM WM
path in DM . As none of them have negative length, we have w(N ) w(M ),
a contradiction.
Hence we can reduce the factor n in the time bound:
Proof. Clearly, the minimum is not less than the maximum, since for any
perfect matching M and any y QV satisfying (17.6) one has
(17.7) w(M ) = we yv = y(V ).
eM vV
Gassner [1964] studied cycling of the simplex method when applied to the as-
signment problem. Using the strongly feasible trees of Cunningham [1976], Roohy-
Laleh [1980] showed that a version of the simplex method solves the assignment
problem in less than n3 pivots (cf. Hung [1983], Orlin [1985], and Akg ul [1993];
the last paper gives a method with O(n2 ) pivots, yielding an O(n(m + n log n))
algorithm).
Balinski [1985] (cf. Goldfarb [1985]) showed that a version of the dual simplex
method (the signature method ) solves the assignment problem in strongly poly-
nomial time (O(n2 ) pivots, yielding an O(n3 ) algorithm). More can be found in
Dantzig [1963], Barr, Glover, and Klingman [1977], Balinski [1986], Ahuja and Or-
lin [1988,1992], Akg ul [1988], Paparrizos [1988], and Akgul and Ekin [1991].
For further algorithmic studies of the assignment problem, consult Flood [1960],
Kurtzberg [1962], Homan and Markowitz [1963], Balinski and Gomory [1964],
Tabourier [1972], Carpaneto and Toth [1980a,1983,1987], Hung and Rom [1980],
Karp [1980], Bertsekas [1981,1987,1992] (auction method), Engquist [1982], Avis
[1983], Avis and Devroye [1985], Derigs [1985b,1988a], Carraresi and Sodini [1986],
Derigs and Metz [1986a], Glover, Glover, and Klingman [1986], Jonker and Vol-
genant [1986], Kleinschmidt, Lee, and Schannath [1987], Avis and Lai [1988], Bert-
sekas and Eckstein [1988], Motwani [1989,1994], Kalyanasundaram and Pruhs [1991,
1993], Khuller, Mitchell, and Vazirani [1991,1994], Goldberg and Kennedy [1997]
(push-relabel), and Arora, Frieze, and Kaplan [1996,2002].
For computational studies, see Silver [1960], Florian and Klein [1970], Barr,
Glover, and Klingman [1977] (simplex method), Gavish, Schweitzer, and Shlifer
[1977] (simplex method), Bertsekas [1981], Engquist [1982], McGinnis [1983], Lind-
berg and Olafsson [1984] (simplex method), Glover, Glover, and Klingman [1986],
Jonker and Volgenant [1987], Bertsekas and Eckstein [1988], and Goldberg and
Kennedy [1995] (push-relabel). Consult also Johnson and McGeoch [1993].
Linear-time algorithm for weighted bipartite matching problems satisfying a
quadrangle or other inequality were given by Karp and Li [1975], Buss and Yianilos
[1994,1998], and Aggarwal, Bar-Noy, Khuller, Kravets, and Schieber [1995].
For generating all minimum-weight perfect matchings, see Fukuda and Matsui
[1992]. For studies of the most vital edges in a weighted bipartite graph, see Hung,
Hsu, and Sung [1993].
Ar
aoz and Edmonds [1985] gave an example showing that iterative dual im-
provements in the linear programming problem dual to the assignment problem,
need not converge for irrational data.
For the bottleneck assignment problem, see Gross [1959] and Garfinkel [1971].
An algebraic approach to assignment problems was described by Burkard, Hahn,
and Zimmermann [1977].
For surveys on matching algorithms, see Galil [1983,1986a,1986b]. Books cov-
ering the weighted bipartite matching and assignment problems include Ford
and Fulkerson [1962], Dantzig [1963], Christofides [1975], Lawler [1976b], Bazaraa
and Jarvis [1977], Burkard and Derigs [1980], Papadimitriou and Steiglitz [1982],
Gondran and Minoux [1984], Rockafellar [1984], Derigs [1988a], Bazaraa, Jarvis,
and Sherali [1990], Cook, Cunningham, Pulleyblank, and Schrijver [1998], Jung-
nickel [1999], Mehlhorn and N aher [1999], and Korte and Vygen [2000].
292 Chapter 17. Weighted bipartite matching and the assignment problem
The assignment problem is one of the first studied combinatorial optimization prob-
lems. It was investigated by Monge [1784], albeit camouflaged as a continuous prob-
lem, and often called a transportation problem.
Monge was motivated by transporting earth, which he considered as the dis-
continuous, combinatorial problem of transporting molecules:
Lorsquon doit transporter des terres dun lieu dans un autre, on a coutime de
donner le nom de D eblai au volume des terres que lon doit transporter, & le nom
de Remblai ` a lespace quelles doivent occuper apr`es le transport.
Le prix du transport dune molecule etant, toutes choses dailleurs egales, pro-
portionnel `a son poids & ` a lespace quon lui fait parcourir, & par consequent le
prix du transport total devant etre proportionnel ` a la somme des produits des
molecules multipliees chacune par lespace parcouru, il sensuit que le deblai &
le remblai etant donnes de figure & de position, il nest pas indierent que telle
molecule du deblai soit transportee dans tel ou tel autre endroit du remblai, mais
quil y a une certaine distribution `a faire des molecules du premier dans le second,
dapr`es laquelle la somme de ces produits sera la moindre possible, & le prix du
transport total sera un minimum.29
sur le segment egal bcd; car si un point K quelconque du segment BAD, etoit
port e sur un point k de bcd, il faudroit necessairement quun point egal L, pris
quelque part dans BCD, f ut transporte dans un certain point l de bad, ce qui
ne pourroit pas se faire sans que les routes Kk, Ll, ne se coupassent entre leurs
extr emites, & la somme des produits des molecules par les espaces parcourus ne
seroit pas un minimum. Pareillement, si par un point M infiniment proche du
point M , on m`ene la droite B d , telle quon ait encore le segment B A D , egal
au segment b a d , il faut pour que la question soit satisfaite, que les molecules
du segment B A D soient transportees sur b a d . Donc toutes les molecules de
l ement BB D D doivent
el ement egal bb d d. Ainsi en
etre transportees sur lel
divisant le d eblai & le remblai en une infinite d
el
emens par des droites qui coupent
dans lun & dans lautre des segmens egaux entreux, chaque el ement du d eblai
doit etre porte sur l
el
ement correspondant du remblai.
Les droites Bd & B d etant infiniment proches, il est indierent dans quel or-
dre les mol ecules de l ement BB D D se distribuent sur lel
el ement bb d d; de
quelque mani` ere en eet que se fasse cette distribution, la somme des produits
des mol ecules par les espaces parcourus, est toujours la meme, mais si lon remar-
que que dans la pratique il convient de debleyer premi`erement les parties qui se
trouvent sur le passage des autres, & de noccuper que les derni`eres les parties du
remblai qui sont dans le meme cas; la molecule M M ne devra se transporter que
lorsque toute la partie M M D D qui la pr ec e transportee en mm d d;
ede, aura et
donc dans cette hypoth`ese, si lon fait mm d d = M M D D, le point m sera celui
sur lequel le point M sera transporte.30
Il est bien facile de faire la figure de mani`ere que les chemins suivis par les deux
parcelles dont parle Monge ne se croisent pas.31
Egerv
ary
Egerv
ary [1931] published a weighted version of K
onigs theorem:
Ha az aij n-edrend
u matrix elemei adott nem negatv eg
esz sz
amok, u
gy a
i + j aij , (i, j = 1, 2, ...n),
(i , j nem negatv eg
esz sz
amok)
felt
etelek mellett
n
min . (k + k ) = max .(a11 + a22 + + ann ).
k=1
The proof method of Egerv ary is essentially algorithmic. Assume that the ai,j are
integer. Let i , j attain the minimum. If there is a permutation of {1, . . . , n}
with i + i = ai,i for all i, then this permutation attains the maximum, and we
have the required equality. If no such permutation exists, by Frobenius theorem
there are subsets I, J of {1, . . . , n} such that
(17.8) i + j > ai,j for all i I, j J
and such that |I| + |J| = n + 1. Resetting i := i 1 if i I and j := j + 1
if j J, would give feasible values for the i and j , however with their total sum
being decreased. This is a contradiction.
Translated into an algorithm, it consists of applying O(nW ) times a cardinality
bipartite matching algorithm, where W is the maximum weight. So its running
time is O(nW B(n)), where B(n) is a bound on the running time of any algorithm
finding a maximum-size matching and a minimum-size vertex cover in a bipartite
graph with n vertices.
This method forms the basis for the Hungarian method of Kuhn [1955b,1956]
see below.
31 It is very easy to make the figure in such a way that the routes followed by the two
particles of which Monge speaks, do not cross each other.
32 If the elements of the matrix aij of order n are given nonnegative integers, then
under the assumption
i + j aij , (i, j = 1, 2, ...n),
(i , j nonnegative integers)
we have
n
min . (k + k ) = max .(a11 + a22 + + ann ).
k=1
where 1 , 2 , ...n run over all possible permutations of the numbers 1, 2, ...n.
Section 17.5c. Historical notes 295
The 1940s
The first algorithm for the assignment problem might have been published by East-
erfield [1946], who described his motivation as follows:
In the course of a piece of organisational research into the problems of demobili-
sation in the R.A.F., it seemed that it might be possible to arrange the posting of
men from disbanded units into other units in such a way that they would not need
to be posted again before they were demobilised; and that a study of the numbers
of men in the various release groups in each unit might enable this process to be
carried out with a minimum number of postings. Unfortunately the unexpected
ending of the Japanese war prevented the implications of this approach from be-
ing worked out in time for eective use. The algorithm of this paper arose directly
in the course of the investigation.
The past decade, and particularly the war years, have witnessed a great concern
about the classification of personnel and a vast expenditure of eort presumably
directed towards this end.
Thorndike next presented three heuristics for the assignment problem, the Method
of Divine Intuition, the Method of Daily Quotas, and the Method of Predicted Yield.
In a RAND Report dated 5 December 1949, Robinson [1949] reported that
an unsuccessful attempt to solve the traveling salesman problem, led her to the
following cycle-cancelling method for the optimum assignment problem.
Let matrix (ai,j ) be given, and consider any permutation . Define for all i, j
a length li,j by: li,j := aj,(i) ai,(i) if j = (i) and li,(i) = . If there exists
a negative-length directed circuit, there is a straightforward way to improve . If
there is no such circuit, then is an optimal permutation.
This clearly is a finite method. Robinson remarked:
I believe it would be feasible to apply it to as many as 50 points provided suitable
calculating equipment is available.
where x ranges over row strategies, y over column strategies, i over row indices,
and j over column indices. Equality (17.9) follows from LP-duality.
It implies that the best strategy for the row player is to choose rows with
distribution an optimum x in (17.9). Similarly, the best strategy for the column
player is to choose columns with distribution an optimum y in (17.9). The average
pay-o then is the value of (17.9).
Section 17.5c. Historical notes 297
The method of Brown [1951] to determine the optimum strategies is that each
player chooses in turn the line that is best with respect to the distribution of the
lines chosen by the opponent so far. It was proved by Robinson [1951] that this
converges to optimum strategies. The method of Brown and von Neumann [1950] is
a continuous version of this, and amounts to solving a system of linear dierential
equations.
Now von Neumann noted that the following reduces the assignment problem to
the problem of finding an optimum column strategy. Let C = (ci,j ) be an n n cost
matrix, as input for the assignment problem. We may assume that C is positive.
Consider the following pay-o matrix A, of order 2n n2 , with columns indexed
by ordered pairs (i, j) with i, j = 1, . . . , n. The entries of A are given by: Ai,(i,j) :=
1/ci,j and An+j,(i,j) := 1/ci,j for i, j = 1, . . . , n, and Ak,(i,j) := 0 for all i, j, k with
k= i and k =
n + j. Then any minimum-cost assignment, of cost say, yields an
optimum column strategy y by: y(i,j) := ci,j / if i is assigned to j, and y(i,j) := 0
otherwise. Any optimum column strategy is a convex combination of strategies
obtained this way from optimum assignments. So an optimum assignment can in
principle be found by finding an optimum column strategy.
According to a transcript of the talk (cf. von Neumann [1951,1953]), von Neu-
mann noted the following on the number of steps:
It turns out that this number is a moderate power of n, i.e., considerably smaller
than the obvious estimate n! mentioned earlier.
Geometric methods were proposed by Lord [1952] and Dwyer [1954] (the
method of optimal regions) and other heuristics by Votaw and Orden [1952] and
Tornqvist [1953]. A survey of developments on the assignment problem until 1955
was given by Motzkin [1956].
The story begins in the summer of 1953 when the National Bureau of Stan-
dards and other US government agencies had gathered an outstanding group of
combinatorialists and algebraists at the Institute for Numerical Analysis (INA)
located on the campus of the University of California at Los Angeles. Since space
was tight, I shared an oce with Ted Motzkin, whose pioneering work on linear
inequalities and related systems predates linear programming by more than ten
years. A rather unique feature of the INA was the presence of the Standards West-
ern Automatic Computer (SWAC), the entire memory of which consisted of 256
Williamson cathode ray tubes. The SWAC was faster but smaller than its sibling
machine, the Standards Eastern Automatic Computer (SEAC), which boasted a
liquid mercury memory and which had been coded to solve linear programs.
If the world includes the Eastern Coast of the U.S.A., there seems to be some
discrepancy with the remarks of Votaw [1952] mentioned above.
On 23 April 1954, Gleyzal [1955] wrote that a code of his algorithm for the
transportation problem, for the special case of the assignment problem with an
8 8 matrix, had just been composed for the SWAC.
Tompkins [1956] mentioned the following branch-and-bound approach to the
assignment problem:
Benjamin Handy, on the suggestion of D.H. Lehmer and with advice from T.S.
Motzkin [1], coded this problem for SWAC; he used exhaustive search including
rejection of blocks of permutations when the first few elements of the trace led to
a hopelessly low contribution. The problem worked for a problem whose matrix
had 12 rows and 12 columns and was composed of random three-digit numbers.
The solution in this case took three hours. Some restrictions which had been
imposed concerning the types of problems to which the code should be applicable
led to some ineciencies; however, the simplex method of G.B. Dantzig [7] and
various other methods of solution of this problem seem greatly superior to this
method of exhaustive search;
(References [1] and [7] in this quotation are Motzkin [1956] and Dantzig [1951b].)
Kuhn [1955b,1956] developed a new combinatorial procedure for solving the assign-
ment problem. The method is based on the work of Egerv ary [1931], and therefore
Kuhn introduced the name Hungarian method for it. (According to Kuhn [1955b],
the algorithm is latent in work of D. K onig and J. Egerv
ary.) The method was
sharpened by Munkres [1957].
In an article On the origin of the Hungarian method, Kuhn [1991] presented the
following reminiscences on the Hungarian method, from the time starting Summer
1953:
Section 17.5c. Historical notes 299
During this period, I was reading K onigs classical book on the theory of graphs
and realized that the matching problem for a bipartite graph on two sets of n
vertices was exactly the same as an n by n assignment problem with all aij = 0
or 1. More significantly, K onig had given a combinatorial algorithm (based on
augmenting paths) that produces optimal solutions to the matching problem and
its combinatorial (or linear programming) dual. In one of the several formulations
given by K onig (p. 240, Theorem D), given an n by n matrix A = (aij ) with all
aij = 0 or 1, the maximum number of 1s that can be chosen with no two in the
same line (horizontal row or vertical column) is equal to the minimum number
of lines that contain all of the 1s. Moreover, the algorithm seemed to be good
in a sense that will be made precise later. The problem then was: how could the
general assignment problem be reduced to the 0-1 special case?
Reading K onigs book more carefully, I was struck by the following footnote (p.
238, footnote 2): ... Eine Verallgemeinerung dieser S atze gab Egervary, Ma-
trixok kombinatorius tulajdons agair
ol (Uber kombinatorische Eigenschaften von
Matrizen), Matematikai es Fizikai Lapok, 38, 1931, S. 16-28 (ungarisch mit einem
deutschen Auszug) ... This indicated that the key to the problem might be in
Egerv arys paper. When I returned to Bryn Mawr College in the fall, I obtained
a copy of the paper together with a large Hungarian dictionary and grammar
from the Haverford College library. I then spent two weeks learning Hungarian
and translated the paper [1]. As I had suspected, the paper contained a method
by which a general assignment problem could be reduced to a finite number of
0-1 assignment problems.
Using Egerv arys reduction and Konigs maximum matching algorithm, in the fall
of 1953 I solved several 12 by 12 assignment problems (with 3-digit integers as
data) by hand. Each of these examples took under two hours to solve and I was
convinced that the combined algorithm was good. This must have been one of
the last times when pencil and paper could beat the largest and fastest electronic
computer in the world.
The weighted matching problem for bipartite graphs discussed in the previ-
ous chapter is related to the matching polytope and the perfect matching
polytope, and can be handled with linear programming methods by the
total unimodularity of the incidence matrix of a bipartite graph.
In this chapter, graphs can be assumed to be simple.
Figure 18.1
Proof. To see necessity, suppose that G is not bipartite, and let C be an odd
circuit in G. Define xe := 21 if e C and xe := 0 otherwise. Then x satisfies
(18.2) but does not belong to the matching polytope of G.
To see suciency, let G be bipartite and let x satisfy (18.2). Let G and
x be a copy of G and x, and add edges vv , where v is the copy of v V .
Notes. Birkho derived Corollary 18.1a from Halls marriage theorem (Theo-
rem 22.1), which is equivalent to Konigs matching theorem. (Also Dulmage and
Halperin [1955] derived Birkhos theorem from Konigs matching theorem.) Other
proofs were given by von Neumann [1951,1953], Dantzig [1952], Homan and
Wielandt [1953], Koopmans and Beckmann [1955,1957], Hammersley and Mauldon
[1956] (a polyhedral proof based on total unimodularity), Tompkins [1956], Mirsky
[1958], and Vogel [1961]. A survey was given by Mirsky [1962]. More can be found
in Johnson, Dulmage, and Mendelsohn [1960], Nishi [1979], and Brualdi [1982].
Theorem 18.3. A graph G is bipartite if and only if the vertex cover polytope
of G is determined by (18.9).
Proof. Necessity follows from the total unimodularity of the incidence matrix
of A (Theorem 18.2). Suciency can be seen as follows. Suppose that G
contains an odd circuit C. Define yv := 21 for each v V . Then y satisfies
(18.9) but does not belong to the vertex cover polytope, as each vertex cover
contains more than 12 |V C| vertices in C.
without y, at the cost of an increase in the complexity, since we then must use
the Bellman-Ford method (like in our description in Section 17.2). We can use this
method since DM has no negative-length directed circuit, because M is an extreme
matching (that is, a matching of minimum weight among all matchings M with
|M | = |M |).
Indeed, we can define the length function l by le := we if e E \ M and
le := we if e M . Then DM has no negative-length directed circuits. Any shortest
UM WM path is an M -augmenting path yielding an extreme matching M with
|M | = |M | + 1.
Described in this way we have a purely primal method, since we keep no vector
y QV anymore.
Clearly, for each perfect matching M , the incidence vector M is a vertex of the
perfect matching polytope. Adjacency is also easily characterized (Balinski and
Russako [1974]):
Theorem 18.4. Let M and N be perfect matchings in a graph G = (V, E). Then
M and N are adjacent vertices of the perfect matching polytope if and only if
M N is a circuit.
Corollary 18.4a. The perfect matching polytope of a graph G = (V, E) has diam-
eter at most 21 |V |. If G is simple, the diameter is at most 41 |V |.
For complete bipartite graphs, this bound can be strengthened. The assignment
polytope is the perfect matching polytope of a complete bipartite graph Kn,n . So in
matrix terms, it is the polytope of the n n doubly stochastic matrices. Balinski
and Russako [1974] showed:
Proof. Let U and W be the two colour classes of Kn,n . Let M and N be two
distinct perfect matchings in Kn,n . Assume that M = N and that M and N are
not adjacent. Let M N be the vertex-disjoint union of the circuits C1 , . . . , Ck .
As M and N are not adjacent, k 2. For each i = 1, . . . , k, choose an edge
ui wi Ci M , with ui U and wi W . Let C be the circuit
(18.15) C := {u1 w1 , u2 w1 , u2 w2 , u3 w2 , . . . , un wn , u1 wn }
and let L := M C. As M L = C, L is a perfect matching adjacent to M . Now L
is adjacent also to N as well, since N L = (C1 Ck )C, which is a circuit.
Theorem 18.6. Let G = (V, E) be a bipartite graph with at least one perfect
matching. Then the dimension of the perfect matching polytope of G is equal to
|E0 ||V |+k, where E0 is the set of edges contained in at least one perfect matching
and where k is the number of components of the graph (V, E0 ).
Proof. It is easy to see that we may assume that E0 = E and that G is connected
and has at least four vertices. Let T be the edge set of a spanning tree in G. So
|E\T | = |E||V |+1. Now for any x Pperfect matching (G), the values xe with e T
are determined by the values xe with e E \ T . Hence dim(Pperfect matching (G))
|E \ T | = |E| |V | + 1.
To see the reverse inequality, choose a vector x in the relative interior of
Pperfect matching (G). So 0 < xe < 1 for each e E (as each edge is contained
in some perfect matching and is missed by some perfect matching). Then any small
enough change of xe for any e E \ T can be corrected by changing values of x(e )
with e T . Therefore dim(Pperfect matching (G)) |E \ T |.
Rispoli [1992] showed that the monotonic diameter (that is, the maximum
length of a shortest path on the polytope where a given objective function is mono-
tonically increasing) of the assignment polytope is equal to n2 . More can be found
in Balinski and Russako [1974], Padberg and Rao [1974], Brualdi and Gibson
[1976,1977a,1977b,1977c], Roohy-Laleh [1980], Hung [1983], Balinski [1985], and
Goldfarb [1985].
Corollary 18.6a. Let G = (V, E) be a bipartite graph with at least one perfect
matching. Then the dimension of the perfect matching space of G is equal to |E0 |
Section 18.5e. Up and down hull of the perfect matching polytope 309
|V |+k +1, where E0 is the set of edges contained in at least one of perfect matching,
and where k is the number of components of the graph (V, E0 ).
Proof. The dimension of the perfect matching space is 1 more than the dimension
of the perfect matching polytope (as 0 does not belong to the ane hull of the
incidence vectors of perfect matchings). So the Corollary follows from Theorem
18.6.
With the help of the description of the perfect matching polytope we can simi-
larly describe the perfect matching space in terms of equations:
Theorem 18.7. The perfect matching space of a bipartite graph G = (V, E) is equal
to the set of vectors x RE such that
Proof. (18.17) clearly is a necessary condition for each vector x in the perfect
matching space. To see suciency, let x RE satisfy (18.17). We can assume that
G has at least one perfect matching.
By adding suciently many incidence vectors of perfect matchings to x, we can
achieve that xe 0 for all e E. By scaling we can achieve that x((v)) = 1 for
each v V . Then x belongs to the perfect matching polytope of G, and hence to
the perfect matching space.
Fulkerson [1970b] studied the up hull of the perfect matching polytope of a graph
G = (V, E), that is,
E
(18.18) Pperfect matching (G) = Pperfect matching (G) + R+ .
Any x in this polyhedron satisfies:
(18.19) (i) xe 0 for each e E,
(ii) x(E[S]) |S| 12 |V | for each S V .
Here E[S] denotes the set of edges spanned by S. Inequality (18.19)(ii) follows from
the fact that any perfect matching M has at most |V \ S| edges not contained in
S, and hence at least 12 |V | |V \ S| = |S| 12 |V | edges contained in S.
310 Chapter 18. LP methods and the bipartite matching polytope
Fulkerson [1970b] showed that for bipartite graphs these inequalities are enough
to characterize polyhedron (18.18):
Theorem 18.8. If G is bipartite, then Pperfect matching (G) is determined by
(18.19).
Proof. Let U and W be the colour classes of G. Let x RE satisfy (18.19). Note
that this implies that |U | = |W | = 12 |V |, for if (say) |U | > 12 |V |, then (18.19)
implies that 0 = x(E[U ]) |U | 21 |V | > 0, a contradiction.
We must show that there exists a vector y such that 0 y x and such that
y((v)) = 1 for each v V . This can be shown quite directly with flow theory, for
instance with Gales theorem (Corollary 11.2g): Make a directed graph by orienting
each edge from U to W . Then by Gales theorem (taking b(v) := 1 if v U and
b(v) := 1 if v W ), it suces to show that |W | |U | x( in (U W )) for each
U U and W W . Let S := (U \ U ) W . Then in (U W ) = E[S] and
|W | |U | = |S| 12 |V |, giving the required inequality.
(Fulkerson [1970b] derived Theorem 18.8 from an earlier result in Fulkerson [1964b],
which is Corollary 20.9a below. Related results were given by ONeil [1971,1975],
Cruse [1975], and Houck and Pittenger [1979].)
Note that the theorem gives also a characterization of the convex hull of the
incidence vectors of edge sets containing a perfect matching in a bipartite graph:
Corollary 18.8a. Let G = (V, E) be a bipartite graph. Then the convex hull of
the incidence vectors of edge sets containing a perfect matching is determined by
(18.19) together with xe 1 for each e E.
One can similarly characterize the convex hull of the incidence vectors of subsets
of perfect matchings in a bipartite graph. Consider:
(18.20) (i) xe 0 for each e E,
(ii) x(E[S]) |S| 12 |V | for each vertex cover S.
Theorem 18.9. The convex hull of the incidence vectors of subsets of perfect match-
ings in a bipartite graph is determined by (18.20).
(Alternative proofs of Theorems 18.8 and 18.9 were given by Cunningham and
Green-Krotki [1986].)
See Section 20.6a for more results on Pperfect matching (G).
Let G = (V, E) be a graph and let k, l Z+ with k l. It is easy to derive from the
description of the matching polytope, a description of the convex hull of incidence
vectors of matchings M satisfying k |M | l. To this end we show:
Section 18.5g. Stable matchings 311
Theorem 18.10. Let G = (V, E) be an undirected graph and let x Pmatching (G).
Then x is a convex combination of incidence vectors of matchings M satisfying
(18.21) 1T x |M | 1T x.
x = M M M , where M ranges over all matchings in G and where
Proof. Write
M 0 with M M = 1. Assume that we have chosen the M such that
(18.22) M |M |2
M
is as small as possible. We
show that if M and N are matchings with M > 0 and
N > 0, then |M | |N | 1. This implies the theorem.
Suppose that |M | |N | + 2. Let P be a component of M N having more
elements in M than in N . Let M := M EP and N := N EP . Then M +N =
M N 2 2 2 2
+ and |M | + |N | < |M | + |N | . So decreasing M and N by , and
increasing M and N by , where := min{M , N }, would decrease sum (18.22),
contradicting our assumption.
This implies that certain slices of the matching polytope are again integer poly-
topes:
A special case is the following result of Mendelsohn and Dulmage [1958b]. Call
a matrix a subpermutation matrix if it is a {0, 1}-valued matrix with at most one 1
in each row and in each column. Then:
Let G = (V, E) be a graph and let for each v V , v be a total order on (v). Put
e f if e and f have a vertex v in common with e v f . Call a set M of edges
stable if for each e E there exists an f M with e f .
In general, stable matchings need not exist (e.g., generally not for K3 ). However,
Gale and Shapley [1962] showed that if G is bipartite, they do exist:
Proof. Let U and W be the colour classes of G. For each edge e = uw with u U
and w W , let (e) be the height of e in ((w), w ). (The height of e is the
maximum size of a chain with maximum e.) Choose a matching M in G such that
for each edge e = uw of G, with u U and w W ,
(18.23) if f u e for some f M , then e w g for some g M ,
and such that eM (e) is as large as possible. (Such a matching exists, since
M = satisfies (18.23).) We show that M is stable.
Choose e = uw E with u U and w W and suppose that there is no
e M with e e . Choose e largest in u with this property. Then by (18.23)
there is no f M with f u e; and moreover, there is no f M with e u f .
Hence u is missed by M .
Since also there is no g M with e w g, we can remove any edge in M incident
w and add e to M , so as to obtain a matching satisfying (18.23) with larger
with
eM (e), a contradiction.
Theorem 18.12. Each two stable matchings cover the same set of vertices.
Proof. Let M and N be two stable matchings, and suppose that there exists a
vertex v covered by M but not by N . Let P be the path component of M N
starting at v. Denote P = (v0 , e1 , v1 , e2 , . . . , ek , vk ) with v = v0 . As v0 is missed by
N , e1 <v1 e2 . As M and N are stable, if ei1 <vi1 ei , then ei <vi ei+1 for each
i < k. So ek1 <vk1 ek . However, as vk is missed by M or N , ek <vk1 ek1 . So
we have a contradiction.
In particular:
Proof. Necessity is easy, since the incidence vector of any stable matching satis-
fies (18.24). To see suciency, let x be a vertex of the polytope of all vectors in
Pmatching (G) satisfying (18.24). Define E + to be the set of edges e with xe > 0,
and V + the set of vertices covered by E + . For each v V + , let ev be the maximum
element of ((v) E + , v ).
We first show that for each v V + , with say ev = vv ,
(18.25) ev is the minimum element in ((v ) E + , v ) and that x((v )) = 1.
Indeed, (18.24) implies (writing e := ev ):
(18.26) 1 x(f ) = x(f ) = x((v )) x(f ) 1 x(f ).
f e f v e f <v e f <v e
Hence we have equality throughout in (18.26). This implies that x(f ) = 0 for each
f <v e and that x((v )) = 1. This proves (18.25).
It follows that for each v V + there is exactly one v V + with ev = vv .
Now let U and W be the colour classes of G. The sets M := {ev | v U V + }
and N := {ev | v W V + } are matchings covering V + . Consider the vector
x = x + M N , with close enough to 0 (positive or negative). It is easy to
see that x again belongs to the matching polytope. To see that x satisfies (18.24)
for close enough to 0, let e be an edge of G attaining equality in (18.24). We show
that e f for exactly one f M . If e M , this is trivial, so assume that e M .
Let e = uw with u U and w W . Then
(18.27) there is an f M with e <u f x(f ) > 0 x(g) < 1
f >u e gw e
there is no g M with e <w g.
Similarly, e f for exactly one f N . Concluding,
(18.28) x (f ) = x(f ) = 1
f e f e
Proof. This follows from the fact that Theorem 18.13 transforms the problem to
a linear programming problem.
For surveys and further results, see Wilson [1972a], Knuth [1976], Itoga [1978,
1981], Roth [1982], Gale and Sotomayor [1985], Irving [1985], Gusfield [1987b,1988],
Irving, Leather, and Gusfield [1987], Blair [1988], Gusfield and Irving [1989], Ng
[1989], Knuth, Motwani, and Pittel [1990a,1990b], Ng and Hirschberg [1990], Ronn
[1990], Roth and Sotomayor [1990], Khuller, Mitchell, and Vazirani [1991,1994],
Tan [1991], Feder [1992], Roth, Rothblum, and Vande Vate [1993], Abeledo and
Rothblum [1994], Feder, Megiddo, and Plotkin [1994,2000], Subramanian [1994],
314 Chapter 18. LP methods and the bipartite matching polytope
Abeledo and Blum [1996], Balinski and Ratier [1997], Teo and Sethuraman [1997,
1998], Teo, Sethuraman, and Tan [1999], Fleiner [2001a], and Aharoni and Fleiner
[2002].
Perfect and Mirsky [1965] characterized which patterns can occur as the support
of a doubly stochastic matrix. It is equivalent to characterizing matching-covered
bipartite graphs (that is, bipartite graphs in which each edge belongs to at least
one perfect matching).
Frank and Karzanov [1992] gave a polynomial-time combinatorial algorithm to
determine the Euclidean distance of the perfect matching polytope of a bipartite
graph to the origin.
Chapter 19
While matchings cover each vertex at most once, edge covers are required
to cover each vertex at least once. Most edge cover results can be proved
similarly to matching results, but in fact, they often can be reduced to
matching results, by a method of Gallai.
In this chapter, graphs can be assumed to be simple.
Theorem 19.1 (Gallais theorem). For any graph G = (V, E) without iso-
lated vertices one has
(19.5) (G) + (G) = |V | = (G) + (G).
This gives:
Short proof of Gallais theorem. For any partition of V into edges and
singletons, let f () be the number of edges in . So f () + || = |V |. Then (G)
is equal to the maximum of f () over all such partitions, and (G) is equal to the
minimum of || over all such partitions. Hence (G) + (G) = |V |.
Section 19.3. Finding a minimum-weight edge cover 317
19.2. The K
onig-Rado edge cover theorem
Combination of Theorems 19.1 and 16.2 yields the following theorem, which
Gallai [1958a,1958b] attributes to oral communication from D. Konig in 1932.
In a dierent but equivalent form it was stated by Rado [1933] see Section
19.5a. (Homan [1956b] called it a well-known theorem.)
Theorem 19.4 (Konig-Rado edge cover theorem). For any bipartite graph
G = (V, E) without isolated vertices one has
(19.7) (G) = (G).
That is, the maximum size of a stable set in a bipartite graph is equal to the
minimum size of an edge cover.
The integer part of this theorem can be formulated as follows. For any
graph G = (V, E) and w ZE V
+ , a w-stable set is a function y Z+ with
yu + yv we for each edge e = uv. So if w = 1 and G has no isolated
vertices, w-stable sets coincide with the incidence vectors of stable sets.
The size of a vector y RV is equal to y(V ). Then:
Theorem 19.7. The stable set polytope is determined by (19.12) if and only
if G is bipartite.
Proof. Suciency follows from the total unimodularity of the incidence ma-
trix of a bipartite graph. Necessity follows from the fact that if C is an odd
circuit in G, then defining xv := 21 for each v V , we obtain a vector x
satisfying (19.12) but not belonging to the stable set polytope of G, since
any stable set intersects C in at most 12 |V C| 12 vertices.
Bipartite edge-colouring
Edge-colouring means partitioning the edge set into matchings. While for
general graphs, finding a minimum edge-colouring is NP-complete, another
fundamental theorem of K onig gives a min-max relation for bipartite edge-
colouring, and his proof method yields a polynomial-time algorithm. Also
the capacitated case and the dual problem of partitioning the edge set
into edge covers are tractable for bipartite graphs.
Egervary [1931] observed that the following capacitated version directly fol-
lows from Konigs edge-colouring theorem:
polyhedron of the matching polytope (cf. Section 5.9), which is the content
of the theorem.
What K
onigs edge-colouring theorem adds to it is:
Note that K onigs edge-colouring theorem also can be derived easily from
the characterization of the matching polytope. For any bipartite graph G =
(V, E), the vector (G)1 1 belongs to the matching polytope (where 1 is the
all-one vector in RE ), and hence it is a convex combination of matchings. Each
of these matchings should cover each maximum-degree vertex. So there exists
a matching M covering all maximum-degree vertices. Hence (G M ) =
(G) 1, and we can apply induction.
Also, the integer decomposition property of the matching polytope is
equivalent to K onigs edge-colouring theorem. (The integer decomposition
property follows from the total unimodularity of the incidence matrix of G.)
One may derive from G a bipartite graph H, each vertex of which has
degree (G) or 1, by repeated application of the following procedure:
(20.8) for any vertex v of degree larger than (G), add a new vertex
u, and replace one of the edges incident with v, {v, w} say, by
{u, w}.
So there is a one-to-one correspondence between the edges of the final
graph H and the edges of G. Since H has maximum degree (G), by Theorem
20.1 the edges of H can be coloured with (G) colours such that no two edges
of the same colour intersect. So at any vertex of H of degree (G), all colours
occur. This gives a colouring of the edges of G with (G) colours such that
at any vertex of G all colours occur.
Proof. Like in the proof of Theorem 20.5, split o edges from vertices of
degree larger than k, until each vertex has degree at most k. Applying Konigs
edge-colouring theorem to the final graph yields a partitioning of the original
edge set as required.
Proof. With the theory of blocking polyhedra, Theorem 19.6 implies that the
superstar polytope is determined by (20.9). Total dual integrality of (20.9) is
equivalent to the capacitated version of Theorem 20.5.
Theorem 20.8. Let G = (V, E) be a bipartite graph and let k (G). Then
E can be partitioned into matchings M1 , . . . , Mk such that
(20.10) |E|/k |Mi | |E|/k
for each i = 1, . . . , k.
(Lebensold [1977] and Murty [1978] gave other proofs of this corollary.)
Note that, by K onigs edge-colouring theorem, a bipartite graph G =
(V, E) has k disjoint perfect matchings if and only if G has a k-factor. (A
k-factor is a subset F of E with the graph (V, F ) k-regular.)
So Corollary 20.9a is equivalent to the following result of Ore [1956]:
Corollary 20.9c. Pperfect matching (G) has the integer decomposition property.
Proof. From Corollary 20.9a, by replacing each edge by w(e) parallel edges.
We can view this also in terms of the blocking polyhedron of Pperfect matching (G),
which is the polyhedron Q determined by
328 Chapter 20. Bipartite edge-colouring
20.6b. Extensions
The results of Sections 20.5 and 20.6 can be extended as follows, as was shown by
Folkman and Fulkerson [1969]. It is based on the following theorem:
Theorem 20.10. Let G = (V, E) be a bipartite graph, let k (G), and let
p |E|/k. Then G has a k-edge-colouring in which l colours have size p if and only
if G has l disjoint matchings of size p.
Proof. Necessity being trivial, we show suciency. Let G have l disjoint matchings
of size p. We must show that there exist l disjoint matchings of size p such that at
each vertex v at most k l edges incident with v are in none of these matchings
(since then the edges not contained in the matchings can be properly coloured by
k l colours).
That is, by Theorem 20.8 it suces to show that there exists a subset F of E
such that
(20.19) (i) degF (v) l and degE\F (v) k l for each vertex v;
(ii) |F | = lp.
Let F be any subset of E satisfying (20.19)(i), with |F | lp, and with |F | as large
as possible. Such an F exists, since by Theorem 20.8 we can k-edge-colour G such
that each colour has size at most |E|/k p. Any l of the colours gives F as
required.
Section 20.7. Covering by perfect matchings 329
If |F | = lp we are done, so assume that |F | < lp. Since G has l disjoint matchings
of size p, E has a subset F of size lp with degF (v) l for each vertex v. Choose
F with F \ F as small as possible.
Consider an orientation D of the graph (V, F F ), where each edge in F \ F is
oriented from colour class U (say) to colour class W (say), and where each edge in
F \ F is oriented from W to U . If D contains a directed circuit C, we can reduce
F \F , by replacing F by F C. So D is acyclic, and hence we can partition F F
into directed paths, where each path starts at a vertex v with degout in
D (v) > degD (v)
in out
and ends at a vertex v with degD (v) > degD (v). As |F | > |F |, at least one of
these paths, P say, has more edges in F than in F . Now replacing F by F EP
does not violate (20.19)(i), since degF EP (v) = degF (v) + 1 degF (v) l if v is
an end of P and degF EP (v) = degF (v) for any other vertex v. As this increases
|F |, it contradicts our maximality assumption.
This implies the following result of Folkman and Fulkerson [1969], generalizing
Theorems 20.8 and 20.9 (by taking p2 = 1):
(This proof method in fact consists of showing that G has a perfect b-matching
see Chapter 21.)
The result is equivalent to characterizing bipartite graphs that are k-
regularizable. A graph G = (V, E) is k-regularizable if we can replace each
edge by a positive number of parallel edges so as to obtain a k-regular graph.
Then:
Corollary 20.11c. The polyhedron determined by (20.23) has the integer rounding
property.
Proof. Obviously, each vector in the perfect matching lattice is integer and
belongs to the perfect matching space. To see the reverse inclusion, let x be an
integer vector in the perfect matching space. So xe = 0 for each edge covered
by no perfect matching, and x((u)) = x((v)) for all u, v V . By adding to
x incidence vectors of perfect matchings, we can assume that xe 0 for all
e E.
Replace any edge e by xe parallel copies. We obtain a k-regular bipartite
graph H, with k := x((v)) for any v V . Hence, by Konigs edge-colouring
theorem, H is k-edge-colourable. As each colour is a perfect matching in H,
we can decompose x as a sum of k incidence vectors of perfect matchings in
G. So x belongs to the perfect matching lattice of G.
Proof. Suciency is easy, since if such a b exists, then, for each perfect
matching M ,
(20.28) w(M ) = b(V ) + (we bu bv ) = (we bu bv )
e=uvM e=uvM
is an integer.
To see necessity, suppose that w(M ) is integer for each perfect matching
M . Then (by definition of dual lattice) w belongs to the dual lattice of the
perfect matching lattice. Theorem 20.12 implies that the dual lattice is the
sum of ZE and the linear space orthogonal to the perfect matching space. So
w = w + w , where w ZE and w is orthogonal to the perfect matching
space; that is, w (M ) = 0 for each perfect matching M . By Corollary 18.7a,
there exists a vector b RV with b(V ) = 0 and with we = bu + bv for each
edge e = uv covered by at least one perfect matching. This is equivalent to
the present Corollary.
Section 20.9a. Some further edge-colouring algorithms 333
Theorem 20.13. The edges of a bipartite graph G can be coloured with (G)
colours in O(nm) time.
From their linear-time perfect matching algorithm for regular bipartite graphs,
Cole, Ost, and Schirra [2001] derived (using an idea of Gabow [1976c]):
We show that the running time is O(m log k). The recursive step takes time
O(m), since finding an Eulerian orientation or finding a perfect matching takes
O(m) time (Corollary 16.11a). Moreover, in one or two recursive steps, the graph
is split into two graphs with half the number of edges. Since m log2 k = m +
2( 21 m log2 ( 12 k)), the result follows.
Corollary 20.14a. The edges of a bipartite graph G can be coloured with (G)
colours in O(m log (G)) time.
Proof. Let k := (G). First iteratively merge any two vertices in the same colour
class of G if each of them has degree at most 21 k. The final graph H will have at
most two vertices of degree at most 21 k, and moreover, (H) = k and any k-edge-
colouring of H yields a k-edge-colouring of G. Next make a copy H of H, and join
each vertex v of H by k degH (v) parallel edges with its copy v in H (where
degH (v) is the degree of v in H). This gives the k-regular bipartite graph G , with
|EG | = O(|EG|).
By Theorem 20.14, we can find a k-edge-colouring of G in O(m log k) time.
This gives a k-edge-colouring of H and hence a k-edge-colouring of G.
O(nm) K
onig [1916]
Hopcroft and Karp [1971,1973] (cf.
O( n m)
Gabow and Kariv [1978])
O(m 2) Gonzalez and Sahni [1976]
O( n m log ) Gabow [1976c]
O(m n log n) Gabow and Kariv [1978]
O(m log n) Gabow and Kariv [1978]
2
O((m + n ) log ) Gabow and Kariv [1978,1982]
2
O(m(log n) log ) Lev, Pippenger, and Valiant [1981]
O(m(log m)2 ) Gabow and Kariv [1982]
O(m log m) Cole and Hopcroft [1982]
O(nm
log ) Gabow and Kariv [1982]
2
O((m + n log n log ) log ) Cole and Hopcroft [1982]
O((m + n log n log ) log ) Cole [1982]
2O()
O(n2 ) Cole [1982]
R. Cole and K. Ost (cf. Ost [1995]),
O((m + n log n) log )
Kapoor and Rizzi [2000]
O(m) Schrijver [1999]
O(m log + n log n log ) Rizzi [2002]
O(m log ) Cole, Ost, and Schirra [2001]
Section 20.9c. List-edge-colouring 335
Here m denotes the number of parallel classes of edges, the maximum size of a
parallel class, and the maximum degree. As before, indicates an asymptotically
best bound in the table.
Kapoor and Rizzi [2000] showed that a bipartite graph of maximum degree
can be -edge-coloured in time T + O(m log ), where T is the time needed to find
a perfect matching in a k-regular bipartite graph with m edges and k . (So this
is applied only once!)
20.9c. List-edge-colouring
Proof. Let G = (V, E) be a bipartite graph, with colour classes U and W , and
with maximum degree k := (G). The theorem follows by applying the following
statement to any (G)-edge-colouring : E {1, . . . , (G)} of G.
(20.30) Let : E Z be such that (e) = (f ) if e and f are incident. For
each e = uw E with u U and w W , let Le be a finite set
satisfying
|Le | > |{f (u) | (f ) < (e)}| + |{f (w) | (f ) > (e)}|.
(The proof by Slivnik [1996] is similar.) An extension of Galvins theorem was given
by Borodin, Kostochka, and Woodall [1997].
Corollary 21.1b. Let G = (V, E) be a bipartite graph and let b ZV+ . Then
there exists a perfect b-matching if and only if b(C) 12 b(V ) for each vertex
cover C.
Proof. This can be reduced to the nonsimple case by replacing each edge uv
by a path of length 3 connecting u and v (thus introducing two new vertices
for each edge), and extending b by defining b(s) := 1 for each new vertex s.
Then the maximum size of a simple b-matching in the original graph is equal
to the maximum size of a b-matching in the new graph minus |E|, and we
can apply Corollary 21.1a.
Theorem 21.4 implies the following result of Ore [1956] (who formulated
it in terms of directed graphs). A b-factor is a simple perfect b-matching. So
it is a subset F of E with degF (v) = bv for each v V (again identifying a
subset of E with its incidence vector in RE ).
From this one can derive the result of Fulkerson [1964b] (Corollary 20.9a)
that a bipartite graph has k disjoint perfect matchings if and only if each
subset X of V spans at least k(|X| 21 |V |) edges.
By the total unimodularity of the incidence matrix of bipartite graphs,
the simple b-matching polytope (the convex hull of the simple b-matchings)
of a bipartite graph G = (V, E) is determined by:
(21.7) 0 xe 1 for each e E,
x((v)) bv for each v V .
Similarly, the following min-max relation for maximum-weight simple b-
matching follows (Vogel [1963]):
Theorem 21.5. Let G = (V, E) be a bipartite graph and let b ZV+ and
w ZE T
+ . Then the maximum weight w x of a simple b-matching x is equal
to the minimum value of
Section 21.4. Capacitated b-matchings 341
(21.8) y v bv + ze
vV eE
Moreover:
Theorem 21.6. Let G = (V, E) be a bipartite graph and let b ZV+ and
w ZE T
+ . Then the minimum weight w x of a b-factor x is equal to the
maximum value of
(21.10) y v bv + ze
vV eE
V
where y Z and z ZE
+ with yu + yv ze we for each edge e = uv.
Theorem 21.7. Let G = (V, E) be a bipartite graph and let b ZV+ and
c ZE
+ . Then the maximum size of a b-matching x c is equal to
Proof. The proof is similar to that of Theorem 21.4. Now we define b(s) := ce
if s is a new vertex on the path connecting the end vertices of e.
Corollary 21.7a. Let G = (V, E) be a bipartite graph and let b ZV+ and
c ZE
+ . Then there exists a perfect b-matching x c if and only if
(21.13) c(E[X]) b(X) 12 b(V )
for each X V .
Theorem 21.8. Let G = (V, E) be a bipartite graph and let b ZV+ and
w, c ZE T
+ . Then the maximum weight w x of a b-matching x c is equal to
the minimum value of
(21.15) y v bv + ze ce
vV eE
Proof. Let S and T be the colour classes of G, and orient the edges of G from
S to T , giving the digraph D. Then b-matchings in G correspond to integer
z-transshipments in D with 0 z(v) b(v) if v T and b(v) z(v) 0
if v S. Perfect b-matchings correspond to integer b -transshipments, where
b (v) := b(v) if v S and b (v) := b(v) if v T . Hence this theorem follows
from Corollary 12.2d.
Wagner [1958] (cf. Dantzig [1955]) observed that the capacitated version
of the minimum-weight perfect b-matching problem can be reduced to the
uncapacitated version, by a construction similar to that used in proving The-
orem 21.4.
One similarly has for w-vertex covers:
21.6. Transportation
The minimum-weight perfect b-matching problem is close to the classical
transportation problem. Given a bipartite graph G = (V, E) and a vector
b RV+ , a b-transportation is a vector x RE
+ with
(21.17) x((v)) = bv
for each v V . So a b-transportation is a fractional version of a perfect
b-matching. Integer b-transportations are exactly the perfect b-matchings.
The following characterization of the existence of a b-transportation was
shown (in a much more general form) by Rado [1943] compare Corollary
21.1b:
Theorem 21.11. Let G = (V, E) be a bipartite graph and let b RV+ . Then
there exists a b-transportation if and only if b(C) 21 b(V ) for each vertex
cover C.
344 Chapter 21. Bipartite b-matchings and transportation
Proof. Since the inequalities b(C) 21 b(V ) (for vertex covers C), define a
rational polyhedral cone, we can assume that b is rational, and hence, by
scaling, that b is integer. Then the theorem follows from Corollary 21.1b.
Proof. Directly from the total unimodularity of the matrix underlying the
system (21.18), which is the incidence matrix of the complete bipartite graph
Km,n .
Notes. Ford and Fulkerson [1955,1957b], Gleyzal [1955], Munkres [1957], and
Egerv ary [1958] described primal-dual methods for the transportation problem,
and Ford and Fulkerson [1956a,1957a] extended it to the capacitated version.
If the ai and bj are small integers, the transportation problem can be reduced to
the assignment problem, by splitting each i into ai or bi copies. (This observation
is due to Egervary [1958], and in a dierent context to Tutte [1954b].)
This gives:
Proof. By Theorem 21.15, for any vertex X = (xi,j ) of the transportation polytope,
the set of pairs (i, j) with xi,j not an integer is a forest. Hence, if it is nonempty,
this forest has an end edge, say (i, j). Assume without loss of generality that i has
degree 1 in this forest. Then xi,j is equal to ai minus j
=j xi,j , which is an integer
as ai and each of the xi,j (j = j) is an integer.
Theorem 21.16. If a > 0 and b > 0, the dimension of the transportation polytope
is equal to (m 1)(n 1).
the xi,n and xm,j . So the dimension of the transportation polytope is (m1)(n1).
Notes. Balinski [1974] (cf. Balinski and Rispoli [1993]) showed the Hirsch conjec-
ture for some classes of transportation polytopes. For counting and estimating the
number of vertices of transportation polytopes, see Simonnard and Hadley [1959],
Demuth [1961], Wintgen [1964], Szwarc and Wintgen [1965], Klee and Witzgall
[1968], Bolker [1972], and Ahrens [1981]. For counting facets, see Klee and Witzgall
[1968].
Given C = (ci,j ) Rmn , the dual transportation polyhedron is the set of all
vectors (u; v) Rm Rn satisfying38 :
(21.20) u1 = 0
ui + vj ci,j i = 1, . . . , m; j = 1, . . . , n.
(The condition u1 = 0 is added for normalization.) It is easy to see that the dimen-
sion of the dual transportation polyhedron is m + n 1, and that (u; v) satisfying
(21.20) is a vertex of the dual transportation polyhedron if and only if the graph
with vertex set {p1 , . . . , pm , q1 , . . . , qn } and edge set {{pi , qj } | ui + vj = ci,j } is
connected.
Balinski [1984] showed with the signature method that the diameter of the
dual transportation polyhedron is at most (m 1)(n 1), thus proving the Hirsch
conjecture for this class of polyhedra.
Balinski and Russako [1984] characterized vertices and higher-dimensional
faces of dual transportation polyhedra. More can be found in Zhu [1963], Balin-
ski [1983], and Kleinschmidt, Lee, and Schannath [1987].
Theorem 21.20. Let G = (V, E) be a bipartite graph and let b ZV+ with
bv deg(v) for each vertex v. Then the minimum size of a simple b-edge cover
in G is equal to the maximum value of b(X) |E[X]| taken over X V .
Proof. Define b (v) := deg(v) b(v) for each vertex v. Then a subset F
of E is a simple b-edge cover if and only if E \ F is a simple b -matching.
By Theorem 21.4, the maximum size of a simple b -matching is equal to the
minimum value of b (V \ X) + |E[X]| taken over X V . Hence the minimum
size of a simple b-edge cover is equal to the maximum value of
(21.26) |E| b (V \ X) |E[X]| = |E| (deg(v) b(v)) |E[X]|
vV \X
= |E| 2|E[V \ X]| |(X)| + b(V \ X) |E[X]|
= b(V \ X) |E[V \ X]|,
taken over X V .
Alternatively, the theorem follows from the fact that both optima in the
LP-duality equation (where A is the V E incidence matrix of G):
(21.27) min{1T x | 0 x 1, Ax b}
= max{y T b z T 1 | y 0, z 0, y T A z T 1T }
350 Chapter 21. Bipartite b-matchings and transportation
Theorem 21.21. Let G = (V, E) be a bipartite graph and let b ZV+ and
w ZE T
+ . Then the minimum weight w x of a simple b-edge cover x is equal
to the maximum value of
(21.29) y v bv ze
vV eE
Theorem 21.22. Let G = (V, E) be a bipartite graph and let b ZV+ and
c ZE
+ with c((v)) bv for each v V . Then the minimum size of a b-edge
cover x c is equal to
Section 21.11. Relations between b-matchings and b-edge covers 351
Theorem 21.23. Let G = (V, E) be a bipartite graph and let b ZV+ and
c, w ZE T
+ . Then the minimum weight w x of a b-edge cover x c is equal
to the maximum value of
(21.32) y v bv ze ce
vV eE
Like for matchings and edge covers, there is also a close relation between
maximum-size b-matchings and minimum-size b-edge covers, as was shown
by Gallai [1959a]. This gives a connection between Corollaries 21.1a and
21.17a.
Let G = (V, E) be an undirected graph without isolated vertices, and let
b ZV+ . Define:
(21.35) b (G) := the maximum size of a b-matching,
b (G) := the minimum size of a b-edge cover.
A direct proof of the previous theorem is given in the proof of the following
theorem, also due to Gallai [1959a]:
(21.37) and (21.38) imply that the y (x, respectively) obtained from x
(y, respectively) is optimum, thus showing the theorem, and also showing
(21.36).
Proof. Since stable sets are exactly the complements of vertex covers, finding
a maximum b-weight stable sets is directly reduced to finding a minimum b-
weight vertex cover. The construction given in the proof of Theorem 21.25
implies that a maximum-size b-matching gives a minimum-size b-edge cover
in polynomial time. So Theorem 21.9 gives the present corollary.
Proof. Directly from Corollary 12.2d, by orienting the edges from one colour
class to the other.
Proof. From Corollary 11.2i, by orienting all edges from S to T and taking
U := (S \ X) (T X).
This theorem has several special cases. For d = 0 it implies the following
result due to Fulkerson [1959a] (a generalization of Theorem 16.8):
Proof. Note that (21.40) can be decomposed into two inequalities, one in-
volving a|S and b|T only, the other involving a|T and b|S only39 . This gives
the present corollary.
A min-max relation for such vectors can be derived from Homans cir-
culation theorem (Theorem 11.2):
For each integer value between (21.42) and (21.43) there exists such a vector
x of size .
continued
O(n2 mB) Iri [1960]
O( SP+ (n, m, W )) Edmonds and Karp [1970]
O(nW MF(n, m, B)) Edmonds and Karp [1972]
O(m log B SP+ (n, m, W )) Edmonds and Karp [1972]
O(nm log(nB)) Dinits [1973a]
O(n log SP+ (n, m, W )) Lawler [1976b]
O(n log W MF(n, m, B)) R
ock [1980]
2
O(m log n MF(n, m, B)) Tardos [1985a]
3/4
O( m log W ) Gabow [1985b]
1/2 1/3
O( n m log W ) Gabow [1985b] for simple graphs
O(n2 log n SP+ (n, m, W )) Galil and Tardos [1986,1988]
2
O(nm log(n /m) log(nW )) Goldberg and Tarjan [1987,1990]
O(n log n(m + n log n)) Orlin [1988,1993]
1/2
O(( m + log ) log(nW )) Gabow and Tarjan [1989]
O(n1 m + n31 log(n1 W )) Ahuja, Orlin, Stein, and Tarjan [1994]
n2
O(n1 m log(2 + m
1
log(n1 W ))) Ahuja, Orlin, Stein, and Tarjan [1994]
O(n log n(m + n1 log n1 )) Kleinschmidt and Schannath [1995]
continued
O(n3 log n) Orlin [1988,1993]
1/2 2
O(( n + log ) log(nW )) Gabow and Tarjan [1989]
O(n1 n2 + n31 log(n1 W )) Ahuja, Orlin, Stein, and Tarjan [1994]
2 n2
O(n1 n log(2 + 1
n2
log(n1 W ))) Ahuja, Orlin, Stein, and Tarjan [1994]
O(n21 n log2 n) Tokuyama and Nakano [1992,1995]
O(n1 n2 log n) Kleinschmidt and Schannath [1995]
Here C := c .
Complexity survey for the capacitated transportation problem:
continued
O( 3/4 n2 C log W ) Gabow [1985b]
1/2 7/3
O( n C log W ) Gabow [1985b]
O(n3 log(nW )) Goldberg and Tarjan [1987,1990]
Galil and Tardos [1986,1988],
O(n4 log n)
Orlin [1988,1993]
O(n2 1/2 C log(nW )) Gabow and Tarjan [1988b,1989]
O(n8/3 C 4/3 log(nW )) Gabow and Tarjan [1989]
O(( 1/2 n2 + log ) log(nW )) Gabow and Tarjan [1989]
Ahuja, Orlin, Stein, and Tarjan
O(n1 n2 + n31 log(n1 W ))
[1994]
n2 Ahuja, Orlin, Stein, and Tarjan
O(n1 n2 log(2 + 1
n2
log(n1 W )))
[1994]
Let G = (V, E) be a bipartite graph, with colour classes S and T say. The existence
of a perfect (capacitated) b-matching can be reduced quite directly to the problem
of finding a maximum s t flow in the digraph obtained from G by adding two
new vertices s and t, orienting each edge from S to T , and adding an arc (s, s )
for each s S, and adding an arc (t , t) for each t T . Similarly, a maximum
(capacitated) b-matching can be found.
It implies that if MF(n, m, C) is the running time of a maximum flow algo-
rithm for inputs with n vertices, m arcs, and integer capacity function c with
c C, then a maximum-size (capacitated) b-matching can be found in time
O(MF(n, m, C)), for bipartite graphs with n vertices, m edges and b ZV satisfying
b C (and capacity function c ZE satisfying c C).
In some cases, one can obtain better bounds, in particular if one of the colour
classes is considerably smaller than the other. To this end, let n1 := min{|S|, |T |}.
Implementing the shortest augmenting path rule described in Section 10.5, then
gives an O(n1 m2 ) running time, since a shortest s t path has length at most
2n1 + 1 = O(n1 ), implying that the number of iterations is bounded by n1 m.
Similarly, the blocking flow method of Dinits [1970] described in Section 10.6 can
be performed in O(n21 m) time, since the bound in Theorem 10.6 becomes O(n1 m),
while there are O(n1 ) blocking flow iterations. The method of Karzanov [1974] can
be sharpened to O(n21 n), as was shown by Gusfield, Martel, and Fern andez-Baca
[1987]. Ahuja, Orlin, Stein, and Tarjan [1994] gave a method taking the minimum
n2
of O(n1 m + n31 ), O(n1 m + n21 m), O(n1 m + n21 log C), and O(n1 m log(2 + m1 ))
time.
For the special case where bu = 1 for each u in the smaller colour class, Adelson-
5/3
Velski, Dinits, and Karzanov [1975] gave an O(n1 n) algorithm for finding a b-
factor.
Section 21.13c. Existence of matrices 359
It is easy to check that only for bipartite graphs the matchable set polytope is
determined by (21.52).
Note that for bipartite graphs G = (V, E), by Theorem 21.11, condition
(21.52)(ii) is equivalent to x belonging to the convex cone generated by the in-
cidence vectors (in RV ) of edges, considered as subsets of V .
Qi [1987] gave an algorithm for the separation problem for the matchable set
polytope of a bipartite graph. For more on the matchable set polytope, see Balas
and Pulleyblank [1983] and Section 25.5d.
(Gale [1956,1957] proved this theorem for a = 0 and b = , and Ryser [1957] for
a = b and a = b .)
Corollary 21.28a due to Fulkerson [1959a], is equivalent to the following result
extending the Gale-Ryser theorem:
Among the books surveying transportation are Ford and Fulkerson [1962],
Dantzig [1963], Murty [1976,1983], Bazaraa and Jarvis [1977], Papadimitriou and
Steiglitz [1982], Gondran and Minoux [1984], Derigs [1988a], Nemhauser and Wolsey
[1988], and Bazaraa, Jarvis, and Sherali [1990].
Transportation can be considered as the special case of transshipment where all arcs
are oriented from a source to a sink. By the techniques described in Section 21.6a,
transshipment problems can be reduced conversely to transportation problems. This
makes the history of the two problems intertwined. We should notice also that
the transshipment problems studied by Kantorovich and Koopmans were in fact
transportation problems, due to the fact that their cost functions are metrics.
Tolsto
Next, Tolsto studied the transportation problem for the case where all sources
and destinations are along one circular railway line. In this case, considering the neg-
ative cycle criterion yields directly the optimum solution. He calls this phenomenon
circle dependency.
Finally, Tolsto combined the two methods into a heuristic to solve a concrete
transportation problem coming from cargo transportation along the Soviet railway
network. The problem has 10 sources and 68 sinks, and 155 links between sources
and sinks (all other distances are taken infinite):
Section 21.13e. Historical notes 363
Balakhonikha
Arkhangelsk
Dekonskaya
Dzerzhinsk
Sverdlovsk
Artemovsk
Yaroslavl
Kishert
Murom
Iledzhk
demand:
Agryz 709 1064 693 2
Aleksandrov 397 1180 4
Almaznaya 81 65 1.5
Alchevskaya 106 114 4
Baku 1554 1563 10
Barybino 985 968 2
Berendeevo 135 430 10
Bilimbai 200 59 1
Bobrinskaya 655 663 10
Bologoe 389 1398 1
Verkhove 678 661 1
Volovo 757 740 3
Vologda 634 1236 2
Voskresensk 427 1022 1005 1
V.Volochek 434 1353 1343 5
Galich 815 224 1056 0.5
Goroblagodatskaya 434 196 0.5
Zhlobin 882 890 8
Zverevo 227 235 5
Ivanovo 259 6
Inza 380 735 1272 2
Kagan 2445 2379 0.5
Kasimov 0 1
Kinel 752 1208 454 1447 2
Kovylkino 355 1213 2
Kyshtym 421 159 3
Leningrad 1237 709 1667 1675 55
Likino 223 328 15
Liski 443 426 1
Lyuberdzhy 268 411 1074 1
Magnitogorskaya 932 678 818 1
Mauk 398 136 5
Moskva 288 378 405 1030 1022 141
Navashino 12 78 2
Nizhegol 333 316 1
Nerekhta 50 349 5
Nechaevskaya 92 0.5
N.-Novgorod 32 25
Omsk 1159 904 1746 5
Orenburg 76 1.5
Penza 411 1040 883 1023 7
Perm 1749 121 1
Petrozavodsk 1394 1
Poltoradzhk 1739 3085 1748 4
Pskov 1497 1505 10
Rostov/Don 287 296 20
Rostov/Yarosl 56 454 2
Rtishchevo 880 863 1
Savelovo 325 1206 1196 5
Samara 711 495 1406 7
San-Donato 416 157 1
Saratov 1072 1055 15
Sasovo 504 1096 1079 1
Slavyanoserbsk 119 115 1.1
Sonkovo 193 1337 0.5
Stalingrad 624 607 15.4
St.Russa 558 1507 1515 5
Tambov 783 766 4
Tashkent 3051 1775 3
Tula 840 848 8
Tyumen 584 329 6
Kharkov 251 259 60
Chelyabinsk 511 257 949 2
Chishmy 1123 773 889 0.5
Shchigry 566 549 4
Yudino 403 757 999 0.5
Yama 44 52 5
Yasinovataya 85 93 6
supply: 5 11.5 8.5 12 100 12 15 314 10 55 543
Tolstos heuristic also makes use of insight into the geography of the Soviet
Union. He goes along all sources (starting with the most remote source), where, for
each source X, he lists those sinks for which X is the closest source or the second
closest source. Based on the dierence of the distances to the closest and second
closest sources, he assigns cargo from X to the sinks, until the supply of X has
been used up. In case Tolsto foresees circle dependency, he deviates from this rule
to avoid that a negative-length circuit would arise. No backtracking occurs.
Figure 21.1
Figure from Tolsto [1930] to illustrate a negative cycle.
After 10 steps, when the transports from all 10 factories have been set, Tolsto
verifies the solution by considering a number of cycles in the network, and he
concludes that his solution is optimum:
Thus, by use of successive applications of the method of dierences, followed by
a verification of the results by the circle dependency, we managed to compose the
transportation plan which results in the minimum total kilometrage.
Source of cargoes
Amount Dierence Amount
km of distance of carriages
Vyazma-Smolensk 176 37 43=1
Vitebsk ,, 139 0+3=4
Vitebsk-V. Luki 156 37 33=0
Zemtsy ,, 119 2+3=5
Zemtsy-Rzhev 123 +7 53=2
Vyazma ,, 130 1+3=4
Altogether . . . 67
Kantorovich
Apparently unaware (by that time) of the work of Tolsto, L.V. Kantorovich studied
a general class of problems, that includes the transportation problem. It formed a
major impulse to the study of linear programming. In his memoirs, Kantorovich
[1987] writes:
Once some engineers from the veneer trust laboratory came to me for consul-
tation with a quite skilful presentation of their problems. Dierent productivity
is obtained for veneer-cutting machines for dierent types of materials; linked
to this the output of production of this group of machines depended, it would
seem, on the chance factor of which group of raw materials to which machine was
assigned. How could this fact be used rationally?
This question interested me, but nevertheless appeared to be quite particular
and elementary, so I did not begin to study it by giving up everything else. I
put this question for discussion at a meeting of the mathematics department,
where there were such great specialists as Gyunter, Smirnov himself, Kuzmin,
and Tartakovskii. Everyone listened but no one proposed a solution; they had
already turned to someone earlier in individual order, apparently to Kuzmin.
However, this question nevertheless kept me in suspense. This was the year of my
marriage, so I was also distracted by this. In the summer or after the vacation
Section 21.13e. Historical notes 367
are available, and so on. The solution of the problem of the distribution of a given
freight flow over kinds of transportation, in order to complete the haulage plan
in the shortest time, or within a given period with the least expenditure of fuel,
is possible by our methods and leads to Problems A or C.
Let us mention still another problem of dierent character which, although it does
not lead directly to questions A, B, and C, can still be solved by our methods.
That is the choice of transportation routes.
B
A C
E
D
Let there be several points A, B, C, D, E (Fig. 1) which are connected to one
another by a railroad network. It is possible to make the shipments from B to
D by the shortest route BED, but it is also possible to use other routes as well:
namely, BCD, BAD. Let there also be given a schedule of freight shipments; that
is, it is necessary to ship from A to B a certain number of carloads, from D to
C a certain number, and so on. The problem consists of the following. There is
given a maximum capacity for each route under the given conditions (it can of
course change under new methods of operation in transportation). It is necessary
to distribute the freight flows among the dierent routes in such a way as to
complete the necessary shipments with a minimum expenditure of fuel, under the
condition of minimizing the empty runs of freight cars and taking account of the
maximum capacity of the routes. As was already shown, this problem can also be
solved by our methods.
Kantorovich [1987] wrote in his memoirs:
The university immediately published my pamphlet, and it was sent to fifty Peo-
ples Commissariats. It was distributed only in the Soviet Union, since in the days
just before the start of the World War it came out in an edition of one thousand
copies in all.
The number of responses was not very large. There was quite an interesting
reference from the Peoples Commissariat of Transportation in which some opti-
mization problems directed at decreasing the mileage of wagons was considered,
and a good review of the pamphlet appeared in the journal The Timber Industry.
At the beginning of 1940 I published a purely mathematical version of this work in
Doklady Akad. Nauk [76], expressed in terms of functional analysis and algebra.
However, I did not even put in it a reference to my published pamphlettaking
into account the circumstances I did not want my practical work to be used
outside the country.
In the spring of 1939 I gave some more reportsat the Polytechnic Institute
and the House of Scientists, but several times met with the objection that the
work used mathematical methods, and in the West the mathematical school in
economics was an anti-Marxist school and mathematics in economics was a means
for apologists of capitalism. This forced me when writing a pamphlet to avoid
the term economic as much as possible and talk about the organization and
planning of production; the role and meaning of the Lagrange multipliers had
to be given somewhere in the outskirts of the second appendix and in the semi
Aesopian language.
370 Chapter 21. Bipartite b-matchings and transportation
(Here reference [76] is Kantorovich [1940].) Kantorovich mentioned that the new
area opened by his work played a definite role in forming the Leningrad Branch of
the Mathematical Institute (LOMI), where he worked with M.K. Gavurin on this
area. The problem that they studied occurred to them by itself, but they soon found
out that railway workers were already studying the problem of planning haulage on
railways, applied to questions of driving empty cars and transport of heavy cargoes.
Kantorovich and Gavurin wrote their method (the method of potentials) in
a paper Application of mathematical methods in questions of analysis of freight
trac (Kantorovich and Gavurin [1949]), which was presented in January 1941 to
the mathematics section of the Leningrad House of Scientists, but according to
Kantorovich [1987]:
The publication of this paper met with many diculties. It had already been
submitted to the journal Railway Transport in 1940, but because of the dread of
mathematics already mentioned it was not printed then either in this or in any
other journal, despite the support of Academicians A.N. Kolmogorov and V.N.
Obraztsov, a well-known transport specialist and first-rank railway General.
Kantorovich [1987] said that he fortunately made an abstract version of the prob-
lem, Kantorovich [1942], in which he considered the following generalization of the
transportation problem.
Let R be a compact metric space, with two measures and . Let B be the
collection of measurable sets in R. A translocation (of masses) is a function :
B B R+ such that for each X B the functions (X, .) and (., X) are
measures and such that
(21.64) (X, R) = (X) and (R, X) = (X)
for each X B.
Let a continuous function r : R R R+ be given. (The value r(x, y) rep-
resents the work needed to transfer a unit mass from x to y.) Then the work of a
translocation is by definition:
(21.65) r(x, y) (d, d ).
R R
Kantorovich argued that, if there exists a translocation, then there exists a minimal
translocation, that is, a translocation minimizing (21.65).
He calls a translocation potential if there exists a function p : R R such
that for all x, y R:
(21.66) (i) |p(x) p(y)| r(x, y);
(ii) p(y) p(x) = r(x, y) if (Ux , Uy ) > 0 for any neighbourhoods Ux
of x and Uy of y.
Kantorovich showed:
This framework applies to the transportation problem (when m = n), by taking for
R the space {1, . . . , n}, with the discrete topology.
Kantorovichs proof of Theorem 21.33 is by a construction of a potential, that
however only is correct if r satisfies the triangle inequality. Kantorovich remarked
that his method is algorithmic:
Section 21.13e. Historical notes 371
The theorem just demonstrated makes it easy for one to prove that a given mass
translocation is or is not minimal. He has only to try and construct the potential
in the way outlined above. If this construction turns out to be impossible, i.e. the
given translocation is not minimal, he at least will find himself in the possession
of the method how to lower the translocation work and eventually come to the
minimal translocation.
Hitchcock
Hitchcock showed that the minimum is attained at a vertex of the feasible region,
and he outlined a scheme for solving the transportation problem which has much
in common with the simplex method for linear programming. It includes pivoting
(eliminating and introducing basic variables) and the fact that nonnegativity of
certain dual variables implies optimality. He showed that the complementary slack-
ness conditions characterizeoptimality: (xi,j ) is an optimum vertex if and only if
there exists a combination i,j i,j xi,j of the left-hand sides of the constraints (ii)
and (iii) such that i,j ci,j for all i, j and such that i,j = ci,j if xi,j > 0.
Hitchcock however seemed to have overlooked the possibility of cycling of his
method, although he pointed at an example in which some dual variables are neg-
ative while yet the primal solution is optimum.
Hitchcock also gave a method to find an initial basic solution, now known as
the north-west rule: set x1,1 := min{a1 , b1 }; if the minimum is attainedn by a1 , reset
b1 := b1 a1 and recursively m find a basic solution xi,j satisfying j=1 xi,j = ai
for each i = 2, . . . , m and i=2 xi,j = bj for each j = 1, . . . , n; if the minimum
is attained by b1 , proceed symmetrically. (The north-west rule was also described
by Salvemini [1939] and Frechet [1951] in a statistical context, namely in order to
complete correlation tables given the marginal distributions.)
Koopmans
controls. I did my study of optimal routing and the associated shadow costs of
transportation on the various routes, expressed in ship days, in August 1942 when
an impending redrawing of the lines of administrative control left me temporarily
without urgent duties. My memorandum, cited below, was well received in a
meeting of the Combined Shipping Adjustment Board (that I did not attend)
as an explanation of the paradoxes of shipping which were always dicult to
explain to higher authority. However, I have no knowledge of any systematic use
of my ideas in the combined U.K.-U.S. shipping problems thereafter.
In the memorandum to the Board, Koopmans [1942] analyzed the sensitivity of
the optimum shipments for small changes in the demands. In this memorandum,
Koopmans did not give a method to find an optimum shipment. Further study
led him to a local search method for the transportation problem, stating that
it leads to an optimum solution. According to Dorfman [1984], Koopmans found
these results in 1943, but, due to wartime restrictions, published them only after
the war (Koopmans [1948], Koopmans and Reiter [1949a,1949b,1951]). Koopmans
[1948] wrote:
Let us now for the purpose of argument (since no figures of war experience are
available) assume that one particular organization is charged with carrying out a
world dry-cargo transportation program corresponding to the actual cargo flows
of 1925. How would that organization solve the problem of moving the empty
ships economically from where they become available to where they are needed?
It seems appropriate to apply a procedure of trial and error whereby one draws
tentative lines on the map that link up the surplus areas with the deficit areas,
trying to lay out flows of empty ships along these lines in such a way that a
minimum of shipping is at any time tied up in empty movements.
The trial and error method mentioned is one of local improvements, corresponding
to finding a negative-cost directed circuit in the residual digraph. Koopmans first
theorem is that it leads to an optimum solution:
If, under the assumptions that have been stated, no improvement in the use of
shipping is possible by small variations such as have been illustrated, then there
is nohowever thoroughgoingrearrangement in the routing of empty ships that
can achieve a greater economy of tonnage.
He illustrated the method by giving an optimum solution for a 312 transportation
problem, with the following supplies and demands:
Net receipt of dry cargo in overseas trade, 1925
Unit: Millions of metric tons per annum
Harbour Received Dispatched Net receipts
New York 23.5 32.7 9.2
San Francisco 7.2 9.7 2.5
St. Thomas 10.3 11.5 1.2
Buenos Aires 7.0 9.6 2.6
Antofagasta 1.4 4.6 3.2
Rotterdam 126.4 130.5 4.1
Lisbon 37.5 17.0 20.5
Athens 28.3 14.4 13.9
Odessa 0.5 4.7 4.2
Lagos 2.0 2.4 0.4
Durban 2.1 4.3 2.2
Bombay 5.0 8.9 3.9
Singapore 3.6 6.8 3.2
Yokohama 9.2 3.0 6.2
Sydney 2.8 6.7 3.9
Total 266.8 266.8 0.0
374 Chapter 21. Bipartite b-matchings and transportation
Robinson, 1950
Robinson [1950] might be the earliest reference stating clearly and generally that
the absence of a negative-cost directed circuit in the residual digraph is necessary
and sucient for optimality. She mentioned that it can be verified directly, and ob-
served that it gives an algorithm to find an optimum transportation. She concluded
with:
The number of steps in the iterative procedure depends on the goodness of
the initial choice of X0 . The method does not seem to lend itself to machine
calculation but may be ecient for hand computation with matrices of small
order.
The breakthrough of general linear programming came at the end of the 1940s.
In 1947, Dantzig formulated the linear programming problem and designed the
simplex method for the linear programming problem, published in Dantzig [1951b].
The success of the method was enlarged by a simple tableau-form and a simple
pivoting rule, and by the eciency in practice. In another paper, Dantzig [1951a]
described a direct implementation of the simplex method to the transportation
problem (including an anti-cycling rule based on perturbation; variants were given
by Charnes and Cooper [1954] and Eisemann [1956]).
Section 21.13e. Historical notes 375
Application to practice
The new ideas of applying linear programming to the transportation problem were
quickly disseminated. Applications to routing empty boxcars over the U.S. railroads
were given by Fox [1952] and Nerlove [1953]. Dantzig and Fulkerson [1954b,1954a]
studied a rudimentary form of a minimum-cost circulation problem in order to
determine the minimum number of tankers to meet a fixed schedule. Similarly,
Bartlett [1957] and Bartlett and Charnes [1957] studied methods to determine the
minimum railway stock to run a given schedule.
Applicability of linear programming to transportation to practice was also met
with scepticism. At a Conference on Linear Programming in May 1954 in London,
Land [1954] presented a study of applying linear programming to the problem of
transporting coal for the British Coke Industry:
The real crux of this piece of research is whether the saving in transport cost
exceeds the cost of using linear programming.
In the discussion which followed, T. Whitwell of Powers Samas Accounting Ma-
chines Ltd remarked
that in practice one could have ones ideas of a solution confirmed or, much more
frequently, completely upset by taking a couple of managers out to lunch.
Gleyzal [1955] published the following primal-dual method for the transportation
problem (with integer data). Let xi,j be a feasible solution of the transportation
problem. Transform xi,j such that the set {ui vj | xi,j > 0} contains no circuit,
and transform ci,j such that ci,j = 0 if xi,j > 0. (These are easy by first cancelling
circuits, and next redefining ci,j .)
If ci,j 0 for all i, j we are done. Suppose that ci0 ,j0 < 0 for some i0 , j0 . Let
A := {(ui , vj ) | ci,j 0} {(vj , ui ) | xi,j > 0}. If ui0 is reachable in A from vj0 , A
contains a directed circuit C containing (ui0 , vj0 ). Then we can reset xi,j := xi,j 1
if (vj , ui ) is in C and xi,j := xi,j + 1 if (ui , vj ) is in C. This decreases cT x.
If ui0 is not reachable in A from vj0 , then for any vertex v let r(v) := 1 if v is
reachable in A from vj0 and r(v) := 0 otherwise. Reset ci,j := ci,j r(ui ) + r(vj ).
This increases (ci,j | ci,j < 0), and hence the method terminates.
376 Chapter 21. Bipartite b-matchings and transportation
Munkres [1957] extended his variant of the Hungarian method for the assignment
problem to the transportation problem. In graph terms, it amounts to the following.
Let G = (V, E) be a complete bipartite graph, with colour classes U and W of
size n, and let be given a weight function w : E Z+ and a function b : V Z+
with b(U ) = b(W ). We must find a function x : E Q+ such that e(v) xe = bv
for each vertex v and such that e we xe is minimized.
Let F be the set of edges e with we = 0 and let H = (V, F ). Suppose
that we
have found an x : E Q+ such that xe = 0 if e F and such that e(v) xe bv
for each v V . Let U and W be the sets of vertices v in U and W for which
strict inequality holds. If U , and hence W , are empty, x is an optimum solution.
Otherwise, perform the following iteratively.
Orient each edge of H from U to W , and orient each edge e of H with xe > 0
also from W to U (so they are two-way). Now determine the set RM of vertices
reachable by a directed path from U .
Case 1: RM W = . Then D has a U W path, on which we can alternatingly
increase and decrease the value of xe , so as to make e xe larger.
Case 2: RM W = . So w(uv) > 0 for each u U RM and v W \ RM . Let
h be the minimum of these w(uv). Decrease w(uv) by h if u U RM , v W \ RM ,
and increase w(uv) by h if u U \ RM , v W RM .
This describes the iteration. Note that between any two occurrences of Case 1,
only n times Case 2 can occur, since at each such iteration the set RM W increases.
Moreover, after Case 2 we can continue the previous search for RM . So between
any two Case 1-iterations, the Case 2-iterations take O(n2 ) time altogether.
Now Case 1 can occur at most vU bv times. So the algorithm is finite, and
has running time O(n4 B) where B := max{bv | v V }. This specializes to the
Hungarian method if bv = 1 for all v V .
Also Ford and Fulkerson [1955,1957b] (cf. Ford and Fulkerson [1956c,1956d]) ex-
tended the Hungarian method to general transportation problems. Their method is
essentially the same as that of Munkres [1957], except that successive occurrences of
Case 1 iterations are combined to a maximum flow computation. A similar primal-
dual method for the transportation problem was described by Egerv ary [1958].
Ford and Fulkerson [1956a,1957a] extended the method of Ford and Fulker-
son [1955,1957b] for the uncapacitated transportation problem to the capacitated
transportation problem.
Orden [1955] showed the equivalence of the transshipment problem and the
transportation problem. He also noted that the class of transportation problems
covers the majority of the applications of linear programming which are in practical
use or under active development. Also Prager [1957a] studied the transshipment
problem by reduction to a transportation problem and by methods of elastostatics
(cf. Kuhn [1957]).
Gallai [1957,1958a,1958b] studied the minimum-cost and the maximum-profit
circulation problem, for which he gave min-max relations (see Section 12.5b). He
also considered vertex capacities and demands. Beside combinatorial proofs based
Section 21.13e. Historical notes 377
on potentials, Gallai gave proofs based on linear programming duality and total
unimodularity.
A minimum-cost flow algorithm (in disguised form) was given by Ford and
Fulkerson [1958b], to solve the dynamic flow problem described in Section 12.5c.
They described a method which essentially consists of repeatedly finding a zero-
length r s path in the residual graph, making lengths nonnegative by translating
the cost with the help of the current potential p. If no zero-length path exists,
the potential is updated. (This is Routine I of Ford and Fulkerson [1958b].) The
complexity of this was studied by Fulkerson [1958].
Yakovleva [1959] gave some implementations of the method of Kantorovich and
Gavurin [1949]. The paper considers three cases of the problem in a digraph with
demands (positive, negative, and zero) of vertices and costs of arcs: (i) noncapac-
itated case, (ii) capacitated case, and (iii) bipartite case (without zero demands).
Two methods are developed for finding feasible potentials or improving the current
flow. Time bounds are not indicated.
Among the other early algorithms for minimum-cost flow are successive short-
est paths methods (Busacker and Gowen [1960], Iri [1960]), out-of-kilter meth-
ods (Minty [1960], Fulkerson [1961]), cycle-cancelling (Klein [1967]), and succes-
sive shortest paths maintaining potentials (Tomizawa [1971], Edmonds and Karp
[1972]). An alternative method, which transforms the transportation problem to
a nonlinear programming problem, with computational results, was given by Ger-
stenhaber [1958,1960].
Polynomial-time algorithms
Edmonds and Karp [1972] gave the first polynomial-time algorithm for the mini-
mum-cost flow problem, based on capacity-scaling. They realized that in fact the
method is only weakly polynomial; that is, the number of steps depends also on the
size of the numbers in the input:
Although it is comforting to know that the minimum-cost flow algorithm termi-
nates, the bounds on the number of augmentations are most unfavorable. The
scaling method of the next two sections is a variant of this algorithm in which the
bound depends logarithmically, rather than linearly, on the capacities. A challeng-
ing open problem is to emulate the results of Section 1.2 for the maximum-value
flow problem by giving a method for the minimum-cost flow problem having a
bound on computation which is a polynomial in the number of nodes, and is
independent of both costs and capacities.
Tarjan [1983] wrote: There is still much to be learned about the minimum cost
flow problem. Soon after, Edmonds and Karps question was resolved by Tardos
[1985a], by giving a strongly polynomial-time minimum-cost circulation algorithm.
Her work has inspired a stream of further developments, part of which was discussed
in Chapter 12.
Chapter 22
Transversals
22.1. Transversals
Let A = (A1 , . . . , An ) be a family of sets. A set T is called a transversal
of A if there exist distinct elements a1 A1 , . . . , an An such that T =
{a1 , . . . , an }. So T is an unordered set with |T | = n. (Instead of transversal
one uses also the term system of distinct representatives or SDR.)
Transversals are closely related to matchings in bipartite graphs. In par-
ticular, the basic result on the existence of a transversal (Hall [1935]), is a
consequence of Konigs matching theorem. This can be seen with the fol-
lowing basic construction of a bipartite graph G = (V, E) associated with a
family A = (A1 , . . . , An ) of subsets of a set S:
(22.1) V := {1, . . . , n} S,
E := {{i, s} | i = 1, . . . , n; s Ai },
assuming that S is disjoint from {1, . . . , n} (which for our purposes can be
done without loss of generality). So G has colour classes {1, . . . , n} and S.
(This construction was given by Skolem [1917].)
Then trivially
(22.2) a set T is a transversal of A if and only if G has a matching M
of size n such that T is the set of vertices in S covered by M .
So the existence of a transversal of A can be reduced to the existence of
a matching in G of size n. Hence Konigs matching theorem applies to the
existence of transversals.
It is convenient to introduce the following notation, for any family
(A1 , . . . , An ) of sets and any I {1, . . . , n}:
Section 22.1a. Alternative proofs of Halls marriage theorem 379
(22.3) AI := Ai .
iI
The the closedness of tight subsets under intersections and unions was also
noticed by Maak [1936] and Weyl [1949], who gave alternative proofs of a theorem
of Rado and Halls marriage theorem, respectively.
Edmonds [1967b] gave a linear-algebraic proof of Halls marriage theorem (cf.
Section 16.2b). Ford and Fulkerson [1958c] derived Halls marriage theorem from
the max-flow min-cut theorem.
One can generalize this to the case where the family need not have a
transversal:
Proof. Make the graph G as in (22.1) and define w({i, s}) := w(s) for each
edge {i, s} of G. Denote R := {1, . . . , n}. Starting with M = , we can
apply the Hungarian method, to obtain an extreme matching of size n. The
elements of S covered by M form a maximum-weight transversal. As each
iteration of the Hungarian method takes O(m) time, this gives the theorem.
Proof. As above.
We can also obtain a min-max relation for the minimum weight of a transver-
sal:
taken over y : S Z+ .
Section 22.5. The transversal polytope 383
over functions y : S Z+ .
since for k := w(s) y(s), we have for each j < k there is no i Ij with
s Ai . Hence s S \ AIj for all j < k. So y and the Ij give an integer
feasible dual solution.
The fact that they are optimum follows from:
n
(22.17) y(S) + (n |Ij |) = y(S) + 1
j=0 j=0 i=1
max (w(s) y(s)) > j
sAi
n
= y(S) + 1
i=1 j=0
max (w(s) y(s)) > j
sAi
n
= y(S) + max{0, max(w(s) y(s))} = ,
sAi
i=1
by (22.14).
Proof. The transversal polytope is the facet of the partial transversal poly-
tope determined by the equality x(S) = n. This is constraint (22.13)(ii) for
I = , set to equality. Now each inequality in (22.19) is a nonnegative in-
teger combination of the inequalities in (22.13) and of x(S) n (since
x(AI ) = x(S \ AI ) x(S) (n |I|) n = |I|). So using Theorem 5.25,
the corollary follows.
One may note that the number of facets of the matching polytope of a
bipartite graph G = (V, E) is at most |V | + |E|, while the number of facets
of the closely related partial transversal polytope can be exponential in the
size of the input (the family A). In fact, the partial transversal polytope is a
projection of the matching polytope of the corresponding graph. Thus we have
an illustration of the phenomenon that projection can increase the number
of facets dramatically, while this has no negative eect on the complexity of
the corresponding optimization problem.
Proof. Necessity follows from the fact that if T1 , . . . , Tk are partial transver-
sals as required, then
386 Chapter 22. Transversals
k
k
(22.22) |AI | |AI Tj | max{0, |I| n + dj }
j=1 j=1
Proof. Let A be the family obtained from A by taking each set k times.
Then S can be covered by k partial transversals if and only if S is a partial
transversal of A . By the defect form of Halls marriage theorem (Theorem
22.2), this last is equivalent to the condition that
(22.25) |S \ X| + k |{i | Ai X = }| |S|
for each X S. This is equivalent to (22.24).
Proof. Let A be the family of sets obtained from A by repeating any Ai bi times.
Then the existence of the Bi is equivalent to the existence of a transversal of A .
Moreover, (22.26) is equivalent to Halls condition for A .
These theorems are in fact direct consequences of the general Theorem 21.28.
This theorem moreover gives the following result of Vogel [1961], which puts mul-
tiplicities both on the sets in A and on the elements of the underlying set S:
Proof. Make a directed graph as follows. Its vertex set is {r} {u1 , . . . , un } S
{p1 , . . . , pm } {t}, and there are arcs
(22.35) (r, ui ) for i = 1, . . . , n,
(ui , s) for i = 1, . . . , n and s Ai ,
(s, pj ) for j = 1, . . . , m and s Pj ,
(pj , t) for j = 1, . . . , m.
Put lower bound aj and capacity bj on each arc (pj , t). On any other arc, put lower
bound 0 and capacity 1. Then a transversal as required exists if and only if there is
an integer r t flow of value n satisfying the lower bounds and capacities. Applying
Corollary 11.2e gives the present theorem.
(The proof of Homan and Kuhn [1956a] is based on the duality theorem of linear
programming. Gale [1956,1957] and Fulkerson [1959a] derived the theorem from
network flow theory. For further extensions, see Mirsky [1968b].)
Rado [1938] proved the following generalization (but also consequence) of Halls
marriage theorem:
Shmushkovich [1939], de Bruijn [1943], Hall [1948], Henkin [1953], Tutte [1953],
Mirsky [1967], Rado [1967a] (with H.A. Jung), Brualdi and Scrimger [1968], Folk-
man [1970], McCarthy [1973], Damerell and Milner [1974], Steens [1974], Podewski
and Steens [1976], Nash-Williams [1978], Aharoni [1983c], and Aharoni, Nash-
Williams, and Shelah [1983] considered extensions of Halls marriage theorem to the
390 Chapter 22. Transversals
infinite case. Perfect [1968] gave proofs of theorems on transversals with Mengers
theorem.
For a very general theorem see Brualdi [1969a]. For counting transversals, see
Hall [1948], Rado [1967b], and Ostrand [1970].
Gale [1968] showed that for any family A of subsets of a finite set S and any
total order < on S, there is a transversal T of A such that for each transversal T
of A there exists a one-to-one function : T T with (s) s for each s T .
(Gale showed that this in fact characterizes matroids.)
The standard work on transversal theory is Mirsky [1971b]. Also Brualdi [1975]
and Welsh [1976] provide surveys. Surveys on the relations between the theorems
of Hall, Konig, Menger, and Dilworth were given by Jacobs [1969] and Reichmeider
[1984].
Results on transversals go back to the papers by Miller [1910] and Chapman [1912],
who showed that if H is a subgroup of a finite group G, then the partitions of G
into left cosets and into right cosets have a common transversal. This is an easy
result, due to the fact that each component of the intersection graph of left and
right cosets is a complete bipartite graph. This implies that any common partial
transversal can be extended to a common (full) transversal (Chapman [1912]).
This result was extended by Scorza [1927] to: if H and K are subgroups of a finite
group G, with |H| = |K|, then there exist x1 , . . . , xm G with x1 H xm H =
G = Kx1 Kxm and m = |G|/|H|. (Again this can be derived easily from
the fact that each component of the intersection graph of left cosets of H and right
cosets of K is a complete bipartite graph.)
As an extension of these results, in October 1926, van der Waerden [1927]
presented the following theorem at the Mathematisches Seminar in Hamburg:
Es seien zwei Klasseneinteilungen einer endlichen Menge M gegeben. Die eine
soll die Menge in zueinander fremde Klassen A1 , . . . , A zu je n Elementen
zerlegen, die andere ebenfalls in fremde Klassen B1 , . . . , B zu je n Elementen.
Dann gibt es ein System von Elementen x1 , . . . , x , derart, da jede A-Klasse
und ebenso jede B-Klasse under den xi durch ein Element vertreten wird.41
The proof of van der Waerden is based on an augmenting path argument. More-
over, van der Waerden remarked that E. Artin had communicated orally to him that
the result can be sharpened to the existence of n disjoint such common transversals.
In a note added in proof, van der Waerden observed that his theorem follows
from K onigs theorem on the existence of a perfect matching in a regular bipartite
graph:
Zusatz bei der Korrektur. Ich bemerke jetzt, da der hier bewiesene Satz mit
nes Ko
einem Satz von De nig u
ber regul aquivalent ist.42
are Graphen
41 Let be given two partitions of a finite set M. One of them should decompose the set
into mutually disjoint classes A1 , . . . , A each of n elements, the other likewise in
disjoint classes B1 , . . . , B each of n elements. Then there exists a system of elements
x1 , . . . , x such that each A-class and likewise each B-class is represented by one element
among the xi .
42 Note added in proof. I now notice that the theorem proved here is equivalent to a
theorem of De nes Ko nig on regular graphs.
Section 22.7d. Historical notes on transversals 391
Hall
Common transversals
AI := Ai .
iI
(For a direct derivation of this theorem from Halls marriage theorem, see
Perfect [1969c]. For a derivation from the K onig-Rado edge cover theorem,
see Perfect [1980].)
This construction also implies, with Theorem 9.8, that a common transver-
sal of two collections of n subsets of S can be found in time O(n3/2 |S|) (cf.
Adelson-Velski, Dinits, and Karzanov [1975]).
Perfect [1968] (cf. McDiarmid [1973]) strengthened Theorem 23.1 to a
min-max relation for the maximum size of a common partial transversal:
let A := ({a}, {b, c}) and B := ({b}, {a, c}). Then {c} is a common partial
transversal, while {a, b} is the only common transversal.
The following result of Perfect [1968] and Welsh [1968] characterizes sub-
sets contained in common transversals. It is a special case of a theorem of
Ford and Fulkerson [1958c] (cf. Theorem 23.14), and will be derived from
Theorem 23.1 with a method of Mirsky and Perfect [1968].
Due to the special structure of G and its weight function one can sharpen
this to:
Proof. We may assume that w(s) 0 for each s S (we can add a constant
to all weights). Then we can start the Hungarian method with the matching
M consisting of all edges {s, s } with s S. This matching is extreme (that
is, has maximum weight among all matchings of size |M |), and the Hungar-
ian method requires only n iterations to obtain a maximum-weight perfect
matching.
Proof. Consider the graph G above. By Theorem 17.5 (or by total unimod-
ularity), the maximum weight of a perfect matching in G is equal to the
minimum value of
n
(23.14) (i + i ) + (w1 (s) + w2 (s))
i=1 sS
we have:
Proof. As above.
if we delete common). To see this, let A = ({a}, {b, c}), B = ({b}, {a, c}),
and w(a) = w(b) = 1, w(c) = 3. Then {c} is the only maximum-weight
common partial transversal, while {a, b} is the only common transversal.
A min-max relation for the maximum weight of a common partial transver-
sal can be derived from a min-max relation for the maximum weight of a
matching in a bipartite graph, or from linear programming duality using
total unimodularity, as we do in the proof below:
Proof. Clearly, the maximum value here cannot be larger than the minimum
value, since w(T ) = w1 (T )+w2 (T ) m(A, w1 )+m(B, w2 ) for any maximum-
weight common partial transversal T .
To see equality, consider w1 and w2 of Theorem 23.5, and let w2 := ww1 .
Then for any partial transversal T1 of A one has
k
(23.23) w1 (T1 ) max w1 (s).
sAi
i=1
So by Theorem 23.5 we have that m(A, w1 ) + m(B, w2 ) is not more than the
maximum w-weight of a common partial transversal.
A and B is the convex hull of the incidence vectors (in RS ) of the common
partial transversals of A and B. That is,
(23.26) Pcommon partial transversal (A, B) = conv.hull{T | T is a common
partial transversal of A and B}.
It is easy to see that each vector x in the common partial transversal polytope
satisfies:
(23.27) (i) 0 xs 1 for s S,
(ii) x(S \ AI ) k |I| for I {1, . . . , k},
(iii) x(S \ BI ) l |I| for I {1, . . . , l}.
In fact, this fully determines the common partial transversal polytope:
Proof. We must show that for any weight function w ZS+ , the maximum
value of wT x over (23.27) is equal to the maximum weight of any common
partial transversal. By Corollary 23.5a, there exist weight functions w1 , w2
ZS with w = w1 + w2 and = m(A, w1 ) + m(B, w2 ). Now any x satisfying
(23.27) belongs to the partial transversal polytopes of A and B. So w1T x
m(A, w1 ) and w2T x m(B, w2 ). Hence wT x .
Since (23.27) is the union of the systems that determine the partial
transversal polytope of A and of B, we have:
Also:
Again one cannot make the obvious extension to three families of sets,
by considering the families (23.25). In that case, the vector ( 12 , 21 , 12 ) belongs
to the intersection of the three partial transversal polytopes, but does not
belong to the common partial transversal polytope.
Section 23.5. The common transversal polytope 401
Proof. The common transversal polytope is the facet of the common partial
transversal polytope determined by the equality x(S) = n. So we must show
that (23.30) implies (23.27), which is trivial, since if x satisfies (23.30), then
x(S \ AI ) = x(S) x(AI ) n |I| and x(S \ BI ) = x(S) x(BI ) n |I|
for any I {1, . . . , n}.
In fact:
Theorem 23.9 also gives a variant of the exchange property (de Sousa
[1971]):
This gives the following basic min-max relation for the maximum number
of disjoint common transversals, given by Fulkerson [1971b] and de Sousa
[1971]:
(Note that if A and B are partitions of a set, this corollary reduces to Corol-
lary 20.9a.)
The following open problem, dealing with packing common transversals,
was mentioned by Fulkerson [1971b]: Let A and B be families of subsets of a
set S and let c ZS+ . What is the maximum number k of common transversals
T1 , . . . , Tk such that
(23.35) T1 + + Tk c?
More generally than Corollary 23.9d, one has for disjoint common partial
transversals of prescribed size (Fulkerson [1971b]):
404 Chapter 23. Common transversals
Similarly to Theorem 23.9 one can prove the following exchange property:
Proof. The assumption implies that each Ai contains a subset Ai with |Ai |
k, such that the Ai partition S. For our purposes, we can assume that Ai = Ai
for each i. Similarly, we can assume that B is a partition of S into classes of
size at most k.
Again, make a bipartite graph G, with colour classes {a1 , . . . , an } and
{b1 , . . . , bm }, connecting ai and bj by |Ai Bj | parallel edges. Then G has
maximum degree at most k, and hence, by Theorem 20.8, G is k-edge-
colourable, where each colour has size |S|/k or |S|/k. This yields a par-
tition of S into k common partial transversals as required.
Section 23.7b. Exchange properties 407
Proof. Let for any s S, Zs be a set of b(s) (new) elements. Replace in each Ai
and Bj , any occurrence of any s S by the elements of Zs . Choose from each
Zs , a(s) elements, forming the set X. Then A and B have a common system of
restricted representatives if and only if the new families have a common transversal
containing X. Trivially, condition (23.47) is equivalent to condition (23.8) for the
new families, and hence the theorem follows from Corollary 23.1b.
Proof. Directly from Corollary 9.12a applied to the digraph defined in (23.1).
Corollary 23.15a. Let A and B be families of sets and let A and B be subfam-
ilies of A and B respectively. Then there exist subfamilies A0 and B0 of A and B
408 Chapter 23. Common transversals
Nonbipartite Matching
and Covering
412
Chapters:
Cardinality nonbipartite
matching
Proof. Directly from the Tutte-Berge formula (Theorem 24.1), since G has
a perfect matching if and only if (G) 12 |V |.
Section 24.2. Cardinality matching algorithm 415
The original proof of Tutte [1947b] of his 1-factor theorem (Corollary 24.1a), with
a simplification of Maunsell [1952], and smoothed by Halton [1966] and Lov asz
[1975d], is as follows.
Suppose that there exist graphs G = (V, E) satisfying the condition, but not
having a perfect matching. Fixing V , take such a graph G with G simple and |E|
as large as possible. Let U := {v V | v is adjacent to every other vertex of G}.
We show that each component of G U is a complete graph.
Suppose to the contrary that there are distinct a, b, c U with ab, bc E and
ac
E. By the maximality of |E|, adding ac to E makes that G has a perfect match-
ing (since the condition is maintained under adding edges). So G has a matching
M missing precisely a and c. As b U , there exists a vertex d with bd E. Again
by the maximality of |E|, G has a matching N missing precisely b and d. Now each
component of M N contains the same number of edges in M as in N otherwise
there would exist an M - or N -augmenting path, and hence a perfect matching in
G, a contradiction. So the component P of M N containing d is a path starting at
d, with first edge in M and last edge in N , and hence ending at a or c; by symmetry
we may assume that it ends at a. Moreover, P does not traverse b. Then extending
P by the edge ab gives an N -augmenting path, and hence a perfect matching in G
a contradiction.
So each component of G U is a complete graph. Moreover, by the condition,
GU has at most |U | odd components. This implies that G has a perfect matching,
contradicting our assumption.
More proofs were given by Gallai [1950,1963b], Edmonds [1965d], Balinski
[1970], Anderson [1971], Brualdi [1971d], Hetyei [1972,1999], Mader [1973], and
Lovasz [1975a,1979b].
for bipartite graphs, of orienting the edges based on the colour classes of the
graph, does not extend to the nonbipartite case. Yet one could try to find
an M -augmenting path by finding an M -alternating walk, but such a walk
can run into a loop that cannot simply be deleted. It was Edmonds [1965d]
who found the trick to resolve this problem, namely by shrinking the loop
(for which he introduced the term blossom). Then applying recursion to a
smaller graph solves the problem1 .
Let G = (V, E) be a graph, let M be a matching in G, and let X be the set
of vertices missed by M . A walk P = (v0 , v1 , . . . , vt ) is called M -alternating if
for each i = 1, . . . , t 1 exactly one of the edges vi1 vi and vi vi+1 belongs to
M . Note that one can find a shortest M -alternating X X walk of positive
length, by considering the auxiliary directed graph D = (V, A) with
(24.6) A := {(u, v) | x V : ux E, xv M }.
Then each M -alternating X X walk of positive length yields a directed X
N (X) path in D, and vice versa (where N (X) denotes the set of neighbours
of X).
An M -alternating walk P = (v0 , v1 , . . . , vt ) is called an M -flower if t is
odd, v0 , . . . , vt1 are distinct, v0 X, and vt = vi for some even i < t.
Then the circuit (vi , vi+1 , . . . , vt ) is called an M -blossom (associated with
the M -flower).
vt1 vt2
v0 v1 v2 v3
v4 = vt
v5 v6
but not its name.) We say that the new edge is the image (or projection) of
the original edge.
For any matching M , let M/B denote the set of edges in G/B that are
images of edges in M not spanned by B. Obviously, if M intersects (B) in at
most one edge, then M/B is a matching in G/B. In the following, we identify
a blossom with its set of vertices.
Proof. Assume that P is not a path. Choose i < j with vj = vi and with j
as small as possible. So v0 , . . . , vj1 are all distinct.
If j i would be even, we can delete vi+1 , . . . , vj from P so as to obtain a
shorter M -alternating X X walk. So j i is odd. If j is even and i is odd,
then vi+1 = vj1 (as it is the vertex matched to vi = vj ), contradicting the
minimality of j.
Hence j is odd and i is even, and therefore (v0 , v1 , . . . , vj ) is an M -flower.
418 Chapter 24. Cardinality nonbipartite matching
Proof. The algorithm directly follows from algorithm (24.9), since, starting
with M = , one can iteratively apply it to find an M -augmenting path P
and replace M by M EP . It terminates if there is no M -augmenting path,
whence M is a maximum-size matching.
By using (24.6), path P in (24.9) can be found in time O(m). Moreover,
the graph G/B can be constructed in time O(m). Since the recursion has
depth at most n, an M -augmenting path can be found in time O(nm). Since
the number of augmentations is at most 21 n, the time bound follows.
Finally, the data structure in Case 2b can be updated in O(|B|n) time2 . Also
a matching augmentation in G/B can be transformed to a matching augmentation
in G in time O(|B|n). Since |B| is bounded by twice the decrease in the number of
vertices of the graph, this takes time O(n2 ) overall.
Hence a matching augmentation can be found in time O(n2 ), and therefore:
The first O(n3 )-time cardinality matching algorithm was published by Balin-
ski [1969], and consists of a depth-first strategy to find an M -alternating forest,
replacing shrinking by a clever labeling technique.
Bottleneck in a further speedup is storing the shrinking. With the disjoint set
union data structure of Tarjan [1975] one can obtain an O(nm(m, n))-time algo-
rithm (Gabow [1976a]). A special set union data structure of Gabow and Tarjan
[1983,1985] gives an O(nm)-time algorithm. An O( n m)-time algorithm was an-
nounced (with partial proof) by Micali and Vazirani [1980]. A proof was given by
Blum [1990], Vazirani [1990,1994], and Gabow and Tarjan [1991] (cf. Peterson and
Loui [1988]).
Theorem 24.6. Let G = (V, E) be a graph and let T V . Then the maxi-
mum size of a subset S of T for which there is a matching covering S is equal
to the minimum value of
(24.16) |T | + |U | oT (G U )
over U V . Here oT (GU ) denotes the number of odd components of GU
contained in T .
continued
O( n m log log n) Kariv [1976]
O( n m + n1.5+ ) Kariv [1976] for each > 0
announced by Micali and Vazirani [1980], full
proof in Blum [1990], Vazirani [1990,1994], and
O( n m)
Gabow and Tarjan [1991](cf. Gabow and Tarjan
[1983,1985])
n2
O( n m logn m
) Goldberg and Karzanov [1995]
Here indicates an asymptotically best bound in the table. (Kameda and Munro
[1974] claim to give an O(nm)-time cardinality matching algorithm, but the proof
contains some errors which I could not resolve.)
Gabow and Tarjan [1988a] observed that the method of Micali and Vazirani
[1980] also implies that one can find, for given k, a matching of size at least
(G) nk in time O(km). They derived thata maximum-size matching M minimiz-
ing maxeM w(e) can be found in time O( n log n m). (the bottleneck matching
problem).
Mulmuley, Vazirani, and Vazirani [1987a,1987b] showed that matching is as
easy as matrix inversion, which is especially of interest for the parallel complexity.
There is a canonical set U that attains the minimum in (24.2). It has the property
that the odd components of GU cover an inclusionwise minimal set of vertices, and
is given by the Edmonds-Gallai decomposition, independently found by Edmonds
[1965d] and Gallai [1963a,1964].
Let G = (V, E) be a graph. The Edmonds-Gallai decomposition of G is the
partition of V into D(G), A(G), and C(G) defined as follows (recall that N (U ) :=
{v V \ U | u U : uv E}):
(24.18) D(G) := {v V | there exists a maximum-size matching missing v},
A(G) := N (D(G)),
C(G) := V \ (D(G) A(G)).
It yields a canonical certificate of maximality of a matching:
Theorem 24.7. U := A(G) attains the minimum in (24.2), D(G) is the union of
the odd components of GU , and (hence) C(G) is the union of the even components
of G U .
Proof. Case 1: D(G) is a stable set. Let M be a maximum-size matching and let
X be the set of vertices missed by M . Then each vertex v in A(G) is contained in
an edge uv M (as v D(G)). We show that u D(G). Assume that u D(G).
Since v A(G) = N (D(G)), there is an edge vw with w D(G). Let N be a
matching missing w. Then M N contains a path component starting at a vertex in
X and ending at w. Let (v0 , v1 , . . . , vt ) be this path, with v0 X and vt = w. Then
t is even and vi D(G) for each even i (because M {v0 v1 , v2 v3 , . . . , vi1 vi } is a
424 Chapter 24. Cardinality nonbipartite matching
So U = A(G) is the unique set attaining the minimum in (24.2) for which the
union of the odd components of G U is inclusionwise minimal.
Note that:
(24.22) for any U attaining the minimum in (24.2), each maximum-size match-
ing M has exactly 12 |K| edges contained in any component K of
G U , and each edge of M intersecting U also intersects some odd
component of G U .
This implies the following. Call a graph G = (V, E) factor-critical if G v has a
perfect matching for each vertex v.
Proof. Directly from Theorem 24.7 and (24.22): if v K, then v D(G), and
hence G v has a maximum-size matching M missing v. By (24.22), M has 12 |K|
edges contained in K. So K v has a perfect matching.
with the alternating forest approach of Section 24.2a one can find the Edmonds-
Gallai decomposition in time O(n3 ). If we have a maximum-size matching, it takes
O(n2 ) time.
Tuttes 1-factor theorem can be (self-)refined as follows (this theorem also can be
derived from Theorem 24.7 and Corollary 24.7a; we give a direct derivation from
Tuttes 1-factor theorem):
Theorem 24.8. A graph G = (V, E) has a perfect matching if and only if for each
U V , the graph G U has at most |U | factor-critical components.
Proof. Necessity is easy, since each factor-critical component is odd. To see su-
ciency, let the condition be satisfied, and suppose that G has no perfect matching.
By Tuttes 1-factor theorem, there is a subset U of V such that G U has more
than |U | odd components. Choose an inclusionwise maximal such set U .
By the condition, at least one component K of G U is not factor-critical. That
is, K contains a vertex v such that K v has no perfect matching. Then by Tuttes
1-factor theorem, there exists a subset U of K v such that K v U has more
than |U | odd components, and hence at least |U | + 2 odd components (since K v
has an even number of vertices). Now define U := U U {v}. Then G U has
more than |U | odd components. As U U , this contradicts the maximality of
U.
Proof. For suciency, see above. To see necessity, fix, for each vertex v of G, a
perfect matching Mv of Gv. Choose a vertex u of G. Let H be a maximal subgraph
of G such that
(24.23) (i) H arises by a series of odd ear addings from the one-vertex graph
on u;
(ii) for each edge e Mu , if e intersects V H, then e EH.
426 Chapter 24. Cardinality nonbipartite matching
Proof. To see suciency, let C be an odd circuit with G/C factor-critical. We show
that G is factor-critical. Choose v V . If v C, let M be a perfect matching of
G[C \ {v}]. Since G/C is factor-critical, G C has a perfect matching M . Then
M M is a perfect matching of G v.
If v C, let M be a perfect matching of (G/C) v. In G this gives a matching
covering all vertices in V \ (C {v}) and exactly one vertex, u say, in C. Let M be
a perfect matching in G[C \ {u}]. Then M M is a perfect matching of G v.
This shows suciency.
Necessity is shown with Theorem 24.9. Let G be factor-critical. Consider an
odd ear-decomposition of G, and let C be the first odd ear. Then the remaining
ears form an odd ear-decomposition of G/C, and hence G/C is factor-critical.
Theorem 24.10. For each connected matching-covered graph G with at least four
vertices there exists a series of graphs G0 , . . . , Gk with G0 being an even circuit,
Gk = G, and Gi arising by adding an odd ear to Gi1 (i = 1, . . . , k).
A direct algorithmic proof was given by Little and Rendl [1989]. Little [1974]
showed that in a matching-covered graph, any two edges belong to a circuit that
is in the symmetric dierence of two perfect matchings. Carvalho, Lucchesi, and
Murty [1999] gave more results on ear-decompositions of matching-covered graphs.
Since each singleton is a barrier, Corollary 24.11a implies that the maximal
barriers in a connected matching-covered graph partition the vertex set of G. This
gives the result of Kotzig [1959b] (Theorem 11):
Proof. Note that u v if and only if {u, v} is contained in some barrier. So the
corollary follows directly from Corollary 24.11a.
The following problem was considered by Fujii, Kasami, and Ninomiya [1969]. Sup-
pose that we have to carry out certain jobs, where some of the jobs have to be done
before other. We can represent this by a partially ordered set (V, ) where V is the
set of jobs and x < y indicates that job x has to be done before job y. Each job
takes one time-unit, say one hour.
Suppose now that there are two workers, each of which can do one job at a time.
Alternatively, suppose that you have one machine, that can do at each moment two
jobs simultaneously (a two-processor).
We wish to do all jobs within a minimum total time span. This problem can
be solved with the matching algorithm as follows. Make a graph G = (V, E), with
vertex set V (the set of jobs) and with edge set
(24.27) E := {{u, v} | u v and v u}.
(So (V, E) is the complementary graph of the comparability graph associated with
(V, ).)
Section 24.4h. The Tutte matrix and an algebraic matching algorithm 429
Consider now a possible schedule of the jobs. That is, we have a sequence
p1 , . . . , pt , where each pi is either a singleton vertex or an edge of G such that
p1 , . . . , pt partition V and such that if u < v and u pi and v pj , then i < j.
Now the pairs in this list should form a matching M in G. Hence t = |V | |M |.
In particular, t cannot be smaller than |V | (G), where (G) is the matching
number of G.
Fujii, Kasami, and Ninomiya [1969] showed that in fact one can always make a
schedule with t = |V | (G). For that it is sucient to show:
Tutte [1947b] observed the following. Let G = (V, E) be a graph. Choose for each
edge e an indeterminate xe . Let M be a skew-symmetric3 V V matrix with
Mu,v = xe if e = {u, v} E, and Mu,v = 0 otherwise (including u = v) (the
Tutte matrix). Then the rank of M is equal to twice the matching number of G.
Lov
asz [1979c] showed that substituting random integers for the xe , gives an
ecient randomized algorithm for finding the matching number of G. This idea was
extended by Geelen [2000], who proved the following:
(24.28) Let M arise from M by substituting the xe by integers from {1, . . . , n},
where n := |V |. If rank(M ) < rank(M ), then there is an edge e of G
and a number b {1, . . . , n} such that for the matrix M arising from
3 A matrix M is skew-symmetric if M T = M .
430 Chapter 24. Cardinality nonbipartite matching
Biedl, Bose, Demaine, and Lubiw [1999,2001] gave an O(n log4 n) time algorithm
to find a perfect matching in cubic bridgeless graphs (linear-time if the graph is
moreover planar). Biedl [2001] gave a linear-time reduction of the general matching
problem to the matching problem for cubic graphs.
Lower bounds on the maximum size of a matching were given by Nishizeki and
Baybars [1979] for planar graphs and by Biedl, Demaine, Duncan, Fleischer, and
Kobourov [2001] for several other classes of graphs.
Fulkerson, Homan, and McAndrew [1965] showed that any regular graph with
an even number of vertices and with the property that each two vertex-disjoint odd
circuits are connected by an edge, has a perfect matching (cf. Mahmoodian [1977],
Berge [1978b,1981]). Other sucient conditions were given by Anderson [1972],
Sumner [1974a], Las Vergnas [1975a], and Chartrand, Goldsmith, and Schuster
[1979].
Plesnk [1972] showed that in a k-regular (k 1)-edge-connected graph with
an even number of vertices, there is a perfect matching not containing k 1 pre-
scribed edges (cf. Chartrand and Nebesk y [1979]). For k = 3 this was proved by
Schonberger [1934]. For general k, it can also be derived from Edmonds perfect
matching polytope theorem (Theorem 25.1 below). See also Plesnk [1979].
Further studies on the structure of matching-covered graphs (graphs in which
each edge belongs to a perfect matching) were made by Kotzig [1959a,1959b,1960],
Hetyei [1964], Lov asz [1970d,1972f,1972d,1972e,1983a], Little, Grant, and Holton
[1975], Lovasz and Plummer [1975], Gabow [1979], Edmonds, Lov asz, and Pulley-
blank [1982], Naddef [1982], and Szigeti [1998b].
Gabow, Kaplan, and Tarjan [1999,2001] gave fast algorithms to test if a given
perfect matching is unique, to find it, and if it not unique to find another perfect
matching.
Sumner [1974b,1976] studied sets U with o(G U ) > |U |. Weinstein [1963,1974]
and Bollob as and Eldridge [1976] related the matching number to the minimum and
maximum degree and the connectivity. Chv atal and Hanson [1976] evaluated the
maximum number f (n, b, d) of edges of a graph with n vertices having no vertex of
degree > d and no matching of size > b.
Section 24.4j. Historical notes on nonbipartite matching 431
Petersen [1891] was among the first to study perfect matchings (1-factors) in graphs,
introducing several basic concepts and methods, like factors and alternating paths.
He was motivated by finite basis theorems in invariant theory, especially by the ques-
tion which polynomials form a finite basis. Petersen cooperated with J.J. Sylvester,
who did similar studies, leading to an intensive correspondence on the topic in the
years 1889-1890 see Sabidussi [1992] (unfortunately, the letters of Petersen to
Sylvester were not found).
In particular, they considered homogeneous polynomials of the form
(24.29) (xi xj )ri,j ,
i<j
and were interested in conditions under which such a polynomial can be factorized
into other homogeneous polynomials of the same form. This is equivalent to char-
acterizing the existence of k-factors in regular graphs. (Graph terms like factor
and degree introduced by Petersen are motivated by this interpretation.)
In a letter of 18 October 1889, Sylvester expressed to Petersen the conjecture
that each graph of minimum degree at least two has a 2-factor. He had checked it
for graphs with up to 7 vertices, and said that he had not much doubt of being
able to establish the proof for all values of n by the same process which has been
successful for the earlier numbers. Sylvester considered this as the most important
432 Chapter 24. Cardinality nonbipartite matching
Figure 24.3
Sylvesters graph
is 3-regular.)
Subsequently, on 16 November 1889, Sylvester wrote to Petersen:
Thanks for your interesting noteI also have a proof of the theorem of Ablation
for even equifrequencies.
Apparently, Petersen had written about his theorem that each regular graph of
even degree has a 2-factorization, for which Sylvester also said to have a proof.
Next follows correspondence on the proofs the two have, with a lot of mutual
misunderstanding. However, after hearing Petersens proof at a visit of Petersen to
Sylvester, at the end of December 1889, Sylvester became convinced of the correct-
ness of Petersens proof, and found it a very beautiful method. On the other hand,
Petersen remained very sceptical about Sylvesters proof, which Sylvester said was
by induction on the number of vertices. They decided to publish their proofs sepa-
rately. However, Sylvester did not publish on the topic; Petersens proof appeared
in the paper Petersen [1891].
In this paper, Petersen first observed that Gordans finite basis theorem implies
that for each n there exists a finite set G of regular graphs on n vertices (of nonzero
degree) with the property that each regular graph on n vertices contains at least
one graph in G as spanning subgraph (factor). (This result can also be proved
by elementary means.) Petersen next puts as his goal to characterize all primitive
Section 24.4j. Historical notes on nonbipartite matching 433
graphs, that is, all regular graphs that have no other factors than itself and the
0-regular subgraph.
First, Petersen observed that a 2-regular graph is primitive if and only if at
least one of its components is odd. Next, he showed that each 4-regular graph has
a 2-factor. To this end, he made an Eulerian tour along all edges, colouring them
alternatingly blue and red. The blue edges then form a 2-factor. He observed that
similarly one can show more generally that each 2k-regular graph with an even
number of edges has a k-factor.
Next, Petersen showed that each 2k-regular graph has a 2-factorization. His
proof is by observing that the existence of a 2-factorization is invariant under re-
placing any two disjoint edges ab and cd by ac and bd (by using the result that each
4-regular graph has a 2-factorization).
This solves the factorization problem for k-regular graphs with k even. Petersen
next considered the case of odd k. He gave an example of primitive k-regular graphs
for arbitrary odd k. He showed that each k-regular graph on n vertices with k >
1
2
n + 1 has a perfect matching. To this end, he considered a matching M and
observed that
(24.30) M has maximum size if and only if there is no M -augmenting path.
To formulate this, Petersen coloured the edges in M red, and all other edges blue.
A Wechselweg (alternating path) is a path coloured alternatingly red and blue. Let
2n be the number of vertices of the graph and let be the size of the matching
(thus it misses 2n 2 vertices). Then:
Wir sahen oben, dass gr
osser gemacht werden konnte, wenn wir zwischen zwei
von den 2n 2 Punkten einen Wechselweg cabd finden konnten; dasselbe gilt
wenn wir zwischen zwei von den 2n 2 Punkten u berhaupt einen Wechselweg
finden k
onnen, denn ver
andert man die Farben der Seiten eines solches Weges, so
wird die Anzahl der rothen Linien um eins vergr
ossert. Man beweist leicht, dass
diese Bedingung auch notwendig is.4
He conjectured:
4 We saw above that can be increased, if we could find an alternating path cabd between
two of the 2n2 points; the same holds if we can find an alternating path at all between
two of the 2n 2 points, because if one changes the colours of the edges in such a path,
then the number of red edges increases by one. One easily proves that this condition is
also necessary.
5 While we select the edges arbitrarily and then try to increase by alternating paths,
we can investigate if a given graph is primitive or not;
6 the question however arises if the primitive graphs are not distinguished from the fac-
torizable by simple characteristics.
434 Chapter 24. Cardinality nonbipartite matching
Brahana [1917] gave a shorter proof of Petersens theorem. He restricted the concept
of leaf to a minimal set of vertices connected by only one edge to the remainder of
the graph. (In fact, also Petersens proof is valid for this restricted interpretation
of leaf.)
Brahanas method is again based on augmenting paths and shrinking. Moreover,
he used a reduction to smaller graphs by deleting two adjacent vertices u and v and
connecting the two further vertices adjacent to u and v by new edges. This can be
done in such a way that the number of leaves remains at most 2.
In fact, part of Brahanas method is algorithmic, and can be considered as a
specialization of Edmonds cardinality matching algorithm. Brahana needs to find
a 1-factor, given a matching M of size 21 n 1 (where n is the number of vertices).
He described a depth-first method to find an M -augmenting path starting from a
vertex missed by M . If it runs into a loop (a bicursal circuit), it can be removed
by shrinking:
We continue this shrinking process as long as there are such bicursal circuits.
Also Errera [1921,1922], Frink [1925], Sch onberger [1934], Konig [1936], and
Baebler [1954] gave alternative proofs of Petersens theorem (see also Sainte-Lague
[1926b]). The proof of Frink is by induction, no shrinking or counting processes
being used. He overlooked however some complications (in relation to the con-
struction of a new 2-connected graph in the proof of his Theorem II) they were
resolved by K onig [1936]. The proof yields a polynomial-time algorithm to find a
perfect matching in a 2-connected cubic graph.
Schonberger [1934] showed that in any 2-connected cubic graph each edge is in
a perfect matching, and (more generally) for any two prescribed edges there is a
perfect matching not containing these edges.
7 Something speaks for it that a primitive graph must have leaves, while a leaf is such a
part of the graph that is in connection with the remaining part only by one single edge.
I therefore have tried to prove this, but have found the diculties that big, that I have
restricted the investigation to the graph of third degree.
8 We now contract each two-arrow system to one point;
Section 24.4j. Historical notes on nonbipartite matching 435
Baebler [1937] showed that each k-regular l-edge-connected graph, with k odd
and l even, has an l-factor. His proof is based on shrinking.
Tutte
Tutte [1947b] characterized the graphs that have a perfect matching. His proof is
essentially that given in Section 24.1a, defining a graph to be hyperprime if it
has no perfect matching, but adding any edge creates a perfect matching. He used
pfaans in order to show that, in a hyperprime graph, each component of the
subgraph induced by the set of vertices that are not adjacent to all other vertices,
is complete. A combinatorial proof of this fact was given by Maunsell [1952].
Tuttes theorem was extended to arbitrary l-factors (l Z+ ) by Belck [1950]
(see Chapter 33); the proof is by extension of Tuttes method. This in turn was
generalized by Tutte [1952] to b-factors where b ZV+ . As an allied problem, Tutte
[1952] considered perfect b-matchings, that is, functions f ZE+ with f ((v)) = b(v)
for each vertex v. The proof is by reduction to the b-factor case, by replacing each
edge by several parallel edges.
Then in Tutte [1954b] it is realized that the b-factor and b-matching theorems
can be reduced to the case b = 1 by splitting vertices and by the construction given
in the proof of Theorem 32.1.
Gallai [1950] gave a short proof of Tuttes 1-factor theorem. He showed the
following. Let G be a graph without a perfect matching, let M be a maximum-size
matching in G, and let v be a vertex missed by M . Let U be the set of vertices u
for which there is an M -alternating v u path of odd length. Then G U has more
than |U | odd components. Gallai [1950] also gave several characterizations for the
existence of l-factors in regular graphs, and he considered the infinite case.
Also Tutte [1950] and Kaluza [1953] gave extensions to the infinite case. The
main theorem of Ore [1957] is an alternative characterization of the existence of a
b-factor. Berge [1958a] extended Tuttes 1-factor theorem to a min-max relation for
the maximum size of a matching, the Tutte-Berge formula.
Kotzig [1959a,1959b,1960] studied the structure of matching-covered graphs,
leading to a decomposition of any graph (cf. Ore [1959]).
Augmenting paths
Like Petersen, Berge [1957] observed that a matching M is maximum if and only
if there is no M -augmenting path, and he suggested the following procedure for
solving the cardinality matching problem:
Construct a maximal matching V , and determine whether there exists an al-
ternating chain W connecting two neutral points. (The procedure is known.) If
such a chain exists, change V into (V \ W ) (W \ V ), and look again for a new
alternating chain; if such a chain does not exist, V is maximum.
These results immediately lead to algorithms for a minimum cover and a maxi-
mum matching respectively.
Edmonds [1962] and Ray-Chaudhuri [1963] extended the augmenting path cri-
terion to arbitrary hypergraphs.
Edmonds
Edmonds observed that Berges proposal for finding an augmenting path (quoted
above) does not lead to a polynomial-time algorithm. In his personal recollections,
Edmonds [1991] stated:
It is really hard for anyone to see that it isnt easy that when youve got a matching
in a graph and you are starting at a deficient node, that you cannot just grow a
tree looking for a Berge augmenting path.
Edmonds [1965d] argued:
Berge proposed searching for augmenting paths as an algorithm for maximum
matching. In fact, he proposed to trace out an alternating path from an exposed
vertex until it must stop and, then, if it is not augmenting, to back up a little
and try again, thereby exhausting possibilities.
His idea is an important improvement over the completely naive algorithm. How-
ever, depending on what further directions are given, the task can still be one of
exponential order, requiring an equally large memory to know when it is done.
In the summer of 1963, at a Workshop at the RAND Corporation, Edmonds
discovered that shrinking leads to a polynomial-time algorithm to find a maximum-
size matching in any graph. The result was described in the paper Edmonds [1965d]
(received 22 November 1963), in which paper he also described his views on algo-
rithms and complexity:
For practical purposes computational details are vital. However, my purpose is
only to show as attractively as I can that there is an ecient algorithm. According
to the dictionary, ecient means adequate in operation or performance. This
is roughly the meaning I want in the sense that it is conceivable for maximum
matching to have no ecient algorithm. Perhaps a better word is good.
I am claiming, as a mathematical result, the existence of a good algorithm for
finding a maximum cardinality matching in a graph.
There is an obvious finite algorithm, but that algorithm increases in diculty
exponentially with the size of the graph. It is by no means obvious whether or
not there exists an algorithm whose diculty increases only algebraically with
the size of the graph.
Moreover:
For practical purposes the dierence between algebraic and exponential order is
often more crucial than the dierence between finite and non-finite.
Edmonds described his algorithm, in terms of paths, trees, flowers, and blossoms,
and concluded that the order of diculty is n4 (more precisely, it is O(n2 m)).
In this paper, Edmonds also introduced the decomposition of any graph which
is now called the Edmonds-Gallai decomposition. Also in 1963, Gallai submitted a
paper (Gallai [1963a]), in which this decomposition is described implicitly, which
was made more explicit in Gallai [1964].
In the Proceedings of the IBM Scientific Computing Symposium on Combinato-
rial Problems in March 1964 in Yorktown Heights, New York, at the end of Gomory
[1966], the following discussion is reported:
Section 24.4j. Historical notes on nonbipartite matching 437
Notes. This proof was given by Ar aoz, Cunningham, Edmonds, and Green-Kr otki
[1983] and Schrijver [1983c], with ideas of Seymour [1979a]. For other proofs, see
Balinski [1972], Homan and Oppenheim [1978], and Lov asz [1979b]. A proof can
also be derived from Edmonds weighted matching algorithm (Chapter 26).
and hence
(25.8) x )) = |U | 2
((U ]) |U | 2 1 |U | = 1.
x(E[U 2
P (V )
where y RV+ and z R+odd satisfy
(25.10) yv (v) + zU E[U ] w.
vV U Podd (V )
The constraints (25.6) determining the matching polytope in fact are to-
tally dual integral, as was shown by Cunningham and Marsh [1978]. This
implies that a stronger min-max relation holds than obtained by linear pro-
gramming duality from the matching polytope inequalities: if w is integer-
valued, then in Corollary 25.1b we can restrict y and z to integer vectors:
(This proof follows the method given by Schrijver and Seymour [1977]. Other
proofs were given by Homan and Oppenheim [1978], Schrijver [1983a,1983c],
and Cook [1985].)
Note that the Cunningham-Marsh formula has the Tutte-Berge formula
(Corollary 24.1) as special case. The previous theorem is equivalent to:
and
(25.13) yv (v) + zU E[U ] w.
vV U Podd (V )
Corollary 25.2d. If w ZE and w(C) is even for each circuit C, then the
problem of minimizing wT x subject to (25.2) has an integer optimum dual
solution.
Theorem 25.3. Let M and N be distinct matchings in a graph G = (V, E). Then
M and N are adjacent vertices of the matching polytope if and only if M N is
a path or circuit.
Corollary 25.3a. The diameter of the matching polytope of any graph G = (V, E)
is equal to the maximum size (G) of the matchings.
Proof. First, by Theorem 25.3, for any two matchings M and N , the distance
of M and N is at most the number of nontrivial components of M N . Since
each such component contains at least one edge and since these edges are pairwise
disjoint, this number is at most (G). So the diameter is at most (G).
Equality follows from the fact that and any matching M have distance
|M |.
This follows from the fact that if M and N are adjacent, then |M | |N | 1 by
Theorem 25.3.
Corollary 25.3b. Let M and N be perfect matchings in a graph G = (V, E). Then
M and N are adjacent vertices of the perfect matching polytope if and only if
M N is a circuit.
This in turn implies for the diameter of the perfect matching polytope:
Corollary 25.3c. The perfect matching polytope of a graph G = (V, E) has diam-
eter at most 21 |V | ( 41 |V | if G is simple).
Proof. For any two perfect matching M, N , the symmetric dierence has at most
1
2
|V | components (each being a circuit). Hence Corollary 25.3b implies that M
and N have distance at most 21 |V |.
If G is simple the bounds can be sharpened to 41 |V |, as each even circuit has at
least four vertices.
Padberg and Rao [1974] showed that if G is a complete graph with an even
number 2n of vertices, then Pperfect matching (G) has diameter at most 2. (This can
be derived from Theorem 18.5, since any two perfect matchings belong to some
Kn,n -subgraph of G, which subgraph gives a face of Pperfect matching (G).)
446 Chapter 25. The matching polytope
Another consequence is the result of Cunningham and Marsh [1978] that the
irredundant system still is totally dual integral:
Section 25.5b. Facets of the matching polytope 447
Proof. Directly from Theorem 25.4, using the total dual integrality of system
(25.6).
Proof. We clearly cannot delete any inequality xe 0, since otherwise the vector
x defined by xe := 1 and xe := 0 for each e = e would be a solution. So it
determines a facet.
Consider next an inequality
(25.22) x((v)) 1
for some v I. Let F be the set of vectors x in the matching polytope satisfying
x((v)) = 1. Suppose that F is not a facet. Then there is a facet F with F F .
So F is determined by one of the inequalities (25.20).
10 By G {uv} we denote the graph obtained from G by adding edge uv.
448 Chapter 25. The matching polytope
Proof. This follows from Theorem 25.6, since a Gomory-Hu tree can be found in
strongly polynomial time, by Corollary 15.15a.
As the separation problem for the perfect matching polytope can be reduced to
finding a minimum-capacity odd cut, this implies:
Corollary 25.6b. The separation problem for the perfect matching polytope can be
solved in strongly polynomial time.
Proof. Each vector in the matchable set polytope of G satisfies (25.24), since the
incidence vector of any matchable set satisfies (25.24), since if any odd component
K of G[U ] is covered by a matching M , then M has an edge connecting K and
N (U ).
To see the reverse, choose a counterexample with |V | + |E| minimal, and let x
be a vertex of the polytope determined by (25.24) that is not in the matchable set
polytope.
Then xv > 0 for each vertex v, since otherwise we can obtain a smaller coun-
terexample by deleting v. Moreover, there exists at least one vertex v with xv < 1,
since otherwise x = V , while V is matchable (as follows from Tuttes theorem,
using (25.24)(ii)).
Hence, since x is a vertex of the polytope determined by (25.24), at least one
constraint in (25.24)(ii) is attained with equality for some U with o(G[U ]) 1 (for
any other U , (ii) follows from (i)).
Choose such a U with U inclusionwise minimal. Let K be the collection of
components of G[U ]. Then
(25.25) G[K] is factor-critical for each K K.
Otherwise, if K is even, then
(25.26) x(U \ K) x(N (U \ K)) x(U ) x(K) x(N (U ))
x(U ) |K| x(N (U )) = |U | o(G[U ]) |K|
= |U \ K| o(G[U \ K]),
contradicting the minimality of U .
So K is odd. If G[K] is not factor-critical, then by Tuttes 1-factor theorem, K
has a nonempty subset C with o(G[K] C) |C| + 1. Then
(25.27) x(U \ C) x(N (U \ C)) x(U ) 2x(C) x(N (U ))
= |U | o(G[U ]) 2x(C) |U | o(G[U ]) 2|C|
= |U \ C| o(G[U ]) |C| |U \ C| o(G[U ]) o(G[K \ C]) + 1
= |U \ C| o(G[U \ C]).
So we have equality by (25.24)(ii), contradicting the minimality of U . This shows
(25.25).
Let S := U N (U ). Let G := G S and let x be the restriction of x to V \ S.
Then x satisfies (25.24) with respect to G . Indeed, (i) is trivial. To see (ii), choose
a subset U V \ S. Then (since no edge connects U and U ):
Section 25.5d. The matchable set polytope 451
This implies, by Theorem 21.30, that if y is not in the matchable set polytope of
H, then there exists a subcollection L of K with
(25.31) y(N (U )) < y(uK ),
KL
where U :=
L. However, by (25.24) we have
(25.32) y(uK ) = (x(K) |K| + 1) = x(U ) |U | + |L|
KL KL
= x(U ) |U | + o(G[U ]) x(N (U )) = y(N (U )).
So y belongs to the matchable set polytope of H. Assuming that the restriction
of x to S does not belong to the matchable set polytope of G[S], there exists a
vector w RV with wT x > w(Y ) for each matchable set Y of G[S] and with
w(v) = 0 if v S. For each K K, let vK K minimize w(v) over K. Define
w on the vertices of H by: w (v) := w(v) for v N (U ) and w (uK ) := w(vK ) for
K K. Since y belongs to the matchable set polytope of H, H has a matchable
T
set Y satisfying w (Y ) w y. Let Y be the union of Y , of all K with uK Y ,
and of all K \ {vK }. Since each G[K] is factor-critical, Y is matchable. Moreover,
T
(25.33) w(Y ) = w (Y ) + w(K \ {vK }) w y + w(K \ {vK })
KK KK
= w(v)x(v) + w(vK )(x(K) |K| + 1) + w(K \ {vK })
vN (U ) KK KK
w(v)x(v) + (w(v) w(vK ) + w(vK )x(v))
vN (U ) KK vK
w(v)x(v) + w(v)x(v) = wT x
vN (U ) KK vK
452 Chapter 25. The matching polytope
(the last inequality follows from (w(v) w(vK ))(1 x(v)) 0), contradicting our
assumption.
So (26.1)(ii) says that w (e) 0 for each e E. Let E denote the set of
edges e with w (e) = 0, and let G = (V, E ).
Throughout the algorithm we will have that {v} for each v V .
Hence, as is laminar, the collection max of inclusionwise maximal sets in
is a partition of V .
By G we denote the graph obtained from G by shrinking all sets in
max
:
(26.5) G := G / max .
(So G depends on and .) The vertex set of G is max , with two distinct
elements U, U max adjacent if and only if G has an edge connecting U
and U . We denote any edge of G by the original edge in G.
Finally, for U with |U | 3, we denote by HU the graph obtained
from G [U ] by contracting each inclusionwise maximal proper subset of U
that belongs to .
Proof. By Theorem 26.1, since each iteration can be performed in time O(m).
Notes. In fact, a bound of 32 |V | can be shown in (26.7) (as the size of any set in
is odd), implying a bound of |V |2 on the number of iterations in Theorem 26.1.
In the above description, we estimated the time required for any iteration by O(m).
This leaves time to find the walk in each iteration just from scratch, and to construct
the graph G = G / from scratch, after any shrinking or deshrinking step.
Like in the cardinality case, we can speed this up (i) by using the result of the
previous walk-search in the next walk-search, and (ii) by constructing the graph
G only in an implicit way. In this way we can reduce the time per iteration from
O(m) to O(n) on average, leading to an overall time bound of O(n3 ).
Again we use M -alternating forests to reach this goal. Thus, next to , , M ,
and the CU , we keep an M -alternating forest F in G := G / max .
Section 26.2a. An O(n3 ) algorithm 457
We do not keep the graph G . Instead, we keep for each pair Y, Z of disjoint
sets in an edge eY Z of G connecting Y and Z and minimizing w (eY Z ). We take
eY Z void if no such edge exists. We keep the eY Z as lists: for each Y we have
a list containing the eY Z .
Moreover, for each Y we keep an edge eY with eY = eY Z for some Z
even(F ) and with w (eY Z ) minimal. Again, if no such eY Z exists, eY is void.
Finally, for each v V we keep
(26.9) p(v) := (U ).
U
vU
continued
O(n(m + n log n)) Gabow [1990]
O(m log(nW ) n(m, n) log n) Gabow and Tarjan [1991]
Here W is the maximum absolute value of the weights, assuming they are integer.
Cunningham and Marsh [1978] gave a primal algorithm for weighted nonbipar-
tite matching that takes O(n2 m) time (where, throughout the algorithm, there is a
perfect matching at hand, the weight of which is improved iteratively). They state
that it can be improved to O(n3 ). Derigs [1981] gave a shortest augmenting path
method of running time O(n3 ). In Derigs [1988b] an O(min{n3 , nm log n}) algo-
rithm is given based on successive improvement of a perfect matching by choosing
an improving alternating circuit.
Edmonds weighted matching algorithm directly yields the description of the perfect
matching polytope. Indeed, one can derive from Edmonds algorithm the following.
Let G = (V, E) be a graph and let w QE be a weight function. Then:
(26.11) the minimum weight
of a perfect matching is equal to the maxi-
mum value of U Podd (V ) (U ) where ranges over all functions
: Podd (V ) Q satisfying (26.1),
where Podd (V ) denotes the collection of odd-size subsets of V .
To see this, we may assume that w is nonnegative: if is the minimum value of
w(e) over all edges e, decreasing each w(e) by decreases both the maximum and
the minimum by 12 |V |.
That the minimum is not smaller than the maximum follows from (26.3). Equal-
ity follows from the fact that in the algorithm the final perfect matching and the
final function have equality throughout in (26.1). This shows (26.11).
It implies Edmonds perfect matching polytope theorem: the perfect matching
polytope of any graph G = (V, E) is determined by (25.2). Indeed, by (weak)
LP-duality, for any weight function w QE , the minimum weight of a perfect
matching is equal to the minimum of wT x taken over the polytope determined by
(25.2). Hence the two polytopes coincide.
Weber [1981] and Derigs [1985a] analyzed the sensitivity of minimum-weight perfect
matchings to changing edge weights. White [1974] studied the maximum weight of
a matching of size k, as a function of k.
An outstanding open problem is to formulate the weighted matching problem
as a linear programming problem of size polynomial in the size of the graph, by
extending the set of variables. That is, is the matching polytope of a graph G =
(V, E) equal to the projection of some polytope {x | Ax b} with A and b having
size polynomial in |V | + |E|?
460 Chapter 26. Weighted nonbipartite matching algorithmically
Theorem 27.3. Let G = (V, E) be a graph without isolated vertices and let
w ZE + be a weight function. Then the minimum weight of an edge cover is
equal to the maximum value of
(27.5) zU 12 |U |,
U Podd (V )
So z is nonnegative.
Now for each edge e = uv one has:
(27.13) zU = z{u} + z{v} + zU
U e= U e=
= (u) yu zU + (v) yv zU + zU
U u U v U e=
= (u) + (v) yu yv zU (u) + (v) w (e)
U e
= w(e).
Moreover,
464 Chapter 27. Nonbipartite edge cover
1
(27.14) zU 12 |U | = ((v) yv zU )+ zU 2 |U |
U U v
vV U
1
= (v) yv zU 2 |U | = (v) w (M ) = w(F ).
vV vV U vV
Corollary 27.3a. System (27.4) determines the edge cover polytope and is
TDI.
The nonbipartite edge cover problem was considered by Gallai [1959a] and Norman
and Rabin [1959]. The latter were motivated by a problem of Roth [1958] related to
minimizing the number of switches in a switching systems, for which they considered
the problem of finding a minimum cover for a cubical complex.
Norman and Rabin [1959] showed that an edge cover F in a graph has minimum
size if and only if there is no path P such that the end vertices of P are covered
more than once by F , while all intermediate vertices are covered exactly once by
F , and such that the edges of P are alternatingly in and out F , with the first and
last edge in F . (Thus F P is an edge cover of smaller size than F .)
Chapter 28
Edge-colouring
Proof. The inequality (G) (G) being trivial, we show (G) (G) +
1. To prove this inductively, it suces to show for any simple graph G:
466 Chapter 28. Edge-colouring
(28.1) Let v be a vertex such that v and all its neighbours have degree
at most k, while at most one neighbour has degree precisely k.
Then if G v is k-edge-colourable, also G is k-edge-colourable.
We prove (28.1) by induction on k, the case k = 0 being trivial. We can
assume that each neighbour u of v has degree k 1, except for one neighbour
having degree exactly k, since otherwise we can add a new vertex w and an
edge uw without violating the condition in (28.1).
Consider any k-edge-colouring of G v. For i = 1, . . . , k, let Xi be the
set ofneighbours of v that are missed by colour i. Choose the colouring such
k
that i=1 |Xi |2 is minimized.
First assume that |Xi | = 1 for all i. Since all but one neighbour of v is in
precisely two of the Xi , and one neighbour is in precisely one Xi , we have
k
(28.2) |Xi | = 2 deg(v) 1 < 2k.
i=1
Hence there exist i, j with |Xi | < 2 and |Xj | odd. So |Xi | = 0 and |Xj | 3.
Consider the subgraph H made by all edges of colours i and j, and consider
a component of H containing a vertex in Xj . This component is a path
P starting in Xj . Exchanging colours i and j on P reduces |Xi |2 + |Xj |2 ,
contradicting our minimality assumption.
So we can assume that |Xk | = 1, say Xk = {u}. Let G be the graph
obtained from G by deleting edge vu and deleting all edges of colour k. So
G v is (k1)-edge-coloured. Moreover, in G , vertex v and all its neighbours
have degree at most k 1, and at most one neighbour has degree k 1. So
by the induction hypothesis, G is (k 1)-edge-colourable. Restoring colour
k, and giving edge vu colour k, gives a k-edge-colouring of G.
Figure 28.1
The Petersen graph
times O(m log n) and O(m n log n) (improving O(nm) of Terada and Nishizeki
[1982]).
Theorem 28.2 (Vizings theorem). (G) (G) (G) + (G) for any
graph G.
Proof. The inequality (G) (G) being trivial, we show (G) (G) +
(G). To prove this inductively, it suces to show for any graph G:
(28.3) Let v be a vertex of degree at most k such that each neighbour
u of v satisfies deg(u) + (u, v) k + 1, with equality for at
most one neighbour. Then if G v is k-edge-colourable, also G is
k-edge-colourable.
We prove (28.3) by induction on k, the case k = 0 being trivial. We can
assume that for each vertex u in N (v) (the set of neighbours of v) we have
deg(u) + (u, v) = k, except for one satisfying deg(u) + (u, v) = k + 1, since
otherwise we can add a new vertex w and an edge uw without violating the
condition in (28.3).
468 Chapter 28. Edge-colouring
Hence there exist i, j with |Xi | < 2 and |Xj | odd. So |Xi | = 0 and |Xj | 3.
Consider the subgraph H made by all edges of colours i and j, and consider
a component of H containing a vertex in Xj . This component is a path
P starting in Xj . Exchanging colours i and j on P reduces |Xi |2 + |Xj |2 ,
contradicting our minimality assumption.
So we can assume that |Xk | = 1, say Xk := {u}. Let G be the graph
obtained from G by deleting one of the edges vu and deleting all edges of
colour k. So G v is (k 1)-edge-coloured. Moreover, in G , vertex v has
degree at most k1 and each neighbour w of v satisfies degG (w)+G (w, v)
k, with equality for at most one neighbour. So by the induction hypothesis,
G is (k 1)-edge-colourable. Restoring colour k, and giving the deleted edge
vu colour k, gives a k-edge-colouring of G.
Notes. The proof of Theorem 28.2 in fact implies that the edge-colouring number
of a graph G is at most
(28.5) max(deg(u) + max{1, max (u, v)}),
uV vV
deg(v) deg(u)
where (u, v) is the number of edges connecting u and v (cf. Ore [1967]).
Other proofs of Vizings theorem were given by Ore [1967], Fournier [1973],
Berge and Fournier [1991], Misra and Gries [1992], Rao and Dijkstra [1992], and
Chew [1997b].
reduces this last problem to the edge-colouring problem for cubic graphs (by
deleting iteratively all vertices of degree 1, next making a copy of the graph
left, and adding an edge between each degree-2 vertex and its copy).
Consider the graph fragment, called the inverting component, given by
the left-hand picture of Figure 28.2, where the right-hand picture gives its
symbolic representation if we take it as part of larger graphs. The pairs a, b
and c, d are called the output pairs.
a c
b d
Figure 28.2
The inverting component and its symbolic representation.
This graph fragment has the property that a 3-colouring of the edges
a, b, c, d, and e is extendible to a 3-edge-colouring of the fragment if
and only if either a and b have the same colour while c, d, and e have
three distinct colours, or c and d have the same colour while a, b, and
e have three distinct colours.
(a) (b)
Figure 28.3
Fragment (a) (the splitting component) has the property that for any
3-edge-colouring either all three output pairs are monochromatic or all
are nonmonochromatic.
Fragment (b) has the property that a colouring of the output edges is
extendible to a 3-edge-colouring of the fragment if and only if at least
one of the output pairs is monochromatic.
Leven and Galil [1983] showed more generally that for each k, finding the
edge-colouring number of a k-regular graph is NP-complete. (This does not
seem to follow from the case k = 3.)
(28.8) each bridgeless cubic planar graph has a nowhere-zero flow over
GF(4)
(since the four-colour theorem is equivalent to each bridgeless cubic planar
graph being 3-edge-colourable (Tait [1878b])).
In studying nowhere-zero flows, the following theorem shows that for the
existence of a nowhere-zero flow, only the size of the group is relevant (the
equivalence (i)(ii) was shown by Tutte [1947a], the equivalence (i)(iii) by
Tutte [1949], and the equivalence (iii)(iv) by Minty [1967]):
is minimized. If the sum is 0, we are done. So assume that the sum is nonzero.
Define
(28.15) U+ := {v V | f ( in (v)) > f ( out (v))} and
U := {v V | f ( in (v)) < f ( out (v))}.
Necessarily, there is a directed path P in D from U to U+ (Theorem 11.1).
Now reverse the orientation of each arc a on P to its reverse a1 , and define
f (a1 ) := k f (a). This maintains (28.13) but reduces the sum (28.14), a
contradiction.
This proves (i)(iii), and hence (i)(iii). Since (iii) is maintained if we
increase k, also (i) is maintained if we increase k. So with (28.12), (i) implies
(ii) if (ii) is restricted to finite groups. Since each infinite abelian group has
Z as subgroup or has arbitrarily large finite subgroups, (iii)(ii) also follows
for infinite groups.
The equivalence of (iii) and (iv) follows directly from Homans circula-
tion theorem (Theorem 11.2).
|M E[U ]| 1
(28.26) (G) = M M 1 = 1 M
M M
2 |U | 2 |U | M e
eE[U ]
|E[U ]|
= 1 .
2 |U |
To see that (G) = , let x be the all- 1 vector in RE . Then x((v)) 1
for each v V and x(E[U ]) 12 |U | for each U V with |U | 3. Hence
x belongs to the matching polytope of G. So x is a convex combination of
M
incidence vectors
of matchings. Therefore 1 = x = M M for some
M 0 with M M = , showing that (G) .
28.6. Conjectures
Theorem 28.7. A simple graph G = (V, E) has (G)1 disjoint edge covers.
This can be formulated in terms of the edge cover packing number (G)
of G, which is the maximum number of disjoint edge covers in G. Then, if G
is simple,
(28.37) (G) (G) 1.
Gupta [1974] showed more generally for not necessarily simple graphs
(where (G) denotes the maximum multiplicity of the edges of G):
Theorem 28.8. Any graph G has (G) (G) disjoint edge covers.
Shannon [1949] gave the following upper bound on the edge-colouring number that
can be better than Vizings bound if G is not simple. As Vizing [1965a] observed,
the bound can be derived from Vizings theorem, as below.
For simple planar graphs, if (G) 7, then (G) = (G) (for 8, this was
proved by Vizing [1965b], and for = 7 by Sanders and Zhao [2001] and Zhang
[2000]). For 2 5 there exist simple planar graphs of maximum degree with
(G) = + 1. This is unknown for = 6 (and constitutes a question of Vizing
Section 28.9b. Further notes 481
Theorem 28.10. Let G = (V, E) be a connected cubic graph with an even number
of edges. Then G is 3-edge-colourable if and only if the line graph L(G) of G is
4-edge-colourable.
observed that his claim implies that each planar bridgeless cubic graph is 3-edge-
colourable.
In a note following a note of Guthrie [1878] (describing the very early history
of the four-colour problem, which note itself was a reaction to the article of Tait
[1878a]), Tait [1878b] remarked that in his earlier paper
I gave a series of proofs of the theorem that four colours suce for a map. All of
these were long, and I felt that, while more than sucient to prove the truth of
the theorem, they gave little insight into its real nature and bearings. A somewhat
similar remark may, I think, be made about Mr Kempes proof.
He therefore withdrew the former paper, and replaced it by the present note, in
which, without proof, the following elementary theorem is formulated:
if an even number of points be joined, so that three (and only three) lines meet
in each, these lines may be coloured with three colours only, so that no two
conterminous lines shall have the same colour. (When an odd number of the
points forms a group, connected by one line only with the rest, the theorem is
not true.)
While Tait did not mention it explicitly, he restricted himself to planar cubic graphs,
since he considered them equivalently as the skeletons of polytopes14 . Also the
figures given in Tait [1880] are planar (and also those in Tait [1884], where similar
claims are made).
The validity of Kempes proof of the four-colour conjecture was accepted until
Heawood [1890] discovered a fatal error in Kempes proof, and showed that it in
fact gives a five-colour theorem for planar graphs. The error in his proof was ac-
knowledged by Kempe [1889]. (For an account of the early history of the four-colour
problem, see Biggs, Lloyd, and Wilson [1976].)
After that, the problem of the 3-edge-colourability of bridgeless planar cubic
graphs was open again. At several occasions, this problem was advanced (cf. Goursat
[1894]). It was only resolved in 1977 when Appel and Haken proved the four-colour
theorem.
Petersen [1898] asserted that Tait had claimed to have proved the 3-edge-
colourability of any (also nonplanar) bridgeless cubic graph. It motivated him to
present, as a counterexample, the now-called Petersen graph, which is a bridgeless
cubic graph that is not 3-edge-colourable:
14 Taits polytopes are 3-dimensional, since each vertex has degree 3.
484 Chapter 28. Edge-colouring
jai r
eussi `
a construire un graphe o`
u le th eme de Tait ne sapplique pas.15
eor`
Figure 28.4
For another purpose, the Petersen graph was given earlier by Kempe [1886], who
represented it as follows:
Figure 28.5
Sainte-Lague [1926a] introduced the term class for the edge-colouring number
of a graph. He noted (without exact argumentation) that Petersens theorem on
the existence of a perfect matching in a bridgeless cubic graph implies that each
cubic graph has edge-colouring number 3 or 4.
15 I have succeeded in constructing a graph where the theorem of Tait does not apply.
Chapter 29
The methods for weighted matching also apply to shortest paths in undi-
rected graphs (provided that each circuit has nonnegative length) and to
the Chinese postman problem more generally, to T -joins.
29.1. T -joins
Let G = (V, E) be a graph and let T V . A subset J of E is called a T -join
if T is equal to the set of vertices of odd degree in the graph (V, J). So if a
T -join exists, then |T | is even. More precisely,
(29.1) G has a T -join if and only if |K T | is even for each component
K of G.
T -joins are close to matchings. In fact, from Corollary 26.1a it can be
derived that a shortest T -join can be found in strongly polynomial time. To
see this, one should observe the following elementary graph-theoretical fact
representing T -joins as sets of paths:
(29.2) each T -join is the edge-disjoint union of circuits and 12 |T | paths
connecting disjoint pairs of vertices in T ;
the symmetric dierence of a set of circuits and 12 |T | paths con-
necting disjoint pairs of vertices in T is a T -join.
This is used in showing that a shortest T -join can be found in strongly pol-
ynomial time:
Proof. First we dispose of negative lengths. Let N be the set of edges e with
l(e) < 0, let U be the set of vertices v with degN (v) odd, let T := T U ,
and let l QE
+ be defined by l (e) := |l(e)| for e E.
Then, if J is a T -join minimizing l (J ), the set J := J N is a T -join
(29.3)
l(J) = l (J ) + l(N ) l (JN
) + l(N ) = l(J).
So we can assume l 0. Now consider the complete graph KT with vertex
set T . For each edge st of KT , determine a path Pst in G of minimum length,
say, w(st). Find a perfect matching M in KT minimizing w(M ). Then the
symmetric dierence of the paths Pst for st M is a shortest T -join in G.
This follows directly from (29.2).
Complexity. With Dijkstras shortest path method (Theorem 7.3) one derives from
Theorem 26.2 that a shortest T -join can be found in O(n3 ) time. Generally, one has
an O(APSP+ (n, m, L) + WM(n, n2 , nL))-time algorithm, where L is the maximum
absolute value of the lengths of the edges in G (assuming they are integer), where
APSP+ (n, m, L) is the time in which the all-pairs shortest paths problem can be
solved, in an undirected graph, with n vertices and m edges and with nonnegative
integer lengths at most L, and where WM(n, m, W ) is the time in which a minimum-
weight perfect matching can be found, in a graph with n vertices and m edges and
with integer weights at most W in absolute value.
16 Orlova and Dorfman observed that finding a maximum-size cut in a planar graph
amounts to finding shortest paths connecting the odd-degree vertices in the dual graph,
but described a branch-and-bound method for it, and did not state that it can be solved
in polynomial time by matching techniques.
Section 29.3. The Chinese postman problem 487
But if not all degrees are even, certain edges have to be traversed more
than once. These edges form in fact a shortest T -join for T := {v | degG (v)
odd}. This is the base of the following consequence of Theorem 29.1:
Proof. Let T := {v | degG (v) odd}. Find a shortest T -join J. Add to each
edge e in J an edge e parallel to e. This gives the Eulerian graph G . Then
any Eulerian tour in G gives a shortest Chinese postman tour (by identifying
any new edge e with its parallel e).
To see this, note that obviously the Eulerian tour gives a Chinese postman
tour C of length l(E) + l(J). Suppose that there is a shorter tour C . Let J
be the set of edges traversed an even number of times by C . Then J is a
T -join, and so l(J ) l(J). Hence l(C ) l(E) + l(J ) l(E) + l(J) = l(C).
Observe that a postman never has to traverse any street more than twice.
Complexity. The above gives an O(n3 )-time algorithm for the Chinese postman
problem (more precisely, O(k(m + n log n) + k3 + m), where k is the number of
vertices of odd degree).
Corollary 29.2a. Let G = (V, E) and let T V with |T | even. Then the
minimum size of a T -join is equal to half of the maximum number of T -cuts
covering each edge at most twice. The maximum is attained by a cross-free
family of cuts.
Proof. Replace each edge of G by a path of length two, thus obtaining the
bipartite graph G . Applying Theorem 29.2 to G gives the corollary.
In general it is not true that the minimum size of a T -cut is equal to the
maximum number of disjoint T -joins see Section 29.11c.
Notes. Frank, Tardos, and Seb o [1984] sharpened Theorem 29.2 to the following.
Let G = (V, E) be a bipartite graph, with colour classes U and W , and let T V .
Then the minimum size of a T -join is equal to the maximum of
(29.7) qT (S),
S
where ranges over all partitions of U . Here qT (S) denotes the number of com-
ponents K of G S with |K T | odd. If G is arbitrary one takes the maximum of
1
2 S qT (S) over all partitions of V . (For extensions, see Kostochka [1994].)
The last corollary implies a polyhedral result due to Edmonds and Johnson
[1973] (also stated by Seymour [1979b]). Let G = (V, E) be a graph and let
T V . The T -join polytope, denoted by PT -join (G), is the convex hull of the
incidence vectors of T -joins. So it is a polytope in RE .
We first consider the up hull of PT -join (G), that is,
(29.8) PT -join (G) := PT -join (G) + RE
+,
Proof. It is easy to see that PT -join (G) is contained in the polyhedron de-
termined by (29.9). If the converse inclusion does not hold, there is a weight
function w QE with w > 0 such that the minimum value of wT x subject
to (29.9) is less than the minimum weight of any T -join. We may assume
that each w(e) is an even integer.
We make a new graph G = (V , E ) as follows. Replace each edge e = uv
of G by a path from u to v of length w(e). Then is equal to the minimum
size of a T -join in G . Hence by Theorem 29.2, G has disjoint T -cuts. This
Section 29.6. The T -join polytope 491
Corollary 29.2c. The convex hull of the incidence vectors of edge sets con-
taining a T -join as a subset is determined by (29.10).
Corollary 29.2d. Systems (29.9) and (29.10) are totally dual half-integral.
Proof. This follows from the proof of Corollary 29.2b, observing that the yC
are integer if each we is an even integer.
Proof. First, the incidence vector x of any T -join J satisfies (29.11). Indeed,
if U V , then |(U ) J| |U T | (mod 2). Hence if F (U ) with
|U T | + |F | odd, then |(U ) J| + |F | is odd, and hence if x(F ) = |F | one
492 Chapter 29. T -joins, undirected shortest paths, and the Chinese postman
So the (e), (e), and U give a feasible dual solution to the problem of
minimizing wT x subject to (29.11) (taking F := (U ) N ).
Let J := J N . So J is a T -join. We show that J, (e), (e), U satisfy
the complementary slackness conditions, thus finishing our proof.
First we show that if e J, then (e) = 0. Indeed, if e J \ N , then
e J , and hence
(29.15) U U
U,e(U )\N U,e(U )N
Proof. Since the incidence vector x of any circuit satisfies (29.17), the circuit
cone is contained in the cone determined by (29.17).
To see the converse inclusion, let x satisfy (29.17). To show that x belongs
to the circuit cone, we may assume (by scaling) that x(E) 1. It suces to
show that x belongs to the -join polytope of G. Hence, by Corollary 29.2e,
it suces to show that x((U )) 2x(F ) 1 |F | for each U V and
F (U ) with |F | odd. If |F | = 1, this follows from (29.17)(ii). If |F | 3,
then x((U )) 2x(F ) x(E) 1 1 |F |.
Proof.
Necessity being trivial, we show suciency. Choose a counterexample
with eE (ue le ) minimum. Suppose that ue > le for some edge e. Then
there exist a cut D and e D with u(D \ {e}) = l(e) and there exist a cut
D containing e, and f D \ {e} with u(D \ {f }) = l(f ). Then f D, since
otherwise e, f D D , implying
(29.19) u(DD ) u(D \ {e, f }) + u(D \ {e, f })
= l(e) u(f ) + l(f ) u(e) < 0.
Hence the cut DD satisfies
(29.20) u(DD \ {f }) u(D \ {e}) + u(D \ {e, f }) = l(e) u(e) + l(f )
< l(f ),
494 Chapter 29. T -joins, undirected shortest paths, and the Chinese postman
contradicting (29.18).
So ue = le for each edge e, and hence the corollary follows from Corollary
29.2f.
x (e) := x(e) for all other edges e of G . Then condition (29.17) is maintained,
but sum (29.22) decreases. So x is a sum of circuits17 in G . If none of these
circuits consist of e0 and f , then x is a sum of circuits in G, a contradiction.
So {e0 , f } is one of the circuits. Therefore, in G, the vector
(29.23) y := x 2e0
is a sum of circuits, say
(29.24) y= C EC ,
CC
where C is a collection of circuits and where the C are positive integers. Let
C0 be the collection of circuits in C traversing e0 , and let C1 := C \ C0 .
We construct a directed graph D = (V, A). We say that a circuit C gen-
erates a pair (u, v) of distinct vertices if C traverses both u and v, in such a
way that if C traverses e0 , then C traverses p, q, u, v cyclically in this order
(possibly u = q or v = p). The arc set A of D consists of all pairs (u, v)
generated by at least one C C. Then:
(29.25) D contains a directed path from p to q.
For suppose not. Let U be the set of vertices reachable in D from p. So q U ,
and no arc of D leaves U . Hence no C C1 intersects E (U ), and each C C0
intersects E (U ) precisely twice: once in e0 and once elsewhere. So
(29.26) x(E (U ) \ {e0 }) = y(E (U ) \ {e0 }) = y(e0 ) < x(e0 ),
contradicting (29.17). This shows (29.25).
Now choose a shortest directed pq path P in D, say P = (v0 , v1 , . . . , vk ),
with v0 = p and vk = q. Let C be an inclusionwise minimal subcollection of
C with the property that each arc of P is generated by some C in C . Define
C0 := C C0 , and
(29.27) z := 2e0 + EC .
CC
We show:
(29.28) z = x, C = C, and C = 1 for each C C.
It suces to show that z = x. Suppose z = x. Then, since z x, by the
minimality of (29.22), z is a sum of circuits. To see this, it suces to show
that (29.17) is satisfied by z. To this end, let U V and e (U ). If e = e0 ,
then (29.17)(ii) follows since z 2e0 is a sum of circuits. If e = e0 , then
we can assume that p U , q U . Hence some arc (vi1 , vi ) leaves U . Let
C C generate (vi1 , vi ). Then C has at least two edges in (U ), and at
least four if C C0 . Moreover, any C C0 has at least two edges in (U ).
Hence
17 By a sum of circuits we mean a sum of incidence vectors of circuits.
496 Chapter 29. T -joins, undirected shortest paths, and the Chinese postman
(29.29) z((U ) \ {e0 }) = |EC (U ) \ {e0 }| |C0 | + 2 = z(e0 ).
CC
(The proof of Seymour [1979b] of Theorem 29.3 uses the four-colour theorem.
Fleischner and Frank [1990] showed that a method of Fleischner [1980] gives
a proof not using the four-colour theorem. Also Alspach and Zhang [1993]
gave a proof not using the four-colour theorem.)
In Theorem 29.3 we cannot delete the planarity condition, as is shown by
the Petersen graph: fix a perfect matching M , and set xe := 2 if e M and
xe := 1 if e M . Alspach, Goddyn, and Zhang [1994] (extending Alspach
and Zhang [1993]) proved that the Petersen graph is the critical example:
Theorem 29.4. For any graph G = (V, E), the following are equivalent:
(29.37) (i) each integer vector x in the circuit cone with x((v)) even for
each vertex v is a nonnegative integer combination of incidence
vectors of circuits;
(ii) G has no Petersen graph minor.
It has been proved that for any even integer k 4, each bridgeless graph
has circuits such that each edge is covered by precisely k of them. (For k = 6
by Jaeger [1979] and for k = 4 by Fan [1992] hence any even k 4 follows.)
This relates to the 4-flow conjecture of Tutte [1966], which generalizes the
four-colour theorem:
(29.38) (?) The edges of any bridgeless graph without Petersen graph
minor can be covered by two Eulerian subgraphs. (?)
(It is called the 4-flow conjecture, since it is equivalent to saying that for
each bridgeless graph G = (V, E) without Petersen graph minor, there is an
orientation D = (V, A) of G and a function f : A {1, 2, 3} with f ( in (v)) =
f ( out (v)) for each v V see Section 28.4.)
Conjecture (29.38) was proved for 4-edge-connected graphs by Jaeger
[1979], and for cubic graphs jointly by Robertson, Seymour, and Thomas
[1997], Sanders, Seymour, and Thomas [2000], and Sanders and Thomas
[2000].
(29.38) is equivalent to:
(29.39) (?) Any bridgeless graph without Petersen graph minor has two
disjoint T -joins, where T is the set of vertices of odd degree (?)
(since J is a T -join if and only if E \ T yields an Eulerian graph).
It is NP-complete to decide if a graph has two disjoint T -joins, since for
cubic graphs it is equivalent to 3-edge-colourability (cf. Theorem 28.3).
Related work can be found in Zhang [1993c]. Surveys on the circuit dou-
ble cover conjecture were given by Jaeger [1985], Jackson [1993], and Zhang
[1993a,1993b,1997b], and on integer decomposition of the circuit cone (and
more general decompositions) by Goddyn [1993].
The T -cut polytope PT -cut (G) the convex hull of the incidence vectors of
T -cuts is a hard polytope, even if |T | = 2, since finding a maximum cut
separating two given vertices in a graph is NP-complete. However, the up
hull of the T -cut polytope:
(29.40) PT -cut (G) := PT -cut (G) + RE
+
Theorem 29.5. The up hull PT -cut (G) of the T -cut polytope of G is deter-
mined by (29.41).
Proof. Directly with the theory of blocking polyhedra from Corollary 29.2b.
Corollary 29.5a. The convex hull of the incidence vectors of edge sets con-
taining a T -cut is determined by (29.42).
Proof. This follows from Theorem 29.6, since a Gomory-Hu tree can be found
in strongly polynomial time, by Corollary 15.15a.
|Ui T | is odd for each i and such that B is equal to the set of edges connecting
distinct classes of P. The value val(B) of the T -border B is, by definition, half of
the number of components K of G B with |K T | odd. (This is at least 12 k.) So
a T -border is a T -cut if and only if val(B) = 1. Moreover, each T -join intersects
any T -border B in at least val(B) edges. Hence the minimum size of any T -join is
at least the maximum total value of any packing of T -borders. (The total value of a
collection of T -borders is the sum of the values of the T -borders in the collection.)
Sebo [1988b] showed that the minimum and maximum are equal:
Theorem 29.8. Let G = (V, E) be a graph and let T V . Then the minimum size
of a T -join is equal to the maximum total value of a packing of T -borders.
We next use Theorem 29.8 to show that system (29.9) is TDI if G, T contains
no K4 , V K4 as a minor. We follow the line of proof given by Frank and Szigeti
[1994]. We first prove the following.
Call a graph G = (V, E) bicritical if G u v has a perfect matching for each
pair of distinct vertices u and v. Call a graph G = (V, E) oddly contractible to K4
if V can be partitioned into four odd sets V1 , V2 , V3 , V4 such that G[Vi Vj ] is
connected for all i, j (also if i = j). The following result is due to A. Seb
o (cf. Frank
and Szigeti [1994]):
Theorem 29.9. A bicritical graph with at least four vertices is oddly contractible
to K4 .
v0 . Moreover, r =
Pw,s contained in V C. Again r = s, since otherwise ss EPw,s
(implying that the last edge of Pw,s is in M , a contradiction). As v0 , s, r N (K),
we have |N (K)| 3.
As K is the union of w with a number of edges in M , |K| is odd. Similarly, any
other component of G V C is even. As C is an odd circuit, V C can be partitioned
into three paths with an odd number of vertices, each containing a neighbour of K.
Hence G is oddly contractible to K4 .
Corollary 29.9a. Let G = (V, E) be a graph and let T V with |T | even, such
that K4 , V K4 is not a minor of G, T . Then the minimum size of a T -join is equal
to the maximum number of disjoint T -cuts.
Proof. By Theorem 29.8, the minimum size of a T -join is equal to the maximum
total value of a packing of T -borders. Consider such an optimum packing, with the
number of T -borders as large as possible. If each T -border is a T -cut, we are done. So
assume that one of the T -borders, B say, has value at least 2. Let P = (U1 , . . . , Uk )
be a partition of V with |Ui T | odd for each i and such that B is the union of the
(Ui ).
Let G = (V , E ), T be obtained from G, T by contracting each Ui to one
vertex. So T = V . As G , T contains no K4 , V K4 as a minor, G is not bicritical,
by Theorem 29.9. Hence there are distinct u, v V such that G u v has no
perfect matching. By Tuttes 1-factor theorem this implies that there is a subset U
of V with u, v U and with o(G U ) |U |. Take such a U with |U | maximal.
Then each component of G U is odd. (Otherwise, we can add an element of some
even component to U , contradicting the maximality of |U |.)
For each component K of G U , the set of edges of G incident with K form a
V -border in G of value 21 (|K|+1). So G has a packing of V -borders of total value
This can be formulated equivalently in terms of total dual integrality. Note that
total dual integrality of system (29.9) is closed under taking minors: deletion of an
edge e corresponds to intersection with the hyperplane H := {x | xe = 0}, while
contracting e corresponds to projecting on H. Hence total dual integrality of (29.9)
can be characterized by forbidden minors; in fact, there is only one forbidden minor:
Section 29.11b. Packing T -cuts 505
Corollary 29.9b. System (29.9) is totally dual integral if and only if G, T has no
minor K4 , V K4 .
Corollary 29.9c. The following are equivalent for any graph G = (V, E):
(29.52) (i) G is series-parallel;
(ii) (29.9) is TDI for each choice of T ;
(iii) (29.11) is TDI for each choice of T ;
(iv) (29.11) is TDI for some choice of T ;
(v) (29.17) is TDI.
Proof. The equivalence of (i) and (ii) follows from Corollary 29.9b, since a graph
G is series-parallel if and only if G has no K4 minor. The implication (iii)(iv) is
direct.
We next show (v)(ii). Let (29.17) be TDI. Choose T V and w ZE + . Let J
be a T -join minimizing w(J). Define w(e) := w(e) if e E \ J and w(e)
:= w(e)
if e J. Then is a w-minimal
-join. Since (29.17) is TDI, there exist U,e Z+
for U V and e (U ) with
(29.53) w U,e ((U )\{e} e ).
U,e
Choose the U,e such that U,e U,e is minimized. Then
This shows (29.54). So there are no two U,e 1 and U ,e 1 such that the
vectors (U )\{e}
e and (U )\{e } e have
opposite signs in some position.
The minimality of U,e then implies that U,e = w(J)
= w(J) and that
J (U ) = {e} for each U, e with U,e 1. So each such (U ) is a T -cut. Moreover,
(29.57) w U,e (U ) .
U,e
So we have an integral dual solution for the problem of minimizing wT x over (29.9).
This proves (v)(ii).
We next show the reverse implication (ii)(v). Let (29.9) be TDI for each choice
of T . To prove that (29.17) is TDI, choose w ZE , such that minimizing wT x over
(29.17) is finite that is (as (29.17) determines the circuit cone) w(C) 0 for
each circuit C.
Define J := {e E | w(e) < 0} and T := {v V | degJ (v) is odd}. Moreover,
w(e)
:= |w(e)| for e E. Then J is a T -join minimizing w(J)
(as w(C) 0 for
each circuit C). Hence, as (29.9) is TDI, there exist U Z+ for U with T U odd,
such that
(29.58) U (U ) w
and U = w(J).
U U
where {e} := F (J (U )). As this equivalence holds for any fixed T , this proves
both (iv)(v) and (v)(iii).
Theorem 29.10. Let G = (V, E) be a graph and let T V , such that K2,3 , T0 is
not a minor of G, T . Then the minimum size of a T -cut is equal to the maximum
number of disjoint T -joins.
Corollary 29.10a. System (29.41) is TDI if and only if K2,3 , T0 is not a minor of
G, T .
Proof. Necessity follows from the fact that total dual integrality of (29.41) is main-
tained under taking minors (contraction of an edge e corresponds to intersecting the
polytope with the hyperplane xe = 0, and deletion of e corresponds to projecting
on it), while the minimum size of a T0 -cut in K2,3 is 2, and K2,3 has no two disjoint
T0 -joins.
To see suciency, let w ZE
+ . Replace any edge e = uv of G by w(e) parallel
edges connecting u and v, yielding the graph G . Then the minimum weight of a
T -cut in G is equal to the minimum size of a T -cut in G . By Theorem 29.10, this
minimum size is equal to the maximum number of disjoint T -joins in G . These
T -joins give an integer optimum dual solution to the problem of minimizing wT x
subject to (29.41).
(29.72) if each vertex of G has even degree, then there exist V -joins J1 , . . . , J2k
covering each edge of G at most twice.
To see this, assume that each vertex of G has even degree. So k is even. If k 2,
(29.72) is trivial. (If k = 2 there exists a V -join J; then the complement E \ J is a
V -join again.) So we can assume that k 4.
For each v V , let Gv be a (k 1)-edge-connected graph with degG (v) + 1
vertices, one of degree k and all other vertices of degree k 1. (Such graphs Gv
exist: If k = 4, take any cubic 3-edge-connected graph on degG (v) + 2 vertices (for
instance, by taking a circuit on degG (v) + 2 vertices, and making opposite vertices
adjacent), and contract an arbitrary edge of it. If k 6, add a Hamiltonian circuit
to the graph for the case k 2.)
We take the Gv vertex-disjoint. Now transform G to a graph H, by replacing
each vertex v by Gv , and making each edge of G which was incident with v, incident
instead with one of the degG (v) vertices of Gv of degree k 1, in such a way that
the resulting graph H is k-regular.
We show that H is a k-graph, by showing
(29.73) |H (U )| k for each U V H with |U | odd.
To see this, assume |H (U )| < k. Observe that |H (U )| is even, as k is even and H
is k-regular. Hence |H (U )| k 2. Since each Gv is (k 1)-edge-connected, for
each v V we know that either V Gv U or V Gv U = . Define
(29.74) X := {v V | V Gv U }.
Then |H (U )| = |G (X)|. Moreover, |X| is odd as |V Gv | is odd for each v V .
Therefore |G (X)| k and hence |H (U )| k. This shows (29.73).
Then by the generalized Fulkerson conjecture, there exist perfect matchings
M1 , . . . , M2k in H covering each edge of H exactly twice. Projecting these matchings
to the original edges of G, gives V -joins as required in (29.72).
Now, for T = V , (29.71) follows from (29.72) by replacing each edge of G by two
parallel edges. The case of general T can be reduced to the case T = V as follows.
Let T be arbitrary. For each vertex v V \ T , make a new vertex v , connected by
k parallel edges with v. This gives the graph G = (V , E ). Then the minimum size
of a V -cut in G is equal to k. Hence by (29.71) there exist V -joins J1 , . . . , J4k
in
G covering each edge of G at most four times. Restricting the Ji to the edges of
G, gives V -joins in G as required.
Cohen and Lucchesi [1997] showed that conjecture (29.72) is equivalent to: if
all T -cuts have the same parity, then the maximum size of a 2-packing of T -joins
is equal to twice the minimum size of a T -cut. They also showed that this is true
if |T | 8; more strongly, that if |T | 8 and all T -cuts have the same parity, then
the maximum number of disjoint T -joins is equal to the minimum size of a T -cut.
So
(29.76) lJ (F ) = |F J| |J|
for each F E. Then a set J is a join if and only if lJ (C) 0 for each circuit C.
Note also that
(29.77) a set J is a join if and only if it is a minimum-size T -join for T := {v
V | degJ (v) odd}.
Frank [1990b,1993b] gave a min-max relation for the maximum size of a join. By
Corollary 29.2a and (29.77), the maximum size of a join is equal to the maximum
size of a fractional packing of T -cuts, taken over T V with |T K| even for each
component K of G. This, however, is not a min-max relation.
A min-max relation can be described in terms of ear-decomposition. Let G =
(V, E) be an undirected graph. An ear of G is a path or circuit P in G, of length
1, such that all internal vertices of P have degree 2 in G. The path may consist
of a single edge so any edge of G is an ear.
If I is the set of internal vertices of an ear P , we say that G arises from G I by
adding ear. An ear-decomposition of G is a series of graphs G0 , G1 , . . . , Gk , where
G0 = K1 , Gk = G, and Gi arises from Gi1 by adding an ear (i = 1, . . . , k).
A graph G = (V, E) has an ear-decomposition if and only if G is 2-edge-
connected (see Theorem 15.17). Moreover, the number of ears in any ear-decompo-
sition is equal to |E| |V | + 1. Then the min-max relation for maximum-size join
in 2-connected graphs is formulated as:
Proof. We first show that the maximum is not more than the minimum. Let J be a
join in G and let = (P1 , . . . , Pk ) be an ear-decomposition of G. Let G = (V , E )
be the graph made by P1 , . . . , Pk1 and let J := J E . By induction we know
k1
(29.79) |J | 12 |EPi |.
i=1
If |J EPk | 12 |EPk | we are done. So assume that |J EPk | > 21 |EPk |; that
is, lJ (Pk ) < 0. Let u and v be the end vertices of Pk . Let Q be a u v path in G
minimizing lJ (Q). So lJ (Pk ) + lJ (Q) 0 (since J is a maximum-size join). Since
lJ (Q) = |J EQ| |J |, Q minimizes |J EQ|.
Then J := J EQ is again a join in G , since for any circuit C in G :
(29.80) |J C| = |J (EQC)| |J EQ| = |J |
(since Q minimizes |J EQ|). Moreover,
(29.81) |J | |J | = |J EQ| |J | = lJ (Q) lJ (Pk )
= |J EPk | |EPk \ J| |J EPk | 12 |EPk |.
512 Chapter 29. T -joins, undirected shortest paths, and the Chinese postman
This shows that the maximum is not more than the minimum. To see equal-
ity, for any graph G let (G) be the maximum size of a join in G. For any ear-
decomposition = (P1 , . . . , Pk ), let () := ki=1 12 |EPi |. Let (G) be the min-
imum of () over all ear-decompositions of G. So we must prove (G) = (G).
Call an ear-decomposition optimum if it minimizes ().
We first show:
(29.83) Let U V with G[U ] 2-edge-connected. Then (G) (G[U ]) +
(G/U ).
To see this, first observe that if G[U ] has a Hamiltonian circuit C, then an optimum
ear-decomposition of G[U ] is obtained by first taking C, and next adding the
remaining edges as ears. Now in any optimum ear-decomposition of G/U , we
can insert at the first ear of containing the vertex into which U is contracted
(by splitting C appropriately). In this way we obtain an ear-decomposition of G
with () ( ) + ( ).
If G[U ] has no Hamiltonian circuit, let be an optimum ear-decomposition
of G[U ]. Let C be its first ear. By the above, (G) (G[V C]) + (G/V C).
Also, by induction, (G/V C) ((G[U ])/V C) + (G/U ). As C is the first ear of
, we have (G[V C]) + ((G[U ])/V C) = (G[U ]). Combining, we get (G)
(G[U ]) + (G/U ), showing (29.83).
Next we state:
(29.84) if G is factor-critical, then (G) 12 |V G|.
This follows directly from Theorem 24.9, since 21 |EPi | is at most 12 the number
of internal vertices of Pi .
In particular, it follows that if G is factor-critical, then (G) = (G), as G
has a join of size 21 |V G|, namely a matching. So we can assume that G is not
factor-critical.
A graph G is called matching-covered if each edge of G is contained in a perfect
matching. By Theorem 24.10,
(29.85) if G is matching-covered and 2-edge-connected, then (G) 21 |V G|.
For any subset W of V let HW be the graph obtained from G[W N (W )] by
deleting all edges in N (W ) and contracting all edges in W . (HW may have parallel
edges.) So HW is a bipartite graph with colour classes N (W ) and (W ) := the set
of components of G[W ].
(29.86) There is a nonempty subset W of V such that each component of G[W ]
is factor-critical and such that HW is 2-edge-connected and matching-
covered.
To see this, we first observe that there is a nonempty subset X of V such that each
component of G[X] is factor-critical and such that HX has a matching M covering
N (X). Indeed, if G has no perfect matching, then we can take X := D(G) (= the
set of vertices v for which G has a maximum-size matching missing v). By Corollary
Section 29.11d. Maximum joins 513
24.7a, X has the required properties. If G has a perfect matching, call it M . Choose
u V , and let X := D(G u). Then X has the required properties (note that the
vertex matched in M to u belongs to D(G u)).
Having X and M , orient the edges in M in the direction from (X) to N (X),
and all other edges of HX in the direction from N (X) to (X). This gives a directed
graph, that has (like any directed graph) a strong component L such that no arc
enters L. Let W be the union of those components of G[X] whose contraction
belong to L. Since no arc leaves L, for any edge e = uv M , if u N (X) and
u L, then v W . Conversely, if v W , then u L. For let v K L. As G
is 2-edge-connected, there exists an edge f = e leaving K. As K L and no arc
enters L, both ends of f belong to L. As L is strongly connected, f belongs to a
directed circuit. Necessarily, e is in this directed circuit. So both ends of e are in L.
Hence the edges of M intersecting W , form a perfect matching M in HW , and
so |N (W )| = |(W )|. Moreover, consider any edge e of HW not in M . In HX , e is
oriented from N (W ) to (W ), and hence, as L is a strong component, it is contained
in a directed circuit. This directed circuit forms an M -alternating circuit in HW ,
implying that e belongs to a perfect matching in HW . So HW is matching-covered.
Finally HW is 2-edge-connected, as it has a strongly connected orientation, since L
is a strong component. This shows (29.86).
Define U := W N (W ). Then (29.83), (29.84), (29.85), and (29.86) imply
(29.87) (G) (G/U ) + (G[U ]) (G/U ) + (HW ) + (G[K])
K(W )
1
(G/U ) + 2
|V HW | + 12 |K| (G/U ) + 21 |U |.
K(W )
We can derive from this a characterization of the maximum size of a join in any
graph:
Corollary 29.12a. Let G = (V, E) be a connected graph. Then the maximum size
(G) of a join is equal to
1
(29.89) 2
((G) + |V | 1).
where (G) is the minimum size of a subset F of E with G/F factor-critical.
Proof. If G has a cut edge e, the corollary follows by applying induction to G/e,
since (G) = (G/e) + 1 and (G) = (G/e) + 1.
So we can assume that G is 2-edge-connected, and then the corollary follows
from Theorem 29.11, with Theorem 29.12. Note that
k
k
(29.90) 21 |EPi | = 21 (number of even ears + (|EPi | 1))
i=1 i=1
= 21 (number of even ears +|V | 1).
Proof. To see that the maximum is not more than the minimum, consider any
strongly connected orientation of G, yielding the directed graph D. By Theorem
6.9, D has an ear-decomposition (P1 , . . . , Pk ). Any ear Pi contains at least 21 |EPi |
edges oriented towards U . So the sum (29.78) is at most the total number of edges
oriented towards U . Hence by Theorem 29.11, the maximum is not more than the
minimum.
To see equality, consider an ear-decomposition P1 , . . . , Pk of G minimizing
(29.78). In any ear Pi , we can orient the edges so as to obtain a directed path,
with exactly 21 |EP
i |1 edges oriented towards U . This gives a strongly connected
orientation with i 2 |EPi | edges oriented towards U . So Theorem 29.11 gives
equality.
We can derive some more min-max relations for bipartite graphs. Seymour
[1981d] observed that Theorem 29.2 is equivalent to:
This implies a max-max relation for the maximum size of a join in bipartite
graphs:
Corollary 29.13a. Let G be bipartite. Then the maximum size of a join is equal
to the maximum number of disjoint nonempty cuts.
Hence, with Corollary 29.12b, a result of D.H. Younger follows (cf. Frank
[1993b]):
Frank, Tardos, and Seb o [1984] showed the following. Let G be a 2-edge-
connected bipartite graph, with colour classes U and W . Then the minimum number
of edges oriented towards U in any strongly connected orientation of G is equal to
the maximum value of
(29.91) (G S),
S
ranging over all partitions of U , where (H) denotes the number of components
of H.
For an extension, see Kostochka [1994]. Szigeti [1996] gave a weighted version,
based on matroids. Fraenkel and Loebl [1995] showed that it is NP-complete to
find the maximum size of a subset J of the edge set E of a graph G with lJ (C) <
1
2
|EC| for each circuit C (even if G is planar and bipartite). Connected joins were
investigated by Sebo and Tannier [2001].
By the above method, one can optimize over Q in polynomial time. Hence, with
the ellipsoid method, one can decide if a given x QE belongs to Q or not, and
if not, find a separating facet. This also implies that for given capacity function
c : E Q+ , one can find in polynomial time a fractional packing of odd s t paths
subject to c, of maximum value (by minimizing cT x over B(Q)).
Schrijver and Seymour [1994] considered the problem (raised by Gr otschel
[1984]) of finding an explicit system of inequalities describing Q; equivalently, of
describing the vertices of B(Q).
Call a subset F of E odd-blocking if each odd s t path contains an edge in
F . For each F E, define hF ZE + as follows, where e = uv E and WF :=
{s, t} {v V | v is incident with at least one edge in E \ F }:
2 if u, v WF and e F ,
(29.94) hF (e) := 1 if exactly one of u, v belongs to WF ,
0 otherwise.
In other words,
(29.95) hF = (v)F .
vWF
In particular, hF (e) = 0 if e F .
Note that for each x ZE + one has:
Complexity survey for all-pairs shortest paths in undirected graphs without nega-
tive-length circuits ( indicates an asymptotically best bound in the table):
(The algorithm proposed by Bernstein [1984] fails (for instance, for a graph with
four vertices).)
Karzanov [1986] gave an O(|T |m log n +|T |3 log |T |)-time algorithm to find a
shortest T -join and a maximum fractional packing of T -cuts.
It is easy to see that the vertices of PT -join (G) are the incidence vectors of
the inclusionwise minimal T -joins (that is, those T -joins that are a forest). Indeed,
consider a T -join J. If J contains another T -join J as subset, then J J , and
J
hence is not a vertex of PT -join (G). Conversely, if is not a vertex, then J x
J
for some convex combination x of incidence vectors T -joins. Each of these T -joins
J satisfies J J , and hence J J.
Similarly, an inequality x(C) 1 for a T -cut C determines a facet if and only
if C is an inclusionwise minimal T -cut.
Giles [1981] showed that two inclusionwise minimal T -joins J and J give adja-
cent vertices of the polyhedron PT -join (G) if and only if J J contains exactly one
circuit. It implies that the distance of J and J in PT -join (G) is at most |J \ J |
this implies the Hirsch conjecture for PT -join (G).
Gerards [1992b] showed the following. For any graph H, an odd-H is a subdivi-
sion of H such that each odd circuit of H becomes an odd circuit in the subdivision.
In other words, the edges of H that become an even-length path form a cut in H.
The prism is the complement of the 6-circuit C6 . Let G = (V, E) be a graph not
containing an odd-K4 or an odd-prism as subgraph. Then for each T V , the
518 Chapter 29. T -joins, undirected shortest paths, and the Chinese postman
minimum size of a T -join is equal to the maximum number of disjoint T -cuts. This
generalizes Corollary 29.9c and Theorem 29.2.
Call a graph G = (V, E) a Seymour graph if for each subset T of V for which
there exists a T -join, the minimum-size of a T -join is equal to the maximum number
of disjoint T -cuts. Ageev, Kostochka, and Szigeti [1995,1997] showed that G is a
Seymour graph if and only if for each length function l ZE with l(C) 0 for each
circuit C, and for each pair of circuits C1 and C2 with l(C1 ) = 0 and l(C2 ) = 0, the
graph formed by C1 C2 is neither an odd-K4 nor an odd-prism. (Here suciency
was proved by A. Seb o.)
Seymour [1981d] characterized for which pairs G, T with |T | = 4, the minimum
size of a T -join is equal to the maximum number of disjoint T -cuts. In fact, let
T = {t1 , t2 , t3 , t4 } and let k Z+ . Then there is a packing of T -cuts of size k if and
only if
(29.103) dist(t1 , t2 ) + dist(t3 , t4 ) k,
dist(t1 , t3 ) + dist(t2 , t4 ) k,
dist(t1 , t4 ) + dist(t2 , t3 ) k,
such that if equality holds in each of these inequalities, then dist(t1 , t2 )+dist(t1 , t3 )+
dist(t2 , t3 ) is even.
Korach [1982] characterized such pairs for |T | = 6, and gave a polynomial-time
algorithm recognizing them.
The existence of T -joins satisfying given upper bounds on the degrees can be
characterized by reduction to Tuttes 1-factor theorem (cf. Ning [1987]).
Middendorf and Pfeier [1990b,1993] showed that it is NP-complete to decide,
for given planar graph G = (V, E) and T V , if the minimum size of a T -join
is equal to the maximum number of disjoint T -cuts. As a minimum-size T -join
can be found in polynomial time, it follows that it is NP-complete to determine a
maximum packing of T -cuts. (Related results are given by Korach and Penn [1992],
Korach [1994], and Granot and Penn [1995].)
The directed Chinese postman problem can be solved as a minimum-cost cir-
culation problem (see Section 12.5b). The mixed Chinese postman problem (with
directed and undirected edges) however is NP-complete (Papadimitriou [1976]).
Guan [1984] derived from this that the windy (or asymmetric) postman problem
(where the length of an edge may depend on the direction in which it is traversed)
is NP-complete.
Edmonds and Johnson [1973] showed that the mixed Chinese postman problem
in which each vertex has even total degree is polynomial-time solvable. (The total
degree of a vertex v is the total number of edges (directed and undirected) incident
with v.) Similarly, Guan and Pulleyblank [1985] and Win [1989] showed that the
windy postman problem is solvable in polynomial time if the graph is Eulerian (by
reduction to a minimum-cost circulation problem). More on the windy postman
can be found in Gr otschel and Win [1992], Pearn and Li [1994], and Raghavachari
and Veerasamy [1999b].
For approximation algorithms for the mixed postman problem, see Frederick-
son [1979] and Raghavachari and Veerasamy [1998,1999a]. Further work on the
mixed postman problem is reported in Kappauf and Koehler [1979], Minieka [1979],
Brucker [1981], Christofides, Benavent, Campos, Corber an, and Mota [1984], Ralphs
[1993], and Nobert and Picard [1996].
Section 29.11g. On the history of the Chinese postman problem 519
The name of the problem seems to occur first in the title of this abstract: The
Chinese Postmans Problem (where The Chineses Postman Problem would be
more appropriate).
Chapter 30
Theorem 30.1. 2 (G) = 2 (G) for any graph G. That is, the maximum size
of a 2-matching is equal to the minimum size of a 2-vertex cover.
Proof. Make for each vertex v of G a new vertex v , and replace each edge uv
of G by two edges u v and uv . This makes the bipartite graph H. By Konigs
Section 30.2. Fractional matchings and vertex covers 521
This construction was given by Nemhauser and Trotter [1975]. It also yields
a polynomial-time reduction of the problems of finding a maximum-size 2-
matching and a minimum-size 2-vertex cover to the problems of finding a
minimum-size matching and a maximum-size vertex cover in a bipartite graph
hence these problems are polynomial-time solvable.
Call a 2-matching x perfect if x((v)) = 2 for each vertex v. So a 2-
matching x is perfect if and only if x(E) = |V |. Theorem 30.1 implies a
characterization of the existence of a perfect 2-matching (Tutte [1952]):
Balinski [1965] also observed that the support of any vertex x of the
fractional matching polytope can be partitioned into a matching M , with
xe = 1 for e M , and a set of odd circuits, vertex-disjoint and disjoint from
M , with xe = 21 for each edge e in any of the odd circuits.
Given a graph G = (V, E), the perfect 2-matching polytope of G is the con-
vex hull of the perfect 2-matchings in G. As the perfect 2-matching polytope
is a face of the 2-matching polytope (if nonempty), Corollary 30.2a implies
(Edmonds [1965b]):
Proof. Make the bipartite graph H as in the proof of Theorem 30.1, with
weight function w (u v) := w (uv ) := w(uv) for each edge uv of G. Then
a maximum-weight matching in the new graph gives a maximum-weight 2-
matching in the original graph. So Theorem 17.4 gives the present theorem.
Proof. It is easy to see that the maximum cannot be larger than the mini-
mum. To see equality, make the bipartite graph H as in the proof of Theorem
30.1, with weight w (u v) := w (uv ) := w(uv) for each edge uv of G. Then the
maximum w-weight of a 2-matching in G is equal to the maximum w -weight
of a matching in H. By Theorem 17.1, the latter is equal to the minimum
of y (V V ) where y : V V Z+ with y (u) + y (v ) w(uv) and
y (u ) + y (v) w(uv) for each edge uv of G. Defining yv := yv + yv for each
v V , we obtain y as required.
Proof. Choose w ZE T
+ . By Corollary 30.4a, the problem of maximizing w x
over (30.7) has an optimum dual solution y 12 ZV+ . Let yv := yv and
T := {v V | yv Z}. Let zT := 1 and zU := 0 for each U V with U = T .
Then y , z is an integer optimum dual solution of the problem of maximizing
wT x over (30.9).
Corollary 30.4d. Let w ZE with w(C) even for each circuit C. Then the
problem of minimizing wT x subject to (30.8) has an integer optimum dual
solution.
Uhry [1975] gave the following relation between maximum-size 2-matchings and
maximum-size matchings:
Section 30.5a. Maximum-size 2-matchings and maximum-size matchings 525
(Theorem 30.6 was generalized in (30.88).) Related results were obtained by Balas
[1981].
526 Chapter 30. 2-matchings, 2-covers, and 2-factors
where U and S are disjoint subsets of V , with S a stable set, and where K
ranges over the components of G U S.
Proof. To see that the maximum is not more than the minimum, let F be
a simple 2-matching and let U and S be disjoint subsets of V , with S a
stable set. Then F has at most 2|U | edges incident with U . Moreover, for
each component K of G U S, the number of edges in F spanned by K S
is at most |K| + 12 |E[K, S]|, since
(30.12) 2|F E[K S]| = 2|F E[K]| + 2|F E[K, S]|
2|F E[K]| + |F E[K, S]| + |E[K, S]| 2|K| + |E[K, S]|.
Hence
(30.13) |F | 2|U | + (|K| + 21 |E[K, S]|)
K
for each pair of disjoint subsets U, S of V , with S a stable set, where K ranges
over the components of G U S.
a contradiction.
We choose Y with |Y | + | (Y )| minimal. Then:
(30.27) (i) if u , v Y , then pe,u Y and pe,v Y ,
(ii) if pe,u Y , then u Y .
To see (30.27)(i), first suppose that u , v Y and pe,u Y . Define Y :=
Y {pe,u , pe,v }. Then |Y | + | (Y )| < |Y | + | (Y )|, and hence Y satisfies
inequality (30.25)(iii). Therefore,
530 Chapter 30. 2-matchings, 2-covers, and 2-factors
(30.28) x (E [Y ]) x (E [Y ]) x ( (pe,u )) 21 |Y | 1 12 |Y |.
This contradicts our assumption that Y violates (30.25)(iii).
To see (30.27)(ii), let pe,u Y and u Y . Define Y := Y \ {pe,u , pe,v }.
Again |Y | + | (Y )| < |Y | + | (Y )|, and hence Y satisfies inequality
(30.25)(iii). If pe,v Y , then
(30.29) x (E [Y ]) = x (E [Y ]) 12 |Y | 12 |Y |.
If pe,v Y , then
(30.30) x (E [Y ]) x (E [Y ]) + x ( (pe,v )) 21 |Y | + 1 = 12 |Y |.
Both (30.29) and (30.30) contradict our assumption that Y does not satisfy
(30.25)(iii). This proves (30.27).
Let U := {v V | v , v Y } and let F be the set of those edges
e = uv in (U ) with u U , v U , and pe,u Y . Then x (E [Y ]) =
x(E[U ]) + |E[U ]| + x(F ) and |Y | = 2|U | + 2|E[U ]| + |F |. Hence (30.20)(iii)
implies (30.25)(iii).
So x is a convex combination of incidence vectors of matchings in G .
Each such vector y satisfies y( (v )) = 1 for each vertex v = pe,u (as x
satisfies this equality). Hence each such matching corresponds to a simple 2-
matching in G, and we obtain x as convex combination of simple 2-matchings
in G.
Given a graph G = (V, E), the 2-factor polytope is the convex hull of (the
incidence vectors of) 2-factors in G. Then:
Notes. Gr otschel [1977a] characterized the facets of the simple 2-matching polytope
and of the 2-factor polytope of the complete graph Kn . Rispoli and Cosares [1998]
showed that the diameter of the 2-factor polytope of a complete graph is at most
6. Rispoli [1994] showed that the monotonic diameter of the 2-factor polytope is
8, 9, and to 12 n 1 if n = 3, 4, 8, 9.
equal to 12 n if n 5 and n =
Boyd and Carr [1999] showed that if G = (V, E) is a complete graph and
l : E R+ satisfies the triangle inequality, then the minimum value of lT x over
(30.31) is at most 34 times the minimum value of lT x over (30.31)(i)(ii). They also
show that the factor 34 is best possible.
Section 30.9. 2-edge covers and 2-stable sets 531
Corollary 30.9a. 2 (G) = 2 (G) for any graph G without isolated vertices.
That is, the maximum size of a 2-stable set is equal to the minimum size of
a 2-edge cover.
is called a fractional edge cover. The minimum size x(E) of a fractional edge
cover is called the fractional edge cover number and is denoted by (G). By
linear programming duality, (G) is equal to the fractional stable set number
(G) the maximum size of a fractional stable set, which is any solution
y RV of
(30.41) (i) 0 yv 1 for v V ,
(ii) yu + y v 1 for uv E.
The equality (G) = (G) also follows from Corollary 30.9a, since trivially
(30.42) 1
2 2 (G) (G) (G) 12 2 (G).
Similar results as for fractional edge covers and 2-edge covers hold for
fractional stable sets and 2-stable sets. We discuss them in Section 64.5.
Theorem 30.11. Let G = (V, E) be a graph without isolated vertices and let
w ZE T
+ . Then the minimum weight w x of a 2-edge cover x is equal to the
maximum size of a 2w-stable set.
Proof. Choose w ZE T
+ . Then the minimum weight w x of a 2-edge cover is
equal to
(30.44) max{2y(V ) | y 21 ZV+ , yu + yv w(e) for each e = uv E},
by Theorem 30.11.
So s2 (G)
2|V | |M | = 2|V | 2s (G).
To see the reverse inequality, let F be a minimum-size simple 2-edge cover.
For each v V , delete from F degF (v) 2 edges incident with v. We obtain
a simple 2-matching M with
(30.49) |M | |F | (degF (v) 2) = 2|V | |F |.
vV
where U and S are disjoint subsets of V , with S a stable set, and where K
ranges over the components of G U S.
Given a graph G = (V, E), the simple 2-edge cover polytope is the convex
hull of the simple 2-edge covers in G. A special case of Theorem 34.9 below
is that the simple 2-edge cover polytope is determined by
(30.51) (i) 0 xe 1 (e E),
(ii) x((v)) 2 (v V ),
(iii) x(E[U ]) + x(F ) |U | + 12 |F | (U V, F (U ),
|F | odd).
We refer to Theorem 34.10 for the total dual integrality of the following
system (Cook [1983b]):
(30.52) (i) 0 xe 1 (e E),
(ii) x((v)) 2 (v V ),
(iii) x(E[U ]) + x(F ) |U | + 12 |F | (U V, F (U )).
Theorem 34.11 implies that a minimum-weight simple 2-edge-cover can
be found in strongly polynomial time.
vj+1
vi vi+1 vj
v0 vt+ij
= vt
v2 v1
edge in M
edge not in M
Figure 30.1
An M -posy
The two circuits may intersect.
Section 30.15. Graphs with (G) = (G) and (G) = (G) 537
Theorem 30.13. Let G = (V, E) be a graph. Then the following are equiva-
lent:
(30.57) (i) G has the Konig property, that is (G) = (G);
(ii) for some maximum-size matching M there is no M -flower and
no M -posy;
(iii) for each maximum-size matching M there is no M -flower and
no M -posy.
be a minimum-size vertex cover. Then each edge in M has exactly one vertex
in U . Suppose that P = (v0 , . . . , vt ) is an M -flower or an M -posy. Then for
each odd k, exactly one of vk and vk+1 belongs to U , while for each even k
at least one of vk and vk+1 belongs to U . If vt U , then vk U for each
even k. Since vt = vj for some even j, it follows that vt U . If v0 U , then
vk U for each odd k. Since vj U and j is even, we have v0 U . So v0
is covered by M , and hence P is an M -posy. So v0 = vi for some odd i. So
vi U for some odd i, a contradiction.
It remains to prove (ii)(i). Let M be a maximum-size matching in G
and let X be the set of vertices missed by M . Then there is no M -alternating
X X walk (since M has maximum size and since there is no M -flower
(cf. Theorem 24.3)). Let U be the set of vertices v for which there is an
M -alternating X v walk and let Z be the set of vertices v for which there
exists an odd-length M -alternating X v walk. Then Z intersects each edge
intersecting U , while |Z| is equal to the number of edges in M contained in
U.
So we can apply induction to G U if U = . Hence we may assume
that U = . Equivalently, X = , that is, M is a perfect matching. Choose
e = uv M . By Lemma 30.13, G u has no M \ {e}-flower or G v
has no M \ {e}-flower. By symmetry, we may assume that G v has no
M \ {e}-flower. Since G has no M -posy, G v has no M \ {e}-posy. Hence,
by induction:
(30.58) (G) = (G v) + 1 = (G v) + 1 (G).
Hence (G) = (G).
Proof. The implication (i)(ii) follows from (30.3). To see (ii)(iii), let U
be a minimum-size vertex cover and let x be a maximum-size 2-matching.
Then, using Theorem 30.1,
(30.60) 2 (G) = 2 (G) = xe xe |e U | = x((v)) 2|U |
eE eE vU
= 2 (G),
and hence we have equality throughout. So e (U ) if xe 1. As this is true
for each maximum-size 2-matching x, we have (iii).
Section 30.16. Excluding triangles 539
Proof. Let w ZE T
+ and consider the problem dual to maximizing w x over
(30.63):
540 Chapter 30. 2-matchings, 2-covers, and 2-factors
(30.64) minimize yv + 2 zT
vV T T
(v)
subject to 12 yv + zT ET w,
vV T T
with y RV+ and z RT+ . We must show that there exists an integer optimum
solution y, z. We take a counterexample with |E|+w(E) minimal. This implies
that G is connected. Moreover, w(e) 1 for each edge e, since otherwise we
could delete e.
On the other hand, w(e) 2 for each edge e. To see this, let y, z be any
optimum solution. If yu 2 for some vertex u, we can reset w(e) := w(e) 1
for each e (u). By resetting, the optimum value decreases by at least 2
(since resetting yu := yu 2 gives a feasible solution for the new w, with
objective value 1 less than the original objective value). By the minimality
of G, w, for the new w there is an integer optimum solution y, z. Resetting
yu := yu + 2 then gives an integer optimum solution for the original w.
So we can assume that yv < 2 for each vertex v, and similarly, that zT < 1
for each T T .
Choose an optimum solution y, z with T T zT minimal. Let T+ := {T
T | zT > 0}. Then:
(30.65) no two triangles in T+ have an edge in common.
For suppose that T1 , T2 T+ have ET1 ET2 = {e}, say e = v1 v2 . Resetting
zTi := zTi and yvi := yvi + 2 for i= 1, 2, for > 0 small enough, gives
again an optimum solution. However, T T zT decreases, contradicting our
assumption. This proves (30.65).
This implies that w(e) 2 for each edge e, since yv < 2 and zT < 1.
Next:
(30.66) for any T T+ and any v V T one has either 0 < yv < 1 for
each v V T and w(e) = 1 for each e ET , or 1 < yv < 2 for
each v V T and w(e) = 2 for each e ET .
Let V T = {v1 , v2 , v3 }. First assume that 12 yv1 + 21 yv2 + zT > w(v1 v2 ). Then
after resetting yv3 := yv3 + 2 and zT := zT we obtain again an optimum
solution, for > 0 small enough. However, T T zT decreases, contradicting
our assumption. So 12 yv1 + 12 yv2 + zT = w(v1 v2 ), and similarly for any other
pair from v1 , v2 , v3 . This implies
(30.67) yv1 = w(v1 v2 ) + w(v1 v3 ) w(v2 v3 ) zT ,
and similarly for v2 and v3 . So if w(e) = 1 for each e ET , then 0 < yv < 1
for each v V T . Similarly, if w(e) = 2 for each e ET , then 1 < yv < 2
for each v V T . If not all three edges of T have the same weight, (30.67)
implies that there is a vertex v in T with yv > 2 or yv < 0, a contradiction.
This proves (30.66).
Now consider resetting
Section 30.16. Excluding triangles 541
This theorem implies (in fact, is equivalent to) the following TDI result:
Proof. Let w ZE T
+ . Let be the maximum value of w x over (30.69), This
T
is equal to the maximum value of w x over (30.63) (since (30.69)(iv) follows
from (i) and (ii)).
Consider an integer optimum solution yv (v V ), zT (T T ) of the
problem dual to maximizing wT x over (30.63). Define yv := 12 yv for v V
and T := {v V | 12 yv Z}. Define aU := 1 if U = T and aU := 0 for any
other subset U of V .
Then y , a, z is an integer feasible solution of the problem dual to maxi-
mizing wT x over (30.69), as w is integer. Moreover, it is optimum, since
(30.70) 2yv + aU |U | + 2zT = yv + 2zT = .
vV U V T T vV T T
Proof. To see that the maximum is not more than the minimum, let x be a
maximum-size triangle-free 2-matching in G. Let U V and let W be the
set of vertices of G U that are in triangle cluster components. Consider any
component K of G U that is a triangle cluster. Then the edges of K can be
partitioned into 21 (|K| 1) triangles. Hence x(E[K]) |K| 1, and therefore
(30.73) x((v)) = 2x(E[K]) + x((K)) 2(|K| 1) + x((K)).
vK
Summing over all components K that are triangle cluster, we see that
(30.74) x((v)) 2|W | 2(G U ) + x((W )).
vW
Moreover,
Section 30.16. Excluding triangles 543
(30.75) x((W )) x((U )) x((v)) 2|U |.
vU
This implies
(30.76) 2x(E) = x((v)) + x((v))
vW vV \W
2|W | 2(G U ) + 2|U | + 2|V \ W |
= 2(|V | + |U | (G U )).
This shows that the maximum is not more than the minimum.
To see the reverse inequality, let T denote the set of triangles in G. By
Theorem 30.14, the maximum size of a triangle-free 2-matching is equal to
the minimum value of
(30.77) yv + 2 zT
vV T T
is
a triangle 1cluster. Let k be the number of components of G[W ]. Then
T T zT = 2 (|W | k).
Define U := N (W ). Then yv = 2 for each v U , since each edge e
connecting W and U should satisfy (30.78). Therefore, (30.77) is at least
(30.83) |V ||W |+|U |+2 21 (|W |k) = |V |+|U |k |V |+|U |(GU ),
proving the theorem.
4/3
2/3 2/3
2/3 2/3
2/3 2/3
4/3
Figure 30.2
Hartvigsen [1984] showed that a maximum size simple 2-matching without trian-
gles can be found in polynomial time. He also gave good characterization for the
existence of a 2-factor without triangles.
On the other hand, Cornuejols and Pulleyblank [1980a] showed with a method
of C.H. Papadimitriou that the problem of finding a 2-factor without circuits of
length at most 5, is NP-complete. The complexity of deciding if a 2-factor exists
without circuits of length at most 4 is not known.
Vornberger [1980] showed the NP-completeness of finding a maximum-weight
2-factor without circuits of length at most 4. The complexity status of finding a
maximum-weight 2-factor without circuits of length at most 3 is unknown. Hell,
Kirkpatrick, Kratochvl, and Krz [1988] and Cunningham and Wang [2000] give
related results.
Chapter 31
b-matchings
31.1. b-matchings
Let G = (V, E) be a graph and let b ZV+ . A b-matching is a function x ZE
+
satisfying
(31.1) x((v)) b(v)
for each v V . This is equivalent to: M x b, where M is the V E incidence
matrix of G.
In (31.1), we count multiplicities: if e is a loop at v, then xe is added twice
at v. (This is consistent with our definition of (v) as a family of edges, in
which each loop at v occurs twice.)
It is convenient to consider the graph Gb arising from G by splitting each
vertex v into b(v) copies, and by replacing any edge uv by b(u)b(v) edges
connecting the b(u) copies of u with the b(v) copies of v. More formally,
Gb = (Vb , Eb ), where
(31.2) Vb := {qv,i | v V, 1 i b(v)},
Eb := {qu,j qv,i | uv E, 1 j b(u), 1 i b(v), qu,j = qv,i }.
The condition qu,j = qv,i is relevant only if u = v, that is, if there is a loop
at u.
This construction was given by Tutte [1954b], and yields a min-max re-
lation for maximum-size b-matching (where again the size of a vector is the
sum of its components):
Theorem 31.1. Let G = (V, E) be a graph and let b ZV+ . Then the maxi-
mum size of a b-matching is equal to the minimum value of
(31.3) b(U ) + 12 b(K)
K
Section 31.2. The b-matching polytope 547
Proof. To see that the maximum is not more than the minimum, consider
a b-matching x and a subset U of V . Then the sum of xe over the edges e
intersecting U is at most b(U ). The sum of xe over the edges e contained in
some component K of G U is at most 21 b(K).
Equality is derived from the Tutte-Berge formula (Theorem 24.1). Let Gb
be the graph described in (31.2). Then the maximum size of a b-matching
in G is equal to the maximum size of a matching in Gb . By the Tutte-Berge
formula, this is equal to the minimum value of
(31.4) 1
2 (|Vb | + |U | o(Gb U ))
over U Vb (where o(H) denotes the number of odd components of a graph
H).
Let U attain this minimum. We may assume that if U misses at least
one copy of some vertex v of G, it misses all copies of v (since deleting all
copies does not increase (31.4)). Hence there is a subset U of V such that U
is equal to the set of copies of vertices in U . We take v U if b(v) = 0.
Let IU be the set of isolated (hence loopless) vertices of G U . Then
o(Gb U ) is equal to b(IU ) plus the number of components K of G U that
span at least one edge and have b(K) odd. Setting k to the number of such
components, (31.4) is equal to
1
(31.5) 2 (b(V) + b(U ) o(Gb U )) = b(U ) + 21 (b(V \ U ) o(Gb U ))
= b(U ) + 12 (b(V \ U ) b(IU ) k),
which is equal to (31.3).
Corollary 31.1a. Let G = (V, E) be a graph and let b ZV+ . Then there
exists a perfect b-matching if and only if for each U V , G U IU has at
most b(U ) b(IU ) components K with b(K) odd.
the convex hull of the b-matchings. The inequalities describing the b-matching
polytope were announced by Edmonds [1965b] (cf. Pulleyblank [1973], Ed-
monds [1975]):
Theorem 31.2. Let G = (V, E) be a graph and let b ZV+ . Then the b-
matching polytope is determined by the inequalities
(31.6) (i) xe 0 for e E,
(ii) x((v)) b(v) for v V ,
(iii) x(E[U ]) 12 b(U ) for U V with b(U ) odd.
Proof. The inequalities (31.6) are trivially valid for the vectors in the b-
matching polytope. To see that they determine the b-matching polytope, let
x satisfy (31.6). We may assume that b 1.
Again consider the graph Gb = (Vb , Eb ) obtained by splitting each vertex
v into b(v) copies (cf. (31.2)). For any edge e = u v of Gb , with u and v
copies of u and v in G, define x (e ) := xe /b(u)b(v), where e := uv. We show
that x belongs to the matching polytope of Gb , which implies the theorem.
By Edmonds matching polytope theorem, it suces to show that x sat-
isfies:
(31.7) (i) x (e ) 0 for each edge e Eb ,
(ii) x ( (u )) 1 for each vertex u Vb ,
(iii) x (E [U ]) 21 |U | for each U Vb with |U | odd.
Clearly (i) holds. To see (31.7)(ii), let u be a vertex of Gb , being a copy of
vertex u of G. Then
(31.8) x ( (u )) = x((u))/b(u) 1,
since for any edge e = uv of G one has that
(31.9) x (u v ) = x(uv)/b(u)b(v) = x(uv)/b(u),
v v
where v ranges over the copies of v in Gb . So summing over all neighbours
v of u gives x((u))/b(u).
To see (31.7)(iii), choose U Vb with |U | odd. Note that x satisfies
(31.6)(iii)
for all subsets U of V , since if b(U ) is even, then x(E[U ])
1
2 vU x((v)) 12 b(U ) by (31.6)(ii).
For any vertex v of G let Bv denote the set of copies of v in Gb . We show
(31.7)(iii) by induction on the number of v V for which U splits Bv , that
is, for which
(31.10) Bv U = and Bv U .
If this number is 0, (31.7)(iii) follows from (31.6)(iii). If this number is
nonzero, choose a vertex v satisfying (31.10). Let U1 := U \ Bv and
U2 := U Bv . So by induction we know
Section 31.2. The b-matching polytope 549
(This theorem follows also from the proof of the total dual integrality of the
constraints (31.17) in Theorem 31.3 below.)
Given a graph G = (V, E) and b ZV+ , the perfect b-matching polytope
is the convex hull of the perfect b-matchings in G. As it is a face of the
b-matching polytope (if nonempty), the previous theorem implies:
Corollary 31.2a. Let G = (V, E) be a graph and let b ZV+ . Then the perfect
b-matching polytope is determined by the inequalities
(31.16) (i) xe 0 for e E,
(ii) x((v)) = b(v) for v V ,
(iii) x((U )) 1 for U V with b(U ) odd.
(For a direct proof of this Corollary also based on considering the graph
Gb obtained from G by splitting each vertex v into b(v) copies, see Araoz,
Cunningham, Edmonds, and Green-Kr otki [1983].)
Hurkens [1988] characterized adjacency on the b-matching polytope and
showed that the diameter of the b-matching polytope is equal to the maximum
size of a b-matching.
550 Chapter 31. b-matchings
P(V )
where y ZV+ and z Z+ satisfy
(31.19) yv (v) + E[U ] w.
vV U V
since if yv 1 for some vertex v we can reduce w(e) by 1 for each e (v)
and reduce yv by 1, to obtain a counterexample with smaller w(E). Similarly,
if z(U ) 1 for some U V we can reduce w(e) by 1 for each e E[U ] and
reduce z(U ) by 1, to obtain a counterexample with smaller w(E).
Put on y {0, 21 }V and z {0, 12 }P(V ) the additional requirements that,
first, y(V ) is as large as possible, and, second, that
(31.22) z(U )|U ||V \ U |
U V
is as small as possible.
Let S := {v V | yv = 21 } and F := {U V | z(U ) = 21 }. We first show
that F is laminar; that is,
(31.23) if U, W F, then U W = or U W or W U .
Indeed, suppose that U W = , U W , and W U for some U, W F.
If b(U W ) is odd, then decreasing z(U ) and z(W ) by 12 , and in-
creasing z(U W ) and z(U W ) by 12 , would not increase (31.18) (since
12 b(U W ) + 12 b(U W ) 12 b(U ) + 12 b(W )), would maintain (31.19)
(since E[U W ] + E[U W ] E[U ] + E[W ] ), would leave y(V ) unchanged,
but would decrease (31.22), contradicting the minimality of (31.22).
If b(U W ) is even, then resetting
(31.24) z(U ) := z(U ) 12 , z(W ) := z(W ) 21 , z(U \ W ) := z(U \ W ) + 21 ,
z(W \ U ) := z(W \ U ) + 12 , and yv := yv + 21 for each v U W ,
would not increase (31.18) (since 21 b(U \ W ) + 12 b(W \ U ) + b(U W )
1 b(U ) + 12 b(W )), would maintain (31.19) (since E[U \W ] + E[W \U ] +
2 (v)
vU W E[U ] + E[W ] ), but would increase y(V ), contradicting the
maximality of y(V ).
This shows (31.23). Suppose F = . Then choose an inclusionwise minimal
set U F with the property that there exist an even number of sets W F
with W U . Let U1 , . . . , Uk be the inclusionwise maximal proper subsets of
U with Ui F (possibly k = 0). By the choice of U , none of the Ui contain
properly a set in F. Then
k
k
(31.25) 12 b(U ) + 12 b(Ui ) b(U S) + 2 21 b(Ui \ S)
i=1 i=1
or
k
k
(31.26) 12 b(U ) + 12 b(Ui ) b(U \ S) + 2 12 b(Ui S),
i=1 i=1
as
552 Chapter 31. b-matchings
U1 U2 Uk
..........
Figure 31.1
k
(31.27) b(U ) + 2 12 b(Ui )
i=1
k
k
b(U S) + b(U \ S) + 2 12 b(Ui \ S) + 2 12 b(Ui S).
i=1 i=1
1
If (31.25) holds, then resetting yv := yv + for each v U S, z(U ) :=
2
z(U ) 12 , and z(Ui ) := z(Ui ) 12 , z(Ui \S) := z(Ui \S)+1 for each i = 1, . . . , k
would not increase (31.18) (by (31.25)) and would maintain (31.19): on edges
not spanned by U , the left-hand side of (31.19) does not decrease; on edges
spanned by U the contribution of the nonmodified variables is integer, and
k k
1
(31.28) 2 (v) +E[U ] + E[Ui ] (v) + E[Ui \S] .
vU S i=1 vU S i=1
(This is the proof method followed by Schrijver and Seymour [1977]. For a
related proof, see Homan and Oppenheim [1978]. See also Cook [1983b].)
This theorem can be formulated equivalently in terms of total dual inte-
grality:
Proof. This follows from Corollary 31.3a, by using the fact that inequality
(31.17)(iii) for |U | even, is a half-integer sum of inequalities (31.6)(i) and (ii).
This implies for the original system (Edmonds and Johnson [1970]):
Corollary 31.3e. Let w ZE with w(C) even for each circuit C. Then the
problem of minimizing wT x subject to (31.16) has an integer optimum dual
solution.
edge is traversed more than twice. Let ye be the number of times P traverses
e, if xe xe , and let ye be minus the number of times P traverses e, if
xe < xe . Then x + y is a b -matching, x y is a b-matching, and y 2.
Lemma 31.4. Let G = (V, E), let b, b ZV+ and let a weight function
w RE be given. Then for any maximum-weight b-matching x there exists a
maximum-weight b -matching x satisfying
(31.31) x x 2b b 1 .
Theorem 31.4. Given a graph G = (V, E), b ZV+ , and a weight function
w QE , a maximum-weight b-matching can be found in strongly polynomial
time.
Proof. I. First consider the case that b is even. Make a bipartite graph H as
follows. Make a new vertex v for each v V . Let H have edges u v and uv
for each edge uv of G. Define b(v) := b(v ) := 21 b(v) for each v V . Define a
weight w(u v) := w(uv
) := w(uv) for each edge uv of G.
Find a maximum-weight b-matching x in H. This can be done in strongly
polynomial time by Theorem 21.9. Defining x(uv) := x (u v) + x
(uv ) for each
edge uv of G, gives a maximum-weight b-matching x in G. Indeed, if there
would be a b-matching in G of larger weight than that of x, then there is a
half-integer b-matching in H of larger weight than that of x . This contradicts
the fact that in a bipartite graph a maximum-weight b-matching is also a
maximum-weight fractional b-matching (by Theorem 21.1).
II. Next consider the case of arbitrary b. Define b := 2 21 b. Since b is
even, by part I of this proof we can find a maximum-weight b -matching x in
G in strongly polynomial time. Now b arises from b by at most |V | resettings
of b to b +u for some u V . So it suces to give a strongly polynomial-time
556 Chapter 31. b-matchings
Corollary 31.4a. Given a graph G = (V, E), b ZV+ , and a weight func-
tion w QE , a minimum-weight perfect b-matching can be found in strongly
polynomial time.
31.5. If b is even
Theorem 31.5. Let G = (V, E) be a graph and let b ZV+ . Then the maxi-
mum size of a 2b-matching is equal to the minimum value of y T b taken over
2-vertex covers y; equivalently, the minimum value of
(31.34) b(V ) + b(N (S)) b(S),
taken over stable sets S.
Proof. Make a bipartite graph H as follows. Make a new vertex v for each
v V , and let V := {v | v V }. H has vertex set V V and edges all u v
and uv for uv E.
Define b : V V Z+ by b (v) := b (v ) := b(v) for all v V . Then
the maximum size of a 2b-matching in G is equal to the maximum size of a
b -matching in H. By Corollary 21.1a, this is equal to the minimum b -weight
of a vertex cover in H, which is equal to the minimum of y T b over 2-vertex
covers y.
Corollary 31.5a. Let G = (V, E) be a graph and let b ZV+ with b even.
Then there exists a perfect b-matching if and only if b(N (S)) b(S) for each
stable set S of G.
This can also be derived directly from Corollary 31.1a. The following two
theorems can be derived from the bipartite case in a way similar to the proof
of Theorem 31.5, but they also are special cases of results in this chapter.
First we have a characterization of the 2b-matching polytope:
Theorem 31.6. Let G = (V, E) be a graph and let b ZV+ . Then the 2b-
matching polytope is determined by
(31.35) (i) xe 0 for each e E,
(ii) x((v)) 2b(v) for each v V .
31.6. If b is constant
The results on b-matchings can be specialized to k-matchings. Let G =
(V, E) be a graph and let k Z+ . A k-matching is a function x ZE
+ with
x((v)) k for each vertex v. Thus if we identify k with the all-k vector
in ZV+ , we have a k-matching as before. Therefore, Theorem 31.1 gives a
min-max relation for maximum-size k-matching:
Theorem 31.8. Let G = (V, E) be a graph and let k Z+ . Then the maxi-
mum size of a k-matching is equal to the minimum value of
(31.36) k|U | + 12 k|K|,
K
Note that it follows that if k is even, we need not round, and hence the
maximum size of a k-matching is equal to 12 k times the maximum-size of a
2-matching. This maximum size is described in Theorem 30.1.
Again, a k-matching x is perfect if xv = k for each vertex v. In charac-
terizing the existence, it is convenient to distinguish between the cases of k
odd and k even. Let IU denote the set of isolated (hence loopless) vertices of
G U.
Edmonds and Pulleyblank (see Pulleyblank [1973]) described the facets of the b-
matching polytope. Let G = (V, E) be a graph and let b ZV+ . Call G b-critical
if for each u V there exists a b-matching x such that x((u)) = b(u) 1 and
x((v)) = b(v) for each v = u.
Let G be simple and connected with at least three vertices and let b > 0. Then
an inequality x((v)) b(v) determines a facet of the b-matching polytope if and
only if b(N (v)) > b(v), and if b(N (v)) = b(v) + 1, then E[N (v)] = .
Moreover, an inequality x(E[U ]) 21 b(U ) determines a facet if and only if
G[U ] is b-critical and has no cut vertex v with b(v) = 1.
560 Chapter 31. b-matchings
Unlike in the matching case, the facet-inducing inequalities do not form a totally
dual integral system. The minimal TDI-system for the b-matching polytope was
characterized by Cook [1983a] and Pulleyblank [1981]. To describe this, call a graph
G = (V, E) b-bicritical if G is connected and for each u V there is a b-matching
x with x((u)) = b(u) 2 and x((v)) = b(v) for each v = u. Then a minimal TDI-
system for the b-matching polytope (if G is simple and connected and has at least
three vertices and if b > 0) is obtained by adding the following to the facet-inducing
inequalities:
(31.38) x(E[U ]) 21 b(U ) for each U V with |U | 3, G[U ] b-bicritical and
b(v) 2 for each v N (U ).
(The facets of the 2-matching polytope of a complete graph were also given by
Gr
otschel [1977b].)
The vertices of the 2-matching polytope are characterized by:
Berge [1978b] remarked that this theorem is equivalent to: a connected nonbi-
partite graph G is regularizable if and only if the only 2-vertex cover of size 2 (G)
is the all-1 vector (this follows with (30.2)).
With the help of b-matchings, one can also characterize k-regularizable graphs
graphs that can become k-regular by adding edges parallel to existing edges. Let
IU denote the set of isolated (hence loopless) vertices of G U .
Homan and Oppenheim [1978] showed that system (31.17) is locally strongly
modular; that is, each vertex of the b-matching polytope is determined by a linearly
independent set of inequalities among (31.17) (set to equality), where the matrix
in the system has determinant 1.
Johnson [1965] characterized the vertices of the fractional b-matching polytope.
Koch [1979] studied bases (in the sense of the simplex method) for the linear pro-
gramming problem of finding a maximum-weight b-matching.
Padberg and Wolsey [1984] described a strongly polynomial-time algorithm to
find for any vector x the largest such that x belongs to the b-matching polytope,
and to describe x as a convex combination of b-matchings.
b-matching algorithms are studied in the books by Gondran and Minoux [1984]
and Derigs [1988a].
Chapter 32
Capacitated b-matchings
Proof. To see that the maximum is not more than the minimum, let x
be a b-matching with x c and let U, W be disjoint subsets of V . Then
x(E[U ] (U )) b(U ) and x(E[W ]) c(E[W ]). Consider next a component
K of G U W . Then 2x(E[K]) + x(E[K, W ]) b(K) and x(E[K, W ])
c(E[K, W ]). Hence x(E[K] E[K, W ]) 21 (b(K) + c(E[K, W ])), and the
inequality follows.
The reverse inequality is proved by reduction to Theorem 31.1. Make a
new graph G = (V , E ) by replacing each edge of G by a path of length
three. That is, for each edge e = uv introduce two new vertices pe,u and pe,v
and three edges: upe,u , pe,u pe,v , and pe,v v.
Section 32.1. Capacitated b-matchings 563
Define b ZV+ by b (v) := b(v) if v V and b (pe,v ) := c(e) for any new
vertex pe,v . Then the maximum size of a b-matching x in G with x c is equal
to the maximum size of a b -matching in G , minus c(E). By Theorem 31.1,
there exists a subset U of V such that the maximum size of a b -matching
in G equals
(32.3) b (U ) + 12 b (K ),
K
Proof. As in the previous proof replace each edge by a path of length three,
yielding the graph G , and define b , and w similarly. Let x be a maximum-
weight perfect b -matching in G . Then for each edge e = uv of G one has
x (upe,u ) = c(e) x (pe,u pe,v ) = x (pe,v v). Defining xe := x (upe,u ) for each
edge e = uv of G, gives a maximum-weight b-matching x c.
Cook [1983b] and Cook and Pulleyblank [1987] determined the facets and the min-
imal TDI-system for the capacitated b-matching polytope.
Johnson [1965] extended Edmonds matching algorithm to an algorithm (not
based on reduction to matching) that finds a maximum-size capacitated b-matching,
with running time bounded by a polynomial in n, m, and b . Gabow [1983a]
gave an O(nm log n)-time algorithm for this.
Cunningham and Green-Kr otki [1991] showed the following. Let G = (V, E) be
a graph, let b ZV+ and c ZE+ . Then the convex hull of the integer vectors y b
for which there is a perfect y-matching x c is determined by the inequalities
568 Chapter 32. Capacitated b-matchings
(32.23) 0 y b,
k k
y( Ai ) y(B) (b(Ai ) 1) + c(E[A0 ]) + c(E[A0 , V \ B]),
i=0 i=1
where A0 and B are disjoint subsets of V and where A1 , . . . , Ak are some of the
components of GA0 B such that b(Ai )+c(E[A0 , Ai ]) is odd for each i = 1, . . . , k.
This characterizes the convex hull of degree-sequences of capacitated b-match-
ings, where the degree-sequence of x ZE is the vector y ZE defined by yv =
x((v)) for v V .
This generalizes the results of Balas and Pulleyblank [1989] on the matchable set
polytope (Section 25.5d) and of Koren [1973] on the convex hull of degree-sequences
of simple graphs (Section 33.6c below). See also Cunningham and Green-Kr otki
[1994] and Cunningham and Zhang [1992].
Chapter 33
Theorem 33.1. Let G = (V, E) be a graph and let b ZV+ . Then the maxi-
mum size of a simple b-matching is equal to the minimum value of
(33.1) b(U ) + |E[W ]| + 21 (b(K) + |E[K, W ]|),
K
taken over all disjoint subsets U, W of V , where K ranges over the compo-
nents of G U W .
Corollary 33.1a. Let G = (V, E) be a graph and let b ZV+ . Then G has a
b-factor if and only if for each partition T, U, W of V , the graph G[T ] has at
most
(33.2) b(U ) b(W ) + 2|E[W ]| + |E[T, W ]|
components K with b(K) + |E[K, W ]| odd.
(An algorithmic proof was given by Anstee [1985], yielding an O(n3 )-time al-
gorithm to find a b-factor. Tutte [1981] gave another proof and a sharpening.)
Proof. By Theorems 33.3 and 5.25, the system obtained from (33.5) by
setting (33.5)(ii) to equality, is TDI. Then each inequality (33.5) is a half-
integer sum of inequalities (33.4), and the theorem follows.
Corollary 33.3b. Let w ZE with w(C) even for each circuit C. Then the
problem of minimizing wT x subject to (33.4) has an integer optimum dual
solution.
Theorem 33.4. Given a graph G = (V, E), b ZV+ , and a weight function
w QE , a maximum-weight simple b-matching can be found in strongly
polynomial time.
Proof. We may assume that b(v) degG (v) for each v V , since replacing
b(v) by min{b(v), degG (v)} for each v does not change the problem.
572 Chapter 33. Simple b-matchings and b-factors
Theorem 33.5. Given a graph G = (V, E), b ZV+ , and a weight function
w QE , a minimum-weight b-factor can be found in strongly polynomial
time.
Proof. We may assume that b(v) degG (v) for each v V , since otherwise
there is no b-factor. Now the reduction techniques described in Chapters 31
and 32 yield a strongly polynomial reduction to the minimum-weight perfect
matching problem.
33.5. If b is constant
Again we can specialize the results above to k-matchings and k-factors, for
k Z+ . First we have for the maximum size of a simple k-matching:
taken over all disjoint subsets U, W of V , where K ranges over the compo-
nents of G U W .
Corollary 33.6a. A graph G = (V, E) has a k-factor if and only if for each
partition T , U , W of V , G[T ] has at most
(33.7) k(|U | |W |) + 2|E[W ]| + |E[T, W ]|
components K with k|K| + |E[K, W ]| odd.
Proof. Make an Eulerian tour in G, and colour the edges alternatingly red
and blue. Then the red edges form a k-factor.
Urquhart [1967] gave an O(b(V )n3 )-time algorithm for finding a maximum-weight
simple b-matching. This was improved by Gabow [1983a] to O(b(V )m log n) (by
reduction to the O(nm log n)-time algorithm of Galil, Micali, and Gabow [1982,
1986] for maximum-weight matching) and to O(b(V )n2 ). For maximum-size
sim-
ple b-matching, Gabow [1983a] gave algorithms of running time O( b(V ) m) (by
reduction to Micali and Vazirani [1980]) and to O(nm log n).
33.6b. Degree-sequences
k
n
(33.8) di k(k 1) + min{k, di }
i=1 i=k+1
for k = 1, . . . , n.
Havel [1955] gave the following recursive algorithm to decide if a sequence is the
degree-sequence of a simple graph. A sequence d1 d2 dn is the degree-
sequence of a simple graph if and only if 0 dn n 1 and d1 1, d2 1, . . . , ddn
1, ddn +1 , . . . , dn1 is the degree sequence of a simple graph.
Koren [1973] showed that the convex hull of degree-sequences of simple graphs
on a finite vertex set V is determined by:
(33.9) (i) xv 0 for each v V ,
(ii) x(U ) x(W ) |U |(|V | |W | 1) for disjoint U, W V .
If thegraph need not be simple (but yet is loopless), condition (33.8) can be replaced
by n i=2 di d1 , as can be shown easily (cf. Hakimi [1962a]). Related work was
done by Peled and Srinivasan [1989], who showed that system (33.9) is totally
dual integral and characterized vertices, facets, and adjacency on the polytope
determined by (33.9).
Kundu [1973] showed that if both sequences d1 dn k and d1 k
dn k 0 are realizable (as degree-sequence of a simple graph), then the
first sequence is realizable by a graph with a k-factor (answering a question of
Gr unbaum [1970]). See also Edmonds [1964] and Cai, Deng, and Zang [2000].
574 Chapter 33. Simple b-matchings and b-factors
Cook [1983b] and Cook and Pulleyblank [1987] determined the facets and the min-
imal TDI-system for the simple b-matching polytope. Hausmann [1978a,1981] char-
acterized adjacency on the simple b-matching polytope.
Lovasz [1972f] extended the Edmonds-Gallai decomposition to b-factors (cf.
Lovasz [1972e] and Graver and Jurkat [1980]). For a sharpening of Corollary 33.1a
by specializing T, U, W , see Tutte [1974,1978].
Fulkerson, Homan, and McAndrew [1965] showed the following. Let G = (V, E)
be a graph such that any two odd circuits have a vertex in common or are connected
by an edge. Let b ZV+ . Then G has a b-factor if and only if b(V ) is even and
(33.10) b(U ) + 2|E[W ]| + |E[T, W ]| b(W )
for each partition T, U, W of V (cf. Mahmoodian [1977]).
Baebler [1937] showed that any k-regular l-connected graph has an l-factor if k
is odd and l is even. Era [1985] proved the following conjecture of Akiyama [1982]:
for each k there exists a t such that for each r-regular graph G = (V, E) with
r t, E can be partitioned into E1 , . . . , Es with for each i = 1, . . . , s one has
k degEi (v) k + 1 for each vertex v.
Katerinis [1985] showed that if k , k, k are odd natural numbers with k
k k , then any graph G having a k -factor and a k -factor, also has a k-factor.
Related results are reported in Enomoto, Jackson, Katerinis, and Saito [1985].
Goldman [1964] studied augmenting paths for simple b-matchings by reduction
to 1-matchings. More on b-matchings and b-factors can be found in Bollob as [1978],
Tutte [1984], and Bollob as, Saito, and Wormald [1985].
Chapter 34
b-edge covers
Theorem 34.1. Let G = (V, E) be a graph without isolated vertices and let
b ZV+ . Then the maximum size of a b-matching plus the minimum size of a
b-edge cover is equal to b(V ).
(An alternative way of proving this is by applying Gallais theorem for the
case b = 1 directly to the graph Gb described in (31.2), obtained from G by
splitting any vertex v into b(v) vertices.)
With Theorem 34.1, we can derive a min-max relation for minimum-size
b-edge cover from that for maximum-size b-matching. Let IU denote the set
of isolated (hence loopless) vertices of G U .
Corollary 34.1a. Let G = (V, E) be a graph and let b ZV+ . Then the
minimum size of a b-edge cover is equal to the maximum value of
(34.4) b(IU ) + 21 b(K),
K
Given a graph G = (V, E) and b ZV+ , the b-edge cover polyhedron is the
convex hull of the b-edge covers. The inequalities describing the b-edge cover
polyhedron can be easily derived from the description of the edge cover poly-
tope, similar to Theorem 31.2.
Theorem 34.2. Let G = (V, E) be a graph and let b ZV+ . Then the b-edge
cover polyhedron is determined by the inequalities
(34.5) (i) xe 0 (e E),
(ii) x((v)) b(v) (v V ),
(iii) x(E[U ] (U )) 12 b(U ) (U V, b(U ) odd).
Theorem 34.3. Let G = (V, E) be a graph, b ZV+ , and w ZE+ . Then the
minimum weight wT x of a b-edge cover x is equal to the maximum value of
(34.7) yv b(v) + zU 12 b(U ),
vV U V
P(V )
where y ZV+ and z Z+ satisfy
(34.8) yv (v) + zU E[U ](U ) w.
vV U V
Theorem 34.4. For any graph G = (V, E), b ZV+ , and weight function
w QE , a minimum-weight b-edge cover can be found in strongly polynomial
time.
34.5. If b is even
The results can be simplified if b is even. In that case, the proofs can be
reduced to the bipartite case.
Minimum-size 2b-edge cover relates to maximum-weight 2-stable set, tak-
ing b as weight. Here a 2-stable set is a function y ZV+ with yu + yv 2 for
each edge uv.
Theorem 34.5. Let G = (V, E) be a graph and let b ZV+ . Then the min-
imum size of a 2b-edge cover is equal to the maximum value of y T b where y
is a 2-stable set; equivalently, to the maximum value of
(34.11) b(V ) + b(S) b(N (S)),
taken over stable sets S.
34.6. If b is constant
The above results can also be specialized to k-edge covers, for k Z+ . That
is, b is constant.
Let G = (V, E) be a graph and let k Z+ . A k-edge cover is a function
x ZE + with x((v)) k for each vertex v. Thus if we identify k with the all-k
Section 34.7. Capacitated b-edge covers 579
Theorem 34.7. Let G = (V, E) be a graph and let k Z+ . Then the mini-
mum size of a k-edge cover is equal to the maximum value of
(34.12) k|IU | + 12 k|K|,
K
Note that it follows that if k is even, we need not round, and hence the
minimum size of a k-edge cover is equal to 12 k times the minimum-size of a
2-edge cover.
taken over all pairs T, U of disjoint subsets of V , where K ranges over the
components of G[T ].
Proof. Define b (v) := c((v)) b(v) for each v V . Then by Theorem 32.1,
(34.14) minimum size of a b-edge cover x c
=c(E)maximum size of a b -matching x c
= c(E) min (b (U ) + c(E[W ])
T,U,W
1
+ 2 (b (K) + c(E[K, W ])))
K
= max c(E) 2c(E[U ]) c((U )) + b(U ) c(E[W ])
T,U,W
21 (2c(E[K]) + c((K)) b(K) + c(E[K, W ]))
K
= max b(U ) c(E[U ]) + 12 (b(K) c(E[K, U ]))
T,U,W
K
580 Chapter 34. b-edge covers
Proof. From Theorem 32.3, with the substitutions as given in the proof of
the previous theorem.
Proof. From Theorem 32.4, with the construction given in the proof of The-
orem 34.8.
Theorem 34.12. Let G = (V, E) be a graph and let b ZV+ with b(v)
deg(v) for each v V . Then the minimum size of a simple b-edge cover is
equal to the maximum value of
(34.17) b(U ) |E[U ]| + 21 (b(K) |E[K, U ]|),
K
taken over all pairs T, U of disjoint subsets of V , where K ranges over the
components of G[T ].
The simple b-edge cover polytope is the convex hull of the simple b-edge
covers in G.
Theorem 34.14. System (34.18) is totally dual integral after deleting the
parity condition in (iii).
Theorem 34.15. Given a graph G = (V, E), b ZV+ , and a weight function
w QE , a minimum-weight simple b-edge cover can be found in strongly
polynomial time.
582 Chapter 34. b-edge covers
The results of the previous section hold more generally for capacitated b-matchings.
Let G = (V, E) be a graph, let b ZV+ and let c ZE+ with b(v) c((v)) for each
v V . Define
(34.26) c (b) := the maximum size of a b-matching x c,
c (b) := the minimum size of a b-edge cover x c.
Then:
(34.27) c (b) + c (b) = b(V ).
To see this, consider a maximum-size b-matching x c. We can increase x to obtain
a b-edge cover y c, in such a way that y(E) x(E) + vV (b(v) x((v))) =
b(V ) x(E). So c (b) b(V ) x(E) = b(V ) c (b).
To see the reverse inequality, consider a minimum-size b-edge cover y c.
can decrease y to obtain a b-matchingc x y such that x(E) y(E)
We
c
vV (y((v)) b(v)) = b(V ) y(E). So (b) b(V ) y(E) = b(V ) (b),
which shows (34.27).
Again, there is a second relation between capacitated b-matchings and capaci-
tated b-edge covers. Define b(v) := c((v)) b(v) for each v V . Then trivially (by
replacing x by c x),
(34.28) c (b) + c (b) = c(E).
Combining (34.27) and (34.28) gives as in (34.25):
(34.29) b(V ) 2 c (b) = b(V ) 2 c (b) = 2c (b) b(V ) = 2c (b) b(V ).
So the deficiency of a maximum-size b-matching x c is equal to the surplus of
a minimum-size b-edge cover y c, and this parameter is invariant under replacing
b by b := c b.
Chapter 35
Proof. The construction in the proof of Theorem 35.1 reduces this to Theo-
rem 32.4.
The left-hand sides add up to the left-hand side of (35.11), and the right-hand
side to the unrounded right-hand side of (35.11).
To see suciency of (35.11), we may assume that d = 0. Indeed, the
theorem is invariant under resetting a(v) := a(v) d((v)), and b(v) :=
b(v) d((v)) for all v V , and c := c d and d := 0. Then, as above, we
can reduce the theorem to Corollary 32.2a characterizing the convex hull of
capacitated b-matchings.
Let x satisfy (35.1) and (35.11). Let R, G , b , and c be as in the proof
of Theorem 35.1. Define x (e) := xe for each e E, x (vv0 ) := b(v) x((v))
for each v R, and x (v0 v0 ) := 2x(E).
We show that x belongs to the c -capacitated perfect b -matching poly-
tope (with respect to G ). This implies that x belongs to the convex hull of
vectors x ZE+ satisfying (35.1).
By Corollary 32.2a, it suces to check
(35.13) (i) 0 x (e ) c (e ) (e E ),
(ii) x ( (v )) = b (v ) (v V ),
(iii) x ( (U ) \ F ) x (F ) 1 c (F )
(U V , F (U ) with
b (U ) + c (F ) odd).
(35.13)(i) and (ii) are direct. To see (35.13)(iii), let U V and F (U )
with b (U )+c (F ) odd. We may assume that v0 U (as we can replace U by
its complement, since b (V ) = 2b(V ) is even). Let W := {v V | vv0 F }
and U := V \ (U W ). Let F := F E and H := E (U W ) \ F .
Now b (U ) = b(V ) + b(V \ (U W )) and c (F ) = c(F ) + (b a)(W ). So
b (U ) + c (F ) odd implies that b(U ) a(W ) + c(F ) is odd. So by (35.11),
Corollary 35.3a. Let G = (V, E) be a graph and let a, b ZV+ . Then the
convex hull of those x ZE satisfying
(35.16) (i) xe 0 for each e E,
(ii) a(v) x((v)) b(v) for each v V ,
is determined by (35.16) together with the inequalities:
(35.17) x(E[U ]) x(E[W ]) x((W ) \ (U )) 12 (b(U ) a(W )),
where U and W are disjoint subsets of V with b(U ) a(W ) odd.
We note that for the V E incidence matrix M of any graph G = (V, E),
any a, b ZV , d, c ZE , and any k, l Z one has:
Section 35.3. Total dual integrality 589
and
590 Chapter 35. Upper and lower bounds
(35.26) 12 (b (U ) + c (F )) = 21 (b (U ) + 2b (U ) + c (F ))
= 12 (b (U ) + c (F )) + b (v),
vU
(35.27) x (E [U ]) + x (F ) 12 (b (U ) + c (F ))
is a sum of
(35.28) x (E [U ]) + x (F ) 12 (b (U ) + c (F ))
and of x ( (v)) = b (v) for v U . So we can assume that v0 U .
Now adding an integer multiple of a valid equality to another constraint,
maintains total dual integrality. So using (35.23)(ii) we can replace (35.23)(i)
by:
(35.29) 0 x (e) c(e) (e E),
a(v) x ((v)) b(v) (v V ),
since for v R, subtracting x ( (v)) = b(v) from 0 x (vv0 ) b(v) a(v)
gives b(v) x ((v)) a(v).
For U V and F (U ), let W := {v V | vv0 F } and F :=
F E. As
(35.30) x (E [U ]) + x (F ) x ( (v))
vW
= x (E [U ]) + x (F ) 2x (E[W ]) x ((W ))
= x (E [U \ W ]) + x (F ) x (E[W ]) x ((W ) \ (U \ W ))
and
(35.31) 12 (b (U ) + c (F )) b(W ) = 21 (b(U \ W ) a(W ) + c(F )),
we can replace (35.23)(iii) by (taking U := U \ W ):
(35.32) x (E [U ]) + x (F ) x (E[W ]) x ((W ) \ (U )) 21 b(U ) a(W )
+c(F ) for U, W V with U W = and for F (U W ).
Each of the variables x (vv0 ) (v R) and x (v0 v0 ) occurs exactly once in the
system, in an equality constraint, with coecient 1. So we can delete these
variables maintaining total dual integrality (Theorem 5.27), and we obtain
system (35.22).
As special cases one can derive the total dual integrality of the systems
corresponding to d = 0, c = and to d = 0, c = 1 (the subgraph polytope).
Section 35.4a. Further results on subgraphs with prescribed degrees 591
Corollary 35.1b of Lovasz [1970c] implies the following. Let G = (V, E) be a graph
and let b, b ZV+ with b + b > degG . Then E can be partitioned into a simple
b-matching and a simple b -matching if and only if
(35.33) |E[U, W ]| b(U ) + b (W )
for each pair of disjoint subsets U and W of V .
This corresponds to the case a < b in Corollary 35.1b, by taking a := degG b .
Then there are no components K with a(K) = b(K).
The condition can be equivalently described as:
(35.34) max{0, a(v) degGU (v)} b(u)
v
U
for U V .
This implies the following result of Lov
asz [1970c]:
(35.35) Let G = (V, E) be a graph of maximum degree k and let k1 , k2 0 with
k1 + k2 = k + 1. Then E can be partitioned into a simple k1 -matching
and a simple k2 -matching
(since |E[U, W ]| (k1 + k2 ) min{|U |, |W |} k1 |U | + k2 |W |). A special case is a
result noted by Tutte [1978]: for all 0 r k, each k-regular graph has a subgraph
in which each degree belongs to {r, r + 1}.
Thomassen [1981a] gave the following short direct proof of (35.35). In fact he
proved the following extension of (35.35):
(35.36) Let G = (V, E) be a graph in which each vertex has degree k or k + 1
and let 1 k < k. Then G has a subgraph G = (V, E ) in which each
vertex has degree k or k + 1.
Note that (35.35) follows from this by embedding G into a k-regular graph.
To prove (35.36), it suces to prove the case k = k 1. Let U be the set of
vertices of degree k + 1 in G. We can assume that deleting any edge of G results
in a vertex of degree less than k. Hence no two distinct vertices in U are adjacent.
There may be loops at the vertices in U ; let W be the set of those vertices in U
that are not incident with a loop. Since each vertex in W has degree k + 1 and each
vertex in V \ U has degree k, by Halls marriage theorem, G contains a matching M
connecting W to V \ U . Now deleting the edges in M and deleting, for each vertex
v U \ W , one of the loops attached at v, gives a graph G as required.
A dual consequence was noted by Gupta [1978]:
(35.37) Let G = (V, E) be a graph of minimum degree and let 1 , 2 0
with 1 + 2 = 1. Then E can be partitioned into E1 and E2 such
that Gi = (V, Ei ) has minimum degree at least i for i = 1, 2.
Gupta [1978] mentioned that the following direct derivation from Theorem 20.6
was shown to him by C. Berge:
Apply induction on 1 , the case 1 = 0 being trivial. If 1 > 0, by the induction
hypothesis E can be partitioned into E1 and E2 such that (G1 ) 1 1 and
592 Chapter 35. Upper and lower bounds
integers, for which Cornuejols [1988] gave a polynomial-time algorithm, and Sebo
[1993b] a good characterization.
For algorithms to find subgraphs of minimum deviation see Hell and Kirkpatrick
[1993]. Other work on subgraphs with prescribed degrees includes Berge and Las
Vergnas [1978], Shiloach [1981], Kano and Saito [1983], Akiyama and Kano [1985a],
Kano [1985,1986], Anstee [1990], Cai [1991], and Li and Cai [1998]. A survey is
given by Akiyama and Kano [1985b].
Bidirected graphs
Theorem 36.2. Let a b and d < c. Then there exists an integer vector x
satisfying (36.2) if and only if for each partition T , U , W of V , the number
of components K of G[T ] with b(K) = a(K) and
(36.6) b(K) + c(E[K, W + ]) + c(E[K, U ]) + d(E[K, U + ]) + d(E[K, W ])
odd is at most
T T
(36.7) y+ b + y a (y T M ) c (y T M )+ d,
where y := U W .
On the other hand, for each component K of G[T ] one has (x d)((K)) 0.
Moreover, if b(K) = a(K) and (36.6) is odd, then (x d)((K)) is odd, since
(36.9) (x d)((K)) (x d)((K)) + 2x(E[K]) b(K) + d((K))
(mod 2)
So (x d)((T )) is not less than the number of components K of G[T ] with
a(K) = b(K) and (36.6) odd, showing necessity of the condition.
To show suciency, we can assume that G has no negative edges, since
we can multiply columns of M by 1. We show suciency by induction
on the number of directed edges. If this number is 0, the theorem reduces
to Theorem 35.1. So we can assume that there is an edge f = su with
f,s = 1 and f,u = +1. Then we apply construction (36.3), to obtain
G = (V , E ), M , a , b , d , c .
Now there exists an integer vector x satisfying d x c and a M x b
if there exists an integer vector x satisfying d x c and a M x b .
So we can assume that no such x exists. By induction (as G has fewer
directed edges than G), we know that V can be partitioned into T , U , and
W such that the number of components K of G [T ] with b (K ) = a (K )
and
Section 36.2. Convex hull 597
+ +
(36.10) b (K ) + c (E [K , W ]) + c (E [K , U ]) + d (E [K , U ])
+ d (E [K , U ])
odd, is more than
T T T T
(36.11) y + b + y a (y M ) c (y M )+ d ,
where y := U W .
T
Since c (st) = we know that (y M )st 0, that is, ys + yt 0.
T
Similarly, since d (st) = we know that (y M )st 0, that is, ys +yt 0.
So ys = yt , and hence either s U , t W , or s W , t U , or s, t T .
Also the convex hull of the integer solutions of (36.2) can be characterized
(where we do not assume d < c):20
Theorem 36.3. The convex hull of the integer solutions of (36.2) is deter-
mined by
(36.12) (i) d x c,
(ii) a M x b,
1 U W F H
(iii) 2 (( )M + )x
1
2 (b(U ) a(W ) + c(F ) d(H))
for U, W V with U W = ,
and for partitions F, H of (U W )
with b(U ) a(W ) + c(F ) d(H) odd.
Corollary 36.3a. The convex hull of the integer solutions of (36.15) is de-
termined by (36.15) together with the constraints
(36.16) x((U ) \ F ) x(F ) 1 c(F )
where U V and F (U ) with b(U ) + c(F ) odd.
System (36.12) generally is not totally dual integral (cf. the example in Sec-
tion 30.5). However, if we delete the parity condition in (36.12)(iii):
Section 36.3. Total dual integrality 599
(36.17) (i) d x c,
(ii) a M x b,
1 U W F H
(iii) 2 (( )M + )x
1
2 (b(U ) a(W ) + c(F ) d(H))
for U, W V with U W = and for partition
F, H of (U W ),
we obtain a totally dual integral system:
Proof. Again we can assume that there are no negative edges, and apply
induction on the number of directed edges of G. If there is no directed edge,
the theorem reduces to Theorem 35.4. If there is a directed edge f = su, we
again construct G = (V , E ), M , a , b , d , c as in (36.3).
Let and be the systems for G, a, b, c, d, and for G , a , b , c ,
d , respectively. By induction we know that is totally dual integral. Now
the constraint x (st) + x (tu) = 0 belongs to . This implies the total dual
integrality of the system obtained from by adding an integer multiple
of x (st)+x (tu) = 0 to any other constraint of so as to make the coecient
of the variable x (st) equal to 0.
Now deleting the constraints x (st) + x (tu) = 1 and the variable x (st)
from , identifying x (e) = x(e) for all e E \ {f }, and identifying x (tu) =
x(f ), gives again a totally dual integral system. We show that it is system .
Indeed, a M x b becomes a M x b. Similarly, for each e
E \ {f }, d (e) x (e) c (e) becomes d(e) xe c(e), and d (tu)
x (tu) c (tu) becomes d(f ) x(f ) c(f ), while d (st) x (st) c (st) is
void (as the bounds are and +).
Consider next the following inequality of :
U
(36.18) 1
2 (( W )M + F H )x
21 (b (U ) a (W ) + c (F ) d (H )),
where U and W are disjoint subsets of V and where F and H partition
(U W ).
Since c (st) = , d (s, t) = , we know that st (U W ). Consider
the coecient of x (st) in (36.18). If this coecient is 0, (36.18) reduces to
(36.17)(iii). If this coecient is positive, then s, t U . Set U := U \ {t}
and W := W {t}. Then in , (36.18) becomes (by subtracting x (st) +
x (tu) = 0):
U
(36.19) 1
2 (( W )M + F H )x
21 (b (U ) a (W ) + c (F ) d (H ))
(since b (t) = a (t) = 0). In (36.19), the coecient of x (st) is 0, and hence
(36.19) reduces to (36.17)(iii).
We proceed similarly if the coecient of x (st) in (36.18) is negative.
600 Chapter 36. Bidirected graphs
Proof. This follows from the fact that each inequality in (36.17) is a half-
integer nonnegative combination of inequalities in (36.12).
Corollary 36.4c. Let w ZE with w(C) even for each circuit C. Then the
problem of minimizing wT x subject to (36.20) has an integer optimum dual
solution.
U of V with {e
Proof. If w(C) is even for each circuit, there is a subset
E | w(e) odd} = (U ). Now replace w by w := w + vU MvT , where Mv
denotes row v of M . Then w (e) is an even integer for each edge e. Hence
by Corollary 36.4b there is an integer optimum dual solution yv (v V ), zU
T
(U V , b(U ) odd) for the problem of minimizing w x subject to (36.20).
Now setting yv := yv 1 if v U and yv := yv if v U gives an integer
optimum dual solution for w.
We are not yet at the end of our self-refining trip. As was observed by Ed-
monds and Johnson [1973], the results can be generalized even further by
including parity constraints. This can be reduced to the previous case by
adding loops at the vertices at which there is a parity constraint.
Let G = (V, E, ) be a bidirected graph and let M be the V E incidence
matrix of G. (For definitions and terminology, see Section 36.1.) Let a, b ZV
and d, c ZE and let S odd and S even be two disjoint subsets of V . We consider
integer solutions x of:
Section 36.4. Including parity conditions 601
(36.21) (i) d x c,
(ii) a M x b,
(iii) (M x)v is odd if v S odd ,
(iv) (M x)v is even if v S even .
The problem of finding a maximum-weight integer vector x satisfying
(36.21) can be easily reduced to the special case without parity constraints,
discussed in the previous chapter:
Theorem 36.6. Assume (36.22) and that d < c. Then there exists an integer
vector x ZE satisfying (36.21) if and only if for each partition T , U , W of
V , the number of components K of G[T ] contained in S odd S even and with
(36.23) |K S odd | + c(E[K, W + ]) + c(E[K, U ]) + d(E[K, U + ])
+ d(E[K, W ])
odd is at most
T T
(36.24) y+ b + y a (y T M ) c (y T M )+ d,
where y := U W .
for v Leven . Define d (e) := d(e) and c (e) := c(e) for each e E. For each
loop l at v L, define d (l) := 21 (b (v) b(v)) and c (l) := 12 (a (v) a(v)).
Now there exist an integer vector x satisfying (36.21) if and only if there
exists an integer vector x ZE satisfying d x c and a M x b .
So we should show that the conditions given in the present theorem imply
those given in Theorem 36.2 (for the modified structure). (Since in Theorem
36.2 the condition d < c is required, we had to exclude loops at vertices in
S \ L.)
To this end, let T , U , W partition V . Then any component K of G [T ]
with b (K) = a (K) and
(36.25) b (K) + c (E [K, W + ]) + c (E [K, U ]) + d (E [K, U + ])
+ d (E[K, W ])
odd, is a component of G[T ] contained in S, with |K S odd | + c(E[K, W + ]) +
c(E[K, U ])+d(E[K, U + ])+d(E[K, W ]) odd (note that a (v) = b (v)
v S, and that b (K) |K S odd | mod 2). Moreover, for y := U W one
has
T T
(36.26) y+ b + y a (y T M ) c (y T M )+ d
T T
= y+ b + y a (y T M ) c (y T M )+ d,
since
T
(36.27) y+ b = b (U ) = b(U \ L) + |U Lodd |,
y a = a (W ) = a(W \ L) |W Lodd |,
T
(y T M ) c = (y T M ) c 2( 12 (a (W L) a(W L)))
= (y T M ) c |W Lodd | + a(W L),
(y T M )+ d = (y T M )+ d + 2( 21 (b (U L) b(U L)))
= (y T M )+ d + |U Lodd | b(U L).
One can similarly derive the following two further orientation results of
Frank, Tardos, and Seb
o [1984].
Theorem 36.7. Assuming (36.22), the convex hull of the integer solutions
of (36.21) is determined by (36.21)(i) and (ii), together with the constraints
U
(36.38) 1
2 (( W )M + F H )x 21 (b(U ) a(W ) + c(F ) d(H)),
where U and W are disjoint subsets of V \ S and where F and H partition
(U W R) for some R S with |R S odd | + b(U ) a(W ) + c(F ) d(H)
odd.
Corollary 36.7a. Let G = (V, E) be a graph. Then the convex hull of the vectors
F where F is the edge set of the union of a number of vertex-disjoint circuits is
given by:
(36.41) (i) 0 xe 1 (e E),
(ii) x((v)) 2 (v V ),
(iii) x((U ) \ F ) x(F ) 1 |F | (U V , F (U ),|F | odd).
Proof. This follows directly from Theorem 36.7, since x is an incidence vector F
of the edge set of a vertex-disjoint union of disjoint circuits if and only if (36.41)(i)
and (ii) are satisfied, together with: x((v)) even for each v V . So we can take
a = 0, b = 2, d = 0, c = 1, S even = V , and S odd = . In particular, U and W are
empty in (36.38).
Note that Corollaries 29.2e and 36.7a imply that the polytope described in
Corollary 36.7a is obtained from the -join polytope by adding the constraint
(36.41)(ii).
This has as consequence Corollary 29.2f (due to Seymour [1979b]) characterizing
the circuit cone. Given a graph G = (V, E), the circuit cone is the cone in RE
generated by the incidence vectors of circuits. This cone is determined by:
(36.42) (i) xe 0 for each e E,
(ii) x(D) 2xe for each cut D and e D.
To prove this, we may assume (by scaling) that x(E) 1. Then (36.42)(ii) implies
(36.41)(iii), and hence the characterization follows from Corollary 36.7a.
(36.43) (i) d x c,
1 1 1
(ii) 2 av 2 (M x)v 2 bv , for v S,
(iii) av (M x)v bv , for v T ,
1 U W F H
(iv) 2 (( )M + )x
1
2 (b(U ) a(W ) + c(F ) d(H) ),
where U and W are disjoint subsets of T , where F and H partition (U
W R) for some R S, and where {0, 1} such that |R S odd | +
b(U ) a(W ) + c(F ) d(H) (mod 2).
where R := (U W ) S.
The results on the convex hull in this chapter (and in previous chapters) can be
interpreted in terms of the so-called Chvatal rank of a system of inequalities or of
a matrix. (This relates to the cutting planes reviewed in Section 5.21.)
For any polyhedron P , let PI denote the integer hull of P , that is, the convex
hull of the integer vectors in P . If P is a rational polyhedron, then PI is again a
rational polyhedron. This polyhedron can be approached as follows.
Define for any polyhedron P , the set P by:
(36.51) P := HI ,
HP
where H ranges over all rational ane halfspaces containing P as a subset. Here
an ane halfspace is a set of the form
(36.52) H = {x Rn | wT x }
for some nonzero w Rn and some R. It is rational if w and are rational. So
trivially (since P H PI HI ):
(36.53) P P PI .
Note that if H is as in (36.52) and w is integer, with relatively prime components,
then
(36.54) HI = {x Rn | wT x }.
So P arises from P by adding a first round of cuts. Observe that if P = {x |
M x b} for some rational m n matrix M and some vector b Qm , then in
(36.51) we can restrict the ane hyperplanes H to those for which there exists a
vector y Qm T
+ with y M integer and nonzero and
(36.55) H = {x | (y T M )x y T b}
(by Farkas lemma).
It can be shown that P is a rational polyhedron again. To P we can apply
this operation again, and obtain P = (P ) . We thus obtain a series of polyhedra
P , P , P ,. . . , P (t) , . . ., satisfying
(36.56) P P P P (t) PI .
Now Chv atal [1973a] (cf. Schrijver [1980b]) showed that for each polyhedron P
there is a finite t with P (t) = PI . The smallest such t is called the Chv
atal rank of
P.
608 Chapter 36. Bidirected graphs
It can be proved more strongly (Cook, Gerards, Schrijver, and Tardos [1986])
that for each rational matrix M there is a finite value t such that the polyhedron
P := {x | M x b} has Chv atal rank at most t, for each integer vector b (of
appropriate dimension). The smallest such t is called the Chv atal rank of M . So
each totally unimodular matrix has Chv atal rank 0.
The strong Chv atal rank of M is, by definition, the Chv
atal rank of the matrix
I
I
(36.57) M .
M
So the strong Chv atal rank of M is the smallest t such that for all integer vectors
d, c, a, b the polyhedron {x | d x c, a M x b} has Chv atal rank at most
t. So M is totally unimodular if and only if M is integer and has strong Chv atal
rank 0 (this is the Homan-Kruskal theorem).
Theorem 36.3 implies that the V E incidence matrix of a bidirected graph
has strong Chv atal rank at most 1. (Matrices of strong Chv
atal rank at most 1 are
said in Gerards and Schrijver [1986] to have the Edmonds-Johnson property.)
Proof. We must show that for each integer d, c, a, b, one has P = PI for P := {x |
d x c, a M x b}. This follows from
(36.58) P {x P | y {0, 12 }n : y T M Zn y T M x y T b}
= PI P ,
where the equality follows from Theorem 36.3.
It is generally not true that also the transpose M T of these matrices have Chv
atal
rank at most 1, as is shown by the incidence matrix M of the complete graph K4 .
In Section 68.6c we shall study the Chv atal rank of such matrices M T .
Naddef [1982] gave a min-max formula for the dimension of the perfect match-
ing polytope. By the work of Edmonds, Lov asz, and Pulleyblank [1982], it is
equivalent to the following.
Let G = (V, E) be a graph and let E0 be the set of edges covered by at
least one perfect matching. Defining G0 := (V, E0 ), one trivially has:
(37.1) dim(Pperfect matching (G)) = dim(Pperfect matching (G0 )).
So when investigating the dimension of the perfect matching polytope, we
can confine ourselves to matching-covered graphs, that is, to graphs in which
each edge is contained in at least one perfect matching.
A further reduction can be obtained by considering tight cuts. A cut C is
called odd if C = (U ) for some U V with |U | odd. A cut C is called tight
if it is odd and each perfect matching intersects C in exactly one edge.
Let G = (V, E) be a graph and let U V . Recall that G/U denotes the
graph obtained from G by contracting U to one vertex, which vertex we will
call U . In the obvious way, we will consider the edge set of G/U as a subset
of the edge set of G. Hence, for any x RE , we can speak of the projection
of x to the edges of G/U .
610 Chapter 37. The dimension of the perfect matching polytope
Theorems 37.1 and 37.2 describe the decomposition of the dimension prob-
lem. We now aggregate these results.
For any cut C, any set U with C = (U ) is called a shore of C. Two cuts
C and C are called cross-free if they have shores U and U that are disjoint.
A collection F of cuts is cross-free if each two cuts in F are cross-free.
Let F be a cross-free collection of nontrivial cuts. An F-contraction of G
is a graph obtained from G by choosing a U0 V with (U0 ) F, contracting
U0 , and contracting each maximal proper subset U of V \ U0 with (U ) F.
One easily checks that, if G is connected, there exist precisely |F| + 1
F-contractions. Let nonbipG (F) denote the number of F-contractions that
are nonbipartite.
Section 37.2. The perfect matching space 611
Proof. The corollary follows directly by induction from Theorems 37.1 and
37.2, as follows.
If F = , then (37.4) follows from Theorem 37.2. If F = , choose a cut
(U ) F. Let G1 := G/U and G2 := G/U (where U := V \ U ). Then G1
and G2 are connected and matching-covered again.
Let F1 be the set of cuts in F that have a shore properly contained in
V \ U and let F2 be the set of cuts in F that have a shore properly contained
in U .
Then F1 forms an inclusionwise maximal cross-free collection of nontrivial
tight cuts in G1 . So inductively
(37.5) dim(Pperfect matching (G1 )) = |EG1 | |V G1 | nonbipG1 (F1 ) + 1.
Similarly,
(37.6) dim(Pperfect matching (G2 )) = |EG2 | |V G2 | nonbipG2 (F2 ) + 1.
Now each F-contraction of G is an Fi contraction of Gi for exactly one
i {1, 2}. Hence
(37.7) nonbipG (F) = nonbipG1 (F1 ) + nonbipG2 (F2 ).
Since moreover |EG| = |EG1 |+|EG2 ||(U )| and |V G1 |+|V G2 | = |V G|+2,
we obtain (37.4) with Theorem 37.1.
Proof. The dimension of the perfect matching space is 1 more than the
dimension of the perfect matching polytope. So the corollary follows from
Corollary 37.2a.
With the help of the description of the perfect matching polytope we can
similarly describe the perfect matching space in terms of equations:
Proof. Condition (37.10) clearly is necessary for each vector x in the perfect
matching space. To see suciency, let x RE satisfy (37.10). We can assume
that G has at least one perfect matching.
By adding suciently many incidence vectors of perfect matchings to x,
we can achieve that xe 0 for each edge e, and xe > 0 for at least one edge
e, and x(C) x((v)) for each odd cut C and each vertex v. By scaling we
can achieve that x((v)) = 1 for each v V . Then x belongs to the perfect
matching polytope of G, and hence to the perfect matching space.
37.5. Braces
A bipartite graph G = (V, E), with colour classes U and W , is called a brace
if G is matching-covered with |V | 4 and for all distinct u, u U and
w, w W , the graph G u u w w has a perfect matching.
By Halls marriage theorem (Theorem 22.1), a connected bipartite graph
G = (V, E) with equal-sized colour classes U and W is a brace if and only if
for each subset X of U with 1 |X| |U | 2 one has
(37.12) |N (X)| |X| + 2.
Proof. Let G = (V, E) be a brace with colour classes U and W , and suppose
that (T ) is a nontrivial tight cut. As |T | is odd, by symmetry we can assume
that |U T | < |W T |.
Then |U T | = |W T |1, since there exists a perfect matching intersect-
ing (T ) in exactly one edge. Since (T ) is nontrivial, 1 |U T | |U | 2.
Moreover, there is no edge e connecting U T and W \ T . Otherwise this
e would be contained in a perfect matching M . This perfect matching also
contains an edge connecting U \ T and W T , contradicting the tightness of
(T ).
So N (U T ) W T , and hence |N (U T )| |U T | + 1, contradicting
(37.12).
37.6. Bricks
Proof. Let G = (V, E) be a brick, and suppose that it has a nontrivial tight
cut C0 . Let C be the collection of odd cuts in G.
For any b QV , consider the linear program
(37.13) minimize (b(u) + b(v))xe
e=uvE
subject to x(C) 1 (C C),
xe 0 (e E).
and its dual
Section 37.6. Bricks 615
(37.14) maximize y(C)
CC
subject to y(C) b(u) + b(v) (e = uv E),
Ce
y(C) 0 (C C).
We first show:
(37.15) there exist y QC+ and b QV+ such that y(C) b(u) + b(v)
Ce
for each edge e = uv, and such that y(C) = b(V ) and y(C0 ) > 0.
To prove this, define w = C0 (the incidence vector of C0 in RE ). As C0
is tight, the maximum of w(M ) over perfect matchings M is equal to 1.
Hence, by Edmonds perfect matching polytope theorem (Theorem 25.1) and
by linear programming duality, there exists a vector z QC such that
(37.16) (i) z(C) w(e) for each edge e,
Ce
(ii) z(C) 0 if C is nontrivial,
(iii) z(C) = 1.
For v V , define b(v) := z((v)) if z((v)) < 0, and b(v) := 0 otherwise.
For C C, define y(C) := z(C) if z(C) > 0, and y(C) := 0 otherwise. Then
(37.16) implies:
(37.17) (i) b(u) + b(v) y(C) + w(e) for each edge e = uv,
Ce
(ii) b 0, y 0,
(iii) b(V ) = y(C) + 1.
So resetting y(C0 ) := y(C0 ) + 1 gives b and y as required in (37.15), proving
(37.15).
This implies:
(37.18) for some vector b ZV+ there exists an integer optimum solution
y ZC+ of (37.14) such that y(C0 ) 1.
Indeed, in (37.15) we can assume (by scaling) that b and y are integer. Then
by the properties described in (37.15), y is a feasible solution of (37.14). Since
the maximum in (37.13) is at least b(V ) (as any perfect matching M satisfies
w(M ) = b(V )), and since y(C) = b(V ), we know that y is an optimum solution
of (37.14). This proves (37.18).
Now fix a b as in (37.18), with b(v) minimal. Then
(37.19) for any optimum solution y of (37.14) and any C C one has
that if y(C) > 0, then C is tight.
Indeed, any perfect matching M attains the maximum (37.13) (as the max-
imum value equals b(V )). So if y(C) > 0, by complementary slackness,
|M C| = 1. This shows (37.19).
616 Chapter 37. The dimension of the perfect matching polytope
This chapter is devoted to giving a proof of the deep theorem of Lov asz
[1987] characterizing the perfect matching lattice of a graph the lattice
generated by the incidence vectors of perfect matchings.
We summarize concepts and results from previous chapters that we need in
the proof. Let G = (V, E) be a graph. The following notions will be used:
A cut C in G is tight if each perfect matching intersects C in exactly
one edge.
A cut C is trivial if C = (v) for some vertex v.
G is matching-covered if each edge is contained in a perfect matching.
G is bicritical if for each two distinct vertices u and v, the graph Guv
has a perfect matching.
G is a brick if it is 3-connected and bicritical and has at least 4 vertices.
A subset B of V is a barrier if G B has at least |B| odd components. A
maximal barrier is an inclusionwise maximal barrier. A nontrivial barrier
is a barrier B with |B| 2.
Moreover, the following results will be used:
the perfect matching lattice of a bipartite graph is equal to the set of
integer vectors in the perfect matching space (this is an easy consequence
of Konigs edge-colouring theorem, see Theorem 20.12).
Any two distinct inclusionwise maximal barriers in a connected matching-
covered graph are disjoint (Corollary 24.11a).
A graph is a brick if and only if it is nonbipartite and matching-covered
and has no nontrivial tight cuts (a consequence of Theorem 37.8).
A graph is bicritical if and only if it has no nontrivial barrier (a conse-
quence of Tuttes 1-factor theorem (Corollary 24.1a)).
Throughout this chapter, U denotes the complement of U .
The perfect matching lattice (usually briefly the matching lattice) of a graph
G = (V, E) is the lattice generated by the incidence vectors of perfect match-
ings in G; that is,
(38.1) Lperfect matching (G) := lattice{M | M perfect matching in G}.
620 Chapter 38. The perfect matching lattice
Proof. Inspection of the Petersen graph (cf. Figure 38.1) shows that each
edge of G is contained in exactly two perfect matchings, that (hence) G has
exactly six perfect matchings, that any two perfect matchings intersect each
other in exactly one edge, and that each perfect matching intersects EC in
an even number of edges.
Let M0 := (V C) (the set of edges intersecting V C in one vertex). Then
M0 is a perfect matching of G. Let M1 , . . . , M5 be the five other perfect
matchings of G. So each of the Mi intersects M0 in one edge.
By adding appropriate integer multiples of M1 , . . . , M5 to x we can
achieve that xe = 0 for each e M0 . As x is in the perfect matching space,
we know that there exists a number t such that x((v)) = t for each vertex
v. Hence, as |EC| is odd, xe = 12 t for all e EC; similarly, for each edge e in
the 5-circuit vertex-disjoint from C one has xe = 21 t. As x(EC) is even, we
know that 52 t is even, hence 21 t is even. Now the vector
(38.2) y := M1 + M5 M0
Section 38.3. A further fact on the Petersen graph 621
Figure 38.1
The Petersen graph
Theorem 38.2. Let G = (V, E) be the Petersen graph and let C be a 5-circuit
in G. Let b : V Z+ be such that
either there exists a u V with b(u) = 3 and b(v) = 1 for all v = u,
or there exist distinct u, u V with b(u), b(u ) {0, 2} and b(v) = 1 for
all v = u, u , such that if b(u) = b(u ) = 0, then u and u are nonadjacent.
Then there exist b-factors F and F such that |F EC| and |F EC| have
dierent parities.
above.
Theorem 38.4. Let G = (V, E) be a graph with a perfect matching and let
B be a maximal barrier. Then each component K of G B is factor-critical.
Proof. Suppose not. Then K has a nonempty subset B such that (G[K])
B has at least |B | + 1 odd components. Hence B B is a barrier of G,
contradicting the maximality of B.
We note that
(38.3) if B1 , . . . , Bk are the maximal nontrivial barriers of a graph G =
(V, E), having a perfect matching, then for each u V \ (B1
Bk ), the graph G u is factor-critical.
Section 38.4. Various useful observations 623
Proof. Since all assertions are trivial if |B| = 1, we can assume that |B| 2.
We saw above that then v1 I(B), proving (i).
(ii) follows from the fact that G u v2 has a perfect matching. Similarly,
(iii) follows from the fact that G u u has a perfect matching, necessarily
containing e. (iv) is directly implied by the fact that Ge is matching-covered,
and (v) follows from (ii).
To see (vi), assume that v B. Choose a component K of G[B I(B)]v
not containing v1 . Since (B v) I(B) is matchable by (ii), |K B| =
|K I(B)|. Choose v K B. Then (B v v ) (I(B) v1 ) is matchable
by (iii). However, |K B \ {v }| < |K I(B)|, a contradiction. This proves
(vi).
To prove (vii), let be the number of components of G[B I(B)] Y
containing v1 , let be the number of other components intersecting I(B),
and let be the number of other components (hence each consisting of a
singleton vertex in B). So + + |Y | + 1. Now by Theorem 38.5, each
component K satisfies
(38.10) |K B| |K I(B)| + 1.
Indeed, if K I(B) = , this is trivial. If K I(B) = , then by Theorem 38.5,
|K I(B)|+2 N (K I(B))| |K B|+1, as N (K I(B)) (K B){v2 }.
This proves (38.10).
Moreover,
(38.11) if v1 K and K I(B) = , then |K B| |K I(B)| + 2,
since then N (K I(B)) K B.
(38.10) and (38.11) imply
(38.12) + 2 + (|K B| |K I(B)|) = |B| |I(B) \ Y |
K
= |Y | + 1 + + ,
where K ranges over the components of G[B I(B)] Y . Hence = 0, and
(vii) follows.
I(B1 ) B2
B1 I(B2 )
Figure 38.2
Proof. (i) follows from the fact that all neighbours of any u I(B1 ) I(B2 )
belong to B1 B2 = . Since N (I(B2 )) B2 {v1 }, which is disjoint from
B1 , we have that B1 I(B2 ) is a stable set. Similarly, B2 I(B1 ) is a stable
set, implying (ii).
Since I(B2 ) \ B1 I(B2 \ I(B1 )), we know
(38.18) |I(B2 )| |I(B2 ) B1 | = |I(B2 ) \ B1 | |I(B2 \ I(B1 ))|
|B2 \ I(B1 )| 1 = |B2 | 1 |B2 I(B1 )|
= |I(B2 )| |B2 I(B1 )|.
So |B2 I(B1 )| |B1 I(B2 )|, and hence by symmetry |B2 I(B1 )| =
|B1 I(B2 )|, and we have equality throughout in (38.18). This gives (iii) and
(iv).
Claim 1. Let (U ) be an odd cut in G such that both G/U and G/U are
matching-covered and have exactly one brick in their brick decompositions.
Then there exist no perfect matchings M and N of G with |M (U )| |N
(U )| = 2.
the colour class of H/W not containing vertex W would be a nontrivial barrier
in G. This contradicts the fact that G is a brick.
So H/W is bipartite and matching-covered. Hence the projection of x to
the edges of H/W belongs to the perfect matching lattice of H/W . So (by
Theorem 38.6) the projection y of x to the edges of I := H/W is not in the
perfect matching lattice of I.
By the minimality of W , I is a brick. Since y is not in the perfect matching
lattice of I, by the minimality of |V | + |E|, I is the Petersen graph and has
a 5-circuit disjoint from vertex W of I with y(EC) odd.
As (W ) is not tight in G (since G is a brick), G has a perfect matching L
satisfying |L (W )| 3, and hence |L (W )| = 3 (since I is the Petersen
graph). Then by Theorem 38.2 (defining b(W ) := 3 and b(v) := 1 for each
vertex v = W of I), we can modify L on the edges of I not incident with W
to obtain a perfect matching L of G such that the intersections of L and L
with EC have dierent parities. Resetting x := x + L L we achieve that
x(EC), and hence x (EC), is even.
Hence the projection of the new x on the edges of G/U is in the perfect
matching lattice of G/U . We can perform similar resettings to achieve that
the projection of the new x on the edges of G/U is in the perfect matching
lattice of G/U . Then the new x, and hence also the original x, belongs to
the perfect matching lattice of G, by Theorem 38.6. This contradicts our
assumption. End of Proof of Claim 1
This gives:
Proof of Claim 3. For each edge e, let Me denote the collection of per-
fect matchings of G containing e. Choose any edge e with Me inclusionwise
minimal. We prove that G e is matching-covered.
Suppose that G e is not matching-covered. Hence there is an edge f = e
such that each perfect matching of G containing f , also contains e; that is,
Mf Me . By the minimality of Me , Mf = Me . Hence there is no perfect
matching containing exactly one of e, f . We show that
(38.22) G e f is bipartite.
As there is no perfect matching containing e but not containing f , by Tuttes
1-factor theorem, there exists a subset B of V spanning e such that Gf B
has more than |B| 2 odd components; hence, by parity, at least |B| odd
components. As |B| 2 and as G is bicritical, f connects two distinct odd
components, K1 and K2 say, of G f B. Moreover, as G is bicritical, each
component of G f B is odd.
We show that G ef is bipartite with colour classes B and W := V \ B.
That is, e is the only edge contained in B, and each component of G f B
is a singleton.
To see this, first assume that some component K of G f B is not a
singleton. Then (K) is a nontrivial cut, and hence it is not tight. So there
exists a perfect matching M with |M (K)| 3. If f M , then (adding up
over all components of G f B), |M (B)| |B| + 2, a contradiction. If
f M , then similarly |M (B)| |B|, again a contradiction (since e M ).
Second assume that B spans some edge e dierent from e. Let M be a
perfect matching containing e . If f M , then |M (B)| |B|, contradicting
the fact that e M . If f M , then |M (B)| |B| 2, contradicting the
fact that both e and e belong to M . This shows (38.22).
In particular, any odd circuit in G contains exactly one of e and f . By
Claim 2, Gef is not matching-covered. Hence there is an edge g such that
each perfect matching containing g contains e or f . Hence Mg = Me = Mf .
So, as before, each of G e f , G e g, G f g is bipartite. Hence each
odd circuit in G contains exactly one edge from each pair taken from e, f, g,
a contradiction. End of Proof of Claim 3
since
(38.26) |M (K)| = |M (B)| + 2|M {e}| = |B| + 2|M {e}|
KK
= |K| + 2|M {e}|.
Suppose now that the claim is not true that is, |L| 2. We derive:
(38.27) for each L L and for each edge f (L), G has a perfect
matching M with M (L) = {f }.
Indeed, if f = e, let M be a perfect matching of Ge containing f . By (38.23)
and (38.25), M intersects (L) in exactly one edge. So M (L) = {f }.
Suppose next that f = e. As |L| 2 by assumption, there exists a block
L = L. As G has no tight nontrivial cuts, G has a perfect matching M with
|M (L )| 3, and hence by (38.23) and (38.25), |M (L)| = 1, that is,
M (L) = {e}. This proves (38.27).
Now for each L L there exists a perfect matching M with |M (L)| 3,
and hence, by (38.23) and (38.25), |M (L)| = 3 and |M (L )| = 1 for all
other L L. Moreover, let N be a perfect matching not containing e. Then
adding an appropriate integer multiple of M N to x we can achieve that
x((L)) = 0, while x((L )) does not change for any other L L.
As we can do this for all L L, we can assume that
22 A block of a graph H is an inclusionwise maximal set L of vertices with |L| 2 and
with G[L] 2-connected.
634 Chapter 38. The perfect matching lattice
where M ranges over all perfect matchings of G/L, we achieve that x|E(G/L)
= 0. This proves (38.33).
Applying (38.33) to L0 := L, we derive that x = 0, a contradiction.
End of Proof of Claim 4
Since each maximal nontrivial barrier B contains N (v1 )\{v2 } or N (v2 )\{v1 }
(as e connects I(B) and K(B)), we know that Ge has at most two maximal
nontrivial barriers. In fact:
Proof of Claim 7. First assume that G e has no nontrivial barriers; that is,
G e is bicritical. This contradicts Claim 6 for B1 := {v1 } and B2 := {v2 }.
(G e u is factor-critical for each u V by (38.3).) So G e has at least
one maximal nontrivial barrier, B1 say. Let J1 := B1 I(B1 ), and assume
without loss of generality that v1 I(B1 ).
Assume that there is exactly one maximal nontrivial barrier. Then G
e/J1 has no nontrivial barrier; that is, it is bicritical. By Claim 4, G/J1 is a
brick, and hence is 3-connected. This contradicts Claim 6, taking B2 := {v2 }.
(G e u is factor-critical for each u V \ J1 by (38.3).)
End of Proof of Claim 7
Decomposition of G
I(B1 ) v1 B2
e
B1 v2 I(B2 )
Figure 38.3
We have that
(38.48) each component of G[X] is even,
as for any u B1 , G[K(B2 )] u has a perfect matching M . Then trivially no
edge in M connects K(B2 ) and J2 . Moreover, no edge in M connects K(B1 )
and J1 , since e M (as e is not contained in K(B2 )) and since each vertex
in I(B1 ) is matched to a vertex in B1 \ {u} (note that J1 K(B2 )).
For any subset L of X, any perfect matching M of G, and any i {1, 2},
define
(38.49) i (M, L) := the number of edges in M connecting L and Bi .
Conclusion
Proof of Claim 12. Suppose to the contrary that there exist disjoint pairs
{b, b } Z1 and {c, c } Z2 , taking b, c B1 and b , c B2 . By definition
of Zj , L1 {b, b } and L2 {c, c } are matchable. Moreover, by Theorem
38.7, also J1 \ {b, c, v1 } and J2 \ {b , c , v2 } are matchable. Together with e,
this gives a perfect matching M of G containing e with 1 (M, L1 ) 1 and
2 (M, L1 ) 1. This contradicts Claim 9. End of Proof of Claim 12
Proof of Claim 15. Since G is connected and e is chosen arbitrarily under the
condition that G e is matching-covered, we can assume that e is incident
with e. In particular, we can assume that e connects v1 and b1 . Suppose that
G e is not matching-covered. Then there exists an edge f = e such that
each perfect matching of G containing f also contains e . So f is disjoint from
e .
First assume that f is incident with v2 . We may assume that f connects
v2 with vertex b2 . By definition of Z1 , L1 {b1 , b2 } is matchable. Since also
L2 is matchable, we can find a perfect matching of G containing f but not
e , contradicting our assumption.
So we may assume that f is incident with L1 . Let M be a perfect
matching of G containing f . If M does not intersect (L1 ), we can extend
M [L1 ] {v1 b1 , v2 b2 } by a matching spanning L2 {b1 , b2 } to obtain a perfect
matching containing f but not e , a contradiction. So M intersects (L1 ).
Hence, necessarily, it contains an edge joining L1 with b1 (as e M ). So
also it contains an edge joining L1 and b2 . Therefore, M contains a matching
M spanning L1 {b1 , b2 }. Let N be a matching spanning L1 {b1 , b2 }.
Like in Claim 14, the path P in M N starting at b1 ends at b2 . Similarly,
the path Q in M N starting at b2 ends at b1 . At least one of M EP
and M EQ contains f (since f is in M and on at most one of P, Q). As
L2 {b1 , b1 } and L2 {b2 , b2 } are matchable (by Claim 14), there is a perfect
matching containing f and not e , a contradiction. End of Proof of Claim 15
Moreover, there is the following corollary for regular graphs (recall that
a k-graph is a k-regular graph with |C| k for each odd cut):
A special case is the following result of Seymour [1979a], which also fol-
lows from the conjecture of Tutte [1966], proved by Robertson, Seymour,
and Thomas [1997], Sanders, Seymour, and Thomas [2000], and Sanders and
Thomas [2000], that each bridgeless cubic graph without Petersen graph mi-
nor, is 3-edge-colourable.
(38.57) (?) for any graph without Petersen graph minor, the incidence
vectors of the perfect matchings form a Hilbert base. (?)
The second one was given in Section 28.6 above ((28.28)), and is due to
Seymour [1979a] (the generalized Fulkerson conjecture):
(38.58) (?) each k-graph contains 2k perfect matchings, covering each
edge exactly twice. (?)
(A k-graph is a k-regular graph G = (V, E) with dG (U ) k for each odd
U V .) For k = 3, (38.58) was asked by Fulkerson [1971a]:
(38.59) (?) each bridgeless cubic graph has 6 perfect matchings covering
each edge precisely twice. (?)
What has been proved by Robertson, Seymour, and Thomas [1997], Sanders,
Seymour, and Thomas [2000], and Sanders and Thomas [2000] is:
(38.60) each bridgeless cubic graph without Petersen graph minor is 3-
edge-colourable.
This is a special case of conjecture (38.57), and of the 4-flow conjecture of
Tutte [1966]:
(38.61) (?) each bridgeless graph without Petersen graph minor has three
cycles covering each edge precisely twice. (?)
(A cycle is an edge-disjoint union of circuits.) Related is the following theorem
of Alspach, Goddyn, and Zhang [1994]:
(38.62) the circuits of a graph G form a Hilbert base G has no
Petersen graph minor.
It implies that the circuit double cover conjecture (asked by Szekeres [1973],
conjectured by Seymour [1979b]):
(38.63) (?) each bridgeless graph has a family of circuits covering each
edge precisely twice, (?)
is true for graphs without Petersen graph minor:
(38.64) each bridgeless graph without Petersen graph minor has a family
of circuits covering each edge precisely twice.
(For cubic graphs this was shown by Alspach and Zhang [1993].) This is also
a special case of the 4-flow conjecture (38.61).
Seymour [1979b] conjectures that
(38.65) (?) each even integer vector x in the circuit cone is a nonnegative
integer combination of incidence vectors of circuits. (?)
This is more general than the circuit double cover conjecture.
Bermond, Jackson, and Jaeger [1983] have proved that
646 Chapter 38. The perfect matching lattice
(38.66) each bridgeless graph has a family of circuits covering each edge
precisely four times.
Tarsi [1986] mentioned the following strengthening of the circuit double cover
conjecture:
(38.67) (?) in each bridgeless graph there exists a family of at most 5
cycles covering each edge precisely twice. (?)
Finally, the 5-flow conjecture of Tutte [1954a]:
(38.68) (?) each bridgeless graph has a nowhere-zero 5-flow, (?)
can be formulated in terms of circuits as follows (by Theorem 28.4):
(38.69) (?) each bridgeless graph can be oriented such that there exist
directed circuits, covering each edge at least once and at most
four times. (?)
Seymour [1981b] showed that each bridgeless graph has a nowhere-zero 6-
flow; equivalently:
(38.70) each bridgeless graph can be oriented such that there exist di-
rected circuits, covering each edge at least once and at most five
times.
It improves an earlier result of Jaeger [1976,1979] that each bridgeless graph
has a nowhere-zero 8-flow. This is equivalent to: each bridgeless graph con-
tains three cycles covering all edges.
Notes. More on nowhere-zero flows and circuit covers can be found in Itai, Lipton,
Papadimitriou, and Rodeh [1981], Bermond, Jackson, and Jaeger [1983], Bouchet
[1983], Steinberg [1984], Alon and Tarsi [1985], Fraisse [1985], Jaeger, Khelladi,
and Mollard [1985], Tarsi [1986], Khelladi [1987], M
oller, Carstens, and Brinkmann
[1988], Catlin [1989], Goddyn [1989], Jamshy and Tarsi [1989,1992], Fan [1990,1993,
1995,1998], Jackson [1990], Zhang [1990,1993c], Raspaud [1991], Alspach and Zhang
[1993], Fan and Raspaud [1994], Huck and Kochol [1995], Lai [1995], Steen [1996],
and Galluccio and Goddyn [2002]. Surveys were given by Jaeger [1979,1985,1988],
Zhang [1993a,1993b], and Seymour [1995a], and a book was devoted to it by Zhang
[1997b]. The extension to matroids is discussed in Section 81.10.
Let G = (V, E) be a graph. The perfect 2-matching space of G is the linear hull of
the perfect 2-matchings in G. This space is easily characterized with the help of
Corollary 30.2b:
Section 38.9b. Further notes 647
Proof. Clearly each vector x in the perfect 2-matching space satisfies the condition.
To see the reverse, let x satisfy the condition. By adding appropriate multiples of
perfect 2-matchings, we can assume that x 0. If x = 0 we are done, so we can
assume x = 0. Then, by scaling, we can assume that x((v)) = 2 for each vertex v.
Hence, by Corollary 30.2b, x belongs to the perfect 2-matching polytope of F , and
therefore to the perfect 2-matching space.
Theorem 38.13. The perfect 2-matching lattice of G consists of all integer vectors
x in the perfect 2-matching space of G with x((v)) even for one (hence for each)
vertex v.
Proof. Trivially, each vector x in the perfect 2-matching lattice satisfies the con-
dition. To see the reverse, let x satisfy the condition. By adding integer multiples
of perfect 2-matchings, we can assume that x 0. Replace each edge e by xe
parallel edges, yielding graph G , of degree 2k for some integer k > 0. Now by
Corollary 30.7b, the edges of G can be partitioned into k 2-factors. This gives a
decomposition of x as a sum of k perfect 2-matchings in G.
De Carvalho, Lucchesi, and Murty [2002a,2002b] showed that each brick G dierent
from K4 , the prism C6 , and the Petersen graph, has an edge e such that G e
is a matching-covered graph with precisely one brick in its brick decomposition
(conjectured by L. Lov
asz in 1987). Having this, the proof of Theorem 38.11 can be
shortened considerably (de Carvalho, Lucchesi, and Murty [2002c]). (Earlier related
work was done by de Carvalho and Lucchesi [1996].)
Naddef and Pulleyblank [1982] study the relation between ear-decompositions
and the GF(2)-rank of the incidence vectors of the perfect matchings.
Kilakos [1996] characterized the lattice generated by the matchings M that
have a positive coecient in at least one fractional (G)-edge-colouring (these
matchings form a face of the matching polytope of G).
Part IV
Chapters:
Matroids
This chapter gives the basic definitions, examples, and properties of ma-
troids. We use the shorthand notation
39.1. Matroids
A pair (S, I) is called a matroid if S is a finite set and I is a nonempty
collection of subsets of S satisfying:
(39.1) (i) if I I and J I, then J I,
(ii) if I, J I and |I| < |J|, then I + z I for some z J \ I.
(These axioms are given by Whitney [1935].)
Given a matroid M = (S, I), a subset I of S is called independent if I
belongs to I, and dependent otherwise. For U S, a subset B of U is called
a base of U if B is an inclusionwise maximal independent subset of U . That
is, B I and there is no Z I with B Z U .
It is not dicult to see that, under condition (39.1)(i), condition (39.1)(ii)
is equivalent to:
(39.2) for any subset U of S, any two bases of U have the same size.
The common size of the bases of a subset U of S is called the rank of U ,
denoted by rM (U ). If the matroid is clear from the context, we write r(U )
for rM (U ).
A set is called simply a base if it is a base of S. The common size of all
bases is called the rank of the matroid. A subset of S is called spanning if
it contains a base as a subset. So bases are just the inclusionwise minimal
spanning sets, and also just the independent spanning sets. A circuit of a
matroid is an inclusionwise minimal dependent set. A loop is an element s
such that {s} is a circuit. Two elements s, t of S are called parallel if {s, t} is
a circuit.
Nakasawa [1935] showed the equivalence of axiom system (39.1) with an
ostensibly weaker system, which will be useful in proofs:
652 Chapter 39. Matroids
Theorem 39.3. The rank function rM of the dual matroid M satisfies, for
U S:
(39.6) rM (U ) = |U | + rM (S \ U ) rM (S).
The circuits of M are called the cocircuits of M . They are the inclusion-
wise minimal sets intersecting each base of M (as they are the inclusionwise
minimal sets contained in no base of M , that is, not contained in the com-
plement of any base of M ). The loops of M are the coloops or bridges of M ,
and parallel elements of M are called coparallel or in series in M .
Let M = (S, I) be a matroid, and suppose that we can test in polyno-
mial time if any subset of S is independent in M (or we have an oracle for
that). Then we can calculate, for any subset U of S, the rank rM (U ) of U
in polynomial time (by growing an independent set (starting from ) to an
inclusionwise maximal independent subset of U ). It follows that we can test
in polynomial time if any subset U of S in independent in M , just by testing
if rM (S \ U ) = rM (S).
A matroid M = (S, I) is called connected if rM (U ) + rM (S \ U ) > rM (S)
for each nonempty proper subset U of S. This is equivalent to: for any two
elements s, t S there exists a circuit containing both s and t. One may derive
from (39.6) that a matroid M is connected if and only if M is connected.
matrix. Then the dual matroid can be represented by the matrix [B T Inm ],
as follows directly from elementary linear algebra. This implies that the class
of matroids representable over F is closed under taking minors.
MacLane [1936] (and also Lazarson [1958]) showed that nonlinear ma-
troids exist.
Proof. Necessity follows from the facts that the class of binary matroids is
closed under taking minors and that U42 is not binary.
To see suciency, we first show the following. Let M and N be matroids
on the same set S. Call a set wrong if it is a base of precisely one of M and
N . A far base is a common base B of M and N such that there is no wrong
set X with |BX| = 2. We first show:
(39.13) if M and N are dierent and have a far base, then M or N has
a U42 minor.
Let M, N form a counterexample with S as small as possible. Let B be a far
base and X be a wrong set with |BX| minimal. Then B X = S, since we
can delete S \ (B X). Similarly (by considering M and N ), B X = .
Then, by the minimality of |BX|, X is the only wrong set. By symmetry, we
may assume that X is a base of M . Then M has a base B with |BB | = 2.
By the uniqueness of X, B is also a base of N . By the minimality of |BX|,
B is not far. Hence, by the uniqueness of X, |B X| = 2. So |S| = 4.
Let S = {a, b, c, d}, B = {a, b}, X = {c, d}. Since M = U42 by assumption,
we may assume that {a, c} is not a base of M . Hence, since {a} and {c, d}
are independent in M , {a, d} is a base of M . Similarly, since {c} and {a, b}
are independent in M , {b, c} is a base of M .
Since B is far, {a, d} and {b, c} are bases also of N , and {a, c} is not a
base of N . So {c} is independent in N , implying that {c, a} or {c, d} is a base
of N , a contradiction. This proves (39.13).
656 Chapter 39. Matroids
Let N be the binary matroid represented by {xs | s S}. Now for each b B
and each s S \ B one has that (B \ {b}) {s} is a base of M if and only if
it is a base of N . So B is a far base. Since N is binary, we know that N = M
and that N has no U42 minor. Hence, by (39.13), M has a U42 minor.
Cographic matroids (Whitney [1935]). The dual of the cycle matroid M (G)
of a graph G = (V, E) is called the cocycle matroid of G, and denoted by
M (G). Any matroid obtained in this way, or isomorphic to such a matroid,
is called a cographic matroid.
658 Chapter 39. Matroids
for U S. This follows directly from Theorem 22.2 and Corollary 22.2a,
applied to the family (X1 U, . . . , Xn U ).
Section 39.4a. Relations between transversal matroids and gammoids 659
Ingleton and Pi [1973] showed the following theorem (based on a duality of bi-
partite graphs and directed graphs similar to that described in Section 16.7c). The
proof provides an alternative proof that gammoids are indeed matroids.
Theorem 39.5. Strict gammoids are exactly the duals of the transversal matroids.
Proof. Let M be the strict gammoid induced by the directed graph D = (V, A)
and U V . We can assume that (v, v) A for each v V . For each v V , let
(39.23) Xv := {u V | (u, v) A}.
660 Chapter 39. Matroids
This theorem has a number of implications for the interrelations of the classes
of transversal matroids and of gammoids. Consider the following class of matroids,
introduced by Ingleton and Pi [1973]. Let G = (V, E) be a bipartite graph, with
colour classes U and W . Let M = (V, I) be the transversal matroid induced by the
family ({v} N (v) | v U ) (where N (v) is the set of neighbours of v). So B V is
a base of M if and only if (U \ B) (W B) is matchable in G (that is, it induces
a subgraph of G having a perfect matching).
Any such matroid M is called a deltoid (induced by G, U, W ). Then M is the
deltoid induced by G, W, U . So
(39.27) the dual of a deltoid is a deltoid again.
Now
(39.28) transversal matroids are exactly those matroids that are the restriction
of a deltoid.
Indeed, each deltoid is a transversal matroid, and hence the restriction of any deltoid
is a transversal matroid (as the class of transversal matroids is closed under taking
restrictions). Conversely, any transversal matroid, induced by (say) X1 , . . . , Xm is
Section 39.4a. Relations between transversal matroids and gammoids 661
the restriction to W of the deltoid induced by the bipartite graph G with colour
classes U := {1, . . . , m} and W := X1 Xm , with i U and x W adjacent
if and only if x Xi . (Assuming without loss of generality that U W = .) This
shows (39.28).
Then (39.27) and (39.28) give with Theorem 39.5:
(39.29) the strict gammoids are exactly the contractions of the deltoids.
Indeed, the strict gammoids are the duals of transversal matroids, hence the duals
of restrictions of deltoids, and therefore the contractions of (the duals of) deltoids.
This gives:
Corollary 39.5a. The gammoids are exactly the contractions of the transversal
matroids.
Proof. Gammoids are the restrictions of strict gammoids, hence the restrictions of
contractions of deltoids, hence the contractions of restrictions of deltoids, therefore
the contractions of transversal matroids.
Similarly:
(39.30) the gammoids are exactly the minors of deltoids,
which implies (with (39.27)) a result of Mason [1972]:
(39.31) the class of gammoids is closed under taking minors and duals.
Theorem 39.5 also implies, with (39.20), that gammoids are representable over
all fields, except for a finite number of finite fields (Mason [1972]). In fact, Lindstr
om
[1973] showed that any gammoid (S, I) is representable over each field with at least
2|S| elements.
Edmonds and Fulkerson [1965] showed that one gets a transversal matroid as
follows. Let G = (V, E) be an undirected graph and let S V . Let I be the
collection of subsets of S which are covered by some matching in G. Then M =
(S, I) is a matroid (which is easy to show), called the matching matroid of G.
In fact, any matching matroid is a transversal matroid. To prove this, we may
assume S = V . Let D(G), A(G), C(G) form the Edmonds-Gallai decomposition of
G (Section 24.4b). Let K be the collection of components of G[D(G)]. Let X be the
family of sets
(39.32) {v} for each v A(G) C(G),
N (v) D(G) for each v A(G),
K, repeated |K| 1 times, for each K K.
Then M is equal to the transversal matroid induced by X , as is easy to derive from
the properties of the Edmonds-Gallai decomposition. A min-max relation for the
rank function is given by Theorem 24.6.
It is straightforward to see that, conversely, each transversal matroid is a match-
ing matroid, by taking G bipartite.
662 Chapter 39. Matroids
Proof. (i)(ii): Let B be the collection of bases of a matroid (S, I). Then
all sets in B have the same size. Now let B, B B and x B \ B. Since
B x I, there exists a y B \ B with B := B x + y I. Since
|B | = |B |, we know B B.
(iii)(i): (iii) directly implies that no set in B is contained in another.
Let I be the collection of sets I with I B for some B B. We check (39.3).
Let I, J I with |I \ J| = 1 and |J \ I| = 2. Let I \ J = {x}.
Consider sets B, B B with I B, J B . If x B , we are done.
So assume x B . Then by (iii), B y + x B for some y B \ B. As
|J \ I| = 2, there is a z J \ I with z = y. Then I + z B y + x, and so
I + z I.
(ii)(iii): By the foregoing we know that (iii) implies (ii). Now axioms
(ii) and (iii) interchange if we replace B by the collection of complements of
sets in B. Hence also the implication (ii)(iii) holds.
The equivalence of (ii) and (iii) also follows from the fact that the collec-
tion of complements of bases of a matroid is the collection of bases of the dual
matroid. Conversely, Theorem 39.6 implies that the dual indeed is a matroid.
[1935] proved (i)(iii), and Robertson and Weston [1958] (and also Lehman
[1964] and Asche [1966]) proved (i)(ii)).
Theorem 39.8. Let S be a set and let r : P(S) Z+ . Then r is the rank
function of a matroid if and only if for all T, U S:
(39.38) (i) r(T ) r(U ) |U | if T U ,
(ii) r(T U ) + r(T U ) r(T ) + r(U ).
Proof. Necessity. Let r be the rank function of a matroid (S, I). Choose
T, U S. Clearly (39.38)(i) holds. To see (ii), let I be an inclusionwise
maximal set in I with I T U and let J be an inclusionwise maximal set
in I with I J T U . Since (S, I) is a matroid, we know that r(T U ) = |I|
and r(T U ) = |J|. Then
(39.39) r(T ) + r(U ) |J T | + |J U | = |J (T U )| + |J (T U )|
|I| + |J| = r(T U ) + r(T U );
that is, we have (39.38)(ii).
Suciency. Let I be the collection of subsets I of S with r(I) = |I|. We
show that (S, I) is a matroid, with rank function r.
Trivially, I. Moreover, if I I and J I, then
Section 39.7. Characterizing matroids by rank functions 665
Theorem 39.9. Let S be a finite set. A function span : P(S) P(S) is the span
function of a matroid if and only if:
(39.47) (i) if T S, then T span(T );
(ii) if T, U S and U span(T ), then span(U ) span(T );
(iii) if T S, t S \ T , and s span(T + t) \ span(T ), then t
span(T + s).
Proof. Necessity. Let span be the span function of a matroid M = (S, I) with
rank function r. Clearly, (39.47)(i) is satisfied. To see (39.47)(ii), let U span(T )
and s span(U ). We show s span(T ). We can assume s T . Then, by the
submodularity of r,
(39.48) r(T {s}) r(T U {s}) r(T U ) + r(U {s}) r(U )
= r(T U ) = r(T ).
Section 39.8b. Characterizing matroids by flats 667
(The last equality follows from (39.44).) This shows that s span(T ).
To see (39.47)(iii), note that s span(T + t) \ span(T ) is equivalent to: r(T +
t + s) = r(T + t) and r(T + s) > r(T ). Hence
(39.49) r(T + t + s) = r(T + t) r(T ) + 1 r(T + s),
that is, t span(T + s). This shows necessity of the conditions (39.47).
Suciency. Let a function span satisfy (39.47), and define
(39.50) I := {I S | s span(I s) for each s I}.
We first show the following:
(39.51) if I I, then span(I) = I {t | I + t I}.
Indeed, if t span(I) \ I, then I + t
I, by definition of I. Conversely, I span(I)
by (39.47)(i). Moreover, if I + t I, then by definition of I, s span(I + t s) for
some s I + t. If s = t, then t span(I) and we are done. So assume s = t; that is,
s I. As I I, we know that s span(I s). So by (39.47)(iii) (for T := I s),
t span(I), proving (39.51).
We now show that M = (S, I) is a matroid. Trivially, I. To see that
I is closed under taking subsets, let I I and J I. We show that J I.
Suppose to the contrary that s span(J s) for some s J. By (39.47)(ii),
span(J s) span(I s). Hence s span(I s), contradicting the fact that I I.
In order to check (39.3), let I, J I with |I \ J| = 1 and |J \ I| = 2. Let
I \ J = {i} and J \ I = {j1 , j2 }. Assume that I + j1 I. That is, J + i j2 I, and
so, by (39.51) applied to J j2 , i span(J j2 ). Therefore, I span(J j2 ), and
so span(I) span(J j2 ). So j2 span(I) (as J I), and therefore, by (39.51)
applied to I, I + j2 I.
So M is a matroid. We finally show that span = spanM . Choose T S. To see
that span(T ) = spanM (T ), let I be a base of T (in M ). Then (using (39.51)),
(39.52) spanM (T ) = I {x | I + x I} = span(I) span(T ).
So we are done by showing span(T ) span(I); that is, by (39.47)(ii), T span(I).
Choose t T \ I. By the maximality of I, we know I + t I, and hence, by (39.51),
t span(I).
Proof. Necessity. Let F be the collection of flats of a matroid M = (S, I). Condi-
tion (39.53)(i) is trivial, and condition (39.53)(ii) follows from spanM (F1 F2 )
spanM (F1 ) spanM (F2 ) = F1 F2 . To see (39.53)(iii), suppose that such an F ex-
ists. Choose s F \ F . So s spanM (F ). As F
F , we have t spanM (F + s).
Therefore, by (39.47)(iii) for T := F , s spanM (F ) = F , a contradiction.
Suciency. Let F satisfy (39.53). For Y S, let span(Y ) be the smallest set
in F containing Y . Since F F span(F ) = F , it suces to show that
span satisfies the conditions (39.47). Here (39.47)(i) and (ii) are trivial. To see
(39.47)(iii), let T S, t S \ T , and s span(T + t) \ span(T ). Then span(T )
span(T + s) span(T + t). Hence, by (39.53)(iii), span(T + s) = span(T + t), and
hence t span(T + s).
Theorem 39.11. For any finite point lattice (L, ), with rank function r, the
following are equivalent:
(39.55) (i) L is a matroid lattice;
(ii) for each a L and each point p, if p a, then a p covers a;
(iii) for each a, b L, if a and b cover a b, then a b covers a and b;
(iv) r(a) + r(b) r(a b) + r(a b) for all a, b L.
Proof. (i)(iv): Let L be the lattice of flats of a matroid M = (S, I), with rank
function rM . We can assume that M has no loops and no parallel elements. Then for
any flat F we have r(F ) = rM (F ), since rM (F ) is equal to the maximum number k
of nonempty flats F1 Fk with Fk = F . So (iv) follows from Theorem 39.8.
Section 39.9. Further exchange properties 669
(iv)(iii): We first show that (iv) implies that if b covers a, then r(b) = r(a)+1.
As b is a join of points, and as b covers a, we know that b = ap for some point p with
p a. Hence r(b) = r(a p) r(a) + r(p) r(a p) = r(a) + r(p) r(0) = r(a) + 1.
As r(b) > r(a), we have r(b) = r(a) + 1.
To derive (iii) from (iv), let a and b cover a b. Then r(a) = r(b) = r(a b) + 1.
Hence r(a b) r(a) + r(b) r(a b) = r(a) + 1. Hence a b covers a. Similarly,
a b covers b.
(iii)(ii): We derive (ii) from (iii) by induction on r(a). If a = 0, the statement
is trivial. If a > 0, let a be an element covered by a. Then, by induction, a p
covers a . So a = a (a p). Hence by (iii), a (a p) = a p covers a.
(ii)(i): Let S be the set of points of L, and for f L define Ff := {s S |
s f }. Let F := {Ff | f L}. Then for all f1 , f2 L we have:
(39.56) f1 f2 Ff1 Ff2 .
Here= is trivial, while = follows from the fact that for each f L we have
f = Ff , as L is a point lattice.
By (39.56), (L, ) is isomorphic to (F , ). Moreover, by (39.54)(i), Ff1 f2 =
Ff1 Ff2 . So F is closed under intersections, implying (39.53)(ii), while (39.53)(i)
is trivial. Finally, (39.53)(iii) follows from (39.55)(ii).
This implies:
Bases satisfy the following exchange property, stronger than that described in The-
orem 39.12 (conjectured by G.-C. Rota, and proved by Brylawski [1973], Greene
[1973], Woodall [1974a]):
(39.58) if B1 and B2 are bases and B1 is partitioned into X1 and Y1 , then B2
can be partitioned into X2 and Y2 such that X1 Y2 and Y1 X2 are
bases.
This will be proved in Section 42.1a (using the matroid union theorem).
Other exchange properties of bases were given by Greene [1974a] and Kung
[1978a]. Decomposing exchanges was studied by Gabow [1976b].
In Schrijver [1979c] it was shown that the exchange property described in Corol-
lary 16.8b for bipartite graphs and, more generally, in Theorem 9.12 for directed
graphs, in fact characterizes systems that correspond to matroids.
To this end, let U and W be disjoint sets and let be a collection of pairs
(X, Y ) with X U and Y W . Call (U, W, ) a bimatroid (or linking system) if:
(39.59) (i) (, ) ;
(ii) if (X, Y ) and x X, then (X x, Y y) for some y Y ;
(iii) if (X, Y ) and y Y , then (X x, Y y) for some x X;
(iv) if (X1 , Y1 ), (X2 , Y2 ) , then there is an (X, Y ) with X1
X X1 X2 and Y2 Y Y1 Y2 .
Note that (ii) and (iii) imply that |X| = |Y | for each (X, Y ) .
To describe the relation with matroids, define:
(39.60) B := {(U \ X) Y | (X, Y ) }.
So B determines . Then (Schrijver [1979c]):
(39.61) (U, W, ) is a bimatroid if and only if B is the collection of bases of a
matroid on U W , with U B.
So bimatroids are in one-to-one correspondence with pairs (M, B) of a matroid M
and a base B of M , and the conditions (39.59) yield a characterization of matroids.
An equivalent axiom system characterizing matroids was given by Kung [1978b].
(Bapat [1994] gave an extension of K onigs matching theorem to bimatroids.)
The idea of a matroid, that is, of abstract dependence, seems to have been devel-
oped historically along a number of independent lines during the period 1900-1935.
Independently, dierent axiom systems were given, each of which is equivalent to
2
F denotes the union of the edges (as sets) in F .
Section 39.10b. Historical notes on matroids 673
that of a matroid. It indicates the naturalness of the concept. Only at the end of
the 1930s a synthesis of the dierent streams was obtained.
There is a line, starting with the Dualgruppen (dual groups = lattices) of
Dedekind [1897,1900], introduced in order to study modules (= additive subgroups)
of numbers. They give rise to lattices satisfying what Dedekind called the Modulge-
setz (module law). Later, independently, Birkho [1933] studied such lattices, calling
them initially B-lattices, and later (after he had learned about Dedekinds earlier
work), modular lattices. Both Dedekind and Birkho considered, in their studies
of modular lattices, an auxiliary property that characterizes so-called semimodular
lattices. If the lattice is a point lattice (that is, each element of the lattice is a join
of atoms (points)), then such semimodular lattices are exactly the lattices of flats
of a matroid. This connection was pointed out by Birkho [1935a] directly after
Whitneys introduction of matroids.
A second line concerns exchange properties of bases. It starts with the new edi-
tion of the Ausdehnungslehre of Grassmann [1862], where he showed that each lin-
early independent set can be extended to a bases, using elements from a given base.
Next Steinitz [1910], in his fundamental paper Algebraische Theorie der K orper (Al-
gebraic Theory of Fields), showed that algebraic dependence has a number of basic
properties, which makes it into a matroid (like the equicardinality of bases), and he
derived some other properties from these basic properties (thus deriving essentially
properties of matroids). In a subsequent paper, Steinitz [1913] gave, as an auxil-
iary result, the property that is now called Steinitz exchange property for linearly
independent sets of vectors. Steinitz did not mention the similarities to his earlier
results on algebraic dependence. These similarities were observed by Haupt [1929a]
and van der Waerden [1930] in their books on modern algebra. They formulated
properties shared by linear and algebraic dependence that are equivalent to ma-
troids. In the second edition of his book, van der Waerden [1937] condensed these
properties to three properties, and gave a unified treatment of linear and algebraic
dependence. Mac Lane [1938] observed the relation of this work to the work on
lattices and matroids.
A third line pursued the axiomatization of geometry, which clearly can be rooted
back to as early as Euclid. At the beginning of the 20th century this was consid-
ered by, among others, Hilbert and Veblen. Bergmann [1929] aimed at giving a
lattice-theoretical basis for ane geometry, and from lattice-theoretical conditions
equivalent to matroids (cf. Theorem 39.11 above) he derived a number of properties,
like the equicardinality of bases and the submodularity of the rank function. In their
book Grundlagen der Mathematik I (Foundations of Mathematics I), Hilbert and
Bernays [1934] gave axioms for the collinearity of triples of points, amounting to the
fact that any two distinct points belong to exactly one line. A direct extension of
these axioms to general dimensions gives the axioms described by Nakasawa [1935],
that are again equivalent to the matroid axioms. He introduced the concept of a B1 -
space, equivalent to a matroid. In fact, the only reference in Nakasawa [1935] is to
the book Grundlagen der Elementargeometrie (Foundations of Elementary Geome-
try) of Thomsen [1933], in which a dierent axiom system, the Zyklenkalk ul (cycle
calculus), was given (not equivalent to matroids). Nakasawa only gave subsets of
linear spaces as an example. In a sequel to his paper, Nakasawa [1936b] observed
that his axioms are equivalent to those of Whitney. The same axiom system as
Nakasawas, added with a continuity axiom, was given by Pauc [1937]. In Haupt,
674 Chapter 39. Matroids
4 I will therefore call it the module law, and every dual group in which it holds, may be
called a dual group of module type.
Section 39.10b. Historical notes on matroids 675
Dedekind [1900] continued the study of modular lattices, and showed that each
modular lattice allows a rank function r : M Z+ with the property that for all
a, b:
(39.65) (i) r(0) = 0;
(ii) r(b) = r(a) + 1 if b covers a;
(iii) r(a b) + r(a b) = r(a) + r(b).
In fact, this characterizes modular lattices.
In proving (39.65), Dedekind showed that each modular lattice satisfies
(39.66) if a and b cover c, and a = b, then a b covers a and b,
which is the property characterizing upper semimodular lattices, a structure equiv-
alent to matroids.
and (after statement 5, saying that any two field extensions by equicardinal irre-
ducible systems are isomorphic):
6. Wird ein irreduzibles System S durch Hinzuf
ugung eines Elementes a reduzibel,
so ist a von S algebraisch abhangig.9
Steinitz proved this using only the properties given above (together with the fact
that any s S is algebraically dependent on S). Moreover, he derived from 7, (what
is now called) Steinitz exchange property for algebraic dependence:
8. Es seien U und B endliche irreduzible Systeme von m bzw. n Elementen; es
sei n m und B algebraisch abh angig von U . Dann sind im Falle m = n die
Systeme U und B aquivalent, im Falle n < m aber ist U einem irreduziblen
System aquivalent, welches aus B und m n Elementen aus U besteht.11
This in particular implies that any two equivalent irreducible systems have the same
size, and that the properties are equivalent to that determining a matroid.
In a subsequent paper, Steinitz [1913] proved a number of auxiliary statements
on linear equations. Among other things, he showed (in his terminology, vectors are
numbers, and a vector space is a module):
Besitzt der Modul M eine Basis von p Zahlen, und enth alt er r linear unabh
angige
Zahlen 1 , . . . , r , so besitzt er auch eine Basis von p Zahlen, unter denen die
Zahlen 1 , . . . , r samtlich vorkommen.12
8 3. Every subsystem of an irreducible system is irreducible.
4. Every reducible system contains a finite reducible subsystem.
9 6. If an irreducible system S becomes reducible by adding an element a, then a is
algebraically dependent on S.
10 7. If S is an irreducible system (with respect to K), [and] the element a transcendent
with respect to K, but algebraically dependent on S, then S contains a certain finite
subsystem T with the following quality: a is algebraically dependent on T ; every subsys-
tem of S on which a depends algebraically, contains the system T ; if any element from
T is replaced by a, then S passes into an equivalent irreducible system; this property
belongs to none of the other elements of S .
11 8. Let U and B be finite irreducible systems of m and n elements respectively; let n m
and let B be algebraically dependent on U . Then, in case m = n, the systems U and
B are equivalent, but in case n < m, U is equivalent to an irreducible system which
consists of B and m n elements from U .
12 If a module M possesses a base of p numbers, and it contains r linearly independent
numbers 1 , . . . , r , then it possesses also a base of p numbers, among which the num-
bers 1 , . . . , r all occur.
Section 39.10b. Historical notes on matroids 677
Steinitz proof of this in fact gives a stronger result, known as Steinitz exchange
property: the new base is obtained by extending 1 , . . . , r with vectors from the
given base. So Steinitz came to the same result as Grassmann [1862] quoted above.
In his paper, Steinitz [1913] did not make a link with similar earlier results in
Steinitz [1910] on algebraic dependence.
1929: Bergmann
Inspired by Menger [1928a], who aimed at giving an axiomatic foundation for pro-
jective geometry on a lattice-theoretical basis, Bergmann [1929] gave an axiomatic
foundation of ane geometry, again on the basis of lattices. Bergmanns article
contains a number of proofs that in fact concern matroids, while he assumed, but
not used, a complementation axiom (since he aimed at characterizing full ane
spaces, not subsets of it): for each pair of elements A B there exist C1 and C2
with A C1 = B, A C1 = 0, B C2 = A, and B C2 = 1. This obviously implies
(in the finite case) that
(39.67) each element of the lattice is a join of points.
(A point is a minimal nonzero element.) It is property (39.67) that Bergmann uses
in a number of subsequent arguments (and not the complementation axiom). His
further axiom is:
(39.68) for any element A and any point P of the lattice, there is no element
B with A < B < A P .
He called an ordered sequence (P1 , . . . , Pn ) of points a chain (Kette) (of an element
A), if Pi P1 Pi1 for i = 1, . . . , n (and A = P1 Pn ). He derived from
(39.67) and (39.68) that being a chain is independent of the order of the elements
in the chain, and that any two chains of an element A have the same length:
Satz: Alle Ketten eines Elementes A haben dieselbe Gliederzahl.13
He remarked that under condition (39.67), this in turn implies (39.68).
Denoting the length of any chain of A by |A|, Bergmann showed that it is equal
to the rank of A in the lattice, and he derived the submodular inequality:
|A| + |B| |A + B| + |A B|.
(Bergmann denoted and by + and .) Thus he proved the submodularity of the
rank function of a matroid. These results were also given by Alt [1936] in Mengers
mathematischen Kolloquium in Vienna on 1 March 1935 (cf. Menger [1936a,1936b]).
Demgem a ist das vorliegende Buch durchweg beeinflut von der bahnbrechenden
,,Algebraischen Theorie der K orper von Herrn E. Steinitz, was hier ein f
ur allemal
hervorgehoben sei. Ferner st utzt sich die Behandlung der linearen Gleichungen
(vgl. 9,1 bis 9,4), einer Anregung von Frl. E. Noether folgend, auf die von Herrn
E. Steinitz gegebene Darstellung (vgl. das Zitat in 9,0 ).14
In the first edition of his book, van der Waerden [1930] listed the properties of
algebraic dependence:
Die Relation der algebraischen Abh angigkeit hat demnach die folgenden Eigen-
schaften:
1. a ist abh angig von sich selbst, d.h. von der Menge {a}.
2. Ist a abh angig von M , so hangt es auch von jeder Obermenge von M ab.
3. Ist a abh angig von M , so ist a schon von einer endlichen Untermenge
{m1 , . . . , mn } von M (die auch leer sein kann) abh angig.
4. W ahlt man diese Untermenge minimal, so ist jedes mi von a und den u brigen
mj abh angig.
Weiter gilt:
5. Ist a abh angig von M und jedes Element von M abh angig von N , so ist a
abhangig von N .16
Following Steinitz, van der Waerden called two sets equivalent if each element
of the one set depends algebraically on the other set, and vice versa, while a set is
irreducible if no element of it depends algebraically on the remaining.
Using only the properties 1-5, van der Waerden derived that each set contains
an irreducible set equivalent to it, and that if M N , then each irreducible subset
of M equivalent to M can be extended to an irreducible subset of N equivalent
to N in other words, inclusionwise minimal subsets of M equivalent to M are
14 Accordingly, the present book is invariably influenced by the pioneering Algebraic The-
ory of Fields by Mr E. Steinitz, which be emphasized here once and for all. Further,
following a suggestion by Miss E. Noether, the treatment of linear equations (cf. 9,1 to
9,4) leans on the presentation by Mr E. Steinitz (cf. the quotation in 9,0 ).
15 The treatment of linear equations is (as far as it goes) made such that a part of the
theorems obtained therewith transfers to systems of algebraically dependent elements,
which will be discussed later (23,6).
16 The relation of algebraic dependence has therefore the following properties:
1. a is dependent on itself, that is, on the set {a}.
2. If a is dependent on M , then it also depends on every superset of M .
3. If a is dependent on M , then a is dependent already on a finite subset {m1 , . . . , mn }
of M (that can also be empty).
4. If one chooses this subset minimal, then every mi is dependent on a and the
remaining mj .
Further it holds:
5. If a is dependent on M and every element of M is dependent on N , then a is
dependent on N .
Section 39.10b. Historical notes on matroids 679
In the second edition of his book, van der Waerden [1937] gave a unified treat-
ment of linear and algebraic dependence, slightly dierent from the first edition. As
for linear dependence he stated in 33:
Drei Grunds atze gen
ugen. Der erste ist ganz selbstverst andlich.
Grundsatz 1. Jedes ui (i = 1, . . . , n) ist von u1 , . . . , un linear abh angig.
Grundsatz 2. Ist v linear abh angig von u1 , . . . , un , aber nicht von u1 , . . . , un1 ,
so ist un linear abh
angig von u1 , . . . , un1 , v.
[ ]
Grundsatz 3. Ist w linear abh angig von v1 , . . . , vs und ist jedes vj (j = 1, . . . , s)
linear abh
angig von u1 , . . . , un , so ist w linear abh angig von u1 , . . . , un .18
The same axioms are given in 64 of van der Waerden [1937], with linear replaced
by algebraisch.
Next, van der Waerden called elements u1 , . . . , un (linearly or algebraically)
independent if none of them depend on the rest of them. Among the conse-
quences of these principles, he mentioned that if u1 , . . . , un1 are independent but
u1 , . . . , un1 , un are not, then un is dependent on u1 , . . . , un1 , and that each finite
system of elements u1 , . . . , un contains a (possibly empty) independent subsystem
on which each ui is dependent. He called two systems u1 , . . . , un and v1 , . . . , vs
equivalent if each vk depends on u1 , . . . , un and each ui depends on v1 , . . . , vs , and
he now derived from the three principles that two equivalent independent systems
have the same size.
Mac Lane [1938] observed that the axioms introduced by Whitney [1935] and
those by van der Waerden [1937] determine equivalent structures.
Axiom systems for points and lines in a plane were given by Hilbert [1899] in his
book Grundlagen der Geometrie (Foundations of Geometry), and by Veblen [1904].
17 In fact, the same rules 1 to 5, that were formulated for algebraic dependence in 61,
hold for the linear dependence considered there; one can transfer therefore all proofs
word for word.
18 Three principles suce. The first one is fully self-evident.
Principle 1. Every ui (i = 1, . . . , n) is linearly dependent on u1 , . . . , un .
Principle 2. If v is linearly dependent on u1 , . . . , un , but not on u1 , . . . , un1 , then
un is linearly dependent on u1 , . . . , un1 , v.
[ ]
Principle 3. If w is linearly dependent on v1 , . . . , vs and every vj (j = 1, . . . , s) is
linearly dependent on u1 , . . . , un , then w is linearly dependent on u1 , . . . , un .
680 Chapter 39. Matroids
Basis is the axiom that any two distinct points are in exactly one line. Note that
this axiom determines precisely all matroids of rank at most 3 with no parallel
elements (by taking the lines as maximal flats).
One of the axioms of Veblen is:
Axiom VI. If points C and D (C = D) lie on the line AB, then A lies on the line
CD.
The axioms 1) and 2) in fact tell that the relation Gr is determined by unordered
triples of distinct points. The exchange axiom 3) is a special case of the matroid
axiom for circuits in a matroid.
Hilbert and Bernays extended the system by axioms for a betweenness rela-
tion Zw for ordered triples of points, and a parallelism relation P ar for ordered
quadruples of points.
19 At that it is advisable for our purpose to deviate from Hilberts axiom system in that
we do not lay the points and the lines as two systems of things as base, but take only
the points as individuals.
20 I. Axioms of connection.
1) (x)(y)Gr(x, x, y)
x, x, y always lie on a line.
2) (x)(y)(z)(Gr(x, y, z) Gr(y, x, z)&Gr(x, z, y)).
If x, y, z lie on a line, then also y, x, z as well as x, z, y always lie on a line.
3) (x)(y)(z)(u)(Gr(x, y, z)&Gr(x, y, u)&x = y Gr(x, z, u)).
If x, y, are dierent points and if x, y, z as well as x, y, u lie on a line, then also x, z, u
always lie on a line.
4) (Ex)(Ey)(Ez)Gr(x, y, z).
There are points x, y, z, that do not lie on a line.
Section 39.10b. Historical notes on matroids 681
The axioms are those for a lattice, added with axiom V, that amounts to (39.64)
above. Any lattice satisfying this condition is called by Birkho in this paper a B-
lattice. In an addendum, Birkho [1934b] mentioned that O. Ore had informed him
that part of his results had been obtained before by Dedekind [1900]. Therefore,
Birkho [1935b] renamed it to modular lattice.
Birkho [1933] mentioned, as examples, the classes of normal subgroups and
of characteristic subgroups of a group. Other examples mentioned are the ideals of
a ring, and the linear subspaces of Euclidean space. (Both examples actually give
sublattices of the lattice of all normal subgroups of the corresponding groups.)
Like Dedekind, Birkho [1933] showed that (39.64) implies (39.66). Lattices
satisfying (39.66) are called (upper) semimodular. Birkho showed that any upper
semimodular lattice has a rank function satisfying (39.65)(i) and (ii) and satisfying
the submodular law:
(39.69) r(a b) + r(a b) r(a) + r(b).
This characterizes upper semimodular lattices.
Birkho noticed that this implies that the modular lattices are exactly those
lattices satisfying both (39.66) and its symmetric form:
(39.70) b, then a and b cover a b.
if c covers a and b and a =
Birkho [1935c] showed that the partition lattice is upper semimodular, that is,
satisfies (39.66), and hence has a rank function satisfying the submodular inequal-
ity21 . Thus the complete graph, and hence any graph, gives a geometric lattice (and
hence a matroid however, Whitneys work seems not to have been known yet to
Birkho at the time of writing this paper).
In a number of other papers, Birkho [1934a,1934c,1935b] made a further study
of modular lattices, and gave relations to projective geometries (in which the collec-
tion of all flats gives a modular lattice). Klein-Barmen [1937] further investigated
semimodular lattices (called by him Birkhosche Verb ande (Birkho lattices)), of
which he found several lattice-theoretical characterizations.
In the paper, Whitney observed that forests in a graph form the independent
sets of a matroid, for which reason he carried over various terms from graphs to
matroids.
Whitney described several equivalent axiom systems for the notion of matroid.
First, he showed that the rank function is characterized by (39.42), and he derived
that it is submodular. Next, he showed that the collection of bases is characterized
by (39.33)(ii), and the collection of circuits by (39.34)(iii). Moreover, he showed
that complementing all bases gives again a matroid, the dual matroid, and that
the dual of a linear matroid is again a linear matroid. In the paper, he also studied
separability and representability of matroids. The example given in Whitneys 16
(mentioned in the above quotation), is in fact the well-known Fano matroid he
apparently did not consider matrices over GF(2). However, in an appendix of the
paper, he characterized the matroids representable by a matrix of integers mod 2:
a matroid is representable over GF(2) if and only if any sum (mod 2) of circuits
can be partitioned into circuits.
In a subsequent paper Abstract linear independence and lattices, Birkho
[1935a] pointed out the relations of Whitneys work with Birkhos earlier work on
semimodular lattices. He stated:
In a preceding paper, Hassler Whitney has shown that it is dicult to distinguish
theoretically between the properties of linear dependence of ordinary vectors, and
those of elements of a considerably wider class of systems, which he has called
matroids.
Now it is obviously impossible to incorporate all of the heterogeneous abstract
systems which are constantly being invented, into a body of systematic theory,
until they have been classified into two or three main species. The purpose of this
note is to correlate matroids with abstract systems of a very common type, which
I have called lattices.
In the paper Zur Axiomatik der linearen Abh angigkeit. I (On the axiomatics of
linear dependence. I) in Science Reports of the Tokyo Bunrika Daigaku (Tokyo
University of Literature and Science), Nakasawa [1935] introduced an axiom sys-
tem for dependence, that he proved to be equivalent to matroids (in a dierent
terminology).
He was motivated by an axiom system described by Thomsen [1933] in his
book Grundlagen der Elementargeometrie (Foundations of Elementary Geometry).
Thomsens cycle calculus is an attempt to axiomatize relations (like coincidence,
orthogonality, parallelism) between geometric objects (points, lines, etc.). Thomsen
emphasized that existence questions often are inessential in elementary geometry:
In der Tat erscheinen uns ja auch die Existenzaussagen als ein verh altnismaig
unwesentliches Beiwerk der Elementargeometrie. Ohne Zweifel empfinden wir als
die eigentlich inhaltsvollsten und die wichtigsten Einzelaussagen der Elementarge-
ometrie die von der folgenden reinen Form: ,,Wenn eine Reihe von geometrischen
Gebilden, d.h. eine Anzahl von Punkten, Geraden, usw., gegeben vorliegt, und
zwar derart, da zwischen den gegebenen Punkten, Geraden usw. die und die ge-
ometrischen Lagebeziehungen bestehen (Koinzidenz, Senkrechtstehen, Parallel-
laufen, ,,Mittelpunkt sein und anderes mehr), dann ist eine notwendige Folge
dieser Annahme, da auch noch diese bestimmte weitere geometrische Lage-
beziehung gleichzeitig besteht. In Satzen dieser Form kommt nichts von Existen-
zaussagen vor. Was das Wichtigste ist, nicht in den Folgerungen. Dann aber auch
nicht in den Annahmen. Wir nehmen an: Wenn die und die Dinge in den und den
Beziehungen gegeben vorliegen..., usw. Wir machen aber keinerlei Voraussetzun-
gen daruber, ob eine solche Konfiguration in unserer Geometrie existieren kann.
Der Schlu ist nur: Wenn sie existieren, dann .... Falls die Konfiguration gar nicht
existiert, der Satz also gegenstandslos wird, betrachten wir ihn nach der u blichen
Konvention ,,gegenstandslos, also richtig als richtig.22
22 Indeed, also the existence statements seem to us a relatively inessential side issue of
elementary geometry. Undoubtedly, we find as the really most substantial and most
important special statements of elementary geometry those of the following pure form:
If a sequence of geometric creations, that is, a number of points, lines etc., are given
to us, and that in such a way, that those and those geometric position relations exist
between the given points, lines etc. (coincidence, orthogonality, parallelism, being a
centre, and other), then a necessary consequence of this assumption is that also this
certain further geometric position relation exists at the same time. In theorems of this
form, no existence statements occur. What is most important: not in the consequences.
But then neither in the assumptions. We assume: If those and those things are given
684 Chapter 39. Matroids
to us in those and those relations..., etc. We do not make any assumption on the fact
if such a configuration can exist in our geometry. The conclusion is only: If they exist,
then .... In case the configuration does not exist at all, and the theorem thus becomes
meaningless, we consider it by the usual convention meaningless, hence correct as
correct.
23
A) Axiom of ground cycles: The cycle is correct for each , the cycle for no .
B) Axiom of solving: 1 2 . . . n 1 2 . . . n ; in words: From the correctness of the
cycle 1 2 . . . n follows that of the cycle 1 2 . . . n .
C) Axiom of transposition: 1 2 . . . n 2 3 . . . n 1 .
D) Axiom of inversion: 1 2 . . . n1 n n n1 . . . 2 1 .
E) Axiom of addition: 1 2 . . . n and 1 2 . . . r 1 2 . . . n 1 2 . . . r .
24 In the present research, an axiom system for a new formulation of linear dependence of
the n-dimensional projective space should be indicated, while we use here mainly the
cycle calculus, which Mr G. Thomsen has constructed in his foundation of elementary
geometry, in a still more abstract sense.
Section 39.10b. Historical notes on matroids 685
Axiom 1. (Reflexivit
at) aa. :
Axiom 2. (Folgerung) a1 as a1 as x, (s = 1, 2, ).
:
Axiom 3. (Vertauschung) a1 ai as ai a1 as ,
:
(s = 2, 3, ; i = 2, , s).
Axiom 4. (Transitivit at) : a1 as = 0, xa1 as , a1 as y
xa1 as1 y, (s = 1, 2, ).
Definition I. Eine solche Menge B1 heisst der erste Verkn upfungsraum, in kurzen
Worten, B1 -Raum.25
The axioms presented by Nakasawa were also given by Pauc [1937], added with
an axiom describing the limit behaviour of dependence, if the underlying set is
endowed with a topology:
Introduction axiomatique dune notion de de pendance sur une classe lim-
ite. Soit D un pr edicat relatif aux syst`emes finis non ordonnes de points dune
classe limite L, assujetti aux axiomes (notation dHilbert-Bernays)
(A1 ) (x1 )(x2 )(D[x1 , x2 ] (x1 = x2 )),
(A2 ) (x1 )(x2 ) . . . (xp )(y)(D[x1 , x2 , . . . , xp ] D[x1 , x2 , . . . , xp , y]),
(A3 ) (x1 )(x2 ) . . . (xp )(y)(z)(D[x1 , . . . , xp ]& D[x1 , . . . , xp , y]&
D[x1 , . . . , xp , z] D[x2 , . . . , xp , y, z]),
Quels que soient les points x1 , x2 , . . . , xp et la suite y1 , y2 , . . . , yq ,
(A4 ) . . . de L
( lim yq = y)&(q)D[x1 , x2 , . . . , xp , yq ] D[x1 , x2 , . . . , xp , y].26
q
In a subsequent paper, Haupt, N obeling, and Pauc [1940] studied systems, called
A-Mannigfaltigkeit, (A-manifolds) that satisfy the axioms A1 -A3 . They mentioned
25 Basic assumption: We imagine ourselves a certain set of elements; B1
a1 , a2 , , as , . For certain sequences of the elements, which we want to call cycles,
we think the relations on them to hold or to be valid, in notation a1 as = 0, and
not to hold or not to be valid, in notation a1 as = 0, respectively. These relations
now should satisfy the following axioms;
Axiom 1. (reflexivity) : aa.
Axiom 2. (deduction) : a1 as a1 as x, (s = 1, 2, ).
Axiom 3. (exchange) : a1 ai as ai a1 as ,
(s = 2, 3, ; i = 2, , s).
Axiom 4. (transitivity) : a1 as = 0, xa1 as , a1 as y
xa1 as1 y, (s = 1, 2, ).
Definition I. Such a set B1 is called the first connection space, in short, B1 -space.
26 Axiomatic introduction of a notion of dependence on a limit class. Let D
be a predicate relative to the finite unordered systems of points from a limit class L,
subject to the axioms (notation of Hilbert-Bernays)
686 Chapter 39. Matroids
that this axiom system was indeed inspired by those for collinearity of Hilbert-
Bernays quoted above. They commented that its relation with Birkhos lattices,
is analogous to the relation of the Hilbert-Bernays collinearity axioms with those
of Hilbert for points and lines.
Haupt, N obeling, and Pauc [1940] gave, as examples, linear and algebraic de-
pendence, and derived several basic facts (all bases have the same size, each inde-
pendent set is contained in a base, for each pair of bases B, B and x B \ B there
is a y B \ B such that B x + y is a base, and the rank is submodular).
The authors mentioned that they were informed by G. K othe about the relations
of their work with the lattice formulation of algebraic dependence of Mac Lane
[1938], but no connection is made with Whitneys matroid.
Among the further papers related to matroids are Menger [1936b], giving ax-
ioms for (full) ane spaces, and Wilcox [1939,1941,1942,1944] and Dilworth [1941a,
1941b,1944] on matroid lattices. The notion of M -symmetric lattice introduced by
Wilcox [1942] was shown in Wilcox [1944] to be equivalent to upper semimodular
lattice.
Rado
Rado was one of the first to take the independence structure as a source for further
theorems, and to connect it with matching type theorems and combinatorial opti-
mization. He had been interested in K onig-Hall type theorems (Rado [1933,1938]),
and in his paper Rado [1942], he extended Halls marriage theorem to transversals
that are independent in a given matroid a precursor of matroid intersection. In
fact, with an elementary construction, Rados theorem implies the matroid union
theorem, and hence also the matroid intersection theorem (to be discussed in Chap-
ters 41 and 42).
Rado [1942] did not refer to any earlier literature when introducing the concept
of an independence relation, but the axioms are similar to those of Whitney for
the independent sets in a matroid. Rado mentioned only linear independence as a
special case.
He proved that a family of subsets of a matroid has an independent transversal
if and only if the union of any k of the subsets contains an independent set of size
k, for all k. Rado also showed that this theorem characterizes matroids.
Rado [1949a] extended the concept of matroid to infinite matroids, where he
says that he extends the axioms of Whitney [1935].
Rado [1957] showed that if the elements of a matroid are linearly ordered by ,
there is a unique minimal base {b1 , . . . , br } with b1 < b2 < < br such that for
each i = 1, . . . , r all elements s < bi belong to span({b1 , . . . , bi1 }). Rado derived
that for any independent set {a1 , . . . , ak } with a1 < < ak one has bi ai
for i = 1, . . . , k. Therefore, the greedy method gives an optimum solution when
(A1 ) (x1 )(x2 )(D[x1 , x2 ] (x1 = x2 )),
(A2 ) (x1 )(x2 ) . . . (xp )(y)(D[x1 , x2 , . . . , xp ] D[x1 , x2 , . . . , xp , y]),
(A3 ) (x1 )(x2 ) . . . (xp )(y)(z)(D[x1 , . . . , xp ]& D[x1 , . . . , xp , y]&
D[x1 , . . . , xp , z] D[x2 , . . . , xp , y, z]),
Whatever are the points x1 , x2 , . . . , xp and the sequence y1 , y2 , . . . , yq ,
(A4 ) . . . from L
( lim yq = y)&(q)D[x1 , x2 , . . . , xp , yq ] D[x1 , x2 , . . . , xp , y].
q
Section 39.10b. Historical notes on matroids 687
applied to find a minimum-weight base. Rado mentioned that it extends the work
of Boruvka and Kruskal on finding a shortest spanning tree in a graph.
For notes on the history of matroid union, see Section 42.6f. For an excellent
survey of early literature on matroids, with reprints of basic articles, see Kung
[1986].
Chapter 40
Proof. We can assume that w(s) 0 for each s S (as neither the maximum
nor the minimum changes by resetting w(s) to 0 if negative). Then (40.4)
implies that the i are integer. This gives integer optimum solutions of (40.9)
and (40.10).
Similar results hold for the base polytope. For any matroid M , let
Pbase (M ) be the base polytope of M , defined as the convex hull of the in-
cidence vectors of bases of M . Then:
Proof. This follows directly from Corollary 40.2b, since the base polytope
is the intersection of the independent set polytope with the hyperplane {x |
x(S) = rM (S)}, as an independent set I is a base if and only if |I| rM (S).
One can similarly describe the spanning set polytope Pspanning set (M ) of
M , which is, by definition, the convex hull of the incidence vectors of the
spanning sets of M . It is determined by the system:
(40.12) 0 xs 1 for s S,
x(U ) rM (S) rM (S \ U ) for U S.
Note that
(40.15) Pbase (M ) = Pindependent set (M ) Pspanning set (M ),
Pindependent set (M ) = Pbase (M ) [0, 1]S ,
Pspanning set (M ) = Pbase (M ) [0, 1]S .
The following consequence on the intersection of the base polytope with a
box was observed by Hell and Speer [1984]:
Lemma 40.4. Let M = (S, I) be a matroid and let I I. Let (s, t) A(I),
define I := I s+t, and let (u, v) A(I )\A(I). Then t = u or (u, t) A(I),
and s = v or (s, v) A(I).
Section 40.3. The most violated inequality 695
Case 2: D has a qT path. For each v S +q, let d(v) denote the distance
in D from q to v (set to if no q v path exists). Choose a t T with d(t)
finite and maximal, and among these t we choose the largest t. Let (s, t) A,
1 ). Let
with d(s) = d(t) 1, and s largest. We can assume that (s, t) A(I
(40.29) := min{xt zt , 1 }
and define z by
(40.30) z := z + (t s ) if s = q, and z := z + t if s = q.
Let I1 := I1 s + t (so I1 = I1 + t if s = q).
Then
k
(40.31) z = I1 + (1 )I1 + i Ii .
i=2
Running time. We show that the number of iterations is at most |S|9 . Con-
sider any iteration. Let d and A be the objects d and A of the next iteration.
We first show:
(40.32) for each v S + q: d (v) d(v).
To show this, we can assume that d (v) < . We show (40.32) by induction on
d (v), the case d (v) = 0 being trivial (as it means v = q). Assume d (v) > 0.
Let u be such that (u, v) A and d (u) = d (v) 1. By induction we know
d (u) d(u).
If (u, v) A, then d(v) d(u) + 1 d (u) + 1 = d (v), as required. If
) and (u, v) A(I
(u, v) A, then (u, v) A(I 1 ). By Lemma 40.4, t = u
1
1 ), and s = v or (s, v) A(I
or (u, t) A(I 1 ). Hence
). This
we have (40.34), so assume s = s. Then = 1, as (s, t) A(I 1
proves (40.34).
The number k of independent sets in the decomposition grows by 1 if
= xt zt < 1 . In that case, d (v) = d(v) for each v S + q (by (40.32),
as A A). Moreover, d (t ) < d(t) or t < t (since T T t + s). So k
does not exceed |S|4 , and hence is at most |S|4 . Concluding, the number
of iterations is at most |S|9 .
One can derive a similar result for the spanning set polytope:
The theorem also implies that the following most violated inequality prob-
lem can be solved in strongly polynomial time:
(40.35) given: a matroid M = (S, I) by an independence testing oracle,
and a vector x QS ;
find: a subset U of S minimizing rM (U ) x(U ).
Theorem 40.5. If M is loopless, the following is a minimal system for the inde-
pendent set polytope of M :
(40.36) (i) xs 0 (s S),
(ii) x(F ) r(F ) (F is a nonempty inseparable flat).
It follows that the base polytope, which is the face {x P | x(S) = r(S)} of
P , has dimension |S| 1 if and only if S is inseparable (that is, the matroid is
connected ).
As for adjacency of vertices of the independent set polytope, we have:
Theorem 40.6. Let M = (S, I) be a loopless matroid and let I and J be distinct
independent sets. Then I and J are adjacent vertices of the independent set
Section 40.3b. Further notes 699
Proof. To see suciency, note that the condition implies that I and J are the
only two independent sets with incidence vector x satisfying x(I J) = rM (I J),
xs = 0 for s
I J, and (if |IJ| = 2) x(I J) = rM (I J). Hence I and J are
adjacent.
To see necessity, assume that I and J are adjacent. If I is not a base of I J,
then I + j is independent for some j J \ I. Hence
(40.38) 1
2
(I + J ) = 12 (I+j + Jj ),
implying (as I and J are adjacent) that I +j = J and J j = I, that is |IJ| = 1.
So we can assume that I and J are bases of I J. Choose i I \ J. By Theorem
39.12, there is a j J \ I such that I i + j and J j + i are bases of I J. Then
(40.39) 1
2
(I + J ) = 12 (Ii+j + Jj+i ),
implying (as I and J are adjacent) that I i + j = J and J j + i = I, that is
we have the second alternative in the condition.
Prodon [1984] showed that the separation problem for the independent set polytope
of a matching matroid can be solved by finding a minimum-capacity cut in an
auxiliary directed graph.
Frederickson and Solis-Oba [1997,1998] gave strongly polynomial-time algo-
rithm for measuring the sensitivity of the minimum weight of a base under per-
turbing the weight. (Related analysis was given by Libura [1991].)
Narayanan [1995] described a rounding technique for the independent set poly-
tope membership problem, leading to an O(n3 r2 )-time algorithm, where n is the
size of the underlying set of the matroid and r is the rank of the matroid.
A strongly polynomial-time algorithm maximizing certain convex objective
functions over the bases was given by Hassin and Tamir [1989].
For studies of structures where the greedy algorithm applies if condition (39.1)(i)
is deleted, see Faigle [1979,1984b], Hausmann, Korte, and Jenkyns [1980], Korte and
Lovasz [1983,1984a,1984b,1984c,1985a,1985b,1989], Bouchet [1987a], Goecke [1988],
Dress and Wenzel [1990], Korte, Lov asz, and Schrader [1991], Helman, Moret, and
Shapiro [1993], and Faigle and Kern [1996].
Chapter 41
Matroid intersection
Edmonds discovered that matroids have even more algorithmic power than
just that of the greedy method. He showed that there exist ecient algo-
rithms also for intersections of matroids. That is, a maximum-weight com-
mon independent set in two matroids can be found in strongly polynomial
time. Edmonds also found good min-max characterizations for matroid
intersection.
Matroid intersection yields a motivation for studying matroids: we may
apply it to two matroids from dierent classes of examples of matroids,
and thus we obtain methods that exceed the bounds of any particular
class.
We should note here that if M1 = (S, I1 ) and M2 = (S, I2 ) are matroids,
then (S, I1 I2 ) need not be a matroid. (An example with |S| = 3 is easy
to construct.)
Moreover, the problem of finding a maximum-size common independent
set in three matroids is NP-complete (as finding a Hamiltonian circuit in
a directed graph is a special case; also, finding a common transversal of
three partitions is a special case).
Proof. Let k be equal to (41.1). It is easy to see that the maximum is not
more than k, since for any common independent set I and any U S:
(41.2) |I| = |I U | + |I \ U | r1 (U ) + r2 (S \ U ).
We prove equality by induction on |S|, the case |S| 1 being trivial. So
assume that |S| 2.
If minimum (41.1) is attained only by U = S or U = , choose s S.
Then r1 (U ) + r2 (S \ (U {s})) k for each U S \ {s}, since otherwise
both U and U {s} would attain (41.1), whence {U, U {s}} = {, S},
contradicting the fact that |S| 2. Hence, by induction, M1 \ s and M2 \ s
have a common independent set of size k, implying the theorem.
So we can assume that (41.1) is attained by some U with = U = S.
Then M1 |U and M2 U have a common independent set I of size r1 (U ).
Otherwise, by induction, there exists a subset T of U with
(41.3) r1 (U ) > rM1 |U (T ) + rM2 U (U \ T ) = r1 (T ) + r2 (S \ T ) r2 (S \ U ),
contradicting the fact that U attains (41.1). Similarly, M1 (S\U ) and M2 |(S\
U ) have a common independent set J of size r2 (S \ U ).
Now I J is a common independent set of M1 and M2 . Indeed, I J
is independent in M1 , as I is independent in M1 |U and J is independent in
M1 (S \ U ) = M1 /U (cf. (39.10)). Similarly, I J is independent in M2 . As
|I J| = r1 (U ) + r2 (S \ U ), this proves the theorem.
Notes. Mirsky [1971a] gave an alternative proof of Rados theorem. Welsh [1970]
showed that, in turn, Rados theorem implies the matroid intersection theorem. Las
Vergnas [1970] gave an extension of Rados theorem. Rado [1942] (and also Welsh
[1971]) showed that Rados theorem in fact characterizes matroids. Perfect [1969a]
generalized Rados theorem to characterizing the maximum size of an independent
partial transversal. Related results are in Perfect [1971].
Coloured trees. Let G = (V, E) be a graph and let the edges of G be coloured
with k colours. That is, we have partitioned E into sets E1 , . . . , Ek , called colours.
Then there exists a spanning tree with all edges coloured dierently if and only if
G F has at most t + 1 components, for any union F of t colours, for any t 0.
This follows from the matroid intersection theorem applied to the cycle matroid
M (G) of G and the partition matroid N induced by E1 , . . . , Ek .
Indeed, M (G) and N have a common independent set of size |V | 1 if and only
if rM (G) (E \ F ) + rN (F ) |V | 1 for each F E. Now rN (F ) is equal to the
number of Ei intersecting F . So we can assume that F is equal to the union of t
of the Ei , with t := rN (F ). Moreover, rM (G) (E \ F ) is equal to |V | (G F ),
where (G F ) is the number of components of G F . So the requirement is that
|V | (G F ) + t |V | 1. In other words, (G F ) t + 1.
This finishes the description of the algorithm. The correctness of the al-
gorithm is given by the following two theorems.
Notes. The above algorithm can be shown to take O(n2 m(n + Q)) time, where n is
the maximum size of a common independent set, m is the size of the underlying set,
and Q is the time needed to test if a given set is independent (in either matroid).
Cunningham [1986] showed that if one chooses a shortest path as augmenting path,
the sum of the lengths of all augmenting paths chosen is O(n log n), which gives
an O(n3/2 mQ)-time algorithm. This algorithm extends several of the ideas behind
the O(n1/2 m) algorithm of Hopcroft, Karp, and Karzanov for cardinality bipartite
matching (see Section 16.4). For more ecient algorithms, see Gabow and Tarjan
[1984], Gusfield [1984], Gabow and Stallmann [1985], Frederickson and Srinivas
[1989], Gabow and Xu [1989,1996], and Fujishige and Zhang [1995].
The problem of finding a maximum-size common independent set in three ma-
troids is NP-complete, as finding a Hamiltonian circuit in a directed graph is a
special case (as was observed by Held and Karp [1970]). Another special case is
finding a common transversal of three collections of sets, which is also NP-complete
(Theorem 23.16). In particular, the k-intersection problem can be reduced to the
3-intersection problem (cf. Lawler [1976b]).
Barvinok [1995] gave an algorithm for finding a maximum-size common inde-
pendent set in k linear matroids, represented by given vectors over the rationals.
The running time is linear in the cardinality of the underlying set and singly poly-
nomial in the maximum rank of the matroids.
w(x) if x I,
(41.21) l(x) :=
w(x) if x I.
The length of a path P , denoted by l(P ), is equal to the sum of the lengths
of the vertices traversed by P .
This finishes the description of the algorithm. The correctness of the algo-
rithm if Case 2 applies follows directly from Theorem 41.3. In order to show
the correctness if Case 1 applies, we first prove the following basic property
of the length function l.
Lemma 41.5. Let C be a directed circuit in DM1 ,M2 (I) and let t V C.
Define J := IV C. If J I1 I2 , then there exists a directed circuit C
with V C V C such that l(V C ) < 0, or l(V C ) l(V C) and t V C .
Theorem 41.5. Let I I1 I2 . Then I is extreme if and only if DM1 ,M2 (I)
has no directed circuit of negative length.
Section 41.3. Weighted matroid intersection algorithm 709
Proof. To see necessity, suppose that DM1 ,M2 (I) has a directed circuit C of
negative length. Choose C with |V C| minimal. Consider J := IV C. Since
w(J) = w(I) l(C) > w(I), while |J| = |I|, we know that J I1 I2 . Hence
by Lemma 41.5, DM1 ,M2 (I) has a negative-length directed circuit covering
fewer than |V C| vertices, contradicting our assumption.
To see suciency, consider a J I1 I2 with |J| = |I|. By Corollary
39.12a, both DM1 (I) and DM2 (I) have a perfect matching on IJ. These
two matchings together form a vertex-disjoint union of a number of directed
circuits C1 , . . . , Ct . Then
t
(41.24) w(I) w(J) = l(V Cj ) 0,
j=1
This theorem implies that we can find a shortest path P , in Case 1 of the
algorithm, in strongly polynomial time (with the Bellman-Ford method). It
also gives:
Proof. The last extreme common independent set in the above algorithm is
a maximum-weight common base. By flipping the signs of the weights, this
can be turned into a minimum-weight common base algorithm.
Proof. The theorem follows easily with Corollary 39.12b. Indeed, there is an arc
(u, v) leaving I if and only if I u + v I1 . Then
(41.30) w1 (v) w1 (u) l(v) p(v) p(u),
since l(v) = w(v) = w2 (v) w1 (v) and w2 (v) w1 (u) = p(v) p(u).
Similarly, there is an arc (u, v) entering I if and only if I v + u I2 . Then
(41.31) w2 (v) w2 (u) l(v) p(v) p(u),
since l(v) = w(v) = w2 (v) + w1 (v) and w2 (u) + w1 (v) = p(v) p(u).
Using (41.28) and Theorem 41.9, we can obtain from w1 , w2 a potential for I .
This implies:
Proof. Each iteration can be done in time O(T + n log n), since constructing the
graph DM1 ,M2 (I) takes T time, implying that there are O(T ) arcs. Hence, by Corol-
lary 7.7a, a shortest X1 X2 path P can be found in O(T + n log n) time. Hence
I , and a potential for I can be found in time O(T + n log n).
Since there are k iterations, we have the time bound given.
In applications where the matroids are specifically given, one can often derive
a better time bound, by obtaining DM1 ,M2 (I ) not from scratch, but by adapting
DM1 ,M2 (I). See also Brezovec, Cornuejols, and Glover [1986] and Gabow and Xu
[1989,1996].
It turns out that the intersection of the independent set polytopes of two
matroids gives exactly the convex hull of the common independent sets, as
was shown by Edmonds [1970b]27 .
We first prove a very useful theorem, due to Edmonds [1970b], which we
often will apply in this part. (A more general statement and interpretation
in terms of network matrices will be given in Section 13.4.)
A family C of sets is called laminar if
(41.36) Y Z or Z Y or Y Z =
for all Y, Z C.
is minimized. Define
(41.40) Fi := {U S | yi (U ) > 0},
for i = 1, 2. We show that for i = 1, 2, the collection Fi is a chain; that is,
714 Chapter 41. Matroid intersection
(41.41) if T, U Fi , then T U or U T .
Suppose not. Choose := min{yi (T ), yi (U )}, and decrease yi (T ) and yi (U )
by , and increase yi (T U ) and yi (T U ) by . Since
(41.42) T + U = T U + T U ,
y1 , y2 remains a feasible solution of (41.38); and since
(41.43) ri (T ) + ri (U ) ri (T U ) + ri (T U ),
it remains optimum. However, sum (41.39) decreases (by Theorem 2.1), con-
tradicting the minimality assumption. So F1 and F2 are chains.
As the constraints in (41.37)(ii) corresponding to F1 and F2 form a totally
unimodular matrix (by Theorem 41.11), by Theorem 5.35 system (41.37)(ii)
is box-TDI, and hence (41.37) is box-TDI.
(The fact that the Fi can be taken to be chains also follows directly from the
proof method of Theorem 40.2.)
This implies a characterization of the common independent set polytope
(41.44) Pcommon independent set (M1 , M2 )
of two matroids M1 = (S, I1 ) and M2 = (S, I2 ), being the convex hull of the
incidence vectors of the common independent sets of M1 and M2 :
Proof. Directly from Theorem 41.12, since it implies that the vertices of
the polytope determined by (41.37) are integer, and hence are the incidence
vectors of common independent sets.
Corollary 41.12b.
(41.45) Pcommon independent set (M1 , M2 )
= Pindependent set (M1 ) Pindependent set (M2 ).
Proof. From Corollary 41.12a, using the fact that (41.37) is the union of the
constraints for the independent set polytopes of M1 and M2 , by Corollary
40.2b.
The total dual integrality of (41.37) gives the following extension of the
matroid intersection theorem:
Moreover, similar results hold for the common spanning set polytope.
For matroids M1 and M2 , let the common spanning set polytope, in notation
Pcommon spanning set (M1 , M2 ), be the convex hull of the incidence vectors of
common spanning sets of M1 and M2 . Then:
Corollary 41.12f.
(41.48) Pcommon spanning set (M1 , M2 )
= Pspanning set (M1 ) Pspanning set (M2 ).
Proof. This follows from the box-total dual integrality of (41.37), using the
fact that r(U1 U2 ) r1 (U1 ) + r2 (U2 ) for disjoint U1 , U2 .
Define
(41.51) F := {y P | s S : xs = 0 ys = 0; U U : y(U ) = r(U )}.
So F is a face of P containing x.
Find a common independent set I with I F . This can be done by
finding a common independent set I supp(x) maximizing wT x, where w :=
U
U U . (Here supp(x) is the support of x; so supp(x) = {s S | xs > 0}.)
If x = I we stop. Otherwise, define u := x I . Let be the largest
rational such that
(41.52) I + u
belongs to P .
We describe an inner iteration to find . We consider vectors z along the
halfline L = {I + u | 0}. First we let be the largest rational with
I + u 0, and set z := I + u.
We iteratively reset z. We check if z belongs to the common independent
set polytope, and if not, we find a U S minimizing r(U ) z(U ) (with
Corollary 40.4c). Let z be the (unique) vector on L achieving x(U ) r(U )
with equality; that is, satisfying z (U ) = r(U ).
Consider any inequality x(U ) r(U ) violated by z . Then
(41.53) r(U ) |U I| < r(U ) |U I|.
This can be seen by considering the function
(41.54) d(y) := (r(U ) y(U )) (r(U ) y(U )).
We have d(z) 0 (since U minimizes r(U ) z(U )) and d(z ) > 0 (since
z (U ) = r(U ) and z (U ) > r(U )). Hence, as d is linear, d(I ) > 0; that is,
we have (41.53). This implies that resetting z := z , there are at most r(S)
inner iterations.
Let x be the final z found. If we apply no inner iteration, then xs = 0 for
some s I supp(x) (since we chose largest with I +u 0). If we do at
least one inner iteration, we find a U such that x satisfies x (U ) = r(U ) while
|U I| < r(U ) (since x is the unique vector on L satisfying x (U ) = r(U )
and since x = I ).
In the latter case, set U := U {U }; otherwise set U := U. Then resetting
x to x and U to U , the dimension of F decreases (as I does not belong to
the new F ). So the number of iterations is at most |S|. This shows that the
method is strongly polynomial-time.
Since the common independent set polytope of two matroids is the intersection of
their independent set polytopes, each facet-inducing inequality for the intersection
is facet-inducing for (at least) one of the independent set polytopes, but not nec-
essarily conversely. Giles [1975] characterized which inequalities are facet-inducing
718 Chapter 41. Matroid intersection
for the common independent set polytope. If this polytope is full-dimensional, then
each inequality xs 0 is facet-inducing. As for the other inequalities, Giles proved:
and such that i (U ) = 0 for i = 1, 2. Let D be the least common denominator of the
values of the i . Choose the i such that D is as small as possible and (secondly)
such that
(41.58) D (1 (T ) + 2 (T ))|T |(|S \ T | + 1)
T S
reset i (U ) := 0, and multiply all values of 1 and 2 by D/(D 1). This again
maintains (41.57) but decreases the least common divisor of the denominators. So
the contradiction would remain, except if D = 1. Then (41.57) implies ri (T1 ) +
ri (T2 ) r1 (U ). Now if T1 T2 = U , then U T1 and
(41.61) r(T1 ) ri (T1 ) ri (T1 ) + ri (T2 ) r1 (U ),
contradicting the condition. If T1 T2 = U , then
(41.62) r(T1 ) + r(U \ T1 ) ri (T1 ) + ri (U \ T1 ) ri (T1 ) + ri (T2 ) r1 (U ),
again contradicting the condition.
This proves (41.60). As each Fi is a chain, the incidence matrix of F1 F2
is totally unimodular (by Theorem 41.11). Therefore, there are integer-valued i
satisfying (41.57), with i (T ) = 0 for T Fi . Then we can assume that |Fi | 1 for
i = 1, 2, since if T, T Fi and T T , we can decrease i (T ) by 1 without violating
(41.57). If U Fi with U U , then r(U ) ri (U ) r(U ), contradicting
the condition. So each Fi contains a set Ui U , implying r(U1 ) + r(U \ U1 )
r(U1 ) + r(U2 ) r1 (U1 ) + r2 (U2 ) r(U ), again contradicting the condition.
This theorem can be seen to imply a variant of it, in which, instead of r(U ) :=
min{r1 (U ), r2 (U )}, we define
(41.63) r(U ) := max{|I| I I1 I2 } = min (r1 (T ) + r2 (U \ T )).
T U
Fonlupt and Zemirline [1983] characterized the dimension of the common base
polytope of two matroids.
where r1 and r2 are the rank functions of M1 and M2 respectively, and where k is
the size of a common base. This implies that if we add x 1 to (41.66) we obtain
the convex hull of the subsets of S that contain a common base.
Similarly, the down hull of the common base polytope:
S
(41.67) Pcommon base (M1 , M2 ) := Pcommon base (M1 , M2 ) R+ ,
is determined by
(41.68) x(U ) r1 (S \ A) + r2 (S \ B) k for each partition U, A, B of S.
This can be derived from the description of the up hull of the common base polytope,
since
(41.69) Pcommon base (M1 , M2 ) = 1 Pcommon base (M1 , M2 )
Tutte [1965b] showed a special case of the matroid intersection theorem, namely
when both M1 and M2 are minors of one matroid. Specialized to graphic matroids,
it gives the vertex-disjoint, undirected version of Mengers theorem.
Let M = (E, I) be a matroid, with rank function r, and let U and W be disjoint
subsets of E. Then the maximum size of a common independent set in M/U \ W
and M/W \ U is equal to the minimum value of
(41.70) r(X) r(U ) + r(E \ X) r(W )
taken over sets X with U X E \ W . This is the special case of the matroid
intersection theorem for the matroids M/U \ W and M/W \ U , since for Y
E \ (U W ) one has
(41.71) rM/U \W (Y ) = r(Y U ) r(U ),
and similarly for M/W \ U .
To see that this implies the vertex-disjoint, undirected version of Mengers the-
orem, let G = (V, E) be a graph and let S and T be disjoint nonempty subsets of
V . We show that the above theorem implies that the maximum number of disjoint
S T paths in G is equal to the minimum number of vertices intersecting each
S T path.
To this end, we can assume that G is connected, and that E contains subsets
U and W such that (S, U ) and (T, W ) are trees. (Adding appropriate edges does
not modify the result to be proved.)
Let M := M (G) be the cycle matroid of G. Define R := V \ (S T ). Then
Section 41.5b. Exchange properties 721
Kundu and Lawler [1973] showed the following extension of the exchange property
of bipartite graphs given in Theorem 16.8. Let M1 = (S, I1 ) and M2 = (S, I2 ) be
matroids, with span functions span1 and span2 . Then
(41.75) For any I1 , I2 I1 I2 there exists an I I1 I2 with I1 span1 (I)
and I2 span2 (I).
(Theorem 16.8 is equivalent to the case where the Mi are partition matroids.)
To prove (41.75), choose I I1 I2 with I1 span1 (I) and |I I2 | maximized.
Suppose that I2 span2 (I). Choose s I2 \ span2 (I) with I {s} I2 . By
the maximality of |I I2 | we know that I {s} I1 . So M1 has a circuit C
722 Chapter 41. Matroid intersection
y x
1 = y x 1 2. Hence, by our induction hypothesis applied to z + i
and y, we have (41.78).
As Bouchet and Cunningham [1995] observed, this theorem implies that the
following two constructions give jump systems J ZV .
For any matroid M = (S, I), the set {B | B base of M } is a jump system in
S
Z , as follows directly from the axioms (39.33). With Theorem 41.15, this implies
that for matroids M1 = (S, I1 ) and M2 = (S, I2 ), the set
(41.80) J := {B1 B2 | Bi base of Mi (i = 1, 2)}
is a jump system.
Let G = (V, E) be an undirected graph and let
(41.81) J := {degF | F E} ZV ;
that is, J is the collection of degree sequences of spanning subgraphs of G. Again,
J is a jump system. This follows from Theorem 41.15, since for each edge e = uv
the set {0, {u,v} } is trivially a jump system in ZV and since J is the sum of these
jump systems.
Bouchet and Cunningham [1995] showed that the following greedy approach
finds, for any w Rn , a vector x J maximizing wT x. By reflecting, we can
assume that w 0. We can also assume that w1 w2 wn . Let J0 := J,
and for i = 1, . . . , n, let Ji be the set of vectors x in Ji1 maximizing xi over Ji1 .
Trivially, Jn consists of one vector, y say. Then:
Proof. It suces to show that the maximum value of wT x over J1 is the same as
over J (since applying this to the jump systems J1 , . . . , Jn gives the theorem). Let
the maximum over J be attained by x and over J1 by y. Suppose wT y < wT x.
So x
J1 , and hence x1 < y1 . We choose x, y such that y1 x1 is minimal. Let
z := x + 1 . So z is a step from x to y.
Then wT z = wT x + w1 wT x. Hence z J, since otherwise we can replace x
by z, contradicting the minimality of y1 x1 . So, by (41.78), J contains a step u
from z to y. So u = z i for some i {1, . . . , n}. Then
(41.82) wT u = wT z wi wT z wi = wT x + w1 wi wT x.
So we can replace x by u, again contradicting the minimality of y1 x1 (as u1 > x1 ).
Lovasz [1997] gave a min-max relation for the minimum l1 -distance of an integer
vector to a jump system of special type. It can be considered as a common gener-
alization of the matroid intersection theorem (Theorem 41.1) and the Tutte-Berge
formula (Theorem 24.1).
For a survey, see Cunningham [2002].
A special case of the weighted matroid intersection algorithm (where one matroid
is a partition matroid) was studied by Brezovec, Cornuejols, and Glover [1988].
724 Chapter 41. Matroid intersection
Data structures for on-line updating of matroid intersection solutions were given
by Frederickson and Srinivas [1984,1987], and a randomized parallel algorithm for
linear matroid intersection by Narayanan, Saran, and Vazirani [1992,1994].
An extension of matroid intersection to supermatroid intersection was given
by Tardos [1990]. Fujishige [1977a] gave a primal approach to weighted matroid in-
tersection, and Shigeno and Iwata [1995] a dual approximation approach. Camerini
and Maoli [1975,1978] studied 3-matroid intersection problems.
Chapter 42
Matroid union
for U S.
for U S1 Sk .
This implies that the minimum number of independent sets (or bases)
needed to cover the underlying set is described by the following result of
Edmonds [1965c]29 :
29 This result was also given, without proof, by Rado [1966], saying that the argument of
Horn [1955] for linear matroids can be extended to arbitrary matroids. The result con-
Section 42.1a. Applications of the matroid union theorem 727
One similarly has for the maximum number of disjoint bases in a matroid
(Edmonds [1965a]):
Proof. M has k disjoint bases if and only if the maximum size of the union
of k independent sets is equal to k r(S). By Corollary 42.1b, this is the case
if and only if
(42.9) min (|S \ U | + k r(U )) k r(S),
U S
The more general forms of Corollaries 42.1c and 42.1d, with dierent
matroids, were shown by Edmonds and Fulkerson [1965].
as the transversal matroid induced by X , so in this way one can prove again that
transversal matroids indeed are matroids.
for each I {1, . . . , n}. This easy consequence of Halls marriage theorem (cf.
Theorem 22.10) can also be derived by applying the matroid base packing theorem
to the transversal matroid induced by X , using (39.19).
Similarly, it can be derived from the matroid base covering theorem that S can
be partitioned into k partial transversals of X if and only if
(42.11) k(n |I|) |S \ Xi |
iI
An exchange property of bases. The matroid union theorem also implies the
following stronger exchange property of bases of a matroid (stronger than given in
the axioms in Theorem 39.6). In any matroid M = (S, I),
(42.13) for any two bases B1 and B2 and for any partition of B1 into X1 and
Y1 , there is a partition of B2 into X2 and Y2 such that both X1 Y2
and X2 Y1 are bases.
This property was conjectured by G.-C. Rota, and proved by Brylawski [1973],
Greene [1973], and Woodall [1974a] we follow the proof of McDiarmid [1975a].
Consider the matroids M1 := M/Y1 and M2 := M/X1 . Note that M1 has
rank |X1 | and that M2 has rank |Y1 |. We must show that B2 is the union of an
independent set X2 of M1 and an independent set Y2 of M2 . By the submodularity
of the rank functions ((39.38)(ii)) we have for each T B2 :
30 Horn [1955] thanked Rado for improvements in the setting out of the argument. The
result was also published, in the same journal, by Rado [1962a]. This paper does not
mention Horns paper. The proof by Rado [1962a] is the same as that of Horn [1955]
and uses the same notation. But Rado [1966] said that the theorem was first proved by
Horn [1955].
Section 42.1b. Horns proof 729
So s A, proving (42.17).
Now choose s, I1 , . . . , Ik , and j1 , . . . , jn as in (42.17) with n as small as possible.
For t = 0, . . . , n, define
(42.19) Bt := [Ij1 , . . . , Ijt ].
As we have a counterexample, we know that s span(Ijn ) (otherwise we can add s
to Ijn ). Let C be the circuit in Ijn {s}. As s Bn = span(Bn1 Ijn ), we know
that C \ {s} is not contained in Bn1 (otherwise C \ {s} Bn1 Ijn , and hence
s span(Bn1 Ijn )). So we can choose z C \ {s} with z Bn1 .
Define Ijn := Ijn z +s and Ij := Ij for j = jn . Then I1 , . . . , Ik are independent
sets partitioning S \ {z}. Define, for t = 0, . . . , n:
(42.20) Bt := [Ij1 , . . . , Ijt ].
By the minimality of n we know that z Bn1 . Since z Bn1 , we have Bn1
Bn1 . Choose the smallest q n 1 with Bq Bq . Then q 1 and Bq1 Bq1 .
By the minimality of n we know that s Bq (as q < n). So
(42.21) Bq = span(Bq1
Ijq ) span((Bq1 Ijq ) {s}) span(Bq ) = Bq ,
a contradiction.
730 Chapter 42. Matroid union
Corollary 42.1e. For any matroid, the independent set polytope, the base
polytope, and the spanning set polytope have the integer decomposition prop-
erty.
Proof. Directly from the matroid base covering theorem (Corollary 42.1c),
by splitting each s S into c(s) parallel elements.
(42.25) xs 0 for s S,
x(I) 1 for I I,
has the integer rounding property (the optimum integer solution to the dual
of maximizing cT x over (42.25) has value equal to the upper integer part
of the value of the optimum (fractional) solution, for any integer objective
function c).
Similarly, the matroid base packing theorem gives:
Theorem 42.3. Let M = (S, I) be a matroid, with rank function r, and let
S Z+ . Let B be the collection of bases of M . Then the maximum value
c :
of BB B , where : B Z+ satisfies
(42.26) B B c,
BB
Proof. Directly from the matroid base packing theorem (Corollary 42.1d),
by splitting each s S into c(s) parallel elements.
In other words, the system defining the blocking polyhedron of the base
polytope:
(42.28) xs 0 for s S,
x(B) 1 for B B,
has the integer rounding property.
De Pina and Soares [2000] showed that, in Theorem 42.3, the number of
bases B with B > 0 can be restricted to at most |S| + r, where r is the rank
of M . This strengthens a result of Cook, Fonlupt, and Schrijver [1986].
Proof. To see necessity, suppose that D has no F s path. Let T be the set
of elements of S that can reach s in D. So s T , T F = , and no arc of D
enters T . Then ri (T ) = |Ii T | for each i = 1, . . . , k. Otherwise, there exists
a t T \ Ii with (Ii T ) {t} Ii . Since t F , Ii {t} Ii . So there is a
u Ii \ T with Ii u + t Ii . But then (u, t) is an arc of D entering T , a
contradiction.
So ri (T ) = |Ii T | for each i. Hence r1 (T ) + + rk (T ) = |I T |. As
s T \ I, this implies (I T ) {s} I, and so I {s} I.
To see suciency, let P = (s0 , s1 , . . . , sp ) be a shortest F s path in D.
We can assume by symmetry that s0 F1 ; so s0 I1 and I1 {s0 } I1 .
Since P is a shortest path, for each i = 1, . . . , k, the set Ni of edges (sj1 , sj )
with j = 1, . . . , p and sj1 Ii , forms a unique perfect matching in DMi (Ii )
on the set Si covered by Ni . So by Theorem 39.13, Ii Si belongs to Ii for
each i. Moreover, by Corollary 39.13a, (I1 S1 ) {s0 } I1 . So I {s} I.
Proof. Let r be the rank function of M . We can assume that y does not
belong to the independent set polytope. Let L be the line through 0 and y.
We iteratively reset y as follows. By Corollary 40.4c, we can find a subset U
of S minimizing r(U ) y(U ). Let y be the vector on L with y (U ) = r(U ).
Now, for any U S, if y violates x(U ) r(U ), then r(U ) < r(U ),
since the function d(x) := (r(U ) x(U )) (r(U ) x(U )) is nonpositive at
y and positive at y , implying that it is positive at 0 (as d is linear in x).
We reset y := y and iterate, until y belongs to Pindependent set (M ). So after
at most r(S) iterations the process terminates, with a y on the boundary
of Pindependent set (M ). Comparing the final y with the original y gives the
required .
Proof. By Theorem 42.7, we can find the maximum value of such that y
belongs to Pspanning set (M ). If = 0, we take k = 0. If > 0, by Corollary
40.4b we can decompose 1 y as a convex combination of incidence vectors
of spanning sets. This gives the required decomposition of y.
Therefore,
t
k
k
(42.36) i = (t k) + i i ,
i=1 i=1 i=1
31 For any strongly polynomial-time algorithm with one integer k as input, there is a
number L and a rational function q : Z Q such that if k > L, then the output equals
q(k). (This can be proved by induction on the number of steps of the algorithm, which
is a fixed number as the input consists of only one number.) However, there do not exist
a rational function q and number L such that for k > L, q(k) = 0 if k is even, and
q(k) = 1 if k is odd.
736 Chapter 42. Matroid union
Therefore,
t
k
k
(42.40) i = (t k) + i i ,
i=1 i=1 i=1
De Pina and Soares [2000] showed that, in this theorem we can make the
additional condition that t |S| + r, where r is the rank of M .
42.6b. List-colouring
Seymour [1998] showed the following matroid list-colouring theorem (cf. Section
20.9c):
Theorem 42.10. Let M = (S, I) be a matroid such that S can be partitioned into
k independent sets, and let m Z+ . For each s S, let Ls {1, . . . , m} be a set
of size k. Then S can be partitioned into independent sets I1 , . . . , Im such that for
each j = 1, . . . , m: if s Ij , then j Ls .
738 Chapter 42. Matroid union
Proof. Let M = (S, I) be a strongly base orderable matroid, with rank function
r, and let k := r(S) 1. It suces to show that the k-truncation of M is strongly
base orderable. Let I and J be independent sets of size k, and restrict M to I J.
If r(I J) = k, we are done, since then I and J are bases of the strongly base
orderable matroid M |I J. So suppose r(I J) = r(S) = k + 1, and let i I \ J
and j J \ I be such that I {j} and J {i} are bases of M . As M is strongly
base orderable, there exists a bijection : I {j} J {i} with the prescribed
exchange property. So (j) = j and (i) = i. Define : I J by (s) := (s)
if s = i, and (i) = j. We show that this bijection is as required. To prove this,
choose X I. We must show that (X) (I \ X) is independent.
X, then (X) = (X), hence (X) (I \ X) is independent, since
If i
(42.46) (X) (I \ X) = (X) (I \ X) (X) ((I {j}) \ X)
and the last set is independent.
If i X, then (X) = (X \ {i}) {j}, hence (X) (I \ X) is independent,
since
Section 42.6c. Strongly base orderable matroids 739
One also easily checks that strong base orderability is closed under making
parallel extensions. (Given a matroid M = (S, I) a parallel extension in s S is
obtained by extending S with some new element s , and I with {(I \ {s}) {s } |
s I I}.)
Since transversal matroids are strongly base orderable, also gammoids are
strongly base orderable (Brualdi [1971c]):
Proof. Since strong base orderability is closed under taking contractions and since
each gammoid is a contraction of a transversal matroid (by Corollary 39.5a), it
suces to show that any transversal matroid is strongly base orderable.
Let M be the transversal matroid induced by a family X = (X1 , . . . , Xm ) of
subsets of a set S. We may assume that X has a transversal (cf. (39.18)). Consider
two transversals T1 = {x1 , . . . , xm } and T2 = {y1 , . . . , ym } of X , where xi , yi Xi
for i = 1, . . . , m.
Consider the bipartite graph on {1, . . . , m} S with edges all pairs {i, s} with
i {1, . . . , m} and s Xi (assuming without loss of generality that {1, . . . , m}S =
). Then M1 := {{i, xi } | i = 1, . . . , m} and M2 := {{i, yi } | i = 1, . . . , m} are
matchings in G. Define : T1 T2 as follows. If s T1 T2 , define (s) := s. If
s T1 \ T2 , let (s) be the (other) end of the path in M1 M2 starting at s. This
defines a bijection as required.
Brualdi [1971c] showed more generally that strong base orderability is main-
tained under induction of matroids through a directed graph, as described in Sec-
tion 42.6a. However, not every strongly base orderable matroid is a gammoid (cf.
Oxley [1992] p. 411).
Davies and McDiarmid [1976] (cf. McDiarmid [1976]) showed the following.
as large as possible. If this sum is equal to |S| we are done, so suppose that this
sum is less than |S|. Hence there are i and j with Xi Yj = and i = j. Extend
Xi and Xj to bases Ci and Cj of M1 . Similarly, extend Yi and Yj to bases Di
and Dj of M2 . Since M1 and M2 are strongly base orderable, there exist bijections
740 Chapter 42. Matroid union
The proof also shows that the required partition can be found in polynomial
time, provided that there is a polynomial-time algorithm to find the exchange bi-
jection . (This is the case for transversal matroids induced by a given family of
sets.)
By the matroid base covering theorem (Corollary 42.1c), Theorem 42.13 is
equivalent to:
Proof. Directly from Theorem 42.13 with the matroid base covering theorem.
Proof. Indeed, from Theorem 42.13 we have that M1 and M2 have k disjoint
common bases if and only if the matroids M1 M1 and M2 M2 (k-fold
unions) have a common independent set of size k r1 (S). By the matroid union and
intersection theorems, this last is equivalent to the condition stated in the present
corollary.
Section 42.6d. Blocking and antiblocking polyhedra 741
Proof. This can be deduced as follows. Let Ni arise from the dual matroid of Mi
by replacing each element s of S by k 1 parallel elements (for i = 1, 2). So N1
and N2 are strongly base orderable again, with an underlying ground set of size
(k 1)|S|. Now M1 and M2 have k disjoint (common) spanning sets, if and only
if N1 and N2 have k (common) independent sets covering the underlying set. This
directly implies the present corollary.
For integer c, an integer optimum solution y need not exist (for instance, if |S| = 3,
ri (U ) := min{|U |, 2}, and c = 1). That is, system (42.55) need not be totally dual
integral. In fact, it generally does not have the integer rounding property. That
is, it is not true, for each pair of matroids, that the minimum in (42.57) with y
restricted to be integer:
(42.58) min{ y(I) | y ZI+1 I2 , y(I)I c},
II1 I2 II1 I2
is equal to the upper integer part of the common value of (42.57). For instance,
take for M1 the cycle matroid of K4 , and for M2 the matroid with independent sets
all sets of pairwise intersecting edges in K4 , and let c = 1; then the common value
in (42.57) is 2, while (42.58) is equal to 3. However, Corollary 42.13a implies that
if M1 and M2 are strongly base orderable matroids, then (42.58) is equal to the
upper integer part of (42.57). That is, for strongly base orderable matroids, system
(42.57) has the integer rounding property.
Similar results hold if we consider the blocker B(Q1 Q2 ) of the intersection
of the spanning set polytopes Q1 and Q2 of M1 and M2 . In particular, Corollary
42.13c implies that the system
(42.59) xs 0 (s S),
x(U ) 1 (U common spanning set of M1 and M2 )
has the integer rounding property, if M1 and M2 are strongly base orderable.
Moreover, Corollaries 42.13b and 42.13d imply that the systems
(42.60) xs 0 (s S),
x(B) 1 (B common base of M1 and M2 )
and
(42.61) xs 0 (s S),
x(B) 1 (B common base of M1 and M2 )
have the integer rounding property, if M1 and M2 are strongly base orderable. Here
the results of Section 41.4b are used: to prove that (42.60) has the integer rounding
property, let w ZS+ . Let Q be the polytope determined by (42.60), let r(U ) be the
maximum size of a common independent set contained in U , and let B denote the
collection of common bases. Then
(42.62) min{wT x | x Q}
w(U )
= min{ | U S, r(S) > r(S \ U )}
r(S) r(S \ U )
= max{ yB | y ZB
+, yB B w}.
BB BB
Section 42.6f. Historical notes on matroid union 743
The first equality holds as the vertices of Q are given by the vectors
1
(42.63) U ,
r(S) r(S \ U )
since Q is the blocking polyhedron of the common base polytope (cf. Section 41.4b).
The second equality follows from Corollary 42.13b, using the fact that strong base
orderability is maintained under adding parallel elements.
Related results on integer decomposition of the intersection of the independent
set polytopes of two strongly base orderable matroids can be found in McDiarmid
[1983].
Krogdahl [1976] observed that the following, general problem is solvable in polyno-
mial time, by reduction to matroid intersection: given matroids (S, I1 ), . . . , (S, Ik ),
weight functions w1 , . . . , wk RS , and l k, find the maximum value of
w1 (I1 ) + + wk (Ik ), where I1 I1 , . . . , Ik Ik , with I1 , . . . , Il disjoint and
Il+1 , . . . , Ik disjoint, and with I1 . . . Il = Il+1 . . . Ik .
With matroid union, several new classes of matroids can be constructed. One of
them is formed by the bicircular matroids, which are the union of the cycle matroid
M (G) of a graph G = (V, E) and the matroid on E in which F E is independent
if and only if |F | 1. The independent sets of this matroid are the edge sets
containing at most one circuit.
A randomized parallel algorithm for linear matroid union was given by Nara-
yanan, Saran, and Vazirani [1992,1994]. For matroid base packing algorithms, see
Knuth [1973] and Karger [1993,1998].
Rado [1962b] presented the vector theorem at the International Congress of Math-
ematicians in Stockholm in 1962, where he mentioned again that its proof has not
yet been extended to abstract independence relations (matroids). He wondered if
the property in fact would characterize linear matroids.
744 Chapter 42. Matroid union
Finally, two years later, at the Conference on General Algebra in Warsaw, 711
September 1964, Rado announced the base covering theorem. Simultaneously, there
was the Seminar on Matroids at the National Bureau of Standards in Washington,
D.C., 31 August11 September 1964, where Edmonds [1965c] presented the base
covering theorem.
In the paper based on his lecture in Warsaw, Rado [1966] did not give a proof
of the matroid base cover theorem, but just said that the argument of Horn [1955]
can be adapted so as to yield the more general version (as we did in Section 42.1b).
The matroid base covering theorem generalizes also the min-max relation of
Nash-Williams [1964] for the minimum number of forests needed to cover the edges
of a graph. (As each graphic matroid is linear, this follows also from the result of
Horn [1955] described above.)
The basic unifying result (Theorem 42.1) on matroid union was given in Nash-
Williams [1967], which has as special case the matroid union theorem given by
Edmonds [1968]. In a footnote on page 20 of Pym and Perfect [1970], it is remarked
that:
Professor Nash-Williams has written to inform us that these results were sug-
gested by earlier unpublished work of Professor J. Edmonds on the relation be-
tween independence structures and submodular functions.
It seems in fact much easier to prove the matroid union theorem in general, than just
its special case for graphic matroids (for instance, the covering forests theorem).
It also generalizes theorems of Higgins [1959] on disjoint transversals (Theorem
22.11), and of Tutte [1961a] and Nash-Williams [1961b] on disjoint spanning trees
in a graph (Corollary 51.1a). (These papers mention no possible generalization to
matroids.)
Welsh [1976] mentioned on these results:
They illustrate perfectly the principle that mathematical generalization often lays
bare the important bits of information about the problem at hand.
Chapter 43
Matroid matching
43.3. Circuits
Proof. I. Call two fundamental circuits C, D far if there exist a base B and
e, g E with r(B + e + g) = 2 + 2 and with C = C(B, e) and D = C(B, g).
We first show:
(43.21) far fundamental circuits are disjoint.
Suppose to the contrary that there exist a base B and e, g E with r(B +
e + g) = 2 + 2 and C(B, e) C(B, g) = . Let D := C(B, e) C(B, g). Then
(43.22) s(D) s(C(B, e)) + s(C(B, g)) s(C(B, e) C(B, g)) = 2
and
(43.23) s(D) s(B + e + g) = 2.
So s(D) = 2. If C is any circuit contained in B + e + g, then C D, since
otherwise s(C D) = 0, and hence
(43.24) 2 = 0 + s(B + e + g) s(C D) + s(C D) s(C) + s(D) = 3,
a contradiction.
By Lemma 43.1, there is a nonloop p that is contained in span(C) for
each circuit C D. By assumption, there is a base B with p span(B ).
Choose B with |B (B+e+g)| maximal. Then r(B +p) = 2 +1 < r(B+e+
g), and hence f span(B +p) for some f B +e+g. Then p span(B +f )
(since r(B + f ) 2 + 1), and therefore p span(C(B , f )). So C(B , f ) is
not one of the circuits contained in B +e+g. Choose h C(B , f )\(B +e+g).
Hence, resetting B to B h+f would give a larger intersection with B+e+g,
a contradiction. This shows (43.21).
II. We next show the theorem assuming that HE is connected. Suppose
to the contrary that r(E) 2(E) + 2. Then far fundamental circuits exist,
750 Chapter 43. Matroid matching
since
(43.31) r(F Fl ) r(F ) + |Bl | + 21 (r(F Fl ) r(F )),
752 Chapter 43. Matroid matching
as |Bl | = 12 r(Fl ). This shows (43.29), which for l = k implies that (E) is at
most (43.28), since
(43.32) 2(E) r(F F1 Fk )
k
r(F ) + |Bi | + 12 (r(F Fi ) r(F ))
i=1
l
1
= (E) + r(F ) + 2 (r(F Fi ) r(F )) .
i=1
Dress and Lovasz [1987] proved that a similar result holds for algebraic de-
pendence
in field extensions (where trK (E) denotes the transcendence degree
of E over K):
Proof. Let M = (L, I) be the infinite matroid with I consisting of all subsets
of L that are algebraically independent over K.
Similarly as for the previous corollary, it suces to show that for any two
intersecting circuits C1 and C2 of M with r(C1 C2 ) = |C1 C2 | 2 there
is an L \ span(K) such that belongs to span(C) for each circuit C
contained in C1 C2 .
Let I := C1 \ C2 . Then
(43.37) I is a circuit in M/C2 .
754 Chapter 43. Matroid matching
(Szigeti [1998a] gave a direct proof of this theorem for the case where the
hypergraph consists of all triangles of a given graph.)
Other applications of matroid matching are a derivation of Maders theo-
rem on maximum packings of T -paths (cf. Chapter 73), to rigidity (see Lov
asz
[1980a]), and to matching forests (an easy application, see Section 59.6b).
Theorem 43.3. Let (S, I) be a matroid, with rank function r, and let E be
a collection of pairs from S spanning S. Then (E) + (E) = r(S).
This theorem implies that formula (43.28) for the maximum size of a
matching yields a formula for the minimum number of lines spanning all
space.
we reset B or M or both, add the reset B to B, and iterate with the reset B
and M . The input condition given in (43.44) is maintained, as will be shown
after describing the five cases.
F | = |B F |.
Note that, as Case 1 does not apply, |B
We first show:
(43.47)
A A.
This is equivalent to (since KB does not change, as Case 1 does not apply):
(43.48) F ).
A span(B
F = B F . So we can assume that B
This is trivial if B F = B F .
Hence B = B f + e for some e, f F . Then (43.48) follows from
(43.49) F ) A) r((B
r((B F ) A + f ) 1 = r((B F ) A + e) 1
= r((B F ) + e) 1 r(B F ) = 2|B F | = 2|B F|
= r(B F ).
(43.51) A)
r(M r(M
A) r((M A) + g) 1 = r((M A) + e) 1
F | + |M
r(M A) > |B F | + |M | = |B |.
II. Secondly,
(43.52) we can improve B if KB = {0}, HB is connected, and <
21 r(E).
(In this case, B can only be improved by finding a matching larger than B.)
The algorithm follows the framework of parts I and II in the proof of
Theorem 43.1. Again, the algorithm iteratively applies the first applicable
760 Chapter 43. Matroid matching
IV. Finally:
(43.55) We can improve B if B = and < (E).
Define F to be the union of all fundamental circuits of the B B. This
implies
(43.56) span(E \ F ) KB .
If there exist B, B B with |B F | < |B F |, then applying (43.44) to
B and M := B F improves B. So we can assume that |B F | = for all
B B. Choose B0 B with r(span(B0 F ) KB ) maximal. Define
(43.57) A := span(B0 F ) KB , E := F/A, and := r(A).
For each B B there is a matching MB in (B F )/A of size , since
(43.58) r(span(B F ) A) r(span(B F ) KB )
r(span(B0 F ) KB ) = r(A) = .
Let B := {MB | B B}. Then KB = {0}, since
(43.59) span(B F ) span(B0 F ) span(B)
BB BB
= span(B0 F ) KB = A.
Since (E) > we have (E ) > . Indeed, let B be a matching in E of size
+ 1. Then B /A contains a matching of size |B F | r(span(B F ) A).
Hence
(43.60) (E ) |B F | r(span(B F ) A)
= |B | |B \ F | r(span(B F ) A)
= |B | 12 (r(B \F )+r(span(B F )A)) 12 r(span(B F )A)
|B | 12 r(KB ) 12 r(A) > |B0 | 21 r(KB ) 12 r(A)
|B0 | 12 (r(B0 \ F ) + r(A)) 21 r(A) = |B0 F | r(A) = .
The second inequality holds as span(B \F ) and span(B F )A are subspaces
of KB having intersection {0} (since B is a matching and as (43.56) holds).
The last inequality follows from
(43.61) r(KB ) = r(span(B0 ) KB )
= r((span(B0 \ F ) + span(B0 F )) KB )
= r(span(B0 \ F ) + (span(B0 F ) KB ))
= r(span(B0 \ F ) + r(span(B0 F ) KB )).
Here we use that
762 Chapter 43. Matroid matching
Theorem 43.2 characterizes the matroid matching problem for algebraic ma-
troids, and one is challenged to extend this to general matroids. A main
objection to do this in a direct way is that in Theorem 43.2 a line of E may
intersect the flat F in a point not contained in the original matroid. So we
need to extend the matroid in some way, which is quite natural for linear
matroids, but, as Lov asz remarks, in general, there seems to be no hope to
extend the original matroid so as to achieve the validity of [Theorem 43.2].
The possibility of simulating the flat F inside the matroid seems to be a
dicult, and probably not only technical, question.
Jensen and Korte [1982] and Lov asz [1981] showed that, for matroids in
general, the matroid matching problem is not solvable in polynomial time,
if the matroid is given by an independence testing oracle (an oracle telling
if a given set is independent or not). The construction in both papers is as
follows.
Section 43.10a. Optimal path-matching 763
Matroids with this property are called pseudomodular by Bj orner and Lovasz [1987],
who proved that full linear matroids (infinite matroids determined by linear inde-
pendence of a linear space), full algebraic matroids (infinite matroids determined
by algebraic independence of a field extension of a field), and full graphic matroids
(cycle matroids of a complete graph) are pseudomodular. See also Lindstr om [1988],
Dress, Hochst attler, and Kern [1994], and Tan [1997].
A randomized parallel algorithm for linear matroid matching was given by Na-
rayanan, Saran, and Vazirani [1992,1994]. Stallmann and Gabow [1984] gave an
algorithm for graphic matroid matching with running time O(n2 m), which was im-
proved by Gabow and Stallmann [1985] to O(nm log6 n). Tong, Lawler, and Vazi-
rani [1984] found a polynomial-time algorithm for weighted matroid matching for
gammoids (by reduction to weighted matching). Structural properties of matroid
matching, including an Edmonds-Gallai type decomposition, were given by Vande
Vate [1992], which paper also studied the matroid matching polytope and a frac-
tional relaxation of it.
The matroid matching problem generalizes the matchoid problem of J. Edmonds
(cf. Jenkyns [1974]): given a graph G = (V, E) and a matroid Mv = ((v), Iv ) for
each v in V , what is the maximum number of edges such that the restriction to
(v) forms an independent set in Mv , for each v in V ?
Chapter 44
So w may be considered also as a set function on S, and one easily sees that
w is modular, and that each modular set function f on S with f () = 0 may
be obtained in this way. (More generally, each modular set function f on S
satisfies f (U ) = w(U ) + (for U S), for some unique function w : S R
and some unique real number .)
In a sense, submodularity is the discrete analogue of convexity. If we
define, for any f : P(S) R and any x S, a function fx : P(S) R
by: fx (T ) := f (T {x}) f (T ), then f is submodular if and only if fx is
nonincreasing for each x S.
In other words:
Section 44.1. Submodular functions and polymatroids 767
(It is a polytope, since xs = x(S) x(S \ {s}) f (S) f (S \ {s}) for each
s S.)
Let f be a submodular set function on S and let a RS . Define the set
function f |a on S by
(44.8) (f |a)(U ) := min (f (T ) + a(U \ T ))
T U
44.1a. Examples
for J {1, . . . , k}. It is not dicult to show that each integer nondecreasing sub-
modular function f with f () = 0 can be constructed in this way (see Section
44.6b).
As another generalization, if w : S R+ , define f (U ) to be the maximum
of w(I) over I I with I U . Then f is submodular. (To see this, write w =
1 T1 + + n Tn , with = T1 T2 Tn S. Then by (40.3), f (U ) =
n
i=1 i r(U Ti ), implying that f is submodular.)
For more on the relation between submodular functions and matroids, see Sec-
tions 44.6a and 44.6b.
Set unions. Let T1 , . . . , Tn be subsets of a finite set T and let S = {1, . . . , n}.
Define
Section 44.1a. Examples 769
(44.12) f (U ) := Ti
iU
Directed graph cut functions. Let D = (V, A) be a directed graph and let
c : A R+ be a capacity function on A. Define
(44.16) f (U ) := c( out (U ))
for U V (where out (U ) denotes the set of arcs leaving U ). Then f is submodular
(but in general not nondecreasing). A function f arising in this way is called a cut
function.
Directed hypergraph cut functions. Let V be a finite set and let (E1 , F1 ), . . . ,
(Em , Fm ) be pairs of subsets of V . For U V , let f (U ) be the number of indices
i with U Ei = and Fi U . Then f is submodular. (In proving this, we can
assume m = 1, since any sum of submodular functions is submodular again.)
More generally, we can choose c1 , . . . , cm R+ and define
(44.17) f (U ) = (ci | U Ei =
, Fi U )
Subtree diameter. Let G = (V, E) be a forest (a graph without circuits), and for
each X E define
(44.19) f (X) := diameter(K),
K
where K ranges over the components of the graph (V, X). Here diameter(K) is the
length of a longest path in K. Then f is submodular (Tamir [1993]); that is:
(44.20) f (X) + f (Y ) f (X Y ) + f (X Y )
for X, Y E.
To see this, denote, for any X E, the set of vertices covered by X by V X.
We first show (44.20) for X, Y E with (V X, X) and (V Y, Y ) connected and
V X V Y = . Note that in this case X Y and X Y give connected subgraphs
again.
The proof of (44.20) is based on the fact that for all s, t, u, v V one has:
(44.21) dist(s, u) + dist(t, v) dist(s, t) + dist(u, v)
or dist(t, u) + dist(s, v) dist(s, t) + dist(u, v),
where dist denotes the distance in G.
To prove (44.20), let P and Q be longest paths in X Y and X Y respectively.
If EQ is contained in X or in Y , then (44.20) follows, since P is contained in X
and in Y . So we can assume that EQ is contained neither in X nor in Y . Let Q
have ends u, v, with u V X and v V Y . Let P have ends s, t. So s, t, u V X
and s, t, v V Y . Hence (44.21) implies (44.20).
We now derive (44.20) for all X, Y E. Let X and Y be the collections of edge
sets of the components of (V, X) and of (V, Y ) respectively. Let F be the family
made by the union of X and Y, taking the sets in X Y twice. Then
(44.22) f (X) + f (Y ) f (Z).
ZF
Further examples. Choquet [1951,1955] showed that the classical Newtonian ca-
pacity in R3 is submodular. Examples of submodular functions based on probabil-
ity are given by Fujishige [1978b] and Han [1979], and other examples by Lov
asz
[1983c].
Section 44.2. Optimization over polymatroids by the greedy method 771
Define:
(44.27) y(Ui ) := w(si ) w(si+1 ) (i = 1, . . . , n 1),
y(S) := w(sn ),
y(T ) := 0 (T = Ui for each i).
Proof. We first show that x belongs to EPf ; that is, x(T ) f (T ) for each
T S. This is shown by induction on |T |, the case T = being trivial. Let
T = and let k be the largest index with sk T . Then by induction,
(44.28) x(T \ {sk }) f (T \ {sk }).
Hence
(44.29) x(T ) f (T \{sk })+x(sk ) = f (T \{sk })+f (Uk )f (Uk1 ) f (T )
(the last inequality follows from the submodularity of f ). So x EPf .
Also, y is feasible for (44.26). Trivially, y 0. Moreover, for any i we have
by (44.27):
772 Chapter 44. Submodular functions and polymatroids
(44.30) y(T ) = y(Uj ) = w(si ).
T si ji
Therefore:
Proof. Directly from Theorem 44.3, using the fact that x 0 if f is nonde-
creasing.
Proof. Consider the dual of maximizing wT x over (44.33), for some w ZS+ .
By Theorem 44.3, it has an optimum solution y : P(S) R+ with the
sets U S having y(U ) > 0 forming a chain. So these constraints give a
totally unimodular submatrix of the constraint matrix (by Theorem 41.11).
Therefore, by Theorem 5.35, (44.33) is box-TDI.
Corollary 44.3d. For any integer submodular set function f , the polymatroid
Pf and the extended polymatroid EPf are integer.
Proof. Directly from Corollary 44.3c. (In fact, integer optimum solutions are
explicitly given by Theorem 44.3 and Corollary 44.3a.)
(44.35) f() = 0,
f(U ) = min f (T ) for nonempty U S.
T U
Corollary 44.3g. For each integer polymatroid P there exists a unique in-
teger nondecreasing submodular function f with f () = 0 and P = Pf .
(44.44) P |1 = {x P | x 1}
is the convex hull of the incidence vectors of the independent sets of M . By (44.8),
the rank function r of M satisfies
(44.45) r(U ) = min (|U \ T | + f (T ))
T U
for U S.
As an example, if f is the submodular function given in the set union example in
Section 44.1a, we obtain the transversal matroid on {1, . . . , n} with I {1, . . . , n}
independent if and only if the family (Ti | i I) has a transversal (Edmonds
[1970b]).
In fact, each integer polymatroid can be derived from a matroid as follows (Helgason
[1974]). Let f be a nondecreasing submodular set function on S with f () = 0.
Choose for each s in S, a set Xs of size f ({s}), such that the sets Xs (s S) are
disjoint. Let X := sS Xs , and define a set function r on X by
(44.46) r(U ) := min (|U \ Xs | + f (T ))
T S
sT
for U X. One easily checks that r is the rank function of a matroid M (by
checking the axioms (39.38)), and that for each subset T of S
(44.47) f (T ) = r( Xs ).
sT
Proof. It is easy to see that (44.51) determines Pf , as any other inequality x(U )
f (U ) follows from (44.51). The irredundancy of collection (44.51) can be seen as
follows.
Clearly, each inequality xs 0 determines a facet. Next consider a nonempty
f -inseparable f -flat U . Suppose that the face determined by U is not a facet. Then
it is contained in another face, say determined by T . Let x be a vertex of Pf with
x(U \ T ) = f (U \ T ), x(U ) = f (U ), and x(S \ U ) = 0. Such a vertex exists by the
greedy algorithm (cf. (44.49)).
Since x is on the face determined by U , it is also on the face determined by T .
So x(T ) = f (T ). Hence f (T ) = x(T ) = x(T U ) = f (U ) f (U \ T ). So we have
equality throughout in:
(44.52) f (U \ T ) + f (T ) f (U \ T ) + f (T U ) f (U ).
This implies that U \ T = or T U = (as U is f -inseparable), and that
f (T ) = f (T U ). If U \ T = , then U T , and hence (as U is an f -flat)
f (T ) > f (U ) f (T U ), a contradiction. If T U = , then f (T ) = f (T U ) = 0,
implying that T = , again a contradiction.
Let P be the polymatroid associated with the nondecreasing submodular set func-
tion f on S with f () = 0. The following three observations are easily derived
from the representation (44.49) of vertices of P . (a) If x0 is a vertex of P , there
exists a vertex x1 of P such that x1 x0 and x1 has the form (44.49) with k = n.
(b) A vertex x1 of P can be represented as (44.49) with k = n if and only if
x1 (S) = f (S). (c) The convex hull of the vertices x1 of P with x1 (S) = f (S) is
the face {x P | x(S) = f (S)} of P . It follows directly from (a), (b) and (c) that
x P is a maximal element of P (with respect to ) if and only if x(S) = f (S).
So for each vector y in P there is a vector x in P with y x and x(S) = f (S).
Applying this to the subpolymatroids P |a = P {x | x a} (cf. Section 44.1),
one finds the following property of polymatroids:
(44.56) for each a RS+ there exists a number r(a) such that each maximal
vector x of P {x | x a} satisfies x(S) = r(a).
Here maximal is maximal in the partial order on vectors. The number r(a) is
called the rank of a, and any x with the properties mentioned in (44.56) is called a
base of a.
Edmonds [1970b] (cf. Dunstan [1973], Woodall [1974b]) noticed the following
(we follow the proof of Welsh [1976]):
Proof. Necessity was observed above. To see suciency, let f be the set function
on S defined by
(44.58) f (U ) := max{x(U ) | x P }
for U S. Then f is nonnegative and nondecreasing. Moreover, f is submodular.
To see this, consider T, U S. Let x be a maximal vector in P satisfying xs = 0
if s T U , and let y be a maximal vector in P satisfying y(s) = 0 if s T U
and x y. Note that (44.56) and (44.58) imply that x(T U ) = f (T U ) and
y(T U ) = f (T U ). Hence
(44.59) f (T )+f (U ) y(T )+y(U ) = y(T U )+y(T U ) x(T U )+y(T U )
= f (T U ) + f (T U ),
that is, f is submodular.
We finally show that P is equal to the polymatroid Pf associated to f . Clearly,
P Pf , since if x P then x(U ) f (U ) for each U S, by definition (44.58) of
f.
To see that Pf = P , suppose v Pf \P . Let u be a base of v (that is, a maximal
vector u P satisfying u v). Choose u such that the set
(44.60) U := {s S | us < vs }
is as large as possible. Since v P , we have u = v, and hence U =
. As v Pf ,
we know
780 Chapter 44. Submodular functions and polymatroids
(from this one may derive a submodular law for r: r(a b) + r(a b) r(a) + r(b),
where and are the meet and join in the lattice (RS , ) (Edmonds [1970b])).
Since if P has integer vertices and a is integer, the intersection P |a = {x P |
x a} is integer again, we know that for integer polymatroids (44.56) also holds if
we restrict a and x to integer vectors. So if a is integer, then there exists an integer
vector x a in P with x(S) = r(a).
Theorem 44.5 yields an analogous characterization of extended polymatroids.
Let f be a submodular set function on S with f () = 0. Choose c RS + such that
The class of submodular set functions on a given set is closed under certain oper-
ations. Obviously, the sum of two submodular functions is submodular again. In
particular, adding a constant t to all values of a submodular function maintains
submodularity. Also the multiplication of a submodular function by a nonnega-
tive scalar maintains submodularity. Moreover, if f is a nondecreasing submod-
ular set function on S, and q is a real number, then the function f given by
f (U ) := min{q, f (U )} for U S, is submodular again. (Monotonicity cannot be
deleted, as is shown by taking S := {a, b}, f () = f (S) = 1, f ({a}) = 0, f ({b}) = 2,
and q = 1.)
It follows that the class of all submodular set functions on S forms a convex
cone C in RP(S) . This cone is polyhedral as the constraints (44.1) form a finite set
of linear inequalities defining C. Edmonds [1970b] raised the problem of determin-
ing the extreme rays of the cone of all nonnegative nondecreasing submodular set
functions f on S with f () = 0. It is not dicult to show that the rank function
r of a matroid M determines an extreme ray of this cone if and only if r is not
the sum of the rank functions of two other matroids, i.e., if and only if M is the
sum of a connected matroid and a number of loops. But these do not represent
all extreme rays: if S = {1, . . . , 5} and w(1) = 2, w(s) = 1 for s S \ {1}, let
f (U ) := min{3, w(U )} for U S; then f is on an extreme ray, but cannot be
decomposed as the sum of rank functions of matroids (L. Lov aszs example; cf. also
Murty and Simon [1978] and Nguyen [1978]).
Lovasz [1983c] observed that if f1 and f2 are submodular and f1 f2 is nonde-
creasing, then min{f1 , f2 } is submodular.
Let f be a nonnegative submodular set function on S. Clearly, for any 0
we have Pf = Pf (where Pf = {x | x Pf }). If q 0, and f is given by
f (U ) = min{q, f (U )} for U S, then f is submodular and
(44.70) Pf = {x Pf | x(S) q},
as can be checked easily. So the class of polymatroids is closed under intersections
with ane halfspaces of the form {x RS | x(S) q}, for q 0.
Let f1 and f2 be nondecreasing submodular set functions on S, with f1 () =
f2 () = 0, and associated polymatroids P1 and P2 respectively. Let P be the poly-
matroid associated with f := f1 + f2 . Then (McDiarmid [1975c]):
Proof. It is easy to see that Pf1 +f2 Pf1 + Pf2 . To prove the reverse inclusion, let
x be a vertex of Pf1 +f2 . Then x has the form (44.49). Hence, by taking the same
permutation and the same k, x = x1 + x2 for certain vertices x1 of Pf1 and x2 of
Pf2 . Since Pf1 + Pf2 is convex it follows that Pf1 +f2 = Pf1 + Pf2 .
In fact, if f1 and f2 are integer, each integer vector in Pf1 + Pf2 is the sum of
integer vectors in Pf1 and Pf2 see Corollary 46.2c. Similarly, if f1 and f2 are
integer, each integer vector in EPf1 + EPf2 is the sum of integer vectors in EPf1
and EPf2 .
Faigle [1984a] derived from Theorem 44.6 that, for any submodular function f ,
if x, y Pf and x = x1 + x2 with x1 , x2 Pf , then there exist y1 , y2 Pf with
782 Chapter 44. Submodular functions and polymatroids
for U S. Thus we have derived the matroid union theorem (Corollary 42.1a).
(44.75) y((t)) = xt (t T ),
y((s)) = zs (s S).
Moreover, if f and g are integer, we can take y and z to be integer. This procedure
gives an induction of polymatroids through bipartite graphs, and yields Rados
theorem for polymatroids (cf. McDiarmid [1975c]).
In case f is the rank function of a matroid on S, a 0,1 vector x belongs to Pg if
and only if there exists a matching in G whose end vertices in S form an independent
set of the matroid, and the end vertices in T have x as incidence vector. So these
0,1 vectors determine a matroid on T , with rank function r given by
(44.76) r(U ) = min (|U \ W | + f (N (W )))
W U
where b(Qi ) is the beginning vertex of Qi . If the c and x are integer, we can take
also the i integer.
Here the function g in general is not nondecreasing, but the value
(44.79) g(U ) = min{g(W ) | U W T }
of the associated nondecreasing submodular function (cf. (44.35)) is equal to the
minimum capacity of a cut separating U and S, which is equal to the maximum
amount of flow from U to S, subject to the capacity function c (by the max-flow
min-cut theorem).
In an analogous way, one can construct polymatroids by taking vertex-capacities
instead of arc-capacities. Moreover, the notion of induction of polymatroids through
bipartite graphs can be extended in a natural way to the induction of polymatroids
through directed graphs (cf. McDiarmid [1975c], Schrijver [1978]).
44.6h. Lov
aszs generalization of K
onigs matching theorem
Theorem 44.7. Let G = (V, E) be a simple bipartite graph, with colour classes S
and T . Let g be a supermodular set function on S, such that g({v}) 0 for each
v S and such that
(44.80) g(U {v}) g(U ) + g({v}) for nonempty U S and v S \ U .
Then E has a subset F with degF (v) = g({v}) for each v V and |NF (U )| g(U )
for each nonempty U S if and only if |NE (U )| g(U ) for each nonempty U S.
For a derivation of this theorem with the Edmonds-Giles method, see Frank
and Tardos [1989].
Edmonds [1970b] and D.A. Higgs (as mentioned in Edmonds [1970b]) observed that
if f is a set function on a set S, we can define recursively a submodular function f
as follows:
(44.83) f(T ) := min{f (T ), min(f(S1 ) + f(S2 ) f(S1 S2 ))},
where the second minimum ranges over all pairs S1 , S2 of proper subsets of T with
S1 S2 = T .
Lov
asz [1983c] gave the following characterization of submodularity in terms of
convexity. Let f be a set function on S and define for each c RS
+
k
(44.84) f(c) := i f (Ui ),
i=1
where
= U1 U2 Uk S and 1 , . . . , k > 0 are such that
c = k Ui
i=1 i . Then f is submodular if and only if f is convex. Similarly, f
is supermodular if and only if f is concave. Related is the subdierential of a
submodular function, investigated by Fujishige [1984d].
Korte and Lovasz [1985c] and Nakamura [1988a] studied polyhedral structures
where the greedy algorithm applies. Federgruen and Groenevelt [1986] extended the
greedy method for polymatroids to weakly concave objective functions (instead
of linear functions). (Related work was reported by Bhattacharya, Georgiadis, and
Section 44.6i. Further notes 785
Submodular function
minimization
45.3. A subroutine
In this section we describe a subroutine that is important in the algorithm. It
replaces a total order by other total orders, thereby reducing some interval
(s, t] , where
(45.5) (s, t] := {v | s v t}
for s, t S.
Let be a total order on S. For any s, u S with s u, let s,u be
the total order on S obtained from by resetting v u to u v for each
35 As usual, we use for strict inequality and for nonstrict inequality. We refer to the
order by the strict inequality sign .
788 Chapter 45. Submodular function minimization
So U minimizes f .
Case 2: D has a path from P to N . Let d(v) denote the distance in D
from P to v (= minimum number of arcs in a directed path from P to v).
Set d(v) := if v is not reachable from P . Choose s, t S as follows.
790 Chapter 45. Submodular function minimization
We show that the number of iterations is at most |S|6 . Consider any iteration.
Let
(45.17) := number of i {1, . . . , k} with |(s, t]i | = .
Let x , d , A , P , N , t , s , , be the objects x, d, A, P , N , t, s, , in
iterations d(v) increases for at least one v. Any fixed v can have at most |S|
such increases, and hence the number of iterations is at most |S|6 .
In order to prove (45.18) and (45.19), notice that
(45.20) for each arc (v, w) A \ A we have s 1 w 1 v 1 t.
Indeed, as (v, w) A we have w 1 v. As (v, w) A , we have v s,u 1 w for
some u (s, t]1 . Hence the definition of s,u
1 gives v = u and s 1 w 1 u.
This shows (45.20).
If (45.18) does not hold, then A \ A contains an arc (v, w) with d(w)
d(v) + 2 (using that P P ). By (45.20), s 1 w 1 v 1 t, and so d(w)
d(s) + 1 = d(t) d(v) + 1, a contradiction. This shows (45.18).
To prove (45.19), assume that d (v) = d(v) for all v S. As x (t ) < 0,
we have x(t ) < 0 or t = s. So by our criterion for choosing t (maximizing
(d(t), t) lexicographically), and since d(s) < d(t), we know that d(t ) d(t),
and that if d(t ) = d(t), then t t.
Next assume that moreover d(t ) = d(t) and t = t. As (s , t) A , and
as (by (45.20)) A \ A contains no arc entering t, we have (s , t) A, and so
s s, by the maximality of s.
Finally assume that moreover s = s. As (s, t]s,u 1
is a proper subset of
(s, t]1 for each u (s, t]1 , we know that . Moreover, if = , then
< , since 1 does not occur anymore among the linear orders making the
convex combination, as x (t) < 0. This proves (45.19).
We therefore have proved:
Notes. In the algorithm, we have chosen t and s largest possible, in some fixed
order of S. To obtain the above running time bound it only suces to choose t
and s in a consistent way. That is, if the set of choices for t is the same as in the
previous iteration, then we should choose the same t and similarly for s. This
roots in the idea of consistent breadth-first search of Schonsleben [1980].
The observation that the number of iterations in the algorithm of Section 45.4
is O(|S|6 ) instead of O(|S|7 ) is due to L.K. Fleischer. Vygen [2002] showed that the
number of iterations can in fact be bounded by O(|S|5 ).
792 Chapter 45. Submodular function minimization
The algorithm described above has been speeded up by Fleischer and Iwata
[2000,2002], by incorporating a push-relabel type of iteration based on approxi-
mate distances instead of precise distances (like Goldbergs method for maximum
flow, given in Section 10.7). Iwata [2002b] combined the approaches of Iwata, Fleis-
cher, and Fujishige [2000,2001] and Schrijver [2000a] to obtain a faster algorithm.
A descent method for submodular function minimization based on an oracle for
membership of the base polytope was given by Fujishige and Iwata [2002].
Surveys and background on submodular function minimization are given by
Fleischer [2000b] and McCormick [2001].
Proof. The case T odd can be reduced to the case T even as follows. Find
for each t T a subset Wt of S t with Wt (T t) odd, and minimizing
f (Wt ). Moreover, find a subset U of S minimizing f (U ) over U T . Then
a set that attains the minimum among f (U ) and the f (Wt ), is an output as
required.
So we can assume that T is even. We describe a recursive algorithm. Say
that a set U splits T if both T U and T \ U are nonempty. First find a
set U minimizing f (U ) over all subsets U of S splitting T . This can be done
by finding for all s, t T a set Us,t minimizing f (Us,t ) over all subsets of
S containing s and not containing t (this amounts to submodular function
minimization), and taking for U a set that minimizes f (Us,t ) over all such
s, t.
If U T is odd, we output W := U . If U T is even, then recursively
we find a set X minimizing f (X) over all X with X (T U ) odd, and not
splitting T \ U . This can be done by shrinking T \ U to one element. Also,
recursively we can find a set Y minimizing f (Y ) over all Y with Y (T \ U )
odd, and not splitting T U . Output an X or Y attaining the minimum of
f (X) and f (Y ).
This gives a strongly polynomial-time algorithm as the total number of
recursive calls is at most |T |2 (since 2+(|T U |2)+(|T \U |2) = |T |2).
To see the correctness, let W minimize f (W ) over those W with |W T |
odd. Suppose that f (W ) < f (X) and f (W ) < f (Y ). As f (W ) < f (X), W
splits T \ U , and hence W U splits T . Similarly, f (W ) < f (Y ) implies that
W U splits T .
Since W T is odd and U T is even, either (W U ) T or (W U ) T
is odd.
If (W U ) T is odd, then f (W U ) f (W ) (as W minimizes f (W )
over W with W T odd) and f (W U ) f (U ) (as W U splits T and
as U minimizes f (U ) over U splitting T ). Hence, by the submodularity of f ,
f (W U ) = f (W ). Since (W U ) (T U ) = (W U ) T is odd and since
W U does not split T \U , we have f (W ) = f (W U ) f (X), contradicting
our assumption.
If (W U ) T is odd, a symmetric argument gives a contradiction.
Polymatroid intersection
For i = 1, 2, define wi : S R by
(46.3) wi := yi (U )U .
U S
Then yi attains
796 Chapter 46. Polymatroid intersection
P(S)
(46.4) min{ yi (U )fi (U ) | yi R+ , yi (U )U = wi }.
U S U S
46.2. Consequences
Theorem 46.1 has the following consequences. First, the integrality of the
intersection of two polymatroids:
Proof. If Pf1 and Pf2 are integer polymatroids, f1 and f2 can be taken to
be integer-valued, by Corollary 44.3g. Hence (46.1) determines a box-integer
polyhedron.
for each U S.
for each U S.
for U S. It is easy to see that a vector x belongs to Pf1 Pf2 if and only if
(46.9) xs 0 (s S),
x(U ) f (U ) (U S).
Moreover, system (46.9) is box-totally dual integral, since f (U ) fi (U ) for
each U S and i = 1, 2.
A consequence is that Pf1 Pf2 is integer if and only if f is integer. It may
occur that Pf1 and Pf2 are not integer (i.e., f1 and f2 are not integer), while
Pf1 Pf2 is integer (i.e., f is integer). For instance, take Pf1 = {(x1 , x2 ) |
0 x1 1, 0 x2 23 } and Pf2 = {(x1 , x2 ) | (x2 , x1 ) Pf1 }.
Many other results on polymatroid intersection may be deduced from
Theorem 46.1, by considering derived polymatroids (cf. McDiarmid [1978]).
For instance, if Pf1 and Pf2 are integer polymatroids in RS , v and w are
integer vectors, and k and are integers, then the polytope
(46.10) {x Pf1 Pf2 | v x w, k x(S) }
is integer again. To see this, it suces to show that the polytope Pf1 Pf2 {x |
x(S) = k} is integer for any integer k. We can reset f1 (S) := min{f1 (S), k}.
Then the polytope is a face of Pf1 Pf2 , and hence is integer. In fact, the
system determining (46.10) is box-TDI see Corollary 49.12d.
The intersection of three integer polymatroids can have noninteger ver-
tices, as the following example shows. Let S = {1, 2, 3, 4} and let P1 , P2 and
P3 be the following polymatroids:
(46.11) P1 := {x RS | x 0, x({1, 2}) 1, x({3, 4}) 1},
P2 := {x RS | x 0, x({1, 3}) 1, x({2, 4}) 1},
P3 := {x RS | x 0, x({1, 4}) 1, x({2, 3}) 1}.
(So each Pi is the independent set polytope of a partition matroid.) Now the
vector ( 12 , 12 , 12 , 12 ) is in P1 P2 P3 , but the only integer vectors in P1 P2 P3
are the 0,1 vectors with at most one 1.
Proof. This follows from the box-total dual integrality of (46.1) taking fi :=
gi for i = 1, 2.
So y attains
P(S)
(46.16) min{ y(U )f (U ) | y R+ , y(U )U = u}
U S U S
and z attains
P(S)
(46.17) max{ z(U )g(U ) | z R+ , z(U )U = v}.
U S U S
Proof. Directly from the fact that an integer extended polymatroid is the
solution set of x(U ) f (U ) (U S) for some integer submodular set function
on S, and an integer extended contrapolymatroid is the solution set of x(U )
g(U ) (U S) for some integer submodular set function on S. Hence, by
Theorem 46.2, the intersection is determined by a TDI system with integer
right-hand sides. So the intersection is integer.
As Lovasz [1983c] observed, the first part of this result can be derived from
the continuous sandwich theorem: define f : RS+ R by
k
(46.20) f(x) := i f (Ui ),
i=1
where k = U1 U2 Un S and 1 , . . . , k > 0 are such that
x = i=1 i Ui . Define g similarly. Then f is convex and g is concave, and
g f. Hence there is a linear function h
satisfying g h
f. This gives the
function h as required.
800 Chapter 46. Polymatroid intersection
Proof. It suces to show this for k = 2; the general case follows by induc-
tion (as the sum of integer polymatroids is again an integer polymatroid,
by Theorem 44.6). Choose an integer vector x P1 + P2 . Let Q be the
contrapolymatroid given by
(46.21) Q := x P2 .
Then P1 Q = , since x = x1 + x2 for some x1 P1 and x2 P2 , implying
x1 P1 Q. Now Q is integer as x and P2 are integer. Hence by Corollary
46.2a, P1 Q contains an integer vector y. Then x y P2 , and so x is the
sum of y P1 and x y P2 .
This gives the following integer rounding properties (Baum and Trotter
[1981]). Let Pf be the integer polymatroid determined by some integer sub-
modular set function f on S. Let B be the collection of integer base vectors
of Pf . Let B be the B S incidence matrix. Then for each c ZS+ , one has
(46.22) min{y T 1 | y ZB T T
+, y B c }
B
= min{y 1 | y R+ , y B cT }.
T T
= max{y T 1 | y RB T T
+ , y B c }.
Section 46.7a. Up and down hull of the common base vectors 801
So if f1 and f2 are the rank functions of matroids on S, then P is just the convex
hull of incidence vectors of subsets of S which are contained in a common base.
Note that F1 and F2 are the faces of minimal vectors in the contrapolymatroids
Q1 and Q2 associated with the supermodular set functions g1 and g2 on S given by
(46.26) gi (U ) := fi (S) fi (S \ U )
for U S and i = 1, 2 (cf. Section 44.5). So P P1 P2 and Q Q1 Q2 .
Let the set functions f and g on S be defined by
(46.27) f (U ) := max{x(U ) | x P1 P2 } = min (f1 (T ) + f2 (U \ T )),
T U
g(U ) := min{x(U ) | x Q1 Q2 } = max(g1 (T ) + g2 (U \ T )),
T U
for U S (cf. Corollary 46.1c). Then f (S) = g(S) = f1 (S) = f2 (S) = g1 (S) =
g2 (S).
It is easy to see that if x belongs to Q, then
(46.28) x(U ) f (S) f (S \ U ) for each U S
(note that x 0 follows from (46.28) by taking U = {s}). Indeed, if x z with
z F1 F2 , then x(U ) z(U ) = f (S) z(S \ U ) f (S) f (S \ U ), as z P1 P2 .
Similarly, if x belongs to P , then
(46.29) xs 0 (s S),
x(U ) g(S) g(S \ U ) (U S).
802 Chapter 46. Polymatroid intersection
In fact, the systems (46.28) and (46.29) determine Q and P respectively. This
was shown by Cunningham [1977] and McDiarmid [1978], thus proving a conjecture
of Fulkerson [1971a] (cf. Weinberger [1976]).
Proof. Consider x RS
+ and let Pi be the polymatroid Pi := {y Pi | y x} for
i = 1, 2 (cf. Section 44.1). By (44.8), the submodular function fi associated with
Pi is given by
(46.30) fi (U ) = min (fi (T ) + x(U \ T ))
T U
and
(46.33) {x RS
+ | x z for some z in F1 F2 with z w}
= {x RS
+ |x(S \ (T U )) f (S) w(U ) f (T ) for disjoint
T, U S},
as can be seen by taking appropriate subpolymatroids of P1 and P2 (cf. also Mc-
Diarmid [1976,1978]).
This has the following applications. Let G = (V, E) be a bipartite graph, let
x RE+ , and let k be a natural number. Then there exists a vector z x such that
z is a convex combination of incidence vectors of matchings in G of size k if and
only if
(46.34) x(E[U ]) k |V | + |U |
for all U V (where E[U ] denotes the set of edges spanned by U ). This can be
derived as follows. Let V1 and V2 be the colour classes of G. For F E, let fi (F )
be the number of vertices in Vi covered by F (for i = 1, 2). Then f (F ) equals
the maximum size of a matching in F , which is equal to the minimum number of
vertices covering F . Hence the inequalities x(F ) k f (E \ F ) (for F E) follow
from x(E[U ]) k |V \ U | (for U V ).
Another application is Corollary 52.3a on the up hull of the r-arborescence
polytope (cf. Section 52.1a).
Groflin and Homan [1981] gave a method to show the following:
Section 46.7a. Up and down hull of the common base vectors 803
Proof. We prove that (46.28) is box-TDI. The box-total dual integrality of (46.29)
is proved similarly.
Let R be the collection of all pairs (T, U ) of subsets of S with T U = . Then
the system
(46.35) x(S \ (T U )) f (S) f1 (T ) f2 (U ) ((T, U ) R)
is equivalent to (46.28), in the following sense: by (46.27), (46.35) determines Q,
and (46.35) contains all inequalities occurring in (46.28); moreover, all inequalities
in (46.35) satisfied with equality by some x Q, also occur in (46.28). Hence, if
(46.35) is box-totally dual integral, also (46.28) is box-totally dual integral. So it
suces to show the box-total dual integrality of (46.35). To this end, let w ZS +,
and consider the dual of minimizing wT x over (46.35):
(46.36) max{ y(T, U )(f (S) f1 (T ) f2 (U )) |
(T,U )R
y RR +, y(T, U )S\(T U ) = w}.
(T,U )R
Frank and Tardos [1984a] indicated a direct derivation of this theorem from the
total dual integrality of (46.1).
There are a number of straightforward corollaries. As for the integrality of
polyhedra:
Proof. This follows directly from Theorem 46.4. Note that F1 F2 is integer if and
only if P is integer.
where the minimum ranges over all common independent sets I with |I| = k, and
where the maximum ranges over all partitions of U into sets S1 , . . . , St (t 0), and
where r(T ) denotes the maximum size of a common independent set contained in
T.
Polymatroid intersection
algorithmically
Proof. We can assume that f1 (S) = f2 (S) and that f1 and f2 have a common
base vector (this can be checked by Theorem 47.1). Hence
(47.9) f1 (S) f1 (U ) + f2 (S \ U )
for each U S. Define S := S \ {s}.
First determine S1 , S2 with S1 S2 = {s} and S1 S2 = S and minimizing
f1 (S1 ) + f2 (S2 ). This can be done by minimizing the submodular function
f1 (U + s) + f2 (S \ U ) over U S .
Define
(47.10) := f1 (S1 ) + f2 (S2 ) f1 (S).
For i = 1, 2 and U S , define
(47.11) gi (U ) := min{fi (U ), fi (U + s) }.
Then g1 and g2 are submodular set functions on S , as is easy to check.
Moreover,
(47.12) gi (S ) = fi (S) .
To show this, we may assume that i = 1. Then we must show:
(47.13) f1 (S ) f1 (S) = 2f1 (S) f1 (S1 ) f2 (S2 ).
Now f1 (S1 \ {s}) + f2 (S2 ) f1 (S) (since f1 and f2 have a common base
vector) and f1 (S1 ) f1 (S1 \ {s}) f1 (S) f1 (S ) (by the submodularity of
f1 ). These two inequalities imply (47.13).
Then
(47.14) g1 and g2 have a common base vector.
Otherwise, S can be partitioned into sets R1 and R2 with
(47.15) g1 (R1 ) + g2 (R2 ) < g1 (S ).
If g1 (R1 ) = f1 (R1 ) and g2 (R2 ) = f2 (R2 ), then (47.15) implies
808 Chapter 47. Polymatroid intersection algorithmically
We show:
(47.31) F = EPf .
To see , it suces to show that F EPf . Let x F . So x(Ti ) = f (Ti ) for
i = 0, . . . , k 1. Hence
k
k
(47.32) x(U ) = x(U (Ti \ Ti1 )) = (x((U Ti ) Ti1 ) x(Ti1 ))
i=1 i=1
k
(f ((U Ti ) Ti1 ) f (Ti1 )) = f (U )
i=1
minimizes (47.39).
Let be the value of (47.39). If = 0, then w L, and so
2
(47.42) w= i (U )U
i=1 U Ci
So each common base vector is optimum. As we can find any common base
vector in strongly polynomial time (by Theorem 47.1), we have solved the
problem.
So we can assume that > 0. Define w : S Z by
5n2
(47.44) w := (w y),
where n := |S|. By definition of , w = 5n2 . Hence by Theorem 47.3,
we can find in strongly polynomial time a common base vector x of f1 and
f2 and w1 , w2 : S Z with w = w1 + w2 such that x is a base vector of fi
T
maximizing w i x , for i = 1, 2.
For i = 1, 2, we can determine a chain Di of subsets of S (with S Di )
and a function i : Di Z such that
(47.45) wi = i (W )W
W Di
while does not belong to L, implying that not all Wj belong to L, and
W
Moreover,
(47.59) x(Uj ) = f1 (Uj ) for each j = 1, . . . , k.
816 Chapter 47. Polymatroid intersection algorithmically
and
(47.66) fi (U ) fi (S) fi (S \ U ) fi (S) fi ({s}) L.
sS\U
Let K := |S| L + 1. Then for any vertex x of EPf1 EPf2 and any s S:
(47.67) x(s) > K,
since x = A1 b for some totally unimodular matrix A and some vector b
whose entries are values of f1 and f2 (as in the proof of Theorem 46.1;
observe that the entries of A1 belong to {0, 1}).
Define fi (U ) := fi (U ) + K |U |. Then
(47.68) EPfi = K 1 + EPfi
for i = 1, 2. Hence, by (47.67), all vertices of EPf1 EPf2 are nonnegative.
So any vector x maximizing wT x over Pf1 Pf2 also maximizes wT x over
EPf1 EPf2 . By Corollary 47.4b, x can be found in strongly polynomial
time.
818 Chapter 47. Polymatroid intersection algorithmically
47.5. Contrapolymatroids
Similar results hold for intersections of contrapolymatroids, by reduction to
polymatroids. Given supermodular set functions g1 and g2 on S (by value
giving oracles) and a weight function w QS , we can find in strongly poly-
nomial time:
(47.69) (i) a minimum-weight vector in EQg1 EQg2 ,
(ii) a minimum-weight common base vector of EQg1 and EQg2 ,
(iii) a minimum-weight vector in Qg1 Qg2 , and
(iv) a minimum-weight common base vector of Qg1 and Qg2 .
Here (i) and (ii) follow from Corollary 47.4d and Theorem 47.4 applied to
the submodular functions g1 and g2 . Moreover, (iii) and (iv) follow by
application of (i) and (ii) to the supermodular functions gi given by gi (U ) =
maxT U gi (T ) for U S and i = 1, 2 (assuming without loss of generality
g1 () = g2 () = 0).
(47.74) x(U ) f (U ) = f1 (U ),
x(U + t) = x(U ) + = x(U ) x(S) f (U ) g(S) = f1 (U + t),
x(U ) = x(S) x(S \ U ) f (S) g(S \ U ) = f2 (U ),
x(U + t) = x(U ) + = x(U ) x(S) = x(S \ U ) g(S \ U )
= f2 (U + t).
So (x, ) is a common base vector of EPf1 and EPf2 .
This shows (47.72), which implies that finding a minimum-weight vector
in EPf EQg amounts to finding a minimum-weight common base vector of
EPf1 and EPf2 .
Similarly, we can find a modular function h satisfying g h f in
strongly polynomial time, if g f (Franks discrete sandwich theorem (Corol-
lary 46.2b)). To see this, let f1 and f2 be as above, and find an (x, ) in
EPf1 EPf2 maximizing x(S) + . If x(S) + 0, then x EPf EQg ,
that is x gives a modular function h with g h f .
Dilworth truncation
48.1. If f () < 0
Let f be a submodular set function on S. If f () < 0, the associated extended
polymatroid EPf is empty. However, by ignoring the empty set, we yet obtain
an extended polymatroid. (The interest in this goes back to Dilworth [1944].)
Consider the system
(48.1) x(U ) f (U ) for U P(S) \ {},
and the problem dual to maximizing wT x over (48.1), for w RS+ :
(48.2) min{ y(U )f (U ) |
U P(S)\{}
P(S)\{}
y R+ , y(U )U = w}.
U P(S)\{}
This implies that system (48.1) is TDI. More generally, it implies the
box-total dual integrality of (48.1):
Let EPf denote the solution set of (48.1). So EPf is nonempty for each
submodular function f . As for integrality we have:
decreases (by Theorem 2.1), this process terminates. We end up with a lam-
inar family F.
The inclusionwise maximal sets in F form a partition R of T U , and
the remaining sets form a partition S of T U . Therefore,
(48.11) f(T U ) + f(T U ) f (X) + f (Y )
XR Y S
f (P ) + f (Q) = f(T ) + f(U ),
P P QQ
Lovasz [1983c] observed that f is the unique largest among all submodular
set functions g on S with g() = 0 and g(U ) f (U ) for U = . Indeed, each
subset U of S can be partitioned into nonempty sets U1 , . . . , Ut such that
t
t
(48.12) g(U ) g(Ui ) f (Ui ) = f(U )
i=1 i=1
Theorem 48.3.
(48.13) f(U ) = max{x(U ) | x EPf }.
Section 48.2a. Applications and interpretations 823
Graphic matroids (Dilworth [1944], also Edmonds [1970b], Dunstan [1976]). Let
G = (V, E) be an undirected graph and let for each F E, f (F ) be given by
(48.15) f (F ) := F 1.
It is easily checked that the function f is submodular, and that the function f as
given by (48.7) satisfies
(48.16) f(F ) = |V | minus the number of components of the graph (V, F ),
i.e., f is the rank function of the cycle matroid of G.
(48.18) f (F ) := r(F ) 1
for F F , and consider the function f. Then f can be interpreted geometrically
as follows. Let H be some hyperplane in general position in the projective space.
Then f(F ) is equal to the projective dimension of H F , i.e., f is as given by
(48.17) if we replace F by {F H | F F} (see Lov asz [1977c] and Mason [1977,
1981]).
48.3. Intersection
Corollaries 48.1a and 48.1b on submodular functions f not necessarily sat-
isfying f () 0, can be extended to pairs of functions. Let f1 and f2 be
submodular set functions on S, and consider the system
(48.23) x(U ) fi (U ) for U P(S) \ {} and i = 1, 2.
Then:
Corollary 48.5a. If f1 and f2 are submodular and integer, then EPf1 EPf2
is box-integer.
49.2. Intersection
Also the intersection of two of the polyhedra EPf is tractable. Let S be a
finite set. For i = 1, 2, let Ci be a lattice family on S and let fi : Ci R be
submodular. Consider the system
(49.12) x(U ) f1 (U ) for U C1 ,
x(U ) f2 (U ) for U C2 .
Then:
Corollary 49.1e. If f1 and f2 are submodular and integer, then EPf1 EPf2
is box-integer.
49.3. Complexity
To find the minimum of a submodular function f defined on a lattice family
C in polynomial time, just an oracle telling if a set U belongs to C, and
if so, giving f (U ), is not sucient: if C = {, T, S} for some T S, with
f () = f (S) = 0 and f (T ) = 1, we cannot find T by a polynomially
bounded number of oracle calls. So we need to have more information on C.
A lattice family C is fully characterized by the smallest set M and the
largest set L in C, together with the pre-order on S defined by:
(49.16) u v each U C containing v also contains u.
Then is a pre-order (that is, it is reflexive and transitive). A subset U of
S belongs to C if and only if M U L and U is a lower ideal in (that
is, if v U and u v, then u U ).
Hence C has a description of size O(|S|2 ), such that for given U S one
can test in polynomial time if U belongs to C.
For U S, define
(49.17) U := {s S | t U : s t} and
U := {s S | t U : t s}.
Set
(49.18) v := {v} , v := {v} , v := v v .
For any U S, let U be the (unique) smallest set in C containing U L;
that is,
(49.19) U = (U L) M.
So having L, M , and , the set U can be determined in polynomial time.
Determine a number > 0 such that
(49.20) f (S \ v ) f ((S \ v ) v) and f (v ) f (v \ v)
for all v L \ M . Such an can be found by at most 4|S| oracle calls.
Then satisfies, for any X, Y C with X Y :
(49.21) |f (Y ) f (X)| |Y \ X|.
To show this, we can assume that Y \ X = v for some v L \ M . Then
f (Y ) f (X) f (v ) f (v \ v) and f (Y ) f (X) f ((S \ v ) v)
f (S \ v ) , implying (49.21).
Now define a function f : P(S) R by:
830 Chapter 49. Submodularity more generally
(49.22) f(U ) := f (U ) + |U U |
for U S.
Then:
Theorem 49.2. For any > 0 satisfying (49.20) for all v L \ M , the
function f is submodular.
if the first maximum is finite. Clearly holds in (49.29), since EPfi EPfi
for i = 1, 2. To see equality, each face of EPf1 EPf2 is determined by
equations x(U ) = fi (U ) for i = 1, 2 and U Di , where Di is a chain of
sets in Ci . So it is determined by a system of linear equations with totally
unimodular constraint set and right-hand sides determined by function values
of f1 and f2 . So each face contains a vector x with |xs | K for all s S
(by (49.28), since the inverse of a nonsingular totally unimodular matrix has
all its entries in {0, 1}). But any such x belongs to EPf1 EPf2 , since for
i = 1, 2 and U S, we have:
(49.30) x(U ) x(U ) + K|U U | fi (U ) + K|U U | = fi (U )
(where U is taken with respect to Ci ). So we have (49.29).
Therefore, by Corollary 47.4d, we can maximize wT x over EPf1 EPf2
in strongly polynomial time. Note that for any w QS , we can decide in
strongly polynomial time if the first maximum in (49.29) is finite. For this,
we should decide if there exist w1 , w2 QS+ such that w = w1 + w2 and such
that for i = 1, 2: wi (s) = 0 for s S \ Li and u i v implies wi (u) wi (v)
for all u, v. This can be reduced to checking if a certain digraph with lengths
has no negative-length directed circuit.
49.5. Intersection
is box-TDI.
By Theorem 49.3,
(49.42) min{ yi (U )fi (U ) | yi RC+i , yi (U )U = wi }
U Ci U Ci
Consider the family F made by the union of P and Q (taking a set twice if
it occurs in both partitions). We can transform F iteratively into a laminar
family, by replacing any X, Y F with X Y = and X Y X by
X Y, X Y . In each iteration, the sum
(49.45) f (Z)
ZF
decreases (by Theorem 2.1), this process terminates. We end up with a lam-
inar family F.
The inclusionwise maximal sets in F form a partition R of T U , and
the remaining sets form a partition S of T U . Therefore,
(49.47) f(T U ) + f(T U ) f (X) + f (Y )
XR Y S
f (P ) + f (Q) = f(T ) + f(U ),
P P QQ
49.7. Complexity
The results of the previous section enable us to reduce algorithmic problems
on intersecting submodular functions, to those on submodular functions on
lattice families.
If C is an intersecting family on S, then for each s S, the collection
Cs := {U C | s U } is a lattice family. So (like in Section 49.3) we can
assume that C is given by a representation of Cs for each s S, in terms of
the pre-order s given by: u s v if and
only if each set in C containing s
and v also contains u, and by Ms := Cs and Ls := Cs ; next to that we
should know if belongs to C.
We can derive the information on C as follows:
836 Chapter 49. Submodularity more generally
(49.49) C = , C = Ls ; u v if and only if u Mv .
sS
which can be done in strongly polynomial time by the results of Section 49.3.
Similarly for intersections of two such polyhedra EPf1 and EPf2 .
So y attains
(49.56) min{ y(U )f (U ) | y RC+ , y(U )U = u}
U C U C
and z attains
(49.57) max{ z(U )g(U ) | z RD
+, z(U )U = v}.
U D U D
So f(S) = 0. Then:
for U C.
Fujishige [1984e] showed that the following box-TDI result can be derived
from Corollary 49.3a:
Frank and Tardos [1984b] observed that this implies a relation with ma-
troids:
Proof. Directly from Theorem 49.7, using the observations on (44.43) and
(49.11).
840 Chapter 49. Submodularity more generally
49.10. Complexity
The reduction given in the proof of Theorem 49.6 also enables us to calculate
f(U ) from a value giving oracle for f , similar to the proof in Section 49.7.
We assume that C is given by descriptions of the lattice families Cs,t := {U
C | s U, t U } as in Section 49.3.
Note that
(49.68) EPf {x | x(S) = 0} = EPf {x | x(S) = 0}.
This follows from the fact that if x EPf and x(S) = 0, then for any
C and any proper copartition P = {U1 , . . . , Up } of S \ U with f (U ) =
U
P P f (P ), one has:
(49.69) x(U ) = x(S \ U ) = x(S \ P ) = x(P ) f (P )
P P P P P P
= f (U ).
Having this, the problem of maximizing wT x over EPf {x | x(S) = 0}, where
f is crossing submodular, is reduced to the problem of maximizing wT x over
EPf{x | x(S) = 0}. The latter problem can be solved in strongly polynomial
time by the results of Section 49.7. Similar results hold for intersections of
two such polyhedra:
Let F be the family consisting of the union of the QU over U P, taking multi-
plicities into account. Then
(49.76) elements of S are contained in the same number of sets in F ;
(i) all
(ii) f (T ) < 0.
T F
In Section 45.7 we saw that the minimum of a submodular function over the odd
subsets can be found in strongly polynomial time. A generalization of minimizing a
submodular function over the odd subsets (cf. Section 45.7), was given by Gr
otschel,
Section 49.11a. Minimizing a submodular function over a subcollection 843
Lov asz, and Schrijver [1981,1984a] (the latter paper corrects a serious flaw in the
first paper found by A. Frank). This was extended by Goemans and Ramakrishnan
[1995] to the following.
Let C be a lattice family and let D be a subcollection of C with the following
property:
(49.77) for all X, Y C \ D: X Y D X Y D.
Examples are: D := {X C |X| q(mod p)} for some natural numbers p, q, and
D := C \ A for some antichain or some sublattice A C.
To prove that for a submodular function on C, the minimum over D can be
found in strongly polynomial time, Goemans and Ramakrishnan gave the following
interesting lemma:
By assumption, the union of these sets belongs to D. Hence, by (49.77), also their
intersection belongs to D; that is
(49.83) ( Wu ) ( Wu ) D
uT {v} uV \{v}
This lemma is used in proving the following theorem, where we assume that C
is given as in Section 49.3, f is given by a value giving oracle, and D is given by an
oracle telling if any given set in C belongs to D:
It is interesting to note that this algorithm implies that the set {, S} {Us,t |
s, t S} contains a set minimizing f over D, for any nonempty subcollection D of
C satisfying (49.77).
Section 49.11b. Generalized polymatroids 845
Goemans and Ramakrishnan showed that if C and D are symmetric (that is,
U C S \ U C, and similarly for D) and D, then (49.77) is equivalent
to: if X, Y C \ D are disjoint, then X Y C \ D.
Related work was reported by Bencz ur and F
ul
op [2000].
Corollary 49.12a. If (f, g) is paramodular and f and g are integer, the generalized
polymatroid is box-integer.
More generally one has the box-total dual integrality of the system
(49.93) x(U ) f1 (U ) for U C1 ,
x(U ) g1 (U ) for U D1 ,
x(U ) f2 (U ) for U C2 ,
x(U ) g2 (U ) for U D2 ,
for pairs of paramodular pairs (fi , gi ):
Corollary 49.12d. Let f1 and f2 be submodular set functions on a set S and let
, R. Then the system
(49.94) x(U ) f1 (U ) for U S,
x(U ) f2 (U ) for U S,
x(S) ,
is box-TDI.
From Corollary 49.12c one can derive that the intersection of two integer gen-
eralized polymatroids is integer again. To prove this, we show that for any integer
generalized polymatroid P there exists a paramodular pair (f, g) determining P ,
with f and g integer.
Let P be a generalized polymatroid, determined by the paramodular pair (f, g)
of functions f : C R and g : D R, where C and D are intersecting families. For
any U S, define
(49.95) f(U ) := max{x(U ) | x P } and g(U ) := min{x(U ) | x P }.
So f and g are integer if P is integer.
Let
(49.96) C := {U C | f(U ) < } and D
:= {U D | g(U ) > }.
Proof. We first show the following. Let w ZS and let > 0 be such that ws
for each s S. Let U := {s S | w(s) = } and w := w U . Then
T
(49.98) max{wT x | x P } = max{w x | x P } + f(U ).
Here follows from (49.97), by definition of f. Equality is proved by induction on
|U |, the case U = being trivial; so let U = .
Let y, z be an optimum solution to the dual of max{wT x | x P }:
(49.99) min{ yT f (T ) zT g(T ) |
T C T D
y RC+ , z RD+, yT T zT T = w}.
T C T D
and
(49.101) f(Y ) f (W ) g(H).
HH
Proof. Suciency follows from Corollary 49.12a. Necessity follows from Theorem
49.13, as P is determined by (f, g), where f and g are integer if P is integer.
We should note that the collections C and D found in the proof of Theorem
49.13 are lattice families and that f and g are sub- and supermodular respectively.
Moreover, f(T \ U ) g(U \ T ) f(T ) g(U ) for each pair T C,
U D.
This implies that projections of generalized polymatroids are again generalized
polymatroids (Frank [1984b]):
Proof. We can assume that P is nonempty, that C and D are lattice families, and
that P is determined by a paramodular pair (f, g) = (f, g) as above. Let C and D
be the collections of sets in C and D respectively not containing t. Let f := f |C
and g := g|D .
Trivially, (f , g ) is a paramodular pair. We claim that P is equal to the gener-
alized polymatroid Q determined by (f , g ). Trivially, P Q. To see the reverse
inclusion, let x Q. Let be the largest real such that x(T t) + f (T ) for
each T C \ C . Let be the smallest real such that x(U t) + g(U ) for each
U D \ D .
If x P , then < , and hence there exist T C and U D with t T U
and f (T ) x(T t) < g(U ) x(U t). Hence
(49.108) x(T \ U ) x(U \ T ) = x(T t) x(U t) > f (T ) g(U )
f (T \ U ) g(U \ T ).
This contradicts the fact that x(T \ U ) f (T \ U ) and x(U \ T ) g(U \ T ), as
x Q.
For results on the dimension of generalized polymatroids, see Frank and Tardos
[1988], which paper surveys generalized polymatroids and submodular flows. More
results on generalized polymatroids are reported by Fujishige [1984b], Nakamura
[1988b], Naitoh and Fujishige [1992], and Tamir [1995].
Havel [1992], Ando and Fujishige [1996], Fujishige [1997], and Fujishige and Iwata
[2001].
It is direct to represent a lattice family on a set S of size n in O(n2 ) space (just
by giving all pairs (u, v) for which each set in the family containing u also contains
v). Gabow [1993b,1995c] gave an O(n2 ) representation for intersecting and crossing
families. Related results were found by Fleiner and Jord an [1999].
Tardos [1985b] also studied generalized matroids, which form the special case of
generalized polymatroids with 0, 1 vertices. An instance of it we saw in the proof
of Theorem 49.14.
More results on submodularity are given by Fujishige [1980b,1984f,1984g,1988],
Nakamura [1988b,1988c,1993], Kabadi and Chandrasekaran [1990], Iwata [1995],
Iwata, Murota, and Shigeno [1997], and Murota [1998]. Generalizations were studied
by Qi [1988b] and Kashiwabara, Nakamura, and Takabatake [1999].
Part V
Chapters:
Theorem 50.1. Let F be a good forest and let e be an edge not in F . Then
F {e} is a good forest if and only if
(50.2) there exists a cut C disjoint from F such that e is shortest among
the edges in C.
Proof. Again directly from Theorem 50.1, as e is shortest in the cut (K)
for each of the two components K of F incident with e.
Prim [1957] and Loberman and Weinberger [1957] observed that the opti-
mality of the greedy method implies that each length function which gives the
same order of the edges (like the logarithm or square of the lengths), has the
same collection of shortest spanning trees. Similarly, the shortest spanning
tree minimizes the product of the lengths (if nonnegative).
In a similar way one finds a longest spanning tree. The maximum length
of a forest and the minimum length of a connector can also be found with
the greedy method.
Note that the greedy method is flexible: We can change our rule of choos-
ing the new edge e at any time throughout the algorithm, as long as at any
choice of e, (50.2) is satisfied.
As Prim [1957] and Dijkstra [1959] remark, the value of any variant of
the greedy method depends on its implementation. One should have ecient
ways to store and update information on the components of F , and on finding
an edge satisfying (50.2). We now consider such implementations for Prims
and for Kruskals method.
In fact, by applying 2-heaps (Section 7.3) one can obtain a running time
bound of O(m log n) (E.L. Johnson, cf. Kershenbaum and Van Slyke [1972]),
and with Fibonacci heaps (Section 7.4) one obtains (Fredman and Tarjan
[1984,1987]):
Tarjan [1983] showed that if the edges are presorted, a minimum span-
ning tree can be found in time O(m(m, n)) (where (m, n) is the inverse
Ackermann function see Section 50.6a).
Theorem 50.4. Assuming that all edge lengths are dierent, the parallel forest-
merging variant yields a shortest spanning tree.
Proof. We show that F remains a good forest throughout the iterations. Consider
some iteration, and let F be the good forest at the start of the iteration. Let
e1 , . . . , ek be the edges added in the iteration, indexed such that l(e1 ) < l(e2 ) <
< l(ek ). By the selection rule (50.5), for each i = 1, . . . , k, ei is the shortest edge
leaving some component K of F . Then K is also a component of F {e1 , . . . , ei1 },
as none of e1 , . . . , ei1 leave K (since ei is shortest leaving K). Hence for each
i = 1, . . . , k, F {e1 , . . . , ei } is a good forest (by induction on i). Concluding, the
iteration yields a good forest.
Theorem 50.5. Let K be a good connector and let e K. Then K \ {e} is a good
connector if and only if
(50.6) K contains a circuit C such that e is a longest edge in C.
Proof. It suces to find a longest spanning tree in any component. This can
be done with the greedy method.
Theorem 50.7. Let G = (V, E) be a graph and let l ZE + . Then the maxi-
mum length of a forest is equal to the minimum value of
(50.7) yU (|U | 1),
U P(V )\{}
P(V )\{}
where y Z+ satisfies
(50.8) yU E[U ] l.
U P(V )\{}
Proof. The maximum cannot be larger than the minimum, since for any
P(V )\{}
forest F and any y Z+ satisfying (50.8) one has:
(50.9) l(F ) yU |E[U ] F | yU (|U | 1).
U P(V )\{} U P(V )\{}
To see equality, let k := max{l(e) | e E}, and let Ei be the set of edges
e with l(e) i, for i = 0, 1, . . . , k. For each U P(V ) \ {}, let yU be the
number of i {1, . . . , k} such that U is a component of the graph (V, Ei ).
Then it is easy to see that y satisfies (50.8).
We can find a sequence of forests Fk F1 F0 , where for i =
0, 1, . . . , k, Fi is a maximal forest in (V, Ei ) containing Fi+1 , setting Fk+1 :=
.
Then for F := F0 we have:
Section 50.4. The longest forest and the forest polytope 861
k k k
(50.10) l(F ) = i|Fi \ Fi+1 | = |Fi | = (|V | (V, Ei ))
i=0 i=1 i=1
= yU (|U | 1),
U P(V )\{}
Proof. Trivially, the incidence vector of any forest satisfies (50.11), and hence
the forest polytope is contained in the polytope determined by (50.11). Sup-
pose now that the latter polytope is larger. Then (since both polytopes are
rational and down-monotone in RE E
+ ) there exists a vector l Q+ such that
T
the maximum value of l x over (50.11) is larger than the maximum of l(F )
over forests F . We can assume that l is integer. However, by Theorem 50.7,
the maximum of l(F ) is at least the minimum value of the problem dual to
maximizing lT x over (50.11), a contradiction.
Proof. This follows from Theorem 50.7, by the definition of total dual inte-
grality.
Proof. Directly from Corollary 50.7a, since the spanning trees are exactly
the forests of size |V | 1, and since there exist no forests larger than that.
Proof. Directly from Corollary 50.7b, since (50.12) arises from (50.11) by
setting an inequality to equality (cf. Theorem 5.25).
where y Z
+ such that
(50.14) yP (P) l.
P
Proof. The minimum cannot be smaller than the maximum, since for any
spanning tree T and any y Z
+ satisfying (50.14) one has:
(50.15) l(T ) yP (P) (T ) = yP |(P) T | yP (|P| 1).
P P P
For any graph G = (V, E), let the connector polytope of G, denoted by
Pconnector (G), be the convex hull of the incidence vectors (in RE ) of the
connectors of G. The following characterization can be derived from Edmonds
[1970b], and was stated explicitly by Fulkerson [1970b]:
Proof. Trivially, the incidence vector of any connector satisfies (50.17), and
hence the connector polytope is contained in the polytope determined by
(50.17). Suppose now that the latter polytope is larger. Then (since both
polytopes are rational and up-monotone in [0, 1]E ) there exists a vector l
QE T
+ such that the minimum value of l x over (50.17) is smaller than the
minimum of l(C) over connectors C. We can assume that l is integer. However,
by Theorem 50.8, the minimum of l(C) is at most the maximum value of the
problem dual to minimizing lT x over (50.17), a contradiction.
Proof. This follows from Theorem 50.8, by the definition of total dual inte-
grality.
[1977]). They also gave an algorithm to find the second shortest spanning tree in
time O(min{n2 , m(m, n)}).
Pettie and Ramachandran [2000,2002a] showed that a shortest spanning tree
can be found in time O(T (m, n)), where T (m, n) is the minimum number of
edge length comparisons needed to determine the solution.
Frederickson [1983a,1985] gave an O( m)-time algorithm to update a shortest
spanning tree (and the data-structure) if one edge changes length. Spira and Pan
[1973,1975] and Chin and Houck [1978] gave fast algorithms to update a shortest
spanning tree if vertices are added or removed. More on sensitivity and most vital
edges can be found in Tarjan [1982], Hsu, Jan, Lee, Hung, and Chern [1991], Dixon,
Rauch, and Tarjan [1992], Iwano and Katoh [1993], Lin and Chern [1993], and
Frederickson and Solis-Oba [1996,1999].
Tarjan [1979] showed that the minimality of a given spanning tree can be
checked in time O(m(m, n)) (cf. Dixon, Rauch, and Tarjan [1992]). Koml os [1984,
1985] showed that the minimality of a given spanning tree can be checked by O(m)
comparisons of edge lengths. King [1997] gave a linear-time implementation in the
unit-cost RAM model. A randomized linear-time algorithm was given by Klein and
Tarjan [1994], and Karger, Klein, and Tarjan [1995].
Gabow and Tarjan [1984] (cf. Gabow and Tarjan [1979]) showed that the prob-
lem of finding a shortest spanning tree with a prescribed number of edges incident
with a (one) given vertex r, is linear-time equivalent to the (unconstrained) shortest
spanning tree problem. They also showed that if the edges of a graph are coloured
red and blue, a shortest spanning tree having exactly k red edges (for given k) can
be found in time O(m log log2+ m n + n log n).
n
Brezovec, Cornuejols, and Glover [1988] gave an ecient algorithm to find a
shortest spanning tree in a coloured graph with, for each colour, an upper and a
lower bound on the number of edges in the tree of that colour.
Camerini [1978] showed that a spanning tree minimizing maxeT l(e) can be
found in O(m) time.
Geometric spanning trees (on vertices in Euclidean space, with Euclidean dis-
tance as length function) were considered by Bentley, Weide, and Yao [1980],
Yao [1982], Supowit [1983], Clarkson [1984,1989], and Agarwal, Edelsbrunner,
Schwarzkopf, and Welzl [1991].
Proof. Necessity being trivial, we show suciency. Let the condition be satisfied,
and suppose that T is not a shortest spanning tree. Choose a shorter spanning
tree T with |T \ T | minimal. Let f T \ T . Let e be an edge on the circuit in
T {f } with e = f , such that e connects the two components of T \ {f }. Then
(T \{e}){f } is a spanning tree, and hence l(f ) l(e). Define T := (T \{f }){e}.
Then l(T ) l(T ) < l(T ) and |T \ T | < |T \ T |, contradicting our minimality
assumption.
866 Chapter 50. Shortest spanning trees
Proof. To see necessity, let F be good and let e F . So there exists a shortest
spanning tree T containing F . By Theorem 50.9, e is a shortest edge connecting
the two components of T e. This gives the required cut C.
Suciency is shown by induction on |F |, the case F = being trivial. Choose
e F . By induction, F \ {e} is good (as the condition is maintained for F \ {e}).
The condition implies that (50.2) is satisfied, and hence F is good by Theorem 50.1.
where the maximum ranges over all s t paths P . (The value of rG (s, t) can be
found with the method described in Section 8.6e.)
The problem now is to find a minimal subgraph H of G having the same relia-
bility as G; that is, with rH = rG . Hu [1961] observed that there is a spanning tree
carrying the reliability of G. More precisely, Hu showed that any spanning tree T
of maximum total reliability is such a tree (also shown by Kalaba [1964]):
Corollary 50.9b. Let G = (V, E) be a graph, let r RE , and let T be any spanning
tree. Then rT (s, t) = rG (s, t) for all s, t if and only if T is a spanning tree in G
maximizing r(T ).
Proof. Note that (50.23) implies that l(uw) is equal to the reliability rG (u, w) of
u and w, taking r := l. So the corollary follows from Corollary 50.9b.
The following fundamental property of forests in fact is the basis of most theorems
in this chapter. It is the exchange property that makes the collection of forests
into a matroid.
Theorem 50.10. Let G = (V, E) be a graph and let F and F be forests with
|F | < |F |. Then F {e} is a forest for some e F \ F .
Corollary 50.10a. Let F be an extreme forest and let e be a shortest edge with
e F and F {e} a forest. Then F {e} is extreme again.
868 Chapter 50. Shortest spanning trees
Proof. Directly from Corollary 50.10a, since it implies that each extreme forest is
contained in an extreme maximal forest, and hence in a shortest maximal forest;
so it is good.
Corollary 50.10c. Let G = (V, E) be a graph and let k, l Z+ . Then the convex
hull of the incidence vectors of forests F with k |F | l is equal to the intersection
of the forest polytope of G with {x RE | k x(E) l}.
F
Proof. Let x be in the forest polytope with k x(E) l. Let x = F F , where
F ranges over all forests and where the F are nonnegative reals with F F = 1.
Choose the F with
(50.24) F |F |2
F
minimal. Then
(50.25) |F | |F | + 1 for all F, F with F > 0 and F > 0.
Otherwise we can choose e F \ F such that F {e} is a forest (by Theorem
50.10). Let := min{F , F }. Then decreasing F and F by and increasing
F {e} and F \{e} by , decreases sum (50.24). This contradicts our assumption,
and proves (50.25).
It implies that k |F | l for each F with F > 0, and we have the corollary.
Proof. Let E be the set of edges of negative weight and let V be the set of
vertices covered by E . Let V+ := V \ V . First find a subset F of E[V+ ] (V+ )
covering V+ , of minimum weight. This can be done in strongly polynomial time,
by a variation of the strongly polynomial-time algorithm for the minimum weight
edge cover problem. (In fact, it is a special case of Theorem 34.4.)
Next find a forest F in E[V ] of minimum weight. Again, this can be done in
strongly polynomial time, by Theorem 50.6.
We can assume that any proper subset of F does not cover V+ . It implies that
F is a forest and that for any vertex v V+ incident with some edge e in F with
e (V+ ), e is the only edge in F incident with v.
870 Chapter 50. Shortest spanning trees
Gamble and Pulleyblank [1989] showed that Whites method implies a charac-
terization of the forest cover polytope Pforest cover (G) of a graph G, which is the
convex hull of the incidence vectors of forest covers in G. It turns out to be equal
to the intersection of the forest polytope (characterized in Corollary 50.7a) and the
edge cover polytope (characterized in Corollary 27.3a):
Proof. The inclusion is trivial, as any forest cover is both a forest and an edge
cover. Suppose that the reverse inclusion does not hold, and let x be a vertex of
Pforest (G) Pedge cover (G) which is not in Pforest cover (G). Let w QE be a weight
function such that x uniquely minimizes wT x over Pforest (G) Pedge cover (G). We
can assume that w(e) = 0 for each edge e (as we can perturb w slightly).
Again let E be the set of edges of negative weight, V be the set of vertices
covered by E , and V+ := V \ V . Since x is in the edge cover polytope, there exists
a subset F of E[V+ ] (V+ ) covering V+ with
(50.30) w(F ) w(e)xe .
eE[V+ ](V+ )
White [1971] also considered the problem of finding a minimum weight forest
cover of given size k. Gamble and Pulleyblank [1989] showed that the convex hull
of the incidence vectors of forest covers of size k is equal to the intersection of the
forest cover polytope with the hyperplane {x RE | x(E) = k}.
Cerdeira [1994] related forest covers to matroid intersection.
Bor
uvka: parallel forest-merging
Boruvka [1926a] described the problem of finding a shortest spanning tree as follows
(the paper is in Czech; we quote from its German summary; for quotes from Czech
with translation, see Graham and Hell [1985]):
In dieser Arbeit l
ose ich folgendes Problem:
Es m oge eine Matrix der bis auf die Bedingungen r = 0, r = r positiven
und von einander verschiedenen Zahlen r (, = 1, 2, . . . n; n 2) gegeben
sein.
872 Chapter 50. Shortest spanning trees
Aus dieser ist eine Gruppe von einander und von Null verschiedener Zahlen
auszuw ahlen, so dass
1 in ihr zu zwei willk
urlich gew
ahlten nat
urlichen Zahlen p1 , p2 ( n) eine Teil-
gruppe von der Gestalt
rp1 c2 , rc2 c3 , rc3 c4 , . . . rcq2 cq1 , rcq1 p2
existiere,
2 die Summe ihrer Glieder kleiner sei als die Summe der Glieder irgendeiner
anderen, der Bedingung 1 gen
ugenden Gruppe von einander und von Null ver-
schiedenen Zahlen.2
So Bor uvka stated that the spanning tree found is the unique shortest. He assumed
that all edge lengths are dierent.
Bor uvka next described parallel forest-merging, in a somewhat complicated way.
(He did not have the language of graph theory at hand.) The idea is to update a
number of vertex-disjoint paths P1 , . . . , Pk (initially k = 0). Along any Pi , the edge
lengths are decreasing. Let v be the last vertex of Pk and let e be the edge of
shortest length incident with v. If the other end vertex of e is not yet covered by
any Pi , we extend Pk with e, and iterate. Otherwise, if not all vertices are covered
yet by the Pi , we choose such a vertex v, and start a new path Pk+1 at v. If all
vertices are covered by the Pi , we shrink each of the Pi to one vertex, and iterate.
At the end, the edges chosen throughout the iterations form a shortest spanning
tree. It is easy to see that this in fact is parallel forest-merging.
The interest of Bor uvka in this problem came from a question of the Electric
Power Company of Western Moravia in Brno, at the beginning of the 1920s, asking
for the most economical construction of an electric power network (see Bor uvka
[1977]).
In a follow-up paper, Bor uvka [1926b] gave a simple explanation of the method
by means of an example. We refer to Nesetril, Milkov a, and Nesetrilova [2001] for
translations of and comments on the two papers of Bor uvka.
Jarnk: tree-growing
2 the sum of its members be smaller than the sum of the members of any other group
of numbers dierent from each other and from zero, satisfying condition 1 .
Section 50.6h. Historical notes on shortest spanning trees 873
Again, Jarnk assumed that all lengths are distinct and showed that then the short-
est spanning tree is unique. For a detailed discussion and translation of the article
of Jarnk [1930] (and of Jarnk and K
ossler [1934] on the Steiner tree problem), see
Korte and Nesetril [2001].
Parallel forest-merging was described also by Choquet [1938] (without proof), who
gave as motivation the construction of road systems:
Etant donne n villes du plan, il sagit de trouver un reseau de routes permettant
daller dune quelconque de ces villes ` a une autre et tel que:
1 la longueur globale du reseau soit minimum;
2 exception faite des villes, on ne peut partir daucun point dans plus de deux
directions, afin dassurer la surete de la circulation; ceci entrane, par exemple,
que lorsque deux routes semblent se croiser en un point qui nest pas une ville,
elles passent en fait lune au-dessus de lautre et ne communiquent pas entre elles
en ce point, quon appellera faux-croisement.4
Kruskal
Kruskal [1956] was motivated by Bor uvkas first paper and by the application to
the traveling salesman problem, described as follows (where [1] refers to Bor
uvka
[1926a]):
Several years ago a typewritten translation (of obscure origin) of [1] raised some
interest. This paper is devoted to the following theorem: If a (finite) connected
graph has a positive real number attached to each edge (the length of the edge),
and if these lengths are all distinct, then among the spanning trees (German:
Gerust) of the graph there is only one, the sum of whose edges is a minimum;
that is, the shortest spanning tree of the graph is unique. (Actually in [1] this
theorem is stated and proved in terms of the matrix of lengths of the graph,
that is, the matrix aij where aij is the length of the edge connecting vertices
i and j. Of course, it is assumed that aij = aji and that aii = 0 for all i and j.)
The proof in [1] is based on a not unreasonable method of constructing a spanning
subtree of minimum length. It is in this construction that the interest largely lies,
for it is a solution to a problem (Problem 1 below) which on the surface is closely
related to one version (Problem 2 below) of the well-known traveling salesman
problem.
Problem 1. Give a practical method for constructing a spanning subtree of min-
imum length.
Problem 2. Give a practical method for constructing an unbranched spanning
subtree of minimum length.
The construction in [1] is unnecessarily elaborate. In the present paper I give
several simpler constructions which solve Problem 1, and I show how one of these
constructions may be used to prove the theorem of [1]. Probably it is true that
any construction which solves Problem 1 may be used to prove this theorem.
Prim
Prim preferred starting at a vertex and growing a tree for computational reasons:
This computational procedure is easily programmed for an automatic computer
so as to handle quite large-scale problems. One of its advantages is its avoidance
of checks for closed cycles and connectedness. Another is that it never requires
access to more than two rows of distance data at a time no matter how large
the problem.
They described two methods: tree-growing and forest-merging. Only after they had
designed their algorithms, they discovered that their algorithms were given earlier
by Kruskal [1956].
However, it is felt that the more detailed implementation and general proofs of
the procedures justify this paper.
Dijkstra
Dijkstra [1959] gave again the tree-growing method, which he preferred (for com-
putational reasons) above the forest-merging method of Kruskal and Loberman
and Weinberger (overlooking the fact that these authors also gave the tree-growing
method):
The solution given here is to be preferred to the solution given by J.B. Kruskal
[1] and those given by H. Loberman and A. Weinberger [2]. In their solutions
all the possibly 12 n(n1) branches are first of all sorted according to length.
Even if the length of the branches is a computable function of the node coordi-
nates, their methods demand that data for all branches are stored simultaneously.
Our method requires the simultaneous storing of the data for at most n branches,
...
Further work
Kalaba [1960] proposed the method of first choosing a spanning tree arbitrarily,
and next adding, iteratively, an edge and removing the longest edge in the circuit
arising.
Kotzig [1961b] gave again Kruskals Algorithm A (a referee pointed Kruskals
work out to Kotzig). Kotzig moreover showed that there is a unique minimum
spanning tree T if and only if for each edge e not in T , e is the unique longest edge
in the circuit in T {e}.
As mentioned, Graham and Hell [1985] give an extensive survey on the history of
the minimum spanning tree (and minimum Steiner tree) problem. See also Nesetril
[1997] for additional notes on the history of the minimum spanning tree problem.
Chapter 51
The basic facts on packing and covering of trees follow directly from those
on matroid union. In this chapter we check what these results amount to
in terms of graphs, and we give some more direct algorithms.
Proof. This follows directly from the matroid union theorem (Corollary
42.1a) applied to the cycle matroid M of G. Indeed, by Corollary 42.1b,
the maximum size of the union of k forests is equal to the minimum value of
(51.2) |E \ F | + krM (F ),
where rM (F ) is the maximum size of a forest contained in F . We can assume
that each component of (V, F ) is an induced subgraph of G. So taking P
equal to the set of components of (V, F ), we see that rM (F ) = |V | |P|, and
hence that the minimum of (51.2) is equal to the minimum of (51.1).
Proof. To see necessity of (51.3), each spanning tree contains at least |P| 1
edges in (P). To show suciency, it is equivalent to show that there exist
k(|V | 1) edges that can be covered by k forests. By Theorem 51.1, this is
indeed possible, since
(51.4) |(P)| + k(|V | |P|) k(|P| 1) + k(|V | |P|) = k(|V | 1)
for each partition P of V into nonempty sets.
Corollary 51.1b. The connector polytope of a graph has the integer decom-
position property.
For any connected graph G = (V, E), define the strength of G by:
(51.5) := max{ |
strength(G) 1 Pconnector (G)}
= max{ T | T 0, T T 1},
T T
where T ranges over the spanning trees of G, and where 1 denotes the all-1
vector in RE .
The Tutte-Nash-Williams disjoint trees theorem is equivalent to: the max-
imum number of disjoint spanning trees in a graph G = (V, E) is equal to
strength(G). Similarly, the capacitated version of the Tutte-Nash-Williams
theorem is equivalent to the integer rounding property of the system (cf.
Section 42.2):
(51.6) xe 0 for e E,
x(T ) 1 for each spanning tree T .
for any partition P of V into nonempty sets. So |(P)| + k(|V | |P|) |E|,
and hence Theorem 51.1 implies that there exist k forests covering E.
Corollary 51.1d. For any graph G, the forest polytope has the integer de-
composition property.
These results are equivalent to: the minimum number of forests needed
to cover the edges of a graph G = (V, E) is equal to
(51.9) min{ | 1 Pforest (G)},
where 1 denotes the all-one vector in RE . A similar relation holds for the
capacitated case, which is equivalent to the integer rounding property of the
system:
(51.10) xe 0 for e E,
x(F ) 1 for each forest F .
The minimum number of forests needed to cover the edges of a graph G is
called the arboricity of G.
51.4. Complexity
The complexity results on matroid union in Sections 40.3, 42.3 and 42.4 imply
that these packing and covering problems for forests and trees are solvable
in polynomial time:
Theorem 51.2. For any graph G = (V, E), a maximum number of edge-
disjoint spanning trees and a minimum number of forests covering E can be
found in polynomial time.
880 Chapter 51. Packing and covering of trees
Proof. Extend D by two new vertices s and t, and arcs (s, v) for v V
with yv > 0 and (v, t) for v V with yv < 0. This gives the digraph D =
(V {s, t}, A ). Define a capacity function c on A by:
(51.12) c(u, v) := x(u, v) for (u, v) A,
c(s, v) := yv if (s, v) A ,
c(v, t) := yv for (v, t) A .
in
Let := c(A (t)) (the sum of the negative yv s). Then
in in
(51.13) c(A (U {t})) = x(A (U )) + yv yv
vU v V \U
yv > 0 yv > 0
in in
= x(A (U )) + yv yv = x(A (U )) + y(U )
vU vV
yv < 0
in
for any U V . Thus minimizing x(A (U )) + y(U ) is reduced to finding a
minimum-capacity (S {s}) (T {t}) cut in D .
A first consequence of Theorem 51.3 is that we can test membership, and find
a most violated inequality, for the forest polytope (Picard and Queyranne
[1982b] (suggested by W.H. Cunningham) and Padberg and Wolsey [1983]).
Section 51.4. Complexity 881
A similar result holds for the up hull of the connector polytope, which we
show with a method of J unger and Pulleyblank [1995]:
with equality if Q = P.
882 Chapter 51. Packing and covering of trees
Theorem 51.5. Given a graph G = (V, E) and y Pspanning tree (G), we can
find spanning trees T1 , . . . , Tk and 1 , . . . , k 0 satisfying
(51.20) y = 1 T1 + + k Tk
and 1 + + k = 1, in strongly polynomial time.
Now we can derive from the previous two theorems, an algorithmic result
for fractional forest decomposition:
Corollary 51.5a. Given a graph G = (V, E) and y Pforest (G), we can find
forests F1 , . . . , Fk and 1 , . . . , k 0 satisfying
(51.24) y = 1 F1 + + k Fk
and 1 + + k = 1, in strongly polynomial time.
Proof. The method described in the proof of Corollary 51.3b gives a vector
y QV satisfying
(51.25) y(U ) x((U )) 2 for each nonempty U V ,
and a partition P of V into nonempty sets with y(U ) = x((U )) 2 for each
U P. Hence
(51.26) y(V ) = (x((U )) 2) = 2x((P)) 2|P| 2.
U P
(51.27) xe := xe , yu := yu + , yv := yv .
Then (51.25) is maintained, and the collection C of subsets U having equality
in (51.25) is not reduced. Moreover, in the new situation, xe = 0 or there is
a U C with u U and v U . Also, the new x belongs to Pconnector (G), as
for any partition Q of V into nonempty sets we have
(51.28) x((U )) y(V ) + 2|Q| = 2|Q| 2.
U Q
Doing this for each edge e (in both directions), we end up with x, y sat-
isfying (51.25) such that
(51.29) for all adjacent u, v, if xuv > 0, then there is a U C with u U
and v U .
This implies that
(51.30) yu = x((u)) 2
for each u V . Indeed, C is closed under unions and intersections of inter-
secting sets. Let U be the smallest set in C containing u. (This exists, since
V C.) To show (51.30), we must show U = {u}. Suppose therefore that
U = {u}. By (51.29), there is no edge e connecting u and U \{u} with xe > 0.
Hence
(51.31) y(U ) = yu + y(U \ {u}) x((u)) 2 + x((U \ {u})) 2
= x((U )) 4 < x((U )) 2,
contradicting the fact that U C. This proves (51.30).
Hence
(51.32) 2x(E) = x((u)) = y(V ) + 2|V | = 2(|V | 1),
uV
Proof. We can assume that y does not belong to the forest polytope. (Other-
wise multiply y by a suciently large scalar.) Let L be the line through 0 and
y. We iteratively reset y as follows. Find a nonempty subset U of V minimiz-
ing |U | 1 y(E[U ]). Let y be the vector on L with |U | 1 y (E[U ]) = 0.
Now if y violates x(E[U ]) |U | 1 for some U , then |U | < |U |, since
the function d(x) := (|U | 1 x(E[U ])) (|U | 1 x(E[U ])) is nonpositive
at y and positive at y , implying that it is positive at 0 (as d is linear in x).
We reset y := y and iterate, until y belongs to Pforest (G). So after at most
|V | iterations the process terminates, with a y on the boundary of Pforest (G).
Comparing the final y with the original y gives the required .
Proof. By Theorem 51.7, we can find the minimum value of such that y
belongs to Pforest (G). If = 0, then y = 0, and (51.34) is trivial. If > 0,
then by Corollary 51.5a we can decompose 1 y as a convex combination
of incidence vectors of forests. This gives the required decomposition of y.
Proof. By Theorem 51.8, we can find the maximum value of such that x
belongs to Pconnector (G). If = 0, we take k = 0. If > 0, by Corollary
51.6a we can decompose 1 x as a convex combination of incidence vectors
of connectors. This gives the required decomposition of x.
It is not dicult to derive integer versions of the above algorithms, but they
are not strongly polynomial-time, as we round numbers in it. In fact, an
integer packing or covering cannot be found in strongly polynomial time, as
it would imply a strongly polynomial-time algorithm for testing if an integer
k is even (which algorithm does not exist6 ): k is even if and only if K3 has
3
2 k spanning trees containing each edge at most k times.
6 For any strongly polynomial-time algorithm with one integer k as input, there is a
number L and a rational function q : Z Q such that if k > L, then the output
equals q(k). (This can be proved by induction on the number of steps of the algorithm.)
However, there do not exist a rational function q and a number L such that for k > L,
q(k) = 0 if k is even, and q(k) = 1 if k is odd.
888 Chapter 51. Packing and covering of trees
Therefore,
t
k
k
(51.43) i = (t k) + i i ,
i=1 i=1 i=1
Complexity survey for finding a maximum number of (or k) disjoint spanning trees
( indicates an asymptotically best bound in the table):
Complexity survey for finding a minimum number of forests covering all edges of
the graph:
continued
Imai [1983a], Roskind and Tarjan
O(m2 ) [1985] (announced by Tarjan [1976])
for simple graphs
O(nm log n) Gabow and Westermann [1988,1992]
1/3
O(m(m(m + n log n) log m) ) Gabow and Westermann [1988,1992]
3/2 2
O(m log(n /m)) Gabow [1995b,1998]
Liu and Wang [1988] gave an O(k2 n2 m(m + kn2 ))-time algorithm to find a
minimum-weight union F of k edge-disjoint spanning trees in a graph G = (V, E),
where E is partitioned into classes E1 , . . . , Et , such that ai |F Ei | bi for each
i, given a partition E1 , . . . , Et of E and numbers ai and bi for all i.
Complexity survey for finding a maximum-size union of k forests:
Algorithms for finding a maximum-size union of two forests were given by Kishi
and Kajitani [1967,1968,1969] and Kameda and Toida [1973].
Complexity survey for finding a maximum-weight union of k forests:
Roskind and Tarjan [1985] (cf. Clausen and Hansen [1980]) gave an O(k2 n2 +
m log m)-time algorithm for finding a maximum-weight union of k disjoint spanning
trees, in a simple graph.
As for the capacitated case, the methods given in Section 51.4 indicate that
packing and covering problems on forests and trees can be solved by a series of
minimum-capacity cut problem (as they reduce to Theorem 51.3). A parametric
minimum cut method designed by Gallo, Grigoriadis, and Tarjan [1989] allows to
combine several consecutive minimum cut computations, improving the eciency
of the corresponding tree packing and covering problem, as was done by Gusfield
[1991].
The published algorithms for integer packing and coverings of trees all are based
on rounding the fractional version, not increasing the complexity of the problem,
Section 51.5a. Complexity survey for tree packing and covering 891
except that rounding is included as an operation. This blocks these algorithms from
being strongly polynomial-time: as we saw in Section 51.4, it can be proved that
there exists no strongly polynomial-time algorithm for finding an optimum integer
packing of spanning trees under a given capacity (similarly, for integer covering by
forests).
The following table gives a complexity survey for finding a maximum fractional
packing of spanning trees subject to a given integer capacity function c, or a min-
imum fractional covering by forests subject to a given demand function c. Here it
seems that the optimum value can be found faster than an explicit fractional pack-
ing or covering. The problems of finding an optimum fractional packing of trees is
close to that of finding an optimum fractional covering of forests (or trees), so we
present their complexity in one survey.
For any graph G = (V, E) and c : E R+ , the strength is the maximum
value of such that c belongs to Pconnector (G). It is equal to the maximum size
of a fractional packing of spanning trees subject to c. The fractional arboricity is
the minimum value of such that c belongs to Pforest (G). This is equal to the
minimum size of a fractional c-covering by forest.
A special case of a question asked by A. Frank (cf. Schrijver [1979b], Frank [1995])
amounts to the following:
(51.44) (?) Let G = (V, E) be an undirected graph and let s V . Suppose
s, there exist k internally vertex-disjoint s t
that for each vertex t =
paths. Then G has k spanning trees such that for each vertex t = s,
the s t paths in these trees are internally vertex-disjoint. (?)
(The spanning trees need not be edge-disjoint otherwise G = K3 would form
a counterexample.) For k = 2, (51.44) was proved by Itai and Rodeh [1984,1988],
and for k = 3 by Cheriyan and Maheshwari [1988] and Zehavi and Itai [1989].
Peng, Chen, and Koh [1991] showed that for any undirected graph G = (V, E)
and any p, k Z+ , there exist k disjoint forests each with p components if and only
if
(51.45) |(P)| k(|P| p)
for each partition P of V into nonempty sets. This in fact is the matroid base
packing theorem (Corollary 42.1d) applied to the (|V | p)-truncation of the cycle
matroid of G.
Theorem 42.10 of Seymour [1998] implies that if the edges of a graph G = (V, E)
can be partitioned into k forests and if for each e E a subset Le of {1, 2, . . .} with
|Le | = k is given, then we can partition E into forests F1 , F2 , . . . such that j Le
for each j 1 and each e Fj .
Henneberg [1911] and Laman [1970] characterized those graphs which have,
after adding any edge, two edge-disjoint spanning trees. This was extended to k
edge-disjoint spanning trees by Frank and Szeg o [2001].
Farber, Richter, and Shank [1985] showed the following. Let G = (V, E) be an
undirected graph. Let V be the collection of pairs (T1 , T2 ) of edge-disjoint spanning
trees T1 and T2 in G. Call two pairs (T1 , T2 ) and (S1 , S2 ) in V adjacent if |(T1
T2 ) (S1 S2 )| = 2. Then this determines a connected graph on V.
Cunningham [1985c] gave a strongly polynomial-time algorithm (O(nm min{n2 ,
m log n})) to find a minimum-cost set of capacities to be added to a capacitated
graph so as to create the existence of k edge-disjoint spanning trees; that is, given
G = (V, E) and c, k ZE + , solving
(51.46) k(e)xe
eE
where x ZE
+ satisfies
(51.47) (c + x)((P)) k(|P| 1)
for each partition P of V into nonempty sets. (It amounts to finding a minimum-
cost integer vector in a contrapolymatroid.) Related work can be found in Baou,
Barahona, and Mahjoub [2000].
Chapter 52
1
u v
2 3
Figure 52.1
In a greedy method one would first choose the shortest arc leaving
r, which is (r, u). This arc however is not contained in the shortest
r-arborescence.
In fact, direct analysis gives the following result of Chu and Liu [1965],
Edmonds [1967a], and Bock [1971]:
Proof. First note that there are at most 2n iterations. This can be seen as
follows. Let k be the number of strong components of (V, A0 ), and let k0 be
the number of strong components K of (V, A0 ) with din A0 (K) = 0. Then at any
iteration, the number k + k0 decreases. Indeed, if the strong component K
selected remains a strong component, then din A0 (K) = 0 in the next iteration;
so k0 decreases. Otherwise, k decreases. Hence there are at most 2n iterations.
Next, each iteration can be performed in time O(m). Indeed, in time O(m)
we can identify the set U of vertices not reachable in (V, A0 ) from r. Next,
by Theorem 6.6 one can identify the strong components of the subgraph of
(V, A0 ) induced by U , in time O(m). Moreover, by Theorem 6.5 we can order
the vertices in U pre-topologically. Then the first vertex in this order belongs
to a strong component K such that each arc a entering K has l(a) > 0.
Section 52.2. Related problems 895
Tarjan [1977] showed that this algorithm has an O(min{n2 , m log n})-time
implementation.
Proof. Extend D by a new vertex r and arcs (r, v) for each v V , giving
digraph D . Let l(r, v) := Ln, where L := max{l(a) | a A}. If D has an
896 Chapter 52. Longest branchings and shortest arborescences
Proof. Clearly, the maximum is not more than the minimum, as each r-cut
intersects each r-arborescence.
We prove the reverse inequality by induction on aA l(a). Let A0 :=
{a A | l(a) = 0}. If A0 contains an r-arborescence, the minimum is 0, while
the maximum is at least 0.
If A0 contains no r-arborescence, there exists a strong component K of
the digraph (V, A0 ) with r K and with l(a) > 0 for each a in (K). Define
in
l := l (K) . By induction there exist an r-arborescence B and r-cuts
C1 , . . . , Ct such that each arc a is in at most l (a) of the Ci and such that
l (B) = t. We may assume that |B in (K)| = 1, since if |B in (K)| 2,
then for each a B in (K), (B \ {a}) A0 contains an r-arborescence, say
B , with l (B ) l (B) l (a) l (B).
It follows that l(B) = t + 1. Moreover, taking Ct+1 := in (K), each arc a
is in at most l(a) of the C1 , . . . , Ct+1 .
Section 52.4. The r-arborescence polytope 897
Corollary 52.3a. Pr-arborescence (D) is determined by
(52.8) (i) xa 0 for a A,
(ii) x(C) 1 for each r-cut C.
Corollary 52.3a also implies for the restriction to the unit cube:
898 Chapter 52. Longest branchings and shortest arborescences
Corollary 52.3c. The convex hull of incidence vectors of arc sets containing
an r-arborescence is determined by
(52.9) (i) 0 xa 1 for a A,
(ii) x(C) 1 for each r-cut C.
Proof. Directly from Corollary 52.3d, with Theorem 5.25, since (52.6) arises
from (52.8) by setting some of the inequalities to equality.
Edmonds and Giles [1977] and Frank [1979b] gave the following procedure of proving
that system (52.8) is box-TDI (cf. Corollary 52.3b). The proof is longer than that
given above, but it is a special case of a far more general approach (to be discussed
in Chapter 60), and is therefore worth noting at this point.
System (52.8) is equivalent to:
(52.11) (i) xa 0 for a A,
(ii) x( in (U )) 1 for =
U V \ {r}
containing v. Let A := {
a | a A}.
Identifying any set U in F with the arc aU of T , the network matrix generated
by directed tree T and digraph D is an F A matrix which is the same as M . So
M is totally unimodular. Therefore, by Theorem 5.35, (52.11) is box-TDI.
Proof. The theorem follows directly from: (i) each branching has at least
one root in any strong component K of D with dinA (K) = 0, and (ii) if a set
R intersects each such K, then there is a branching with root set R (since
each vertex of D is reachable from R).
From Theorem 52.3 one can derive a min-max relation for the maximum
length of a branching in a digraph. The reduction is similar to the reduction
of the algorithmic problem of finding a longest branching to that of finding
a shortest r-arborescence.
However, a direct proof can be derived from matroid intersection. Con-
sider the system:
(52.18) (i) xa 0 for a A,
(ii) x( in (v)) 1 for v V ,
(iii) x(A[U ]) |U | 1 for U V , U = .
Proof. Directly from Theorem 52.6, since the integer solutions of (52.18) are
the incidence vectors of the branchings.
Also the following theorem of Edmonds [1967a] follows from matroid in-
tersection theory:
Proof. This is the common base polytope of the k-truncations of the matroids
M1 and M2 defined in the proof of Theorem 52.6.
In Corollary 53.3a we shall see that the convex hull of the incidence vectors
of branchings of size k has the integer decomposition property (McDiarmid
[1983]).
Giles and Hausmann [1979] characterized which pairs of branchings give
adjacent vertices of the branching polytope, and Giles [1975,1978b] and
Grotschel [1977a] characterized the facets of the branching polytope.
Proof. Directly from Corollary 52.6a, since Parborescence (D) is the face of
Pbranching (D) determined by the hyperplane x(A) = |V | 1.
One similarly obtains from Theorem 52.6 the following, which yields a
min-max relation for the minimum length of an arborescence:
Wong [1984] and Maculan [1986] observed that the problem of finding a shortest
r-arborescence can be formulated as a concise linear programming problem. In fact,
Section 52.8c. Further notes 903
the dominant Pr-arborescence (D) of the r-arborescence polytope is the projection of
a polyhedron in nm dimensions determined by at most n(2m + n) constraints.
Theorem 52.7. Let D = (V, A) be a digraph and let r V . Then Pr-arborescence (D)
A
is equal to the set Q of all vectors x R+ such that for each u V \ {r} there
exists an r u flow fu of value 1 satisfying fu x.
Proof. Since the incidence vector x = B of any r-arborescence satisfies the con-
straints, we know that Pr-arborescence (D) is contained in Q.
To see the reverse inclusion, let x Q. Then for each nonempty subset U of
V \ {r} one has
(52.20) x( in (U )) fu ( in (U )) 1,
where u is any vertex in U and where fu is an r u flow of value 1 with fu x.
So by Corollary 52.3a, x belongs to Pr-arborescence (D).
Frank [1979b] showed the following. Let D = (V, A) be a digraph and let r V .
Then a subset A of A is contained in an r-arborescence if and only if |U| |V |
1 |A | for each laminar collection U of nonempty subsets of V \ {r} such that each
arc of D enters at most one set in U and no arc in A enters any set in U.
Goemans [1992,1994] studied the convex hull of (not necessarily spanning) par-
tial r-arborescences.
Karp [1972a] gave a shortening of the proof of Edmonds [1967a] of the correct-
ness of the shortest r-arborescence algorithm.
Books covering shortest arborescences include Minieka [1978], Papadimitriou
and Steiglitz [1982], and Gondran and Minoux [1984].
Chapter 53
If all roots are equal, we obtain the following min-max relation, announced
by Edmonds [1970b]. Recall that an r-cut is a cut in (U ) where U is a
nonempty subset of V \ {r}.
Proof. Directly from Corollary 53.1a by taking k equal to the minimum size
of an r-cut and ri := r for i = 1, . . . , k.
906 Chapter 53. Packing and covering of branchings and arborescences
Corollary 53.1c. Let D = (V, A) be a digraph and let r V . Then for each
k Z+ the following are equivalent:
(53.5) (i) there exist k disjoint r-arborescences;
(ii) for each nonempty U V \ {r}, din (U ) k;
(iii) for each s = r there exist k arc-disjoint r s paths in D;
(iv) there exist k edge-disjoint spanning trees in the underlying
undirected graph such that for each s = r there are exactly
k arcs entering s covered by these trees.
Proof. The equivalence of (i) and (ii) follows from Edmonds disjoint ar-
borescences theorem (Theorem 53.1b), and the equivalence of (ii) and (iii) is
a direct consequence of Mengers theorem.
The implication (i) (iv) is trivial. To prove (iv) (ii), suppose that
(iv) holds, and let U be a nonempty subset of V \{r}. Each spanning tree has
at most |U | 1 arcs contained in U . So the spanning trees of (iv) together
have at most k(|U | 1) arcs contained in U . Moreover, they have exactly
k|U | arcs with head in U . Hence, at least k arcs enter U .
Proof. Directly from Corollary 53.1b by replacing each arc a by c(a) parallel
arcs.
Proof. The first part follows from the theory of blocking polyhedra applied
to Corollary 52.3a, and the second part is equivalent to Corollary 53.1e.
Proof. Necessity being easy, we show suciency. Choose x ZV+ such that
(53.12) x(U ) k din (U )
for each nonempty subset U of V , with x(V ) as small as possible. We show
that x(V ) = k. Since x(V ) k by (53.12), it suces to show x(V ) k.
Let P be the collection of inclusionwise maximal nonempty sets having
equality in (53.12). Then P is a subpartition, for suppose that U, W P with
U W = . Then
(53.13) x(U W ) = x(U ) + x(W ) x(U W )
(k din (U )) + (k din (W )) (k din (U W ))
(k din (U W )),
and hence U W P. So U = W .
Now for each v V with xv > 0 there exists a set U in P containing v,
since otherwise we could decrease xv . Hence
(53.14) x(V ) = x(U ) = (k din (U )) k,
U P U P
by (53.11).
So x(V ) = k. Now let r1 , . . . , rk be vertices such that any vertex v oc-
curs xv times among the ri . Then by Corollary 53.1a there exist disjoint
arborescences B1 , . . . , Bk , where Bi has root ri . This shows the corollary.
Let A[U ] denote the set of arcs in A with both ends in U . Frank [1979a]
observed that the following min-max relation for covering by branchings can
be derived from Edmonds disjoint arborescences theorem:
Proof. Necessity is easy, since the root set of any branching intersects any
strong component K with din (K) = 0.
To see suciency, by Edmonds disjoint branchings theorem (Theorem
53.1), branchings B1 and B2 as required exist if and only if
(53.16) din (U ) |{i {1, 2} | U Ri = }|
for each nonempty U V . (Actually, Edmonds theorem gives the existence
of disjoint branchings B1 and B2 satisfying R(Bi ) = Ri for i = 1, 2. That
B1 B2 = A follows from the fact that |B1 | + |B2 | = |B1 | + |B2 |, as |R(B1 )| +
|R(B2 )| = |R(B1 )| + |R(B2 )|.)
Suppose that inequality (53.16) does not hold. Then the right-hand side
is positive. If it is 2, then U is disjoint from both R1 and R2 , and hence from
both R(B1 ) and R(B2 ) (since R1 R2 = R(B1 ) R(B2 )), implying that both
B1 and B2 enter U , and so din (U ) 2.
So the right-hand side is 1, and hence the left-hand side is 0. We can
assume that U is an inclusionwise minimal set with this property. It implies
that U is a strong component of D. Then by the condition, U intersects both
R1 and R2 , contradicting the fact that the right-hand side in (53.16) is 1.
Proof. We may assume that B1 , B2 partition A, since we can delete all arcs
not occurring in B1 B2 , and add parallel arcs for those in B1 B2 . We may
also assume that s = r (since the theorem is trivial if s = r).
Let K be the strong component of D containing s. If no arc of D enters
K, then r K (as B1 contains a directed path from r to s), and hence r is
not a root of B2 (as otherwise no arc enters r while K is strongly connected);
define R1 := (R(B1 ) \ {r}) {s} and R2 := (R(B2 ) \ {s}) {r}.
Alternatively, if some arc of D enters K, define R1 := R(B1 ) {s} and
R2 := R(B2 ) \ {s}. Then Lemma 53.2 implies that A can be split into
branchings B1 and B2 with R(Bi ) = Ri for i = 1, 2.
Section 53.7. Covering by r-arborescences 911
in at most |H(U )| 1 arcs, since at least one arc of B should enter U . Hence
if A can be covered by k r-arborescences, the size of set (53.20) is at most
k(|H(U )| 1), implying (53.19).
To see suciency, we can assume that for any arc a of D, if we would add
a parallel arc to a, then (53.18) or (53.19) is violated (since deleting parallel
arcs does not increase the minimum number of r-arborescences needed to
cover the arcs).
If degin (v) = k for each vertex v = r, then A can be decomposed into k r-
arborescences by Edmonds disjoint arborescences theorem (Corollary 53.1b),
since then (53.19) implies that din (U ) k for each nonempty subset U of
V \ {r}.
So we can assume that there exists a vertex u = r with degin (u) < k.
Consider the collection C of nonempty subsets U of V \ {r} having equality
in (53.19) and with u H(U ). Then C is closed under taking union and
intersection. Indeed, let U and W be in C. Then
(53.21) (k degin (v)) + (k degin (v))
vH(U W ) vH(U W )
(k degin (v)) + (k degin (v))
vH(U ) vH(W )
= (k din (U )) + (k din (W ))
(k din (U W )) + (k din (U W )).
The first inequality follows from
(53.22) H(U W ) H(U W ) H(U ) H(W ) and
H(U W ) H(U W ) H(U ) H(W ),
as one easily checks.
By (53.19), (53.21) implies that we have equality throughout, As we have
equality in the first inequality in (53.21), and as k degin (u) > 0, we know
that u H(U W ) H(U W ). So U W and U W belong to C.
Section 53.8. Minimum-length unions of k r-arborescences 913
Now for each arc a entering u, if we would add an arc parallel to a, (53.19)
is violated for some U . This implies that for each arc a entering u there exists
a U C such that the tail of a is in U . We can take for U the largest set in
C. Hence for each arc a entering u, the tail of a is in U . This contradicts the
fact that u H(U ).
Corollary 53.6a. System (53.25) is TDI, and determines the convex hull of
subsets of A containing k disjoint r-arborescences.
Then:
Proof. Choose d, c ZA
+ . We must show that the system
Proof. Let D be the digraph obtained from D by adding a new vertex r and
arcs (r, v) for each v V . Then the maximum number of arcs of D that can
be covered by k branchings in D is equal to the maximum number of arcs in
A that can be covered by k r-arborescences in D . So Corollary 53.6c gives a
min-max relation for this.
The subsets Vi form a subpartition of V since if Vi and Vj would intersect
in a vertex v say, then the arc (r, v) of D enters two sets among the Vi ,
contradicting the condition.
for each laminar family (V1 , . . . , Vt ) of nonempty sets such that no arc enters
more than one of the Vi . Here denotes the maximum number of Vi s having
nonempty intersection.
The second inequality holds as each arc enters at most one of the Vi . For the
last inequality, we use that r(V ) = k and that V1 , . . . , Vt can be partitioned
into collections, each consisting of disjoint sets. (53.37) shows necessity.
To see suciency, extend D by a vertex r and by the arc set A := {(r, v) |
v V }, yielding the digraph D = (V {r}, A A ). Consider the following
constraints for x RAA :
(53.38) (i) xa 0 for each a A A ,
in in
(ii) x(D (U )) k dD (U ) for each nonempty U V ,
in
(iii) x(D (V )) = k.
Let x attain the minimum of x(A) over (53.38). Since system (53.38) is TDI
by Corollary 53.6b (with Theorem 5.25), we can assume that x is integer. We
show
(53.39) x(A) = k(|V | 1) |A|.
First, x(A) k(|V | 1) |A|, since
in
(53.40) + |A| + k = x(A) + |A| + x(A (V
x(A)
))
in in in
= x(A (v)) + x(A (v)) + dA (v) k|V |.
vV
To see the reverse inequality, x(A) is equal to the optimum value of the
problem dual to the above minimization problem: maximize
(53.41) zU (k din
A (U ))
U P(V )\{}
P(V )\{}
where z R+ such that
in
(53.42) zU D (U ) A .
U
Now it is important to observe that for each arc a we need to do this test
at most once: if the test result is negative, then in growing B we never have
to consider arc a anymore; if the result is positive, a is added to B, and again
we will not consider a again.
So to obtain an r-arborescence, we determine at most m minimum cuts,
and so finding the r-arborescence B takes O(km2 ) time.
Tong and Lawler [1983] observed that the following quite easily follows
from Edmonds disjoint arborescences theorem:
Proof. By Theorem 53.8, we can find in time O(knm) a set A that is the
union of k disjoint r-arborescences. So m := |A | = k(n 1). Then by
2
Theorem 53.7 we can find k disjoint r-arborescences in A , in time O(k 2 m ).
2
Since O(k 2 m ) = O(k 4 n2 ), the corollary follows.
Tong and Lawler [1983] in fact showed that the method of Lov asz
[1976c] has an O(k 2 nm)-time implementation, yielding with Theorem 53.8
an O(knm + k 3 n2 )-time algorithm for finding k disjoint r-arborescences.
Also the capacitated case can be solved in strongly polynomial time
(Gabow [1991a,1995a]), as can be shown with the help of Edmonds dis-
joint branchings theorem. (Pevzner [1979a] proved that it can be solved in
920 Chapter 53. Packing and covering of branchings and arborescences
in
and W R1 = , minimizing the capacity of A (W ). Then W := W V is
a set as required.
We next apply the algorithm recursively. This describes the algorithm.
Running time. In each iteration, the number of arcs a with c(a) > 0 decreases
or the collection C := {U V | U = , c( in (U )) = g(U )} increases. As C is
an intersecting family, the number of times C increases is at most |V |3 (since
for each v V , the collection Cv := {U C | v U } is a lattice family,
and since each lattice family L is determined by the preorder given by:
s t each set in L containing t contains s; if L increases, then
decreases, which can happen at most |V |2 times.)
So the number of iterations is at most |A| + |V |3 .
With the reductions given earlier, this implies that the capacitated ver-
sions of packing arborescences and covering by branchings also can be solved
in strongly polynomial time.
Edmonds [1975] observed that matroid intersection and union theory im-
plies:
Proof. This follows, with Corollary 53.1c and Theorem 53.7, from Theorem
41.8 applied to the intersection of two matroids: one being the union of k
times the cycle matroid of the undirected graph underlying D; the other
being the matroid in which a subset B of A is independent if and only if any
v V \ {r} is entered by at most k arcs in B.
This implies:
O(k2 m2 ) Lov
asz [1976c], Tarjan [1974a]
3 2
O(knm + k n ) Tong and Lawler [1983]
2 2
O(k n + m) Gabow [1991a,1995a]
(As noticed by Tong and Lawler [1983], the paper of Shiloach [1979a] claiming
an O(k2 nm) bound, contains an essential error (the set A constructed on page
25 of Shiloach [1979a] need not have the desired properties: it is maximal under
the condition that y A, while it should be maximal under the condition that
A V (T ) = V ).)
The O(k2 m2 ) bound for finding k pairwise disjoint r-arborescences implies the
O(n2 4 log ) bound of Markosyan and Gasparyan [1986] for finding a minimum
number of branchings covering all arcs (where is the maximum indegree of the
vertices), by the construction given in the proof of Corollary 53.1h (as we can take
m n and k 2).
Tarjan [1974c] gave an O(m + n log n)-time algorithm to find two disjoint r-
arborescences (actually, to find two r-arborescences with smallest intersection).
This was improved to O(m(m, n)) by Tarjan [1976] (where (m, n) is the inverse
Ackermann function), and to O(m) by Gabow and Tarjan [1985].
Clearly, each of the bounds in the table above implies a complexity bound for the
capacitated case, by replacing arcs by multiple arcs. However, this can increase the
number m of arcs dramatically, and does not lead to a polynomial-time algorithm.
Better bounds are given in the following table:
In these bounds, m is the number of arcs in the original graph, MF(n, m) denotes
the time needed to solve a maximum flow problem in a digraph with n vertices and
m arcs, and C is the maximum capacity (for integer capacity function).
The bounds of Gabow [1991a,1995a] and Gabow and Manu [1995,1998] in these
tables also apply to the problem considered in Edmonds disjoint branching theorem
(Theorem 53.1): finding k disjoint branchings B1 , . . . , Bk where Bi has a given root
set Ri (i = 1, . . . , k), finding minimum coverings by branchings, and related prob-
2
lems. Gabow and Manu [1995,1998] also gave an O(n3 m log nm ) fractional packing
algorithm of r-arborescences.
Gabow [1991a,1995a] announced O(kn(m+n log n) log n)- and O(k n log n(m+
kn log n) log(nK))-time algorithms to find a minimum-cost union of k disjoint r-
arborescences (where K is the maximum cost, with integer cost function).
Section 53.10b. Arborescences with roots in given subsets 923
Let D = (V, A) be a digraph. Call a vector x ZV+ a root vector if there exist disjoint
arborescences such that for each v V , exactly xv of these arborescences have root
v. By Corollary 53.1a, root vectors are the integer solutions of the following system:
(53.50) (i) xv 0 for v V ,
(ii) x(U ) dout (U ) for each U V .
This system generally does not define an integer polytope P , as is shown by the
digraph with vertices u, v, w and arcs (u, v), (v, w), and (w, u), where 21 1 is in P ,
but each integer vector x in P satisfies 1T x 1.
Moreover, sets R of vertices for which there exist |R| disjoint arborescences,
rooted at distinct vertices in R, do not form the independent sets of a matroid, as
is shown by the graph of Figure 53.1.
Figure 53.1
Proof. Necessity being easy, we show suciency. Choose x ZV+ such that l x
u and such that (53.51) holds, with x(V ) as small as possible. (Such an x exists
since u(U ) k din (U ) for each nonempty subset U of V .)
We show that x(V ) = k. Since x(V ) k by (53.51), it suces to show x(V ) k.
Let P be the collection of inclusionwise maximal sets having equality in (53.51).
Then P is a subpartition, for suppose that U, W P with U W = . Then
(53.53) x(U W ) = x(U ) + x(W ) x(U W )
(k din (U )) + (k din (W )) (k din (U W ))
(k din (U W )),
924 Chapter 53. Packing and covering of branchings and arborescences
and hence U W P. So U = W .
Now for each v V with xv > l(v) there exists a set W in P containing v, since
otherwise we could decrease xv . Hence
(53.54) x(V ) l(V ) = (x(W ) l(W )) = (k din (W ) l(W ))
W P W P
k l(V ),
by (53.52).
So x(V ) = k. Now let r1 , . . . , rk be vertices such that each vertex v occurs
xv times among the ri . Then by Corollary 53.1a there exist disjoint arborescences
B1 , . . . , Bk , where Bi has root ri . This shows the theorem.
(In this proof we did not use the box-total dual integrality of (53.51), but we applied
a similar argument.)
This has as special case the following result of Frank [1981c]:
Proof. Necessity is easy, since if the Bi exist, with roots ri Ri , then for each
U P one has that ri U or Bi contains at least one arc entering U . That is,
(53.57) |{ri } U | + din
Bi (U ) 1.
53.10c. Disclaimers
The equivalence of (i) and (iii) in Corollary 53.1c suggests the following question,
raised by A. Frank (cf. Schrijver [1979b], Frank [1995]; it generalizes a similar
question for the undirected case, described in Section 51.5b):
(53.61) (?) Let D = (V, A) be a k-arc-connected digraph and let r V . Sup-
pose that for each s V there exist k internally vertex-disjoint r s
paths in D. Then there exist k r-arborescences such that, for any ver-
tex s, the k r s paths determined by the respective r-arborescences
are internally vertex-disjoint. (?)
For k = 2 this was proved by Whitty [1987]. However, for k = 3, a counterexample
was found by Huck [1995].
Two potential generalizations of Edmonds disjoint arborescences theorem have
been raised, neither of which holds however. For vertices s, t, let (s, t) denote the
maximum number of arc-disjoint s t paths. It is not true that for any digraph
D = (V, A), r V , and T V \ {r}, there exist k disjoint subsets A1 , . . . , Ak of A
such that each Ai contains an r t path for each t T if and only if (r, t) k for
each t T (see Figure 53.2, for k = 2).
N. Robertson raised the question if it is true that in any digraph D = (V, A)
and any r V , there exist partial r-arborescences B1 , B2 , . . . such that each vertex
v V \ {r} is in exactly (r, v) of them. Lovasz [1973b] showed that Figure 53.3 is
a counterexample. (Related work is reported by Bang-Jensen, Frank, and Jackson
[1995] and Gabow [1996].)
926 Chapter 53. Packing and covering of branchings and arborescences
r T
Figure 53.2
Figure 53.3
Frank [1981c] gave the following results for mixed graphs. Let G = (V, E, A) be a
mixed graph (that is, (V, E) is an undirected graph and (V, A) is a directed graph).
A mixed branching is a subset B of E A such that the undirected edges in B can
be oriented such that B becomes a branching. Then E can be covered by k mixed
branchings if and only if
(53.62) (i) din
A (U ) + |E[U ]| k|U | for each U V ,
(ii) |A[U ]| + |E[U ]| k(|U | 1) for each = U V .
Similarly, a mixed r-arborescence is a subset B of E A such that the undirected
edges in B can be oriented such that B becomes an r-arborescence. Then for any
r V , G has k disjoint mixed r-arborescences if and only if for each subpartition
P of V \ {r} with nonempty classes, the number of edges (directed or not) entering
any class of P, is at least k|P|.
Cai [1989] characterized when, for given digraphs D1 = (V, A1 ) and D2 =
(V, A2 ), a, b ZV+ , and k Z+ , there exists an r ZV+ with a r b and there
exist, for i = 1, 2, k disjoint arborescences in Di such that for each v V , r(v) of
these arborescences have root v. This can be proved using polymatroid intersection
theory, in particular the box-total dual integrality of
(53.63) x(U ) k din
Ai (U ) for i = 1, 2 and nonempty U V
Theorem 54.1. Let G = (V, E) be a graph and let V be partitioned into sets
R and S such that each component of G intersects both R and S. Then the
minimum size of an R S biconnector is equal to the maximum size of a
subset of V spanning no edge connecting R and S.
Proof. To see that the minimum is not less than the maximum, let F be a
minimum R S biconnector and let U attain the maximum. Then F is a
forest. For each r U R, let (r) be the first edge in any r S path in F ;
and for each s U S let (s) be the first edge in any s R path in F . Then
is injective from U to F (as U spans no edge in (R)). Hence |U | |F |.
To see equality, let H := (N (R) N (S), (R)), where N (R) and N (S) are
the sets of neighbours of R and of S respectively. (So N (R) S and N (S)
R, and H is bipartite.) Let U be a maximum-size stable set in H. Let F
be a minimum-size edge cover in H. By the Konig-Rado edge cover theorem
(Theorem 19.4) we know |F | = |U |. Let U := U (V \ (N (R) N (S))).
Then U spans no edge connecting R and S. By adding |V \ (N (R) N (S))|
edges to F we obtain an R S biconnector F with
(54.1) |F | = |U | + |V \ (N (R) N (S))| = |U |.
This shows the required equality.
Theorem 54.2. System (54.2) is box-totally dual integral and determines the
R S biconnector polytope.
Proof. This follows from matroid intersection theory, applied to the matroids
M1 and M2 on E, where M1 is obtained from the cycle matroid M (G) of G
by contracting R to one vertex, making all edges spanned by R to a loop, and
where M2 is obtained similarly from M (G) by contracting S to one vertex,
making all edges spanned by S to a loop.
So the spanning sets of M1 are the subsets F of E such that each compo-
nent of (V, F ) intersects R. Similarly, the spanning sets of M2 are the subsets
F of E such that each component of (V, F ) intersects S. Hence the common
spanning sets are precisely the R S biconnectors. Therefore, by Corollaries
930 Chapter 54. Biconnectors and bibranchings
41.12f and 50.8a, system (54.2) determines the convex hull of the incidence
vectors of R S biconnectors. To see that the system is box-TDI, we use
Corollary 41.12g and the fact that for each F E, the inequality
(54.3) x(F ) rMi (E) rMi (E \ F )
is a nonnegative integer combination of the inequalities (54.2). Indeed (for
i = 1), if P denotes the collection of the components of (V, E \ F ) contained
in S, then
(54.4) x(F ) x((P)) |P| rM1 (E) rM1 (E \ F ),
as rM1 (E) |S| and rM1 (E \ F ) = |S| |P|.
Proof. We may assume that G has no loops. To see that the maximum is not
more than the minimum, consider any R S biforest F and any collection U
as in the theorem. Then F contains no path connecting two distinct sets in
U. Hence |F | |V | |U|.
The reverse inequality is proved by induction on the number of edges not
in (R).
If E = (R), then G is bipartite, and R S biforests coincide with match-
ings. Then the theorem is equivalent to K onigs matching theorem (Theorem
16.2).
If E = (R), choose an edge e = uv in E \ (R). If we contract e, the min-
imum value in the theorem reduces by precisely 1. Moreover, the maximum
reduces by at least 1, since any R S forest in the contracted graph gives
with e an R S forest in the original graph. So we are done by induction.
Theorem 54.4. System (54.5) is box-totally dual integral and determines the
R S biforest polytope.
Again, this theorem implies a min-max relation for the maximum length
of an R S biforest, and the reduction to matroid intersection also implies
that a longest R S biforest can be found in strongly polynomial time.
Proof. By induction on |B|, the case |B| 1 being easy. Let |B| 2. Then
there exists an edge f = rw B with (f ) T2 (r) (by the condition given
in the theorem). Define
(54.6) T1 := (T1 \ {f }) {(f )} and T2 := (T2 \ {(f )}) {f }.
Let B := B \ {f }. Then for each e = rv B ,
(54.7) (e) is equal to the first edge of the v r path in T2 that leaves
the component K of T1 e containing v.
To see this, let L be the component of T1 f containing w. Since (f ) connects
L and r, K is equal to the component of T1 e containing v. Moreover, the
932 Chapter 54. Biconnectors and bibranchings
Proof. By adding new edges spanned by S, we can assume that the Xi are
spanning trees in G/R. Similarly, we can assume that the Yi are spanning
trees in G/S. (At the conclusion, we delete the new edges from the Xi and
Yi .)
If X1 Y2 = and X2 Y1 = , we are done. So, by symmetry, we can
assume that X1 Y2 = .
For each e = rs X1 (R), with r R, s S, let (e) be the first edge
on the s R path in X2 that leaves the component of X1 e containing s.
For each e = rs Y2 (R), with r R, s S, let (e) be the first edge on
the r S path in Y1 that leaves the component of Y2 e containing r.
This gives injective functions
(54.8) : X1 (R) X2 and : Y2 (R) Y1 .
Observe that X1 (Y1 Y2 ) (R) and Y2 (X1 X2 ) (R). Consider
the directed graph with vertex set E and arc set
(54.9) A := {(e, (e)) | e X1 (R)} {(e, (e)) | e Y2 (R)}.
Choose e0 X1 Y2 and set e1 := (e0 ). Then D contains a unique directed
path e0 , e1 , . . . , eh such that e0 , . . . , eh1 X1 Y2 and eh X1 Y2 . (This
because each vertex in X1 Y2 has outdegree 2 and indegree 0 in D, and each
vertex in (X1 Y2 ) \ (X1 Y2 ) has outdegree 1 and indegree at most 1.)
It follows that for each j < h one has ej+1 = (ej ) if j is even and
ej+1 = (ej ) if j is odd. Define
(54.10) B := {ej | 0 j < h, j even} and C := {ej | 1 j < h, j odd}.
Then by Lemma 54.5,
Section 54.3. Disjoint R S biconnectors 933
With the foregoing two lemmas, one can also derive a min-max relation for the
minimum number of R S biforests that cover all edges (Keijsper [1998b]).
It generalizes the Nash-Williams covering forests theorem (Corollary 51.1c)
which theorem however is used in the proof and K onigs edge-colouring
theorem for bipartite graphs (Theorem 20.1).
Theorem 54.7. Let D = (V, A) be a graph and let V be partitioned into sets
R and S such that each vertex in R can reach S and such that each vertex
in S is reachable from R. Then the minimum size of an R S bibranching
is equal to the maximum size of a subset of V spanning no arc in out (R).
Proof. To see that the minimum is not less than the maximum, let B be a
minimum-size R S bibranching and let U attain the maximum. For each
r U R, let (r) be any arc in B leaving r, and for each s U S let
(s) be any arc in B entering s. Then is injective from U to B, and hence
|U | |B|.
To see equality, let U be a maximum stable set in the bipartite graph
H with colour classes N in (S) R and N out (R) S, with r N in (S)
and s N out (R) adjacent if and only if D has an arc from r to s. (Here
N out (X) and N in (X) are the sets of outneighbours and of inneighbours of
X, respectively.)
Let B be a minimum-size edge cover in H. By the K
onig-Rado edge cover
theorem (Theorem 19.4) we know |B | = |U |. Now by adding |V \(N out (R)
N in (S))| arcs to B we obtain an R S bibranching B with
(54.15) |B| = |U | + |V \ (N out (R) N in (S))| = |U |,
where U := U (V \ (N out (R) N in (S))). This shows the required equality.
If each arc of D belongs to out (R), then Theorem 54.7 reduces to the
Konig-Rado edge cover theorem (Theorem 19.4).
The proof gives a polynomial-time algorithm to find a minimum-size RS
bibranching (as we can find a minimum-size edge cover in a bipartite graph
in polynomial time (Corollary 19.3a)).
Then the following implies a min-max relation for the minimum length of an
R S bibranching.
where y : U R+ satisfies
in
(54.18) yU (U ) w.
U U
1 if a in (U ),
(54.21) MU,a :=
0 otherwise,
is totally unimodular. To see this, let T = (W, B) and : V W form a
tree-representation of F (see Section 13.4). That is, T is a directed tree and
F = {Vb | b B}, where
(54.22) Vb := {v V | (v) belongs to the same component of T b as
the head of b}.
Then for any arc a = (u, v) of D, the set of forward arcs in the undirected
(u) (v) path in T is contiguous, that is, forms a directed path, say from
u to v . This follows from the fact that there exist no arcs b, c, d in this order
on the path with b and d forward and c backward.
Define a := (u , v ), and let D = (W, A ) be the digraph with A :=
{a | a A}. Then M is equal to the network matrix generated by T and D
This implies that the R S bibranching polytope the convex hull of the
incidence vectors of R S bibranchings can be described as follows:
The box-total dual integrality of (54.16) has as special case the total dual
integrality of (54.23), which is equivalent to:
We also note that Theorem 54.8 implies that for each k Z+ the system
(54.24) (i) xa 0 for each a A,
(ii) x(C) k for each R S bicut C,
is box-TDI (since if Ax b is box-TDI, then for each k > 0, Ax k b is
box-TDI).
Keijsper and Pendavingh [1998] gave an O(n (m + n log n)) algorithm to
find a shortest bibranching, where n := min{|R|, |S|}. The strong polynomial-
time solvability follows also from the strong polynomial-time solvability of
finding a minimum-length strong connector for a source-sink connected di-
graph, which by the method of Theorem 57.3 can be reduced to finding a
minimum-length directed cut cover, which is a special case of weighted ma-
troid intersection (Section 55.5).
Theorem 54.9. Let D = (V, A) be a graph and let V be partitioned into sets R
and S, with in (R) = . Then the maximum size of an R S bifurcation is equal
to the minimum size of |V | |L|, where L is a collection of strong components K
of D with either K R and out (K) out (R), or K S and in (K) in (S),
such that no arc connects two components in L.
Proof. To see that the minimum is not less than the maximum, let B be a
maximum-size R S bifurcation and let L attain the minimum. Let U be the
out in
set of vertices v with v R and B (v) = , or v S and B (v) = . Then
(54.25) |B| = |V | |U | |B out (R)| |V | |L|,
since each K L contains a vertex in U or is entered or left by an arc in B out (R).
To see equality, consider the following bipartite graph H. H has vertex set the
set K of strong components K of D with either K R and out (K) out (R), or
K S and in (K) in (S). Two sets K, L K are adjacent if and only if there is
an arc connecting K and L. (This implies that one of K, L is contained in R, the
other in S.) Let L be a maximum-size stable set in H and let B be a maximum-size
matching in H. By K onigs matching theorem (Theorem 16.2), |B | + |L| = |K|.
Now by adding |V | |K| arcs to the arc set in D corresponding to B , we can obtain
an R S bifurcation of size |B | + |V | |K| = |V | |L|.
If each arc of D belongs to out (R), then Theorem 54.9 reduces to K onigs
matching theorem (Theorem 16.2).
We next give a min-max relation for the maximum length of an RS bifurcation,
by reduction to Theorem 54.8 on minimum-length bibranching:
Theorem 54.10. Let D = (V, A) be a digraph and let V be partitioned into R and
S such that there are no arcs from S to R. Let l ZA
+ be a length function. Then
the maximum length of an R S bifurcation is equal to the minimum value of
(54.26) yv + zU (|U | 1)
vV U U
Proof. To see that the maximum is not more than the minimum, let B be any
R S bifurcation and let yv , zU satisfy (54.27). Then
(54.28) l(B) = l(a) ( yv + yv + zU )
aB aB vR vS U U
a out (v) a in (v) a A[U ]
= yv |B out (v)| + in
yv |B (v)| + zU |B A[U ]|
vR vS U U
yv + zU (|U | 1).
vV U U
To see equality, extend D by two new vertices, r and s, and by arcs (r, v) for
each v S {s} and (v, s) for each v R. This makes the digraph D = (V , A ).
Define R := R {r} and S := S {s}. Let L := max{l(a) | a A} + 1. Define
l ZA
+ by:
Section 54.6a. Longest bifurcations 939
L l(a) for each a A[R] A[S],
2L l(a) for each a out (R),
(54.29) l (a) := L for each a = (r, v) with v S and a = (v, s)
with v R,
0 for a = (r, s).
Let U be the collection of nonempty subsets U of R or S . By Theorem 54.8,
applied to D , there exists an R S bibranching B in D and a z : U Z+ such
that
(54.30) l (B ) = zU ,
U U
and
out in
(54.31) zU (U )
+ zU (U )
l .
U U U U
U R U S
if v S, and similarly yv 0 if v R.
Also, y and z satisfy (54.27), since for any arc a = (u, v) one has, if u, v R:
(54.34) yu + zU = L zU + zU = L zU
U U U U U U U U
a A[U ] uU a A[U ] a out (U )
L l (a) = l(a).
Similarly, if u, v S, then
(54.35) yv + zU l(a).
U U
a A[U ]
Theorem 54.10 is equivalent to the total dual integrality of the following system:
As for the complexity, the reduction given in Theorem 54.10 also implies that a
maximum-length R S bifurcation can be found in strongly polynomial time (since
a minimum-length R S bibranching can be found in strongly polynomial time).
Corollary 54.10b. System (54.38) determines the convex hull of the inci-
dence vectors of arc sets containing an R S bicut.
Section 54.7. Disjoint bibranchings 941
Proof. Directly from Corollary 54.8a with the theory of blocking polyhedra.
U K are disjoint, and the eU for U K are disjoint. Hence the eU for
U K K form a bipartite graph on Y Y (in fact, a set of vertex-disjoint
942 Chapter 54. Biconnectors and bibranchings
paths and even circuits). The two colour classes of this bipartite graph give
the partitions of Y and Y as required.
Then by Lemma 53.2, X can be split into two branchings X1 and X2
such that the set of roots of Xi is equal to the set of heads of Yi (i = 1, 2).
Similarly, X can be split into two cobranchings X1 and X2 such that the set
of coroots of Xi is equal to the set of tails of Yi (i = 1, 2). (A cobranching is
a set B of arcs whose reversal B 1 is a branching. A coroot of B is a root of
B 1 .)
Define
(54.43) i := Xi Yi and B
B := X Y
i i i
for i = 1, 2. Since B 1 B 2 B
= and B = , replacing B1 , B2 , B , B by
2 1 1 2
B1 , B
2 , B
, B
decreases sum (54.39), contradicting the minimality assump-
1 2
tion.
Proof. This follows from Theorem 54.11 by replacing any arc a by c(a)
parallel arcs.
Theorem 54.11 also implies the following characterization of the minimum number
of R S bifurcations needed to cover all arcs (Keijsper [1998b]):
Corollary 54.11c. Let D = (V, A) be a digraph and let V be partitioned into sets
R and S, with no arc from S to R. Then A can be covered by k R S bifurcations
if and only if
(54.49) (i) degout (v) k for each v R;
(ii) degin (v) k for each v S;
(iii) |A[U ]| k(|U | 1) for each nonempty subset U of R or S.
944 Chapter 54. Biconnectors and bibranchings
Proof. Necessity being easy, we show suciency. Extend D by two new vertices r
and s, for each v S by k degin (v) parallel arcs from r to v, for each v R by
k degout (v) parallel arcs from v to s, and by k parallel arcs from r to s. Let D
be the graph arising in this way. So in D , each v R has outdegree k, and each
v S has indegree k. Define R := R {r} and S := S {s}.
Then by Theorem 54.11, D has k disjoint R S bibranchings. Indeed, any
nonempty subset U of R is left by k|U | |A[U ]| k arcs of D if r
U (since each
vertex in R has outdegree k in D ), and by at least k arcs of D if r U . Similarly,
any nonempty subset of S is entered by at least k arcs of D .
Now each of these bibranchings leaves any v R exactly once (as v has out-
degree k in D ), and (similarly) enters any v S exactly once. Moreover, these
bibranchings cover A. Hence restricted to A we obtain a covering of A by k R S
bifurcations.
As in Keijsper and Schrijver [1998], one can derive Theorem 54.5 on disjoint RS bi-
connectors (in an undirected graph) from Theorem 54.11 on disjoint RS bibranch-
ings (in a directed graph), with the help of the Tutte-Nash-Williams disjoint trees
theorem (Corollary 51.1a).
Indeed, the condition in Theorem 54.5 gives, with the Tutte-Nash-Williams
disjoint trees theorem, that the graph G/R obtained from G by contracting R to
one vertex, has k edge-disjoint spanning trees.
By orienting the edges in these trees appropriately, we see that G/R has an
orientation such that any nonempty U S is entered by at least k arcs, and such
that each edge incident with R is oriented away from R. Similarly, G/S has an
orientation such that any nonempty U R is left by at least k arcs, and such that
each edge incident with S is oriented towards S.
Combining the two orientations, we obtain an orientation D = (V, A) of G such
that each R S bicut has size at least k. Hence, by Theorem 54.11, D has k disjoint
R S bibranchings, and hence, G has k disjoint R S biconnectors.
Similarly, one can derive Theorem 54.6 on covering R S biforests from Corollary
54.11c on covering R S bifurcations, with the help of Nash-Williams covering
forests theorem (Corollary 51.1c). Indeed, the condition in Theorem 54.6 gives,
Section 54.7d. Covering by R S biforests and by R S bifurcations 945
with Nash-Williams covering forests theorem, that the edges of the graph G/R
obtained from G by contracting R to one vertex, can be covered by k forests. Hence
G/R has an orientation such that any vertex in S is entered by at most k arcs, and
such that R is only left by arcs. Similarly, G/S has an orientation such that any
vertex in R is left by at most k arcs, and such that S is only entered by arcs.
Combining the two orientations, we obtain an orientation D = (V, A) of G
satisfying the condition in Corollary 54.11c. Hence the arcs of D can be covered by
k R S bifurcations, and hence the edges of G can be covered by k R S biforests.
Chapter 55
Proof. For any digraph D, let (D) be the maximum number of disjoint
directed cuts in D and let (D) be the minimum size of a directed cut cover.
Choose a counterexample D = (V, A) with a minimum number of arcs.
For any B A, let DB be the graph obtained from D by replacing each arc
(u, v) in B by a directed u v path of length 2 (the intermediate vertex being
new). Choose an inclusionwise maximal subset B of A with (DB ) = (D).
Then B = A, as (DA ) 2(D) > (D).
948 Chapter 55. Minimum directed cut covers and packing directed cuts
the maximum number of directed cuts such that each arc a is in at most l(a)
of them.
This can be formulated in terms of the total dual integrality of the fol-
lowing system:
(55.8) (i) 0 xa 1 for each a A,
(ii) x(C) 1 for each directed cut C.
Define the directed cut cover polytope of D as the convex hull of the incidence
vectors of directed cut covers. Then:
Corollary 55.2b. System (55.8) is TDI and determines the directed cut
cover polytope of D.
In fact, system (55.8) is box-TDI, and more generally, the following system
is box-TDI, as was shown by Edmonds and Giles [1977]:
(55.9) x(C) 1 for each directed cut C.
Edmonds and Giles proof gives the following alternative way of proving the
Lucchesi-Younger theorem.
such that
(55.11) yU |U ||V \ U |
U U
950 Chapter 55. Minimum directed cut covers and packing directed cuts
This has the following consequences. Call a subset C of the arc set A of
a digraph D = (V, A) a directed cut k-cover if C intersects each directed cut
in at least k arcs. Consider the system:
(55.13) 0 xa 1 for a A,
x(C) k for each directed cut C.
Then:
Corollary 55.3b. System (55.13) is TDI and determines the convex hull of
the incidence vectors of the directed cut k-covers.
From this, a min-max relation for the minimum size of a directed cut
k-cover can be derived:
Theorem 55.4. Let D = (V, A) be a planar digraph. Then the minimum size
of a feedback arc set is equal to the maximum number of arc-disjoint directed
circuits.
Notes. Figure 55.1 (from Younger [1965]) shows that we cannot drop the planarity
condition. This is a counterexample with a smallest number of vertices, since Bara-
hona, Fonlupt, and Mahjoub [1994] showed that in a digraph with no K3,3 minor,
the minimum size of a feedback arc set is equal to the maximum number of disjoint
952 Chapter 55. Minimum directed cut covers and packing directed cuts
Figure 55.1
The minimum size of a feedback arc set equals 2, while there are no
two disjoint directed cuts.
Figure 55.2
An Eulerian digraph where the minimum size of a feedback arc set
equals 5, while there are no 5 disjoint directed cuts.
Moreover, Borobia, Nutov, and Penn [1996] showed that in an Eulerian digraph
with at most 6 vertices, the minimum size of a feedback arc set is equal to the
maximum value of a fractional packing of directed circuits. This is not the case if
there are more than 6 vertices, as is shown by the graph in Figure 55.2.
Guenin and Thomas [2001] characterized the digraphs D that have the property
that for every subhypergraph D of D, the maximum number of disjoint circuits in
D is equal to the minimum size of a feedback arc set in D .
More on the polytope determined by the feedback arc sets, equivalently on
the acyclic subgraph polytope (the convex hull of the incidence vectors of arc sets
containing no directed circuit) is presented in Young [1978], Gr
otschel, J
unger, and
Reinelt [1984,1985a,1985b], Reinelt [1993], Leung and Lee [1994], Goemans and
Hall [1996], and Bolotashvili, Kovalev, and Girlich [1999]. (Bowman [1972] wrongly
claimed to give a system determining the acyclic subgraph polytope.)
Section 55.5. Complexity 953
55.5. Complexity
Proof. Directly from the above, with Theorem 41.8. We apply the weighted
matroid intersection algorithm to find a maximum-length common base B in
the matroids M1 and M2 on A A1 , defining l(a1 ) := 0 for a A. Then
A \ B is a minimum-length directed cut cover.
Also a maximum packing of directed cuts can be found in polynomial time. Let
B be the maximum-length base found and let C be the directed cut k-cover with
B = (A \ C) C 1 .
The weighted matroid intersection algorithm also yields a dual solution. Indeed,
if l is integer-valued, it gives length functions l1 , l2 : AA1 Z such that l = l1 +l2
and such that B is an li -maximal base of Mi , for i = 1, 2 (cf. Section 41.3a).
Define
(55.23) F := {U V | din out
A (U ) = 0, dC (U ) = k},
Then:
For each a C, let s(a) be the dierence of the two terms in (55.28)(ii), and
for a A \ C let s(a) := 0. Then
out
(55.32) yK A (K) s l
KK
and
out
(55.33) k yK s(A) = yK |A (K) C| s(A)
KK KK
= (yK | K K, a out (K)) s(A) = l(C).
aC
Thus we have an integer optimum dual solution to maximizing lT x over the system
0 x 1, x(Y ) k (Y directed cut). If k = 1, we can do with s = 0, and obtain
an integer optimum packing of directed cuts subject to l.
So we have:
As before, indicates an asymptotically best bound in the table. M (n) denotes the
time to multiply nn matrices. Also Karzanov [1979c,1981] gave a polynomial-time
algorithm to find a minimum-size directed cut cover. Lucchesi [1976] gave also a
polynomial-time algorithm to find a minimum-weight directed cut cover, and Frank
[1981b] and Gabow [1993a,1993b,1995c] gave strongly polynomial-time algorithms
for this.
Corollary 55.8a. For any linklessly embeddable digraph D = (V, A), system (55.35)
is totally dual integral.
Proof. Let w ZA be such that the minimum of wT x over (55.35) is finite. Let
C be the collection of directed
circuits in D. By Theorem 5.29, it suces to show
that the maximum value of CC y(C) taken over y : C 12 Z+ satisfying
(55.36) yC AC w
CC
is attained by an integer-valued y.
Now (as the minimum is finite) w belongs to the cone generated by the incidence
vectors of directed circuits, and hence w is a nonnegative circulation. Replace any
arc a = (u, v) by w(a) parallel arcs from u to v, giving the Eulerian digraph D =
(V, A ). Then is equal to half of the maximum number of directed circuits in
D such that any arc of D is in at most two of these circuits. By Theorem 55.8, D
contains at least 21 arc-disjoint directed circuits. Since 12 , this gives in
D an integer vector y : C Z+ as required.
Theorem 55.9. The minimum size of a feedback arc set in an Eulerian linklessly
embeddable digraph D = (V, A) is equal to the maximum number of arc-disjoint
directed circuits.
Proof. Consider the LP-duality relation for maximizing x(U ) over (55.35):
(55.37) | x(C) 1 for
min{x(A) each directed circuit C}
= max{ yC | yC 0, yC AC = 1},
C C
where C ranges over all directed circuits. By Corollary 55.8a and the theory of total
dual integrality (Theorem 5.22), both optima have an integer optimum solution.
So the maximum is equal to the maximum number of arc-disjoint directed circuits.
Let x attain the minimum. By Theorem 8.2, there exists a (potential) p : V Z
with xa p(v) p(u) for each arc a = (u, v) of D. Define x (a) := xa p(v) + p(u)
for each arc a = (u, v). Then x ZA
+ , x (C) = x(C) 1 for each directed circuit
C, and x (A) = x(A) (since D is Eulerian). Hence the set of arcs a with x (a) 1
forms a feedback arc set of size at most x(A), proving the theorem.
System (55.35) can be tested in polynomial time, for any digraph (with the Bell-
man-Ford method). It implies that in an Eulerian linklessly embeddable digraph, a
minimum-size feedback arc set can be found in polynomial time (with the ellipsoid
method).
(55.38) for each integer k 0 there exists an integer nk 0 such that each
digraph D = (V, A) having no k vertex-disjoint directed circuits, has
a feedback vertex set of size at most nk .
(For k = 2 this answers a question of Gallai [1968b] and Younger [1973].)
Reed, Robertson, Seymour, and Thomas also showed that for each fixed integer
k, there is a polynomial-time algorithm to find k vertex-disjoint directed circuits in
a digraph if they exist.
Earlier, progress on (55.38) was made by McCuaig [1993], who proved it for
k = 2, where n2 = 3, by Seymour [1995b], who proved a fractional version of it (if
there is no fractional packing of k directed circuits, then there is a feedback vertex
set of size at most nk ), and by Reed and Shepherd [1996] for planar graphs.
According to Reed, Robertson, Seymour, and Thomas [1996], N. Alon proved
that nk is at least Ck log k for some constant C.
Cai, Deng, and Zang [1999,2002] characterized for which orientations D = (V, A)
of a complete bipartite graph the system
(55.39) xv 0 for v V ,
x(V C) 1 for each directed circuit C,
is totally dual integral. (Related results can be found in Cai, Deng, and Zang [1998].)
Guenin [2001b] gave a characterization of digraphs D = (V, A) for which the
linear system in RV A for feedback arc and vertex sets:
(55.40) xv 0 for v V ,
xa 0 for a A,
x(V C) + x(AC) 1 for each directed circuit C,
is totally dual integral.
The undirected analogue of (55.38) was proved for k = 2 by Bollobas [1963],
and for general k by Erd os and P
osa [1965]. Ding and Zang [1999] characterized
the undirected graphs G = (V, E) for which the system
(55.41) xv 0 for v V ,
x(V C) 1 for each circuit C,
is totally dual integral. Their characterization implies that (55.41) is totally dual
integral if and only if it defines an integer polyhedron.
A polyhedral approach to the feedback vertex set problem was investigated by
Funke and Reinelt [1996]. Approximation algorithms for feedback problems were
given by Monien and Schulz [1982], Eades, Lin, and Smyth [1993], Bar-Yehuda,
Geiger, Naor, and Roth [1994,1998], Becker and Geiger [1994,1996], Bafna, Berman,
and Fujito [1995,1999], Even, Naor, Schieber, and Sudan [1995,1998], Even, Naor,
and Zosin [1996,2000], Goemans and Williamson [1996,1998], Chudak, Goemans,
Hochbaum, and Williamson [1998], Bar-Yehuda [2000], and Cai, Deng, and Zang
[2001]. More on the feedback vertex set problem was presented by Smith and Wal-
ford [1975], Kevorkian [1980], Rosen [1982], Speckenmeyer [1988], Stamm [1991],
Hackbusch [1997], and Pardalos, Qian, and Resende [1999].
case the underlying undirected graph is bipartite, while all arcs are oriented from
one colour class to the other. It amounts to the following:
Theorem 55.10. Let G = (V, E) be a connected bipartite graph and let F be the
collection of subsets E[U ] of E for which U is a vertex cover with E[U ] nonempty.
Then the minimum size of a set of edges intersecting each set in F is equal to the
maximum number of disjoint sets in F .
Proof. Let U and W be the colour classes of G and let digraph D be obtained from
G by orienting each edge from U to W . Then a set of edges belongs to F if and only
if it is a directed cut of D. Hence the theorem follows from the Lucchesi-Younger
theorem.
D.H. Younger (cf. Frank [1993b]) showed that the maximum number of disjoint
nonempty cuts in a bipartite graph G is equal to the maximum number of disjoint
directed cuts in the directed graph obtained from G by orienting all edges from one
colour class to the other (cf. Corollary 29.13b). (Vidyasankar [1978b] showed that
a set of edges J intersecting each set in F attains the minimum in Theorem 55.10
if and only if J intersects any circuit C of G in at most 21 |EC| edges; that is, if and
only if J is a join cf. Section 29.11d.)
As noted by Younger [1979], the Lucchesi-Younger theorem, in the form of
Corollary 55.2b, implies the K onig-Rado edge cover theorem (Theorem 19.4): the
minimum size of an edge cover in a bipartite graph G = (V, E) is equal to the
maximum size of a stable set in G. To obtain this as a consequence, let U and W
be the colour classes of G and let D = (V, A) be the directed graph with vertex
set V and arcs all pairs (u, v) with u U and v W . Define a weight function
w : A Z by w(u, v) := 1 if uv E, and otherwise. Then the minimum weight
of a directed cut cover in D is equal to the minimum size of an edge cover in G. With
this correspondence, Corollary 55.2b gives the K onig-Rado edge cover theorem.
Tuza [1994] showed that for any planar directed graph D = (V, A) and any
collection T of directed triangles in D, the minimum number of arcs intersecting
each triangle in T is equal to the maximum number of arc-disjoint triangles in T .
Chapter 56
x y
Figure 56.1
A directed cut 2-cover that cannot be split into two directed
cut covers. Let C be the set of heavy arcs. Then C is a directed cut
2-cover, since for each arc c C, the set C \ {c} is a directed cut cover,
which is easy to check since up to symmetry there are only two types
of arcs in C.
However, C cannot be split into directed cut covers C1 and C2 . To see
this, observe that each of these Ci must contain exactly one of the two
arcs in C meeting any source or sink. Moreover, each Ci must contain
at least one of the arcs labeled x, y, z, since the set of arcs from the
inner hexagon to the outer hexagon forms a directed cut. Hence we
may assume without loss of generality that C1 contains the arcs x and
y, but not z. But then C1 does not intersect the directed cut of those
arcs going from the right half of the figure to the left half.
in
Then X R, A (R) = , and any (u, v) C leaving R satisfies u X and
v Y . To see that Y S, suppose to the contrary that D has a directed
Y X path P . Choose P shortest. Then by (56.3), P has of at most three
arcs. Let (v , u ) and (v, u) be the first and last arc of P . So v Y and
u X. These arcs belong to C 1 , and v is reachable from u in D. So by
(56.4), u X or v Y . This contradicts the definition of C . This shows
(56.6).
Fix R, S as in (56.6). Let D = (V, A ) be the digraph arising from D by
replacing any arc (u, v) of D by k parallel arcs from v to u. Then
in
(56.8) |A C (U )| k
Proof. Directly from Theorem 56.1, by adding, for any arc a of D, c(a) arcs
parallel to a, and by taking for C the set of newly added arcs.
Notes. Frank [1979b] showed the special case of Woodalls conjecture for digraphs
having an arborescence. (Such digraphs are source-sink connected.) J. Edmonds
observed that this can be derived from Edmonds disjoint arborescences theorem
(Corollary 53.1b): Let D = (V, A) have an r-arborescence. Let k be the minimum
size of a directed cut in D. Add to D, for each arc (u, v) of D, k parallel arcs
in
from v to u. This makes the digraph D = (V, A ) with |A (U )| k for each
nonempty U V \ {r}. Hence D has k disjoint r-arborescences (by Edmonds
disjoint arborescences theorem). Now for any r-arborescence B in D , the set B A
is a directed cut cover in D, since if U is a nonempty proper subset of V with
out in in in in
A (U ) = , then A (U ) = A (U ), and hence BA (U ) = B (U ) = . So we
(56.10) 0 x c, M x 1, M (c x) (k 1)1,
since for any such x there is a directed cut cover B satisfying B x.
Since M is totally unimodular, it suces to show that (56.10) has any
solution. Define x := k1 c. Then x satisfies (56.10), since M c k1 and hence
M x 1 and M (c x) = k1 k M c (k 1)1.
Proof. This follows from Theorem 56.2 by taking c(u, v) equal to the number
of times there is an arc from u to v in the directed cut k-cover.
A. Frank also noted that Woodalls conjecture is true if the minimum size
of a directed cut is at most 2:
Theorem 56.3. Let D = (V, A) be a digraph such that each directed cut has
size at least two. Then there are two disjoint directed cut covers.
Figure 56.1 shows that this cannot be generalized to each directed cut
2-cover being partitionable into two directed cut covers.
Strong connectors
Let (V, A) and (V, B) be digraphs. The set B is called a strong connector for
D if the digraph (V, A B) is strongly connected.
Consider the following strong connectivity augmentation problem:
(57.1) Given a digraph D = (V, A) and a cost function k : V V Q,
find a minimum-cost strong connector for D.
Eswaran and Tarjan [1976] showed that if the cost of each new arc equals
1, then there is an easy solution:
Proof. To see that the minimum is at least max{, }, note that for each
source r one should add at least one arc entering r; similarly, for each sink s
one should add at least one arc leaving s.
That the bound can be attained is shown by induction on max{, }.
If there is a pair of a source r and a sink s such that s is not reachable
from r, add an arc (s, r). This reduces both and by 1, while maintaining
acyclicity, and induction gives the result.
So we can assume that each sink is reachable from each source. We can
also assume that (otherwise, reverse all orientations). Let r1 , . . . , r
be the sources and let s1 , . . . , s be the sinks. Then adding arcs (si , ri ) for
i = 1, . . . , , and arcs (si , r1 ) for i = +1, . . . , makes D strongly connected,
proving the theorem.
Proof. Directly from Theorem 57.3, since condition (57.2) is implied by the
fact that D0 is source-sink connected.
57.3. Polyhedrally
Theorem 57.3 can be equivalently formulated in TDI terms:
Corollary 57.3e. Let D0 = (V, A0 ) and D = (V, A) satisfy (57.2). Then the
system
(57.6) (i) 0 xa 1 a A,
(ii) x(B) 1 B strong connector for D0
determines the convex hull of subsets of A containing a D0 -cut.
Proof. The proof is similar to the derivation of Theorem 57.3 from the Luc-
chesi-Younger theorem. We can assume that for any u, v V , if v is reachable
in D0 from u, then (u, v) A0 .
974 Chapter 57. Strong connectors
57.5. Complexity
As for the complexity of finding disjoint strong connectors for a source-sink
connected digraph, the proof of Theorem 57.4 gives a polynomial-time reduc-
tion to finding a maximum number of disjoint directed cut covers in a subset
of the arcs of a source-sink connected graph. The latter problem is solvable
in polynomial time by the methods of Section 56.2.
The capacitated case can be solved in semi-strongly polynomial time (that
is, where rounding is taken as one arithmetic operation) with the ellipsoid
method (cf. Gr otschel, Lov
asz, and Schrijver [1988]). A combinatorial semi-
strongly polynomial-time algorithm is as follows.
Let be given a source-sink connected digraph D0 = (V, A0 ), a digraph
D = (V, A), and a capacity function c : A Z+ . We show that an optimum
fractional packing of strong connectors subject to c can be found in strongly
polynomial time. Then an integer packing can be found by rounding (like in
Section 51.4), thus yielding a semi-strongly polynomial-time algorithm.
Define C := {U | = U V, dinA0 (U ) = 0}. To find an optimum fractional
in
packing, let be the minimum of c(A (U )) taken over sets U C. ( can be
computed with a maximum flow algorithm.) We keep a subcollection U of C
in
with c(A (U )) = for each U U.
Choose a strong connector B A for A0 with din B (U ) = 1 for each U U.
(This can be found in strongly polynomial time, by finding a minimum-length
in
strong connector for length function l := U U B (U ) . It exists by Theorem
57.4.)
If c = 0, we are done. If c = 0, determine a rational as follows. First
set := min{c(a) | a B}. Next, iteratively, find a U C minimizing
(57.8) (c B )(A
in
(U )).
If this minimum value is less than , reset
in
c(A (U ))
(57.9) := in
,
dB (U ) 1
and iterate. If the minimum is equal to , this ends the inner iterations.
Then we reset c := c B , := , and U := U {U }, and (outer)
iterate.
In each outer iteration, the number of arcs a with c(a) > 0 decreases
or the intersecting family generated by U increases (since for the U added
we have dinB (U ) > 1). Hence the number of outer iterations is bounded by
|A| + |V |3 (see the argument given in the proof of Theorem 53.9).
In each outer iteration, the number of inner iterations is at most |B|. To
see this, consider any inner iteration, and denote by and U the objects
and U in the next inner iteration. As U minimizes (57.8), we know
976 Chapter 57. Strong connectors
(57.10) (c B )(A
in
(U )) (c B )(A
in
(U )).
Moreover, if the next iteration is not the last iteration, then
(57.11) (c B )(A
in
(U )) < = (c B )(A
in
(U ))
(the equality follows from definition (57.9), replacing by ). Now (57.10)
and (57.11) imply
(57.12) (din in in in
B (U ) dB (U )) < c(A (U )) c(A (U ))
in in
(dB (U ) dB (U )).
Since < (as (57.8) is less than ), we have din in
B (U ) < dB (U ). Hence
the number of inner iterations is at most |B|.
Theorem 57.4 and part of Theorem 57.3 were generalized by Schrijver [1983b]. Let
C be a crossing family of subsets of a set V ; that is:
(57.13) if U, W C and U W = and U W = V , then U W C and
U W C.
Let D = (V, A) be a digraph. Call B A a C-cut if B = in (U ) for some U C.
Call B A a C-cover if B intersects each C-cut.
Let C be a crossing family of nonempty proper subsets of a set V . In Schrijver
[1983b] it is shown that the following are equivalent:
(57.14) (i) for each digraph D = (V, A), the minimum size of a C-cut is equal
to the maximum number of disjoint C-covers;
(ii) for each digraph D = (V, A) and each length function l : A Z+ ,
the minimum length of a C-cover is equal to the maximum number
of C-cuts such that no arc a is in more than l(a) of these cuts;
(iii) there are no V1 , V2 , V3 , V4 , V5 in C with V1 V3 V5 , V1 V2 ,
V2 V3 = V , V3 V4 = , and V4 V5 .
The configuration described in (iii) is depicted in Figure 57.1. As directed graphs
may have parallel arcs, property (57.14)(i) is equivalent to its capacitated version.
So condition (57.14)(i) is equivalent to the total dual integrality of
(57.15) xa 0 for a A,
x(B) 1 for each C-cover B A,
for each digraph (V, A). Similarly, condition (57.14)(ii) is equivalent to the total
dual integrality of
(57.16) xa 0 for a A,
x(B) 1 for each C-cut B A,
for each digraph (V, A).
Frank [1979b] showed that (57.14)(i) holds if C is an intersecting family. (For
any intersecting family C, (iii) holds if V C, which we may assume without loss
of generality.)
Section 57.5a. Crossing families 977
Figure 57.1
The configuration excluded in (57.14)(iii). In this Venn-diagram,
the collection is represented by the interiors of the ellipses and by the
exteriors of the rectangles.
In (57.14)(i) and (ii) we require the min-max relation for cuts and covers to
hold for all directed graphs on V . It is a more general problem to characterize pairs
(C, D) of a crossing family C on V and a directed graph D = (V, A) having the
properties described in (57.14)(i) and (ii), respectively. For example, the Lucchesi-
Younger theorem (Theorem 55.2), and its extension by Edmonds and Giles [1977],
assert that if C is a crossing family on V and no arc of D leaves any set U C,
then (C, D) has the properties described in (ii). However, the example in Figure
56.1 shows that it generally does not have the property described in (57.14)(i). So
for fixed graphs D, (57.14)(i) and (ii) are not equivalent.
Theorem 60.3 implies that a pair (C, D) has property (ii) if C is a crossing family
and D a directed graph such that if U1 , U2 , U3 C with U1 V \ U2 U3 , then no
arc enters both U1 and U3 . This generalizes the Lucchesi-Younger theorem.
We show the equivalence of (57.14)(ii) and (iii), for which we show a lemma
indicating that condition (57.14)(iii) has a natural characterization in terms of total
unimodularity.
For any collection C of subsets of a set V , let A be the collection of all ordered
pairs of elements of V (making the complete directed graph D = (V, A)), and let
MC be the C A matrix with
1 if a enters U ,
(57.17) (MC )U,a :=
0 otherwise.
Figure 57.2
(57.19) each set in C0 is entered by exactly two arcs from A0 , and each arc in
A0 enters exactly two sets in C0 .
So this submatrix has exactly two 1s in each row and each column, and hence is
not totally unimodular.
To see suciency, let C satisfy (57.14)(iii). To prove that MC is totally unimod-
ular, we use the following characterization of Ghouila-Houri [1962b] (cf. Theorem
19.3 in Schrijver [1986b]): a matrix M is totally unimodular if and only if each
collection R of rows of M can be partitioned into classes R1 and R2 such that the
sum of the rows in R1 , minus the sum of the rows in R2 , is a vector with entries
0, 1 only.
To check this condition, we can assume that we have chosen all rows of MC (as
any subset of the rows gives a matrix of the same type as MC ). Make a digraph
D = (C, A ), where A consists of all pairs (T, U ) from C such that
(57.20) T U , and there is no W C with T W U .
We show that the undirected graph underlying D is bipartite, which will verify
Ghouila-Houris criterion: let C1 and C2 be the two colour classes; then any arc
a = (u, v) of D enters a chain of subsets in C (as C is cross-free), which subsets are
alternatingly in C1 and C2 . Hence the sum of the rows with index in C1 minus the
sum of the rows with index in C2 , has an entry 0 or 1 in position a.
To show that D is bipartite, suppose that it has an (undirected) circuit of odd
length. Since this circuit is odd, and since D is acyclic, it follows that there are
distinct U0 , U1 , . . . , Uk , Uk+1 in C, with k 3, such that
(57.21) (U1 , U0 ), (U1 , U2 ), (U2 , U3 ), . . . , (Uk1 , Uk ), (Uk+1 , Uk )
belong to A . So U0 and U2 are distinct minimal sets in C containing U1 as a
subset. As C is cross-free, U0 U2 = V . Similarly, Uk1 and Uk+1 are distinct
maximal subsets of Uk , and hence Uk1 Uk+1 = . As U2 Uk1 , it follows that
U1 U0 U2 , U0 U2 = V , U2 Uk+1 Uk , and U2 Uk+1 = . This contradicts
(57.14)(iii).
(57.22) xa 0 for a A,
x( in (U )) 1 for U C,
is box-TDI.
where y : C R+ satisfies
in
(57.24) yU (U ) w.
U C
Corollary 57.5a. For any crossing family C of nonempty proper subsets of a set
V , (57.22) defines an integer polyhedron for each digraph D = (V, A) if and only if
condition (57.14)(iii) holds.
Proof. Suciency follows from Theorem 57.5. To see necessity, suppose that
(57.22)(iii) does not hold. Let V1 , . . . , V5 in C with V1 V3 V5 , V1 V2 ,
V2 V3 = V , V3 V4 = , and V4 V5 . Let C0 := {V1 , . . . , V5 } and C1 := C \ C0 .
Choose v1 V1 , v2 V \ V2 , v4 V4 , v5 V \ V5 . Let D = (V, A) be a digraph,
with A = A0 A1 , where A0 is as defined in (57.18) and where
(57.27) A1 := {(u, v) | u, v V such that (u, v) enters no Vi (i = 1, . . . , 5)}.
Then
(57.28) each set in C1 is either entered by at least one arc in A1 or by at least
two arcs in A0 .
To see this, by definition of A1 , a subset U of V is entered by no arc in A1 if and
only if U belongs to the lattice generated by C0 (with respect to inclusion). This
lattice consists of the sets
980 Chapter 57. Strong connectors
(57.29) , V, V1 , . . . , V5 , V1 V4 , V2 V3 , (V2 V3 ) V4 , V3 V4 , V2 V5 ,
as (57.29) is closed under taking unions and intersections, and as each set in (57.29)
is generated by taking unions and intersections from C0 . Since each of the sets in
(57.29), except and V , is entered by at least two arcs in A0 , we have (57.28).
(57.19) and (57.28) give:
(57.30) any C-cover in A contains at least three arcs in A0 , and any C-cut
contains at least one arc in A1 or at least two arcs in A0 .
Define x : A Q be x := A1 + 12 A0 and a length function l : A Z by l := A0 .
Then x satisfies (57.22) and lT x = 25 . However, l(C) 3 for each C-cover C. So
(57.22) determines no integer polyhedron.
Theorem 57.5 and Corollary 57.5a imply the equivalence of (57.14)(ii) and (iii).
For the proof of the equivalence of (57.14)(i) and (iii), we refer to Schrijver [1983b].
Chapter 58
The traveling salesman problem (TSP) asks for a shortest Hamiltonian cir-
cuit in a graph. It belongs to the most seductive problems in combinatorial
optimization, thanks to a blend of complexity, applicability, and appeal to
imagination.
The problem shows up in practice not only in routing but also in vari-
ous other applications like machine scheduling (ordering jobs), clustering,
computer wiring, and curve reconstruction.
The traveling salesman problem is an NP-complete problem, and no
polynomial-time algorithm is known. As such, the problem would not fit
in the scope of the present book. However, the TSP is closely related to
several of the problem areas discussed before, like 2-matching, spanning
tree, and cutting planes, which areas actually were stimulated by ques-
tions prompted by the TSP, and often provide subroutines in solving the
TSP.
Being NP-complete, the TSP has served as prototype for the development
and improvement of advanced computational methods, to a large extent
utilizing polyhedral techniques. The basis of the solution techniques for
the TSP is branch-and-bound, for which good bounding techniques are
essential. Here good is determined by two, often conflicting, criteria: the
bound should be tight and fast to compute. Polyhedral bounds turn out to
be good candidates for such bounds.
The problem of finding a Hamiltonian circuit and (hence) the traveling sales-
man problem are NP-complete. Indeed, in Theorem 8.11 and Corollary 8.11b
we proved the NP-completeness of the directed and undirected Hamiltonian
circuit problem. This implies the NP-completeness of the TSP, both in the
undirected and the directed case:
Theorem 58.1. The symmetric TSP and the asymmetric TSP are NP-
complete.
Proof. Given an undirected graph G = (V, E), define l(e) := 0 for each edge
e. Then G has a Hamiltonian circuit if and only if G has a Hamiltonian circuit
of length 0. This reduces the undirected Hamiltonian circuit problem to
the symmetric TSP.
One similarly shows the NP-completeness of the asymmetric TSP.
This method also gives that the symmetric TSP remains NP-complete if
the graph is complete and the length function satisfies the triangle inequality:
(58.1) l(uw) l(uv) + l(vw) for all u, v, w V .
Indeed, to test if a graph G = (V, E) has a Hamiltonian circuit, define l(uv) :=
1 if u and v are adjacent and l(uv) := 2 otherwise (for u = v). Then G has
a Hamiltonian circuit if and only if there exists a traveling salesman tour of
length |V |.
Garey, Graham, and Johnson [1976] and Papadimitriou [1977a] showed
that even the Euclidean traveling salesman problem is NP-complete. (Simi-
larly for several other metrics, like l1 .) More on complexity can be found in
Section 58.8b below.
and Eastman [1959]. The term branch and bound was introduced by Little,
Murty, Sweeney, and Karel [1963].
A rough, elementary description is as follows. Let G = (V, E) be a graph
and let l : E R be a length function. For any set C of Hamiltonian circuits,
let (C) denote the minimum length of the Hamiltonian circuits in C.
Keep a collection of sets of Hamiltonian circuits and a function :
R satisfying:
(58.2) (i) contains a shortest Hamiltonian circuit;
(ii) (C) (C) for each C .
A typical iteration is:
(58.3) Select a collection C with (C) minimal. Either find a circuit
C C with l(C) = (C) or replace C by (zero or more) smaller
sets such that (58.2) is maintained.
Obviously, if we find C C with l(C) = (C), then C is a shortest Hamilto-
nian circuit.
This method always terminates, but the method and its eciency heavily
depend on how the details in this framework are filled in: how to bound (that
is, how to define and calculate (C)), how to branch (that is, which smaller
sets replace C), and how to find the circuit C.
As for branching, the classes C in can be stored implicitly: for example,
by prescribing sets B and F of edges such that C consists of all Hamiltonian
circuits whose edge set contains B and is disjoint from F . Then we can split C
by selecting an edge e E \(B F ) and replacing C by the classes determined
by B {e}, F and by B, F {e} respectively.
As for bounding, one should choose (C) that is fast to compute and close
to (C). For this, polyhedral bounds seem good candidates, and in the coming
sections we consider a number of them.
For finding the circuit C C, a heuristic or exact method can be used. If
it returns a circuit C with l(C) > (C), we can delete all sets C from with
(C ) l(C), thus saving computer space.
the traveling salesman polytope such that their validity can be certified in
polynomial time and such that they have no common solution.
for any length function, a lower bound of 43 holds (which is best possible).
Related results are given by Papadimitriou and Vempala [2000] and Boyd
and Labonte [2002] (who verified the conjecture for n 10).
Maurras [1975] and Gr otschel and Padberg [1979b] showed that, if G is
the complete graph on V and 2 |U | |V | 2, then the subtour elimination
constraint (58.4)(iii) determines a facet of the traveling salesman polytope.
Chvatal [1989] showed the NP-completeness of recognizing if the bound
given by the subtour elimination constraints is equal to the length of a short-
est tour. He also showed that there is no nontrivial upper bound on the
relative error of this bound.
where F ranges over all 1-trees. Christofides [1970] and Held and Karp [1970]
observed that for each y RV :
(58.9) f (y) the minimum length of a Hamiltonian circuit,
since if C is a shortest Hamiltonian circuit, then f (y) 2y(V )+ly (C) = l(C).
The function f is concave. Since a shortest 1-tree can be found fast, also
f (y) can be computed fast. Held and Karp [1970] showed:
986 Chapter 58. The traveling salesman problem
Theorem 58.2. The minimum value of lT x over (58.4) is equal to the max-
imum value of f (y) over y RV .
The last inequality holds as Cx d determines the convex hull of the inci-
dence vectors of 1-trees.
Theorem 58.3. The clique tree inequality (58.12) is valid for the traveling
salesman polytope.
We apply induction on r, the case r = 0 being easy (as it implies s = 1). For
each i = 1, . . . , r, let i be the number of Tj intersecting Hi .
988 Chapter 58. The traveling salesman problem
Notes. Gr otschel and Pulleyblank [1986] also showed that, if G is a complete graph,
then any clique tree inequality determines a facet if and only if each Hi intersects
at least three of the Tj .
The clique tree inequalities are not enough to determine the traveling salesman
polytope, as is shown again by taking the Petersen graph G = (V, E) and xe := 23
for all e E.
The special case r = 1 of the clique tree inequality is called a comb inequality,
and was introduced by Gr otschel and Padberg [1979a] and proved to be facet-
inducing (if G is complete and s 3) by Gr otschel and Padberg [1979b].
The special case of the comb inequality with |H1 Tj | = 1 for all j = 1, . . . , s is
called a Chvatal comb inequality, introduced by Chv atal [1973b]. The special case of
the Chv atal comb inequalities with |Tj| = 2 for each j = 1, . . . , s gives the 2-factor
constraints (58.11)(iv) (since 2x(F ) + f F x((f )) = 4|F |).
No polynomial-time algorithm is know to test the clique tree inequalities, or the
comb inequalities, or the Chv atal comb inequalities. Carr [1995,1997] showed that
for each constant K, there is a polynomial-time algorithm to test the clique tree
inequalities with at most K teeth and handles. (This can be done by first fixing
intersection points of the Hi Tj (if nonempty) and points in Tj \ (H1 Hr ),
Section 58.8a. Christofides heuristic for the TSP 989
and next finding minimum-capacity cuts separating the appropriate sets of these
points (taking x as capacity function). We can make them disjoint where necessary
by the usual uncrossing techniques. As K is fixed, the number of vertices to be
chosen is also bounded by a polynomial in |V |.)
Letchford [2000] gave a polynomial-time algorithm for testing a superclass of the
comb inequalities in planar graphs. Related results are given in Carr [1996], Fleis-
cher and Tardos [1996,1999], Letchford and Lodi [2002], and Naddef and Thienel
[2002a,2002b].
The factor 23 seems quite large, but it is the smallest factor for which a
polynomial-time method is known. Dont forget moreover that it is a worst-case
bound, and that in practice (or on average) the algorithm might have a much
better performance.
Wolsey [1980] showed more strongly that (if l satisfies the triangle inequality)
the length of the tour found by Christofides algorithm, is at most 23 times the
lower bound based on the subtour elimination constraints (58.4). If all distances
are 1 or 2, Papadimitriou and Yannakakis [1993] gave a polynomial-time algorithm
with worst-case factor 76 . Hoogeveen [1991] analyzed the behaviour of Christofides
heuristic when applied to finding shortest Hamiltonian paths.
990 Chapter 58. The traveling salesman problem
More valid inequalities for the symmetric traveling salesman polytope were
given by Gr otschel [1980a], Papadimitriou and Yannakakis [1984], Fleischmann
[1988], Boyd and Cunningham [1991], Naddef [1992], Naddef and Rinaldi [1992],
and Boyd, Cunningham, Queyranne, and Wang [1995].
J
unger, Reinelt, and Rinaldi [1995] gave a comparison of the values of vari-
ous relaxations for several instances of the symmetric traveling salesman problem.
Johnson, McGeoch, and Rothberg [1996] report on an asymptotic experimental
analysis of the Held-Karp bound. A probabilistic analysis of the Held-Karp bound
for the Euclidean TSP was presented by Goemans and Bertsimas [1991].
A worst-case comparison of several classes of valid inequalities for the traveling
salesman polytope was given by Goemans [1995]. Several integer programming for-
mulations for the TSP were compared by Langevin, Soumis, and Desrosiers [1990].
Althaus and Mehlhorn [2000,2001] showed that the subtour elimination constraints
solve traveling salesman problems coming from curve reconstruction, under appro-
priate sampling conditions.
Semidefinite programming was applied to the symmetric TSP by Cvetkovic,
Figure 58.1
Setting xa := 21 for each arc a, we have a vector x satisfying (58.21)
but not belonging to the traveling salesman polytope.
Section 58.10a. An integer programming formulation 993
The integer solutions of (58.21) are precisely the incidence vectors of Hamiltonian
circuits, so it gives an integer programming formulation of the asymmetric traveling
salesman problem. The system has exponentially many constraints. A.W. Tucker
showed in 1960 (cf. Miller, Tucker, and Zemlin [1960]) that the asymmetric TSP
can be formulated as the following integer programming problem, of polynomial
size only. Set n := |V |, fix a vertex v0 of D, and minimize lT x where x ZA and
z RV are such that
(58.25) (i) xa 0 for a A,
(ii) x( in (v)) = 1 for v V,
(ii) x( out (v)) = 1 for v V,
(iv) zu zv + nxa n 1 for a = (u, v) A with u, v = v0 .
7 Held and Karp used the term 1-arborescence for a directed 1-tree. To avoid confusion
with r-arborescence (a slightly dierent notion), we have chosen for directed 1-tree.
994 Chapter 58. The traveling salesman problem
The conditions (i), (ii), and (iii) and the integrality of x guarantee that x is the
incidence vector of a set C of arcs forming directed circuits partitioning V . Then
condition (iv) says the following. For any arc a = (u, v) not incident with v0 ,
one has: if a belongs to C, then zu zv 1; if a does not belong to C, then
zu zv n 1. This implies that C contains no directed circuit disjoint from v0 .
Hence C is a Hamiltonian circuit.
Conversely, for any incidence vector x of a Hamiltonian circuit, one can find
z RV satisfying (58.25).
Unfortunately, the linear programming bound one may derive from (58.25) is
generally much worse than that obtained from (58.21).
Bartels and Bartels [1989] gave a system of inequalities determining the traveling
salesman polytope of the complete directed graph on 5 vertices (correcting Heller
[1953a] and Kuhn [1955a]).
Padberg and Rao [1974] showed that the diameter of the asymmetric traveling
salesman polytope of the complete directed graph on n vertices is equal to 1 if
3 n 5, and to 2 if n 6. Rispoli [1998] showed that the monotonic diameter
of the asymmetric traveling salesman polytope of the complete directed graph on
n vertices equals n/3 if n 3. (For the definition of monotonic diameter, see
Section 58.8b.)
Adjacency of vertices of the asymmetric traveling salesman polytope of a graph
G = (V, E) is co-NP-complete, as was shown by Papadimitriou [1978]8 . The number
of edges of the asymmetric traveling salesman polytope was estimated by Sarangara-
jan [1997].
H.W. Kuhn (cf. Heller [1953a], Kuhn [1955a]) claimed that the dimension of
the asymmetric traveling salesman polytope of the complete directed graph on n
vertices is equal to n2 3n + 1 (if n 3). A proof of this was supplied by Gr
otschel
and Padberg [1977]. Further work on this polytope is reported in Kuhn [1991].
More valid inequalities for the asymmetric traveling salesman polytope were
given by Gr otschel and Padberg [1977], Gr otschel and Wakabayashi [1981a,1981b],
Balas [1989], Fischetti [1991,1992,1995], Balas and Fischetti [1993,1999], and Quey-
ranne and Wang [1995].
A polytope generalizing the directed 1-tree polytope and the asymmetric trav-
eling salesman polytope, the fixed-outdegree 1-arborescence polytope, was studied
by Balas and Fischetti [1992]. Another polyhedron related to the asymmetric trav-
eling salesman polytope was studied by Chopra and Rinaldi [1996].
Billera and Sarangarajan [1996] showed that each 0,1 polytope is anely equiv-
alent to the traveling salesman polytope of some directed graph.
Frieze, Karp, and Reed [1992,1995] investigated the tightness of the assignment
bound (determined by (58.21)(i)-(iii)). Williamson [1992] compared the Held-Karp
lower bound for the asymmetric TSP with the assignment bound.
Carr and Vempala [2000] related the relative error of the asymmetric TSP bound
obtained from (58.21) to that of the symmetric TSP bound obtained from (58.4).
8 Murty [1969] gave a characterization of adjacency that was shown to be false by Rao
[1976].
Section 58.11a. Further notes 995
[1965], Bellmore and Nemhauser [1968]), the Lin-Kernighan heuristic: start with
a Hamiltonian circuit and iteratively replace a limited number of edges by other
edges as long as it makes the circuit shorter (Lin and Kernighan [1973]), and Chris-
tofides heuristic discussed in Section 58.8a. From the further work on, and analyses
of, heuristics and local search techniques we mention Christofides and Eilon [1972],
Rosenkrantz, Stearns, and Lewis [1977], Cornuejols and Nemhauser [1978], Frieze
[1979], dAtri [1980], Bentley and Saxe [1980], Ong and Moore [1984], Golden and
Stewart [1985] (survey), Johnson and Papadimitriou [1985b] (survey), Karp and
Steele [1985] (survey), Johnson, Papadimitriou, and Yannakakis [1988], Kern [1989],
Bentley [1990,1992], Papadimitriou [1992] (showing that unless P=NP, any local
search method taking polynomial time per iteration, can lead to a locally optimum
tour that is arbitrarily far from the optimum), Fredman, Johnson, McGeoch, and
Ostheimer [1993,1995], Chandra, Karlo, and Tovey [1994,1999], Tassiulas [1997],
and Frieze and Sorkin [2001]. A survey and comparison of heuristics and local search
techniques for the traveling salesman problem was given by Johnson and McGeoch
[1997].
Polynomial-time solvable special cases of the traveling salesman problem were
given by Gilmore and Gomory [1964a,1964b], Gilmore [1966], Lawler [1971a], Syslo
[1973], Cornuejols, Naddef, and Pulleyblank [1983], and Hartvigsen and Pulleyblank
[1994]. Surveys of such problems were given by Gilmore, Lawler, and Shmoys [1985]
and Burkard, Deneko, van Dal, van der Veen, and Woeginger [1998].
The standard reference book on the traveling salesman problem, covering a
wide variety of aspects, was edited by Lawler, Lenstra, Rinnooy Kan, and Shmoys
[1985]. In this book, Grotschel and Padberg [1985] considered the traveling salesman
polytope, Padberg and Gr otschel [1985] computation with the help of polyhedra,
Johnson and Papadimitriou [1985a] the computational complexity of the TSP, and
Balas and Toth [1985] branch-and-bound method methods. Computational methods
and results are surveyed in the book by Reinelt [1994].
Survey articles on the traveling salesman problem were given by Gomory [1966],
Bellmore and Nemhauser [1968], Gupta [1968], Tyagi [1968], Burkard [1979], Chris-
tofides [1979], Grotschel [1982] (also on other NP-complete problems), and Johnson
and McGeoch [1997] (local search techniques). Introductions are given in the books
by Minieka [1978], Syslo, Deo, and Kowalik [1983], Cook, Cunningham, Pulley-
blank, and Schrijver [1998], and Korte and Vygen [2000]. An insightful survey of
the computational methods for the symmetric TSP was given by J unger, Reinelt,
and Rinaldi [1995]. A framework for guaranteeing quality of TSP solutions was
presented by J unger, Thienel, and Reinelt [1994]. An early survey on branch-and-
bound method techniques was given by Lawler and Wood [1966].
Barvinok, Johnson, Woeginger, and Woodroofe [1998] showed that there is a
polynomial-time algorithm to find a longest Hamiltonian circuit in a complete graph
with length determined by a polyhedral norm. Related work was done by Barvinok
[1996]. More on the longest Hamiltonian circuit can be found in Fisher, Nemhauser,
and Wolsey [1979], Serdyukov [1984], Kostochka and Serdyukov [1985], Kosaraju,
Park, and Stein [1994], Hassin and Rubinstein [2000,2001], and Bl aser [2002].
[1856] and Hamilton [1856,1858] and was also studied by Kowalewski [1917b,1917a]
see Biggs, Lloyd, and Wilson [1976]. We restrict our survey to the traveling
salesman problem in its general form.
The mathematical roots of the traveling salesman problem are obscure. Dantzig,
Fulkerson, and Johnson [1954a] say:
It appears to have been discussed informally among mathematicians at mathe-
matics meetings for many years.
A 1832 manual
K. Menger seems to be the first mathematician to have written about the traveling
salesman problem. The root of his interest is given in his paper Menger [1928c]. In
9 The traveling salesman how he should be and what he has to do, to obtain orders
and to be sure of a happy success in his business by an old traveling salesman
10 Business brings the traveling salesman now here, then there, and no travel routes can
be properly indicated that are suitable for all cases occurring; but sometimes, by an
appropriate choice and arrangement of the tour, so much time can be gained, that we
dont think we may avoid giving some rules also on this. Everybody may use that much
of it, as he takes it for useful for his goal; so much of it however we think we may
assure, that it will not be well feasible to arrange the tours through Germany with
more economy in view of the distances and, which the traveler mainly has to consider,
of the trip back and forth. The main point always consists of visiting as many places as
possible, without having to touch the same place twice.
998 Chapter 58. The traveling salesman problem
Halle
Sondershausen
Merseburg Leipzig
M
uhlhausen Greuen
Naumurg Weienfels Meien
Langensalza
Zeitz Dresden
Eisenach
Weimar Altenburg
Gotha Erfurt
Freiberg
Salzungen Arnstadt Gera Chemnitz
Rudolstadt Greitz Zwickau
Ilmenau
Fulda Meiningen
Gersfeld
Plauen
M
olrichstadt
Schlichtern
Neustadt Hof
Br
uckenau
Cronach
Frankfurt Gelnhausen
Hanau Culmbach
Schweinfurt
Aschaffenburg
Baireuth
Bamberg
W
urzburg
Figure 58.2
A tour along 45 German cities, as described in the 1832 traveling sales-
man manual, is given by the unbroken (bold and thin) lines (1285 km).
A shortest tour is given by the unbroken bold and by the dashed lines
(1248 km). We have taken geodesic distances taking local conditions
into account, the 1832 tour might be optimum.
this, he studies the length l(C) of a simple curve C in a metric space S, which is,
by definition,
n1
(58.26) l(C) := sup dist(xi , xi+1 ),
i=1
where the supremum ranges over all choices of x1 , . . . , xn on C in the order deter-
mined by C. What Menger showed is that we may relax this to finite subsets X of
C and minimize over all possible orderings of X. To this end he defined, for any
finite subset X of a metric space, (X) to be the shortest length of a path through
X (in graph terminology: a Hamiltonian path), and he showed that
(58.27) l(C) = sup (X),
X
where the supremum ranges over all finite subsets X of C. It amounts to showing
that for each > 0 there is a finite subset X of C such that (X) l(C) .
Menger [1929a] sharpened this to:
(58.28) l(C) = sup (X),
X
where again the supremum ranges over all finite subsets X of C, and where (X)
denotes the minimum length of a spanning tree on X.
These results were reported also in Menger [1930]. In a number of other papers,
Menger [1928b,1929b,1929a] gave related results on these new characterizations of
the length function.
The parameter (X) clearly is close to the practical interpretation of the trav-
eling salesman problem. This relation was made explicit by Menger in the session
Section 58.11b. Historical notes on the traveling salesman problem 999
Menger spent the period September 1930-February 1931 as visiting lecturer at Har-
vard University. In one of his seminar talks at Harvard, Menger presented his results
(quoted above) on lengths of arcs and shortest paths through finite sets of points.
According to Menger [1931b], a suggestion related to this was given by Hassler
Whitney, who at that time did his Ph.D. research in graph theory at Harvard. This
paper of Menger however does not mention if the practical interpretation was given
in the seminar talk.
The year after, 1931-1932, Whitney was a National Research Council Fellow
at Princeton University, where he gave a number of seminar talks. In a seminar
talk, he mentioned the problem of finding the shortest route along the 48 States of
America.
There are some uncertainties in this story. It is not sure if Whitney spoke about
the 48 States problem during his 1931-1932 seminar talks (which talks he did give),
or later, in 1934, as is said by Flood [1956] in his article on the traveling salesman
problem:
This problem was posed, in 1934, by Hassler Whitney in a seminar talk at Prince-
ton University.
That memory can be shaky might be indicated by the following two quotes. Dantzig,
Fulkerson, and Johnson [1954a] remark:
11 We denote by messenger problem (since in practice this question should be solved by
each postman, anyway also by many travelers) the task to find, for finitely many points
whose pairwise distances are known, the shortest route connecting the points. Of course,
this problem is solvable by finitely many trials. Rules which would push the number of
trials below the number of permutations of the given points, are not known. The rule
that one first should go from the starting point to the closest point, then to the point
closest to this, etc., in general does not yield the shortest route.
1000 Chapter 58. The traveling salesman problem
Both Flood and A.W. Tucker (Princeton University) recall that they heard about
the problem first in a seminar talk by Hassler Whitney at Princeton in 1934
(although Whitney, recently queried, does not seem to recall the problem).
Flood [1956] remembered that in 1937, A.W. Tucker pointed out to him the con-
nections of the TSP with Hamiltonian games and Hamiltonian paths in graphs:
I am indebted to A.W. Tucker for calling these connections to my attention, in
1937, when I was struggling with the problem in connection with a schoolbus
routing study in New Jersey.
In the following quote from the interview by Tucker [1984a], Flood referred to school
bus routing in a dierent state (West Virginia), and he mentioned the involvement
in the TSP of Koopmans, who spent 1940-1941 at the Local Government Surveys
Section of Princeton University (the Princeton Surveys):
Koopmans first became interested in the 48 States Problem of Hassler Whitney
when he was with me in the Princeton Surveys, as I tried to solve the problem
in connection with the work by Bob Singleton and me on school bus routing for
the State of West Virginia.
1940
In 1940, some papers appeared that study the traveling salesman problem, in a
dierent context. They seem to be the first containing mathematical results on the
problem.
In the American continuation of Mengers mathematisches Kolloquium, Menger
[1940] returned to the question of the shortest path through a given set of points in
a metric space, followed by investigations of Milgram [1940] on the shortest Jordan
Section 58.11b. Historical notes on the traveling salesman problem 1001
curve that covers a given, not necessarily finite, set of points in a metric space. As
the set may be infinite, a shortest curve need not exist.
Fejes [1940] investigated the problem of a shortest curve through n points in
the unit square.
In consequence of this, Verblunsky [1951] showed that its length is
less than 2 + 2.8n. Later work in this direction includes Few [1955], Beardwood,
Halton, and Hammersley [1959], Steele [1981], Moran [1984], Karlo [1989], and
Goddyn [1990].
Lower bounds on the expected value of a shortest path through n random points
in the plane were studied by Mahalanobis [1940] in order to estimate the cost of a
sample survey of the acreage under jute in Bengal. This survey took place in 1938
and one of the major costs in carrying out the survey was the transportation of men
and equipment from one survey point to the next. He estimated (without proof)
the minimum length of a tour along n random points in the plane, for Euclidean
distance:
It is also easy to see in a general way how the journey time is likely to behave.
Let us suppose that n sampling units are scattered at random within any given
area ; and let us assume that we may treat each such sample unit as a geometrical
point. We may also assume that arrangements will usually be made to move from
one sample point to another in such a way as to keep the total distance travelled
as small as possible ; that is, we may assume that the path traversed in going
from one sample point to another will follow a straight line. In this case it is
easy to see that the mathematical expectation of the total length
of
the path
travelled in moving from one sample point to another will be ( n 1/ n). The
costof the journey
from sample to sample will therefore be roughly proportional
to ( n 1/ n). When n is large, that is, when we consider a suciently large
area, we may expect that the time required for moving from sample to sample
will be roughly proportional to n, where n is the total number of samples in
the given area. If we consider the journey time per sq. mile, it will be roughly
proportional to y, where y is the density of number of sample units per sq. mile.
This research was continued by Jessen [1942], who estimated empirically a similar
result for l1 -distance (Manhattan distance), in a statistical investigation of a sample
survey for obtaining farm facts in Iowa:
If a route connecting y points located at random in a fixed area is minimized, the
total distance, D, of that route is12
y1
D=d
y
where d is a constant.
This relationship is based upon the assumption that points are connected by direct
routes. In Iowa the road system is a quite regular network of mile square mesh.
There are very few diagonal roads, therefore, routes between points resemble
those taken on a checkerboard. A test wherein several sets of dierent members
of points were located at random on an Iowa county road map, and the minimum
distance of travel from a given point on the border of the county through all the
points and to an end point (the county border nearest the last point on route),
revealed that
D=d y
works well. Here y is the number of randomized points (border points not in-
cluded). This is of great aid in setting up a cost function.
12 at this point, Jessen referred in a footnote to Mahalanobis [1940].
1002 Chapter 58. The traveling salesman problem
Marks [1948] gave a proof of Mahalanobis bound. In fact he showed that 12 A( n
1/ n) is a lower bound, where A is the area of the region. Ghosh [1949] showed
that this bound asymptotically is close to the expectedvalue, by giving a heuris-
tic for finding a tour, yielding an upper bound of 1.27 An. He also observed the
complexity of the problem:
After locating the n random points in a map of the region, it is very dicult to
find out actually the shortest path connecting the points, unless the number n is
very small, which is seldom the case for a large-scale survey.
As is the case for several other combinatorial optimization problems, the RAND
Corporation in Santa Monica, California, played an important role in the research
on the TSP. Homan and Wolfe [1985] write that
John Williams urged Flood in 1948 to popularize the TSP at the RAND Corpo-
ration, at least partly motivated by the purpose of creating intellectual challenges
for models outside the theory of games. In fact, a prize was oered for a significant
theorem bearing on the TSP. There is no doubt that the reputation and author-
ity of RAND, which quickly became the intellectual center of much of operations
research theory, amplified Floods advertizing.
(John D. Williams was head of the Mathematics Division of RAND at that time.)
At RAND, researchers considered the idea of transferring the successful methods
for the transportation problem to the traveling salesman problem. Flood [1956]
mentioned that this idea was brought to his attention by Koopmans in 1948. In the
interview with Tucker [1984a], Flood remembered:
George Dantzig and Tjallings Koopmans met with me in 1948 in Washington,
D.C., at the meeting of the International Statistical Institute, to tell me excitedly
of their work on what is now known as the linear programming problem and with
Tjallings speculating that there was a significant connection with the Traveling
Salesman Problem.
The issue was taken up in a RAND Report by Julia Robinson [1949], who, in
an unsuccessful attempt to solve the traveling salesman problem, considered, as a
relaxation, the assignment problem, for which she found a cycle reduction method.
The relation is that the assignment problem asks for an optimum permutation, and
the TSP for an optimum cyclic permutation.
Robinsons RAND report might be the earliest mathematical reference using
the term traveling salesman problem:
The purpose of this note is to give a method for solving a problem related to the
traveling salesman problem. One formulation is to find the shortest route for a
salesman starting from Washington, visiting all the state capitals and then return-
ing to Washington. More generally, to find the shortest closed curve containing n
given points in the plane.
Flood wrote (in a letter of 17 May 1983 to E.L. Lawler) that Robinsons report
stimulated several discussions on the TSP of him with his research assistant at
RAND, D.R. Fulkerson, during 1950-195213 .
It was noted by Beckmann and Koopmans [1952] that the TSP can be formu-
lated as a quadratic assignment problem, for which however no fast methods are
known.
13 Fulkerson started at RAND only in March 1951.
Section 58.11b. Historical notes on the traveling salesman problem 1003
In 1962, the soap company Proctor and Gamble run a contest, requiring to
solve a traveling salesman problem along 33 U.S. cities. Little, Murty, Sweeney,
and Karel [1963] report:
The traveling salesman problem recently achieved national prominence when a
soap company used it as the basis of a promotional contest. Prizes up to $10,000
were oered for identifying the most correct links in a particular 33-city prob-
lem. Quite a few people found the best tour. (The tie-breaking contest for these
successful mathematicians was to complete a statement of 25 words or less on I
like...because....) A number of people, perhaps a little over-educated, wrote the
company that the problem was impossiblean interesting misinterpretation of
the state of the art.
Chapter 59
Matching forests
59.1. Introduction
A mixed graph is a triple (V, E, A), where (V, E) is an undirected graph and
(V, A) is a directed graph. In this chapter, a graph can have multiple edges,
but no loops. The underlying undirected graph of a mixed graph is the undi-
rected graph obtained from the mixed graph by forgetting the orientations
of the directed edges.
As usual, if an edge e is directed from u to v, then u is called the tail and
v the head of e. In this chapter, if e is undirected and connects u and v, then
both u and v will be called head of e.
A subset F of E A is called a matching forest if F contains no circuits
(in the underlying undirected graph) and any vertex v is head of at most one
edge in F . We call a vertex v a root of F if v is head of no edge in F . We
denote the set of roots of F by R(F ).
It is convenient to consider the relations of matching forests with match-
ings in undirected graphs and branchings in directed graphs: M is a matching
in an undirected graph (V, E) if and only if M is a matching forest in the
mixed graph (V, E, ). In this case, the roots of M are the vertices not covered
by M . Similarly, B is a branching in a directed graph (V, A) if and only if B
1006 Chapter 59. Matching forests
is a matching forest in the mixed graph (V, , A). In this case, the concept of
root of a branching and root of a matching forest coincide.
In turn, we can characterize matching forests in terms of matchings and
branchings: for any mixed graph (V, E, A), a subset F of E A is a matching
forest if and only if F A is a branching in (V, A) and F E is a matching
in (V, E) such that F E only covers roots of F A.
It will be useful to observe the following formulas, for any matching forest
F in a mixed graph (V, E, A), setting M := F E and B := F A:
(59.1) R(F ) = R(M ) R(B) and V = R(M ) R(B).
In fact, for any matching M in (V, E) and any branching B in (V, A), the set
M B is a matching forest if and only if R(M ) R(B) = V .
Theorem 59.1. Let (V, E, A) be a mixed graph and let K be the collection of
those strong components K of the directed graph (V, A) that satisfy din
A (K) =
0. Consider the undirected graph H with vertex set K, where two distinct
K, L K are adjacent if and only if there is an edge in E connecting K and
L. Then the maximum size of a matching forest in (V, E, A) is equal to
(59.2) (H) + |V | |K|.
Here (H) denotes the maximum size of a matching in H.
The method described in this proof also directly implies that a maximum-
size matching forest can be found in polynomial time (Giles [1982a]).
a
e f
b
Figure 59.1
{e, f } and {e, a, b} are perfect matching forests.
Theorem 59.2. Let (V, E, A) be a mixed graph and let K be the collection of
strong components K of (V, A) with din A (K) = 0. Then (V, E, A) has a perfect
matching forest if and
only if for each U V and L K the graph (V,
E)U
has at most |U | + L |L| odd components that are contained in L.
Lemma 59.3. Let F1 and F2 be matching forests in a mixed graph (V, E, A).
Let s R(F2 ) \ R(F1 ). Then there exist matching forests F1 and F2 such that
F1 F2 = F1 F2 , F1 F2 = F1 F2 , s R(F1 ), and
(59.6) (i) |F1 | < |F1 |,
or (ii) |F1 | = |F1 | and |R(F1 )| > |R(F1 )|,
or (iii) |F1 | = |F1 |, R(F1 ) = (R(F1 ) \ {t}) {s} for some
t R(F1 ), and |R(F1 A) K| = |R(F1 A) K| for
each strong component K of the directed graph (V, A).
Then (59.17) implies that |R(F2 ) V P | > |R(F1 ) V P |. This implies with
(59.15) that |F1 | = |F1 | (as |M1 EP | = |M2 EP | + 1), and with (59.13)
that |R(F1 )| > |R(F1 )|. So (59.6)(ii) holds, a contradiction.
So k is even, and hence |M1 EP | = |M2 EP |, which implies with
(59.13), (59.15), and (59.17) that |R(F1 )| = |R(F2 )| and t R(F1 ) \ R(F2 ).
Therefore, |F1 | = |F1 | (by (59.16)) and R(F1 ) = (R(F1 ) \ {t}) {s}.
Finally, |R(B1 ) K| = |R(B1 ) K| for each strong component K of D.
This follows directly (with (59.11)) from the fact that for any v K V P
one has either K = {v} (if |K| = 1) or v eK (if |K| 2). For suppose
that v V P is incident with no eK N . We show that v R(B1 ) R(B2 ),
implying {v} K. If v is an intermediate vertex of P , then v is covered
by M1 and M2 and hence v belongs to R(B1 ) and R(B2 ). If v = s, then
v R(F2 ) (so v R(B2 )) and v is covered by M1 , so v R(B1 ). If v = t,
then v R(F1 ) (so v R(B1 )) and v is covered by M2 , so v R(B2 ).
as required.
Each integer solution x of (59.18) is the incidence vector of a matching
forest. Indeed, as x is a 0, 1 vector by (i) and (ii), we know that x = F
for some F E A. By (ii), each vertex is head of at most one edge in F .
Hence, if F would contain a circuit (in the underlying undirected graph), it
is a directed circuit C. But then for L := {V C}, condition (iii) is violated.
So F is a matching forest.
We show that system (59.18) is totally dual integral. This implies that
it determines an integer polytope, which therefore is the matching forest
polytope.
The proof method is a generalization of the method in Section 25.3a
for proving the Cunningham-Marsh formula, stating that the matching con-
straints are totally dual integral.
The total dual integrality of (59.18) is equivalent to the following. For
any weight function w : E A Z, let w denote the maximum weight of a
matching forest. Call a matching forest F w-maximal if w(F ) = w . Let be
the set of subpartitions L of V with |L| odd and with all classes nonempty.
Then the total dual integrality of (59.18) is equivalent to: for each weight
function w : E A Z, there exist y : V Z+ and z : Z+ satisfying
(59.21) yv + z(L) L 21 |L| w
vV L
and
head
(59.22) yv (v)
+ z(L)(L) w.
vV L
Theorem 59.3. For each mixed graph (V, E, A), system (59.18) is totally
dual integral.
Proof. We must prove that for each mixed graph (V, E, A) and each function
w : E A Z, there exist y, z satisfying (59.21) and (59.22).
In proving this, we can assume that w is nonnegative. For suppose that
w has negative entries, and let w be obtained from w by setting all negative
entries to 0. As w = w and w w, any y, z satisfying (59.21) and (59.22)
with respect to w , also satisfy (59.21) and (59.22) with respect to w.
Suppose that the theorem is not true. Choose
a counterexample (V, E, A)
and w : E A Z+ with |V | + |E A| + eEA w(e) as small as possible.
Then the underlying undirected graph of (V, E, A) is connected, since oth-
erwise one of the components will form a smaller counterexample. Moreover,
w(e) 1 for each edge e, since otherwise we can delete e to obtain a smaller
counterexample.
Next:
Section 59.5. The matching forest polytope 1013
Corollary 59.3a. For each mixed graph (V, E, A), the matching forest poly-
tope is determined by (59.18).
Proof. By Theorems 59.3 and 5.22, the vertices of the polytope determined
by (59.18) are integer. Since the integer solutions of (59.18) are the incidence
vectors of matching forests, this proves the corollary.
Theorem 59.4. Let G = (V, E, A) be a partitionable mixed graph. Then the max-
imum size of a matching forest in G is equal to the minimum size of |V | |L|,
where L is a collection of strong components K of the directed graph D = (V, A)
with din
D (K) = 0 such that no edge in E connects two components in L.
Here head (v) is the set of edges and arcs having v as head.
The case A = is K
onigs edge-colouring theorem (Theorem 20.1).
An equivalent, polyhedral way of formulating Theorem 59.6 is:
The facets of the matching forest polytope are characterized in Giles [1982c].
Matching forests form a special case of matroid matching. Let G = (V, E, A) be
a mixed graph. Consider the space RV RV . Associate with any undirected edge
e = uv E, the pair (u , 0), (v , 0) of vectors in RV RV . Associate with any
directed arc a = (u, v) A, the pair (v , 0), (0, u v ) of vectors in RV RV .
One easily checks that M E A is a matching forest if and only if its associated
pairs form a matroid matching. Thus matroid matching theory implies a min-max
relation and a polynomial-time algorithm for the maximum size of a matching
forest. However, as we saw in Section 59.2, there is an easy direct method for this.
Chapter 60
Submodular functions on
directed graphs
Note that the proof also yields that the solution y in (60.3) can be taken
such that the collection {U C | y(U ) > 0} is cross free.
Box-TDI implies primal integrality (a polyhedron P is box-integer if P
{x | d x c} is integer for all integer vectors d, c):
Now define C2 := {{u, v} | (u, v) A} and f2 ({u, v}) := 0, w(v) := l(u, v),
and w(u) := 0, for each (u, v) A. Then the problem is equivalent to finding
a vector x in EPf EPf2 with x(V ) = 0 and minimizing wT x. This can be
solved in strongly polynomial time by Theorem 49.9.
(Frank [1982b] gave a strongly polynomial-time algorithm for the special
case if f is integer, c = 1, and d = 0.)
A similar reduction of submodular flows to polymatroid intersection was
given by Kovalev and Pisaruk [1984].
60.1a. Applications
Network flows. If we take C := {{v} | v V } and f = 0, then (60.2) determines
circulations, and Theorem 60.1 passes into a theorem on minimum-cost circulations.
It may be specialized easily to several other results on flows in networks, e.g., to
the max-flow min-cut theorem (Theorem 10.3; take d = 0, c 0, and w(a) = 0 for
a= (s, r) and w((s, r)) = 1) and to Homans circulation theorem (Theorem 11.2).
So C consists of all sets U such that the collection of arcs entering U forms a directed
cut. Taking f := 1, c := 0, d := , and w := 1, Theorem 60.1 passes into the
Lucchesi-Younger theorem (Theorem 55.2, cf. Corollary 55.2b): the minimum size
of a directed cut cover is equal to the maximum number of disjoint directed cuts.
For arbitrary w we obtain a weighted version.
Frank and Tardos [1989] showed that also Theorem 44.7 (a generalization of Lov
asz
[1970a] of Konigs matching theorem) fits into the Edmonds-Giles model. For ap-
plications of the Edmonds-Giles theorem to graph orientation, see Chapter 61.
60.2. A variant
We now give a theorem similar to Theorem 60.1, which includes as special
cases again the Lucchesi-Younger theorem and the polymatroid intersection
theorem, and moreover theorems on optimum arborescences, bibranchings,
and strong connectors.
For any digraph D = (V, A) and any family C of subsets of V , define the
C A matrix M by
1 if a enters U ,
(60.12) MU,a :=
0 otherwise,
for U C and a A.
This matrix is totally unimodular if C is cross-free and the following con-
dition holds:
(60.13) if X, Y, Z C with X V \ Y Z, then no arc of D enters both
X and Z.
1022 Chapter 60. Submodular functions on directed graphs
Proof. Let w RA and let y achieve the maximum in the dual of minimizing
wT x over (60.15):
in
(60.16) max{ y(U )g(U ) | y RC+ , y(U ) (U ) w},
U C U C
Note that the proof yields that (60.16) has a solution y with {U C |
y(U ) > 0} cross-free. Condition (60.13) cannot be deleted, as is shown by
Figure 60.1.
Figure 60.1
A collection and a digraph showing that condition (60.13) can-
not be deleted in Theorem 60.3. In this Venn-diagram, the collec-
tion is represented by the interiors of the ellipses and by the exteriors
of the rectangles.
Proof. As before.
Notes. Johnson [1975a] proved Theorem 60.3 for the special case that C is the
collection of all nonempty subsets of V \ {r} (where r is a fixed element of V ), and
Frank [1979b] extended this result to the case where C is any intersecting family of
subsets of V \ {r}. Note that in this case condition (60.13) is trivially satisfied.
60.2a. Applications
We list some applications of Theorem 60.3, which may be compared with the ap-
plications of the Edmonds-Giles theorem (Section 60.1a).
In a series of papers, Homan [1976a,1978] and Homan and Schwartz [1978] de-
veloped a theory of lattice polyhedra, which extends results of Johnson [1975a].
This theory has much in common with the theories described above.
Let (L, ) be a partially ordered set and let : L L L be a function such
that
(60.20) for all a, b L: a b a and a b b.
Let S be a finite set and let : L P(S) be such that
(60.21) if a < b < c, then (a) (c) (b)
for a, b, c in L. Let : L L L and let f : L R+ satisfy:
(60.22) f (a b) + f (a b) f (a) + f (b)
for all a, b in L. So f is, in a sense, submodular.
Define
(60.23) S := {u S | a, b L : (ab) (u) + (ab) (u) (a) (u) +
(b) (u)} and
S := {u S | a, b L : (ab) (u) + (ab) (u) (a) (u) +
(b) (u)}.
The polyhedron determined by:
(60.24) xu 0 (u S \ S ),
xu 0 (u S \ S ),
x((a)) f (a) (a L).
is called a lattice polyhedron. Homan and Schwartz [1978] showed that system
(60.24) is box-totally dual integral.
Proof. Choose w RS T
+ . Consider the dual of maximizing w x over (60.24):
(60.25) min{y T f | y RL +, ya (a) w(u) if u S and ya (a)
aL aL
w(u) if u S }.
Order the elements of L as a1 , . . . , an such that if ai aj , then i j. Let y attain
(60.25), such that y(L) is minimal, and, under this condition, such that
(60.26) (y(a1 ), . . . , y(an ))
is lexicographically maximal.
Then the collection C := {a L | ya > 0} is a chain in L. For suppose to
the contrary that a, b C with a b a. Let := min{ya , yb }. Reset y by
decreasing ya and yb by , and increasing y(a b) and y(a b) by . One easily
checks, using (60.22) and (60.23), that the new y again attains the minimum (60.25),
1026 Chapter 60. Submodular functions on directed graphs
Matroid intersection (Homan [1976a]). Let (S, I) and (S, I2 ) be matroids, with
rank functions r1 and r2 and assume r1 (S) = r2 (S). Let S and S be two disjoint
copies of S and let V := S S . Let L := {U V | U S or S U }. Let :=,
:= , := . Define for T S:
(60.27) f (T ) := r1 (T ), (T ) := T ,
f (V \ T ) := r2 (T ), (V \ T ) := T.
As these data satisfy (60.20), (60.21), and (60.22), Theorem 60.4 yields the matroid
intersection theorem. Polymatroid intersection can be included similarly.
Also the dual result (exchanging chain and antichain) due to Greene and
Kleitman [1976] (Corollary 14.8b) can be derived. Let L, , , be as above and
let S := V {w}, where w is some new element. For Y L, let (Y ) be the
collection of maximal elements of Y together with w and let f (Y ) := |(Y )|.
These data again satisfy (60.20) and (60.21), and S = S = S.
Then Theorem 60.4 gives the box-total dual integrality of the system
(60.30) x(A) + |A| for each antichain A,
and hence of the system
(60.31) x(A) + |A| for each antichain A.
Then the maximum union of k antichains is equal to
(60.32) max{ yA |A| y ZA
+, yA A 1, yA = k}
AA AA AA
= min{x(V ) + k | x ZV+ , Z, x(A) + |A| for each A A}
min (|V \ Y | + k(maximum size of an antichain contained in Y )).
Y V
The equality follows from the box-total dual integrality of (60.31). The inequality
follows by taking Y := {v V | xv = 0}. Then is at least the maximum size of
an antichain contained in Y , since for any antichain A Y : = x(A) + |A|.
Common base vectors in two polymatroids (Gr oflin and Homan [1981]). Let
f1 and f2 be submodular set functions on S. The polymatroid intersection theorem
gives:
(60.33) f (T ) := max{x(T ) | x(U ) fi (U ) for U S and i = 1, 2}
= min (f1 (U ) + f2 (T \ U )),
U T
for T S. Gr oflin and Homan [1981] showed that Theorem 46.4 follows from
Theorem 60.4 above as follows. (The proof of Theorem 46.4 was modelled after the
proof of Theorem 60.4.)
Let L be the set of all pairs (T, U ) of subsets of S with T U = , partially
ordered by as follows:
(60.34) (T, U ) (T , U ) and only if T T and U U .
Then (L, ) is a lattice with lattice operations and (say). Define (T, U ) :=
|S \ (T U )| and f (T, U ) := f1 (T ) + f2 (U ) f (S). As these data satisfy (60.20),
(60.21), and (60.22), Theorem 60.4 applies. We have S = S = S. Hence the
system
(60.35) x(S \ (T U )) f1 (T ) + f2 (U ) f (S) for (T, U ) L
is box-TDI. With the definition of f , this implies the box-total dual integrality of
(60.36) x(T ) f (S \ T ) f (S) for T S,
and (equivalently) of
(60.37) x(T ) f (S) f (S \ T ) for T S.
1028 Chapter 60. Submodular functions on directed graphs
Convex sets in partially ordered sets (Gr oflin [1984]). Let (S, ) be a partially
ordered set. A subset C of S is called convex if a, b C and a x b imply x C.
Then the system
(60.38) x(C) 1 for each convex subset C of S,
is box-TDI. Note that this system describes the polar of the convex hull of the
incidence vectors of convex sets.
To see the box-total dual integrality of (60.38), define
(60.39) L := {(A, B) | A lower ideal and B upper ideal in S with A B = S}.
(An upper ideal is a subset B such that if b B and x b, then x B. Similarly,
a lower ideal is a subset B such that if b B and x b, then x B.) Make L to a
lattice by defining a partial order on L by:
(60.40) (A, B) (A , B ) A A , B B .
Define f : L R and : L P(S) by: f (A, B) := 1 and (A, B) := A B,
for (A, B) L. Applied to this structure, Theorem 60.4 gives the box-total dual
integrality of (60.38).
(Greedy algorithms for some lattice polyhedra problems were investigated by
Kornblum [1978].)
An extension of lattice polyhedra, to handle rooted-connectivity augmentation
of a digraph, was given by Frank [1999b].
Hassin [1978,1982] and Lawler and Martel [1982a,1982b] gave the following poly-
matroidal network flow model equivalent to that of Edmonds and Giles. Let
D = (V, A) be a digraph. For each v V , let Cvout and Cvin be intersecting fam-
ilies of subsets of out (v) and in (v), respectively, and let fvout : Cvout R and
fvin : Cvin R be submodular on intersecting pairs. Then the system
(60.41) x( out (v)) = x( in (v)) for v V ,
x(B) fvin (B) for each v V and B Cvin ,
x(B) fvout (B) for each v V and B Cvout ,
is box-TDI. Frank [1982b] showed that this can be derived from the Edmonds-
Giles theorem (Theorem 60.1) as follows. Make a digraph D = (V , A ), where A
consists of disjoint arcs a := (ua , va ) for each a A. Let C consist of all subsets U
of V such that there exists a v V satisfying:
(60.42) U = {va | a in (v)} {ua | a out (v)},
or B Cvin : U = {va | a B},
or B Cvout : U = V \ {ua | a B}.
Define f (U ) := 0, f (U ) := fvin (B), and f (U ) := fvin (B), respectively. Then the
box-total dual integrality of (60.41) is equivalent to that of
in out
(60.43) x(A (U )) x(A (U )) f (U ) for U C,
Section 60.3c. A general model 1029
there is a U C satisfying
(60.45) B = {(v, r) | v U }.
Define frin (B) := f(U ). Then
out in
(60.46) x(A (v)) = x(A (v)) for v V ,
in
x(A (r)) = 0,
x(B) frin (B) for B Crin ,
is a special case of (60.41). Moreover, the box-total dual integrality of (60.46) implies
the box-total dual integrality of
in
(60.47) x(A (U )) x( out (U )) f (U ) for U C,
since in (60.46) we can restrict B to those B for which there exists a U C with
in
B = {(v, r) | v U } (since x(A (r)) = 0). Then
in out in out
(60.48) x(B) = x(A (v)) x(A (v)) = x(A (U )) x(A (U )).
vU
In Schrijver [1984a] the following general framework was given. Let S be a finite
set, let n Z+ , let C be a collection of subsets of S, let b, c (R {})n , and
let f : C R and h : C {0, 1}n satisfy:
(60.49) (i) if {T1 , T2 , T3 } is a cross-free subcollection of C, then for each j =
1, . . . , n, there exist u, v S such that for i = 1, 2, 3: h(Ti )j = +1
if and only if (u, v) enters Ti , and h(Ti )j = 1 if and only if (u, v)
leaves Ti ;
(ii) if T and U are crossing sets in C, then there exist T , U C such
that T T and
(60.50) b x c,
h(T )x f (T ) for T C,
is box-TDI. This contains the Edmonds-Giles theorem (Theorem 60.1) and Theo-
rems 60.3 and 60.4 as special cases.
A proof of the box-total dual integrality of (60.50) can be sketched as follows.
If we maximize a linear functional wT x over (60.50), condition (60.49)(ii) implies
that there exists an optimum dual solution whose active constraints correspond to
a cross-free subfamily of C. Next, condition (60.49)(i) implies that these constraints
form a network matrix, hence a totally unimodular matrix, proving the box-total
dual integrality of (60.50) with Theorem 5.35.
Proof. Let (g) and (g) denote the minimum and maximum value, respectively.
Then (g) (g), since, if x : A Z+ satisfies (60.53) and B is as described,
then
(60.54) x(A) x( in (U )) g(U ).
U B U B
Then
Section 60.3d. Packing cuts and Gy
oris theorem 1031
(by Theorem 2.1). So after a finite number of these operations, w satisfies (60.60)
and all U, U with w(U ) > 0 and w(U ) > 0 satisfy (60.61).
Let F be the collection of U V with w(U ) > 0. We apply the length-width
inequality for partially ordered sets (Theorem 14.5) to (F , ). By (60.60)(i), the
maximum of w(C) taken over chains in F is at most | in (W )|, since by (60.52), there
is an arc a A entering all U C (as in (U ) = , since g(U ) 1, for each U F ).
Moreover, the maximum of g(B) taken over antichains B in F is at most (g), since
the elements in F satisfy (60.61), and therefore B gives a collection of disjoint cuts.
But then (60.60)(ii) contradicts the length-width inequality. This proves (60.59).
We now can apply induction, since trivially (g) (g a ) + 1, as increasing xa
by 1 for any x satisfying (60.53) with respect to g a , gives an x satisfying (60.53)
with respect to g. So (g) (g a ) + 1 = (g a ) + 1 (g).
Moreover, if z : S T R, denote
(60.65) z(X Y ) := z(x, y)
(x,y)XY
for X S and Y T .
Proof. We can assume that S and T are disjoint. Let V := S T , and define a set
function g on V by:
(60.67) g(U ) := h(S \ U, T U )
for U V . Let D = (V, A) be the digraph with A consisting of all arcs from S to
T . Then D and g satisfy the condition of Theorem 60.5, and the min-max equality
proved in Theorem 60.5 is equivalent to the min-max equality described in the
present corollary.
Frank and Jord an showed that this theorem implies the following minimax
theorem for intervals of Gy ori [1984]. Let I and J be collections of sets. Then
J is said to generate I if each set in I is a union of sets in J . Gy oris theorem
characterizes the minimum size of a collection of intervals generating a given finite
collection I of intervals. For this, we can take an interval to be a finite, contiguous
set of integers.
To describe the min-max equality, consider the undirected graph GI = (VI , EI )
with
(60.68) VI := {(s, I) | s I I},
where two distinct pairs (s, I) and (s , I ) are adjacent if and only if s I and
s I. Call a subset C of VI stable if any two elements of C are nonadjacent (in
other words, C is a stable set in GI ).
Corollary 60.5b (Gy oris theorem). Let I be a finite collection of intervals. Then
the minimum size of a collection of intervals generating I is equal to the maximum
size of a stable subset of VI .
Section 60.3d. Packing cuts and Gy
oris theorem 1033
Proof. To see that the minimum is not less than the maximum, observe that if J
generates I and C is a stable subset of VI , then for any J J , there is at most
one (s, I) C with s J I, while for any (s, I) C there is at least one such
J J . So |J | |C|.
Equality is shown with Corollary 60.5a. Let S be the union of the intervals in
I. Define a function h : P(S) P(S) {0, 1} by
(60.69) h(X, Y ) = 1 if and only if X and Y are nonempty intervals such that
max X = min Y and X Y I, and such that there is no I I with
X Y I X Y,
for X, Y S. (Here max Z and min Z denote the maximum and minimum element
of Z, respectively.)
Then h satisfies (60.63). To see this, note first that each (X, Y ) with h(X, Y ) = 1
is characterized by a point s S and an inclusionwise minimal interval I I
containing s (inclusionwise minimal among all intervals in I containing s). The
relation is that {s} = X Y and I = X Y .
To see that h satisfies (60.63), let h(X1 , Y1 ) = 1 and h(X2 , Y2 ) = 1 and X1
X2 = and Y1 Y2 = . We show h(X1 X2 , Y1 Y2 ) = 1 (then h(X1 X2 , Y1 Y2 ) =
1 follows by symmetry).
In fact, this is straightforward case-checking. Let Xi = [ai , bi ], Yi = [bi , ci ], and
Ii := Xi Yi for i = 1, 2. As X1 I2 = = Y1 I2 , we know that b1 [a2 , c2 ],
and similarly b2 [a1 , c1 ]. By symmetry, we can assume that a1 a2 . Hence, by
the minimality of X1 Y1 as an interval containing b1 , c1 c2 . Now, if b2 b1 ,
we have X1 X2 = [a2 , b2 ] = X2 and Y1 Y2 = [b2 , c2 ] = Y2 , and therefore
h(X1 X2 , Y1 Y2 ) = h(X2 , Y2 ) = 1. If b1 < b2 , then X1 X2 = [a2 , b1 ] and
Y1 Y2 = [b1 , c2 ]. Suppose that there is an I I with b1 I [a2 , c2 ]. By the
minimality of [a2 , c2 ] as an interval containing b2 , we know b2 I. Hence I [a1 , c1 ],
contradicting the minimality of [a1 , c1 ] as an interval containing b1 . Therefore, no
such I exists, and hence we have h(X1 X2 , Y1 Y2 ) = 1.
So Corollary 60.5a applies (taking T := S). Let z and F attain the minimum
and maximum respectively. Let J be the collection of intervals [s, t] with z(s, t) 1
and s t. Let C be the collection of pairs (s, I) with s S and I I such that
there is an (X, Y ) F with h(X, Y ) = 1, X Y = {s}, and X Y = I. Then J
generates I, since z(X Y ) h(X, Y ) for all X, Y . Moreover, C is stable as F is
independent. Finally, |J | z(S S) = h(F ) = |C|.
integer weights w(s, I) on any pair (s, I), the maximum weight of a stable set need
not be equal to the minimum size of a family J of intervals such that for any (s, I)
there are at least w(s, I) intervals J in J satisfying s J I. (In other words, GI
need not be perfect.)
However, as Lubiw showed, these two optima are equal if w(s, I) only depends
on s; that is, if w(s, I) = w(s) for some w : S Z+ . Also this can be derived from
Frank and Jord ans theorem: instead of defining h(X, Y ) := 1 in (60.69), define
h(X, Y ) := w(s) where {s} = X Y .
As Frank and Jord an observed, their method extends Gy oris theorem to the
case where we take interval to mean: interval on the circle (instead of just the real
line).
Other applications of Theorem 60.5 are to vertex-connectivity augmentation
see Theorem 63.11.
For another model equivalent to that of Edmonds and Giles, based on distributive
lattices, see Gr
oflin and Homan [1982] cf. Schrijver [1984b]. Grishuhin [1981]
gave a lattice model requiring total unimodularity as a condition.
Further algorithms for minimum-cost submodular flow were given by Fujishige
[1978a,1987], Zimmermann [1982b,1992], Barahona and Cunningham [1984], Cui
and Fujishige [1988], Chung and Tcha [1991], Gabow [1993a], McCormick and Er-
volina [1993], Iwata, McCormick, and Shigeno [1998,1999,2000,2002], Wallacher and
Zimmermann [1999], Fleischer and Iwata [2000], and Fleischer, Iwata, and Mc-
Cormick [2002]. A survey on algorithms for submodular flows was presented by
Fujishige and Iwata [2000].
Zimmermann [1982a,1982b,1985] considered group-valued extensions of some
of the models. Federgruen and Groenevelt [1988] extended some models to more
general objective functions. Zimmermann [1986] considered duality for balanced
submodular flows. Qi [1988a] and Murota [1999] gave generalizations of submodular
flows. Convex-cost submodular flows were considered by Iwata [1996,1997].
An algorithm for a model comprising the Edmonds-Giles and the lattice poly-
hedron model (Section 60.3a) was given by Karzanov [1983]. For 0,1 problems it is
polynomial-time.
The eectivity of uncrossing techniques is studied by Hurkens, Lov
asz, Schrijver,
and Tardos [1988] and Karzanov [1996].
The facets of submodular flow polyhedra were studied by Giles [1975].
For a comparison of models, see Schrijver [1984b], and for a survey, including
results on the dimension of faces of submodular flow polyhedra, see Frank and
Tardos [1988]. A survey of submodular functions and flows is given by Murota
[2002].
Chapter 61
Graph orientation
Proof. For each v V , define l(v) := deg(v) u(v). (We may assume that,
for each v V , u(v) deg(v), since otherwise resetting u(v) := deg(v) does
not change the conditions in the theorem.)
Now G has an orientation with degin (v) u(v) for each v if and only if
G has an orientation with degin (v) l(v) for each v (just by reversing the
orientation of all edges). By Theorem 61.1, the latter is equivalent to: each
U V is incident with at least l(U ) edges; that is: E[U ]| + |E (U )| l(U ).
Since
(61.1) l(U ) = (deg(v) u(v)) = 2|E[U ]| + |E (U )| u(U ),
vU
since reversing the orientation of the arcs a with x(a) = 1 then gives an
orientation as required. Condition (61.2) is equivalent to:
(61.3) degin in out in
A (v) u(v) x(A (v)) x(A (v)) degA (v) l(v).
Ford and Fulkerson [1962] observed that the undirected edges of a mixed
graph (V, E, A) can be oriented so as to obtain an Eulerian directed graph if
and only if
(61.5) (i) degE (v) + degin out
A (v) + degA (v) is even for each v V ,
(ii) dout in
A (U ) dA (U ) dE (U ) for each U V .
(The proof by Robbins [1939] uses the fact that each 2-edge-connected graph
has an ear-decomposition cf. Section 15.5a.)
The above proof also shows that a strongly connected orientation can be
found in linear time:
The graph K2,3 shows that a 2-edge-connected graph need not have an
orientation in which each two vertices belong to a directed circuit; that is
an orientation such that for each two vertices s, t there exists an arc-disjoint
pair of an s t and a t s path.
Chung, Garey, and Tarjan [1985] gave a linear-time algorithm to find an
orientation as described in Theorem 61.4.
Proof. It is easy to see that condition (61.6) is necessary. To see suciency, let
(61.6) hold. Let D = (V, A) be a strongly connected orientation of G with
Section 61.2a. Strongly connected orientations with bounds on degrees 1039
(61.7) max{0, degin in
A (v) u(v), l(v) degA (v)}
vV
For any undirected graph G = (V, E) and s, t V , let G (s, t) denote the
maximum number of edge-disjoint st paths in G. Similarly, for any directed
graph D = (V, A) and s, t V , let D (s, t) denote the maximum number of
arc-disjoint s t paths in D.
Proof. Call a partition of a set T into pairs, a pairing of T . For any number
k, define
(61.15) k := 2 21 k.
For any subset U of V , define
15 Set X splits set Y if both Y X and Y \ X are nonempty.
Section 61.3. Nash-Williams orientation theorem 1041
Let A be the restriction of A to the original edges of G and let D = (V, A).
We claim that D is an orientation of G as required. Indeed, by (61.17), for
each U V ,
(61.20) dout out 1
D (U ) dD (U ) dP (U ) = 2 dG (U ) dP (U )
1 1
= 2 (dG (U ) dP (U )) 2 r(U ).
Hence, for any u, v V , if U V with u U , v U , and D (u, v) = dout
D (U ),
then
(61.21) D (u, v) = dout 1 1
D (U ) 2 r(U ) 2 G (u, v).
setting rY (U ) := 0 if Y U = or Y U .
By Lemma 61.6, for any U, W V ,
(61.23) rY (U ) + rY (W ) rY (U W ) + rY (U W )
or rY (U ) + rY (W ) rY (U \ W ) + rY (W \ U ) .
This follows from Lemma 61.6 by taking (u, v) := G (u, v) if u, v Y
and (u, v) := 0 otherwise.
Suppose that there exist graphs G for which T has no pairing P satisfying
(61.17). Choose G with |V | + |E| minimal.
Choose Y V such that T has no pairing P satisfying
(61.24) dG (U ) dP (U ) rY (U ) for each U V ,
with |Y | as small as possible. Then
(61.25) For any subset X of V splitting Y and satisfying dG (X) =
rY (X) , one has |X| = 1 or |X| = |V | 1.
1042 Chapter 61. Graph orientation
For suppose 1 < |X| < |V | 1. Consider the graph G1 = (V1 , E1 ) obtained
from G by contracting V \X to one vertex, v1 say. Let T1 be the set of vertices
of odd degree of G1 . By the minimality of |V | + |E|, T1 has a pairing P1 such
that for each subset U of X:
(61.26) dG1 (U ) dP1 (U ) r(U ) .
(Note that r(U ) maxuU,vV \U G1 (u, v).)
Similarly, consider the graph G2 = (V2 , E2 ) obtained from G by contract-
ing X to one vertex, v2 say. Let T2 be the set of vertices of odd degree of G2 .
Again by the minimality of |V | + |E|, T2 has a pairing P2 such that for each
subset U of V \ X and for each u U , v V2 \ U :
(61.27) dG2 (U ) dP2 (U ) r(U ) .
Now define a pairing P of T as follows. (Observe that v1 T1 if and only
if v2 T2 .) If v1 T1 and v2 T2 , let P := P1 P2 . If v1 T1 and v2 T2 ,
let u1 X and u2 V \ X be such that u1 v1 P1 and u2 v2 P2 . Then
define
(61.28) P := (P1 \ {u1 v1 }) (P2 \ {u2 v2 }) {u1 u2 }.
We claim that P satisfies (61.24). To show this, we may assume by (61.23)
that rY (U X) + rY (U X) rY (U \ X) + rY (X \ U ) . (Otherwise,
replace U by V \ U .)
Set U1 := U X and U2 := V \ (U X). Then
(61.29) dG (U ) + dG (X) dG (U1 ) + dG (U2 ) = dG1 (U1 ) + dG2 (U2 )
r(U1 ) +dP1 (U1 )+r(U2 ) +dP2 (U2 ) rY (U ) +rY (X) +dP (U )
rY (U ) + dG (X) + dP (U ) 1,
using (61.26) and (61.27). As dG (U ) + dP (U ) is even, (61.24) follows. This
contradicts our assumption, showing (61.25).
We next show that
(61.30) each edge of G intersects Y .
For assume that G has an edge e = st disjoint from Y . By (61.25), there is
no U splitting Y with dG (U ) = rY (U ) and s U , t U . So deleting edge
e, changes no rY (U ) . Let G be the graph obtained from G by deleting e.
Let T be the set of vertices of G of odd degree. (So T = T {s, t}.) Then,
by the minimality of |V | + |E|, we know that T has a pairing P such that,
for each U V ,
(61.31) dG (U ) dP (U ) r(U ) rY (U ) .
It is not dicult to transform pairing P of T to a pairing P of T with the
property that |P \ P | 1.16 Then (61.24) holds. Indeed, dG (U ) dG (U )
16 If s, t T and st P , define P := P \ {st}. If s, t T and st P , let s and t be
such that ss P and tt P , and define P := (P \ {ss , tt }) {s t }. If s T and
t T , let s be such that ss P , and define P := (P \ {ss }) {ts }. If s T and
t T , let t be such that tt P , and define P := (P \ {tt }) {st }. If s T and
t T , define P := P {st}.
Section 61.3. Nash-Williams orientation theorem 1043
(This is the original proof of Nash-Williams [1960]. Mader [1978a] and Frank
[1993a] gave alternative proofs.)
An orientation satisfying the condition described in Theorem 61.6 is called
well-balanced. Nash-Williams [1969] (giving an introduction to the proof
1044 Chapter 61. Graph orientation
above) remarks that with methods similar to those used in the proof of The-
orem 61.6, one can prove that for any graph G and any subgraph H of G,
there is a well-balanced orientation of G such that the restriction to H is
well-balanced again.
A direct proof of this corollary, based on total dual integrality, was given
by Frank [1980b] and Frank and Tardos [1984b], and is as follows.
Orient the edges of G arbitrarily, yielding the directed graph D = (V, A).
Consider the system
(61.36) (i) 0 xa 1 for each a A,
(ii) x( in (U )) x( out (U )) din (U ) k for each nonempty
U V.
By the Edmonds-Giles theorem (Theorem 60.1), this system is TDI, and
hence determines an integer polytope P . If G is 2k-edge-connected, then P
is nonempty, since the vector x := 21 1 belongs to P .
As P is nonempty and integer, (61.36) has an integer solution x. Then G
has a k-arc-connected orientation D : reversing the orientation of the arcs a
of D with xa = 1 gives a k-arc-connected orientation D , since
(61.37) din in in out
D (U ) = dD (U ) x(D (U )) + x(D (U )) k
Notes. The total dual integrality of (61.36) implies also the following result of
Frank, Tardos, and Sebo [1984] (denoting the number of (weak) components of a
(di)graph G by (G)). Let G = (V, E) be a 2-edge-connected undirected graph
and let U V . Then the minimum number of arcs entering U over all strongly
connected orientations of G is equal to the maximum of
(61.38) (G T ),
T P
taken over partitions P of U into nonempty classes such that no edge connects
dierent classes of P.
This implies another result of Frank, Tardos, and Seb o [1984]: Let D = (V, A)
be a digraph and let C = in (U ) be a directed cut. Then the minimum of |B C|
where B is a directed cut cover is equal to the maximum of
Section 61.4b. k-arc-connected orientations with bounds on degrees 1045
(61.39) (D T ),
T P
taken over partitions P of U into nonempty classes such that no arc of D connects
distinct classes of P.
As A. Frank (personal communication 2002) observed, the proof above yields
a stronger result of Nash-Williams [1969]: let G = (V, E) be a 2k-edge-connected
graph and let F E have an Eulerian orientation; then the remaining edges have
an orientation so as to obtain a k-arc-connected digraph. This follows by taking for
A any orientation extending the orientation of F , and by setting xa := 0 for each
arcs in F , and xa := 21 for all other arcs a. Then x satisfies (61.36), and the result
follows as above.
61.4a. Complexity
By the results in Section 60.1 on the complexity of the Edmonds-Giles problem, one
can find a k-arc-connected orientation of a 2k-edge-connected undirected graph in
polynomial time; more generally, one can find a minimum-length k-arc-connected
orientation in strongly polynomial time, if we are given a length for each orientation
of each edge.
A direct method of finding a minimum-length k-arc-connected orientation can
be based on weighted matroid intersection, similarly to the method described in
Section 55.5 to find a minimum-length directed k-cover in a directed graph (such
that the k-arc-connected orientations form the common bases of two matroids).
Frank [1980b] extended Corollary 61.6a to the case where lower and upper bounds
on the indegrees of the vertices are prescribed:
Proof. It is not dicult to see that the condition is necessary. To show suciency,
by Corollary 61.6a, G has a k-arc-connected orientation D. Choose D such that
(61.41) max{0, degin in
D (v) u(v), l(v) degD (v)}
vV
implying din
D (U W ) = k, and so U = W = U W .
Suppose that there exists a vertex s W with degin D (s) > l(s). Then reversing
the orientations of the arcs of any r s path in D gives again a k-arc-connected
orientation (since there is no U V with din D (U ) = k and s U , r U ), but
decreases sum (61.41). This contradicts our minimality assumption.
So degin
D (v) l(v) for each v W , with strict inequality for at least one v W
(namely for r). Now each edge of G that is spanned by no set in P, either enters
some U P, or has its head in W . So the number of such edges is
(61.43) k|P| + degin
D (v), which is less than k|P| + l(v).
vW vW
Proof. This follows from the fact that the condition in Theorem 61.7 can be de-
composed into a condition on l and one on u.
Theorem 61.8. Let G = (V, E) be a graph and let l : P(V ) Z+ satisfy (61.44).
Then G has an orientation D = (V, A) with
(61.45) din
A (U ) l(U )
for each partition P of V into nonempty proper subsets, where (P) denotes the set
of edges of G connecting dierent classes of P.
Proof. The necessity of the condition is obvious. To prove suciency, let D = (V, A)
be an arbitrary orientation of G. Define for each nonempty proper subset U of V
(61.47) f (U ) := din
A (U ) l(U ).
Section 61.4d. Further notes 1047
Proof. Necessity follows from the fact that if the orientation D = (V, A) as required
exists, then by Edmonds disjoint arborescences theorem (Corollary 53.1b), D has
k disjoint r-arborescences. Hence G has k edge-disjoint spanning trees.
Suciency follows from the fact that we can orient each spanning tree in G
so as to become an r-arborescence. Orienting the remaining edges arbitrarily, we
obtain an orientation as required.
Frank [1993c] gave a direct proof of the existence of this orientation from
the conditions given in the Tutte-Nash-Williams disjoint trees theorem (Corollary
1048 Chapter 61. Graph orientation
Network synthesis
The network synthesis problem asks for a graph having prescribed connec-
tivity properties, with a minimum number of edges. If the edges have costs,
a minimum total cost is required.
The problem can be seen as the special case of the connectivity augmenta-
tion problem where the input graph is edgeless. Connectivity augmentation
in general will be discussed in Chapter 63.
Suppose that G has a vertex-cut U of size less than k. By the above, C[U ]
consists of two components of size l := 21 (k 1) each. We can assume that
U = [1, l] [s + 1, s + l] for some s with l < s and s + l < n. Now n is adjacent
to no vertex in [l + 1, s], while n is adjacent to at least one of 12 n and 21 n.
So 21 n < l + 1 or 21 n > s, implying n > 2s (as k < n). By symmetry
of the two components we similarly have n > 2(n s), that is n < 2s, a
contradiction.
Theorem 62.3. Let k and n be positive integers with n 2. Then the min-
imum number of arcs of a k-vertex-connected directed graph with n vertices
is kn if k n 1, and n(n 1) otherwise.
Section 62.2. The network synthesis problem 1051
Notes. Edmonds [1964] showed that for each simple graph with all degrees at least
k, there exists a k-edge-connected simple graph with the same degree-sequence.
Notes. Obviously, condition (62.1) remains necessary for exact realizability of non-
symmetric functions. Resh [1965] claimed that (62.1) also remains sucient, but a
counterexample is given by the function r : V V R+ with V = {1, 2, 3, 4}, and
r(1, 2) = r(1, 3) = r(1, 4) = r(2, 4) = r(3, 4) = 1, and r(s, t) = 0 for all other s, t
(cf. Mayeda [1962]).
as required.
Proof. Let T maximize r(T ). Choose T and k such that T contains a path
v1 , . . . , vk , with k as large as possible. Choose T, k moreover such that the
vector (degT (v1 ), . . . , degT (vk )) is lexicographically minimal. If T is not a
path, there is a j with 1 < j < k and degT (vj ) 3. Let vj u be an
edge of T incident with vj , with u = vj1 , vj+1 . If r(vj+1 , u) r(vj , u),
we can replace edge vj u of T by vj+1 u, contradicting the lexicographic
minimality. So r(vj , u) > r(vj+1 , u), and so r(vj , vj+1 ) r(vj+1 , u), since
r(vj+1 , u) min{r(vj , vj+1 ), r(vj , u)} by (62.1). Hence replacing edge vj vj+1
of T by vj+1 u would give a tree with a longer path, contradicting our as-
sumption.
The first inequality here follows from the fact that for each h with j < h i,
the number of edges connecting {v1 , . . . , vh1 } and {vh , . . . , vn } is equal to
2r(vh1 , vh ). The second inequality follows from (62.1).
Notes. Note that also any nonexact realization has size at least (62.6), and there-
fore, the theorem also characterizes the minimum size of any realization.
Wing and Chien [1961] observed that a minimum-capacity realization can be
found by linear programming, and Gomory and Hu [1962,1964] showed that also
the weighted case can be solved by linear programming. Indeed, the polyhedron P
of all realizations of a given function r : V V Q+ can be described as follows.
Let E is the collection of all unordered pairs of elements of V . Then P is determined
by:
(62.10) xe 0 for all e E,
x((U )) R(U ) for all nonempty U V ,
where R(U ) := maxuU,vV \U r(u, v).
This formulation was given by Gomory and Hu [1962] and applied to finding
a minimum-cost realization with linear programming, by a row-generating imple-
mentation of the simplex method (thus avoiding listing the exponential number of
constraints). Bland, Goldfarb, and Todd [1981] observed that description (62.10)
implies polynomial-time solvability with the ellipsoid method, since the constraints
(62.10) can be tested in polynomial time.
A direct, polynomial-size linear programming formulation was given by Gomory
and Hu [1964], by extending the number of variables. Indeed, P consists of those
x RE E
+ such that for all distinct s, t V , there exists an s t flow fs,t : E R+
with f x and of value r(s, t).
The latter description implies that a minimum-weight realization can be deter-
mined in polynomial time, by solving an explicit linear programming problem
in fact, in strongly polynomial time, with the method of Tardos [1986].
Section 62.4. Integer realizations and r-edge-connected graphs 1055
Note that the exact realizations do not form a convex set; for instance, if V =
{u, v, w} and r(s, t) = 1 for all s, t V , then x(uv) = x(vw) = x(uw) = 32 is a
convex combination of exact realizations, but is not itself an exact realization.
We next show (ii). Trivially, for any r-edge-connected graph G = (V, E):
(62.13) |E| = 12 degG (u) 21 R(u).
uV uV
(as Cj covers vi1 and vi for j = 1, . . . , l). Hence dH (U ) = 2 and R(vi ) is odd.
So U W = . Hence, by (62.14), i = 2. Then v1 v2 M , and so dH (U ) 3,
a contradiction.
Section 62.4. Integer realizations and r-edge-connected graphs 1057
Notes. In fact, by choosing M in this proof in such a way that degM (u) = 1 if
u W \ {v1 }, and degM (u) = 0 if u (V \ W ) \ {v1 }, we obtain a graph G with
degG (u) = R(u) for each u = v1 . Hence G (u, v) = min{R(u), R(v)} for all distinct
u, v V .
The construction can be extended to obtain a strongly polynomial-time algo-
rithm that, for given integer function r, finds a minimum-capacity integer realization
c (Sridhar and Chandrasekaran [1990,1992]).
(Chou and Frank [1970] claim to give an algorithm to find a minimum-size exact
realization, but their construction fails when taking r(1, 2) := r(3, 4) := r(4, 5) := 5,
r(2, 3) := r(5, 6) := 3, and r(i, j) := mini<hj r(h1, h) for i < j. The construction
gives 15 edges, while there is an exact realization with 14 edges only.)
Frank and Chou [1970] announced a polynomial-time algorithm for the problem:
given a symmetric r : V V Z+ , find a simple r-edge-connected graph G = (V, E)
(if any) with |E| minimal.
Wang and Kleitman [1973] characterized the degree-sequences of k-vertex-
connected simple undirected graphs.
Chapter 63
Connectivity augmentation
Let (V, A) and (V, B) be directed graphs. The set B is called a k-arc-connector
for D if the directed graph (V, A B) is k-arc-connected (where in A B arcs
are taken parallel if they occur both in A and in B). So 1-arc-connectors are
precisely the strong connectors, which we discussed in Chapter 57.
Frank [1990a,1992a] characterized the minimum size of a k-arc-connector
for a directed graph, with the help of the following result of Mader [1982] (we
follow the proof of Frank [1992a]).
Notes. The following problem is NP-complete: given a directed graph D = (V, A),
a function r : V V Z+ , and a cost function k : V V Q+ , find a minimum-
cost set of new arcs whose addition to D makes the graph r-arc-connected. Frank
[1990a,1992a] showed that if there are functions k , k : V Q+ with k(u, v) =
k (u) + k (v) for all u, v V , then this problem is solvable in polynomial time.
Gusfield [1987a] gave a linear-time algorithm to find a minimum number of
directed arcs to be added to a mixed graph such that it becomes strongly connected
(that is, for all vertices u, v there is a u v path traversing directed edges in the
right direction only).
Frank and Jord an [1995b] gave an alternative proof of Theorem 63.1 based on
bisubmodular functions, and showed a number of related results.
Frank [1993c] gave some further methods for the problems discussed in these
sections.
Kajitani and Ueno [1986] showed that the minimum size of a k-arc-connector for
a directed tree D = (V, A) is equal to the maximum of vV max{0, k degin (v)}
and vV max{0, k degout (v)}.
Frank [1990a,1992a] gave a polynomial-time algorithm for: given directed graph
D = (V, A), r V , and k Z+ , find a minimum number of arcs to be added to
D such that for each s V there exist k arc-disjoint r s paths in the augmented
graph. The complexity was improved by Gabow [1991b].
Let (V, E) and (V, F ) be undirected graphs. The set F is called a k-edge-
connector for G if the graph (V, E F ) is k-edge-connected (where in E F
edges are taken parallel if they occur both in E and in F ).
The minimum size of a 1-edge-connector of a graph G trivially is one
less than the number of components of G. Eswaran and Tarjan [1976] and
Plesnk [1976] characterized the minimum size of a 2-edge-connector, by first
showing:
Theorem 63.4. Let G = (V, E) be a forest with at least two vertices and
with p vertices of degree 1 and q isolated vertices. Then the minimum size of
a 2-edge-connector for G equals 12 p + q.
Proof. Each vertex of degree 1 should be incident with at least one new edge,
and each vertex of degree 0 should be incident with at least two new edges.
So any 2-edge-connector has size at least 12 p + q.
Section 63.3. Making an undirected graph k-edge-connected 1063
Notes. Also Naor, Gusfield, and Martel [1990,1997], and Gabow [1991b] gave
polynomial-time algorithms to find a minimum-size k-edge-connector. Frank [1990a,
1992a] and Bencz ur [1994,1999] gave strongly polynomial-time algorithms for the
(integer) capacitated version of the problem. More and related results can be found
in Gabow [1994], Bencz ur [1995], Nagamochi and Ibaraki [1995,1996,1997,1999c],
1066 Chapter 63. Connectivity augmentation
as required.
Notes. T. Jord an (cf. Bang-Jensen and Jordan [1997]) showed that finding a mini-
mum number of edges that makes a given simple graph k-edge-connected and keeps
it simple, is NP-complete. On the other hand, Bang-Jensen and Jord an [1997,1998]
gave, for any fixed k, an O(n4 )-time algorithm for this problem. Taoka, Watan-
abe, and Takafuji [1994] gave an O(m + n log n)-time algorithm for k = 4 and
an O(n2 + m)-time algorithm for k = 5 (assuming the input graph is k 1-edge-
connected). Other fast algorithms for undirected edge-connectivity augmentation
were given by Bencz ur [1999].
Ueno, Kajitani, and Wada [1988] gave a polynomial-time algorithm for finding
a minimum-size k-edge-connector for a tree.
Section 63.4. r-edge-connectivity and r-edge-connectors 1067
G/T has two edges su and sv such that for the graph H obtained from G/T
by replacing su and sv by a new edge u v, one has
(63.39) H (x, y) = G/T (x, y)
for all x, y V (G/T ) \ {s}. By symmetry of u and v, we may assume that
v = T , that is, v V \ T . Let u := u if u = T and choose u T N (s) if
u = T .
Then for all Z U:
(63.40) if T Z or T Z = then u Z or v Z.
Indeed, as R(Z) d(Z) 1, there exist x, y V such that Z splits x, y
and G (x, y) d(Z) 1. Since T Z or T Z = , we may assume that
x T . Define y := y if y T , and y := T if y T . Define Z := Z if
T Z = , and Z := (Z \ T ) {T } if T Z. Suppose now u, v Z. Then
dH (Z ) = dG (Z) 2. This gives the contradiction
(63.41) G/T (x, y ) G (x, y) dG (Z) 1 > dH (Z ) H (x, y )
= G/T (x, y ),
proving (63.40).
Now let U U contain u and v. By Lemma 61.6, R(T ) + R(U ) is at
most R(T U ) + R(T U ) or at most R(T \ U ) + R(U \ T ).
If R(T ) + R(U ) R(T U ) + R(T U ), then
(63.42) d(T ) + d(U ) d(T U ) + d(T U ) R(T U ) + R(T U )
R(T ) + R(U ) d(T ) + d(U ) 1,
implying R(T U ) d(T U )1. So T U U and u, v T U , contradicting
(63.40).
So R(T ) + R(U ) R(T \ U ) + R(U \ T ). Hence
(63.43) d(T ) + d(U ) d(T \ U ) + d(U \ T ) R(T \ U ) + R(U \ T )
R(T ) + R(U ) d(T ) + d(U ) 1.
So d(T )+d(U ) = d(T \U )+d(U \T ), and hence T U contains no neighbours
of s. So u = T (otherwise u T U N (s)). Hence u = u U \ T . By
(63.43) we also know R(U \ T ) d(U \ T ) 1. So U \ T U and u, v U \ T ,
contradicting (63.40). This proves (63.38).
Note that (63.38) implies
(63.44) G (u, v) = min{deg(u), deg(v)} for all u, v V ,
since G (u, v) = dE (U ) for some U V splitting {u, v}. So U P, and
hence |U | = 1, implying (63.44).
Choose a vertex t N (s) of minimum degree. Let U be a minimal
collec-
tion of inclusionwise maximal sets in U containing t such that U N (s)
(this exists by (63.37)). Note that for each U U one has |E[U, s]| 12 deg(s),
since otherwise d(V \ U ) d(U ) 2 (since deg(s) is even), and hence
(63.45) R(V \ U ) d(V \ U ) d(U ) 2 R(U ) 1 = R(V \ U ) 1,
Section 63.4. r-edge-connectivity and r-edge-connectors 1069
Note that
1070 Chapter 63. Connectivity augmentation
(63.53) the graph G arising in Lemma 63.8 again has no bridge incident
with s,
as for any two neighbours x, y of s in G one has G (x, y) = G (x, y) 2.
The lemma therefore can be applied iteratively to yield:
Proof. Clearly, for any x RV+ one has x Q if and only if x(U ) g(X)
for each X V .
To see that g is supermodular, choose X, Y V . Let
(63.72) g(X) = (R(U ) d(U )) and g(Y ) = (R(T ) d(T )),
U U T T
is as small as possible.
We claim that S is laminar; that is,
(63.75) if T, U S, then T U or U T or T U = .
Suppose not. By Lemma 61.6, R(T ) + R(U ) is at most R(T U ) + R(T U )
or at most R(T \ U ) + R(U \ T ). If R(T ) + R(U ) R(T U ) + R(T U ), then
replacing T and U by T U and T U maintains (63.73) but decreases (63.74)
(by Theorem 2.1), contradicting the minimality assumption. If R(T )+R(U )
R(T \ U ) + R(U \ T ), then replacing T and U by T \ U and U \ T maintains
(63.73) but decreases (63.74) (again by Theorem 2.1), again contradicting
the minimality condition. This proves (63.75).
Now let P be the collection of inclusionwise maximal elements in S and
let Q be the collection of remaining sets in S. (If a set occurs twice in S, it
is both in P and in Q.) Then each set in P is contained in X Y , and each
set in Q is contained in X Y . Moreover, both P and Q are collections of
disjoint sets. Hence
(63.76) g(X Y ) + g(X Y ) (R(P ) d(P )) + (R(Q) d(Q))
P P QQ
= (R(S) d(S)) g(X) + g(Y );
SS
1074 Chapter 63. Connectivity augmentation
Proof. Let be the maximum value. The minimum is not less than , since
for any (X, Y ) F, at least k |V \ (X Y )| arcs from X to Y should be
added, while such arcs do not run from X to Y for any other pair (X , Y )
in F (as X X = or Y Y = ).
To see equality, we can assume that D is not k-vertex-connected. Then
there exist disjoint nonempty subsets T and U of V such that D has no arc
from T to U and such that |V \ (T U )| < k.
If there exist t T and u U such that augmenting D with the arc (t, u),
the maximum decreases, we are done by induction. So we can assume that
no such pair t, u exists. Hence for each t T and u U , there exists a good
collection Ft,u of good pairs, with
(63.78) (k |V \ (X Y )|) = ,
(X,Y )Ft,u
Section 63.5. Making a directed graph k-vertex-connected 1075
Then
(63.81) for all (X, Y ), (X , Y ) G one has X X = or Y Y = or
X X , Y Y or X X, Y Y .
Suppose not. Replace (X, Y ) and (X , Y ) by (X X , Y Y ) and (X
X , Y Y ). This maintains (63.79), while (63.80) decreases19 , contradicting
our assumption. This proves (63.81).
Now consider the partial order on pairs (X, Y ) of subsets of V , defined
by (X, Y ) (X , Y ) if X X , Y Y . For each pair (X, Y ), let its weight
w(X, Y ) be the number of times (X, Y ) occurs in G, and let its length l(X, Y )
be equal to k |V \(X Y )|. Then by (63.79)(i), any chain has weight at most
|T ||U |. By (63.79)(ii), the sum of l(X, Y )w(X, Y ) over (X, Y ) G is more
than |T ||U |. Hence, by the length-width inequality for partially ordered sets
(Theorem 14.5), G contains an antichain F of length more than . Then F
is a good collection by (63.81). This contradicts the definition of .
subject to
(63.83) (i) x 0
u,v for all u, v V ,
(ii) xu,v k |V \ (X Y )|
uX vY
for all disjoint nonempty X, Y V
with no arc from X to Y .
19 This can be seen with Theorem 2.1: Make a copy V of V , and let Y be the set of
copies of elements of Y . Define ZX,Y := X (V \ Y ). Then |X| + |V \ Y | = |ZX,Y |
and |Y | + |V \ X| = |(V V ) \ ZX,Y |. Moreover, for (X, Y ) and (X , Y ) we have
ZXX ,Y Y = ZX,Y ZX ,Y and ZXX ,Y Y = ZX,Y ZX ,Y . So the replacements
decrease (63.80) by Theorem 2.1.
1076 Chapter 63. Connectivity augmentation
This can be seen by observing that Theorem 63.11 implies that this LP-
problem has integer primal and dual solutions of equal value.
As Frank and Jord an [1995b] pointed out, this implies that a minimum-
size k-vertex-connector can be found in polynomial time with the ellipsoid
method, as follows.
Since the conditions (63.83) can be checked in polynomial time, the ellip-
soid method (as we discuss below) implies that the minimum size of a k-arc-
connector can be determined in polynomial time. Then an explicit minimum-
size k-vertex-connector can be found by testing, for each pair u, v V ,
whether augmenting D by the new arc (u, v) decreases the minimum size
of a k-arc-connector. If so, we add (u, v) to D and iterate.
The ellipsoid method applies, since given xu,v 0 (u, v V ), we can test
if (63.83)(ii) holds. Indeed, let B be a set of new arcs forming a complete
directed graph on V . Define a capacity function c on A B by: c(a) := for
each a A and c(b) = xu,v for each arc b B from u to v. Then (63.83)(ii)
is equivalent to: for each s, t V there is an s t flow fs,t in (V, A B)
subject to c of value k, such that for any vertex v = s, t, the amount of flow
traversing v is at most 1 (since the set of arcs in B from X to Y , together
with the vertices in V \ (X Y ), form a mixed arc/vertex-cut separating s
and t). As this can be tested in polynomial time, we have a polynomial-time
test for (63.83).
In fact, we can transform the problem into a linear programming problem
of polynomial size, by including the flow variables fs,t (a) (for s, t V and a
AB), into the LP-problem. Thus the minimum size of a k-arc-connector can
be described as the solution of a linear programming problem of polynomial
size.
There is no combinatorial polynomial-time algorithm known to find a
minimum-size k-vertex-connector for a given directed graph. (Frank and
Jord an [1995a] describe a combinatorial polynomial-time algorithm for find-
ing a minimum-size 2-vertex-connector for a strongly connected directed
graph. Frank and Jord an [1999] extended it to a polynomial-time algorithm
(for any fixed k) to find a minimum-size k-vertex-connector.)
Notes. Frank and Jord an [1995b] also showed that a directed graph D = (V, A)
has a k-vertex-connector B with all in- and outdegrees at most k (D) (where
(D) denotes the vertex-connectivity of D).
Frank [1994a] gave the following conjecture:
(63.84) (?) Let D = (V, A) be a simple acyclic directed graph. Then the min-
imum
size of a k-vertex-connectorfor D is equal to the maximum of
in out
vV max{0, k deg (v)} and vV max{0, k deg (v)}. (?)
An O(kn)-time algorithm finding a minimum-size k-vertex-connector for a
rooted tree was given by Masuzawa, Hagihara, and Tokura [1987]. Frank [1994a]
observed that this result easily extends to branchings.
Approximation algorithms for the minimum size of a k-vertex-connector for a
directed graph were given by Jord an [1993a].
Section 63.6. Making an undirected graph k-vertex-connected 1077
Proof. One needs at least d1 edges, since for any v V , after deleting v the
augmented graph should be connected. Any block containing no cut vertex
should be incident with at least two new edges, and any block containing one
cut vertex should be incident with at least one new edges. Hence the number
of new edges is at least 21 p + q, and hence at least k.
To show that k can be attained, choose a counterexample G with k min-
imal. Then G is connected. Otherwise, we can choose two blocks B, B from
dierent components of G such that each of B, B is pendant or isolated. We
can choose a non-cut vertex from each of B, B , and connect them by a new
edge to obtain graph G . After that, k has decreased by exactly 1, and we
can apply induction to G , implying the theorem.
So G is connected, and hence q = 0 (as G is not 2-vertex-connected).
Moreover, k 2, since otherwise p 2, and we can add one edge to make G
2-vertex-connected.
Let U be the set of vertices v for which Gv has at least three components
and let W be the set of vertices v for which G v has k + 1 components. So
W U . Moreover, |U | 2, since otherwise we can add d 1 edges to make
G connected.
We show:
(63.86) there exist two distinct pendant blocks B, B such that each B
B path traverses all vertices in W and at least two vertices in U .
If |W | 1, this is trivial. So we may assume that |W | 2. Then, as W U ,
it suces to show that there exists a path traversing all vertices in W . If
such a path would not exist, there exists a subset X of W with |X| = 3
that is not on a path. Then for each v X, one component K of G v
contains X \ {v}. So for each v X, G v has k components disjoint from
1078 Chapter 63. Connectivity augmentation
Jackson and Jord an [2001] showed that for each fixed k, a minimum-size
k-vertex-connector for an undirected graph can be found in polynomial time.
Since (63.88) is TDI by Corollary 53.6b, this minimum is equal to the maximum
described in the present corollary.
Chapters:
This chapter studies cliques, stable sets, and colouring for general graphs:
complexity, polyhedra, fractional solutions, weighted versions.
In studying later chapters of this part, one can do largely with-
out the results of the present chapter. Only some elementary
definitions and terminology will be needed. It suces to use this
chapter just for reference.
In this chapter, all graphs can be assumed to be simple.
64.2. NP-completeness
It is NP-complete to find a maximum-size stable set in a graph. To be more
precise, the stable set problem: given a graph G and a natural number k,
decide if (G) k, is NP-complete (according to Karp [1972b] this is implicit
in the work of Cook [1971] and was also known to R. Reiter):
Proof. We reduce the satisfiability problem to the stable set problem. Let
C1 Ck be a Boolean expression, where each Ci is of the form y1
ym , with y1 , . . . , ym {x1 , x1 , . . . , xn , xn }. Call x1 , x1 , . . . , xn , xn
the literals. Consider the graph G = (V, E) with V := {(, i) | is a literal
in Ci } and E := {{(, i), (, j)} | i = j or = }. Then the expression is
satisfiable if and only if G has a stable set of size k.
It can be shown that the stable set problem remains NP-complete if the
graphs are restricted to 3-regular planar graphs (Garey, Johnson, and Stock-
meyer [1976]) or to triangle-free graphs (Poljak [1974]).
Since a subset U of V G is a vertex cover if and only if V G \ U is a stable
set, we also have:
Proof. By Theorem 64.1, since the vertex cover number of a graph G is equal
to |V G| minus the stable set number.
Proof. We show that the stable set problem can be reduced to the vertex-
colouring problem. Let G = (V, E) be an undirected graph and let k Z+ .
We want to decide if (G) k. To this end, let V be a copy of V and let
C be a set of size k, where V , V , and C are disjoint. Make a graph H with
vertex set V V C as follows. A pair of vertices in V is adjacent in H if
and only if it is adjacent in G. The sets V and C are cliques in H. Each
vertex in V is adjacent to each vertex in V C, except to its copy in V . No
vertex in V is adjacent to any vertex in C.
This defines the graph H. Then (G) k if and only if (H) |V | + 1.
Section 64.3. Bounds on the colouring number 1085
Strong perfect graph theorem: Each graph G with (G) < (G) has Ck
or C k as induced subgraph for some odd k 5.
Theorem 64.3 (Brooks theorem). For any connected graph G one has (G)
(G), except if G is a complete graph or an odd circuit.
Proof. We can assume that G is 2-connected, since otherwise we can apply induc-
tion. Moreover, we can assume that (G) 3. Let k := (G).
I. First assume that G has nonadjacent vertices u and w with G u w
disconnected. Let V1 and V2 be proper subsets of V such that V1 V2 = V , V1 V2 =
{u, w}, and no edge connects V1 \ {u, w} and V2 \ {u, w}. Let G1 := G[V1 ] and
G2 := G[V2 ].
For i = 1, 2, we know by induction that (Gi ) k, since Gi is not complete
(as u and w are nonadjacent), and since (Gi ) k and k 3. By symmetry of
G1 and G2 , we can assume that each k-colouring of G1 gives u and w the same
colour (otherwise G1 and G2 have k-colourings that coincide on u and w, yielding a
k-colouring of G). This implies that both u and w have degree at least k 1 in G1 .
Hence they have degree at most 1 in G2 . Therefore, as k 3, G2 has a k-colouring
giving u and w the same colour. So G is k-colourable.
II. Now choose a vertex v of maximum degree. As G is not a complete graph,
v has two nonadjacent neighbours, say u and w. By part I, we can assume that
G u w is connected. Hence it has a spanning tree T . Orient T so as to obtain
a rooted tree, rooted at v. Hence we can order the vertices of G as v1 , . . . , vn such
that v1 = v, vn1 = u, vn = w, and such that each vi with i > 1 is adjacent to some
vj with j < i. Give u and w colour 1. Next successively for i = n 2, n 1, . . . , 1,
we can give a colour from 1, . . . , k to vi dierent from the colours given to the
neighbours vj of vi with j > i. Such a colour exists, since if i > 1, there are less
than k neighbours vj of vi with j > i; and if i = 1, there are k such neighbours,
but neighbours u and w have the same colour.
In other words, for each k, the graph Kk is the only graph G with the property
that G is not (k 1)-colourable and each proper minor of G is (k 1)-colourable.
Hadwigers conjecture is trivial for k = 1, 2, 3, and was shown by Hadwiger
[1943] for k = 4 (also by Dirac [1952]):
Proof. One may assume that G = (V, E) is not a forest or a circuit. Then G has
a circuit C not covering all vertices of G. Choose v V \ V C. If G is 3-connected,
there are three paths from v to V C, disjoint except for v. This creates a K4 minor,
a contradiction.
So G is not 3-connected, that is, G has a vertex-cut of size less than 3. Then
(G) 3 follows by induction: if G is disconnected or has a 1-vertex-cut, this is
trivial, and if G is 2-connected and has a 2-vertex-cut {u, w}, we can apply induction
to the graphs G K after adding an edge uw, for each component K of G u w.
Haj os conjecture. G. Haj os1 conjectured (more strongly than Hadwiger) that
any k-chromatic graph contains a subdivision of Kk as subgraph. For k 4, Hajos
conjecture is equivalent to Hadwigers conjecture.
Hajos conjecture was refuted by Catlin [1979] for k = 8. He showed that the
line graph L(G) of the graph G obtained from the 5-circuit C5 by replacing each
1 According to Toft [1996], Haj os considered the conjecture already in the 1940s in con-
nection with the four-colour conjecture, but he never published it. (The paper Haj os
[1961] commonly referred to, does not give Haj os conjecture.) An early written record
of the conjecture is in the review of Tutte [1961b], in the January 1961 issue of Math-
ematical Reviews, of the book F arbungsprobleme auf Fl achen und Graphen (Colouring
Problems on Surfaces and Graphs) by Ringel [1959]. This book itself however does not
mention the conjecture.
1088 Chapter 64. Cliques, stable sets, and colouring
edge by three parallel edges, has colouring number 8 (as L(G) has 15 vertices and
stable set number 2), but contains no subdivision of K8 .
Catlin in fact gave a counterexample to Haj os conjecture for each k 7. Erdos
and Fajtlowicz [1981] showed that almost all graphs are counterexamples to Haj os
conjecture.
os [1961]: any graph G with (G) k can
Related is the following result of Haj
be obtained from the complete graph Kk by a series of the following operations on
graphs (each preserving k):
(64.4) (i) add vertices or edges;
(ii) identify two nonadjacent vertices;
(iii) take two disjoint graphs G1 and G2 , choose edges e1 = u1 v1 of G1
and e2 = u2 v2 of G2 , identify u1 and u2 , delete e1 and e2 , and add
edge v1 v2 .
The stable set polytope Pstable set (G) of a graph G = (V, E) is the convex hull
of the incidence vectors of the stable sets in G. Since finding a maximum-size
stable set is NP-complete, one may not expect a polynomial-time checkable
system of linear inequalities describing the stable set polytope (Corollary
5.16a). More precisely, if NP=co-NP, then there do not exist inequalities
satisfied by the stable set polytope such that their validity can be certified in
polynomial time and such that the inequality 1T x (G) is a nonnegative
linear combination of them.
The clique polytope Pclique (G) of a graph G = (V, E) is the convex hull of
the incidence vectors of cliques. Trivially
(64.5) Pclique (G) = Pstable set (G).
Hence, similar observations hold for the clique polytope.
Another related polytope is the vertex cover polytope Pvertex cover (G) of
G, being the convex hull of the incidence vectors of vertex covers in G. Since
a subset U of V is a vertex cover if and only if V \ U is a stable set, we have
(64.6) x Pvertex cover (G) 1 x Pstable set (G).
This shows that problems on the two types of polytopes can be reduced to
each other.
Padberg [1973] (for facets induced by odd circuits) and Nemhauser and Trotter
[1974] observed that
(64.7) each facet of the stable set polytope of an induced subgraph G[U ] of
G, is the restriction to U of some unique facet of Pstable set (G).
Section 64.4a. Facets and adjacency on the stable set polytope 1089
More precisely, for each facet F of Pstable set (G[U ]) there is a unique facet F of
Pstable set (G) with the property that F = {x RU | x F }, where xv = xv if
v U and xv = 0 if v V \ U .
To prove (64.7), it suces to prove it for U = V \ {v} for some v V . Let F
be a facet of Pstable set (G v). We can consider F as a face of codimension 2 of
Pstable set (G) (by extending F with a 0 at coordinate v). Define H := {x RV |
xv = 0}. As F is on the facet F := Pstable set (G) H of Pstable set (G), there is a
unique facet F of Pstable set (G) with F = F F . This implies F = F H, since
(64.8) F = F F = F Pstable set (G) H = F H.
Suppose now that Pstable set (G) has another facet F with F = F H. Then
F F F F H = F , and hence F = F F , contradicting the unicity
of F . This proves (64.7).
Padberg [1973] also showed the following:
Theorem 64.5. Let G = (V, E) be a graph and let a ZV+ . Then the inequality
(64.9) aT x 1
is valid for the stable set polytope of G if and only if a is the incidence vector of a
clique C. Moreover, (64.9) determines a facet if and only if C is an inclusionwise
maximal clique.
Graphs for which the nonnegativity and clique inequalities determine all facets,
are precisely the perfect graphs see Chapter 65.
Trivially, the vertices of the stable set polytope are precisely the incidence vec-
tors of the stable sets. Chvatal [1975a] characterized adjacency:
Theorem 64.6. The incidence vectors of two dierent stable sets R, S are adjacent
vertices of the stable set polytope if and only if RS induces a connected subgraph
of G.
Proof. To see necessity, if G[RS] is not connected, then (as it is bipartite) it has
two colour classes U and W with {U, W } = {R\S, S \R}. Let U := U (RS) and
1090 Chapter 64. Cliques, stable sets, and colouring
W := W (RS). Then U and W are stable sets and 12 (R +S ) = 12 (U +W ),
contradicting the adjacency of R and S .
To see suciency, if R and S are not adjacent, then there exist stable sets U
and W , and , (0, 1) such that R +(1)S = U +(1)W and {U, W } =
{R, S}. So U W = R S. Hence U \ W, W \ U forms a bipartition of G[RS]
dierent from the bipartition R \ S, S \ R. This contradicts the connectedness of
G[RS].
Theorem 64.7. Each vertex of the fractional stable set polytope P is half-
integer.
The theorem also follows from the observation of Balinski [1965] that each
nonsingular submatrix of the incidence matrix of a graph has a half-integer
inverse.
Theorem 64.7 implies that (G) = 12 2 (G), where 2 (G) is the maximum
size of a 2-stable set, which is an integer vector x RV satisfying
(64.12) (i) xv 0 for v V ,
(ii) xu + xv 2 for {u, v} E
(cf. Section 30.9).
Moreover, it implies a characterization of the 2-stable set polyhedron,
which is the convex hull of the 2-stable sets:
Nemhauser and Trotter [1974] characterized the vertices of the fractional stable set
polytope:
If some component of G[U1 ] would be bipartite, say with colour classes S and
T , then x (S T ) would belong to P for some = 0. This contradicts the fact
that x is a vertex of P .
Suciency. Suppose that x satisfies the condition, and that x is not a vertex
of P . Then there is a nonzero vector y such that both x + y and x y belong to
P . Necessarily, yv = 0 if v U1 . Moreover, for each edge uw of G[U1 ] one has
yu + yw = 0, since xu + xw = 1. As each component of G[U1 ] contains an odd
circuit, this implies yv = 0 for each v U1 . So y = 0, a contradiction.
Proof. This follows from Theorem 64.9, since S is a maximum-weight stable set in
G[S N (S)]. For if T would be a stable set in G[S N (S)] with w(T ) > w(S), then
x + (T S ) would belong to the fractional stable set polytope for some > 0,
while it has weight larger than x, a contradiction.
Picard and Queyranne [1977] showed that, for any graph G = (V, E) and any
weight function w : V R, there is a unique minimal subset of vertices that has
fractional values in some optimum fractional stable set (solving a problem posed
by Nemhauser and Trotter [1975]):
Proof. We can assume that x and y are half-integer (as we can assume that x and
y are vertices of the fractional stable set polytope). For i = 0, 1, 2, let Xi := {v |
xv = i/2} and Yi := {v | yv = i/2}. Then
(64.15) w(Y0 X2 ) w(X0 Y2 ),
Section 64.6. Fractional vertex covers 1093
since
(64.16) y + 21 (Y0 X2 X0 Y2 )
is a fractional stable set. Otherwise, since X2 is stable, there is an edge uv with
yu + yv = 1, u Y0 X2 , and v X0 Y2 . So yu = 0, and hence yv = 1. Also,
xu = 1, and hence xv = 0. So v X0 Y2 , a contradiction. This shows (64.15).
Moreover,
(64.17) w(X0 \ Y0 ) w(X2 \ Y2 ),
since
(64.18) x + 12 (X0 \Y0 X2 \Y2 )
is a fractional stable set. Otherwise there is an edge uv with xu +xv = 1, u X0 \Y0 ,
and v X2 \ Y2 . So xu = 0, and hence xv = 1. Also, yu > 0, and hence yv < 1. So
v X2 \ Y2 , a contradiction. This shows (64.17).
(64.15) and (64.17) imply that
(64.19) w(Y1 X2 ) = w(X2 \ Y2 ) w(X2 Y0 ) w(X0 \ Y0 ) w(Y2 X0 )
= w(Y1 X0 ).
Hence
(64.20) z := y + 21 (Y1 X2 Y1 X0 )
has weight at least that of y. Moreover, z is a fractional stable set. Otherwise, as
X2 is stable, there is an edge uv with yu + yv = 1, u Y1 X2 and v Y1 X0 .
So yu = yv = 12 , xu = 1, hence xv = 0. So v Y1 X0 , a contradiction. Hence z is
a fractional stable set as required.
Nemhauser and Trotter [1975] and Picard and Queyranne [1977] gave a poly-
nomial-time algorithms to find a half-integer maximum-weight fractional stable set
attaining the minimum number of fractional values. (This can be derived from the
uniqueness of the minimal set of fractional vertices: just try xv = 0 and xv = 1 for
each v V , and see if the fractional stable set number drops.)
Pulleyblank [1979a] and Bourjolly and Pulleyblank [1989] characterized the
minimal set of fractional values. Related results were given by Grimmett [1986].
Proof. Directly from Theorem 64.7, since x belongs to the fractional vertex
cover polytope if and only if 1x belongs to the fractional stable set polytope.
Theorem 64.11 implies that (G) = 21 2 (G), where 2 (G) is the minimum
size of a 2-vertex cover, which is an integer vector x RV satisfying
(64.24) (i) xv 0 for v V ,
(ii) xu + xv 2 for {u, v} E
(cf. Section 30.10).
It also implies a characterization of the 2-vertex cover polyhedron, which
is the convex hull of the 2-vertex covers:
By the results on fractional stable sets and 2-stable sets given in Section
64.5, and using the reductions described above, a minimum-weight fractional
vertex cover and a minimum-weight 2-vertex cover can be found in strongly
polynomial time.
Notes. Corollary 64.9a and Theorem 64.10 have direct analogues for vertex covers:
given a graph G = (V, E) and a weight function w : V R,
(64.25) for each minimum-weight fractional vertex cover x there is a minimum-
weight vertex cover contained in {v | xv =
0},
and
Section 64.7. The clique inequalities 1095
(64.26) for any two minimum-weight fractional vertex covers x and y there is
a minimum-weight fractional vertex cover z such that for each v V :
xv Z or yv Z zv Z.
These statements can be derived from Corollary 64.9a and Theorem 64.10 by again
observing that a vector x is a (fractional) stable set if and only if 1 x is a
(fractional) vertex cover. Similarly, Theorem 64.8 implies a characterization of the
vertices of the fractional vertex cover polytope.
Proof. Since (G) = 22 (G) (cf. Section 30.2), there is a half-integer fractional
matching x : E R+ with x(E) = (G), such that the support of x is the disjoint
union of a matching and a number t of odd circuits. We can assume that each
edge of G belongs to the support of x (as deleting edges increases neither (G) nor
(G)). Also we can assume that G has no isolated vertices. Then (G) = 12 (|V | t),
(G) = 21 (|V | + t), and (G) = 12 |V |.
Bound (64.27) is generally a better lower bound on (G) than (G) (for ex-
ample, for G = K3 ). It implies an upper bound for (G), generally better than
(G) (G):
For any graph G = (V, E), the fractional colouring number (G) is the
minimum value of 1 + + k with 1 , . . . , k R+ such that there exist
stable sets S1 , . . . , Sk with
(64.33) 1 S1 + + k Sk = 1.
So if the i are required to be integer, we have the colouring number.
By linear programming duality, the fractional colouring number is equal
to the maximum of 1T x over the polytope P (G) in RV+ determined by
(64.34) xv 0 for each v V ,
x(S) 1 for each stable set S.
(So P (G) = P (G) and P (G) = A(Pstable set (G)).) Hence we have:
(64.35) (G) = (G).
We denote
(64.36) (G) := (G),
which is called the fractional clique cover number of G.
No polynomial-time algorithm is known to calculate (G). Note that the
separation problem for P (G) is NP-complete, since the optimization problem
over Pstable set (G) is NP-complete.
Given a graph G = (V, E) and a weight function w : V Z+ , the
weighted colouring number w (G) is the minimum value of 1 + + k with
1 , . . . , k Z+ such that there exist stable sets S1 , . . . , Sk with
(64.37) 1 S1 + + k Sk = w.
Section 64.8. Fractional and weighted colouring numbers 1097
For later purposes we prove the following upper bound for the colouring number
in terms of the fractional colouring number, obtained by applying a greedy-type
algorithm (Johnson [1974a], Lovasz [1975c]):
In Section 36.7a we defined the polyhedron P for any rational polyhedron P and
the notion of the Chv atal rank of a polyhedron P .
Let P (G) denote the polytope of strong fractional stable sets, that is, the poly-
tope determined by (64.29) (the nonnegativity and clique constraints). For any
polyhedron P , let PI denote the integer hull of P , that is, the convex hull of the
integer vectors in P .
Section 64.9a. Graphs with polynomial-time stable set algorithm 1099
Chvatal [1973a] showed that there is no fixed t such that P (G)(t) = P (G)I for
each graph G, even if we restrict G to graphs with (G) = 2. Chv atal, Cook, and
Hartmann [1989] showed that t can be at least 31 log n for such graphs (where n is
the number of vertices).
We will see in Corollary 65.2e that the class of graphs G with P (G)I = P (G)
is exactly the class of perfect graphs. By Edmonds matching polytope theorem
(Corollary 25.1a) if G is the line graph of some graph H, then P (G) = P (G)I ,
which is the matching polytope of H.
The smallest t for which P (G)(t) = P (G)I might be an indication of the compu-
tational complexity of the stable set number (G). For each fixed t, the stable set
problem for graphs with P (G)(t) = P (G)I belongs to NPco-NP. Chv atal [1973a]
raised the question whether it belongs to P. (A negative indication is the result
of Eisenbrand [1999] that given a polytope P by linear inequalities and given x,
deciding if x belongs to P is co-NP-complete.)
Another (weaker, but easier to compute) relaxation is: Q(G) is the polytope of
fractional stable sets; that is, the polytope in RV determined by
(64.49) (i) xv 0 for each v V ,
(ii) xv + xw 1 for each vw E.
Again Q(G)I = Pstable set (G). Since Q(G) P (G), there is no fixed t with
Q(G)(t) = Q(G)I for each graph G. Chv atal [1973a] noticed that for G = Kn
the smallest t with Q(G)(t) = Pstable set (G) is about log n.
It is not dicult to see that Q(G) is the polytope determined by (64.49) to-
gether with
(64.50) (iii) x(V C) 21 |V C| for each odd circuit C.
Graphs G with Q(G) = Pstable set (G) are called t-perfect. More on t-perfect graphs
can be found in Chapter 68.
Chv
atal [1975b] conjectures that there is no polynomial p(n) such that for
each graph G with n vertices we can obtain the inequality x(V ) (G) from
system (64.49) by adding at most p(n) cutting planes. (That is, a list of at most
p(n) inequalities aTi x i such that, for each i, ai is an integer vector and the
inequality aTi x i is a nonnegative combination of inequalities from (64.49) and
inequalities occurring earlier in the list.)
Chv
atal, Cook, and Hartmann [1989] showed that the Chv atal rank of the
following relaxation of the stable set polytope:
(64.51) xv 0 for v V ,
x(U ) (G[U ]) for U V ,
1
is ((n/ log n) 2 ), where G is a graph with n vertices. This relaxation is stronger
than the polytope determined by just the nonnegativity and clique constraints.
in t-perfect graphs, and in claw-free graphs. In perfect graphs and their comple-
ments, also a minimum vertex-colouring can be found in polynomial time. In this
section we list some other classes of graphs where a maximum-size stable set or a
minimum vertex-colouring can be found in polynomial time.
A graph is a circular-arc graph if it is the intersection graph of a set of intervals
on a circle. Gavril [1974a] gave polynomial-time algorithms for finding a maximum-
size clique, a maximum-size stable set, and a minimum clique cover in these graphs.
Karapetyan [1980] showed that (G) 23 (G) for any circular-arc graph G (prov-
ing a conjecture of Tucker [1975]). More on circular-arc graphs can be found in
Klee [1969], Tucker [1971,1974,1975,1978,1980], Trotter and Moore [1976], Garey,
Johnson, Miller, and Papadimitriou [1980], Golumbic [1980], Orlin, Bonuccelli, and
Bovet [1981], Gupta, Lee, and Leung [1982], Skrien [1982], Leung [1984], Hsu [1985,
1995], Teng and Tucker [1985], Apostolico and Hambrusch [1987], Golumbic and
Hammer [1988], Masuda and Nakajima [1988], Spinrad [1988], Shih and Hsu [1989a,
1989b], Bertossi and Moretti [1990], Hell, Bang-Jensen, and Huang [1990], Hsu and
Tsai [1991], Deng, Hell, and Huang [1992,1996], Eschen and Spinrad [1993], Hsu
and Spinrad [1995], Bhattacharya, Hell, and Huang [1996], Bhattacharya and Kaller
[1997], Hell and Huang [1997], Feder, Hell, and Huang [1999], and McConnell [2001].
See also Section 65.6d.
A graph is a circle graph if its vertex set is a set of chords of the circle, two
chords being adjacent if they intersect or cross. For these graphs, Gavril [1973] gave
polynomial-time algorithms for finding a maximum-size clique and a maximum-size
stable set. Bouchet [1985,1987b,1994], Naji [1985], and Gabor, Supowit, and Hsu
[1989] showed that circle graphs can be recognized in polynomial time; this was
improved to quadratic time by Spinrad [1994]. (Related results can be found in
Fournier [1978], Garey, Johnson, Miller, and Papadimitriou [1980], Golumbic [1980],
Rotem and Urrutia [1981], de Fraysseix [1984], Hsu [1985], Naji [1985], Dagan,
Golumbic, and Pinter [1988], Gabor, Supowit, and Hsu [1989], Masuda, Nakajima,
Kashiwabara, and Fujisawa [1990], Felsner, M uller, and Wernisch [1994], Ma and
Spinrad [1994], Spinrad [1994], and Elmallah and Stewart [1998]. See also Section
65.6d.)
The weighted stable set problem was shown to be polynomial-time solvable
for graphs without K5 e minor by Barahona and Mahjoub [1994b]. (The graph
K5 e is obtained from K5 by deleting one edge.) Descriptions of the corresponding
polytopes are given by Barahona and Mahjoub [1994b,1994c].
Hsu, Ikura, and Nemhauser [1981] gave, for each fixed k, a polynomial-time
algorithm for the weighted stable set problem for graphs without odd circuits of
length larger than 2k + 1. A nice class for the vertex packing problem (obtained
from bipartite graphs and claw-free graphs by repeated substitution) was given by
Bertolazzi, De Simone, and Galluccio [1997]. Another nice class was given by De
Simone [1993].
In Section 60.3d (Corollary 60.5b) we gave a proof of Gy oris theorem (Gy ori
[1984]), stating that the following class of graphs G satisfies (G) = (G). Let A
be a {0, 1} matrix such that the 1s in each row form a contiguous interval. Then
G has vertex set {(i, j) | ai,j = 1}, where two pairs (i, j) and (i , j ) are adjacent if
and only if ai,j = ai ,j = 1. The method of Frank and Jord an [1995b] also yields a
polynomial-time algorithm to find a maximum-size stable set and a minimum clique
Section 64.9b. Colourings and orientations 1101
cover. Frank [1999a] gave an alternative algorithmic proof. This class of graphs is
not closed under taking induced subgraphs, and they need not be perfect.
Hammer, Mahadev, and de Werra [1985], Balas, Chv atal, and Nesetril [1987],
Balas and Yu [1989], De Simone and Sassano [1993], Hertz and de Werra [1993],
Hertz [1995,1997], Brandstadt and Hammer [1999], Mosca [1999], and Lozin [2000]
gave further classes of graphs for which the maximum-size or maximum-weight
clique problem is polynomial-time solvable.
size (D) such that no two vertices in U are connected by a directed path in D.
Then U is a stable set in G, since if two distinct u, v U are adjacent in G, say
(u, v) A, then (u, v) A , and hence A {(u, v)} is not acyclic. But then A
contains a directed path from v to u, a contradiction.
This shows (64.56). Deming [1979a] showed also a dual form of (64.54):
(64.58) (G) = max (D),
D
where D ranges over all acyclic orientations of G. Indeed, in (64.58) follows from
(64.56). To see , let U be a maximum-size stable set in G. Let D be any acyclic
orientation of G in which each vertex in U is a source. Then (D) |U | = (G).
(fixing some orientation of the edges). Then (G) k if and only if there are graphs
H1 , . . . , Ht on V satisfying
(64.60) pG = pH1 + + pHt ,
with (Hi ) k for i = 1, . . . , t. The number t can be exponentially large hence
(64.60) gives no good characterization for the stable set number. Similarly, (G) k
if and only if there are graphs satisfying (64.60) with (Hi ) k for i = 1, . . . , t.
Let G = (V, E) be a (simple) graph, with adjacency matrix AG . Motzkin and
Straus [1965] showed that the maximum value of xT AG x over x : V R+ satisfying
x(V ) = 1, is equal to 1 (G)1 .
Section 64.9d. Approximation algorithms 1103
The proof of this is easy: for any two nonadjacent vertices u, v with xu > 0 and
xv > 0, we can reset xu := xu + , xv := xv for some = 0 without decreasing
xT AG x. Hence the maximum value is attained by a vector x whose support is a
clique C. As x takes the maximum value, we should have xv = 1/|C| for each v C.
Then xT AG x is maximized if C is a maximum-size clique.
Motzkin and Straus theorem implies the result of Korn [1968] that the minimum
value of xT (I + AG )x over x : V R+ with x(V ) = 1, is equal to (G)1 . Indeed,
(64.61) min xT (I + AG )x = min xT (J AG )x = 1 max xT AG x = (G)1
x x x
= (G)1 .
More on this can be found in Gibbons, Hearn, Pardalos, and Ramana [1997].
Lovasz [1982,1994] gave surveys of algebraic, topological, and other methods
for the stable set and the vertex colouring problem.
Lund and Yannakakis [1993,1994] showed that unless NP=P, there do not exist a
constant c and a polynomial-time algorithm that finds a vertex-colouring of any
graph G using at most c(G) colours. (This was proved for c < 2 by Garey and
Johnson [1976].)
More generally, Lund and Yannakakis [1993,1994] showed that there exists an
> 0 such that, unless NP=P, there is no polynomial-time algorithm to find the
colouring number of a graph up to a factor of n (where n is the number of vertices).
A similar result for maximum-size stable sets was proved by Arora, Lund, Mot-
wani, Sudan, and Szegedy [1992,1998]. H astad [1996,1999] showed that, if NP=P,
then there is no > 0 and a polynomial-time algorithm that finds a clique that is
maximum-size up to a factor n1/2 . Under a slightly stronger complexity assump-
tion (NP=ZPP), H astad proved a factor of n1 .
For background, see Johnson [1992] and Papadimitriou [1994]. Related results
can be found in Hochbaum [1983a], Wigderson [1983], Berger and Rompel [1990],
Feige, Goldwasser, Lov asz, Safra, and Szegedy [1991,1996], Berman and Schnitger
[1992], Boppana and Halld orsson [1992], Bellare, Goldwasser, Lund, and Russell
[1993], Khanna, Linial, and Safra [1993,2000], Bellare and Sudan [1994], Feige and
Kilian [1994,1996,1998a,1998b,2000], Karger, Motwani, and Sudan [1994,1998], Bel-
lare, Goldreich, and Sudan [1995,1998], Feige [1995,1997], F urer [1995], H
astad
[1996,1999], Alon and Kahale [1998], Arora and Safra [1998], Engebretsen and
Holmerin [2000], Srinivasan [2000], and Khot [2001].
In contrast, there is an easy algorithm to obtain a vertex cover in a graph
G = (V, E) of size at most 2 (G) (F. Gavril 1974 (cf. Garey and Johnson [1979])):
choose any inclusionwise maximal matching M (greedily); then the set of vertices
covered by M is a vertex cover of size 2|M |. Since (G) |M |, this is a vertex
cover as described.
No polynomial-time algorithm yielding a factor better than 2 is known. H astad
[1997,2001] showed that, if NP=P, no factor better than 76 is achievable in polyno-
mial time.
See also Section 67.4f below.
1104 Chapter 64. Cliques, stable sets, and colouring
Yannakakis [1988,1991] showed that the stable set polytope of the line graph L(Kn )
of a complete graph Kn cannot be represented as the projection of a polytope in
higher dimensions that is symmetric under the automorphism group of L(Kn ). Cao
and Nemhauser [1998] characterized line graphs as those graphs whose stable set
polytope is determined by the inequalities corresponding to the matching polytope
constraints.
Euler, Junger, and Reinelt [1987] extended results of Padberg [1973] on facets
of the stable set polytope, to more general independence polytopes.
More on the stable set polytope can be found in Fulkerson [1971a], Chv atal
[1973a,1975a,1985a], Padberg [1973,1974b,1977,1979,1980,1984], Nemhauser and
Trotter [1974], Trotter [1975], Wolsey [1976], Balas and Zemel [1977], Naddef
and Pulleyblank [1981a], Sekiguchi [1983], Ikura and Nemhauser [1985], Grotschel,
Lovasz, and Schrijver [1986], Lovasz and Schrijver [1989,1991], Cheng and Cunning-
ham [1995,1997], C anovas, Landete, and Marn [2000], Lipt ak and Lov asz [2000,
2001], and Cheng and de Vries [2002a,2002b].
The convex hull of the incidence vectors of the stable sets of size at most a
given k is studied by Janssen and Kilakos [1999]. Generalizations of the stable
set polytope to more general 0, 1 programming and satisfiability problems were
studied by Johnson and Padberg [1982], Hooker [1996], and Sewell [1996].
Methods for and computational results on the stable set problem (or the equiva-
lent clique, vertex cover, and set packing problems) are given by Balas and Samuels-
son [1977], Chv atal [1977], Houck and Vemuganti [1977], Tarjan and Trojanowski
[1977], Georoy and Sumner [1978], Gerhards and Lindenberg [1979], Hansen
[1980b], Bar-Yehuda and Even [1981,1982,1985], Billionnet [1981], Chiba, Nishizeki,
and Saito [1982] (planar graphs), Hochbaum [1982,1983a], Loukakis and Tsouros
[1982], Baker [1983,1994], Clarkson [1983], Monien and Speckenmeyer [1983,1985],
Balas and Yu [1986], Jian [1986], Robson [1986], Shindo and Tomita [1988], Hurkens
and Schrijver [1989], Carraghan and Pardalos [1990], Nemhauser and Sigismondi
[1992], Balas and Xue [1991,1996], Boppana and Halld orsson [1992], Pardalos and
Rodgers [1992], Paschos [1992], Khuller, Vishkin, and Young [1993,1994], Berman
and F urer [1994], Mannino and Sassano [1994], Halld orsson [1995], Balas, Ceria,
Cornuejols, and Pataki [1996], Bourjolly, Laporte, and Mercure [1997], Halld orsson
and Radhakrishnan [1997], Alon and Kahale [1998], Arkin and Hassin [1998], Feige
and Kilian [1998a], Kleinberg and Goemans [1998], Chandra and Halld orsson [1999,
2001], Nagamochi and Ibaraki [1999b], Bar-Yehuda [2000], Halperin [2000,2002],
Krivelevich and Vu [2000], Chen, Kanj, and Jia [2001], Krivelevich, Nathaniel, and
Sudakov [2001a,2001b], and Guha, Hassin, Khuller, and Or [2002].
Methods for graph colouring are proposed and investigated by Christofides
[1971], Brown [1972], Matula, Marble, and Isaacson [1972], Corneil and Graham
[1973], Johnson [1974b], Wang [1974], Lawler [1976a], McDiarmid [1979], Matula
and Beck [1983], Syslo, Deo, and Kowalik [1983], Wigderson [1983], Edwards [1986],
Berger and Rompel [1990], Hertz [1991], Halld orsson [1993], Blum [1994], Demange,
Grisoni, and Paschos [1994], Karger, Motwani, and Sudan [1994,1998], Schiermeyer
[1994], Beigel and Eppstein [1995], Blum and Karger [1997], Krivelevich and Vu
[2000], Eppstein [2001], Halperin, Nathaniel, and Zwick [2001], Molloy and Reed
[2001], Stacho [2001], Alon and Krivelevich [2002], and Charikar [2002].
Section 64.9e. Further notes 1105
For computational results on clique, stable set, and colouring problems, consult
also Johnson and Trick [1996].
A survey of graph colouring algorithms was given by Matula, Marble, and Isaac-
son [1972]. Chiba, Nishizeki, and Saito [1981], Thomassen [1994], and Robertson,
Sanders, Seymour, and Thomas [1996] gave linear-time 5-colouring algorithms for
planar graphs. The worst-case behaviour of graph colouring algorithms was inves-
tigated by Johnson [1974b].
Mycielski [1955] showed that triangle-free graphs can have arbitrarily large
colouring number. King and Nemhauser [1974] and Gy arf
as [1987] and Fouquet,
Giakoumakis, Maire, and Thuillier [1995] studied classes of graphs for which the
colouring number can be bounded by a function of the clique number.
Gy as [1987] conjectures that there exists a function g : Z+ Z+ such that
arf
(G) g((G)) for each graph G without odd holes. Equivalently, for Z+ , let
g() be the maximum colouring number of a graph without odd holes and cliques of
size > . Then Gy arf
as conjectures that g is finite. It is easy to see that g(2) = 2.
N. Robertson, P.D. Seymour, and R. Thomas announced that they proved g(3) = 4
(this was conjectured by G. Ding).
Upper bounds for the stable set number of a graph in terms of the degrees were
presented by Hansen [1979,1980b]. Relations between the colouring number and the
fractional colouring number are investigated by Kilakos and Marcotte [1997]. Reed
[1998] discussed bounding the chromatic number of a graph by a convex combina-
tion of its clique number and its maximum degree plus 1. Gerke and McDiarmid
[2001a,2001b] investigated the ratio of the weighted colouring and the weighted
clique number.
A theorem of Tur an [1941] implies that any simple graph G with n vertices and
m edges satisfies:
n2
(64.62) (G) .
n + 2m
Bondy [1978] showed that m 2 (G) 1 if G is connected. A study of the relations
between several parameters derived from stability and colouring was given by Hell
and Roberts [1982].
A survey on the stable set problem is given by Padberg [1979], on approximation
methods for the stable set problem by Halld orsson [1998], and on colourings by
Jensen and Toft [1995] and Toft [1995]. Colouring is also discussed in most graph
theory books mentioned in Chapter 1.
Chapter 65
In this and the next two chapters, we consider the perfect graphs, intro-
duced by C. Berge in the 1960s. They turn out to unify several results in
combinatorial optimization, in particular, min-max relations and polyhe-
dral characterizations.
Berge proposed two conjectures, the weak and the strong perfect graph
conjecture. The second implies the first.
The weak perfect graph conjecture says that perfection is maintained under
taking the complementary graph. This was proved by Lov asz [1972c]: the
perfect graph theorem.
The strong perfect graph conjecture characterizes perfect graphs by exclud-
ing odd holes and odd antiholes. A proof of this was announced in May
2002 by Chudnovsky, Robertson, Seymour, and Thomas, resulting in the
strong perfect graph theorem. The announced proof is highly complicated,
and we cannot give it here.
Many of the results described in this and the next chapter follow directly as
a consequence of the strong perfect graph theorem (while some of them are
used in the proof). Where possible and appropriate, we give direct proofs
of these consequences.
In this chapter, we give general theory, in Chapter 66 we discuss classes of
perfect graphs, and in Chapter 67 we show the polynomial-time solvability
of the maximum-weight clique and minimum colouring problems for perfect
graphs.
As was observed by Cameron [1982], Theorem 65.2 implies that the ques-
tion Given a graph, is it perfect? belongs to co-NP. Indeed, to certify im-
perfection of a graph, it is sucient, and possible, to specify:
(65.5) (i) an induced subgraph G = (V, E),
(ii) integers , 2 with |V | = + 1, and
(iii) for each v V , an -colouring of G v and an -colouring of
G v.
This is possible, since, by Theorem 65.2, a minimally imperfect subgraph G
has these properties for := (G) and := (G). It is also sucient to
certify imperfection, since (65.5)(iii) implies that (G) and (G) ,
and hence by (65.5)(ii), that G is not perfect.
Theorem 65.2 implies:
65.3. Replication
Let G = (V, E) be a graph and let v V . Extend G with some new vertex, v
say, which is adjacent to v and to all vertices adjacent to v in G. In this way
we obtain a new graph H, which we say is obtained from G by duplicating v.
Repeated duplicating a vertex is called replicating. Replicating a vertex v by
a factor k means duplicating v k 1 times if k 1, and deleting v if k = 0.
1110 Chapter 65. Perfect graphs: general theory
The clique polytope of a graph G = (V, E) is the convex hull of the incidence
vectors of the cliques. Clearly, any vector x in the clique polytope satisfies:
(65.8) (i) xv 0 for each v V ,
(ii) x(S) 1 for each stable set S.
Fulkerson [1972a] and Chvatal [1975a] showed that Corollary 65.2d implies a
polyhedral characterization of perfect graphs:
65.4a. Lov
aszs proof of the replication lemma
The proof of Lov asz [1972c] of the weak perfect graph theorem is based on proving
the replication lemma (Corollary 65.2c above), as follows.
By (65.2), it suces to find a stable set S in H intersecting all maximum-size
cliques of H, since any induced subgraph of H is an induced subgraph of G or arises
from it by replication.
Consider an (G)-colouring of G, and let S be the colour containing v. Then
S intersects each maximum-size clique C of H. Indeed, if v C, then C is a
maximum-size clique of G, and so it intersects S. If v C, then also v C (as
C {v} is a clique), and so C intersects S.
This proves the replication lemma, which by repeated application gives Corol-
lary 65.2d. Since the proof of Corollary 65.2e given above only uses Corollary 65.2d,
this shows (with (65.12)) that the replication lemma implies the perfect graph the-
orem. This is Fulkersons proof of the equivalence of the replication lemma and the
weak perfect graph conjecture ( perfect graph theorem).
1112 Chapter 65. Perfect graphs: general theory
Proof. This follows from the facts that (G) = max{(G1 ), (G2 )} and (G) =
max{(G1 ), (G2 )}, and that induced subgraphs of G arise by the same construc-
tion from induced subgraphs of G1 and G2 .
Hence
(65.14) no minimally imperfect graph has a 0-join.
A 1-join (or join) of a graph G = (V, E) is a partition of V into subsets V1 and
V2 such that |V1 | 2, |V2 | 2, and such that there exist nonempty A1 V1 and
A2 V2 with the property that for all v1 V1 and v2 V2 :
(65.15) v1 and v2 are adjacent v1 A1 and v2 A2 .
Choose v1 A1 and v2 A2 , and define G1 := G[V1 {v2 }] and G2 := G[V2 {v1 }].
Then G is called the 1-join of G1 and G2 .
Bixby [1984] proved (generalizing a result of Lov
asz [1972c]):
Proof. Necessity follows from the fact that G1 and G2 are induced subgraphs of G.
To prove suciency, it suces to show (G) = (G), since each induced subgraph
of G arises by the same construction, or by a 0-join from induced subgraphs of G1
and G2 . Let := (G) and ai := (G[Ai ]) for i = 1, 2. It suces to show that for
each i = 1, 2,
(65.16) G[Vi ] has an -colouring such that Ai uses ai colours only,
since then we can assume that we use dierent colours for A1 and A2 (as a1 + a2
), yielding an -colouring of G.
To prove (65.16), we may assume that i = 1. Let G1 be the graph obtained from
G1 by replicating v2 by a factor a1 . So (G1 ) = . By the replication lemma,
G1 is perfect. Hence (G1 ) = (G1 ). As the clique of vertices obtained from v2 has
size a1 , we use only a1 colours for A1 , as required.
We next show that a minimally imperfect graph has no 2-join, except if it is an odd
circuit. This was shown by Cornuejols and Cunningham [1985] (for a special case)
and Kapoor [1994].
1114 Chapter 65. Perfect graphs: general theory
The proof uses the following special replication lemma (Cornuejols and Cun-
ningham [1985]). Let e = uv be an edge of a graph G. Let G be the graph obtained
from replicating v and deleting edge uv , where v is the new vertex.
Proof. It suces to show that G has a stable set S such that (G S ) < (G ).
If (G ) > (G), we can take S = {v }. So we may assume (G ) = (G). Let S
be the colour of an (G)-colouring of G with v S. Let S := (S \ {v}) {v }.
Then S is a stable set in G . If (G S ) < (G ) we are done. So assume that
(G S ) = (G ). Let C be a clique in G S of size (G). Since (GS) < (G)
and since G S = G S v, we know v C. Since (G ) = (G), we know
u C. Hence, C = {u, v} (since uv is not in a triangle). So (G ) = 2, and hence
vv is not contained in a triangle of G . But then v has degree 1 in G , implying
(G ) = (G) = (G) = (G ).
Next we consider a special 2-join, namely where the sets Ai and Bi in the
definition of 2-join are connected by a path in G[Vi ] (for i = 1, 2). For i = 1, 2, let Pi
be a shortest Ai Bi path in G[Vi ]. Define G1 := G[V1 V P2 ] and G2 := G[V2 V P1 ].
Proof. Necessity follows from the fact that G1 and G2 are induced subgraphs of
G. To prove suciency, it is enough to prove (G) = (G), since each induced
subgraph of G arises by the same construction, or by 1- or 0-joins, from induced
subgraphs of G1 and G2 . Define := (G), and
(65.18) ai := (G[Ai ]) and bi := (G[Bi ]) for i = 1, 2.
Note that perfection of G1 implies that |EP1 | |EP2 | (mod 2), since V P1 V P2
induces a hole in G1 .
For any colouring of a graph and any set X of vertices, let (X) denote the
set of colours used by X. We show that, for each i = 1, 2, G[Vi ] has an -colouring
: V {1, . . . , } such that
(65.19) (i) (Ai ) = {1, . . . , ai };
(ii) if |EPi | is even, then (Bi ) = {1, . . . , bi };
(iii) if |EPi | is odd, then (Bi ) = { bi + 1, . . . , }.
This yields an -colouring of G, by replacing the colour, i say, of any vertex in V2
by i + 1. (The correctness follows from a1 + a2 and b1 + b2 .)
To prove the existence of a colouring satisfying (65.19), we may assume i = 1.
Let v0 , v1 , . . . , vk be the vertices (in order) of the A2 B2 path P2 .
First assume that k > 1 or a1 + b1 . Let G1 be the graph arising from G1
by replicating vj by a factor
(65.20) a1 if j <k1 and j is even,
a1 if j <k1 and j is odd,
min{ a1 , b1 } if j =k1 and j is even,
min{a1 , b1 } if j =k1 and j is odd,
b1 if j = k.
Section 65.6. Pre-proof work on the strong perfect graph conjecture 1115
This implies:
Corollary 65.7a. Any minimally imperfect graph having a 2-join is an odd circuit.
In this section we survey research done on the strong perfect graph conjecture
before it was proved in general. Many of the results follow as a consequence
of the strong perfect graph theorem. Since the proof of this theorem is very
complicated, we will include proofs not based on the strong perfect graph
theorem.
5 Sets X and Y are called comparable if X Y or Y X.
1116 Chapter 65. Perfect graphs: general theory
The strong perfect graph theorem implies that each minimally imperfect graph is a
circuit or its complement, and hence is highly symmetric. Before the strong perfect
graph theorem was proved, several regularity properties of minimally imperfect
graphs were shown, initiated by the work of Padberg [1974a].
A graph G = (V, E) is called partitionable if |V | = (G)(G)+1 and (Gv) =
(G) and (G v) = (G) for each v V . By Corollary 65.2b, each minimally
imperfect graph is partitionable. As each partitionable graph is imperfect, the strong
perfect graph theorem is equivalent to: each partitionable graph has an odd hole or
odd antihole.
Partitionable graphs are characterized as follows6 . Our proof of necessity is
based on Gasparian [1996] (and is similar to the proof of Theorem 65.2).
II. To see suciency, let G satisfy the condition. As each vertex of G is in exactly
stable sets of size , there are exactly n maximum-size stable sets. Similarly, there
are exactly n maximum-size cliques.
Let M and N be the incidence matrix of the maximum-size stable sets and
maximum-size cliques, respectively. We can order the rows such that M N T = J I,
where J is the all-one nn-matrix, and I the identity matrix of order n. To see this,
each maximum-size stable set S intersects precisely maximum-size cliques, since
|S| = and each vertex v S is in precisely maximum-size cliques. Hence there is
a unique maximum-size clique C disjoint from S. Similarly, for each maximum-size
clique C there is a unique maximum-size stable set S disjoint from C.
So M N T = J I, implying
(65.22) M (J I)N T = M JN T M N T = JN T (J I) = J J + I
= nJ 2J + I = (J I)(J I) = M N T M N T .
Since M and N T are nonsingular, this implies N T M = J I.
Now choose v V . As N T M = J I, for each u V \ {v} there exists a
unique pair of a maximum-size clique Cu and a maximum-size stable set Su with
u Cu , v Su , and Cu Su = . Then for each w Cu we have Cw = Cu , since
w Cu and v Su . So the Cu partition V \ {v}, and hence (G v) = . Then
also (G v) = by symmetry.
Notes. One may show that | det M | = (G) and | det N | = (G) for any partition-
able graph. Indeed, since M 1 = (G) 1, we have that M 1 1 = (G)1 1. Hence
(G) divides det M (as (det M ) M 1 is an integer matrix). Similarly, (G) divides
det N . Now | det M det N | = | det(M N T )| = | det(J I)| = |V G| 1 = (G)(G).
So | det M | = (G) and | det N | = (G).
1118 Chapter 65. Perfect graphs: general theory
Shepherd [1994b] showed that a graph G is partitionable if and only if for some
p, q 2 with |V G| = pq + 1: (i) G has a family of |V G| stable sets of size p such
that each vertex is in precisely p of them, and (ii) G has no stable set S of size
p that intersects each clique of size q. A polynomial-time recognition algorithm of
partitionable graphs was given by Shepherd [2001].
Berge [1973a] gave the following further characterization of perfect graphs. For
any graph G = (V, E), let 2 (G) denote the bicolouring number of G, being the
minimum number of stable sets S1 , . . . , St such that each vertex is in two of the
Si . Alternatively, it is the minimum number of colours such that we can assign to
each vertex a pair of colours in such a way that any two adjacent vertices get two
disjoint pairs of colours.
Proof. To see necessity, we have 2(G) 2 (G) 2(G) for each graph G. Hence
if G is perfect, then (G) = (G), and hence 2 (G) = 2(G). As perfection is
closed under taking induced subgraphs, necessity of the condition follows.
To see suciency, let G be a minimally imperfect graph. Consider two nonad-
jacent vertices u and v. Then 2 (G) (G u) + (G v) + 1 (as we can take
{u, v} as a colour). Since, by the condition, 2 (G) = 2(G), we can assume, by
symmetry, that (G) (G u). Hence (G) (G u) (G u) (G),
contradicting the fact that G is minimally imperfect.
Theorem 65.12. Let G = (V, E) be a minimally imperfect graph. Then the polytope
determined by
(65.25) (i) xv 0 for v V ,
(ii) x(C) 1 for each clique C,
has precisely one noninteger vertex, namely 1 1, where := (G).
By the antiblocking relation, Theorem 65.12 implies that the stable set polytope
of a minimally imperfect graph has precisely one facet not given by the clique and
nonnegative constraints:
Corollary 65.12a. Let G = (V, E) be a minimally imperfect graph. Then the stable
set polytope of G is determined by:
(65.31) xv 0 for v V ,
x(C) 1 for each clique C,
x(V ) (G).
Proof. Directly from Theorem 65.12 applied to the antiblocking polytope of the
polytope determined by (65.25) (for G).
Before a proof of the strong perfect graph theorem in general was announced in
2002, it had been proved for several classes of graphs. Next to the classes to be
discussed in Chapter 66, it was shown for (among other):
claw-free graphs, that is, graphs not having K1,3 (a claw) as induced subgraph
(Parthasarathy and Ravindra [1976] (cf. Tucker [1979] and Maray and Reed
[1999], and Giles and Trotter [1981] for a simpler proof)).
It follows that the line graph L(G) of a graph G is perfect if and only if G contains
no odd circuit with at least five vertices as (not necessarily induced) subgraph.
So these graphs have edge-colouring number (G) equal to the maximum degree
(G) (if (G) 3); moreover, the matching number (G) is equal to the mini-
mum number of stars and triangles needed to cover the edges of G; this extends
Konigs edge-colouring and matching theorems (cf. Trotter [1977] and de Werra
[1978]).
Sbihi [1978,1980] and Minty [1980] showed that the weighted stable set problem
is solvable in strongly polynomial time for claw-free graphs (see Chapter 69). A
combinatorial polynomial-time algorithm for the colouring problem for claw-free
perfect graphs was given by Hsu [1981], and for the weighted clique and clique
cover problems by Hsu and Nemhauser [1981,1982,1984].
Chv atal and Sbihi [1988] gave a polynomial-time algorithm to recognize claw-
free perfect graphs, based on decomposition (cf. Maray and Reed [1999]). Koch
[1979] gave a polynomial-time algorithm which for any claw-free graph either
finds a maximum-size stable set and a minimum-size clique cover of equal cardi-
nalities, or else finds an odd hole or odd antihole.
Perfection of line graphs was also studied by Cao and Nemhauser [1998]. The
validity of the strong perfect graph conjecture for claw-free graphs was extended
to pan-free graphs by Olariu [1989b].
K4 -free graphs graphs not having K4 as subgraph (Tucker [1977b], cf. Tucker
[1979,1987a]).
Section 65.6d. Graph classes 1121
7 An partial proof was given by Parthasarathy and Ravindra [1979], cf. Tucker [1987b].
1122 Chapter 65. Perfect graphs: general theory
Figure 65.1
The perfect graph theorem implies that the strong perfect graph conjecture is true
also for the classes of graphs complementary to those listed above.
Since Ck and C k (for odd k 5) are claw-free, the result of Parthasarathy and
Ravindra [1976] implies that, to show the strong perfect graph theorem, it suces
to show that each minimally imperfect graph is claw-free.
Other classes of graphs for which the strong perfect graph conjecture holds were
found by Rao and Ravindra [1977], Olariu [1988d], Jamison and Olariu [1989b], Car-
ducci [1992], Galeana-S anchez [1993], Le [1993b], De Simone and Galluccio [1994],
Maire [1994b], Maray and Preissmann [1995], Xue [1995,1996], Ait Haddadene and
Gravier [1996], Maray, Porto, and Preissmann [1996], At Haddad`ene and Maray
[1997], Kroon, Sen, Deng, and Roy [1997], Babatsev [1998], Ho` ang and Le [2000b,
2001], and Gerber and Hertz [2001].
V. Chv atal noticed that the collection of 4-sets inducing the 4-vertex path P4 as a
subgraph, provides a useful tool in studying perfection. (Note that P4 is isomorphic
to P4 .) It led Chvatal [1984a] to conjecture the following semi-strong perfect graph
theorem, which was proved by Reed [1987] (announced in Reed [1985]).
Call two graphs G and H, with V G = V H, P4 -equivalent if for each U V one
has: U induces a P4 -subgraph of G if and only if U induces a P4 -subgraph of H.
Then Reeds theorem states that
(65.32) if G and H are P4 -equivalent and G is perfect, then H is perfect.
This theorem implies the perfect graph theorem, since G and G are P4 -equivalent.
On the other hand, the theorem is implied by the strong perfect graph theorem,
since any graph P4 -equivalent to an odd circuit of length at least 5 is equal to that
circuit or to its complement.
Other relations between the P4 -structure and perfection were proved by Chv atal
and Hoang [1985] and Chv atal, Lenhart, and Sbihi [1990]. Let G = (V, E) be a graph
and let V be partitioned into classes V0 and V1 , with both G[V0 ] and G[V1 ] perfect.
For each word x = x1 x2 x3 x4 of length 4 over the alphabet {0, 1}, let Qx denote
the set of chordless paths in G with vertices v1 , v2 , v3 , v4 (in order) with vi Vxi
for i = 1, 2, 3, 4. Then G is perfect if:
(65.33) (i) Q1000 = Q0100 = Q0111 = Q1011 = , or
Section 65.6f. Further notes on the strong perfect graph conjecture 1123
Markosyan and Karapetyan [1984] showed that the strong perfect graph conjecture
is equivalent to: each minimally imperfect graph G is regular of degree 2(G) 2.
For k, n Z+ , let Cn,k be the graph obtained from the circuit Cn (with n
vertices) by adding all edges connecting two vertices at distance less than k. If
n 1 (mod k + 1) and n 2k + 3, then Cn,k is partitionable. Chv atal [1976]
showed that the strong perfect graph conjecture is equivalent to: each minimally
imperfect graph G has C|V G|,(G) as spanning subgraph (not necessarily induced).
8 Arditti and de Werra [1976] claimed that Seinsches result also follows from the fact
that any graph without induced P4 subgraph is the comparability graph of a branching,
therewith overlooking C4 .
1124 Chapter 65. Perfect graphs: general theory
Bland, Huang, and Trotter [1979] and Chv atal, Graham, Perold, and White-
sides [1979] gave examples of partitionable graphs G not containing C|V G|,(G) as a
spanning subgraph. Seb o [1996a] and Bacs o, Boros, Gurvich, Maray, and Preiss-
mann [1998] showed that these constructions give no counterexamples to the strong
perfect graph conjecture. Related results are given by Chv atal [1984b]. A computer
search for partitionable graphs was reported by Lam, Swiercz, Thiel, and Regener
[1980].
Call a pair of vertices u, v in a graph an even pair if each induced u v path
has even length. Meyniel [1987] showed that a minimally imperfect graph has no
even pair. (This was extended to partitionable graphs by Bertschi and Reed [1987].)
Hougardy [1996a] proved that the strong perfect graph conjecture is equivalent to:
each properly induced subgraph of a minimally imperfect graph has an even pair or
is a clique. Bienstock [1991] showed that it is NP-complete to test if a graph has no
even pair. More on even pairs can be found in Ho` ang and Maray [1989], Bertschi
[1990], Hougardy [1995], Rusu [1995c], Everett, de Figueiredo, Linhares-Sales, Maf-
fray, Porto, and Reed [1997] (survey), Linhares Sales, Maray, and Reed [1997],
Linhares Sales and Maray [1998], de Figueiredo, Gimbel, Mello, and Szwarcfiter
[1999], Rusu [2000], and Everett, de Figueiredo, Linhares Sales, Maray, Porto, and
Reed [2001] (survey).
Promel and Steger [1992] showed that almost all Berge graphs are perfect: the
ratio of the number of n-vertex perfect graphs and the number of n-vertex Berge
graphs, tends to 1 if n .
The role of uniquely colourable perfect graphs for the strong perfect graph con-
jecture was investigated by Tucker [1983b]. Bacs o [1997] studied the conjecture that
a uniquely colourable perfect graph G is either a clique or contains two maximum-
size cliques intersecting each other in (G) 1 vertices. This is implied by the
strong perfect graph theorem. Related work was given by Sakuma [2000].
Corneil [1986] investigated families of graphs complete for the strong perfect
graph conjecture (that is, proving the conjecture for these graphs suces to prove
the conjecture in general).
Equivalent versions of the strong perfect graph conjecture were given by
Olaru [1972,1973b], Ravindra [1975], Markosyan [1981], Markosyan and Gasparyan
[1987], Olariu [1990b], Huang [1991], Markosian, Gasparian, and Markosian [1992],
Galeana-S anchez [1993], De Simone and Galluccio [1994], Lonc and Zaremba [1995],
and Padberg [2001].
Giles, Trotter, and Tucker [1984], Hsu [1984], Fonlupt and Seb o [1990], Croitoru
and Radu [1992b], Seb o [1992], Panda and Mohanty [1997], and Rusu [1997] gave
further techniques for proving the strong perfect graph conjecture.
Several other properties of minimally imperfect and partitionable graphs were
derived by Olaru [1969,1972,1973a,1973b,1977,1980,1993,1998], Sachs [1970], Pad-
berg [1974a,1974b,1975,1976], Parthasarathy and Ravindra [1976], Tucker [1977b,
1983a], Olaru and Suciu [1979], Markosyan [1981,1985], Sridharan and George
[1982], Whitesides [1982], Buckingham and Golumbic [1983], Chv atal [1984c,1985c],
Grinstead [1984], Olaru and Sachs [1984], Chv atal and Sbihi [1987], Meyniel
[1987], Olariu [1988b,1988c,1990a,1991], Meyniel and Olariu [1989], Preissmann
[1990], Sebo [1992,1996a,1996b], Cornuejols and Reed [1993], Hougardy [1993], Maf-
fray [1993], Olariu and Stewart [1993], Hayward [1995], Ho` ang [1996c], Perz and
Zaremba [1996], Fouquet, Maire, Rusu, and Thuillier [1997], Gasparyan [1998],
Section 65.7a. Perz and Rolewiczs proof of the perfect graph theorem 1125
An interesting proof of the perfect graph theorem was given by Perz and Rolewicz
[1990]. It does not use the replication lemma, and is based on linear algebra, in a
manner dierent from the proof of Gasparian given in Section 65.2, namely on the
value of determinants.
In fact, Perz and Rolewicz [1990] show (in a dierent but equivalent terminol-
ogy) that a graph G = (V, E) is perfect if and only if Pstable set (G) and Pclique (G)
form an antiblocking pair of polytopes. They prove suciency in a way similar to
the proof of Fulkerson given for suciency in Corollary 65.2e above.
They proved necessity as follows. Choose a counterexample with |V | minimal.
So G is perfect, and Pstable set (G) and Pclique (G) do not form an antiblocking
pair. Hence there exist x A(Pstable set (G)) and y A(Pclique (G)) with xT y > 1.
Choose such x, y with xT y maximal. Let := xT y.
We first show
n
(65.34) ,
n1
where n := |V |. Indeed, for each u V , deleting the uth component of x and y, we
obtain vectors in A(Pstableset (G u)) and A(Pclique (G u)), respectively. By the
minimality of G, we have v= u xv yv 1. Hence
1 n
(65.35) = xv yv = xv yv .
v
n 1 u
n 1
v =u
This proves (65.34). By the minimality of G, we also have xv > 0 and yv > 0 for
each v.
Now 1 x Pclique (G), since otherwise there is a z A(Pclique (G)) with
1 T
x z > 1, contradicting the maximality of xT y. So there exist cliques C1 , . . . , Cn
and 1 , . . . , n > 0 such that
n
n
(65.36) x= i Ci and i = .
i=1 i=1
So the inequality is strict, and hence there is at least one j with Ci Sj = . Then
(65.40) 1 = x(Sj ) = i |Ci Sj | = i |Ci Sj | i = i .
i i =i i =i
one of (u, v) and (v, u) belongs to A.) Then a graph G = (V, E) is kernel solvable if
and only if any superorientation D of G has a kernel if each clique C of G induces
a subgraph of D with a kernel.
Kernel solvability is closed under taking induced subgraphs: if U V , and each
clique C of G[U ] has a total order <C , we can choose for each clique C of G a total
order which coincides with <CU on C U and which has C U as upper ideal.
Since neither Ck nor C k is kernel solvable for odd k 5, the strong perfect
graph theorem implies that each kernel solvable graph is perfect.
Boros and Gurvich [1996] proved that a graph G is perfect if and only if each
graph H arising from G by replicating vertices is kernel solvable. It implies that the
strong perfect graph theorem is equivalent to: each Berge graph is kernel solvable
(since the class of Berge graphs is closed under replicating vertices).
To show that each perfect graph is kernel solvable, we follow the proof method
of Aharoni and Holzman [1998]. We first prove the following results of Scarf [1967].
Let M and N be disjoint finite nonempty sets, and for each i M let <i be
a total order of N . For any U , write y <i U if y <i u for each u U . Define
K := M N .
Call a subset L of K light if for each j N there is an i M \L with j i L\M .
So any subset of a light set is light again. Let m := |M | and define
(65.43) S := {M } {L L light, |L| = m}.
Note that M is not light.
Now Scarf first proved:
Lemma 65.13. Any light set L with |L| = m 1 is contained in precisely two
sets in S.
Proof. Extend each <i to a total order on K, with i <i j <i i for all j N and
all i M \ {i}. Then
(65.44) any subset L of K is light if and only if for each k K there is an
i M with k i L.
To see necessity in (65.44), let L K be light and let k K. If k M , then
k k L. If k N , then there is an i M \ L with k i L \ M . As i L, we have
also k i L M (since k i M \ {i}). So k i L.
To see suciency in (65.44), suppose k Ki M : k i L. Let j N . Then
i M : j i L. Then i L (as otherwise j i i). Moreover, j i L \ M . This
proves (65.44).
For any i M and any nonempty U K, let mini U and maxi U denote the
minimal and maximal element of U with respect to <i .
First assume that L M , say L = M \ {i}. Then L is contained in M , which
belongs to S. Moreover, z := maxi N is the unique element with L {z} light.10
This proves the lemma.
So henceforth we can assume that L M . Define : M L by (i) := mini L.
Then is onto, since, as L is light, for each r L there is an i M with r i L.
So r = mini L = (i).
10 For let x N . Then L {x} is light j N i M \ L : j i (L {x}) \ M
j N : j i x x = maxi N .
1128 Chapter 65. Perfect graphs: general theory
We first show that L{r1 } and L{r2 } are light. Suppose that (say) L{r1 } is not
light. So there is a k K with k i L {r1 } for each i M . Since r1 i L for each
i= i1 (by definition of R1 ), it follows that k i L for each i = i1 . Hence k R1 .
However, r1 <i1 L, since r1 R1 and r1 i L for some i M . So k i1 r1 <i1 L,
and therefore k i1 L {r1 }, a contradiction. So L {r1 } and L {r2 } are light.
Finally we show that for any s K \ L, if L {s} is light, then s = r1 or
s = r2 . So let L {s} be light. Then the function : M L {s} defined by
(i) := mini (L {s}) is onto (as L {s} is light), implying that it is one-to-one (as
|M | = |L{s}|). Hence coincides with on all but one element of M . Necessarily
the exceptional element belongs to {i1 , i2 }. Say (i) = (i) for each i = i1 , while
(i1 ) = s. So mini L = (i) = (i) <i s for each i = i1 ; that is, s R1 . Suppose
s= r1 . So s <i1 r1 . Then r1 i L {s} for each i M , contradicting the fact that
L {s} is light.
Proof. We can assume, by slightly perturbing b, that for each vertex x of P there
are precisely n constraints among x 0, Ax b satisfied with equality. Add n
to each index i of <i . (So x <n+i y in the new notation x <i y in the old
notation.) Let N := {1, . . . , n}, M := {n + 1, . . . , n + m}, and K := N M . For
each face f of P define
(65.48) Kf := {k K | the kth constraint in x 0, Ax b is not tight at
some point in f }.
So |Kv | = m for any vertex v and |Ke | = m + 1 for any edge e. Call an edge e of
P good if 1 Ke and the set Ke \ {1} belongs to S (cf. (65.43)).
Now 0 is incident with precisely one good edge. Hence there is a vertex v = 0
incident with an odd number of good edges. We show that Kv S, and hence Kv
is light (since Kv = M , as v = 0), implying that v satisfies (65.47).
Section 65.7b. Kernel solvability 1129
Proof. Let G = (V, E) be a perfect graph, and for each clique C, let <C be a total
order on C. We must prove that
(65.49) there exist a stable set S such that for each v V there is a clique C
and an element s C S with v C and v C s.
Extend each <C to a total order on V with w <C v for each w C, v V \ C.
Then by Theorem 65.13, the polytope in RV determined by x 0, x(C) 1 (C
clique), has a vertex x such that for each v V there is a clique C with x(C) = 1
and such that xu = 0 for each u <C v. By Corollary 65.2e, x is the incidence vector
of some stable set S. So for each v V there is a clique C with |C S| = 1 and
with u S if u <C v. Therefore, for the vertex s in C S we have v C s, and
hence v C. This shows (65.49).
It was conjectured by Berge and Duchet that conversely, each kernel solvable
graph is perfect. This follows from the strong perfect graph theorem, since kernel
solvability is closed under taking induced subgraphs and since odd circuits of length
at least five and their complements are not kernel solvable.
It implies the following theorem found by Boros and Gurvich [1996], for which
we give a direct proof. A graph H is called a blow-up of a graph G, if H arises from
G by replicating vertices (replacing vertices by cliques).
Proof. Since each blow-up of a perfect graph is perfect again (by the replication
lemma (Corollary 65.2c)), necessity follows from Corollary 65.13a.
Suciency is shown by proving that each graph G = (V, E) with |V |
(G)(G) + 1 has a blow-up that is not kernel solvable. (This is sucient by The-
orem 65.2.)
Let C be the collection of cliques in G, and for each vertex v, let Cv be the
collection of cliques containing v. Let n := |V | and define
(65.50) Y := {y : C Z+ | y(C) n|C|}.
For each y Y , we choose a vertex vy of G with
(65.51) y(Cvy ) (G)|C|.
This is possible since
1130 Chapter 65. Perfect graphs: general theory
(65.52) y(Cv ) = |C|yC (G) yC (G)n|C|.
vV CC CC
Let H be the graph with vertex set Y , two distinct vertices y, z Y being adjacent
if vy = vz or vy and vz are adjacent in G. So H is a blow-up of G. We show that
H is not kernel solvable.
For each clique K Y of H, the set C := {vy | y K} is a clique of G. Then
choose a total order <K on K such that for all y, z K:
(65.53) if yC < zC , then y <K z.
Assume that H is kernel solvable. Then H has a stable set Z Y such that for
each y Y there is a z Z and a clique K of H with y, z K and y K z. As Z
is stable in H, the vz for z Z are distinct and form a stable set S in G. So for
each clique C of G there is at most one z Z with vz C. Define y : C Z+ by:
zC + 1 if vz C, for z Z,
(65.54) yC :=
0 if C S = .
Then y belongs to Y , since
(65.55) y(C) = (zC + 1) = (z(Cvz ) + |Cvz |) |Z|(G)|C| + |C|
zZ CCvz zZ
((G)(G) + 1)|C| n|C|.
(The first inequality follows from (65.51).) Hence there exist a z Z and a clique
K of H with y, z K and y K z. So for C := {vx | x K} we have, by (65.53),
yC zC . Since vz C (as z K), this contradicts (65.54).
Before the strong perfect graph conjecture was settled, and hence the conjec-
ture of Berge and Duchet, partial and related results on the latter conjecture were
obtained by Blidia [1986], Maray [1986,1992], Duchet [1987], Berge and Duchet
[1988b,1990], Champetier [1989], Blidia and Engel [1992], Blidia, Duchet, and Maf-
fray [1993,1994], Chilakamarri and Hamburger [1993], and Galeana-S anchez [1995,
1996,1997].
A composition generalizing the 1-join, the amalgam, was shown to preserve perfec-
tion by Burlet and Fonlupt [1984]. Let G1 = (V1 , E1 ) and G2 = (V2 , E2 ) be perfect
graphs such that K := V1 V2 is a clique in both graphs. For i = 1, 2, let vi Vi \ K
be such that each vertex in K is adjacent to vi and to each neighbour of vi . Let H
be the graph on (V1 \ {v1 }) (V2 \ {v2 }) obtained from the union of G1 v1 and
G2 v2 by adding all edges between N (v1 ) \ K and N (v2 ) \ K.
Proof. It suces to show that (H) = (H), since each induced subgraph of H
arises by the same construction.
For i = 1, 2, let pi := (Gi [N (vi )]) and let Gi be the graph obtained from Gi by
replicating vi by a factor (H) pi . So (Gi ) = (H). By the replication lemma,
Gi is perfect. Hence (H) = (Gi ).
Section 65.7d. Diperfect graphs 1131
Berge [1982a] introduced a directed variant of perfect graphs. In fact, there are two
symmetric variants, as no complementary phenomenon holds in the directed case.
A stable set or clique in a directed graph is a stable set of clique in the underlying
undirected graph. A directed graph D = (V, A) is called -diperfect if for every
induced subgraph D = (V , A ) of D and for each maximum-size stable set S in
D there is a partition of V into directed paths each intersecting S in exactly one
vertex.
Then:
(65.56) if the underlying undirected graph G of D is perfect, then D is -
diperfect.
Indeed, if G is perfect, there is a maximum-size stable set S and a partition of V
into cliques each intersecting S. Each clique C gives a tournament on C in D, and
hence, by Redeis theorem (Corollary 14.14a), it contains a directed path spanning
C.
Another class of -diperfect digraphs is formed by the symmetric digraphs:
directed graphs D = (V, A) such that if (u, v) A, then (v, u) A:
(65.57) each symmetric digraph is -diperfect.
To see this, let S be a maximum-size stable set in D, and let D arise from D by
deleting all arcs entering S. By the Gallai-Milgram theorem (Theorem 14.14), V
can be partitioned into |S| directed paths in D . These paths are as required.
Berge oered the following conjecture characterizing -diperfect digraphs:
(65.58) (?) A directed graph D = (V, A) is -diperfect if and only if D has no
induced subgraph C whose underlying undirected graph is a chordless
1132 Chapter 65. Perfect graphs: general theory
Figure 65.2
Section 65.7e. Further notes 1133
Cameron, Edmonds, and Lov asz [1986] showed that if the edges of a complete graph
are coloured with three colours such that no triangle gets three dierent colours,
and two of these colours form perfect graphs, then so does the third. (This general-
izes the perfect graph theorem.) A generalization and a related characterization of
perfection in terms of decomposition was given by Cameron and Edmonds [1997].
Markosyan and Karapetyan [1976] characterize perfection with the help of criti-
cal edges (edges e with (Ge) > (G)) and essential edges (edges e with (Ge) >
(G)). More on such edges can be found in Markosyan [1975], Karapetyan [1976],
Seb o [1996a], and Markossian, Gasparian, Karapetian, and Markosian [1998]. Edge-
minimal perfect graphs are studied by Wagler [1999], colouring perfect degener-
ate graphs by At Haddad`ene and Maray [1997], Gallai graphs and anti-Gallai
graphs by Le [1993a,1996b], and edge perfect graphs by M uller [1996].
An alternative polyhedral characterization of perfection of graphs was given by
Zaremba and Perz [1982]. Related is the work of Zaremba [1991] and Hujter [1999].
Chandrasekaran and Tamir [1984] and Cook, Fonlupt, and Schrijver [1986]
showed that, for any perfect graph G = (V, E) and any weight w : V Z+ ,
the weighted colouring number is attained by a weighted colouring using at most
|V | dierent stable sets.
Von Rimscha [1983] showed that if G = (V, E) and H = (V, F ) are graphs with
G v isomorphic to H v for each v V , then G is perfect if and only if H is
perfect.
Bienstock [1991] showed that it is NP-complete to decide if a given graph has
an odd hole containing a prescribed vertex. More on the complexity of finding odd
holes can be found in Reed [1990]. A survey on forbidding holes and antiholes was
given by Hayward and Reed [2001].
Le [1996a] showed that if a graph G is imperfect and has no odd hole, then
the intersection graph of the edge sets of chordless circuits in G has an odd hole.
Akiyama and Chv atal [1990] characterized for which graphs G = (V, E) the in-
tersection graph of the triples spanning at least two edges, is perfect. Olaru and
M andrescu [1992] considered perfection of products of graphs, and de Werra and
Hertz [1999] perfection of sums of graphs. Hertz [1998] characterized the graphs for
which all graphs obtained by switching are perfect.
Variants of the notion of perfect graph were studied by K orner [1973], Duchet
[1980], Galeana-S anchez [1982,1986,1988], Duchet and Meyniel [1983], Galeana-
Sanchez and Neumann-Lara [1986,1991a,1991b,1994,1996,1998], Lehel and Tuza
[1986], Conforti, Corneil, and Mahjoub [1987], Cameron [1989], Brown, Corneil,
and Mahjoub [1990], Markosyan and Gasparyan [1990], Reed [1990], Scheinerman
and Trenk [1990,1993], Berge [1992b,1992a,1995], K orner, Simonyi, and Tuza [1992],
Lehel [1994], Trenk [1995], Cai and Corneil [1996], Markossian, Gasparian, and Reed
[1996], Tamura [1997,2000], Gutin and Zverovich [1998], De Simone and K orner
[1999], Huang and Guo [1999], Fachini and K orner [2000], and de Figueiredo and
Vuskovic [2000].
Introductions to and surveys of perfect graphs are given by Berge [1973b,1975,
1986], Golumbic [1980], Lov asz [1983b], Berge and Chv atal [1984] (a collection of
papers on perfect graphs), Chv atal [1985b,1987b], Jensen and Toft [1995], Toft
[1995], Ravindra [1997], Brandst adt, Le, and Spinrad [1999], and Ramrez Alfonsn
1134 Chapter 65. Perfect graphs: general theory
and Reed [2001] (a collection of survey papers on perfect graphs). The latter ref-
erence includes a bibliography on perfect graphs by Chv atal [2001]. Applications
of perfect graphs to graph entropy were surveyed by Simonyi [2001] (cf. Simonyi
[1995]). Algorithmic aspects are discussed in Golumbic [1984].
We refer for historical remarks on perfect graphs to Section 67.4g.
Chapter 66
Proof. Trivial.
Since the class of bipartite graphs is closed under taking induced sub-
graphs, this gives:
Corollary 66.1b (Konig-Rado edge cover theorem). For any bipartite graph
G, (G) = (G). Equivalently, the stable set number of any bipartite graph
(without isolated vertices) is equal to its edge cover number.
1136 Chapter 66. Classes of perfect graphs
Proof. Directly from the perfect graph theorem, since by Theorem 66.1, any
bipartite graph is perfect. Note that if G is a bipartite graph, then its cliques
have size at most 2; hence (G) is equal to the edge cover number of G if G
has no isolated vertices.
Complexity. In Part II on bipartite matching and covering, we saw that the op-
timization problems corresponding to the perfect graph parameters are solvable in
polynomial time, and their weighted versions are solvable in strongly polynomial
time, mainly by utilizing network flow techniques. We review the results.
The maximum-weight clique and the minimum colouring problem for bipartite
graphs are trivially solvable in strongly polynomial time. Also the weighted colour-
ing problem for bipartite graphs is easily solvable in strongly polynomial time.
A maximum-size stable set and a minimum clique cover in a bipartite graph can
be found in polynomial time (cf. Corollary 19.3a). Note that in bipartite graphs, the
minimum clique cover problem amounts to the minimum-size edge cover problem.
Also the weighted versions are solvable in strongly polynomial time by max-flow
techniques (cf. Corollary 21.25a). In bipartite graphs, the minimum weighted clique
cover problem amounts to the minimum-size b-edge cover problem.
A bipartite graph is easily recognized, by checking if there is no odd circuit.
In line graphs of bipartite graphs, finding a maximum-weight clique is trivial (by
checking all stars of the graph). In Sections 20.1 and 20.2 we saw that a minimum
weighted colouring can be found in strongly polynomial time.
Section 66.2. Comparability graphs 1137
Theorem 66.2. In any partially ordered set (V, ), the maximum size of a
chain is equal to the minimum number of antichains needed to cover V .
Proof. For any v V define the height of v as the maximum size of a chain in
V with maximum element v. Let k be the maximum height of the elements of
V . For i = 1, . . . , k, let Ai be the set of elements of height i. Then A1 , . . . , Ak
are antichains covering V , and moreover, there is a chain of size k, since there
is an element of height k.
We next consider a further class of perfect graphs, the chordal graphs (or
rigid circuit graphs or triangulated graphs). A graph G is called chordal
if each circuit in G of length at least 4 has a chord. (A chord is an edge
connecting two vertices of the circuit that are nonadjacent in the circuit.)
Equivalently, a graph is chordal if it has no hole.
Section 66.3. Chordal graphs 1139
For any set U of vertices, let N (U ) denote the set of vertices not in U that
are adjacent to at least one vertex in U . Call a vertex v simplicial if N ({v})
is a clique in G.
Dirac [1961] showed the following basic property of chordal graphs:
(The proof of Theorem 66.3 implies that, in a chordal graph, each vertex v
that is nonadjacent to at least one vertex w = v, is nonadjacent to at least
one simplicial vertex w = v. Hence each noncomplete chordal graph contains
at least two nonadjacent simplicial vertices.)
As was observed by Fulkerson [1972a], Theorem 66.3 implies a result
of Berge [1963a] (the result was announced (with partial proof) in Berge
[1960a]):
With the perfect graph theorem, this implies the following result of Hajnal
and Sur
anyi [1958] (which also can be derived directly from Theorem 66.3):
Proof. Directly from Corollary 66.4a and the perfect graph theorem (Corol-
lary 65.2a).
set can be found by a greedy method: first find an interval I C with sup I minimal.
Next find recursively a maximum-size stable set S among the intervals in C disjoint
from I. Then S {I} is a maximum-size stable set in G.
In reply to questions of Hajos [1957] and Benzer [1959], interval graphs have
been characterized by Lekkerkerker and Boland [1962] (cf. Halin [1982]), Gilmore
and Homan [1964], and Fulkerson and Gross [1965]. The latter paper gives a
polynomial-time recognition algorithm. A linear-time recognition algorithm was
given by Booth and Lueker [1975,1976]. This was simplified by Korte and M ohring
[1987], Corneil, Olariu, and Stewart [1998], Hsu and Ma [1999], and Hsu [2002].
More on interval graphs can be found in the books by Golumbic [1980], Skrien
[1982], Fishburn [1985], and Brandstadt, Le, and Spinrad [1999], and in the survey
article by Golumbic [1985].
Split graphs. A split graph is a graph G = (V, E) where V can be partitioned into
a clique C and a stable set S. Trivially, a split graph is perfect, since C is contained
in a maximum-size clique; hence we can assume that C is a maximum-size clique; so
for each s S there is a c C nonadjacent to s; this yields a |C|-vertex-colouring
of G.
A graph G is a split graph if and only if both G and G are chordal graphs
(Foldes and Hammer [1977], Hammer and Simeone [1981]). The book by Golumbic
[1980] devotes a chapter to split graphs.
Trivially perfect graphs. Golumbic [1978] calls a graph trivially perfect if for
each induced subgraph, the stability number is equal to the number of inclusion-
wise maximal cliques. Trivially, each trivially perfect graph is perfect. Choudom,
Parthasarathy, and Ravindra [1975] and Golumbic [1978] showed that a graph is
trivially perfect if and only if it has no induced subgraph equal to the path P4 or
the circuit C4 (each with 4 vertices). This implies (by a theorem of Wolk [1962]
(proof simplified in Wolk [1965])) that a graph is trivially perfect if and only if it
is the comparability graph coming from a branching. Another characterization of
trivially perfect graphs was given by Alexe and Olaru [1997].
Strongly chordal graphs have been studied by Farber [1983,1984] and Kaplan and
Shamir [1994], and an analogue of chordal graphs for bipartite graphs by Golumbic
and Goss [1978].
Proof. Directly from Corollary 66.4b and Theorem 66.5, using Lemma 66.5.
(This result was also stated by Cockayne, Hedetniemi, and Slater [1979].)
Similarly we have:
Proof. Directly from Theorems 66.4 and 66.5, again using Lemma 66.5.
Variations of the problem of packing and covering a tree by subtrees were stud-
ied by Barany, Edmonds, and Wolsey [1986]. More characterizations of chordal
graphs were oered by Benzaken, Crama, Duchet, Hammer, and Maray [1990].
More on chordal graphs can be found in the book of Golumbic [1980] and in
Skrien [1982], Leung [1984], Seymour and Weaver [1984] (a generalization of chordal
graphs), Lubiw [1987], Wallis and Wu [1995], and Nakamura and Tamura [2000] (a
generalization to bidirected graphs).
Ravindra [1982] showed that each Meyniel graph is strongly perfect (see
Section 66.5a below). This was extended by Ho` ang [1987b], who showed that
Meyniel graphs are precisely those graphs with the property that for each
induced subgraph H and each vertex v of H, there exists a stable set in H
containing v and intersecting all inclusionwise maximal cliques of H. (This
was conjectured by Meyniel.)
Complexity. Burlet and Fonlupt [1984] showed that the class of Meyniel graphs
is closed under amalgamation (see Section 65.7c) and that each Meyniel graph
arises by amalgamation from chordal graphs and bipartite graphs added with one
Section 66.5a. Strongly perfect graphs 1145
vertex connected to all vertices of the bipartite graph. They showed that it yields a
polynomial-time recognition algorithm (speeded up by Roussel and Rusu [1999b]).
Ho`ang [1987b] gave an O(n8 )-time algorithm to find a minimum colouring and
a maximum clique. An O(n3 ) algorithm was given by Hertz [1990a].
(Conforti, Cornuejols, Kapoor, and Vuskovic [1999] consider an extension by
decomposing cap-free graphs (where a cap is a circuit with exactly one chord, con-
necting two vertices at distance two in the circuit) a (not necessarily perfect)
generalization of Meyniel graphs.)
Gallai graphs. As mentioned, these are graphs in which each odd circuit of length
5 has two noncrossing chords. Polynomial-time recognition algorithms were given
by Burlet and Fonlupt [1984], Whitesides [1984], and Cicerone and Di Stefano
[1999b] (linear-time). The latter paper also gives a linear-time maximum-weight
clique algorithm. A linear-time colouring algorithm was found by Roussel and Rusu
[1999a].
Parity graphs. As mentioned, these are graphs in which each odd circuit of length
5 has two crossing chords. Parity graphs can be characterized alternatively as
those graphs such that for each pair u, v of vertices, all chordless u v paths have
the same parity.
Combinatorial strongly polynomial-time algorithms to solve the weighted clique,
stable set, colouring, and clique cover problems in parity graphs were given by
Burlet and Uhry [1982], who also gave a polynomial-time recognition algorithm (by
decomposition of the graph into smaller parity graphs).
The parity graphs include the line-perfect graphs, which are graphs whose line
graph is perfect. They were characterized by Trotter [1977] see the claw-free
graphs in Section 65.6d. More on parity graphs can be found in Adhar and Peng
[1990], Bandelt and Mulder [1991], Przytycka and Corneil [1991], Rusu [1995b],
Jansen [1998], and Cicerone and Di Stefano [1999a].
Following Berge and Duchet [1984], a graph G = (V, E) is strongly perfect if each
induced subgraph H has a stable set intersecting all inclusionwise maximal cliques
of H. Each strongly perfect graph is perfect (by (65.2)). Berge and Duchet showed
that comparability graphs, chordal graphs, and complements of chordal graphs are
strongly perfect. Ravindra [1982] showed that Meyniel graphs are strongly perfect,
and Chv atal [1984d] that perfectly orderable graphs are strongly perfect.
Berge and Duchet also showed that the recognition problem for strongly perfect
graphs belongs to co-NP. No combinatorial polynomial-time algorithms are known
for the optimization problems for strongly perfect graphs.
Olaru [1996] showed that the graphs that are both minimally strongly imper-
fect and imperfect are precisely the odd circuits of length at least five and their
complements. Hence to prove the strong perfect graph theorem it suces to show
that each minimally imperfect graph is also minimally strongly imperfect.
1146 Chapter 66. Classes of perfect graphs
Proof. We can assume that V = {1, . . . , n} and that if (i, j) A, then i < j. Let
S be the stable set with (2i | i S) maximal. Then each v S has a neighbour
u S with u < v, since otherwise (S \ N (v)) {v} is better than S.
We show that each inclusionwise maximal clique K intersects S. Suppose K
S = . For s S, let Ks be the set of neighbours v K with s < v. Choose
s S with (2i | i Ks ) maximal. As K is a maximal clique, s is nonadjacent
to some v K. Let u S be a neighbour of v with u < v. So v Ku \ Ks . By
the choice of s, there is a vertex i Ks \ Ku with i > v. So u < v < i, and hence
u and i are nonadjacent (otherwise i Ku ). As u and s are nonadjacent (since
u, s S) and v and i are adjacent (since v, i K), u, v, i, s induce a P4 subgraph
with (u, v), (v, i), (s, i) A, a contradiction.
(Another proof, and a generalization, of this was given by Duchet and Olariu [1991].)
Note that the set S in this proof can be found by a greedy method. So we can
find an optimum colouring in polynomial time. Given an orientation as above, also
a maximum-size clique can be found in a greedy way see Chv atal [1984d]. Ho`
ang
[1994] gave O(nm)-time algorithms, also for the weighted versions. Middendorf and
Pfeier [1990a] showed that it is NP-complete to decide if a graph is perfectly
orderable.
Comparability graphs, chordal graphs, and complements of chordal graphs are
perfectly orderable.
More on perfectly orderable graphs can be found in Cochand and de Werra
[1986], Preissmann, de Werra, and Mahadev [1986], Chv atal, Ho` ang, Mahadev,
and de Werra [1987], Lehel [1987], Hertz [1988,1990b], Ho` ang and Khouzam [1988],
Olariu [1988a,1993], Bielak [1989], Ho` ang and Mahadev [1989], Ho` ang and Reed
[1989a,1989b], Jamison and Olariu [1989a], Chv atal [1990,1993], Ho` ang, Maray,
and Preissmann [1991], Croitoru and Radu [1992a], Ho` ang, Maray, Olariu, and
Preissmann [1992], Gavril, Toledano Laredo, and de Werra [1994], Arikati and
Peled [1996], Giakoumakis [1996], Ho`ang [1996a,1996b,2001], Rusu [1996], Hayward
[1997a], Ho`ang, Maray, and Noy [1999], and Ho` ang and Tu [2000].
More classes of graphs based on orienting or colouring edges are given by Ho` ang
[1987a].
Section 66.5c. Unimodular graphs 1147
Weakly chordal graphs. A graph G = (V, E) is called weakly chordal (or weakly
triangulated) if neither G nor its complement contains a chordless circuit of length at
least 5. Hayward [1985] showed that weakly chordal graphs are perfect. Polynomial-
time algorithms for the optimization problems related to weakly chordal graphs
were given by Hayward, Ho` ang, and Maray [1989], Spinrad and Sritharan [1995],
and Hayward, Spinrad, and Sritharan [2000], and polynomial-time recognition al-
gorithms by Spinrad and Sritharan [1995] and Hayward, Spinrad, and Sritharan
[2000]. The class of weakly chordal graphs contains both the chordal graphs and
their complements.
More on weakly chordal graphs is given in Ho` ang, Maray, Olariu, and Preiss-
mann [1992], Hayward [1996,1997a,1997b], and McMorris, Wang, and Zhang [1998].
Weakly chordal comparability graphs were studied by Eschen, Hayward, Spinrad,
and Sritharan [1999].
[1976], Payan [1983], Golumbic, Monma, and Trotter [1984], Hammer and Ma-
hadev [1985], Monma, Reed, and Trotter [1988], Hertz [1989a,1989b,1989c], Ho` ang
and Maray [1989,1992], Bertschi [1990], Lubiw [1991b], Sun [1991], Croitoru and
Radu [1993], Gurvich, Temkin, Udalov, and Shapovalov [1993], Thomas [1993],
Maire [1994b,1996], Rusu [1995b,1999c,1999a], Cheah and Corneil [1996], Gy arf
as,
Kratsch, Lehel, and Maray [1996] Giakoumakis [1997], Giakoumakis and Rusu
[1997], and Maray and Preissmann [1999]. Le [2000] gave conjectures on the per-
fection of certain classes of graphs. A survey of several classes of perfect graphs and
their recognition and interrelations, is given in the book by Brandst adt, Le, and
Spinrad [1999]. The book of Simon [1992] studies ecient algorithms for classes
some of perfect graphs.
Conforti, Cornuejols, Kapoor, and Vuskovic [1997] investigated universally
signable graphs, a generalization of chordal graphs.
Hammer and Maray [1993] introduced preperfect graphs, and showed that
each preperfect graph is perfect, and that preperfect graphs include the Gallai and
the parity graphs (cf. Section 66.4).
Corneil and Stewart [1990] studied the complexity of finding minimum-size dom-
inating sets in several classes of perfect graphs. (A dominating set is a set U of
vertices with U N (U ) = V .)
Berge and Las Vergnas [1970] showed that a graph G is perfect if for each odd
circuit C and each maximal clique K, the intersection of C and K does not consist
of two vertices that form an edge of C.
Vertex cuts in perfect and minimally imperfect graphs were surveyed by Rusu
[2001]. A characterization of perfect total graphs was given by Rao and Ravindra
[1977].
Figure 66.1
Lovasz [1983b] calls a graph k-perfect if for each induced subgraph G = (V, E)
one has:
(66.7) k (G) = min (k(G U ) + |U |)
U V
where k (G) is the maximum size of a union of k cliques. By the results of Greene
and Kleitman (Corollaries 14.8a and 14.10a), comparability graphs and their com-
plements are k-perfect for each k. Also, complements of line graphs of bipartite
graphs are k-perfect, by Corollary 21.4b. On the other hand, the line graph of the
Section 66.5e. Further notes 1151
bipartite graph in Figure 66.1 is not 2-perfect (Greene [1976]). Related results were
given by Berge [1989b,1992a,1992b] and Cameron [1989].
A.J. Homan and E.L. Johnson (cf. Golumbic [1980]) proposed the following
sharpening of perfection. Let G = (V, E) be a graph and let w : V Z+ . A k-
interval colouring is an assignment to each vertex v of an open subinterval of [0, k]
of length w(v) such that adjacent vertices obtain disjoint intervals. Let int (G, w)
denote the minimum value of k for which G has a k-interval colouring. If w(v) = 1
for each vertex v, then int (G, w) = (G). Call G superperfect if int (G, w) is equal
to the maximum of w(K) over all cliques K in G. As Homan observed, each com-
parability graph is superperfect (this can be derived from Dilworths decomposition
theorem), but none of the other known interesting classes of perfect graphs have
this property.
A survey on subclasses of classical perfect graphs (comparability graphs and
chordal graphs) was given by Duchet [1984]. More examples and applications of
perfect graphs were given by Shannon [1956], Berge [1967], and Tucker [1973a].
Chapter 67
Proof. To see (G) (G), let S be a maximum-size stable set and let M
be the matrix given by:
1 S S T
(67.3) M := ( ) .
|S|
Here S is the incidence vector of S in RV . Then M belongs to MG and is
positive semidefinite. Hence (G) = |S| = 1T M 1 (G).
To see (G) (G), let M attain the maximum in (67.1). Consider
cliques C1 , . . . , Ck and 1 , . . . , k 0 with
k
k
(67.4) i Ci = 1 and i = (G).
i=1 i=1
Then, setting := (G):
k
(67.5) 0 i ( Ci 1)T M ( Ci 1)
i=1
k k
= 2
i (Ci )T M Ci 2 i (C1 )T M 1 + 1T M 1
i=1 i=1
= 2 TrM 21T M 1 + 1T M 1 = 2 (G),
since TrM = 1, 1T M 1 = (G), and Mu,v = 0 if u = v and u, v Ci for some
i.
(67.5) implies that (G) = (G).
Theorem 67.2. There is an algorithm that for any given graph G = (V, E)
and any > 0, returns a rational closer than to (G), in time bounded by
a polynomial in |V | and log(1/).
Corollary 67.2a. For any graph G satisfying (G) = (G), the stable set
number can be found in polynomial time.
Proof. Theorem 67.1 implies (G) = (G) = (G), and by Theorem 67.2 we
can find a number closer than 21 to (G) in time polynomial in |V |. Rounding
to the closest integer yields (G).
for u V Gw and v V G.
First let M attain the maximum in (67.10). Then M := DM DT is posi-
tive semidefinite, and, moreover, belongs to MGw . Indeed, for adjacent ver-
tices u, u of Gw , say u Sv and u Sv , with v and v adjacent vertices of
G, we have Mv,v = 0, and hence
T
(67.12) Mu,u = (DM D )u,u = Du,t Mt,t Du ,t
t,t V G
1 1
= w(v) 2 w(v ) 2 Mv,v = 0.
Also (setting vu := v if u Sv ):
(67.13) TrM = Tr(DM DT ) = Du,v Du,v Mv,v
uV Gw v,v V G
= w(vu )1 Mvu ,vu = w(v)1 w(v)Mv,v = TrM = 1.
uV Gw vV G
So M MGw . Hence
T
(67.14) w (G) = (Gw ) 1T M 1 = 1T (DM DT )1 = w M w.
This shows in (67.10).
To see the reverse inequality, let M be a positive semidefinite matrix in
MGw with 1T M 1 = (Gw ). Then M := DT M D is positive semidefinite,
and, moreover, belongs to MG . Indeed, for adjacent v, v V G we have
(67.15) Mv,v = (DT M D)v,v =
Du,v Du ,v Mu,u
u,u V Gw
21 1
= w(v) w(v ) 2 Mu,u
= 0.
uSv u Sv
Also:
(67.16) TrM = Du,v Du ,v Mu,u
vV
G u,u V Gw
= w(v)1 Mu,u
Mu,u = TrM = 1.
vV G uSv u Sv vV G uSv
The inequality holds as for any positive semidefinite matrix A one has:
1T A1 1T 1 TrA, since the largest eigenvalue of A is at most TrA. This is
applied to the Sv Sv submatrix of M , for each v V .
Hence the matrix M := (TrM )1 M belongs to MG , and so the maximum
T
in (67.10) is at least w M w, and hence at least
T T
(67.17) w M w = w DT M D w = 1T M 1 = w (G).
Theorem 67.5. There is an algorithm that for any given graph G = (V, E),
any w : V Z+ , and any > 0, returns a rational closer than to w (G),
in time bounded by a polynomial in |V |, log w , and log(1/).
This implies:
Proof. Directly from Theorem 67.6, since stable sets in a perfect graph are
precisely the cliques in the complementary graph, which is again perfect.
Moreover, the vertex covers are precisely the complements of stable sets.
In this section we give some further results on the function (G), and we consider
the related convex body TH(G). We use the following notation, for vector a, b RV+ :
(67.23) b/a is the vector in RV with vth entry b(v)/a(v),
1 1
b = b 2 is the vector in RV with vth entry b(v) 2 ,
1 V 1
b 2 is the vector in R with vth entry b(v) 2 ,
b is the V V diagonal matrix with diagonal b.
1
We set (b/a)v := 0 if av = 0 and (b 2 )v := 0 if bv = 0. (This will turn out not to
harm the consistency.)
Moreover, we define, for any graph G = (V, E) and any symmetric matrix M :
(67.24) LG := the set of symmetric V V matrices A with Au,v = 0 if u = v
or u and v are nonadjacent;
(M ) := the largest eigenvalue of M ,
PSD := the set of symmetric positive semidefinite matrices.
1160 Chapter 67. Perfect graphs: polynomial-time solvability
For perfect graphs G = (V, E), we have (G)(G) |V |, and hence (G)(G)
|V |. The latter inequality holds for any graph G. To prove it, we use the following
fact from matrix theory:
Section 67.4a. Further on (G) 1161
is positive semidefinite. As the vth entry on the diagonal of b/a Ab/a is equal to
b(v)2 /a(v) (or 0 if a(v) = 0), which is at most b(v), we have that
(67.38) b/a Ab/a + (bb2 /a )
belongs to RG and has diagonal equal to b. This proves that b TH(G), and hence
TH(G) is down-monotone.
To obtain a relation of TH(G) with the function w (G), we first show the
following, where for x, y RV , x y is the vector in RV defined by:
(67.39) (x y)v := xv yv for v V .
T
Theorem 67.10. Let M maximize w M w over PSD MG . Then
1
(67.40) M w = w (G) b w 2 ,
where b := diagM .
Proof. This follows directly from Theorem 67.11 with the inequalities (67.53), since
for each w RV+ :
(67.55) w (G) = max{wT x | x Pstable set (G)},
w (G) = max{wT x | x TH(G)},
w (G) = max{wT x | x A(Pclique (G))}.
It turns out that taking the antiblocking body A(TH(G)) of TH(G) corresponds to
replacing G by its complement (Gr otschel, Lov
asz, and Schrijver [1986]). We first
observe that
(67.56) A(TH(G)) = {w RV+ | w (G) 1},
1164 Chapter 67. Perfect graphs: polynomial-time solvability
is positive semidefinite.
T
Define A := I 1 B 1 and z := b/w. So A LG and z z + A has
b 2 b2
largest eigenvalue at most 1. Hence z (G) 1 , and so
(67.65) w (G)z (G) = z (G) 1 = TrB = bT 1 = wT z z (G),
where the last inequality holds as w TH(G). Hence w (G) 1.
Section 67.4a. Further on (G) 1165
Facets of TH(G)
Theorem 67.13. For each graph G = (V, E), each facet F of TH(G) is determined
by an inequality xv 0 for some v V or by x(C) 1 for some clique C of G.
Lov
asz [1983b] showed that perfection can be characterized by the function (G).
To this end, Lov
asz first proved:
Proof. Let M be the incidence matrix of the maximum-size stable sets in G and
let N be the incidence matrix of the maximum-size cliques of G. Define n := |V G|,
:= (G), and := (G). We first show the second inequality.
Let be the smallest eigenvalue of N T N . Since N is nonsingular (Theorem
65.9), we know > 0, and since Tr(N T N ) = n and N T N 1 = 2 1, we know
< (otherwise Tr(N T N ) 2 + (n 1) > n). So
2
(67.78) N T N I J
n
Section 67.4b. The Shannon capacity (G) 1167
Shannon [1956] introduced the following parameter (G), now called the Shannon
capacity of a graph G.
The strong product G H of graphs G and H is the graph with vertex set
V G V H, with two distinct vertices (u, v) and (u , v ) adjacent if and only if u and
u are equal or adjacent in G and v and v are equal or adjacent in H.
The strong product of k copies of G is denoted by Gk . Then the Shannon
capacity (G) of G is defined by:
(67.83) (G) = sup k (Gk ).
k
Guo and Watanabe [1990] showed thatthere exist graphs G for which (G) is not
achieved by a finite product (that is, k (Gk ) < (G) for each k).
Since (Gk ) (G)k , we have
(67.85) (G) (G),
1168 Chapter 67. Perfect graphs: polynomial-time solvability
while strict inequality may hold: the 5-circuit C5 has (C5 ) = 2 and (C52 ) = 5. (If
C5 has vertices 1, . . . , 5 and edges 12, 23, 34, 45,
and 51, then (1, 1), (2, 3), (3, 5),
(4, 2), (5, 4) is a stable set in C52 .) So (C5 ) 5, and Shannon [1956] raised the
question if equality holds here. Shannon proved (C5 ) 52 ; more generally, he
proved, for any graph G:
(67.86) (G) (G),
where (G) is the fractional clique cover number. This bound can be proved by
showing that
(67.87) (G H) (G) (H).
This follows from the fact that if C and D are cliques of G and H respectively,
then C D is a clique of G H; hence if : C R+ and : D R+ are
minimum fractional clique covers for G and H respectively, where C and D denote
the collections of cliques of G and H respectively, then (where denotes tensor
product see footnote on page 1161, and 1U denotes the all-one vector in RU , for
any set U )
(67.88) C D CD = C D (C D )
CC DD CC DD
= C C D D = 1V G 1V H = 1V GV H
CC DD
and hence
(67.89) (G H) C D = C D = (G) (H).
CC DD CC DD
Proof. Since (G) (G), it suces to show that for each k: (Gk ) (G)k . For
this it suces to show that
(67.91) (G H) (G)(H)
for any graphs G and H.
By (67.26), there exist matrices A LG and B LH such that
(67.92) (G) = (JV G + A) and (H) = (JV H + B),
where JU denotes the U U all-one matrix, for any set U . Hence the matrices
(67.93) C := (G) IV G JV G A and D := (H) IV H JV H B
are positive semidefinite, where IU denotes the U U identity matrix, for any set
U.
Therefore, also the following matrix14 is positive semidefinite:
14 The tensor product of a W X matrix M and a Y Z matrix N (where W, X, Y, Z are
sets), is the (W Y ) (X Z) matrix M N defined by
Section 67.4b. The Shannon capacity (G) 1169
(67.94) C D + C JV H + JV G D = (C + JV G ) (D + JV H ) JV G JV H
= ((G) IV G A) ((H) IV H B) JV GV H
= (G)(H) IV GV H JV GV H M ,
where M := (G) IV G B + (H)A IV H A B. Since IV G B, A IV H , and
A B belong to LGH ,15 also M belongs to LGH . Therefore,
(67.95) (G H) (JV GV H + M ) (G)(H),
giving (67.91).
This proof consists of showing the inequality (67.91) for any two graphs G and
H. In fact, equality holds (Lov
asz [1979d]):
(67.96) (G H) = (G)(H).
Indeed, let M and N attain the maximum in definition (67.1) for (G) and (H)
respectively. Then M N MGH , and hence
(67.97) (G H) 1TV GV H (M N )1V GV H = (1TV G M 1V G )(1TV H N 1V H )
= (G)(H).
Theorem 67.15 implies that (C5 ) = 5. One may give an explicit construction
asz [1979d]):16
to prove this, but it also follows from the following general result (Lov
Theorem 67.16. For each graph G = (V, E): (G)(G) |V |, with equality if G
is vertex-transitive.
k
k
k
(67.104) |S| = |Su | = i |Su | = i |Ti | i (H)
uV G i=1 uCi i=1 i=1
= (G)(H).
This shows (67.101).
Rosenfeld [1967] showed that for each graph G:
(67.105) (G H) = (G)(H) for each graph H (G) = (G).
Here = follows from (67.101). To see =, let x QV+ G be a vector satisfying
x(C) 1 for each clique C, and 1T x = (G). Let K be a positive integer such
that w := K x is integer. Let Gw be the graph obtained from G by replacing each
vertex u by a clique Cu of size w(u) (where vertices in distinct Cu , Cu are adjacent
if and only if u and u are adjacent). Then (Gw ) K. Hence for H := Gw we
have (H) K.
Now let
(67.106) S := {(u, v) | u V G, v Cu }.
Then S is a stable set in G H, since if (u, v) and (u , v ) are distinct elements in
S, then, if u = u , v and v belong to Cu and hence are nonadjacent in H, and, if
u= u , u and u are nonadjacent in G or v and v are nonadjacent in H.
So |S| (G H) = (G)(H). Hence
1 1 1
(67.107) (G) = 1T x = 1T w = |S| (G)(H) (G).
K K K
Hence (G) = (G).
More results on the stable set number of products of graphs are given by Vizing
[1963], Barnes and Mackey [1978], and Jha and Slutzki [1994].
The following equality was given by Baumert, McEliece, Rodemich, Rumsey, Stan-
ley, and Taylor [1971] and Markosyan [1971]:
2
(67.108) (C2k+1 ) = k2 + 12 k.
directly follows from (67.101), since (C2k+1 ) = k and (C2k+1 ) = k + 12 . To
see , we may assume that the vertices of C2k+1 are 0, 1, . . . , 2k, in order. Then
the pairs (2i, 2i/k), for i = 1, . . . , k 2 + 21 k, where we take integers mod 2k + 1,
form a stable set of size k2 + 21 k in C2k+1 2
.
Baumert, McEliece, Rodemich, Rumsey, Stanley, and Taylor [1971] showed
moreover the following inequalities (next to several other estimates for (Cnk )):
k (n + 2)k 2k
(67.109) (Cn+2 )1+ (Cnk ),
nk
nk nk1
(Cnk ) ,
2k
(C5 ) = 10, (C5 ) = 25, (C73 ) = 33.
3 4
as required.
An alternative proof was given by Hell and Roberts [1982]. A related infor-
mation-theoretic characterization of perfect graphs was given by Csisz ar, K
orner,
Lovasz, Marton, and Simonyi [1990] (proving a conjecture of K orner and Mar-
ton [1988]). More on the colouring number of products of graphs can be found in
Borowiecki [1972], Greenwell and Lov asz [1974], Vesztergombi [1980,1981], Turzk
[1983], Duus, Sands, and Woodrow [1985], El-Zahar and Sauer [1985], Pus [1988],
Soukop [1988], Linial and Vazirani [1989], and Klavzar [1996] (survey).
Hales [1973] showed that for all graphs G, H:
(67.117) (G H) (G)(H),
and
(67.118) (C2k+1 C2l+1 ) = (k + 1)(l + 1) 12 min{k, l}.
2
McEliece and Taylor [1973] showed that (Cn,t ) = n/tn/t, where Cn,t is the
graph obtained from the circuit Cn by adding all chords connecting vertices at
distance less than t in Cn .
Section 67.4e. An operator strengthening convex bodies 1173
McEliece, Rodemich, and Rumsey [1978] and Schrijver [1979a] gave the following
sharper bound (G) on the stable set number (G), generally sharper than (G).
Again, let MG be the collection of symmetric V V matrices satisfying Mu,v = 0
for any two distinct adjacent vertices u and v, and TrM = 1. (Here TrM is the
trace of M (sum of diagonal elements).) Then define
(67.119) (G) := max{1T M 1 | M MG nonnegative and positive semi-
definite}.
Here 1 denotes the all-one vector in RV . Similarly to (G), the value of (G) can
be calculated in polynomial time. Moreover
(67.120) (G) (G) (G)
for each graph G. The first inequality is proved similarly to the proof of the first
inequality in Theorem 67.1, while the second inequality follows from the fact that
the range of the maximization problem for (G) is contained in that for (G).
(G) indeed can be a sharper upper bound on the stable set number than (G),
as M.R. Best (cf. Schrijver [1979a]) found the following example of a graph G with
(G) < (G). The vertex set is {0, 1}6 , two vectors being adjacent if and only if
their Hamming distance17 is at most 3. Then (G) = 4 whereas (G) = 16/3.
Schrijver [1979a] gave relations of (G) with the linear programming bound
for codes of Delsarte [1973]. Related work can be found in Schrijver [1981a] and
Miklos [1996]. (The polynomial-time computable upper bound for (G) given by
Luz [1995] is at least (G) for all graphs G.)
The matrix method describing TH(G) given in Section 67.4a can be seen as a special
case of a method of improving approximations of the stable set polytope in fact,
of any polytope with {0, 1} vertices (Lov
asz and Schrijver [1989,1991]).
Let K be a convex set, let R(A) be defined as in (67.35), and define
(67.121) NK := the collection of symmetric nn matrices A with R(A) positive
semidefinite, and with Ai Ai,i K and diagA Ai (1 Ai,i ) K
for each i = 1, . . . , n,
where Ai denotes the ith column of A.
Define the following new convex set N+ (K):
(67.122) N+ (K) := {diagA | A NK }.
Then N+ (K) [0, 1]n , since R(A) is positive semidefinite. The ellipsoid method
gives, for any collection K of convex sets:
(67.123) if the optimization problem over K is polynomial-time solvable for each
K K, then also the optimization problem over N+ (K) is polynomial-
time solvable for each K K.
17 The Hamming distance of two vectors of equal dimension is equal to the number of
coordinates in which they dier.
1174 Chapter 67. Perfect graphs: polynomial-time solvability
Hence
T
1 aT w a
(67.129) 0 (wT a, wT ) = (wT a)2 2(wT a)2 + wT Aw
a A w
(wT a)2 + wT a = ( wT a)wT a < 0,
since wT a < 0 and wT a > 0 (since wT x 0 for any x K [0, 1]n ).
This is a contradiction, showing (67.127).
Moreover, if K [0, 1]n , then N+ (K) remains to contain the integer hull of K:
(67.130) (N+ (K))I = KI .
To see this, it suces to show that x N+ (K) for each 0,1 vector x in K. Obviously,
A := xxT belongs to NK . Hence x = diagA belongs to N+ (K). This proves (67.130).
Finally, if K [0, 1]n , then repeated application of the N+ operator gives the
integer hull KI of K. In fact, one has:
n
(67.131) N+ (K) = KI .
This follows from the fact that for each j = 1, . . . , n:
Section 67.4f. Further notes 1175
Juhasz [1982] showed that for a random graph G on n vertices, (G) is of the order
n, while (G) is likely to be of the order log n. Knuth [1994] asked if there is
a constant c such that (G) c n(G) for each graph G. This was answered
negatively by Feige [1995,1997], who showed that there is a constant c > 0 such
that
(67.134) (G) > (G)n/2c log n
for infinitely many graphs G (where n := |V G|).
The results of Kashin and Konyagin [1981] and Konyagin [1981] imply that if
2 1 1
(G) 2, then (G) 2 3 n 3 and (in the worst case) (G) = (n 3 / log n).
Karger, Motwani, and Sudan [1994,1998] showed the existence of a constant
c > 0 such that
c
1 (G)
(67.135) (G) n
for each graph G (where n := |V G|). More on approximating (G) or (G) by (G)
can be found in Szegedy [1994] and Charikar [2002].
Kleinberg and Goemans [1998] observed that for any graph G:
(67.136) (G) 2(|V | (G)) 2 (G)
(where (G) is the vertex cover number of G), and they showed that the factor 2
cannot be improved. Thus the factor 2 as relative error of (G) for approximating
(G) is not improved by 2(|V | (G)).
1176 Chapter 67. Perfect graphs: polynomial-time solvability
Moreover, for any fixed G, the minimum of the right-hand side in (67.140) is equal
to the left-hand side.
For any v = (v1 , . . . , vk ) V k and s = (s1 , . . . , sk ) k define
k
k
(67.141) pv,s := pvi ,si and s := si .
i=1 i=1
Therefore,
k
(67.144) |C| .
k
1 q(C)
Now q(C) = 0 if and only if C is stable in Gk . Minimizing over all and probability
distributions pv, then yields
(67.145) k
|C| (G).
So this gives (67.138).
Shannon next observed that if a graph G = (V, E) has a function f : V V
f (v) for any distinct nonadjacent vertices u and v, and such that
such that f (u) =
f (V ) is a stable set, then (G) = (G). The condition clearly is equivalent to:
(G) = (G). Shannon noticed that this yields the value of (G) for all graphs G
1178 Chapter 67. Perfect graphs: polynomial-time solvability
with at most 5 vertices, except for C5 , for which he derived 5 (C5 ) 25 from
(67.138). Shannon observed that on 6 vertices all but four graphs have (G) = (G),
and that the Shannon capacity of these four graphs can be expressed in terms of
(C5 ). On 7 vertices, he stated that at least one new situation arises, namely C7 .
Shannon proved that if G and H are disjoint graphs, then (G + H)
(G) + (H) and (G H) (G) (H), and that equality holds if (G) = (G).
Moreover, he conjectured equality for all G, H, but for the product this was dis-
proved by Haemers [1979], and for the sum by Alon [1998].
Berge
which was shown by Lyubich [1964] to follow directly from Feketes lemma (Corol-
lary 2.2a).
According to Berge [1997], the problem of finding the minimal graphs G with
(G) < (G) was discussed in January 1960 at the Seminar of R. Fortet, where
he asked (prompted by graphs found by A. Ghouila-Houri) if it is true that each
graph G not having an odd hole or odd antihole satisfies (G) = (G):
This conjecture, somewhat weaker than the Perfect Graph Conjecture, was mo-
tivated by the remark that for the most usual channels, the graphs representing
the possible confusions between a set of signals (in particular the interval graphs)
have no odd holes and no odd antiholes, and are optimal in the sense of Shannon.
At the first international meeting on graph theory held at Dobog oko (Hungary)
in October 1959, Hajnal and Sur anyi [1958] presented the result that (G) = (G)
for each chordal graph G. This motivated Berge to show that the same holds for
complements of chordal graphs. This result was announced, with partial proof,
in the paper Berge [1960a], which moreover mentions that several known results
yield other classes of graphs G with (G) = (G). In particular, it is observed that
theorems of K onig imply that (G) = (G) if G or G is the line graph of a bipartite
graph proprietes remarquables (remarkable properties) according to Berge.
Section 67.4g. Historical notes on perfect graphs 1179
Nevertheless, Berge still felt that the weak conjecture was more promising. At a
conference at Rand Corporation in the summer of 1961, he had fruitful discussions
with Alan Homan, Ray Fulkerson and others. Later on, discussions between Alan
Homan and Paul Gilmore led Gilmore to a rediscovery of the Strong Perfect
Graph Conjecture and to an attempt to axiomatize the relevant properties of
cliques in perfect graphs.
Berge [1997] wrote that the discussions at the RAND Corporation with Alan Ho-
man encouraged him to write a paper in English. This paper might have been the
first version of the paper Some classes of perfect graphs (Berge [1963a]), published
in a booklet Six Papers on Graph Theory by the Indian Statistical Institute in
Calcutta, which Berge visited in March-April 1963 and where he gave a series of
lectures. The booklet contains no year of publication, and the preface mentions
that it is intended for private circulation, and that the papers will be given for
publication by journals.
The paper contains as new results that (G) = (G) for unimodular graphs and
their complements, and also a full proof that it holds for chordal graphs (announced
earlier). The paper seems to be the first written account of the concept of perfect
graph, and of the perfect graph conjectures, in the last section of the paper:
V. CONJECTURES
The problem of characterizing -perfect and -perfect graphs seems di-
cult, but the preceding results enable us to state several conjectures. For instance
:
Conjecture 1. A graph is -perfect if and only if it is -perfect
Conjecture 2. A graph is -perfect if and only if it does not contain an
elementary odd cycle of one of the following types :
type 1 : the cycle is of length greater than 3 and does not possess any chord
;
type 2 : the cycle is of length greater than 3, and does not possess any
triangular chord, but possesses all its non-triangular chords ( a chord is triangular
if it determines a triangle with the edges of the cycle)
Conjecture 3. A graph is -perfect if and only if it does not contain an
elementary odd cycle of type 1 or 2.
It is easy to show that conjecture 2 is equivalent to conjecture 3, and implies
conjecture 1. It is also easy to show that if a graph is -perfect (or -perfect),
then it does not contain an elementary odd cycle of type 1 or 2.
Berge [1997] wrote that the paper Berge [1963a] was distributed to all participants
of the U.R.S.I. meeting in 1963, and that a French version of it was published
as Berge [1966], added with some new results and an appendix with some results
proved in Berge [1967], in order to make the conjecture more plausible and more
interesting.
The paper Berge [1966] is more descriptive, but gives more relations to the
Shannon problem, and also mentions the strong perfect graph conjecture, attribut-
ing it jointly to P.C. Gilmore. After remarking that (G) = (G) for odd circuits
of length at least 5 and their complements, the paper states:
Nous nous sommes proposes de voir si la reciproque
etait vraie, et sommes arrives
a la conjecture suivante avec P. Gilmore:
`
Conjecture. Soit G un graphe de signaux; il est parfait si et seulement sil ne
contient pas un cycle impair sans cordes (de longueur > 3), ni le compl ementaire
dun cycle impair sans cordes (de longueur > 3).21
Berge [1966] also claimed, without proof, that (G) = (G) if and only if (G) =
(G):
On voit aussi que la condition necessaire et susante pour que la capacit
e du
graphe de signaux G soit a (G) est que (G) = (G).22
egale `
(Italics of Berge, who denoted the clique cover number (G) of G by (G).) However,
the line graph L(K6 ) of K6 is a counterexample to this (it has = = = 3
and = 4).
The paper Some classes of perfect graphs was published again in a book on
Graph Theory and Theoretical Physics edited by F. Harary (Berge [1967]). Accord-
ing to Berge [1997], this paper is a final version of the manuscript, with suggestions
by Homan, and was handed over to Harary at the end of a NATO Advanced Study
Institute on Graph Theory in Frascati, Italy in March-April 1964. Compared with
Berge [1963a], the paper contains no new results, and moreover the last section
with the perfect graph conjectures (quoted above) has been omitted.
This paper was published also in the Proceedings of a Conference on Combi-
natorial Mathematics and Its Applications at the University of North Carolina at
Chapel Hill, 1014 April 1967. It is followed by a Discussion on Professor Berges
Paper by M.E. Watkins stating that it seems likely that G is perfect if and only
if G is perfect. Berge [1996] mentioned that this addendum
contributed to make the perfect graph conjecture popular. Before the Chapel Hill
conference, I did not get much interest for my problems from the mathematics
community; the first symposium lecture about perfect graphs from other mathe-
maticians was delivered by Horst Sachs [20] at the Calgary conference in 1969.
(Berges reference [20] is Sachs [1970].)
the vertices of which represent the dierent signals, two points being connected by an
edge if the corresponding signals can be confused at the reception. The essential problem
is of characterizing the graphs that one can enrich, we arrive this way at a conjecture
that we prove for certain particular classes.
21 We have resolved to see if the reverse would be true, and have arrived at the following
conjecture with P. Gilmore:
Conjecture. Let G be a graph of signals; it is perfect if and only if it neither
contains an odd circuit without chords (of length > 3), nor the complement of an odd
circuit without chords (of length > 3).
22 One also sees that the necessary and sucient condition for that the capacity of the
graph of signals G is equal to (G) is that (G) = (G).
1182 Chapter 67. Perfect graphs: polynomial-time solvability
Fulkerson
The results on perfect graphs obtained until then being restricted to specific classes
of graphs, the first serious dent in solving the perfect graph conjectures in general
was made by Fulkerson in a RAND Report of 1970 on antiblocking polyhedra. They
led Fulkerson to prove a pluperfect graph theorem, but also to doubt the validity
of the weak perfect graph conjecture, which blocked him finishing it o.
The RAND Report (Fulkerson [1970c]) was published as Fulkerson [1972a], and
the results were presented at the Second Chapel Hill Conference on Combinatorial
Mathematics and Its Applications at the University of North Carolina at Chapel
Hill in May 1970 (Fulkerson [1970d]), and at the 7th International Mathematical
Programming Symposium in 1970 in The Hague, for which a survey paper on
blocking and antiblocking pairs of polyhedra was written (Fulkerson [1970a,1971a]).
Fulkerson called a graph G -pluperfect if (H) = (H) for each graph H ob-
tained from G by deleting and replicating vertices. In particular, if G is -pluperfect,
then G is -perfect.
What Fulkerson [1970a,1971a] proved is that:
(67.147) G is -pluperfect G is -pluperfect.
The proof is not hard, but is based on a series of pioneering observations and general
polyhedral insights that are now fundamental in polyhedral combinatorics. It uses
the linear programming duality equality
(67.148) max{wT x | x 0, M x 1} = min{y T 1 | y 0, y T M wT },
where M is the incidence matrix of the stable sets of G and where w : V R+ .
Then:
(67.149) G = (V, E) is -pluperfect
1
w : V Z+ , both optima in (67.148) are attained by integer
solutions x and y
2
w : V Z+ , the maximum in (67.148) is attained by an integer
solution x
3
w : V Q+ , the maximum in (67.148) is attained by an integer
solution x
4
w : V R+ , the maximum in (67.148) is attained by an integer
solution x
5
each vertex of the polytope {x | x 0, M x 1} is integer
6
the clique polytope of G is determined by the nonnegativity and
stable set constraints.
The first equivalence in (67.149) follows by observing that a weight w(v) of a vertex
v corresponds to replacing v by a clique of size w(v); this is equivalent to duplicating
v w(v) 1 times, or, if w(v) = 0, deleting v. The second equivalence can be derived
by considering, for any w : V Z+ an inequality x(S) 1 in M x 1 satisfied
with equality by all optimum solutions; hence replacing w by w S the maximum
decreases, hence by at least 1 (as it has an integer value); as the minimum decreases
by at most 1, we obtain an integer optimum dual solution by induction. The third
and fourth equivalences follow by scaling w and by continuity. The fifth equivalence
is general polyhedral theory, and the sixth one follows by observing that the integer
solutions of x 0, M x 1 are precisely the incidence vectors of cliques.
Section 67.4g. Historical notes on perfect graphs 1183
Another way of stating it is: if for each w : V {0, 1} both optima in (67.148)
have integer solutions, then likewise for each w : V Z+ . This might seem too
strong from a general polyhedral point of view, and it made Fulkerson [1970a,1971a]
mistrust the conjecture:
It is our feeling that theorem 14 casts some doubt on the validity of the perfect
graph conjecture.
Lov
asz
With respect to this, Fulkerson [1973] remarked in his comments On the perfect
graph theorem:
1184 Chapter 67. Perfect graphs: polynomial-time solvability
Concerning this proof, Lov asz states: It should be pointed out that thus the proof
consists of two steps, and the most dicult second step was done first by Fulker-
son. I would be less than candid if I did not say that I agree with this remark,
at least in retrospect. But the fact remains that, while part of my aim in develop-
ing the anti-blocking theory had been to settle the perfect graph conjecture, and
that while I had succeeded via this theory in reducing the conjecture to a simple
lemma about graphs [3,4] (the replication lemma, a proof of which is given
in this paper) and had developed other seemingly more complicated equivalent
versions of the conjecture [3,4,5], I eventually began to feel that the conjecture
was probably false and thus spent several fruitless months trying to construct a
counterexample. It is not altogether clear to me now just why I felt the conjecture
was false, but I think it was due mainly to one equivalent version I had found
[4,5], a version that does not explicitly mention graphs at all.
After having given a simple proof of the replication lemma, Fulkerson [1972b] con-
tinued:
As can be seen, there is nothing deep or complicated about the proof of this
lemma. Perhaps the fact that I saw a proof of it only after knowing it had to
be true may say something about the psychology of invention (or, better yet,
anti-invention) in mathematics, at least for me.
others, V. Chv
atal, M. Conforti, G. Cornuejols, W.H. Cunningham, A. Kapoor, F.
Roussel, P. Rubio, N. Sbihi, K. Vuskovic, and G. Zambelli.
More historical notes are given by Berge and Ramrez Alfonsn [2001] and Reed
[2001b].
Chapter 68
T-perfect graphs
The class of t-perfect graphs is defined polyhedrally: the stable set poly-
tope should be determined by the nonnegativity, edge, and odd circuit
constraints. It implies that a maximum-weight stable set in such graphs
can be found in polynomial time. LP duality gives a min-max relation for
the maximum-weight of a stable set in t-perfect graphs.
A characterization of t-perfect graphs is not known. The widest class of t-
perfect graphs known consists of those not containing certain subdivisions
of K4 as subgraph.
Proof. By Theorems 5.10 and 5.11, it suces to show that the separation
problem over the stable set polytope is polynomial-time solvable. Conditions
(i) and (ii) in (68.1) can be tested one by one. If they are satisfied, define a
function y : E R+ by:
(68.2) ye := 1 xu xv
for each e = uv E. Then condition (iii) is equivalent to:
23 t stands for trou (French for hole).
Section 68.2. Strongly t-perfect graphs 1187
Notes. The construction given in the proof of Theorem 68.1 shows that the
maximum-weight stable set problem in a t-perfect graph can be described by a
compact linear programming: the stable set polytope is the projection of a poly-
tope whose dimension and number of facets are polynomially bounded. To see this,
introduce, next to the variables y RE
+ , a variable zu,v for each u, v V . Requiring:
Theorem 68.2. A graph G = (V, E) is t-perfect if and only if the vertex cover
polytope of G is determined by:
Notes. W.R. Pulleyblank (cf. Gerards [1989a]) observed that, even for w = 1,
determining w (G) is NP-complete, since the vertex set of a graph G can be par-
titioned into triangles if and only if w (G) = 13 |V | where w = 1. The problem of
partitioning a graph into triangles is NP-complete. Since partitioning into trian-
gles remains to be NP-complete for planar graphs (Dyer and Frieze [1986]), even
determining w (G) for planar graphs is NP-complete.
Again, strong t-perfection is equivalent to the total dual integrality of the vertex
cover constraints (68.5).
Proof of Claim 1. As G is not bipartite (by Theorem 19.7) and not just
an odd circuit (as this is trivially strongly t-perfect), we know that H has a
chordless odd circuit C0 that has at least one vertex of degree at least 3. Let
v be such a vertex, and let e be an edge incident with v but which is not on
C0 .
Let B := V C0 \ {v}. We choose w such that w(V \ B) is minimal. There
exists a k Z+ such that for w := w + k B , each stable set S of G e
maximizing w (S) satisfies |S B| = 12 |B|. Hence no such set S contains v,
and therefore, by (68.9), w = w .
Now let M be the perfect matching in C0 v. For y : M Z+ define
(68.14) wy := w + yf f .
f M
As from now we fix w and f satisfying (68.12) and (68.13). Let f connect
vertices u and u . Since by the minimality of G, G has no isolated vertices,
there exists a minimum-cost w + f -cover F consisting only of edges and odd
circuits, say, e1 , . . . , et , C1 , . . . , Ck . We choose them such that
(68.17) |V C1 | + + |V Ck |
is as small as possible. Then:
(68.18) at least two of the Ci traverse f .
To see this, let G := G f (the graph obtained by deleting edge f ). If
w (G ) = w (G), then by the minimality of G, G has a w-cover of cost w .
As this is a w-cover in G as well, this would imply w = w , a contradiction.
So w (G ) > w (G). That is, there exists a stable set S in G with w(S) >
w . Necessarily, S contains both u and u . Then for any circuit C traversing
f:
(68.19) |V C S| 12 |V C| + 1.
Also, f is not among e1 , . . . , et , since otherwise F \ {f } is a w-cover of cost
w+f 1 = w 1, contradicting the definition of w . Setting l to the number
of Ci traversing f , we obtain:
(68.20) w+f w + 1 w(S) = (w + f )(S) 2
t k
k
2 + |ej S| + |V Ci S| 2 + t + 21 |V Ci | + l
j=1 i=1 i=1
= w+f + l 2.
So l 2, which is (68.18).
By (68.18) we can assume that C1 and C2 traverse f . It is convenient to
assume that EC1 \ {f } and EC2 \ {f } are disjoint; this can be achieved by
adding parallel edges. So EC1 EC2 = {f }.
Then:
Section 68.3. Strong t-perfection of odd-K4 -free graphs 1191
C
e
Figure 68.1
A strongly t-perfect graph G with G e not t-perfect. The
strong t-perfection of G can be derived from the fact that each in-
clusionwise maximal stable set intersects the triangle C. Hence for any
integer weight function, subtracting the incidence vector of V C, reduces
the maximum weight of a stable set by 1. We therefore can assume that
at least one of the vertices of C has weight 0, and hence we can delete
it. We are left with a graph containing no odd K4 -subdivision hence
being strongly t-perfect (Theorem 68.3).
vertex with its opposite vertex (k 1). Also strong t-perfection is closed
under taking induced subgraphs and the operation (68.40). So one may ask
a similar question for strong t-perfection.
A characterization that has been achieved is of those graphs for which
each, also noninduced, subgraph is t-perfect. Here subdivisions of K4 play a
role. Call a subdivision of K4 bad if it is not t-perfect.
It has been shown by Gerards and Shepherd [1998] that any graph without
bad K4 -subdivision is t-perfect. Hence, each subgraph of a graph G is t-
perfect if and only if G contains no bad K4 -subdivision. This was extended
to: any graph without bad K4 -subdivision is strongly t-perfect (Schrijver
[2002b]). So each subgraph of a graph is t-perfect if and only if each subgraph
is strongly t-perfect.
The K4 -subdivisions that are bad have been characterized by Barahona
and Mahjoub [1994c]. They showed that a K4 -subdivision is not t-perfect if
and only if it is an odd K4 -subdivision such that the following does not hold:
the edges of K4 that have become an even path, form a 4-cycle in K4 , while
the two other edges of K4 are not subdivided. One may check that this is
equivalent to the fact that one cannot obtain K4 by the operations (68.40). So
necessity in this characterization follows from the closedness of t-perfection
under operation (68.40).
1196 Chapter 68. T-perfect graphs
1/3
1/3
2/3
1/3 1/3
1/3 1/3
Figure 68.2
A graph containing no totally odd K4 -subdivision and not be-
ing t-perfect. The values at the vertices represent a vector satisfying
(68.1) but not belonging to the stable set polytope.
(68.56) vi has even distance from ui+2 along Pi and along Pi+1 .
To prove this, we may assume that i = 1. Suppose that v1 has odd distance
from u3 along P1 . Let f and e be the previous and next edge along P1 (seen
from u2 ) and let g be the third edge incident with v1 . Since v1 is the first
vertex along P1 belonging to P2 , we know that f is not on P2 . So f Fu2 ,
and hence (by (68.45)) f Fr . Since g is not on P1 , we have g Fu1 , and
hence (again by (68.45)) g Fr . Therefore (as Fr has maximum degree at
most degree 2), e Fr . Then (68.49) implies that v1 has even distance from
u3 along P1 . Hence v1 S3 , and so v1 has also even distance from u3 along
P2 (by (68.50)). This proves (68.56).
For i = 1, 2, 3, let Qi be the ui+1 vi part of Pi . Then Qi and Qi+1
intersect each other only in vi (since vi is the first vertex along Pi that is on
Pi+1 ). This implies that Q1 , Q2 , Q3 together with the edges ru1 , ru2 , and
ru3 , form a totally odd K4 -subdivision, a contradiction.
Recall that a graph is bipartite if and only if for each subgraph H, the
stable set number (H) is equal to the edge cover number (H). An extension
of this is implied by the theorem above:
Proof. Necessity follows from Theorem 68.4. Suciency follows from the fact
that if G is a totally odd K4 -subdivision, then (G) < (G). This can be seen
by induction on |V G|. If |V G| = 4, then G = K4 , and (G) = 1, (G) > 1.
If |V G| > 4, G has a vertex v of degree 2. Let G arise by contracting the
two edges incident with v. Then, using the induction hypothesis, (G)
(G ) + 1 < (G ) + 1 (G).
Theorem 68.4 also implies (in fact, is equivalent to) the following. A graph
G = (V, E) is called -critical if (G e) > (G) for each e E. Then each
connected -critical graph is either K1 , or K2 , or an odd circuit, or contains
a totally odd K4 -subdivision (answering a question of Chv atal [1975a]).
We note that Theorem 68.4 implies that the stable set number (G) of a
graph G without totally odd K4 -subdivision can be determined in polynomial
time, as (G) is equal to the maximum of 1T x over (68.1) (since the separa-
tion problem is polynomial-time solvable see Theorem 68.1). This implies
that an explicit maximum-size stable set can be found in polynomial time
(just by deleting vertices as long as the stable set number does not decrease).
The vertex cover number. Another consequence of Theorem 68.4 concerns the
vertex cover number (G) of a graph G = (V, E). Trivially, (G) + (G) = |V |.
Define the profit of an edge to be 1, and the profit of a circuit C to be 21 |V C|.
The profit of a family of edges and circuits is equal to the sum of the profits of its
elements. Let (G) denote the maximum profit of a collection of pairwise vertex-
1200 Chapter 68. T-perfect graphs
disjoint edges and odd circuits in G. Then there is the following analogue to Gallais
theorem (Theorem 19.1):
Proof. Define the profit of any vertex to be 0. Then (G) is equal to the maximum
profit of a collection of vertices, edges, and circuits partitioning V . Similarly, (G) is
equal to the minimum cost of a collection of vertices, edges, and circuits partitioning
V . Now for any collection C of vertices, edges, and circuits partitioning V we have
cost(C)+profit(C) = |V |. Hence the minimum cost over all such collections equals
|V | minus the maximum profit over all such collections. This gives the required
equality.
With Theorem 68.4, this implies a min-max relation for the vertex cover number
of totally-odd-K4 -free graphs:
Corollary 68.5a. For any graph G containing no totally odd K4 -subdivision, the
vertex cover number (G) is equal to (G).
Proof. Directly from Theorems 68.4 and 68.5, and from the fact that (G)+ (G) =
|V | for any graph G.
The t-perfection of odd-K4 -free graphs can be extended to apply to w-stable sets.
Given a graph G = (V, E) and a function w : E Z+ , a w-stable set is a function
x : V Z+ such that xu + xv we for each edge e = uv. So if w = 1 and G has no
isolated vertices, w-stable sets are the incidence vectors of stable sets. The w-stable
set polyhedron is the convex hull of the w-stable sets.
Theorem 68.3 implies a characterization of the w-stable set polyhedron of odd-
K4 -free graphs. Consider the following system:
(68.57) (i) xv 0 for each v V ,
(ii) x(e) we for each e E,
(iii) x(V C) 12 w(EC) for each odd circuit C,
where x(e) = xu + xv for e = uv.
Theorem 68.6. For any graph G = (V, E) containing no odd K4 -subdivision and
for any w : E Z+ , system (68.57) determines the w-stable set polyhedron.
Proof. We show that (68.57) determines an integer polyhedron, and hence is equal
to the w-stable set polyhedron. Let x be a noninteger vertex of P . By resetting
we := we xu xv for e = uv E and xv := xv xv for v V , x remains a
noninteger vertex of the new P . So we can assume that 0 xv < 1 for each v V .
Let E be the set of edges e of G with we = 1. Then G = (V, E ) contains
no odd K4 -subdivision, and hence is t-perfect (Theorem 68.3). So x is a convex
Section 68.6b. Bidirected graphs 1201
It was shown by Gijswijt and Schrijver [2002] that system (68.57) is totally dual
integral for each w : E Z+ if and only if G contains no bad K4 -subdivision.
We saw bidirected graphs before in Chapter 36. We recall some definitions and ter-
minology. A bidirected graph is a triple G = (V, E, ), where (V, E) is an undirected
graph and where assigns to each e E and each v e a sign e,v {+1, 1}.
The graph (V, E) may have loops, but we will assume that the two ends of the
loop have the same sign. (Other loops will be meaningless in our discussion.)
The edges e for which e,v = 1 for each v e are called the positive edges, those
with e,v = 1 for each v e are the negative edges, and the remaining edges are
the directed edges.
Clearly, undirected graphs and directed graphs can be considered as special
cases of bidirected graphs. Graph terminology extends in an obvious way to bidi-
rected graphs. The undirected graph (V, E) is called the underlying undirected graph
of G. We also will need the underlying signed graph G = (V, E, ), where is the
family of positive and negative edges. We call a circuit C in (V, E) odd or even, if
|EC | is odd or even, respectively.
A signed graph G = (V, E, ) is called an odd K4 -subdivision if (V, E) is a
subdivision of K4 such that each triangle has become an odd circuit (with respect
to ). A bidirected graph is called an odd K4 -subdivision if its underlying signed
graph is an odd K4 -subdivision.
The E V incidence matrix of a bidirected graph G = (V, E, ) is the E V
matrix M defined by, for e E and v V :
e,v if e is not a loop,
(68.58) Me,v :=
2e,v if e is a loop,
setting e,v := 0 if v e.
For b ZE , we consider integer solutions of the system M x b. To this end,
define for any circuit C (in the undirected graph (V, E)) and any vertex v:
(68.59) aC,v := 12 Me,v and dC := 12 be .
eEC eEC
Proof. Make from the bidirected graph G = (V, E, ) the following auxiliary undi-
rected graph G = (V , E ). For each e E which is not a positive loop, let ce := 1
if e is positive, ce := 2 if e is directed, and ce := 3 if e is negative. Then replace e
by a path Pe of length ce connecting the two vertices in V incident with e. Let e
be the unique edge on Pe that is not incident with a vertex v of G with e,v = 1.
If e is a positive loop at v, make a circuit Pe of length 3 starting and ending at
v. Let e be one of the two edges on Pe incident with v.
Let F be the set of edges f of G that are on Pe for some e E and satisfy
f = e. As G has no odd K4 -subdivision (as a bidirected graph), G has no odd
K4 -subdivision (as an undirected graph). Hence by Theorem 68.6, the following
system (in x RV ) determines an integer polyhedron:
(68.62) (i) e) b e
x( for each edge e E,
(ii) x(f ) = 0 for each edge f F ,
(iii) x(V C) 21 |V C| for each odd circuit C in G .
(Here odd refers to the length of the circuit. As usual, x(f ) := xu + xv where u
and v are the ends of f for f E .) This implies that system (68.61) determines an
integer polyhedron, since the conditions (68.62)(ii) allow elimination of the variables
xv for v V \ V .
This theorem may be used to characterize odd-K4 -free bidirected graphs. Let
G = (V, E, ) be a bidirected graph, with E V incidence matrix M . For a, b ZE
consider integer solutions of
(68.63) a M x b.
As the matrix
M
(68.64)
M
is again the incidence matrix of some bidirected graph, we can consider the inequal-
ities (68.61)(ii) corresponding to matrix (68.64). They amount to:
1
(68.65) 2
Me,v Me,v xv 21 be ae for each
vV eF eEC\F eF eEC\F
odd circuit C and each F EC.
To describe the characterization, we define minor of a signed graph G =
(V, E, ). For e E, deletion of e means resetting E and to E \ {e} and \ {e}.
Deletion of a vertex v means deleting all edges incident with v, and deleting v from
V . If e is not a loop, contraction of e means the following. Let e have ends u and
v. If e , reset := (u). Otherwise, let be unchanged. Next contract
e in (V, E). This definition depends on the choice of the end u of e, but for the
application below this will be irrelevant. A resigning means choosing U V and
resetting to (U ). A signed graph H is called a minor of a signed graph G if
Section 68.6c. Characterizing odd-K4 free graphs 1203
Corollary 68.6b. For any bidirected graph G the following are equivalent:
(68.66) (i) G contains no odd K4 -subdivision as subgraph;
(ii) the signed graph underlying G has no odd-K4 minor;
(iii) for all integer vectors a, b, system (68.63)(68.65) determines a box-
integer polyhedron.
Proof. The implication (ii)(i) follows from the easy fact that any odd K4 -
subdivision in G would yield an odd-K4 minor of the signed graph underlying
G.
The implication (i)(iii) can be derived from Corollary 68.6a as follows. Replace
any box constraint dv xv cv by 2dv 2xv 2cv , and incorporate it into M ,
by adding loops at v. Then the constraint (68.65) corresponding to such a loop C
at v is xv cv or xv dv . This gives a reduction to Corollary 68.6a.
To see the implication (iii)(ii), note that (iii) is invariant under deleting rows
of M and under multiplying rows or columns by 1. It is also closed under contrac-
tions of any edge e, as it amounts to taking ae = be = 0 in (68.63). So, in proving
(iii)(ii), if the signed graph underlying G has an odd-K4 minor, we may assume
that it is odd-K4 . By multiplying rows and columns of M by 1, we may assume
that M is nonnegative. Then we do not have an integer polytope for a = 0, b = 1,
d = 0, c = 1.
In other words, the bidirected graphs without odd K4 -subdivision are precisely
those whose E V incidence matrix has strong Chv atal rank at most 1 (cf. Section
36.7a, where it is shown that the transpose of each such matrix has strong Chv atal
rank at most 1).
(68.68) 0 xv 1 for v V ,
x(e) 1 for e F1 ,
1
x(e) e F2 ,
for
x(e) x(e) |EC F1 | |EC F2 | 1
eECF1 eECF2
for each odd circuit C with EC F1 F2
(where x(e) := xu + xv for e = uv E).
Corollary 68.6c. For any graph G = (V, E) the following are equivalent:
(68.69) (i) G contains no odd K4 -subdivision;
(ii) for all disjoint F1 , F2 E, the convex hull of the incidence vectors
of the F1 -stable F2 -covers is determined by (68.68).
Proof. The implication (i)(ii) follows from Corollary 68.6a. To see (ii)(i), we
first show that (ii) is maintained under taking odd minors. Maintenance under
deletion of edges or vertices is trivial. To see that it is maintained under contraction
of cuts, let U V and let G = (V , E ) be the contracted graph. Let F1 and F2 be
disjoint subsets of E , and let x satisfy (68.68) for G , F1 , F2 . Define x : V R as
follows, where, for v V , v denotes the vertex of G to which v is contracted:
xv if v U ,
(68.70) xv :=
1 xv if v V \ U .
Moreover, define F1 and F2 by:
(68.71) F1 := (F1 E[U ]) (F2 E[V \ U ]) (U ),
F2 := (F2 E[U ]) (F1 E[V \ U ]).
Then x satisfies (68.68) with respect to G, F1 , F2 . Hence x is a convex combination
of integer solutions of (68.68). Applying the construction in reverse to (68.70), we
obtain x as a convex combination of integer solutions of (68.68) with respect to
G , F1 , F2 .
This shows that (68.69)(ii) is maintained under taking odd minors. Moreover,
K4 violates the condition (taking F1 := E, F2 := , xv := 31 for each v V ). This
shows suciency of the condition.
It is not dicult to show that the underlying undirected graph of any digraph of
discrepancy 1, contains no odd K4 -subdivision. So, by Theorem 68.3, any undirected
graph having an orientation of discrepancy 1, is strongly t-perfect. Gerards gave
a direct proof of the strong t-perfection of such graphs, based on the following
minimum-cost circulation argument:
Lemma 68.7. Let D = (V, A) be a directed graph and let b : A Z+ . Then the
following system is totally dual integral:
(68.72) (i) xv 0 for v V ,
(ii) x(V C) b(AC) for each directed circuit C in D.
(68.74) f (AC)
z(AC) for each directed circuit C
in D.
then (68.74) says that each directed
So if we consider f z as length function on A,
circuit in D has nonnegative length. Hence, by Theorem 8.2, the maximum is equal
to the maximum of g T z over z : A R+ for which there exists a p : V R such
that
(68.75) a) + p(t) p(s) f (
z( a) for each a
= (s, t) A.
The latter system has a totally unimodular constraint matrix, and hence the LP
has integer optimum primal and dual solutions. The dual asks for the minimum of
Z+ satisfies
y T f where y : A
(68.76) a) g(
y( a) A,
for each a
y( in (
v )) = y( out (
v )) for each v V .
Hence y is a nonnegative integer combination of incidence
So y is a circulation in D.
vectors of directed circuits C in D:
(68.77) y= C AC .
C
in D,
For each directed circuit C let C denote the corresponding directed circuit in
Then
D (obtained by contracting all arcs (v , v ) occurring in C).
(68.78) yT f = C (AC )T f = =
C f (AC) C b(AC)
C
C
C
and
1206 Chapter 68. T-perfect graphs
(68.79) C V C w.
C
Hence we have obtained an integer dual solution for the problem of maximizing
wT x over (68.72).
Proof. Let D = (V, A ) be the digraph obtained from D by adding a reverse arc
(v, u) for each arc (u, v) of D, defining b(u, v) := 1 and b(v, u) := 0. Then the total
dual integrality of (68.1) follows directly from the total dual integrality of (68.72).
Note that each directed circuit C in D gives an undirected circuit C in D, with
b(AC ) equal to the number of forward arcs in C. As D has discrepancy 1, 12 |V C|
1
is equal to the minimum value of b(AC ) and b(AC ).
Zang [1998] and Thomassen [2001] showed that any graph G without totally odd
K4 -subdivision satisfies (G) 3.25 We may interpret this in terms of the integer
decomposition and rounding properties. Consider the antiblocking polytope Q of
the stable set polytope of a graph G = (V, E):
(68.80) xv 0 for each v V ,
x(S) 1 for each stable set S.
If G is t-perfect, the vertices of Q are: the origin, the unit base vectors, the incidence
vectors of the edges, and the vectors V C / 12 |V C| where C is an odd circuit.
(This follows from the definition of t-perfection with antiblocking polyhedra theory.)
Hence the fractional colouring number (G) of G, which is equal to the maximum
of 1T x over (68.80) (cf. Section 64.8), is equal to
|V C|
(68.81) max{2, max{ | C odd circuit}}
12 |V C|
(assuming E = ). For nonbipartite graphs, this value is equal to 3. So for graphs
G without totally odd K4 -subdivision, the colouring number (G) is equal to the
round-up (G) of the fractional colouring number.
25 This was conjectured by Toft [1975], and extends results of Hadwiger [1943] that a 4-
chromatic graph contains a K4 -subdivision, of Catlin [1979] that it contains an odd K4 -
subdivision, and of Gerards and Shepherd [1998] that it contains a bad K4 -subdivision.
Zeidl [1958] showed that any vertex of a minimally 4-chromatic graph lies in a subdi-
vided K4 that contains an odd circuit. Other partial and related results were found by
Krusensjterna-Hafstrm and Toft [1980], Thomassen and Toft [1981], and Jensen and
Shepherd [1995].
Section 68.6g. Further notes 1207
68.6f. Homomorphisms
Sbihi and Uhry [1984] call a graph G = (V, E) h-perfect26 if the stable set polytope
is determined by
(68.83) (i) xv 0 for v V ,
(ii) x(C) 1 for each clique C,
(iii) x(V C) 21 |V C| for each odd circuit C.
So perfect graphs and t-perfect graphs are h-perfect. Sbihi and Uhry showed
that substituting bipartite graphs for edges of a series-parallel graph preserves h-
perfection.
The t-perfection of line graphs, and classes of graphs that are h-perfect but not
t-perfect, were studied by Cao and Nemhauser [1998]. Gerards [1990] gave a survey
on signed graphs without odd K4 -subdivision.
Claw-free graphs
Claw-free graphs are graphs not having K1,3 as induced subgraph. We show
the result of Minty and Sbihi that a maximum-size stable set in a claw-
free graph can be found in strongly polynomial time, and the extension of
Minty to the weighted case.
69.1. Introduction
(ii) {(s, X), (t, Y )} for vertices (s, X), (t, Y ) of H such that there
exists an S -augmenting X Y path P .
So the path P is contained in the bone B containing x and y for some x X
and some y Y . Its existence can be checked as follows. Let V0 , V1 , . . . , Vk be
as above. Make the digraph D on V0 V1 . . . Vk with an arc from u Vi1
to v Vi if uv E (for i = 1, . . . , k). Then a directed X Y path in D gives
a path P as required, and conversely.
Let M be the matching of edges in (69.10)(i). So M covers all vertices of
H, except the vertices (sa , N (sa ) \ {a}) and (sb , N (sb ) \ {b}). Then (under
the assumptions (69.1)):
Concluding, we have obtained the result of Minty [1980] and Sbihi [1980]:
Proof. (i) follows from the fact that SV C is a stable set of size |S|, and
hence w(S) w(SV C) = w(S) + w(V C \ S) w(V C S).
(ii) can be seen as follows. Let S be an extreme stable set of size |S|+1. The
subgraph induced by SS has a component K with |K S| > |K S|. Since
G is claw-free, K has maximum degree at most 2. So K is an S-augmenting
path, and hence |K S| = |K S| + 1. Let L := (SS) \ K. Then SL and
SL are stable sets of size |S| and |S| + 1 respectively. Since S is extreme,
w(L S) w(L S). Hence w(SL) So SL
w(S). is extreme again.
Hence we can assume that L = . Then, since K is an S-augmenting path:
(69.13) w(SV P ) = w(S) + w(V P \ S) w(V P S)
w(S) + w(K \ S) w(K S) = w(S).
So SV P is extreme.
proving (69.22).
Now let i be the smallest index with ui vi E. By (69.21), we know 1
i k 1. By (69.18) and by symmetry we can assume that vi ui+1 E. Since
si is adjacent to ui1 , vi1 , and vi , and since ui1 vi1 E and vi1 vi E,
we know ui1 vi E. Then vi is adjacent to the pairwise nonadjacent ui1 ,
ui , and ui+1 , a contradiction.
1216 Chapter 69. Claw-free graphs
Minty [1980] observed that finding a maximum-size stable set in a graph without
induced K1,4 is NP-complete. This follows from the fact that the 3-dimensional
assignment problem can be reduced to it (its intersection graph has no induced
K1,4 ).
Poljak [1974] showed that finding a maximum-size stable set in a triangle-free
graph is NP-complete. It implies that finding a maximum-size clique in a claw-free
graph is NP-complete.
Shepherd [1995] characterized the stable set polytope of near-bipartite graphs,
that is, graphs with G N (v) bipartite for each v V G. They include the comple-
ments of line graphs, and the complement of any near-bipartite graph is claw-free.
Ben Rebea [1981] showed that each connected claw-free graph G with (G) 3
not containing an induced C5 , contains no odd antihole. This was extended by
Fouquet [1993] who showed that each connected claw-free graph G with (G) 4
contains no odd antihole with at least 7 vertices.
Lov asz and Plummer [1986] gave a variant of Mintys reduction of the maximum-
size stable set problem in claw-free graphs to the maximum-size matching problem.
Beineke [1970] (for simple graphs), N. Robertson (unpublished), Hemminger
[1971] (abstract only), and Bermond and Meyer [1973] characterized line graphs by
means of forbidden induced subgraphs (six graphs next to K1,3 ).
The polynomial-time solvability of the weighted stable set problem for claw-
free graphs was extended to claw-free bidirected graphs by Nakamura and Tamura
[1998]. A linear-time algorithm for triangulated bidirected graphs was given by
Nakamura and Tamura [2000].
Part VII
Chapters:
for each edge e. Note that generally for each r = st R, there is a dierent
orientation Dr of G that makes fr into an s t flow in Dr . So in (70.4), the
sum of the flows through both orientations of a given edge e are bounded
above by c(e).
In this way we obtain the undirected multiflow problem or undirected k-
commodity flow problem, and the undirected maximum-value multiflow prob-
lem or undirected maximum-value k-commodity flow problem. Again, we add
integer (half-integer, etc.) if we require the fr to be integer (half-integer, etc.)
flows. We skip the adjective undirected if it is clear from the context.
Section 70.4. Reductions 1223
70.4. Reductions
Above we mentioned two versions of the multiflow problem: directed and
undirected, and four versions of the disjoint paths problem: directed vertex-
disjoint, directed arc-disjoint, undirected vertex-disjoint, and undirected edge-
disjoint. There are a number of constructions that reduce versions among
them.
First, the undirected edge-disjoint paths problem can be reduced to the
undirected vertex-disjoint paths problem by replacing the graph by its line
graph. Similarly, the directed arc-disjoint paths problem can be reduced to
the directed vertex-disjoint paths problem by replacing the digraph by its line
digraph.
Conversely, the directed vertex-disjoint paths problem can be reduced to
the directed arc-disjoint paths problem by replacing each vertex
(70.7) by .
(70.8) by .
(70.9) by .
Notes. These reductions maintain the set of nets and the demand values. Even,
Itai, and Shamir [1975,1976] gave an interesting construction reducing the directed
arc-disjoint paths problem to the undirected edge-disjoint paths problem. It reduces
the directed arc-disjoint paths problem with k commodities of demands d1 , . . . , dk
in a digraph D = (V, A), to the undirected edge-disjoint paths problem with k
commodities of demands d1 + |A|, . . . , dk + |A|. The construction does not maintain
planarity.
directed undirected
arc-disjoint vertex-disjoint edge-disjoint vertex-disjoint
general NP-complete2 NP-complete2 NP-complete3 NP-complete2
4 5 4
planar NP-complete NP-complete NP-complete NP-complete5
for fixed k:
general NP-complete6 NP-complete6 polynomial-time7 polynomial-time7
8 9
planar ? polynomial-time polynomial-time7 polynomial-time7
then
k
(70.14) bi d i l(a)c(a).
i=1 aA
(Onaga and Kakusho [1971] gave an alternative proof. If we restrict l to {0, 1}-
valued functions, we obtain a necessary condition (a multicut condition),
as was observed by Naniwada [1969], who raised the question if the above
theorem may hold.)
A min-max relation for the maximum-value multiflow problem can be
derived similarly from LP-duality (cf. Lomonosov [1978a]):
the maximum
total value of a multiflow subject to c is equal to the minimum
value of aA l(a)c(a) taken over all l : A R+ satisfying
(70.15) distl (si , ti ) 1 for each i = 1, . . . , k.
Proof. Let P denote the collection of arc sets of paths running from si to ti
for some i = 1, . . . , k.
Then the maximum total value of a multiflow is equal
to the maximum of P P P , where P 0 for P P, such that
(70.16) P P (a) c(a) for a A.
P P
By LP-duality, this value is equal to the minimum value of aA l(a)c(a)
where l : A R+ such that
(70.17) l(a) 1 for each P P.
aP
However, the cut condition is in general not sucient, even not in the two
simple cases given in Figure 70.1.
For directed graphs, the cut condition is known to be sucient for the
existence of a fractional multiflow only if s1 = = sk or t1 = = tk (this
follows from the (one-commodity) max-flow min-cut theorem). In a sense,
this is the only case:
s2 = t1 s1 = t2 s2 = t1
t2
Figure 70.1
Two digraphs where the cut condition holds, but no fractional
multiflow exists (taking all capacities and demands equal to 1). The
nonexistence of a fractional multiflow can be shown with Theorem 70.1,
by taking l(a) := 1 for each arc a.
where discR (F ) denotes the family of nets st where s and t are in dierent
components of G F .
Indeed, trivially, the cut condition is implied by (70.22). To see the reverse
implication, let K be the set of components of G F . Then the cut condition
implies
(70.23) c(F ) 21 c(E (K)) 12 d(R (K)) = d(discR (F )),
KK KK
which is (70.22).
t3 = s1
t1 = s2
s4 t4
t2 = s3
Figure 70.2
An undirected graph where the cut condition holds, but no
fractional multiflow exists (taking all capacities and demands equal
to 1). This last can be shown with Theorem 70.1, by taking l(e) := 1
for each edge e.
Figure 70.2 shows that, also in the undirected case, the cut condition is
not sucient10 . Hu [1963] showed that, in the undirected case, if k = 2, then
the cut condition is sucient for the existence of a fractional multiflow. This
is Hus 2-commodity flow theorem (Theorem 71.1b). In Section 70.11, we will
list more cases where the cut condition is sucient for the existence of a
fractional multiflow.
Hus 2-commodity flow theorem implies the max-biflow min-cut theorem
(Corollary 71.1d): in the undirected case with k = 2, the maximum value of a
2-commodity flow is equal to the minimum capacity of a cut separating both
s1 and t1 and s2 and t2 .
10 Hakimi [1962b] and Tang [1962] claimed erroneously to give proofs that the cut condition
is sucient for any number k of commodities. According to Hu [1963], a counterexample
was first found by L.R. Ford, Jr.
A strengthening of the cut condition that Hu [1964] claimed to be necessary (and
conjectured to be sucient) for the existence of a fractional multiflow, was shown to be
not necessary by Tang [1965].
1230 Chapter 70. Multiflows and disjoint paths
Proof. Let U violate the cut condition; that is, c(E (U )) < d(R (U )). Choose
U such that |E (U )| is as small as possible. We show that G[U ] and G[V \ U ]
are connected. By symmetry, it suces to show that G[U ] is connected. Let
K1 , . . . , Kt be the components of G[U ]. Suppose t 2. Then
t
t
(70.24) c(E (Kj )) = c(E (U )) < d(R (U )) d(R (Kj )).
j=1 j=1
So c(E (Kj )) < d(R (Kj )) for at least one j. As |E (Kj )| < |E (U )| (by the
connectivity of G), this contradicts the minimality of |E (U )|.
s2 t1
Figure 70.3
There is a half-integer, but no integer multiflow (where all ca-
pacities and demands are 1).
As has been discussed in Chapter 10, for 1-commodity flow problems with
integer capacities, we can turn all implications around in (70.25). For general
multiflow problems, however, this is not the case. For undirected graphs,
Figure 70.3 shows that a half-integer multiflow does not imply the existence
of an integer multiflow (for integer capacities and demands). Middendorf and
Pfeier [1993] showed that the half-integer multiflow problem in undirected
graphs is NP-complete, even if all capacities and demands are equal to 1.
For undirected 2-commodity flows, Hu [1963] showed that the existence
of a fractional multiflow implies the existence of a half-integer multiflow, if
all capacities and demands are integer. Figure 70.3 shows that an integer
multiflow need not exist. In fact, the undirected integer 2-commodity flow
problem is NP-complete (Even, Itai, and Shamir [1975,1976]).
Hus theorem prompted Jewell [1967] to conjecture that if a k-commodity
flow problem with integer capacities and demands has a fractional solution,
then it has a 1/p-integer solution for some p k. More strongly, Seymour
[1981d] conjectured that a fractional multiflow implies the existence of a half-
integer multiflow (for integer capacities and demands).
This was disproved by a series of examples of Lomonosov [1985], which
even imply that there is no integer p such that each undirected 3-commodity
flow problem has a 1/p-integer solution when it has a fractional solution (for
integer capacities and demands). A simplified version of Lomonosovs example
is given in Figure 70.4. It consists of an integer-capacitated 3-commodity flow
problem with demands 1, 2k, and 2k, such that each feasible multiflow has
1
2k among its values.
A simpler counterexample to Seymours conjecture was given by Pfeier
[1990] see Figure 70.5, showing that a quarter-integer multiflow need not
imply the existence of a half-integer multiflow (for integer capacities and
demands).
With construction (70.9) we obtain similar results for directed graphs.
1232 Chapter 70. Multiflows and disjoint paths
s2 b
v4k
v4
v2 cap cap k
2k 1
v4k1 s2 s2 v4k4 s2
s2 v2k+4v2k+3 v2k+1
v4k2 v4k3 s3 v2k+2
s2
s2 s3 s3 s3
t3
v0 v2k = t1 t2
= v4k s2 s2 v2k3 s2
= s1 v1 v3 s2
v2 v4 v2k2 v2k1
s3 s3
v2k4 s3
s3
v1 v cap k
3
s3 v4k1 a
Figure 70.4
U := {t2 , s3 , b, v2k+1 , v2k+3 , . . . , v4k1 } has capacity 6k 1 and demand 4k, it does
not split s1 and t1 , and contains all edges of Q. Hence the capacity left for f1 is at
most 2k 1. As Q has length 2k, it implies that f1 can send a flow of value at most
1 1 1
1 2k along Q. Concluding, f1 sends 2k flow along P and 1 2k flow along Q.
7
1 2 2 3 3 1 4 5 5 6 6 4
7
Figure 70.5
In some cases adding the following Euler condition turns out to be of help:
(70.26) c(E (v)) + d(R (v)) is even, for each vertex v.
In case all capacities and demands are equal to 1, that is, for the edge-disjoint
paths problem, the Euler condition is equivalent to
1234 Chapter 70. Multiflows and disjoint paths
Fractional and integer multiflows for digraphs. As for the directed case, Fig-
ure 70.5 implies with construction (70.9) that a quarter-integer multiflow does not
imply the existence of a half-integer multiflow. The graph in Figure 70.6 (Hurkens,
Schrijver, and Tardos [1988]) shows that a half-integer multiflow does not imply
the existence of an integer multiflow, even if the directed analogue of the Euler
condition holds (the graph obtained from the supply digraph and the reverse of the
demand digraph is an Eulerian digraph). Note that in Figure 70.6 the union D + H
of D and H is planar.
1 1
6 4
4 5
5 6
s3 2 3 s1
t1 t2
3 1
1 3 2
6 2 4
s2 t3
3 5 2 5
s5 4 6 t5
t6 s4
Figure 70.6
A directed example where the Euler condition holds, with
D + H is planar, and where a half-integer, but no integer
multiflow exists. All capacities and demands are 1. The half-integer
multiflow is indicated by the indices of the nets: index i at arc a means
fi (a) = 12 .
in (70.28), this property has been proved in the following cases (extending
(70.28)(ii) and (iv)):
(70.29) (i) if |{s1 , t1 , . . . , sk , tk }| 5 (Karzanov [1987a] see Section
72.2a),
(ii) if G is planar and there exist faces F1 , F2 , F3 such that for each
i = 1, . . . , k there is a j {1, 2, 3} such that si , ti bd(Fj )
(Karzanov [1994b] see Section 74.3c).
This in particular implies that if the capacities and demands are integer and
there exists a fractional multiflow, then there exists a half-integer multiflow.
In the following case (extending (70.29)(ii)), it has been proved that if
c and d are integer and a fractional multiflow exists, then a quarter-integer
multiflow exists; if moreover the Euler condition holds, then a half-integer
solution exists:
(70.30) if G is planar and there are four faces such that each net is
spanned by one of these faces (Karzanov [1995] see Section
74.3c).
(We say that a pair of vertices is spanned by a face F if it is spanned by the
boundary of F .)
In Section 73.1c we shall see that an integer multiflow can be found in
polynomial time also if the nets form a triangle (no Euler condition is re-
quired).
As was noted by Karzanov [1984] and Seymour [1979b], if the cut condition
is sucient for the existence of a fractional multiflow, one can derive an
interesting polarity relation between multiflows and fractional packing of cuts.
Let G = (V, E) and H = (V, R) be graphs. Consider the cone K in
RR RE generated by the vectors13
(70.31) (r ; EP ) for r R and r-path P in G,
(0; e ) for e E.
Here EP denotes the set of edges of P . For any r = st R, an r-path is a
path connecting s and t. r and e denote the rth and eth unit base vectors
in RR and RE , respectively.
For any c : E R+ and d : R R+ , the existence of a feasible multiflow
subject to c and of value d is equivalent to the fact that (d; c) belongs to K.
So we have that the property:
13 x
We write (x; y) for .
y
Section 70.12. Relation between the cut condition and fractional cut packing 1237
and
(70.37) distl (s, t) = U R (U ) (r),
U
Proof. The first statement is equivalent to the fact that the up hull of the
incidence vectors of sets in B is determined by (70.38). The second statement
is equivalent to the fact that the up hull of the incidence vectors of paths in
P is determined by (70.39). The equivalence is stated by Theorem 70.6.
As was also noted by Karzanov [1984,1987a] and Seymour [1979b], in certain col-
lections of graphs+nets, if the cut condition implies the existence of a fractional
multiflow, we can derive integrality of solutions. This can be made explicit as fol-
lows.
Consider an Eulerian graph G = (V, E), and let e and f be distinct edges
incident with a vertex v of degree 4. We describe the operation of separating e
and f at v: introduce a new vertex v , rejoin half of the edges incident with v to
Section 70.12a. Sociency of the cut condition 1239
v , such that e remains incident with v and f becomes incident with v , and add
1
2
degE (v) 2 parallel edges connecting v and v .
Call any graph G arising in this way a splitting of G separating e and f at v.
Note that, if G = (V , E ) denotes the new graph, then degE (v) = degE (v ) =
degE (v) 2.
Let I be a collection of pairs (G, R) of an Eulerian graph G = (V, E) and a
subset R of E, with the following property:
(70.41) for each (G, R) I, for each vertex v of G of degree at least 4 with
degE\R (v) > degR (v), and for each two edges e and f of G incident
with v, not both in R, I contains a pair (G , R ) where G is a splitting
of G separating e and f at v, and where R is the set of edges arising
from R by this splitting.
As examples we can take for I the set of all pairs (G, R) consisting of an Eulerian
graph G = (V, E) and R E such that one of the following holds (the first four
examples follow from the fact that for each fixed graph H = (T, R), the class of
pairs (G, R) with G = (V, E) Eulerian and R E satisfies (70.41)):
(70.42) (i)R consists of two parallel classes of edges;
(ii)there are two vertices intersecting all edges in R;
(iii)R covers at most four vertices;
(iv) the edges in R form a pentagon, with parallel edges added;
(v) (V, E) is planar;
(vi) (V, E \ R) is planar, such that all vertices covered by R are on the
outer boundary of (V, E \ R);
(vii) (V, E \ R) is planar, such that it has two faces with the property
that each edge in R is spanned by one of these faces.
As we shall see in later chapters, in each of these cases the premise, and hence the
conclusion, of the following theorem hold. The theorem applies to the multiflow
problem with supply graph (V, E \ R) and demand graph (V, R), with all capacities
and demands equal to 1 (so to the edge-disjoint paths problem):
Theorem 70.7. Let I satisfy (70.41) and have the property that for each (G, R)
I, the cut condition implies the existence of a fractional multiflow. Then, for each
(G, R) I, the cut condition implies the existence of an integer multiflow.
minimal. So the cut condition holds, and hence there is a fractional multiflow. It
implies that there is a collection C of circuits in G, each intersecting R in exactly
one edge, and, for each C C, there is a C > 0 such that for each edge e:
(70.44) C C (e) 1,
CC
Nagamochi and Ibaraki [1989] showed that for directed graphs, if the cut condi-
tion implies the existence of a fractional multiflow, and if this holds in a certain
hereditary way, then it implies the existence of an integer multiflow:
Theorem 70.8. Let D = (V, A) and H = (V, R) be a supply and demand digraph,
respectively. Suppose that for each c : A Z+ and d : R Z+ , the cut condition
implies the existence of a fractional multiflow. Then it implies the existence of an
integer multiflow.
Proof. Let c and d be such that the cut condition holds, but no integer multiflow
exists. Choose such c, d with c(A) + d(R) minimal. By assumption, there exists a
fractional multiflow (fr : A R+ | r R). Then for each a A we have
(70.49) c(a) = fr (a),
rR
out
for otherwise we have, for any U V with a A (U ):
out
(70.50) c(A (U )) = c(a) > fr (a) d(r)
out (U )
aA out (U ) rR
aA out (U )
rR
out
= d(R (U )).
Hence (by integrality of c and d), we can replace c(a) by c(a) 1 without violating
the cut condition, and obtain a smaller counterexample a contradiction.
This proves (70.49). It implies that the directed analogue of the Euler condition
holds, since for any vertex v:
out in
out in
(70.51) c(A (v)) c(A (v)) = (fr (A (v)) fr (A (v)))
rR
out in
= d(R (v)) d(R (v)).
The latter equality holds as each fr is a flow.
Now consider any r R with d(r ) 1, say r = (s, t). Replacing d(r ) by
d(r ) 1, the cut condition is maintained. Hence (by the minimality of c, d) there is
an integer multiflow (fr | r R) satisfying the new demands. Consider the capacity
function
(70.52) c := c fr .
rR
By (70.51), there is at least one s t path traversing only arcs a with c (a) 1.
Hence we can increase fr along this path by 1, to obtain an integer multiflow
satisfying the original demands.
1242 Chapter 70. Multiflows and disjoint paths
Robertson and Seymour [1995] showed that for each fixed k, the k vertex-disjoint
paths problem in undirected graphs is polynomial-time solvable.14 Describing the
algorithm would require more space than fits within the limits of this book. The
methods are quite dierent in nature from the more polyhedral methods discussed
here, and are based on the deep graph minors techniques developed by Robertson
and Seymour. For an outline of the disjoint paths algorithm, see Robertson and
Seymour [1990].
The running time of Robertson and Seymours algorithm is bounded by O(n3 )
(where the constant depends (heavily) on k). It implies a polynomial-time algorithm
for the k edge-disjoint paths problem for fixed k, by considering the line graph.
More generally, Robertson and Seymour gave for each fixed k an O(n3 )-time
algorithm for the vertex-disjoint trees problem:
(70.53) given: a graph G = (V, E) and subsets W1 , . . . , Wp of V ,
find: vertex-disjoint subtrees T1 , . . . , Tp in G such that Ti spans Wi ,
for i = 1, . . . , p,
taking k := |W1 Wp |.
For planar graphs, Reed, Robertson, Schrijver, and Seymour [1993] gave a
linear-time algorithm for the disjoint trees problem, fixing |W1 Wp |. Moreover,
Schrijver [1991c] showed that for each fixed q, there is a polynomial-time algorithm
for the disjoint trees problem in planar graphs such that W1 Wp can be
covered by the boundary of at most q faces. The method is based on enumerat-
ing homotopy classes (see Section 76.7a), and here the degree of the polynomial
depends on q.
Sebo [1993c] showed that for each fixed k, if G + H is planar and |V H| k,
then the integer multiflow problem is polynomial-time solvable. (The demands and
capacities can be arbitrarily large, so there is no reduction to the edge-disjoint paths
problem for a fixed number of paths.) Seb o showed this by proving a more general
result on the complexity of packing T -cuts for fixed |T |.
Related is the following. For any k, let f (k) be the smallest number such that
in any f (k)-connected graph, any instance of the k vertex-disjoint paths problem
has a solution. Jung [1970] showed that f (k) 23k (a larger bound was shown by
Larman and Mani [1970]). Thomassen [1980] proved f (2) = 6 and conjectures that
f (k) = 2k + 2 for k 2.
For any k, let g(k) be the smallest number such that in each g(k)-edge-connected
graph, any instance of the k edge-disjoint paths problem has a solution. This
value is finite in fact, g(k) 2k, since a 2k-edge-connected graph has k edge-
disjoint spanning trees (by the Tutte-Nash-Williams disjoint trees theorem (Corol-
lary 51.1a)). These trees contain k edge-disjoint paths as required.
Trivially g(k) k. Moreover, for even k one has g(k) k + 1, as is shown
by replacing each edge of the circuit C2k by 21 k parallel edges, taking as nets the
14 The correctness of the algorithm depends on a lemma proved in the preprint Robertson
and Seymour [1992], which did not appear yet.
Section 70.13b. Fixing the number of commodities in directed graphs 1243
k pairs of opposite vertices. Cypher [1980] and Thomassen [1980] conjecture that
g(k) = k if k is odd and g(k) = k + 1 if k is even.
It is known that g(2) = 3 (as follows from a result of Dinits and Karzanov [1979]
and Seymour [1980b] (see Section 71.4a)), g(3) = 3 (Okamura [1984a]), g(4) = 5
(Mader [1985], Hirata, Kubota, and Saito [1984], H. Enomoto and A. Saito (cf.
Hirata, Kubota, and Saito [1984])), g(k) k + 1 if k is odd, and g(k) k + 2 if k
is even (Huck [1991]).
Earlier, partial results were obtained by Cypher [1980] showing that g(k) k+2
for k 5, Hirata, Kubota, and Saito [1984] showing that g(k) 2k 3 if k 4,
and Okamura [1987,1988,1990]. Related results can be found in Enomoto and Saito
[1984] and Huck [1992]. See also the notes in Section 72.2b.
The corresponding result for directed graphs has been shown for any k see
Section 70.13b.
For directed graphs, Fortune, Hopcroft, and Wyllie [1980] showed that deciding
if two given vertices of a digraph belong to a directed circuit, is NP-complete. It
implies that the arc-disjoint paths problem is NP-complete for k = 2 commodities,
even if the nets are opposite (that is, s2 = t1 and t2 = s1 ). It also implies that the
directed vertex-disjoint paths problem is NP-complete (as the arc-disjoint problem
can be reduced to vertex-disjoint by considering the line digraph).
Shiloach [1979a] observed that Edmonds disjoint arborescences theorem im-
plies that in any k-arc-connected digraph the k arc-disjoint problem always has a
solution. (This can be shown by adding a new vertex r and new arcs (r, si ) for each
beginning terminal si . As the original digraph is k-arc-connected, by Edmonds dis-
joint arborescences theorem (Corollary 53.1b) the new digraph has k arc-disjoint
r-arborescences. They contain paths as required.)
If we restrict ourselves to planar digraphs, then for each fixed k, the k vertex-
disjoint paths problem is polynomial-time solvable (Schrijver [1994a]). The method
is based again on enumerating homotopy types of paths. (The polynomial-time
solvability for k = 2 opposite nets (requiring only internally vertex-disjoint paths),
was shown by Seymour [1991].)
It can be extended to the polynomial-time solvability, for any fixed q, of the
problem of finding vertex-disjoint rooted subarborescences in a planar graph, with
prescribed roots and terminals to be covered, provided that these roots and termi-
nals can be covered by the boundaries of at most q faces.
An open problem is the complexity of the k arc-disjoint paths problem in di-
rected planar graphs, for any fixed k 2. This is even unknown for k = 2, also if
we restrict ourselves to two opposite nets.
For acyclic digraphs, the k vertex-disjoint paths problem is polynomial-time
solvable for each fixed k. This was shown by Fortune, Hopcroft, and Wyllie [1980]
(extending an earlier result for k = 2 of Perl and Shiloach [1978]) see Section
70.13c. By considering line digraphs, it implies the polynomial-time solvability of
the k arc-disjoint paths problem in acyclic digraphs for each fixed k.
1244 Chapter 70. Multiflows and disjoint paths
Theorem 70.9. For each fixed k, there exists a polynomial-time algorithm for the
k vertex-disjoint paths problem for acyclic digraphs.
Proof. Let D = (V, A) be an acyclic digraph and let (s1 , t1 ), . . . , (sk , tk ) be pairs
of vertices of D (the nets), all distinct. To solve the disjoint paths problem we may
assume that each si is a source of D and each ti is a sink of D.
Make an auxiliary digraph D = (V , A ) as follows. The vertex set V consists
of all k-tuples (v1 , . . . , vk ) of distinct vertices of D. In D there is an arc from
(v1 , . . . , vk ) to (w1 , . . . , wk ) if and only if there exists an i {1, . . . , k} such that:
(70.54) (i) vj = wj for all j = i;
(ii) (vi , wi ) is an arc of D;
(iii) for each j = i there is no directed path in D from vj to vi .
Now the following holds:
(70.55) D contains vertex-disjoint directed paths P1 , . . . , Pk such that Pi runs
from si to ti (i = 1, . . . , k) D contains a directed path P from
(s1 , . . . , sk ) to (t1 , . . . , tk ).
To see =, let Pi follow the vertices vi,0 , vi,1 , . . . , vi,pi for i = 1, . . . , k. So
vi,0 = si and vi,pi = ti for each i. Choose j1 , . . . , jk such that 0 ji pi for each
i and such that:
(70.56) (i) D contains a directed path from (s1 , . . . , sk ) to (v1,j1 , . . . , vk,jk ),
(ii) j1 + + jk is as large as possible.
Let I := {i | ji < pi }. If I = we are done, so assume I = . Then by the
definition of D and the maximality of j1 + + jk there exists for each i I an
i =
i such that there is a directed path in D from vi ,ji to vi,ji . Since ti is a
sink we know that vi ,ji = ti and that hence i belongs to I. So each vertex in
{vi,ji | i I} is end vertex of a directed path in D starting at another vertex in
{vi,ji | i I}. This contradicts the fact that D is acyclic.
To see = in (70.55), let P be a directed path from (s1 , . . . , sk ) to (t1 , . . . , tk )
in D . Let P follow the vertices (v1,j , . . . , vk,j ) for j = 0, . . . , p. So vi,0 = si and
vi,p = ti for i = 1, . . . , k. For each i = 1, . . . , k, let Pi be the path in D following
vi,j for j = 0, . . . , p, taking repeated vertices only once. So Pi is a directed path
from si to ti .
Section 70.13d. A column generation technique for multiflows 1245
One can derive from Theorem 70.9 that for fixed k also the k arc-disjoint paths
problem is solvable in polynomial time for acyclic digraphs (by considering the line
digraph).
Similarly to the proof of Theorem 70.9, one can prove that for each fixed k,
the following problem is solvable in polynomial time: given an acyclic digraph D =
(V, A), pairs (s1 , t1 ), . . . , (sk , tk ) of vertices, and subsets A1 , . . . , Ak of A, find arc-
disjoint directed paths P1 , . . . , Pk , where Pi runs from si to ti and traverses only
arcs in Ai (i = 1, . . . , k).
Thomassen [1985] characterized the solvability of the 2 vertex-disjoint paths
problem for acyclic digraphs, similarly to characterization (71.26). (Metzlar [1993]
gave a generalization.)
If we solve (70.58) with the simplex method, each simplex tableau is completely
determined by the set of variables in the current base. So it is determined by subsets
P of P and A of A, giving the indices of variables in the base. This is enough to
know implicitly the whole tableau. Note that |P | + |A | = |A|. So although the
tableau is exponentially large, it can be represented in a concise way.
Let B be the matrix consisting of those columns of [M I] corresponding to P
and A . So the rows of B are indexed by A and the columns by P A . The basic
solution corresponding to B is easily computed: the vector B 1 c gives the values
for zP if P P and for za if a A , while we set zP := 0 if P P and za := 0 if
a A . Initially, B = I, that is P = and A = A, implying zP = 0 for all P P
and za = c(a) for all a A.
Now we describe pivoting (that is, finding variables leaving and entering the
base) and checking optimality. Interestingly, it turns out that this can be done by
solving a set of shortest path problems.
First consider the dual variable corresponding to an arc a. It has value (in the
current tableau):
(70.59) T
wB B 1 a wa = wB
T
(B 1 )a ,
where, as usual, wB denotes the part of vector w corresponding to B (that is,
corresponding to P and A ) and where a denotes the ath unit base vector in RA
(which is the column corresponding to a in [M I]). Note that the columns of B 1
are indexed by A; then (B 1 )a is the column corresponding to a. Note also that
wa = 0 by definition.
Similarly, the dual variable corresponding to a path P in P has value:
T 1
(70.60) wB T
B 1 P wP = wB (B )a 1.
aP
In order to pivot, we should find a negative dual variable. To this end, we first
check if (70.59) is negative for some arc a. If so, we choose such an arc a and
take za as the variable entering the base. Selecting the variable leaving the base
now belongs to the standard simplex routine. For that, we only have to consider
that part of the tableau corresponding to P , A , and a. We select an element f
in P A for which the quotient zf /(B 1 )f,a has positive denominator and is as
small as possible. Then zf is the variable leaving the base.
Suppose next that (70.59) is nonnegative for each arc a. We consider wBT
(B 1 )a
as the length l(a) of a. Then for any path P ,
T 1
(70.61) wB (B )a
aP
is equal to the length aP l(a) of P . Hence, finding a dual variable (70.60) of
negative value is the same as finding a path in P of length less than 1.
Such a path can be found by applying a shortest path algorithm: for each
i = 1, . . . , k, we find a shortest si ti path (with respect to l). If each of these shortest
paths has length at least 1, we know that all dual variables have nonnegative value,
and hence the current basic solution is optimum.
If we find some si ti path P of length less than 1, we choose zP as variable en-
tering the base. Again selecting a variable leaving the base is standard: we select an
element f in P A for which the quotient zf /(B 1 P )f has positive denominator
and is as small as possible.
Section 70.13e. Approximate max-flow min-cut theorems for multiflows 1247
A C
E
D
Let there be several points A, B, C, D, E (Fig. 1) which are connected to one
another by a railroad network. It is possible to make the shipments from B to
D by the shortest route BED, but it is also possible to use other routes as well:
namely BCD, BAD. Let there also be given a schedule of freight shipments; that
is, it is necessary to ship from A to B a certain number of carloads, from D to
C a certain number, and so on. The problem consists of the following. There is
given a maximum capacity for each route under the given conditions (it can of
course change under new methods of operation in transportation). It is necessary
to distribute the freight flows among the dierent routes in such a way as to
complete the necessary shipments with a minimum expenditure of fuel, under the
condition of minimizing the empty runs of freight cars and taking account of the
maximum capacities of the routes. As was already shown, this problem can also
be solved by our methods.
A problem analogous to the multicommodity flow problem, the multi-index trans-
portation problem, was considered by Motzkin [1952] and Schell [1955].
It was noted by Ford and Fulkerson [1954,1956b] that the max-flow min-cut
theorem does not extend to maximum multiflows:
It is worth pointing out that the minimal cut theorem is not true for networks
with several sources and corresponding sinks, where shipment is restricted to be
from a source to its sink.
Ford and Fulkerson give the example of the graph K1,3 , with nets all pairs of vertices
of degree 1.
Robacker [1956a] observed that the following decomposition theorem applies:
for a graph G = (V, E), nets {s1 , t1 }, . . . , {sk , tk }, and a capacity function c : E
R+ , the maximum total value of a multiflow subject to c is equal to
1250 Chapter 70. Multiflows and disjoint paths
k
(70.63) max min ci (C).
c1 ,...,ck CCi
i=1
They express the expectation that developments in computer technology and possi-
ble extensions of the combinatorial methods for one-commodity flows, will improve
the situation greatly.
It turned out, however, that the combinatorial techniques that made the single-
commodity flow problem so tractable, do not extend to multicommodity flows.
Ford and Fulkerson [1958a] suggested a variant of the simplex method based on
a column-generation technique, where each simplex step consists of determining a
shortest path. Although they did not carry out computations, they expected that
their method is more practicable than the direct simplex method, at least in space
required. A primal-dual algorithm for multiflows was designed by Jewell [1958] (cf.
Jewell [1966]).
Hu [1963] gave a combinatorial algorithm for the 2-commodity flow problem,
but doubted whether it could be extended to general multicommodity flows:
Although the algorithm for constructing maximum bi-flow is very simple, it is un-
likely that similar techniques can be developed for constructing multicommodity
flows. The linear programming approach used by Ford and Fulkerson to construct
maximum multicommodity flows in a network is the only tool now available.
For remarks on the early history of multicommodity flows, see Jewell [1966].
Chapter 71
Two commodities
Proof. Necessity being trivial, we show suciency. Suppose that the cut
condition holds. Orient the edges of G arbitrarily, yielding the digraph D =
(V, A). For any a A, we denote by c(a) the capacity of the underlying
undirected edge. For i = 1, 2, define pi : V Z by
(71.3) pi := di (ti si ).
s1 t2
s G t
s2 t1
Figure 71.1
s1 t2
s2 t1
t
Figure 71.2
(71.5) g (a) c(a) (mod 2) and |g (a)| c(a) for each a A, and
excessg = p1 p2 .
Now define f1 := 21 (g + g ) and f2 := 12 (g g ). Then f1 and f2 form a 2-
commodity flow as required. Indeed, since g c g (mod 2), we know that
f1 and f2 are integer. Moreover, |f1 (a)| + |f2 (a)| = 21 (|g (a)| + |g (a)|) c(a)
for each a A. Finally, excessfi = pi for i = 1, 2, as follows directly from
(71.4) and (71.5).
since dE (U ) d1 + d2 .
So D contains d1 arc-disjoint s1 t1 paths. Now delete from (V, A B) all arcs
occurring in these paths, and delete the d1 parallel arcs from t1 to s1 . We are left
with an Eulerian digraph, and hence the d2 parallel arcs from t2 to s2 belong to d2
arc-disjoint directed circuits. This gives the d2 paths from s2 to t2 as required.
Section 71.2. Consequences 1255
71.2. Consequences
E.A. Dinits (cf. Adelson-Velski, Dinits, and Karzanov [1975]) observed that
Hus 2-commodity flow theorem and the Rothschild-Whinston theorem im-
ply:
First assume that degG (s1 ) degG (t1 ) (mod 2) and (hence) degG (s2 )
degG (t2 ) (mod 2). For i = 1, 2, let mi be the minimum size of an si ti cut.
We show that
(71.8) there exists d1 , d2 Z+ such that d1 m1 , d2 m2 , d1 +d2 = m,
d1 degG (s1 ) (mod 2), and d2 degG (s2 ) (mod 2).
To see this, note that m m1 + m2 (since the union of an s1 t1 cut
and an s2 t2 cut separates both s1 and t1 , and s2 and t2 ), m1 m, and
m degG (s1 ) + degG (s2 ) (mod 2). As m > 0, by symmetry we may assume
that m2 > 0. If m1 degG (s1 ) (mod 2), then we can take d1 := m1 and
d2 := m m1 . If m1 degG (s1 ) (mod 2), then we can take d1 := m1 1
and d2 := m m1 + 1. Indeed, as m1 degG (s1 ) (mod 2), any minimum-size
s1 t1 cut also separates s2 and t2 . So m = m1 . Hence d1 0 (as m > 0)
and d2 = 1 m2 (as m2 > 0).
This shows (71.8). By Corollary 71.1a, there exist d1 s1 t1 paths and d2
s2 t2 paths, any two of which are edge-disjoint. So M d1 + d2 = m.
Next assume that degG (s1 ) degG (t1 ) (mod 2) and (hence) degG (s2 )
degG (t2 ) (mod 2). By symmetry, we may assume that m is attained by a cut
with s1 , s2 at one side and t1 , t2 at the other side. So the size of any cut with
s1 , t2 at one side and t1 , s2 at the other side, has parity dierent from that of
m; hence its size is at least m+1. Therefore, adding a new edge connecting s2
and t1 increases the minimum m by 1. Moreover, the maximum M increases
by at most 1. In the new situation, the degrees of s1 and t1 have the same
parity, and similarly for s2 and t2 . Hence the first part of this proof applies,
showing M m.
s1 t2
s2 t1
Figure 71.3
The maximum total value of a 2-commodity flow (subject to capacity 1)
is equal to 2, but the maximum total value of an integer 2-commodity
flow is equal to 1.
The graph in Figure 71.3 shows that in the max-biflow min-cut theorem
(Corollary 71.1d) we cannot delete the parity conditions (example of Roth-
schild and Whinston [1966b]). This example is critical, as is shown by the
following result, which is a special case of a general hypergraph theorem of
Seymour [1977b] (Theorem 80.1).
Section 71.3. 2-commodity cut packing 1257
Here we assume that the subgraph contains the si and ti , and that these
vertices are contracted to the vertices indicated by si and ti in the figure. For
a proof, we refer to Section 80.5a.
A similar result for feasibility can be derived (Seymour [1981a]):
(71.9) Let G = (V, E) be a graph and s1 , t1 , s2 , t2 V . Then for each
capacity function c : E Z+ and each demands d1 , d2 Z+ , the
cut condition implies the existence of an integer multiflow if and
only if the graph of Figure 70.3 is not a minor of G.
We derive this result from Theorem 71.2. By taking c(e) large one can see
that the property described is closed under contractions of edges. As Figure
70.3 satisfies the cut condition but has no integer multiflow (for c = 1, d = 1),
we have necessity of the condition in (71.9).
To derive suciency from Theorem 71.2, let G have no subgraph con-
tractible to Figure 70.3 and let c : E Z+ and d1 , d2 Z+ satisfy the cut
condition. Let s1 and s2 be two new vertices, and let s1 s1 and s2 s2 be two
new edges, of capacity d1 and d2 respectively. Then the extended graph G
has no subgraph contractible to the graph of Figure 71.3, with si replaced by
si (i = 1, 2), up to exchanging s1 and t1 , and s2 and t2 . Also, the minimum
capacity of a cut in G separating both s1 and t1 , and s2 and t2 , is equal to
d1 + d2 . Hence by Theorem 71.2, G has an integer multiflow of total value
d1 + d2 . Restricted to G this gives a multiflow satisfying d1 , d2 .
Notes. For the case where G + H is planar, Lomonosov [1983] characterized for
fixed integer capacity function c, when the maximum and minimum in Theorem
71.2 are equal. He also showed that if G + H is planar, the maximum and minimum
dier by at most 1.
and
(71.11) distl (si , ti ) = U R (U ) (si ti ),
U
1258 Chapter 71. Two commodities
Proof. We may assume that G is connected. Let d(u, v) := distG (u, v) for
u, v V . Let k := min{d(s1 , t1 ), d(s2 , t2 )}. Let C1 , . . . , Ct be the cuts de-
scribed in Theorem 71.3. At least k of these cuts separate s1 and t1 , and at
least k of these cuts separate s2 and t2 . If Ci separates s1 and t1 and Cj
separates s2 and t2 , then Ci Cj contains a cut separating both s1 and t1 ,
and s2 and t2 . Thus by properly combining the Ci , we obtain k disjoint cuts
as required.
(To see this, we can assume that C1 , . . . , Ck separate s1 and t1 , and that
Cl+1 , . . . , Cl+k separate s2 and t2 , where 0 l k. Then each of the (disjoint)
sets C1 Ck+1 , . . . , Cl Cl+k , Cl+1 , . . . , Ck contains a cut separating both s1
and t1 , and s2 and t2 .)
Proof. Replace each edge e by a path of length 2l(e). This makes the bipartite
graph H. Applying Corollary 71.3a to H does the rest.
s2
t1 s1
t2
Figure 71.4
The minimum of the distances of s1 and t1 and of s2 and t2 is equal to
2, but there exist no two disjoint cuts each separating both s1 and t1 ,
and s2 and t2 .
1260 Chapter 71. Two commodities
Again, we assume that the subgraph contains the si and ti , and that these
vertices are contracted to the vertices indicated by si and ti in the figure. For
a proof, we refer to Section 80.5a.
Notes. Seymour [1981a] showed the following related result: let G = (V, E) be a
bipartite graph, and choose s1 , t1 , s2 , t2 V , with s1 , s2 in one colour class and t1 , t2
in the other. Choose odd integers d1 distG (s1 , t1 ) and d2 distG (s2 , t2 ) such that
d1 + d2 distG (s1 , s2 ) + distG (t1 , t2 ) and d1 + d2 distG (s1 , t2 ) + distG (t1 , s2 ).
Then there exist disjoint cuts, d1 of which separate s1 and t1 and not s2 and t2 ,
and d2 of which separate s2 and t2 and not s1 and t1 .
Let S be a collection of nonempty proper subsets of a finite set T . Let G = (V, E)
be a graph with V T . Let A be the collection of subsets U of V with U T S.
Consider any length function l : E R+ and any d : S R+ . The multicut
analogue of the multiflow problem asks for a function y : A R+ such that
(71.16) y(U )E (U ) l
U A
where R := {st | s, t T, s =
t}. Then the maximum value of (71.20) is equal to
the minimum value of
(71.22) (r)distl (r),
rR
for each U S. (An r-path is a path connecting the vertices in r.) Again this
characterization is tight.
This has as special cases theorems on packing s t cuts (Theorem 6.1), 2-
commodity cuts (Theorem 71.3), and T -cuts (Corollary 29.9a).
These cases are further characterized by the following result of Karzanov
[1985a]. Let T be a finite set and let S be a collection of nonempty proper subsets
of T such that (i) if U S, then T \ U S, (ii) for each t T there is a U S with
t U and U \ {t} S, (iii) for all distinct s, t T there is a U S separating s and
t. Let G be the complete graph on vertex set V with V T and |V | |T | + 2. Then
minimum (71.19) is attained by an integer optimum solution x for each l : E R+
if and only if:
(71.25) (i) there exist s, t T such that each set in S contains exactly one
of s and t, and such that the collection of sets in S containing s,
is closed under unions and intersections,
or (ii) T = {s1 , t1 , s2 , t2 } and S = {{s1 , s2 }, {s1 , t2 }, {t1 , s2 }, {t1 , t2 }},
or (iii) S is equal to the collection of odd-size subsets of T , where |T | is
even.
(71.26) (i) s1 , t1 , s2 , t2 U ,
(ii) |N (K)| 3 for each component K of G U ;
(iii) the graph H obtained from G[U ] by adding, for each component K
of G U and each distinct u, v N (K), an edge connecting u and
v, is planar, with s1 , s2 , t1 , t2 in this order cyclically on the outer
boundary of H.
In fact, condition (ii) is superfluous. (Theorem 71.5 was proved for 4-connected
graphs by Jung [1970], generalizing Watkins [1968] who proved it for 4-connected
graph containing a subdivision of K5 .)
The polynomial-time solvability of the 2 vertex-disjoint paths problem can
be derived by observing that we can reduce the problem if there is a K
V \ {s1 , t1 , s2 , t2 } with |N (K)| 3 (remove K and add edges as in (71.26)(iii)). So
we can assume that no such K exists. Hence, by the characterization, if no paths
as required exist, the graph should be planar with the terminals in the cyclic order
s1 , s2 , t1 , t2 along the outer boundary this can be tested in polynomial time.
(Khuller, Mitchell, and Vazirani [1992] gave a parallel implementation.)
A related result for the 2 edge-disjoint paths problem was given by Dinits and
Karzanov [1979] and Seymour [1980b]:
(71.27) Let G = (V, E) be a connected graph and let s1 , t1 , s2 , t2 V . Then
G has edge-disjoint paths P1 and P2 , where Pi connects si and ti
(i = 1, 2) if and only if the cut condition holds and there is no F E
such that the graph G/F , obtained from G by contracting all edges
in F , is connected and planar and has maximum degree 3, while
s1 , s2 , t1 , t2 are distinct, all have degree at most 2, and occur in this
order around the outer boundary of G/F .
This implies in particular that if G is 3-edge-connected, then the 2 edge-disjoint
paths problem has a solution, for any choice of two nets.
Frank [1989] observed that a directed version of the 2-commodity flow theorem
holds:
Theorem 71.6. Let D = (V, A) be as digraph, and let R consist of two parallel
classes of arcs, with (V, A R1 ) Eulerian. Then the cut condition is necessary and
sucient for the solvability of the arc-disjoint paths problem.
S1 S1
S2 T2
S2 T2
T1 T1
Figure 71.5
The maximum number of edge-disjoint paths each connecting vertices
labeled Si and Ti for some i, is equal to 4, whereas the minimum size
of an edge set intersecting each such path is equal to 5. Note that the
graph is Eulerian.
Theorem 71.7. Let G = (V, E) be a graph and let A, B E. Then the maximum
number of edge-disjoint paths each connecting A and B is equal to the minimum
number of edges intersecting each such path.
1264 Chapter 71. Two commodities
Proof. We can assume that the Ui partition V , since we can add an extra pair
S0 , T0 with S0 := V U1 Uk and T0 := . We can also assume that, for any
i, no edge connects Si and Ti , since deleting it reduces both optima by 1.
Let R be the set of edges connecting distinct sets among U1 , . . . , Uk . Then for
each i, any inclusionwise minimal Si Ti path has its end edges in R and has no
other edges in R (since all internal vertices belong to Ui ). Let A be the set of edges
e in R such that e is disjoint from an even number of S1 , . . . , Sk , and let B := RA.
The sets A and B have the following property. Let P be a path with only its
end edges in R. Then:
(71.28) P connects Si and Ti for some i if and only if P connects A and B.
With Theorem 71.7, this immediately proves the present corollary.
To prove (71.28), let u and w be the first and last vertex of P , let I be the set
of internal vertices of P , and let c and d be the first and last edge of P . Since only
the end edges of P are in R, we know by definition of R that there exists an i such
that each internal edge of P only meets Ui and such that u, v Ui . In other words,
I Ui and u, w Si Ti .
Section 71.4d. Further notes 1265
Itai and Zehavi [1984] showed that if G = (V, E) is a graph and s1 , t1 , s2 , t2 V are
such that for i = 1, 2, there exist k edge-disjoint si ti paths, then for each choice of
d1 , d2 with d1 +d2 = k, there exist d1 and d2 with d1 +d2 = k, d1 d1 d1 +1, and
a collection of edge-disjoint paths such that di of them connect si and ti (i = 1, 2).
The integer 2-commodity flow problem is solvable in polynomial time if G + H
is planar see Section 74.2b.
Rebman [1974] studied a generalization of totally unimodular matrices appro-
priate for 2-commodity flows.
Chapter 72
(a) (b)
Figure 72.1
The following theorem extends Theorem 71.1 and Corollary 71.1c, and
was proved by Lomonosov [1976,1985] and Seymour [1980c] for H = K4 , and
by Lomonosov [1976,1985] for H = C5 . The proof below is inspired by the
direct proof given by Frank [1990e]. (Here G + H is the graph (V, E R),
taking multiplicities of edges into account.)
(72.3) for each tight set X and each v V \ X we have |E[X, v]|
|R[X, v]| 21 (degE (v) degR (v)),
since, setting X := X {v} we have dE (X ) = dE (X) + degE (v) 2|E[X, v]|
and dR (X ) = dR (X) + degR (v) 2|R[X, v]|. Then dE (X) = dR (X) and
dE (X ) dR (X ) give (72.3).
The following is also useful to observe:
(72.4) if X and Y are tight, and no net connects X \ Y and Y \ X, then
X Y and X Y are tight again, and no edge connects X \ Y
and Y \ X.
To see this, consider:
(72.5) dR (X) + dR (Y ) = dE (X) + dE (Y )
= dE (X Y ) + dE (X Y ) + 2|E[X \ Y, Y \ X]|
dE (X Y ) + dE (X Y ) dR (X Y ) + dR (X Y )
= dR (X) + dR (Y ).
So we have equality throughout, proving (72.4).
This implies:
(72.6) let B be a set of vertices intersecting all nets, and let X and Y
be tight sets with X B = Y B. Then X Y and X Y are
tight.
Otherwise, by (72.4) there is a net connecting X \ Y and Y \ X, and hence
not intersecting B, a contradiction.
We next show that for each terminal t:20
(72.7) degE (t) = degR (t).
Assume degE (t) > degR (t). Let X be the collection of inclusionwise maximal
tight subsets of V \{t}. For each edge or net p, let Xp denote the set of U X
splitting p.
We have |Xe | 2 for each edge e E (t), since by (72.2), each pair of
edges incident with t is split by some U X , and since no tight set X splits
all edges incident with t simultaneously, as it would imply
(72.8) dE (X {t}) = dE (X) degE (t) = dR (X) degE (t)
< dR (X) degR (t) dR (X {t}).
Also we have |Xr | 2 for each r R (t), and we have |X | 4. Indeed, let
r = st. By (72.1), there exists a vertex u such that each net intersects B :=
{s, t, u}. Therefore, by (72.6), any two sets in X have a dierent intersection
with B (as otherwise their union is tight, contradicting their maximality). As
no set in X contains t, we have the required inequalities.
This gives with (72.3):
20 A terminal is a vertex covered by at least one net.
Section 72.1. Demand graphs for which the cut condition is sucient 1269
(72.9) 2(degE (t) degR (t)) |Xe | |Xr |
eE (t) rR (t)
1
= (|E[U, t]| |R[U, t]|) 2 |X |(degE (t) degR (t))
U X
2(degE (t) degR (t)).
Hence equality holds throughout in (72.9). So |X | = 4, |Xe | = 2 for each
e E (t), and |Xr | = 2 for each r R (t). Hence the Xe form a graph
on the vertex set X , such that any two of its edges intersect (by (72.2)),
but no vertex is in all edges (since no tight set splits all edges in E (t)). So
there is a U X contained in no Xe ; that is, E[U, t] = . Since we have
equality in (72.3) (as we have equality throughout in (72.9)), it follows that
degE (t) degR (t) = 0, that is, we have (72.7).
(72.7) implies that
(72.10) no two terminals s and t are adjacent,
since otherwise dE ({s, t}) < degE (s) + degE (t) = degR (s) + degR (t) =
dR ({s, t}), contradicting the cut condition.
Now choose st R. By (72.1), there is a vertex u {s, t} such that each
commodity disjoint from st intersects u. We can assume that u is a terminal,
as otherwise s and t are the only terminals, in which case the theorem follows
from Mengers theorem. Since, by (72.7), V \ {u} is tight, there exists a tight
subset Z which is inclusionwise minimal under the conditions that s, t Z
and u Z.
Then s has a neighbour v Z. Otherwise we have
(72.11) dE (Z) = degE (s) + dE (Z \ {s}) degR (s) + dR (Z \ {s}) > dR (Z)
(as s, t Z), contradicting the tightness of Z.
Let Y be the collection of all inclusionwise maximal tight subsets of V \{v}
containing s. By (72.10), v is not a terminal. Hence, by (72.3), |E[Y, v]|
1
2 degE (v) for each Y Y. Therefore, since (by (72.2)) each edge incident
with v is split by at least one Y Y, we have |Y| 3.
Then by (72.6), the sets in Y all have dierent intersections with {t, u}.
(By definition, each set in Y contains s.) Moreover, Y {t, u} = {t} for each
Y Y, since otherwise also Y Z is tight (by (72.6), as Z {t, u} = {t}),
contradicting the minimality of Z (note that v Y Z).
So |Y| = 3 and the sets in Y intersect {t, u} in , {u}, and {t, u} denote
these sets by S, U , and W , respectively (cf. Figure 72.2).
By the maximality of S, U , and W , S U and U W are not tight.
Hence, by (72.4), there is a net connecting S \ U and U \ S, and a net
connecting W \ U and U \ W . Then and intersect {s, t, u}. As s, t
(since s, t S U ) and u S \ U , we know = uw for some w S \ U . As
s, u (since s S W and u S W ) and t U \ W , we know = tx for
some x U \ W . As st and tx are disjoint from uw, each net disjoint from
uw contains t.
1270 Chapter 72. Three or more commodities
S U
W
s u t v
Figure 72.2
(a) (b)
Figure 72.3
Examples where the cut and Euler conditions hold, but no
fractional multiflow exists. The heavy lines are the nets and the
other lines the edges. All capacities and demands are equal to 1.
Theorem 72.2 also holds if H consists of three disjoint edges see The-
orem 72.3. The examples in Figure 72.3 (from Papernov [1976]) show that
the condition on the demand graph H in Theorem 72.2 is close to tight.
This is made more precise in the following characterization implied by Theo-
rem 72.2 (the equivalence (i)(iv)(v) is due to Papernov [1976], the other
equivalences to Lomonosov [1976,1985] and (for K4 ) to Seymour [1980c]):
Corollary 72.2a. For each simple graph H = (T, R) without isolated ver-
tices, the following are equivalent:
(72.12) (i) for each graph G = (V, E) with V T , and each c : E R+
and d : R R+ , the cut condition implies the existence of a
fractional multiflow;
Section 72.2. Three commodities 1271
Proof. The equivalence (iv)(v) was shown in Theorem 72.1. The implica-
tions (iii)(ii)(i) are general multiflow theory, while (i)(iv) follows from
the examples of Figure 72.3. The implication (iv)(iii) follows from Theorem
72.2, by replacing each edge of G by c(e) parallel edges and each edge of H
by d(e) parallel edges.
Corollary 72.3a. For any loopless graph H = (T, R) without isolated ver-
tices, the following are equivalent:
(72.15) (i) for each graph G = (V, E) with V T satisfying the cut and
Euler condition (with respect to H), the edge-disjoint paths
problem has a solution;
(ii) T has two vertices intersecting all pairs in R, or |T | 4, or H
is C5 with parallel edges added, or R consists of three disjoint
edges;
(iii) H has no subgraph equal to , , , , or .
Proof. The implication (iii)(ii) follows from Theorem 72.1. The implica-
tion (ii)(i) follows from Theorems 72.2 and 72.3. The implication (i)(iii)
follows from the examples in Figure 72.3, since from each of graphs given
in (iii) we can obtain or , by identifying some vertices. Then from the
examples in Figure 72.3 we can obtain examples for the graphs in (iii) by
adding two parallel edges between any pair of identified vertices.
Notes. For |R| = 3, Okamura [1984a] showed that the cut condition implies the
existence of a half-integer solution for the edge-disjoint paths problem. (This seems
not to follow from Theorem 72.3. On the other hand, having Okamuras result,
to prove Theorem 72.3 it suces to show that if the Euler condition holds and a
half-integer solution exists, there is an integer solution.)
This implies the following characterization, extending Corollary 72.3a.
Theorem 72.4. For any loopless graph H = (T, R) without isolated vertices, the
following are equivalent:
(72.16) (i) for each graph G = (V, E) with V T satisfying the cut condition,
the edge-disjoint paths problem has a fractional solution;
Section 72.2a. The K2,3 -metric condition 1273
(ii) for each graph G = (V, E) with V T satisfying the cut condition,
the edge-disjoint paths problem has a half-integer solution;
(iii) for each graph G = (V, E) with V T satisfying the cut and Euler
condition, the edge-disjoint paths problem has a solution;
(iv) T has two vertices intersecting all pairs in R, or |T | 4, or H is
C5 with parallel edges added, or R consists of three disjoint pairs;
(v) H has no subgraph equal to , , , , or .
Figure 70.4 shows that there is no integer p such that if a 3-commodity problem,
with integer capacities and demands, has a fractional solution, then it has a 1/p-
integer solution. More precisely, for each integer k 2, there is a graph G = (V, E)
and a collection R of three disjoint pairs from V , such that for c : E Z+ defined
by c(e) = 1 for each edge e and d : R Z+ with values 1, 2k, 2k respectively, there
is a fractional multiflow, but each feasible solution has some of its values equal to
1/2k.
By doubling capacities and demands, one obtains an example of a 3-commodity
flow problem satisfying the Euler condition, where a fractional but no half-integer
multiflow exists. A variant of the example gives a 3-commodity flow problem satis-
fying the Euler condition, where a half-integer but no integer solution exists.
M. Middendorf and F. Pfeier (cf. Pfeier [1990]) showed that it is NP-complete
to decide if the edge-disjoint paths problem has a half-integer solution, even if the
nets consist of three disjoint parallel classes of edges. This implies a result of Vygen
[1995] that it is NP-complete to decide if the edge-disjoint paths problem has a
solution, even if the nets consist of three disjoint parallel classes of edges and the
Euler condition holds.
Let H6 be the graph obtained from K3,3 by adding in each of the two colour
class one new edge (cf. Figure 72.3(a)). Seymour [1981a] showed for each graph
G = (V, E):
(72.17) G has no H6 minor if and only if for each R E with |R| 3 and
each c : E \ R Z+ and d : R Z+ satisfying the Euler condition,
the cut condition implies the existence of an integer multiflow (where
(V, E \ R) is the supply graph).
The proof is by showing that each 3-connected graph without H6 minor is K5 or
has no K5 minor, and hence can be decomposed into planar graphs and copies of
V8 (Wagners theorem (Theorem 3.3)).
Karzanov [1987a] showed that a strengthened form of the cut condition, the K2,3 -
metric condition, is sucient for having a fractional multiflow for a class of demand
graphs larger than described in Section 72.1.
This is described as follows. Let be a graph and let V be a finite set. A metric
on V is called a -metric if there is a function : V V with
(72.18) (u, v) = dist ((u), (v))
for all u, v V . (Here dist (x, y) denotes the distance of x and y in .)
-metrics give rise to the following necessary condition, the -metric condition,
for the existence of a feasible fractional multiflow:
1274 Chapter 72. Three or more commodities
(72.19) d(r)(s, t) c(e)(u, v) for each -metric on V .
r=stR e=uvE
This is a specialization of condition (70.11). Since each cut gives a K2 -metric, and
hence a K2,3 -metric, condition (72.19) includes the cut condition.
Karzanov [1987a] showed:
Theorem 72.5. Let G = (V, E) be a graph and let H = (T, R) be a complete graph
with |T | = 5 and T V . Let c : E R+ and d : R R+ . Then there exists a
fractional multiflow if and only if the K2,3 -metric condition holds. If moreover c
and d are integer, there is a half-integer multiflow. If moreover the Euler condition
holds, there is an integer multiflow.
Corollary 72.5a. For each simple graph H = (T, R) without isolated vertices, the
following are equivalent:
(72.20) (i) for each graph G = (V, E) with V T , and each c : E Z+
and d : R Z+ , the existence of a fractional solution implies the
existence of a half-integer solution;
(ii) for each graph G = (V, E) with V T , and each c : E Z+ and
d : R Z+ , the Euler condition and the existence of a fractional
solution imply the existence of an integer solution;
(iii) H has no three disjoint edges and no two disjoint triangles;
(iv) |V H| = 5, or H is the union of a triangle and a star, or H is the
union of two stars.
That (72.20)(iv) implies (72.20)(i) follows from Theorem 72.5, as we can replace
a star with center s by an edge sw, where w is a new vertex, with the construc-
tion of Dinits given in the proof of Corollary 71.1c. Conversely, (72.20)(i) implies
(72.20)(iii). It requires giving a counterexample if H consists of three disjoint edges,
and one if H consists of two disjoint triangles. If H consists of three disjoint edges,
a counterexample was given in Figure 70.4. If H consists of two disjoint triangles, a
counterexample follows (by doubling all capacities and demands) from Figure 72.4
(A.V. Karzanov, personal communication 2000), where c and d are integer, and
where a quarter-integer, but no half-integer solution exists.
Karzanov [1991] conjectures that if R consists of two disjoint triangles and c
and d are integer and satisfy the Euler condition, then the existence of a fractional
solution implies the existence of a half-integer solution21 . This would imply that
for each fixed graph H = (T, R) the following equivalences holds:
(72.21) (?) there is an integer k such that for each graph G = (V, E) with
V T and each c : E Z+ and d : R Z+ , if there is a feasible
multiflow, then there exists a k1 -integer multiflow
for each graph G = (V, E) with V T and each c : E Z+
and d : R Z+ , if there is a feasible multiflow, then there exists a
1
4
-integer multiflow
H has no three disjoint edges. (?)
21 A proof of this was announced in Karzanov [1987a], but A.V. Karzanov communicated
to me that the proof failed.
Section 72.2b. Six terminals 1275
1113 1366
13
46
1146 4666
1346 1346
1144
1222 1244
1245 12 1245
3366
45 4445
2245
2356 2255
2356
2333 2355
23
56
3356 5556
Figure 72.4
A quarter-integer multiflow exists, but no half-integer multi-
flow. The nets (indexed by 1, . . . , 6) are indicated by indices at ver-
tices. All capacities and demands are 1. The quarter-integer multiflow
is indicated by indices at the edges: k times index i at edge e means
fi (e) = k4 .
The nonexistence of a half-integer multiflow can be seen as follows.
Give each of the (three) edges that connect terminals length 2, and any
other edge length 1. Then the distance between the two terminals in
any net is 4. Also, the sum of the lengths of the edges equals 24. So
any flow fi in a half-integer multiflow, can be decomposed as half of
the sum of two flows following si ti paths Pi,1 and Pi,2 of length 4.
Moreover, on each edge, the capacity is fully used. Hence, each vertex v
of degree 3 not being a terminal, is traversed by three paths Pi,j , each
using a dierent pair of edges incident with v. One easily checks that
this is not possible.
Karzanov [1998d] studied the existence of an integer multiflow if the nets form a
disjoint union of a triangle and an edge.
then the edge-disjoint paths problem has a half-integer solution (that is, for each
r R there exist paths Pr and Pr connecting the ends of r, such that each edge
of G is in at most two of the paths Pr , Pr (over all r R)). She conjectures that
here the condition |T | 6 can be deleted.
(72.32) |EP | d(s, v) + d(v, t) = (s) + 2(v) + (t) > (s) + (t),
a contradiction.
If H = C5 , let T = {r1 , . . . , r5 } and R = {ri ri+1 | i = 1, . . . , 5}, taking
indices mod 5. Applying (72.25) to u := ri and w := ri+2 , we obtain st =
ri+3 ri+4 (as it is the unique pair in R disjoint from {u, w}), and hence
(72.33) d(ri , ri+2 ) + d(ri+3 , ri+4 ) d(ri , ri+3 ) + d(ri+2 , ri+4 )
(i = 1, . . . , 5),
d(ri , ri+2 ) + d(ri+3 , ri+4 ) d(ri , ri+4 ) + d(ri+2 , ri+3 )
(i = 1, . . . , 5).
Adding up these ten inequalities, we obtain the same sum at both sides of
the inequality sign. So we have equality in each of (72.33). This is equivalent
to (72.31), and we obtain a contradiction in the same way as above.
(a) (b)
Figure 72.5
The heavy lines are the edges of H, the other lines those of G. In both
cases, G has no disjoint cuts such that for any edge r in H, the distance
in G between the vertices in r is equal to the number of cuts separating
them.
Notes. Karzanov [1985b] gave an O(n3 ) algorithm to find the cut packings of
Theorem 72.6 (also for the weighted case). Theorem 72.2 can also be derived from
Theorem 72.6, with the help of Theorems 70.5 and 70.7.
Karzanov [1990b] extended these cut packing results to packing K2,3 -metrics
(cf. Section 72.2a):
(72.34) Let G = (V, E) be a bipartite graph and let T V with |T | = 5. Then
there exist K2,3 -metrics 1 , . . . , k such that distG (u, v) 1 (u, v) +
+ k (u, v) for all u, v V , with equality if u, v T .
Chapter 73
T -paths
Proof. The maximum is at most the minimum, since for each U V , each
T -path intersects U or has its ends in K T for some component K of G U .
To see equality, let be equal to the minimum value of (73.1). Let the
graph G = (V , E)
arise from G by adding a disjoint copy G of G T , and
making the copy v of each v V \ T adjacent to v and to all neighbours of
v in G. By the Tutte-Berge formula (Theorem 24.1), G has a matching M of
size + |V \ T |. To see this, we must prove that for any U V :
1280 Chapter 73. T -paths
(73.2) | +
|U + |V \ T |,
12 |K|
K
Proof. Let be the minimum value of (73.4). Trivially, the maximum num-
ber of disjoint S-paths is at most , since any S-path disjoint from U0 and
traversing an edge spanned by Ui , traverses at least two vertices in Bi .
Fixing V , choose a counterexample E, S minimizing
(73.5) |E| |{{x, y} | x, y V, X, Y S : x X, y Y, X = Y }|.
Then each X S is a stable set of G, since deleting any edge e spanned by X
does not change the maximum and minimum value in Maders theorem (as
no S-path traverses e and as deleting e does not change any set Bi ), while it
decreases (73.5).
Section 73.1. Disjoint T -paths 1281
(The case splitting finishing this proof is due to A. Frank (personal commu-
nication 2002).)
Theorem 73.2 is equivalent to the original form of Maders theorem on
internally vertex-disjoint T -paths (instead of fully disjoint S-paths), which
reads as follows.
For any graph G, let BG (U ) denote the set of vertices in U having a
neighbour that is not in U .
1282 Chapter 73. T -paths
Proof. Trivially, the maximum is not more than the minimum (since each
T -path not intersecting U0 traverses at least two vertices in some Ui , hence
it traverses at least two vertices in Ui that have a neighbour out of Ui U0 ).
To see equality, we can assume that no two vertices in T have a common
neighbour v. Otherwise we can apply induction by deleting v, which reduces
both the maximum and the minimum by 1.
Now the present corollary follows from Theorem 73.2 applied to G T
and the collection S := {N (s) | s T }.
Concluding, we have = .
This implies that can be determined in polynomial time. The paths can be
found explicitly by iteratively deleting edges if it does not reduce . Similarly, we
1286 Chapter 73. T -paths
can replace pairs of adjacent edges uv, vw by one edge uw, if it does not reduce .
We end up with a graph with edges spanned by T . Working our way back, we
find the required paths in the original graph.
This approach can be extended to obtain a strongly polynomial-time algorithm
for the capacitated case, where each edge e has an integer capacity c(e) and we
want to find a maximum number of T -paths such that each edge e is contained in
at most c(e) of them.
Seymour [1980b] showed that Corollary 73.2b also implies the following feasibility
characterization for integer K3 -flows (we follow the formulation and proof given by
Frank [1990e]). The cut condition is applied to R = {s1 s2 , s1 s3 , s2 s3 } with demand
d(si sj ) = di,j , and capacity 1:
Corollary 73.2c. Let G = (V, E) be a graph, let s1 , s2 , s3 V , and let d1,2 , d1,3 , d2,3
Z+ . Then there exists a collection of edge-disjoint paths such that di,j of them
connect si and sj (1 i < j 3), if and only if the cut condition holds and
(73.26) s(U1 ) + s(U2 ) + s(U3 )
for each choice of disjoint sets U1 , U2 , U3 with si Ui (i = 1, 2, 3). Here s(X) :=
|E (X)| d(R (X)) and is number of components K of G U1 U2 U3 with
|E (K)| odd.
Corollary 73.2d. Let G = (V, E) be a graph and let T V , with degG (v)
even for each v V \ T . Then the maximum number of edge-disjoint T -paths
in G is equal to
1
(73.31) 2 G (s).
sT
Here G (s) denotes the minimum size of a cut in G separating s and T \ {s}.
where c (s) denotes the minimum capacity of a cut separating s and T \ {s}.
If all capacities are integer there is a half-integer maximum-value multiflow.
If moreover c((v)) is even for each v V \ T , there is an integer maximum-
value multiflow.
In general it is not true that given any subset T of the vertex set of a graph, the
maximum number M of edge-disjoint T -paths is equal to the minimum size m of an
edge set intersecting each T -path: the complete bipartite graph Kt,n , with t odd and
T the colour class with t vertices, has M = 21 n(t 1) and m = n(t 1). Maders
edge-disjoint T -paths theorem (Corollary 73.2b) implies the conjecture of Gallai
[1961] (cf. Lovasz [1976b]) that M 21 m for any graph. (Lov asz [1976b] showed
that M 4 m, and P.D. Seymour (personal communication 1977) that M 31 m.)
1
over U, W satisfying T U W V .
A min-max relation and a polynomial-time algorithm for the minimum cost of
a maximum collection of edge-disjoint T -paths were given by Karzanov [1993,1997].
A corresponding polyhedron was described by Burlet and Karzanov [1998].
Nash-Williams [1961a] gave necessary and sucient conditions for a graph G =
(V, E) and a function g : V Z+ such that the edges of G can be partitioned into
(nonclosed) paths such that g(v) of these paths end at v, for each v V .
More on Maders theorem can be found in Mader [1989], and on Gallais theorem
in Mader [1980].
Theorem 73.3. Let G = (V, E) and H = (T, R) be graphs, where H is the comple-
ment of the line graph of some triangle-free graph H0 . Let c : E Z+ be a capacity
function. Then there exists a quarter-integer maximum-value multiflow. If H0 is
bipartite, there exists a half-integer maximum-value multiflow. If c((v)) is even for
each v V \ T , there exists a half-integer maximum-value multiflow. If c((v)) is
even for each v V and H0 is bipartite, there exists an integer maximum-value
multiflow.
(For the special case where H is the union of two complete bipartite graphs H
and H such that V H V H or such that H = K2 , Cherkasski [1976] showed
that the maximum multiflow is attained by a half-integer multiflow (for integer
capacities).)
Related is the following characterization of the maximum value of a multiflow,
announced by Karzanov and Lomonosov [1978], and proved by Karzanov [1979b,
1985d,1987d] and Lomonosov [1985]:
Theorem 73.4. Let G = (V, E) and H = (T, R) be graphs, where H is the com-
plement of the line graph of some triangle-free graph. Let c : E R+ be a capacity
function. Let U denote the collection of subsets U of V such that U T is a stable
set of H. Then the maximum total value of a multiflow subject to c is equal to the
minimum value of
(73.40) U c(G (U ))
U
The exchange phenomenon for S-paths used in the proof of Maders disjoint S-paths
theorem (Theorem 73.2) gives rise to a matroid as follows.
Let G = (V, E) be an undirected graph and let S = {S1 , . . . , Sk } be a collection
of disjoint subsets of V . Define T := S1 Sk . Let I be the collection of all
subsets I of T with the property that there exists a collection P of disjoint S-paths
with I ends(P). Here ends(P) denotes the set of ends of the paths in P.
Proof. I trivially is nonempty and closed under taking subsets. To see that it gives
a matroid, we apply Theorem 39.1. For any collection R of paths, let ER denote
Section 73.3d. Mader matroids 1293
By the results in Section 39.4a, the class of gammoids is also equal to the class
of contractions of matching matroids. So contractions of Menger matroids and those
of matching matroids (two special cases of Mader matroids) coincide.
A question related to (73.52) is:
(73.54) Is each Mader matroid linear?
As gammoids are representable over all large enough fields, a positive answer to
question (73.52) implies a positive answer to question (73.54). The constructions
given in Section 73.1a suggest a positive answer to (73.54).
Karzanov [1979d] showed that if H is a complete graph and all capacities are integer,
there exists a half-integer minimum-cost maximum-value multiflow (and he gave a
pseudo-polynomial-time algorithm to find it). This can be directly extended to the
case where H is a complete multipartite graph.
A short proof, together with a strongly polynomial-time algorithm, was given
by Karzanov [1994a], where also the existence of a half-integer optimum dual solu-
tion was shown. Other algorithms (based on scaling) were given by Goldberg and
Karzanov [1997].
On the other hand, Karzanov [1987b] showed that if H = (T, R) is not a com-
plete multipartite graph (that is, H contains two intersecting inclusionwise maximal
Section 73.3f. Further notes 1295
stable sets), then there is no fixed integer k such that for each graph G = (V, E)
with V T and each integer capacity function and each cost function, there is a
1
k
-integer minimum-cost maximum-value multiflow.
Planar graphs
Finding disjoint paths in planar graphs is of interest not only for planar
communication or transportation networks, but especially also for the de-
sign of VLSI-circuits. The routing of the wires should follow certain chan-
nels on layers of the chip. On each layer, these channels form a planar
graph.
Even for planar graphs, disjoint paths problems are in general hard. How-
ever, for some special cases, polynomial-time algorithms and good char-
acterizations have been found. In this chapter we discuss some of these
cases.
Except if stated otherwise, throughout this chapter G = (V, E) and H =
(T, R) denote the supply and demand graph, in the sense of Chapter 70.
The pairs in R are called the nets. If s1 , t1 , . . . , sk , tk are given, then R :=
{s1 t1 , . . . , sk tk }. If demands d1 , . . . , dk are given, then d(si ti ) := di . We
denote G + H = (V, E R), where the disjoint union of E and R is taken,
respecting multiplicities.
Recall that the Euler condition states that G + H is Eulerian.
Proof. Necessity of the cut condition being trivial, we show suciency. The
cut condition implies that |R| |E| (assuming that each r R consists of
two distinct vertices), since
Section 74.1. All nets spanned by one face: the Okamura-Seymour theorem 1297
(74.1) 2|R| = degR (v) degE (v) = 2|E|.
vV vV
(74.5) dE (Y ) < dR (Y ).
By Theorem 70.4, we can take Y such that G[Y ] and G Y are connected.
So E (Y ) has two edges on C. By symmetry we can assume that tr Y . By
the Euler condition, (74.5) implies dE (Y ) dR (Y ) 2. So
(74.6) dR (Y ) dE (Y ) + 2 dR (Y ) + 2 dR (Y ).
Hence we have equality throughout. So R (Y ) contains both sr v and vtr ,
that is, sr , tr Y and v Y . Moreover, dE (Y ) = dR (Y ).
By the choice of r, there is no pair r in R connecting X \ Y and Y \ X
(since then tr Y \ X, and hence tr is closer than tr to u in C X). So
(using Theorem 3.1)
(74.7) dR (X Y ) + dR (X Y ) = dR (X) + dR (Y ).
Moreover,
(74.8) dE (X Y ) + dE (X Y ) dE (X) + dE (Y ).
As the cut condition holds for X Y and X Y , we have equality in (74.8),
and therefore X Y is tight. Since sr X \ Y , we know |X Y | < |X|. So by
the minimality of X we have X Y = . So w Y , hence u = v Y . Then
edge e = uw connects X \ Y and Y \ X, contradicting equality in (74.8).
Notes. The proof of Theorem 74.1 yields a polynomial-time algorithm for finding
the edge-disjoint paths, since we can determine a minimum-size cut containing e
and e , for any pair of edges e , e on the outer boundary of G (by finding a shortest
path in the dual graph). Frank [1985] outlined that it in fact leads to an O(n3 log n)-
time algorithm. (As P.D. Seymour observed, also the splitting-o technique used
by Lins [1981] to prove Corollary 74.1b below yields a polynomial-time algorithm
to find paths as required.)
Section 74.1b. Graphs on the projective plane 1299
Complexity survey for the disjoint paths problem in planar graphs with all ter-
minals on the outer boundary and satisfying the Euler condition ( indicates an
asymptotically best bound in the table):
Here k := |R|, t is the number of vertices that belong to at least one pair in R, and
log n is the minimum l such that log(l) n 1, where log(l) n is obtained from n by
taking l times the logarithm.
For sketches of the linear-time method of Wagner and Weihe [1993,1995], see
Wagner [1993] or Ripphausen-Lipa, Wagner, and Weihe [1995].
Research problem. Is the undirected edge-disjoint paths problem polynomial-
time solvable for planar graphs with all nets on the outer boundary? Is it NP-
complete?
Proof. Since any two orientation-reversing closed curve in the projective plane
intersect, the maximum does not exceed the minimum. To see equality, let D be
an orientation-reversing closed curve in P 2 \ V having a minimum number, k say,
of intersections with G. Necessarily, any intersection of D with G is a crossing of
D and an edge of G. Let R be the set of edges of G intersected by D and let
G := (V, E \ R). Then G is a planar graph, embedded in the open sphere obtained
from P 2 by deleting D. Each pair in R connects two vertices on the outer boundary
of G . It suces to show that G contains edge-disjoint paths Pr for r R, where Pr
connects the vertices in r. Then the Pr {r} for r R form a set of k edge-disjoint
orientation-reversing circuits in G as required.
To show that the paths Pr exist, we can apply the Okamura-Seymour theorem.
To this end, we must test the cut condition for G , R. Note that the pairs in R
can be ordered as r1 , . . . , rk such that when following the boundary of P 2 \ D, in
one round we first meet r1 , . . . , rk consecutively, and next we meet again r1 , . . . , rk
consecutively.
Let X V , with G [X] and G X connected, and with dR (X) > 0. Then
E\R (X) contains exactly two edges on the outer boundary of G . Hence we can
find an orientation-reversing closed curve in P 2 intersecting the edges of G in
E\R (X) and those in R \ R (X). Hence
(74.9) dE\R (X) + |R| dR (X) k = |R|,
that is, dE\R (X) dR (X). So the cut condition holds for G and R.
s s
t t
Figure 74.1
proving (74.11).
To see suciency, first assume that s(x) > 0 for each x E2 . Let M be any
E
of the two perfect matchings in C. Then for any x 2 , crM (x) is at most 2 and
has the same parity as s(x); therefore crM (x) s(x).
Hence we can assume that there is a y E2 with s(y) = 0. Let K be a
component of C y. Among all such y, K, choose y, K such that K is smallest. Let
V := V \K, let u and w be the end vertices of the path C K, and let C = (V , E )
be the circuit obtained from C K by adding the new edge f = uw. As s(y) is
even, both K and V have even size. Let N be the unique perfect matching in the
path C[K].
For each x E2 , define s (x) by: s (x) := s(x) if f
x, and
(74.13) s (x) :=
min{min{s({e, g}) | g E \ E , g N }, min{s({e, g}) 1 | g N }}
if x = {e, f }. Trivially, s (x) has the same parity as any component of C x for
each x E2 .
We show that condition (74.11) holds for the smaller structure. That is, for any
collection B of disjoint pairs in E2 one has
Section 74.1c. If only inner vertices satisfy the Euler condition 1303
(74.14) s (x) 21 q ,
xB
where q is the number of odd components of the graph G obtained from the
The proof gives a polynomial-time algorithm to find the pairing: iteratively one
finds a pair x with s(x) = 0 and applies the reduction described in the proof; if no
pair x with s(x) = 0 exists, one takes any perfect matching in C.
The pairing lemma implies (Frank [1985]):
Theorem 74.2. Let G = (V, E) be a planar graph such that each vertex not on
the outer boundary has even degree. Let R be a set of pairs of vertices on the outer
boundary of G. Then there exist edge-disjoint paths Pr for r R, where Pr connects
the vertices in r, if and only if
l
(74.15) (dE (Xj ) dR (Xj )) 12 q
j=1
Proof. Call a vertex v or a subset X of V odd if degE (v)degR (v) or dE (X)dR (X)
is odd.
Necessity of (74.15) is easy: let E be the set of edges not used by the Pr . Then
for any set X, dE (X) dE (X) dR (X), while on the other hand dE (X) 1 if
In the theorem one can assume that l |E|, since for each edge e of G we need
at most one Xi splitting e. So the theorem is a good characterization.
As the pairing lemma is polynomial-time constructive, one can find edge-disjoint
paths as required if the condition is met similarly for the capacitated case. Frank
[1985] showed that under the conditions of Theorem 74.2, the edge-disjoint paths
problem, and its capacitated version, can be solved in O(n3 log n) time. Also Becker
and Mehlhorn [1986] showed that this problem is polynomial-time solvable, and
they gave a time bound of O(tn + T (n)), where T (n) is the time needed to solve a
problem where the Euler condition holds, and where t is the number of vertices on
the outer boundary. Weihe [1999] finally gave a linear-time algorithm.
The special case where G is a rectangular grid was solved by Frank [1982c],
showing that condition (74.15) can be simplified in this case.
With planar duality one may derive another, dual result of the Okamura-Seymour
theorem, that relates distances to packings of cuts in planar graphs (Hurkens, Schrij-
ver, and Tardos [1988]):
Corollary 74.2a. Any planar bipartite graph G contains disjoint cuts such that
any two vertices s, t on the outer boundary of G are separated by distG (s, t) of these
cuts.
Proof. Let X be the set of pairs e, e of edges along the outer boundary of G such
that if e = st and e = s t where s, t, s , t occur in this order cyclically around the
outer boundary, then
(74.18) distG (s, s ) + distG (t, t ) distG (s, t ) distG (s , t) = 2.
(Note that for any e, e , the left-hand side equals 0 or 2, by the triangle inequality,
and by the fact that each s s path intersect each t t path.)
Section 74.1e. Linear algebra and distance realizability 1305
We say that a pair e, e of edges along the outer boundary crosses a pair u, v
of vertices along the outer boundary if any u v path along the outer boundary
traverses exactly one of e and e . We show that for any two vertices u, v on the
outer boundary of G:
(74.19) distG (u, v) = number of pairs in X that cross u, v.
To see this, assume that v1 , . . . , vn are the vertices of G cyclically along the outer
boundary, and let u = vn and v = vk . Then (setting v0 := vn ):
(74.20) number of pairs in X that cross u, v
k
n
= 12 (distG (vi1 , vj1 ) + distG (vi , vj ) distG (vi1 , vj )
i=1 j=k+1
distG (vi , vj1 )) =
k
1
2
distG (vi1 , vk ) distG (vi1 , vn ) + distG (vi , vn ) distG (vi , vk )
i=1
= 21 distG (v0 , vk ) + 12 distG (vk , vn ) = distG (u, v)
(by cancellation).
This shows (74.19), which implies that it suces to show that we can find
disjoint cuts C for X , such that C intersects the outer boundary of G in the
two edges in . To show that these cuts exist, we can apply the Okamura-Seymour
theorem to a modification of the planar dual graph G of G. Indeed, we must show
that there exist edge-disjoint circuits D in G , for X , such that D traverses
the two edges of G dual to the edges of G in . The existence of these circuits
follows from the Okamura-Seymour theorem applied to the graph G obtained from
G by deleting the vertex of G dual to the unbounded face of G, and all edges
incident with it. Let R be the set of pairs of vertices of G that are ends of pairs of
edges dual to X . Then (74.19) implies that the cut condition holds, and that
paths in G , and hence circuits in G , as required exist.
Now Corollary 74.2a asserts that the U can be taken integer if G is bipartite.
As for the results on distances and cut packings discussed in Section 74.1d, the
following further observations were made by Hurkens, Schrijver, and Tardos [1988].
Let C = (V, E) be a circuit with n vertices and n edges, say:
(74.22) V = {v1 , . . . , vn }, E = {e1 = v0 v1 , . . . , en = vn1 vn },
1306 Chapter 74. Planar graphs
where v0 := vn . Again, let V2 and E2 denote the sets of unordered pairs of distinct
elements from V and E, respectively. Let M be the V2 E2 matrix given by:
1 if {vi , vj } and {eg , eh } cross,
(74.23) M{vi ,vj },{eg ,eh } :=
0 otherwise,
where {vi , vj } and {eg , eh } are said to cross if vi and vj belong to dierent compo-
nents of the graph C eg eh . Then the matrix M is nonsingular, with E2 V2
inverse N given by:
1
+ 2 if {i, j} = {g, h} or {i, j} = {g 1, h 1},
(74.24) N{eg ,eh },{vi ,vj } := 21 if {i, j} = {g, h 1} or {i, j} = {g 1, h},
0 otherwise.
To see
(74.25) N = M 1 ,
E
choose {eg , eh }, {ea , eb } 2
. Then
(74.26) (N M ){eg ,eh },{ea ,eb } = 21 M{vg ,vh },{ea ,eb } + 1
2
M{vg1 ,vh1 },{ea ,eb }
1
2
M{vg ,vh1 },{ea ,eb } 12 M{vg1 ,vh },{ea ,eb } .
If {g, h} = {a, b}, then it is easy to see that this last expression is equal to 1. If
{g, h} = {a, b}, then without loss of generality g
{a, b}. Then
(74.27) M{vg ,vh },{ea ,eb } = M{vg1 ,vh },{ea ,eb } and
M{vg ,vh1 },{ea ,eb } = M{vg1 ,vh1 },{ea ,eb } ,
which implies that (74.26) equals 0. This proves (74.25). (It can be shown that
n1
| det M | = 2( 2 ) .)
(74.25) implies that for any function d : V2 R there is a unique b : E2 R
such that
(74.28) d({vi , vj }) = (b({eg , eh }) | {eg , eh } E2 where {eg , eh } crosses
{vi , vj }).
Indeed, (74.28) is equivalent to: d = M b. Hence b := N d is the unique b satisfying
(74.28).
This can be applied to d = distG for some bipartite planar graph G = (V , E )
with C = (V, E) being the outer boundary of G. Consider the collection X of pairs
of edges on the outer boundary of G defined in the proof of Corollary 74.2a. (X is a
partition of E into pairs.) Then the uniqueness of b in (74.28) yields that X is the
unique collection of pairs of edges on the boundary of G with the property that for
any two vertices s, t on the outer boundary of G, the distance distG (s, t) is equal
to the number of pairs in X crossing {s, t}.
Another consequence of (74.25) is as follows. Consider again the circuit C =
(V, E) given by (74.22). Call a function m : V2 R+ realizable as the distance
function of a planar graph with boundary C, or briefly realizable, if there exists a
planar graph G = (V , E ), with V V , E E such that v1 , . . . , vn occur in this
order cyclically around the outer boundary, and a length function l : E R+ such
that for all s, t V , m({s, t}) = distG (s, t). Then
(74.29) a function m : V2 R+ is realizable if and only if for all i, j = 1, . . . , n
we have
m({vi , vj }) + m({vi1 , vj1 }) m({vi , vj1 }) + m({vi1 , vj }),
Section 74.2. G + H planar 1307
It was observed by Diaz and de Ghellinck [1972] that if the supply graph is
directed and planar, and all terminals are on the outer boundary in the order
s1 , . . . , sk , tk , . . . , t1 , then the integer multicommodity flow problem is solvable in
polynomial time, and the cut condition suces. This follows by a reduction to a
minimum-cost circulation problem: add arcs from ti to si for i = 1, . . . , k.
Related, and more dicult, is the following result of Nagamochi and Ibaraki
[1990]. Let the supply digraph D = (V, A) be planar and acyclic, and let the demand
digraph H = (T, R) have all terminals on the outer boundary of D. Then for each
c : A Z+ and d : R Z+ satisfying the directed analogue of the Euler condition
(that is, (V, A R1 ) is Eulerian), if there is a fractional multiflow, there is an
integer multiflow.
Nagamochi and Ibaraki also gave a polynomial-time algorithm to find the in-
teger multiflow. Moreover, they extended the results to the case where the set of
vertices that violate the Euler condition, all lie on the outer boundary of D, in such
out in in out
a way that the vertices v with c(A (v)) d(R (v)) > c(A (v)) d(R (v)) can
be separated (on the outer boundary of D) by two vertices from those vertices v
where the opposite strict inequality holds.
74.2. G + H planar
Seymour [1981d] gave another tractable case of the planar edge-disjoint paths
problem if the Euler condition holds: the case where the graph together with
all its nets (taken as edges) is a planar graph; that is, if G = (V, E) and
H = (V, R) are graphs with
(74.30) G + H := (V, E R)
1308 Chapter 74. Planar graphs
Proof. Necessity being trivial, we show suciency. Let the cut condition be
satisfied. Consider the dual graph (G + H) of G + H. Let R be the family of
edges of (G + H) dual to those in R. Let T be the set of vertices of (G + H)
which are incident with an odd number of edges in R . So R is a T -join in
(G + H) .
In fact, R is a minimum-size T -join in (G + H) . For suppose not. Then
there exist E0 E and R0 R such that E0 R0 is a T -join and |E0 |+|R0 | <
|R|. As E0 R0 is a T -join, each vertex of (G + H) is incident with an even
number of edges in
(74.31) (E0 R0 )R = E0 (R \ R0 ) .
Hence E0 (R \ R0 ) forms a cut in G + H. Since |E0 | < |R \ R0 |, this
contradicts the cut condition.
So R is a minimum-size T -join in (G + H) . As (G + H) is bipartite,
by Theorem 29.2, there exist disjoint cuts D1 , . . . , Dt in (G + H) such that
(i) each cut Dj intersects R in exactly one element and (ii) each edge of R
is in exactly one of the Dj . Condition (i) implies that the dual Cj of each
Dj is a circuit in G + H containing exactly one edge in R. Hence the Cj give
edge-disjoint paths in G as required.
Notes. The reduction to matching theory given in this proof implies that feasibility
can be tested, and edge-disjoint paths can be found, in strongly polynomial time
(also for the capacitated case). Matsumoto, Nishizeki, and Saito [1986] showed that
feasibility can be tested in O(n3/2 log n) time, and edge-disjoint paths can be found
in O(n5/2 log n) time (also for the capacitated case). The latter bound was improved
by Barahona [1990] to O(n3/2 log n).
With the help of Wagners theorem (Theorem 3.3), Theorem 74.3 can be ex-
tended to the case where G + H has no K5 minor. We derive this result from
Guenins theorem in Section 75.6.
The fractional version of Theorem 74.3 was published in Seymour [1979b].
By Theorem 70.5, Theorem 74.3 implies that if G = (V, E) and H = (V, R) are
graphs with G + H planar, then there is a fractional packing of cuts in G such that
for any r = st R, s and t are separated by distG (s, t) of these cuts. A.V. Karzanov
(personal communication 1986) observed that in fact from a theorem of Seymour
[1979b] the existence of a half-integer packing can be derived. More generally:
Section 74.2b. Deleting the Euler condition if G + H is planar 1309
(74.35) Let G = (V, E) and H = (V, R) be supply and demand graphs such
that G + H is planar and such that R consists of two classes of par-
allel edges. Then there exist edge-disjoint paths if and only if the cut
condition holds and we cannot contract edges of G to obtain a graph
G with at most four vertices in which the corresponding edge-disjoint
paths do not exist.
Frank [1990d] observed that the latter condition can be formulated as:
(74.36) dER (X Y ) is even for any two tight sets X, Y V ,
which Frank called the intersection criterion. (A subset X of Y is called tight if
dE (X) = dR (X).)
The intersection criterion is a necessary condition for the existence of edge-
disjoint paths: if paths as required exists, then for each tight X all edges in E (X)
are used by these paths; hence if X and Y are tight, all edges in E (X Y ) are
used; hence dE (X Y ) dR (X Y ) (mod 2), that is, dER (X Y ) is even.
In other words, Frank observed that (74.35) is equivalent to:
(74.37) Let G = (V, E) and H = (V, R) be graphs such that G+H is planar and
such that R consists of two classes of parallel edges. Then there exist
edge-disjoint paths if and only if the cut condition and the intersection
criterion hold.
This was extended by Frank [1990d] to:
(74.38) Let G = (V, E) and H = (V, R) be graphs such that G + H is planar
and such that the edges of H are on at most two of the faces of G.
Then there exist edge-disjoint paths if and only if the cut condition
and the intersection criterion hold.
Lomonosov [1983] proved a maximization version of (74.35), which Frank
[1990e]
showed to follow from (74.35). Korach and Penn [1993] gave an O(n log n)-time
algorithm for the edge-disjoint paths problem if G + H is planar and H consists of
two parallel classes of nets.
Seb o [1993c] showed that for each fixed k, if G + H is planar and |V H| k,
then the integer multiflow problem is polynomial-time solvable. (The demands can
be arbitrarily large, so there is no reduction to the edge-disjoint paths problem for
a fixed number of paths. It was shown for k = 3 by Korach [1982].) Seb o showed
this by proving a more general result on the complexity of packing T -cuts for fixed
|T |.
It is an open question if one may relax this condition to H being spanned by a
fixed number of faces of G. (For demand d = 1 this was shown by Middendorf and
Pfeier, as mentioned above.)
Pfeier [1990] raised the question if the edge-disjoint paths problem has a half-
integer solution if G + H is embeddable in the torus and there is a quarter-integer
solution. He gave the example of Figure 70.5 with 8 vertices to show that this
generally does not hold if G + H is embeddable in the double torus.
Pfeier [1994] showed that the half-integer multiflow problem is NP-complete
if G + H is apex. (An apex graph is a graph having a vertex whose deletion makes
the graph planar.) Pfeier also showed that the half-integer multiflow problem is
NP-complete if the supply and demand digraphs form a directed planar graph.
Section 74.3. Okamuras theorem 1311
Proof. Necessity of the cut condition being trivial, we show suciency. The
cut condition implies that |R| |E| (assuming that each r R consists of
two distinct vertices), since
(74.39) 2|R| = degR (v) degE (v) = 2|E|.
vV vV
Notes. Suzuki, Nishizeki, and Saito [1985b,1989] gave an O(kn + nt1 SP+ (n))-
time algorithm for finding the edge-disjoint paths in this case (similarly for the
capacitated case), where k := |R|, t1 is the number of vertices on the boundary of
F1 , and SP+ (n) is any upper bound on the time needed to find a shortest path in
a planar n-vertex graph with nonnegative edge lengths.
The example of Figure 70.2 shows that Okamuras theorem cannot be extended
to more than two selected faces, and also is not maintained if we allow mixed pairs;
that is, nets that connect the two selected faces. Under certain conditions one can
allow such pairs see (74.55) and (76.50) below.
By Theorem 70.5, Okamuras theorem implies that for any planar graph G = (V, E)
and any choice of two faces F1 and F2 , there is a fractional packing of cuts such that
any two vertices s, t that are either both incident with F1 or both incident with F2 ,
are separated by distG (s, t) of these cuts. In fact, there is a half-integer packing, as
follows from the following result of Schrijver [1989a], generalizing Corollary 74.2a:
(74.47) Let G = (V, E) be a bipartite planar graph and let F1 and F2 be two of
its faces. Then there exist edge-disjoint cuts such that any two vertices
s, t with s, t bd(F1 ) or s, t bd(F2 ) are separated by distG (s, t) of
these cuts.
Karzanov [1990a] gave an alternative proof of this, yielding a strongly polynomial-
time algorithm for finding the cuts, also for the weighted case (that is, for length
function l : E Z+ with l(C) even for each circuit C of G, finding an integer
packing of cuts).
1314 Chapter 74. Planar graphs
In Schrijver [1989b] the following relation between Okamuras theorem and graphs
embedded in the Klein bottle is given. It generalizes the relation between the Oka-
mura-Seymour theorem and graphs embedded in the projective plane, as described
in Section 74.1b.
We can represent the Klein bottle as obtained from the 2-sphere by adding two
cross-caps. A closed curve C on the Klein bottle is called orientation preserving if
after one turn of C the meaning of left and right is unchanged. Otherwise, it is
called orientation-reversing.
Thus a closed curve is orientation-preserving if and only if it traverses the cross-
caps an even number of times. It is orientation-reversing if and only if it traverses
the cross-caps an odd number of times. So, if G = (V, E) is a graph embedded in the
Klein bottle, there is a subset R of E such that a circuit in G is orientation-reversing
if and only if it traverses the edges in R an odd number of times.
Let G = (V, E) be a graph embedded in the Klein bottle. Define
(74.48) C := collection of orientation-reversing circuits in G;
D := collection of edge sets intersecting each orientation-reversing cir-
cuit of G.
(Here we take circuits as edge sets.)
In Schrijver [1989b], the following is derived from (74.47):
(74.49) Let G = (V, E) be a bipartite graph embedded in the Klein bottle.
Then the minimum length of an orientation-reversing circuit in G is
equal to the maximum number of disjoint sets in D.
(In fact it suces to require, instead of bipartiteness, that each face of G is sur-
rounded by an even number of edges.)
(74.49) implies that the up hull of the incidence vectors of sets in C is determined
by:
(74.50) xe 0 for e E,
x(D) 1 for D D.
This follows from the fact that for any l : E Z+ \ {0}, the minimum value of
(74.51) l(e)xe
eE
over (74.50) is achieved by an integer vector x. To see this, we may assume that
l(e) is even for each e E. Now replace each edge e of G by a path of length
l(e). We obtain a bipartite graph G . Let C be a minimum-length orientation-
reversing circuit in G . By (74.49), there exist disjoint edge sets D1 , . . . , Dt in G
each intersecting all orientation-reversing circuits in G , such that t is equal to the
number of edges in C . Let C, D1 , . . . , Dt be the edge sets in G corresponding to
C , D1 , . . . , Dt . So D1 , . . . , Dt D. Then
t
t
(74.52) l(e)C (e) = t = 1 and Di l.
eE i=1 i=1
Section 74.3b. The Klein bottle 1315
Karzanov [1994c,1994b] showed that Okamuras theorem and the dual cut packing
result (74.47) can be extended in a certain way to planar graphs where the nets are
on three or more faces. These results can be compared to those in Section 72.2a.
We repeat the definition of -metric. Let be a graph, and let V be a finite
set. A metric on V is called a -metric if there is a function : V V with
(74.58) (u, v) = dist ((u), (v))
for all u, v V . (Here dist (x, y) denotes the distance of x and y in .)
The -metric condition, a necessary condition for the existence of a feasible
multiflow in a supply graph G = (V, E) with demand graph H = (V, R), capacities
c : E R+ and demands d : R R+ , reads:
(74.59) d(r)(s, t) c(e)(u, v) for each -metric on V .
r=stR e=uvE
6 7
1 2
2 1
3 4
4 3 8
5
7
6
Figure 74.2
An example of a planar graph where each commodity is
spanned by one of the four 4-sided faces and where there
exists a half-integer, but no integer multiflow, while the Eu-
ler condition holds. The nets are indicated by pairs of indices at the
vertices. All capacities and demands are 1. The half-integer multiflow
is obtained by putting, for each index i, a flow of value 12 along each
of the two paths along the boundary of the (unique) face incident with
both vertices i.
Theorem 74.5. Let G = (V, E) be a planar graph. Let R be a set of nets such that
there is a vertex q on the outer boundary of G with the property that each net is
spanned by the outer boundary of G or it contains q. Let the Euler condition hold.
Then the edge-disjoint paths problem has a solution if and only if the cut condition
holds.
Section 74.4a. Another theorem of Okamura 1319
Proof. Necessity being trivial, we show suciency. As in the proof of Theorem 74.4
we consider a counterexample with 2|E| |R| minimal. It again implies that G is
2-connected, and that no r R is parallel to an edge of G. Moreover, R contains at
least one pair r with q r, as otherwise the theorem follows easily from Mengers
theorem.
Let C be the circuit formed by the outer boundary of G. Consider any pair
g = xy in R with q g (so x, y V C), such that the x y path P along C
not containing q, is as short as possible. Deleting the edges in P from G, and net
g from R, the cut condition is not maintained (as otherwise we have a smaller
counterexample). As in the proof of Theorem 74.4 it implies that there exists a
tight X with x, y X and such that X intersects C in a subpath of P . Choose X
with |X| minimal. Note that by the choice of g, X spans no pair in R.
If R (X) contains no pair r = st with both ends on C, it contains only pairs
qv with v X. Hence we can contract X to one vertex and obtain a smaller
counterexample (note that |X| 2, since any net in R (X) is equal to qv R for
some v X with v V C).
So we can assume that R (X) contains a pair with both ends on C. Let e be
one of the (two) edges in EC that belong to E (X). We choose e such that there
is a pair r = st in R (X) such that s, t V C and such that the s t path along C
containing e does not traverse q except possibly at its ends. Let e = uw with u X
and w X. For each r R (X), let sr be the vertex in r X, and tr the vertex
in r \ X. Since q X, we know that each such tr is on C. Choose r R (X) such
that sr belongs to V C, such that the sr tr path along C containing e does not
traverse q except possibly at its ends, and such that tr is as close as possible to u
when following C X. By the choice of e, such an r exists.
Since sr and tr are nonadjacent, we know that {sr , tr } = {u, w}. So we can
choose v {u, w} with v {sr , tr }. Let R := (R \ {r}) {sr v, vtr }. Trivially the
Euler condition is maintained. We show that also the cut condition is maintained,
contradicting the minimality of the counterexample.
To see that the cut condition is maintained, suppose to the contrary that there
is a Y V satisfying
(74.66) dE (Y ) < dR (Y ).
By Theorem 70.4, we can assume that G[Y ] and GY are connected. By symmetry
we can assume that tr Y . By the Euler condition, (74.66) implies dE (Y )
dR (Y ) 2. So
(74.67) dR (Y ) dE (Y ) + 2 dR (Y ) + 2 dR (Y ).
Hence we have equality throughout. So R (Y ) contains both sr v and vtr , that is,
sr , tr Y and v Y . Moreover, dE (Y ) = dR (Y ).
By the choice of r, there is no pair in R connecting X \ Y and Y \ X. So (using
Theorem 3.1)
(74.68) dR (X Y ) + dR (X Y ) = dR (X) + dR (Y ).
Moreover,
(74.69) dE (X Y ) + dE (X Y ) dE (X) + dE (Y ).
As the cut condition holds for X Y and X Y , we have equality in (74.69), and
therefore dE (X Y ) = dR (X Y ). Since sr X \ Y , we know |X Y | < |X|. So
1320 Chapter 74. Planar graphs
Let G = (V, E) be a planar graph, embedded in the plane R2 and let {s1 , t1 }, . . . ,
{sk ,tk } be disjoint pairs of vertices (the nets). Robertson and Seymour [1986]
observed that there is an easy greedy-type algorithm for the vertex-disjoint paths
problem if all vertices s1 , t1 , . . . , sk , tk belong to the outer boundary of G. That is,
there exists a polynomial-time algorithm for the following problem:
(74.70) given: a planar graph G = (V, E) and disjoint pairs {s1 , t1 }, . . . ,
{sk , tk } of vertices on the outer boundary of G,
find: vertex-disjoint paths P1 , . . . , Pk in G, where Pi connects si and
ti (i = 1, . . . , k).
We describe the simple intuitive idea of the method. (Pinter [1983] attributed this
idea to C.P. Hsu (1982), and applied it to the vertex-disjoint paths problem in
rectangular grids.)
We say that two disjoint pairs {s, t} and {s , t } cross (around G) if there exist
no disjoint curves in the unbounded face, connecting s and t, and connecting s and
t . The following noncrossing condition is a necessary condition for (74.70) to have
a solution:
Section 74.4c. Vertex-disjoint paths in planar graphs 1321
It is easy to extend the algorithm and Theorem 74.7 to the directed case, and
also to the following vertex-disjoint trees problem:
(74.73) given: a planar graph G = (V, E) and sets S1 , . . . , Sk of vertices on
the outer boundary of G,
find: vertex-disjoint subtrees T1 , . . . , Tk of G such that Ti covers Si
(i = 1, . . . , k).
More generally, with similar techniques, Ding, Schrijver, and Seymour [1992]
generalized Theorem 74.7 (and the polynomial-time algorithm) as follows.
Notes. Suzuki, Akama, and Nishizeki [1988c,1990] and Liao and Sarrafzadeh [1991]
gave linear-time algorithms for problem (74.73). For a description, see also Wagner
[1993].
Theorem 74.6 implies that the vertex-disjoint paths problem is polynomial-time
solvable for outerplanar graphs. This was generalized to series-parallel graphs by
Korach and Tal [1993].
Takahashi, Suzuki, and Nishizeki [1992] gave an O(n log n)-time algorithm to
find pairwise noncrossing paths of minimum total length, connecting prescribed
terminals in a planar graph with all terminals on two specified face boundaries.
Grid graphs form a class of planar graphs that are of special interest for disjoint
paths problem, as they arise in the design of VLSI-circuits, in particular in routing
the wires on the layers of a chip.
Any finite subgraph of the 2-dimensional rectangular grid is called a grid graph.
So its vertex set is a finite subset of Z2 , and any two adjacent vertices have Euclidean
distance 1. (It is not required conversely that any two vertices at Euclidean distance
1 are adjacent; so the subgraph need not be an induced subgraph.)
Kramer and van Leeuwen [1984] showed that both the vertex-disjoint and the
edge-disjoint paths problems are NP-complete even when restricted to grid graphs.
Pinter [1983] showed that the vertex-disjoint paths problem remains NP-complete
for grid graphs in which all faces are bounded by a rectangle (including a square).
A rectangular grid is a grid graph whose outer boundary is a rectangle and
whose bounded faces all are unit squares. The channel routing problem is the vertex-
disjoint paths problem in a rectangular grid, where all nets connect a vertex on
1324 Chapter 74. Planar graphs
the upper horizontal border with one on the lower horizontal border. A criterion
for the feasibility of the channel routing problem was given by Dolev, Karplus,
Siegel, Strong, and Ullman [1981], while Rivest, Baratz, and Miller [1981] gave a
heuristic algorithm approximating the minimal height of the rectangle, given the
positions of the terminals (cf. Preparata and Lipski [1984] and Mehlhorn, Preparata,
and Sarrafzadeh [1986]). A linear-time algorithm for channel-routing, allowing also
multiterminal nets, was given by Greenberg and Maley [1992].
The feasibility criterion was extended by Pinter [1983] to switchboxes, which are
rectangular grids in which the terminals can be anywhere along the outer boundary.
For the vertex-disjoint paths problem in switchboxes, Pinter showed Theorem 74.7
and described the corresponding greedy-type algorithm. He attributes the idea to
C.P. Hsu (1982).
Algorithms for the edge-disjoint paths problem in a switchbox were given by
Frank [1982c] (O(n log n)) and Mehlhorn and Preparata [1986] (O(u log u), where
u is the circumference of the rectangle note that this is sucient to specify the
graph). Frank also showed that solvability only depends on horizontal and vertical
cuts.
A generalized switchbox is a grid graph with all bounded faces being unit squares.
Nishizeki, Saito, and Suzuki [1985] gave an O(n2 )-time algorithm for routing in gen-
eralized switchboxes for which any two vertices on the outer boundary are connected
by a path with at most one bend; all terminals are on the outer boundary. They also
showed that in this case one may restrict the cuts to those that are either horizontal
or vertical, if the global Euler condition holds. (A correction and generalization was
given by Lai and Sprague [1987].)
Kaufmann and Mehlhorn [1986] described an O(n log2 n + q 2 )-time algorithm
for the edge-disjoint paths problem in a generalized switchbox, with all terminals on
the outer boundary. Here q denotes the number of vertices v with degG (v)+degH (v)
odd. So if the Euler condition holds, the time bound is O(n log2 n).
Kaufmann and Mehlhorn [1986] also showed that in a generalized switchbox
satisfying the Euler condition and such that no vertex is end point of more than
two curves, the cut condition holds whenever it holds for all 1-bend cuts. (A cut is
called a 1-bend cut if it is the set of edges crossed by the union of some horizontal
and some vertical halfline with one common end vertex.)
Kaufmann and Kl ar [1993] gave an O(u log2 u)-time algorithm for generalized
switchboxes, whose outer boundary is simple and has no rectilinearly visible cor-
ners. (Two corners p and q of the outer boundary are called rectilinearly visible
if the (unique) rectangle of which p and q are opposite vertices, has a nonempty
interior and intersects the outer boundary only in p and q.)
Wagner and Weihe [1993,1995] showed that for such problems, if G + H is
Eulerian, then there is even a linear-time algorithm, even for general planar graphs.
(This improves earlier results of Becker and Mehlhorn [1986] and Kaufmann [1990].)
If G is a rectangle with one rectangular hole, and all nets join two vertices either
on the outer rectangle or on the inner rectangle, and if the Euler condition holds,
Suzuki, Ishiguro, and Nishizeki [1990] gave a linear-time algorithm. Related results
are given in Frank, Nishizeki, Saito, Suzuki, and Tardos [1992].
Takahashi, Suzuki, and Nishizeki [1993] gave a polynomial-time algorithm for
the minimum-length noncrossing paths problem in certain grid graphs.
Section 74.4e. Further notes 1325
each edge e satisfies (75.2), but does not belong to the bipartite subgraph
polytope (since the largest bipartite subgraph has 6 edges, while 10 32 > 6).
Following Gr otschel and Pulleyblank [1981], a graph G is called weakly
bipartite if its bipartite subgraph polytope is determined by (75.2). An equiv-
alent characterization is in terms of odd circuit covers. An odd circuit cover in
an undirected graph G = (V, E) is a set of edges intersecting all odd circuits.
The odd circuit cover polytope is the convex hull of the incidence vectors of
odd circuit covers. It is contained in the polytope determined by
(75.3) 0 xe 1 for each e E,
x(C) 1 for each odd circuit C.
Then a graph is weakly bipartite if and only the odd circuit polytope is
determined by (75.3). This follows directly from the facts that a set of edges
is an odd circuit cover if and only if its complement is bipartite, and that x
satisfies (75.2) if and only if 1 x satisfies (75.3).
The relevance of weakly bipartite graphs comes from the fact that a
maximum-capacity cut in these graphs can be found in strongly polyno-
mial time, with the ellipsoid method, since the separation problem over the
polytopes (75.2) is polynomial-time solvable (cf. Section 5.11). Indeed, check-
ing (75.2) is equivalent to checking (75.3). One can check the constraints in
(75.3)(i) one by one, and so one may assume that 0 x 1. Next, consid-
ering x as length function, one checks if there is an odd circuit of length < 1
(like in Theorem 68.1). If so, we find a violated constraint. If not, x satisfies
(75.3).
Weakly bipartite graphs were characterized by Guenin [1998a,2001a],
proving a conjecture of Seymour [1981a]. This characterization also holds
for the more general structure of signed graphs, for which it is easier to prove
as it allows a finer contraction operation see Sections 75.2 and 75.5. For
just undirected graphs the characterization can be formulated as follows.
Call a graph H an odd minor of a graph G if H arises from G by deleting
edges and vertices and by contracting all edges in a cut. The class of weakly
bipartite graphs is closed under taking odd minors. To see this, it is easily
seen that this class is closed under deleting edges and vertices. To see that it
is closed under contracting a cut, let G = (V, E) be a weakly bipartite graph,
let U V and G = G/(U ), and take x RE , where E = E \ (U ) is
the edge set of G . Let x satisfy (75.3) with respect to G . Define xe := 0 for
each e (U ). Then the extended x satisfies (75.3) with respect to G. So the
extended x belongs to the odd circuit cover polytope of G, implying that the
original x belongs to the odd circuit cover polytope of G .
Now Guenins characterization reads for undirected graphs:
(75.4) an undirected graph G is weakly bipartite K5 is not an
odd minor of G.
1328 Chapter 75. Cuts, odd circuits, and multiflows
Proof. We reduce the problem of finding the minimum size of a vertex cover in a
graph G = (V, E) to the maximum-size cut problem. This is sucient, since the
first problem is NP-complete by Corollary 64.1a.
We can assume that G has no isolated vertices, since they will not occur in any
minimum-size vertex cover. Extend G by a new vertex u and, for each v V , by
degG (v) 1 parallel edges connecting v and u. Let G be the extended graph. Then
(75.5) the minimum size of a vertex cover in G is equal to 2|E| minus the
maximum size of a cut in G .
To see this, we have for any U V :
(75.6) |G (U )| = |G (U )| + (degG (v) 1)
vU
= 2|{e E | e intersects U }| |U |.
Hence, if U is a minimum-size vertex cover of G, then |G (U )| = 2|E||U |, proving
in (75.5).
To see the reverse inequality, choose a subset U of V that determines a
maximum-size cut G (U ) in G . Then U is a vertex cover of G. Otherwise, V \ U
spans an edge e of G. Then extending U by one of the ends of e increases (75.6), a
contradiction. So U is a vertex cover and |U | = 2|E| |G (U )|, proving in (75.5).
Although we do not use these results in later sections, we first show that planar
graphs are weakly bipartite, as it gives an interesting relation with T -joins (Bara-
hona [1980]):
odd degree. For G it means that an odd circuit cover in G corresponds to a set of
edges of G containing a T -join. By Corollary 29.2b, the convex hull of these edge
sets in G is determined by
(75.7) 0 x(e ) 1 for e E ,
x(C) 1 for each T -cut C in G .
Hence the odd circuit cover polytope of G is determined by (75.3).
With the help of the decomposition theorem of Wagner [1937a] (Theorem 3.3),
this result can be extended to graphs without K5 minor (Fonlupt, Mahjoub, and
Uhry [1992]). We will however derive this from Guenins more general characteri-
zation of weakly bipartite graphs.
(75.10) B1 B2 = (U )
(since B1 = (U1 ) and B2 = (U2 ) for some U1 , U2 V , hence
B1 B2 = (U1 )(U2 ) = (U1 U2 )).
(75.9) also implies that for each inclusionwise minimal odd circuit cover
B of G, the set B is a cut. (We recall that, by definition, the empty set
is also a cut.)
We can define the concepts of deletion, contraction, subgraph, and minor
in a signed graph G = (V, E, ). Deleting an edge e means replacing G by
G e := (V, E \ {e}, \ {e}). Similarly, deleting a vertex v means deleting v
in V and deleting in E and all edges incident with v.
Contracting a (nonloop) edge e means: if e , replacing G by G/e :=
), where (V , E)
(V , E, is obtained from (V, E) by contracting e; if e ,
choose v e, replace by (v), and apply the previous operation. So the
operation of contraction is not uniquely defined, but the outcome is unique
up to equivalence of signings. This is sucient for our purposes.
A subgraph of a signed graph is obtained by a series of deletions of vertices
and edges. A minor is obtained by a series of deletions of vertices and edges
and contractions of edges, and by replacing the signing by an equivalent
signing.
For any complete graph Kn , let odd-Kn be the signed graph
(75.11) odd-Kn := (V Kn , EKn , EKn ).
A signed graph (V, E, ) is called an odd K4 -subdivision if (V, E) is a subdi-
vision of K4 such that each triangle has become an odd circuit (with respect
to ). It is not dicult to show that:
(75.12) a signed graph contains an odd K4 -subdivision if and only if it
has odd-K4 as minor.
In an obvious way, the notions of weakly and strongly bipartite graphs can
be lifted to signed graphs. A signed graph G = (V, E, ) is weakly bipartite
if each vertex of the polyhedron (in RE ) determined by:
(75.13) (i) 0 xe 1 for each edge e,
(ii) x(C) 1 for each odd circuit C,
is integer, that is, the incidence vector of an odd circuit cover.
System (75.13) gives rise to two stronger properties. First, a signed graph
is called strongly bipartite if (75.13) is totally dual integral. Equivalently,
for each function w : E Z+ the minimum of wT x over (75.13) has integer
primal and dual optimum solutions. Or: for each weight function w : E Z+ ,
Section 75.4. Characterizing strongly bipartite signed graphs 1331
the minimum weight of an odd circuit cover is equal to the maximum size of
a family of odd circuits such that each edge e is in at most w(e) of them.
We also define an intermediate property (only seemingly intermediate,
since it will turn out to be equivalent to weakly bipartite). A signed graph
G = (V, E, ) is called evenly bipartite if for each w : E Z+ with w((v))
even for each v V , the minimum of wT x over (75.13) is attained by integer
primal and dual optimum solutions. Equivalently, for each weight function
w : E Z+ with w((v)) even for all v V , the minimum weight of an odd
circuit cover is equal to the maximum size of a family of odd circuits such
that each edge e is in at most w(e) of them.
There are the following direct implications:
(75.14) strongly bipartite = evenly bipartite = weakly bipartite.
It is easy to check that the classes of weakly, evenly, and strongly bipartite
signed graphs are closed under taking minors. So each class can be charac-
terized by forbidden minors.
Now a theorem of Seymour [1977b] implies that a signed graph G is
strongly bipartite if and only if it has no odd-K4 minor (Corollary 75.3a
below). Guenin [1998a,2001a] showed that G is weakly bipartite if and only
if it has no odd-K5 minor. This was sharpened by Geelen and Guenin [2001],
who proved that G is evenly bipartite if and only if G has no odd-K5 minor
(Corollary 75.4a below). So weakly and evenly bipartite are equivalent.
Proof. For any signed graph G = (V, E, ), let (G) denote the minimum
size of an odd circuit cover and let (G) denote the maximum number of
edge-disjoint odd circuits. We must show (G) = (G) for any signed graph
G without odd-K4 minor.
Suppose that this is not true. Choose a counterexample G = (V, E, ),
with (G) minimum, |V | minimum, and |E| maximum, in this order of pri-
ority. Such a graph exists, since if there are more than (G) parallel edges
connecting two vertices, we can contract them to obtain a counterexample
with |V | smaller.
1332 Chapter 75. Cuts, odd circuits, and multiflows
Proof. Necessity follows from the fact that odd-K4 is not strongly bipartite.
To see suciency, let G = (V, E, ) be a signed graph without odd-K4 minor.
Let w : E Z+ . We must show that minimizing wT x over (75.13) has an
integer optimum dual solution.
Let G arise from G by replacing (in E and in ) any edge e by w(e) par-
allel edges. Then the minimum value of wT x over integer vectors x satisfying
(75.13) is equal to the minimum size of an odd circuit cover in G . As G has
no odd-K4 minor, by Theorem 75.3 this is equal to the maximum number of
edge-disjoint odd circuits in G . This gives an integer optimum dual solution
to minimizing wT x over (75.13).
Corollary 75.3c. Let G = (V, E) be a graph and let R E be such that the
signed graph (V, E, R) has no odd-K4 minor. Then for each c : E Z+ , the
cut condition implies the existence of an integer multiflow.
Proof. Let c : E Z+ satisfy the cut condition. So for each cut D we have
c(D R) c(D \ R). Hence for each cut D:
(75.23) c(DR) = c(D \ R) + c(R \ D) c(D R) + c(R \ D) = c(R).
So R minimizes c(R) over all odd circuit covers. Therefore, as (V, E, R) has
no odd-K4 minor, by Corollary 75.3a, there exist odd circuits C1 , . . . , Ck such
that each edge e is in at most c(e) of the Ci and such that k = c(R). Hence
k
(75.24) |Ci R| c(R) = k.
i=1
This implies, since each |Ci R| is odd, that |Ci R| = 1 for each i, and
hence we have equality in (75.24). This gives the required multiflow.
as required.
(The proof implies that the odd K4 -subdivision found in fact is a bad K4 -
subdivision (cf. Section 68.4).)
This lemma is used in the characterization of Geelen and Guenin [2001] of
evenly bipartite signed graphs. The following is the kernel of this characteri-
zation (a signed graph is called Eulerian if its underlying graph is Eulerian):
Proof. For any signed graph G = (V, E, ), let (G) denote the minimum
size of an odd circuit cover and let (G) denote the maximum number of
edge-disjoint odd circuits. It suces to show (G) = (G) for any Eulerian
signed graph G without odd-K5 minor.
Suppose that this is not true. Choose a counterexample G = (V, E, ),
with (G) minimum, |V | minimum, and |E| maximum, in this order of pri-
1336 Chapter 75. Cuts, odd circuits, and multiflows
ority. Such a graph exists, since if there are more than (G) parallel edges
connecting two vertices, we can contract them to obtain a counterexample
with |V | smaller.
Fix an edge e = xy not contained in every minimum-size odd circuit
cover. By adding two parallel edges connecting x and y, we do not change
(G) or |V |, but we increase |E|. Hence in the extended graph there exist
(G) edge-disjoint odd circuits. This means that in the original graph G
(75.27) there exist odd circuits C1 , . . . , C(G) with e C1 C2 C3 and
with C1 \ {e}, C2 \ {e}, C3 , C4 , . . . , C(G) disjoint
(describing circuits by edge sets). G, C1 , . . . , C(G) moreover satisfy:
(75.28) (G C) (G) 3 for each odd circuit C C1 C2 C3 such
that ((C1 C2 C3 ) \ C) {e} contains an odd circuit.
Otherwise, by the minimality of (G), G C contains disjoint odd circuits
C1 , . . . , C(G)2
. Then E := E\(CC1 C(G)2
) contains an odd circuit
C , since E is Eulerian and since G has a minimum-size odd circuit cover B
of size (G); so, as B is an equivalent signing of G, |E B| is odd. Hence
C, C , C1 , . . . , C(G)2 form (G) disjoint odd circuits in G, contradicting
our assumption. This proves (75.28).
We show that for signed Eulerian graphs G, conditions (75.27) and (75.28)
imply that G has an odd-K5 minor, which finishes the proof.
We delete our earlier minimality assumptions, and now choose a coun-
terexample to this with |E| minimal and (secondly) |C1 C2 C3 | minimal.
Let Pi be the x y path Ci \ {e} for i = 1, 2, 3 (describing paths by edge
sets). Then:
Corollary 75.4a. For any signed graph G the following are equivalent:
(75.50) (i) G is weakly bipartite;
(ii) G is evenly bipartite;
(iii) G has no odd-K5 minor.
Proof. The implications (ii)(i)(iii) follow from (75.14) and from the facts
that weak bipartiteness is closed under taking minors and that odd-K5 is not
weakly bipartite.
The implication (iii)(ii) follows from Theorem 75.4. Let G = (V, E, )
be a signed graph without odd-K5 minor and let c : E Z+ be such that
c((v)) is even for each v V . We must show that the dual of minimizing
cT x over (75.13) has an integer optimum dual solution.
Let G arise from G by replacing (in E and in ) any edge e by c(e)
parallel edges. So G is Eulerian. Then the minimum value of cT x over integer
vectors x satisfying (75.13) is equal to the minimum size of an odd circuit
cover in G . As G has no odd-K5 minor, by Theorem 75.4 this is equal to the
maximum number of edge-disjoint odd circuits in G . This gives an integer
optimum dual solution to minimizing cT x over (75.13).
Section 75.6. Applications to multiflows 1341
Notes. Special cases of the equivalence of (i) and (iii) in Corollary 75.4a were shown
by Barahona [1980] (for planar graphs; cf. Theorem 75.2), Fonlupt, Mahjoub, and
Uhry [1992] (for graphs without K5 minor), Barahona [1983a] (for graphs G such
that G u v is bipartite for two of its vertices u, v), and Gerards [1992a] (for
graphs G such that G v is planar with at most two odd faces, for some vertex v).
Proof. By Corollary 75.4a, (V, E, R) is weakly bipartite. Let c satisfy the cut
condition. So for each cut D we have c(D R) c(D \ R). Hence for each
cut D:
(75.52) c(DR) = c(D \ R) + c(R \ D) c(D R) + c(R \ D) = c(R).
So R minimizes c(R) over all odd circuit covers. Therefore, as (V, E, R) is
weakly bipartite, there exist odd circuits C1 , . . . , Ck and 1 , . . . , k > 0 with
k
k
(75.53) i Ci c and i = c(R).
i=1 i=1
Hence
1342 Chapter 75. Cuts, odd circuits, and multiflows
k
k
(75.54) i |Ci R| c(R) = i .
i=1 i=1
This implies, since each |Ci R| is odd, that |Ci R| = 1 for each i, and that
we have equality in (75.54). This gives the required multiflow.
The integrality results follow from Theorem 75.4.
For planar graphs, these integrality results can be derived also from results
on packing T -cuts (Theorem 29.2), using duality like in Theorem 75.2 (cf.
Theorem 74.3).
Corollary 75.4e. The cut cone is determined by (75.58) if and only if G has
no K5 minor.
Using the symmetry of the cut polytope (as observed by Barahona and
Gr
otschel [1986]), Corollary 75.4e has as a consequence (Barahona [1983b]):
Proof. By Corollary 75.4e, it suces to show that the cut polytope is deter-
mined by (75.57) if and only if the cut cone is determined by (75.58).
First assume that the cut polytope is determined by (75.57). Since the ori-
gin belongs to the cut polytope, the cut cone is determined by the inequalities
among (75.57) with right-hand side 0 that is, by (75.58).
Conversely, assume that the cut cone is determined by (75.58). Then
(75.58) determines the cut polytope in the neighbourhood of the origin.
1344 Chapter 75. Cuts, odd circuits, and multiflows
Notes. By Corollary 75.4f, the cut polytope of any planar graph is determined by
(75.57). As cuts in planar graphs correspond to -joins ( cycles) in the dual graph
(Orlova and Dorfman [1972]), one may also derive this from Corollary 29.2e on the
T -join polytope.
Hadlock [1975] showed in a similar way that a maximum-capacity cut in a planar
graph can be found in strongly polynomial time. Using the decomposition of graphs
without K5 minors into planar graphs and copies of V8 (Theorem 3.3), Barahona
[1983b] derived from this a combinatorial strongly polynomial-time algorithm to
find a maximum-capacity cut in graphs without K5 minor.
Poljak [1992] showed that for each graph G, the polytope determined by (75.2)
is the down hull of the polytope determined by (75.57).
Karzanov [1985b] showed that the separation problem for the cut cone is co-
NP-complete.
Barahona and Mahjoub [1986] showed that the separation problem over (75.57)
is polynomial-time solvable, hence any linear objective function can be optimized
over (75.57) in strongly polynomial time (with the ellipsoid method).
By (74.34), each planar graph belongs to H. This was extended (using Wagners
theorem (Theorem 3.3)) by Fu and Goddyn [1999] who showed that each graph
without K5 minor belongs to H.
Goddyn [1993] also conjectured that each graph not having the Petersen graph
as minor, belongs to H. However, Laurent [1996b] showed that K6 does not belong
to H. She also showed that all proper subgraphs of K6 belong to H. (More on this
can be found in Laburthe [1995] and in the survey by Goddyn [1993].)
Fu and Goddyn [1999] asked: is H closed under taking minors?
Metrics and hypermetrics. The following metric inequalities are valid for the
vectors in the cut cone of the complete graph KV on a vertex set V :
(75.63) (i) xuv 0 for distinct u, v V ,
(ii) xuv + xvw xuw for distinct u, v, w V .
The cone determined by these inequalities is called the metric cone.
Tylkin [1960,1962] (= M.M. Deza) introduced a stronger set of valid inequalities,
the hypermetric inequalities:
(75.64) (i) xuv
0 for distinct u, v V ,
(ii) cu cv xuv 0 for each c : V Z with c(V ) = 1.
u, v V
u = v
These inequalities are valid for the vectors in the cut cone, since for each cut (U )
one has (setting x := (U ) ):
(75.65) cu cv xuv = 2 cu cv = 2c(U )c(V \ U )
u, v V uU vV \U
u = v
= 12 (c(U ) + c(V \ U ))2 21 (c(U ) c(V \ U ))2
= 12 12 (c(U ) c(V \ U ))2 0,
since |c(U ) c(V \ U )| 1, as c(V ) = 1 and c is integer.
Hypermetric inequalities generalize the metric inequalities, since (75.63)(ii) is
equivalent to taking c := u + w v in (75.64)(ii).
The cone determined by (75.64) is called the hypermetric cone. Deza, Gr-
ishukhin, and Laurent [1993] showed that this cone is polyhedral (despite that
there are infinitely many inequalities in (75.64)(ii)).
Avis and Grishukhin [1993] showed that it is co-NP-complete to decide if a
given vector is in the hypermetric cone. Relations with the geometry of numbers
are given in Deza, Grishukhin, and Laurent [1995]. More on the metric cone can be
found in Avis [1980b,1980c], Grishukhin [1992], Laurent and Poljak [1992,1995b],
Lomonosov and Seb o [1993], and Laurent [1996a], and on metrics and hypermetrics
in the book by Deza and Laurent [1997].
Theorem 75.5. Let be the maximum capacity of a cut and let be the
maximum value of (75.68). Then
(75.70) .
Proof. The inequality was shown above. To see the first inequality,
let M maximize (75.68). As M is positive semidefinite, there exist vectors
xv Rn for v V such that xT u xv = Mu,v for all u, v V . (Here n := |V |.)
So xv = 1 for each v V .
For any hyperplane H in Rn with 0 H, let D be the set of edges uv of
KV with u and v at dierent sides of H. Choosing H at random, the set D
is a cut, with probability 1. Any edge uv of KV is in D with probability
(xu , xv )
(75.71) .
( (a, b) is the angle of a and b.) This follows from the fact that (75.71) is the
probability that xu and xv are at dierent sides of H.
So the expected value of the capacity of D is equal to
(xu , xv )
(75.72) c(u, v).
uvEKV
(xu , xv )
(75.73) = 12 (1 cos ) = 12 (1 xT u xv ).
Hence (75.72) is at least
(75.74) 21 c(u, v)(1 xT 1
u xv ) = 4 TrC(J M ) = .
uvEKV
Notes. Before Goemans and Williamson found their theorem, only a factor of 2 was
known to be achievable in polynomial time, by just taking c(E) as upper bound.
This gives a factor 2, since a random cut has expected capacity 12 c(EKV ), as each
1348 Chapter 75. Cuts, odd circuits, and multiflows
edge has probability 12 to be in the random cut (Johnson and Lafuente [1970] and
Sahni and Gonzalez [1976]).
astad [1997,2001] showed that if NP=P, then there is no polynomial-time
H
algorithm that finds a cut of capacity more than 1617
of the maximum cut-capacity
(cf. Trevisan, Sorkin, Sudan, and Williamson [1996,2000]).
Related work can be found in Bellare, Goldreich, and Sudan [1995,1998], Karlo
[1996,1999], Zwick [1999b], Alon and Sudakov [2000], and Alon, Sudakov, and Zwick
[2001,2002].
Earlier eigenvalue methods for the maximum cut problem include Poljak [1992]
and Delorme and Poljak [1993a,1993b,1993c].
Surveys on semidefinite methods for the maximum cut problem (and more gen-
erally in combinatorial optimization) are given by Goemans [1997], Reed [2001a],
and Laurent and Rendl [2002]. Alizadeh [1995] gives a survey of applying interior-
point methods to semidefinite programming in combinatorial optimization. More
on the semidefinite relaxation of the cut polytope can be found in Laurent and
Poljak [1995a,1996a,1996b]. Other approximation algorithms for the maximum cut
problem were given by Arora, Karger, and Karpinski [1995,1999], Fernandez de
la Vega [1996], Frieze and Kannan [1996,1999], Fernandez de la Vega and Kenyon
[1998,2001], Feige and Langberg [2001], and Halperin, Livnat, and Zwick [2002].
An extension of the semidefinite programming bound to 3-cuts was given by
Goemans and Williamson [2001]. For extensions to directed graphs, see Feige and
Goemans [1995], Matuura and Matsui [2001], and Lewin, Livnat, and Zwick [2002].
For a survey on approximation algorithms, see Shmoys [1995] and the book by
Vazirani [2001].
Proof. First, |F is injective, since if (x) = (y) for x, y F , then for each
v V , xuv = yuv . Hence, by (75.80), for each vw E, xvw = 2 xuv xuw =
2 yuv yuw = yvw . So x = y.
with C F (that is,
To see that (F ) Pvertex cover (G), let C be a cut in G
C
is a vertex of F ). Then for each edge vw of G, precisely two of the edges uv,
uw, vw belong to C. Hence at least one of uv, uw belongs to C. So (C ) is the
incidence vector of a vertex cover of G.
Conversely, to see Pvertex cover (G) (F ), let U be a vertex cover of G. So
U V . Let C be the cut in G determined by U . Then C belongs to F , since for
each edge vw of G we have that precisely two of uv, uw, vw belong to C. Moreover,
(C ) = U , since for each v V : v U uv C.
The relation given in this theorem can be useful when we have a good descrip-
tion of the cut polytope for certain classes of graphs. The description then can
be transferred to the vertex cover polytope, hence to the stable set polytope, for
certain derived classes of graphs.
In particular, we can derive from Guenins theorem the t-perfection of graphs
without odd K4 -subdivision (a consequence of Theorem 68.3 (Gerards and Schrijver
[1986])):
Then x satisfies (75.2) with respect to G. Indeed, (75.2)(i) trivially holds. To see
(ii), we can restrict ourselves to chordless odd circuits C. If C traverses u, it is a
triangle containing u, and we have x(EC) = 2 = |V C| 1. If C does not traverse
u, then x(EC) = 2y(V C) |V C| 1.
So by Corollary 75.4a, x is a convex combination of incidence vectors of bipartite
subgraphs B:
(75.83) x= B B .
B
1350 Chapter 75. Cuts, odd circuits, and multiflows
Since x(C) = 2 for each triangle C containing u, those B with B > 0 intersect
each such C in precisely two edges. Hence (since each circuit in G is a symmetric
dierence of triangles containing u) B intersects each circuit in an even number of
We can assume that u U . Then V \ U is a stable
edges. So B is a cut (U ) of G.
set of G, and
(75.84) y= (U ) V \U
U
It should be noted that the face F of the cut polytope described above is at
the same time a face of the (larger) bipartite subgraph polytope (while the cut
polytope need not be a face of the bipartite subgraph polytope). Indeed, also the
bipartite subgraph polytope satisfies (75.79). Moreover, any set B of edges having
even intersection with the triangle {uv, uw, vw} for each edge vw of G, has even
as it is a binary sum of such triangles. So B is
intersection with each circuit of G,
a cut.
Laurent, Poljak, and Rendl [1997] showed how the set TH(G) (defined in Section
67.4a) can be derived as an ane image from the convex body K in Section 75.8.
Chv atal, Cook, and Hartmann [1989] showed that the Chv atal rank of system (75.2)
is at least 14 |V | 1 for complete graphs G = (V, E).
Conforti and Gerards [2000] described (by forbidden odd minors) another class
of Eulerian graphs for which the maximum number of edge-disjoint odd circuits is
equal to the minimum size of an odd circuit cover.
Barahona [1983b] showed that the maximum-size cut problem is NP-complete
for apex graphs, that is graphs G having a vertex v with G v planar. (More
strongly, Barahona proved NP-completeness if G v is cubic and planar.)
Gr otschel and Nemhauser [1984] showed that for each fixed k there is a
polynomial-time algorithm to solve the maximum-capacity cut problem for graphs
without odd circuits of length k.
Facets of the bipartite subgraph polytope were studied by Barahona, Gr otschel,
and Mahjoub [1985] (cf. Gerards [1985]), and facets of the cut polytope and cut cone
by Barahona and Mahjoub [1986], De Simone [1989,1990], Deza and Laurent [1990,
1992a,1992b], Deza, Laurent, and Poljak [1992], and Laurent and Poljak [1996a].
Compositions in the bipartite subgraph polytope were given by Fonlupt, Mahjoub,
and Uhry [1992].
Conforti and Rao [1987] showed that a minimum-weight odd circuit cover can
be found in strongly polynomial time, if its weight is less than the minimum weight
of a nonempty cut.
For more geometric background on the cut cone and the cut polytope, see
the book by Deza and Laurent [1997]. Gerards [1990] gave a survey on signed
graphs without odd K4 -subdivision. For more background on the relations between
odd circuits and multicommodity flows, see Seb o [1990a] and Gerards [1993]. For
surveys on maximum cut and the cut cone, see Deza, Grishukhin, and Laurent [1995]
(hypermetrics) and Poljak and Tuza [1995]. For related work, see Conforti, Rao, and
Section 75.9b. Further notes 1351
Sassano [1990a,1990b], Jerrum and Sorkin [1993,1998], Feige and Goemans [1995],
Frieze and Jerrum [1995,1997], Ageev and Sviridenko [1999], Ageev, Hassin, and
Sviridenko [2001], Feige and Langberg [2001], Halperin and Zwick [2001a,2001b,
2002], Ye [2001], Han, Ye, and Zhang [2002], and Lewin, Livnat, and Zwick [2002].
Chapter 76
As we saw in Chapter 74, disjoint paths and multiflow problems are gen-
erally hard even for planar graphs. In some special cases, these problems
are polynomial-time solvable.
If we require the paths (or flows) to have certain homotopies, the range
of polynomial-time solvable problems can be extended. By enumerating
homotopies, it sometimes implies polynomial-time solvability for nonho-
motopic versions of the problems.
This can be extended to general surfaces and yield polyhedral characteri-
zations for circulations, flows, and paths of prescribed homotopies.
function : S 1 [0, 1] S with (z, 0) = C(z) and (z, 1) = C (z) for each
z S1.
For any pair of closed curves C, D on S, let cr(C, D) denote the number
of intersections of C and D, counting multiplicities:
(76.1) cr(C, D) := |{(w, z) S 1 S 1 | C(w) = D(z)}|.
Moreover, mincr(C, D) denotes the minimum of cr(C , D ) where C and D
range over closed curves freely homotopic to C and D, respectively:
(76.2) mincr(C, D) := min{cr(C , D ) | C C, D D}.
Similarly, cr(C) denotes the number of self-intersections of C:
(76.3) cr(C) := 21 |{(w, z) S 1 S 1 | C(w) = C(z), w = z}|,
and mincr(C) denotes the minimum of cr(C ) where C ranges over all closed
curves freely homotopic to C:
Section 76.2. Making curves minimally crossing by Reidemeister moves 1353
Proof. First note that the inequality in (76.9) trivially holds, for any
decomposition of the edges into closed curves C1 , . . . , Ck : by definition of
mincr(G, D), there exists a closed curve D D in S \ V with mincr(G, D) =
cr(G, D ), and hence
k
k
(76.10) mincr(G, D) = cr(G, D ) = cr(Ci , D ) mincr(Ci , D).
i=1 i=1
by .
This modification does not change the value of mincr(G, D) for any D. More-
over, closed curves decomposing the edges of the modified graph satisfying
(76.9), directly yield closed curves decomposing the edges of the original
graph satisfying (76.9).
For any graph G embedded in S with each vertex having degree 2 or 4, we
define the straight decomposition of G as the regular system of closed curves
C1 , . . . , Ck such that G = C1 Ck . So each vertex of G of degree 4
represents a (self-)crossing of C1 , . . . , Ck .
Up to some trivial operations, such a decomposition is unique, and con-
versely, it uniquely describes G. Moreover, any Reidemeister move applied to
C1 , . . . , Ck carries over a modification of G. So we can speak of Reidemeister
moves applied to G. Then straightforwardly:
(76.11) if G arises from G by one Reidemeister move of type III, then
mincr(G , D) = mincr(G, D) for each closed curve D.
Call any graph G = (V, E) that is a counterexample to the theorem
such that each vertex has degree at most 4 and such that it has a minimum
number of faces, a minimal counterexample. (A face is a connected component
of S \ G.)
From (76.11) it directly follows that:
(76.12) if G arises from a minimal counterexample G by one Reidemeis-
ter move of type III, then G is a minimal counterexample again.
Moreover:
(76.13) if G is a minimal counterexample, then no Reidemeister move of
type 0, I or II can be applied to G.
For suppose that a Reidemeister move of type II can be applied to G. Then
G contains the following subconfiguration: . Replacing this by would
give a smaller counterexample (since the function mincr(G, D) does not
change by this operation), contradicting the minimality of G. One similarly
sees that no Reidemeister move of type I can be applied. No Reidemeister
move of type 0 can be applied, as otherwise we can delete the circuit to obtain
a smaller counterexample. This proves (76.13).
The proof now is finished by showing that the straight decomposition
C1 , . . . , Ck of any minimal counterexample G satisfies (76.9) contradicting
the fact that G is a counterexample.
Choose a closed curve D. We may assume that D, C1 , . . . , Ck form a
regular system. By (76.8) we can apply Reidemeister moves so as to obtain
a minimally crossing system D , C1 , . . . , Ck . Let G be the graph formed by
C1 , . . . , Ck .
1356 Chapter 76. Homotopy and graphs on surfaces
for each i = 1, . . . , k.
Proof. Let
(76.17) d := max{minlengthG (Ci ) | i = 1, . . . , k}.
We can extend G to a bipartite graph L embedded in S, such that each
face of L is an open disk. By inserting d new vertices on each edge of L not
occurring in G, we obtain a bipartite graph H satisfying minlengthH (Ci ) =
minlengthG (Ci ) for each i = 1, . . . , k (since the new edges cannot be used to
obtain a closed curve shorter than minlengthG (Ci )).
Consider a surface dual graph H of H. Then for each i = 1, . . . , k,
(76.18) mincr(H , Ci ) = minlengthH (Ci ) = minlengthG (Ci ).
Since H is bipartite, H is Eulerian. Hence by Theorem 76.1, the edges of
H can be decomposed into closed curves D1 , . . . , Dt such that
Section 76.5. A homotopic circulation theorem 1357
t
(76.19) mincr(H , C) = mincr(Dj , C)
j=1
Notes. This proof also implies that we can replace C1 , . . . , Ck by the set of all
closed curves on S if G is cellularly embedded (i.e., each face is an open disk) in
that case we need not extend G to L and H.
It is not dicult to see that this also holds for not-cellularly embedded bipartite
graphs in the torus, since then there is essentially only one closed curve C in G to
consider.
This is not true for the double torus (a surface with two handles), as is shown
by the example of Figure 76.1 (from Schrijver [1991a]).
b
g
e a
R v w R
f d
h
x Q u
Figure 76.1
A not-cellularly embedded bipartite graph G in the double torus S for
which Corollary 76.1a is not true if we replace C1 , . . . , Ck by all closed
curves on S. The double torus is obtained from the square by identifying
R and R and identifying Q and Q (so as to obtain the torus) and
next deleting the interiors of the two hexagons and identifying their
boundaries (so as to obtain the double torus).
For i = 0, 1, 2, . . . let Ci be the closed curve in G which, starting at v,
follows e and f once, and next follows i times the closed curve a, b, c, d.
Then minlengthG (Ci ) = 4i+2. Suppose now that D1 , . . . , Dt are closed
curves as described in Corollary 76.1a. Choose an arbitrary curve P
from v to w. Then Ci is homotopic to the closed curve C i obtained by,
starting at v, first following e and f , next following P , then following
i times the closed curve g, h, and finally following P back from w to v.
Hence for each i (where B is the closed curve from w to w following g
and h):
t
4i + 2 = minlengthG (Ci ) = mincr(Ci , Dj )
j=1
t
t
i , Dj ) =
cr(C (cr(C0 , Dj ) + 2 cr(P, Dj ) + i cr(B, Dj ))
j=1 j=1
t
= (cr(C0 , Dj ) + 2 cr(P, Dj )) + 2i.
j=1
Suppose now that (d; l)T (1I ; 1E ) < 0. By increasing l slightly, we may assume
that l(e) > 0 for each e E. Next, by multiplying (d; l) appropriately, we
may assume that each entry in (d; l) is an even integer.
Let G be the graph arising from G by replacing each edge e of G by a
path of length l(e). That is, we insert l(e) 1 new vertices on e. Then by
(76.27)(i),
(76.28) di minlengthG (Ci )
for each i I. Since G is bipartite, by Corollary 76.1a there exist closed
curves D1 , . . . , Dt intersecting no vertex of G such that each edge of G is
intersected by exactly one Dj and only once by that Dj and such that
t
(76.29) minlengthG (Ci ) = mincr(Ci , Dj )
j=1
for each i I. So
t
(76.30) l(e) = cr(e, Dj )
j=1
Proof. Using the argument on the finite generation of the convex cone K in
the proof of Corollary 76.1b, we can assume that c and the di are rational,
and hence integer. Replace each edge e of G by c(e) parallel edges, and replace
any Ci by di copies of Ci . Then the present corollary follows from Corollary
76.1b.
Notes. Frank and Schrijver [1992] showed that if S is the torus and each Ci is a
simple closed curve, then there exist half-integer circulations in Corollary 76.1b
that is, where the scalars of the trC are 12 (similarly, in Corollary 76.1c if c and the
di are integer). More generally, it is shown that there are integer circulations if the
following Euler condition holds:
(76.34) for each closed curve D in S \ V , the number of crossings of D with G
has the same parity as the number of crossings with C1 , . . . , Ck .
This condition in particular implies that each vertex of G has even degree. This
result can be formulated equivalently as:
(76.35) Let G = (V, E) be a graph embedded in the torus S and let C1 , . . . , Ck
be simple closed curves on S such that the Euler condition (76.34)
holds. Then G has edge-disjoint closed walks C1 , . . . , Ck (each travers-
ing no edge more than once) with Ci freely homotopic to Ci for
i = 1, . . . , k, if and only if condition (76.22) holds.
The Ci need not be simple; they may have self-intersections at vertices. (See Schrij-
ver [1992] for a survey on disjoint circuits in graphs on the torus.)
Figures 76.2 and 76.3 show that we cannot delete in (76.35) the Euler condition
or the condition that the Ci are simple. Moreover, Figure 76.4 shows that (76.35)
does not extend to the double torus (a surface with two handles).
C1
C2
R R
Figure 76.2
A graph G and curves C1 , C2 on the torus satisfying the cut condition
(76.22) (but not the Euler condition (76.34)), where G has no edge-
disjoint circuits C1 and C2 with Ci freely homotopic to Ci (i = 1, 2).
C1
R R
Figure 76.3
A graph G and a nonsimple curve C1 on the torus satisfying the cut
condition (76.22) and the Euler condition (76.34), where G has no closed
curve C1 freely homotopic to C1 such that C1 traverses any edge of G
at most once.
Q
v v
e w
R a c R
v Q v
Figure 76.4
A graph G and curves C1 , C2 on the double torus satisfying the cut
condition (76.22) and Euler condition (76.34), but where no integer
feasible circulations exist. The double torus is obtained from the square
by identifying R and R and identifying Q and Q (so as to obtain
the torus) and next deleting the interiors of the two hexagons and
identifying their boundaries (so as to obtain the double torus). The
graph G has two vertices, v and w, and four loops, a, b, c, d, at v,
and one loop, e, at w. Curve C1 follows the edges a and b, and curve
C2 follows the edges b and c in the directions indicated. The cut
condition (76.22) and the Euler condition (76.34) hold, but G has no
edge-disjoint closed walks freely homotopic to C1 and C2 respectively.
(The cut condition follows from the existence of a fractional solution.)
(x, 1) = D (x), (0, x) = D(0), (1, x) = D(1) for each x [0, 1]. (It follows
that D(0) = D (0) and D(1) = D (1).)
If C and D are curves in T , then we denote:
(76.36) cr(C, D) := |{(x, y) [0, 1] [0, 1] | C(x) = D(y)}|,
mincr(C, D) := min{cr(C , D ) | C C, D D}.
Let G = (V, E) be a graph embedded in T . For any curve D in T and any
e E, let
(76.37) cr(e, D) := |{x [0, 1] | D(x) e}|,
1364 Chapter 76. Homotopy and graphs on surfaces
and
(76.38) cr(G, D) = cr(e, D).
eE
The first inequality follows from (76.41). The last inequality can be derived as
i Ci and D
follows. Fix i = 1, . . . , k. Then there exist curves C 2j1 D2j1
(j = 1, . . . , q) with mincr(Ci , D2j1 ) = cr(Ci , D2j1 ) for j = 1, . . . , q. (This
can be derived, for instance, from (76.8).) Hence C i attains the minimum
simultaneously for all D2j1 . So
q
q
(76.46) mincr(Ci , D2j1 ) = i , D
cr(C 2j1 ).
j=1 j=1
1366 Chapter 76. Homotopy and graphs on surfaces
C1 C2 F3
F1 F2
Figure 76.5
This graph G with curves C1 and C2 satisfies the cut condition (76.41)
(as there is a fractional solution) and the (local) Euler condition, but G
has no edge-disjoint walks P1 C1 and P2 C2 (in R2 \(F1 F2 F3 )).
the homotopic cut condition holds. Kaufmann and Mehlhorn also gave an O(n2 )-
time algorithm to find the paths. This was improved to a linear-time algorithm by
Kaufmann [1987] and Kaufmann and Mehlhorn [1994].
Other types of grids, like the hexagonal and the octo-square grid, were con-
sidered by Kaufmann [1987]. A generalization to straight-line planar graphs was
given by Schrijver [1991d]. A straight-line planar graph is a planar graph G such
that each edge is a straight line segment, where F1 , . . . , Fp are such that for each
edge e of G and each vertex v on e, when extending the line segment forming e
slightly at v we arrive either in another edge of G or in one of the faces Fi . In this
case, if the global Euler condition holds, then the homotopic edge-disjoint paths
problem has a solution if and only if the homotopic cut condition holds. Moreover,
the problem is solvable in polynomial time in this case.
We only show necessity of the condition. To that end, we can assume that
C1 , . . . , Ck are disjoint circuits in G. Then the inequality follows from
k
k
(76.54) cr(G, D) cr(Ci , D) mincr(Ci , D).
i=1 i=1
Here cr (C, D) counts the number of crossing (and not touchings) of C and D. The
strict inequality holds as
k
k
(76.56) cr(G, Dj )
mincr(Ci , Dj ) cr (Ci , Dj ) (mod 2)
i=1 i=1
for j = 1, 2.
For the proof of suciency, based on solving a system of linear inequalities in
integers, we refer to Schrijver [1991b]. The proof also implies a polynomial-time
algorithm to find disjoint circuits as required in Theorem 76.2.
For the torus, the condition in Theorem 76.2 on the strictness of the inequality
is superfluous, and the characterization can be formulated as:
(76.57) Let G be a graph embedded in the torus T , and let C be a simple closed
curve on T . Then G contains k disjoint circuits each freely homotopic
to C if and only if
cr(G, D) k mincr(C, D)
In a similar way one can prove (or derive from Theorem 76.2 as in the proof of Corol-
lary 76.1d for the fractional edge-disjoint case) results on vertex-disjoint homotopic
paths in a planar graph with holes.
Consider the following disjoint homotopic paths problem:
Section 76.7b. Vertex-disjoint homotopic paths in planar graphs with holes 1369
Theorem 76.3. Problem (76.58) has a solution if and only if for each curve D in
T with end points on bd(T ) we have
k
(76.59) cr(G, D) mincr(Ci , D),
i=1
and for each doubly odd closed curve D in T traversing no fixed point of any Ci we
have
k
(76.60) cr(G, D) > mincr(Ci , D).
i=1
Figure 76.6
The three holes are indicated by grey regions, and the curves by dashed
lines. We assume that the graph is embedded in the 2-sphere, such that
there is no unbounded face.
The cut condition (76.59) holds, as there is a fractional solution, but
no vertex-disjoint paths homotopic to the given curves exist.
(This was conjectured by Robertson and Seymour [1986], who proved it for p 2
(see Section 74.4c for p = 1). For p 2, Suzuki, Akama, and Nishizeki [1988a,
1988b,1988c,1990] gave an O(n log n)-time algorithm, improved to linear-time by
Ripphausen-Lipa, Wagner, and Weihe [1993a,1993b]. (The algorithm of Suzuki,
Akama, Nishizeki is linear-time if each net is spanned by F1 or by F2 .) For p = 3,
a linear-time algorithm if each net is spanned by F1 , F2 , or F3 was announced by
H. Suzuki, T. Kumagai, and T. Nishizeki (1993; cf. Ripphausen-Lipa, Wagner, and
Weihe [1995]).)
The idea of proof of (76.61) is that for each net r we choose a curve Cr connecting
the points in r such that the Cr are disjoint, and next try to find paths as in (76.58);
it can be proved that we need to consider only a polynomially bounded number of
homotopy classes of curves Cr (for fixed p), which gives the required result.
In Schrijver [1993] this was extended, by similar methods, to the directed case:
(76.62) for each fixed p, the disjoint paths problem is polynomial-time solv-
able for directed planar graphs if the terminals can be covered by the
boundaries of at most p faces.
This remains the case if we prescribe for each net (si , ti ) a subset Ai of the arc set
that path Pi is allowed to use.
For a sketch of the method for (76.58), see Schrijver [1990b].
Robertson and Seymour [1995] proved that if the number of terminals is fixed,
the vertex-disjoint paths problem in undirected graphs is O(n3 )-time solvable, also
for nonplanar graphs. If moreover the graph is planar, Reed, Robertson, Schrij-
ver, and Seymour [1993] gave a linear-time algorithm. This connects to the results
described in Section 70.13a.
Section 76.7c. Disjoint trees 1371
Hypergraphs
1374
Chapters:
77.4. Clutters
For any hypergraph H = (V, E), define
(77.5) H min := (V, {F E | there is no E E with E F }) and
H := (V, {F V | there is an E E with E F }).
A hypergraph H = (V, E) is called a clutter if no two sets in E are contained
in each other2 . So for any hypergraph, H min is a clutter.
2 The term clutter was introduced by Edmonds and Fulkerson [1970].
Section 77.6. The blocker 1377
Theorem 77.1. For any hypergraph H = (V, E), b(b(H)) = H min . In partic-
ular, if H is a clutter, then b(b(H)) = H.
One may check that the operations of deletion and contraction interchange
when passing to the blocker. More precisely, for any vertex v of a hypergraph
H one has:
(77.9) b(H/v) = b(H) \ v and b(H \ v) = (b(H)/v)min .
1378 Chapter 77. Packing and blocking in hypergraphs: elementary notions
(Here and below, F ranges over the edges of H.) Let (H) denote the min-
imum size of a fractional vertex cover and let (H) denote the maximum
size of a fractional matching (where the size of a vector is the sum of its
components).
We can describe (H) and (H) by linear programs3 :
(77.12) (H) = min{1T x | x RV+ , M x 1},
where M is the E V incidence matrix of H. Similarly,
(77.13) (H) = max{y T 1 | y RE+ , y T M 1T }.
As these linear programs are each others dual, this gives:
(77.14) (H) = (H).
Let k (H) denote the minimum size of a k-vertex cover. Since (minimal) 1-
vertex covers are precisely the incidence vectors of the vertex covers, we have
1 (H) = (H).
A k-matching is a function y : E Z+ such that
(77.16) yF k for each v V .
F v
k + l-matching.
Similarly we have:
k (H) k (H)
(77.22) (H) = min = lim ,
k k k k
using (77.12) and the fact that for all k, l 1:
(77.23) k+l (H) k (H) + l (H).
Edmonds and Fulkerson [1970] showed that for any clutter H = (V, E), its blocker
(V, B) is the unique clutter with the property that for each f : V R the following
equality holds:
(77.24) min max f (x) = max min f (y).
EE xE BB yB
1380 Chapter 77. Packing and blocking in hypergraphs: elementary notions
(These extrema are called bottleneck extrema.) To see that the collection B of mini-
mal vertex covers of H has this property, let E E and x E attain the first min-
imum and first maximum. Then each F E contains a vertex z with f (z) f (x).
Hence {z V | f (z) f (x)} contains a set B in B. So f (x) minyB f (y).
This shows in (77.24). Moreover, for any B B, as E intersects B, we have
f (x) minyB f (y). This gives in (77.24).
To see that this property characterizes the blocker, let B be any clutter satisfying
(77.24) for each f : V R. Then for each B B and E E we have B E = ,
since otherwise we can define f such that f (x) < 0 for all x E and f (y) > 0 for
each y B, giving < in (77.24), a contradiction.
Finally, each vertex cover B of E contains a set in B. If not, we can define f
such that f (x) > 0 for each x B and f (y) < 0 for each y V \ B. Then we have
> in (77.24), again a contradiction.
The following theorem of Johnson [1974a] and Lov asz [1975c] bounds (H) in terms
of (H) and the maximum degree of H. (The degree of a vertex v is the number
of edges containing v. The maximum degree of H is the maximum of the degrees of
its vertices.) The method is similar to that of Theorem 64.13.
Theorem 77.2. For any hypergraph H = (V, E) of maximum degree d one has:
(77.25) (H) (1 + ln d) (H).
and hence
(77.28) (H) yF .
F E
as required.
E.
Furedi, Kahn, and Seymour [1993] showed that each hypergraph H = (V, E) has a
matching M E such that
1
(77.33) (|F | 1 + ) (H).
F M
|F |
where w (H) is the maximum weight wT y of a fractional matching y : E R+ .
Furedi, Kahn, and Seymour [1993] proved this conjecture for uniform hypergraphs,
and also for hypergraphs H with (H) = 1.
Related work on the relations between fractional and integer packing and cov-
ering was reported by Chv atal [1979], Dobson [1982], Fisher and Wolsey [1982],
Aharoni, Erd os, and Linial [1985,1988], Raghavan [1988], Feige [1996,1998], and
Slavk [1996,1997].
Lov asz [1975b] showed that for each choice of , Z+ and r Q+ satisfying
1 r and r > 1, there exists a hypergraph H with (H) = , (H) = r,
and (H) = . Chung, F uredi, Garey, and Graham [1988] showed that for each
rational number r, there exists a 3-uniform hypergraph H with (H) r (mod
1). (For each 2-uniform hypergraph (= graph) H, (H) belongs to 12 Z (cf. Section
64.6).)
Saks [1986] studied the behaviour of the parameters and under taking unions
of edges and vertex covers.
The hypergraph analogue of matching augmenting paths in graphs was studied
by Edmonds [1962].
Seymour [1977a] gave a forbidden minor characterization of those clutters H
that come from an undirected graph G = (V, E) and s, t V , by taking as edges
of H all edge sets of s t paths. (Related work can be found in Novick and Seb o
[1995].)
Determining the vertex cover number (H) of a hypergraph H is equivalent
to the set covering problem. In Section 82.6b we give further references for this
problem. Determining the matching number (H) of H is equivalent to the vertex
packing (equivalently, the set packing) problem. In Section 64.9e we gave further
references for this problem.
Connectivity augmentation for hypergraphs was studied by Bang-Jensen and
Jackson [1999], Bencz ur [1999], Bencz
ur and Frank [1999], Cheng [1999], and Szigeti
[1999].
The problems of finding a maximum-size matching and a minimum-size vertex
cover in a hypergraph are equivalent to finding a maximum-size stable set in a
graph and a minimum-size edge cover in a hypergraph. For references to general
methods for these problems, we refer to Sections 64.9e and 82.6b, respectively.
Extensions of Gallais theorem (Theorem 19.1) to hypergraphs were given by
Tuza [1991], and generalizations of K onigs and Halls theorems to hypergraphs by
Aharoni and Haxell [2000] and Aharoni, Berger, and Ziv [2002].
Surveys on packing and covering in hypergraphs were given by Berge [1973b,
1973c,1978a,1979b,1989a], Schrijver [1979b], F uredi [1988], and Cornuejols [2001].
Chapter 78
Ideal hypergraphs
Ideal hypergraphs are those hypergraphs for which the convex hull of the
vertex covers is given by the edge inequalities. They therefore form a class
of hypergraphs where polyhedral methods apply. Since the relations of
blocking hypergraphs and of blocking polyhedra coincide in this case, the
class of ideal hypergraphs is closed under taking blockers.
The class of ideal hypergraphs is also closed under taking minors. A charac-
terization of ideal hypergraphs in terms of forbidden minors is not known,
but a theorem of Lehman gives powerful properties of minimally nonideal
hypergraphs.
For any hypergraph H = (V, E), let PH be the set of all fractional vertex
covers; that is, PH is the solution set of
(78.1) (i) xv 0 for v V ,
(ii) x(F ) 1 for F E.
A hypergraph H = (V, E) is called ideal if PH is integer4 . Obviously, H is
ideal H min is ideal H is ideal.
Note that each integer vertex of PH is a 0,1 vector, and hence the incidence
vector of some vertex cover of H. So H is ideal if and only if (78.1) determines
the up hull of the incidence vectors of the vertex covers of H. By Theorem
5.19, H is ideal if and only if the convex hull of the incidence vectors of the
vertex covers of H is determined by
(78.2) (i) 0 xv 1 for v V ,
(ii) x(F ) 1 for F E.
By the theory of blocking polyhedra (cf. Theorem 5.8), H is ideal if and
only if each vertex of the polyhedron determined by
4 Alternatively, such hypergraphs are called Fulkersonian, or said to satisfy the length-
width inequality or the width-length inequality, or to have the max-flow min-cut property,
the Q+ -max-flow min-cut property, shortly the MFMC property or the Q+ -MFMC
property. Sakarovitch [1975,1976] used the term quasi-balanced.
1384 Chapter 78. Ideal hypergraphs
The class of ideal hypergraphs is also closed under taking minors (Lehman
[1965,1979]):
Theorem 78.3. For any hypergraph H = (V, E) the following are equivalent:
(78.10) (i) H is ideal, that is (H ) = (H ) for each parallelization H
of H;
(ii) (H ) is an integer for each parallelization H of H;
(iii) b(H) is ideal;
(iv) (b(H) ) is an integer for each parallelization b(H) of b(H);
(v) PH and Pb(H) form a pair of blocking polyhedra;
(vi) (H w ) (b(H)l ) wT l for all w, l : V Z+ .
Proof. The implications (i)(ii) and (iii)(iv) are trivial. The equivalences
(i) (iii) (v) were shown above.
The implication (ii)(i) is shown as follows6 . We must show that (ii)
implies that each vertex x of the polyhedron PH defined by (78.1) is integer.
Suppose not. Choose v V with xv not integer. As x is a vertex, there is
a weight function w : V R+ such that the minimum of wT x over PH is
attained uniquely by x . By scaling, we can assume that w is integer and
that for w := w + v , also the minimum of w T x over PH is attained at x .
T
So w x and w x are integers (by (ii)), and hence xv = w
T
T x wT x is an
integer, contradicting our assumption.
This proves (ii)(i) and similarly (iv)(iii). So conditions (i), (ii), (iii),
(iv), and (v) are equivalent. We finally consider condition (vi).
Necessity of (vi) can be seen as follows. Choose w, l : V Z+ . Let
:= (H w ) = (H w ) and := (b(H)l ) = (b(H)l ). So w(B) for each
edge B of b(H) (= minimal vertex cover of H), and hence 1 w(B) 1
5 (i)(vi)(iii) was shown by Lehman [1965,1979], (i)(v) by Fulkerson [1970b,1971a],
and (i)(ii) and (iii)(iv) by Lov asz [1977b].
Lehman called condition (i) the max-flow min-cut property, and condition (vi) the
width-length inequality (motivated by work of Moore and Shannon [1956] who proved
this inequality for the width (minimum cut-capacity) and length (shortest path) of a
network).
6 It also follows directly from general polyhedral theory (Theorem 5.18).
1386 Chapter 78. Ideal hypergraphs
(vi) the hypergraph with vertex set EK5 and edges the comple-
ments of maximum-size cuts, and its blocker;
(vii) the hypergraph D8 with vertex set {1, . . . , 8} and edges {1, 2,
6}, {2, 3, 5}, {3, 4, 8}, {4, 5, 7}, {2, 5, 6}, {1, 6, 7}, {4, 7, 8}, and
{1, 3, 8}, and its blocker b(D8 );
(viii) the hypergraphs C53 , C83 , C11 3 3
, C14 3
, C17 , C74 , C11
4
, C95 , C11
6 7
, C13
k
(where Cn has vertex set V Cn and edges all consecutive k-
tuples from V Cn ), and their blockers.
Note that b(F7 ) = F7 and b(Jn ) = Jn for each n. The hypergraphs given
in (viii) are all the minimally nonideal hypergraphs of the form Cnk with
k 3. This was proved by Cornuejols and Novick [1994], who also gave
several thousands of other minimally nonideal hypergraphs. A catalogue of
minimally nonideal hypergraphs was given by L utolf and Margot [1998].
Seymour [1981a]9 conjectures that O(K5 ), b(O(K5 )), and F7 are the only
binary minimally nonideal hypergraphs (see Chapter 80).
We saw in Section 75.5 that O(K5 ) is the unique minimally nonideal hy-
pergraph among the hypergraphs obtained from a signed graph G = (V, E, )
by taking EG as vertex set and the circuits C in G with |C | odd as edges.
To see that F7 is nonideal, the vector x : V F7 R+ defined by xv := 31
for each v V F7 , is a fractional vertex cover of size 37 , but F7 has no vertex
cover of size 37 . Moreover, F7 is minimally nonideal: if we contract any
vertex v V F7 , we obtain the hypergraph Q6 isomorphic to the hypergraph
O(K4 ) (the hypergraph with vertex set EK4 and edges all triangles). As this
is a proper minor of O(K5 ), it is ideal. Since b(F7 ) = F7 , also deleting any
vertex of F7 results in an ideal hypergraph.
For suppose first that xv = 0. Then x|V \ {v} is a noninteger vertex of PH/v ,
contradicting the minimality of H. Similarly, if xv = 1, then x|V \ {v} is
a noninteger vertex of PH\v , again contradicting the minimality of H. This
proves (78.13).
Let F be the collection of sets F E having equality for x in (78.1)(ii).
As x is a vertex, F has dimension n. (Here and below, the dimension of
a collection of subsets of V , is the dimension of the collection of incidence
vectors of these subsets.) Let Fv and F \ v be the collections of sets in F
containing v and not containing v, respectively. Then
(78.14) (i) For each F F and v V \ F : dim(F \ v) n |F |;
(ii) for each F F and v F : dim(Fv ) n |F | + 1.
To see (i), choose F F and v V \ F . Since H \ v is ideal, x|V \ {v} is a
convex combination of incidence vectors of vertex covers of H \ v. For each
u F , since xu > 0, there is a vertex cover Bu of H\v having positive scalar in
this convex decomposition and with u Bu . So Bu F = {u} (as x(F ) = 1).
Hence the incidence vectors Bu for u F are linearly independent. This
implies that the vectors Bu x for u F have dimension at least |F | 1.
As each of these vectors is orthogonal to F for each F F \ v, we have
dim(F \ v) (n 1) (|F | 1) = n |F |, proving (78.14)(i).
We prove (ii) similarly. Choose F F and v F . Define z := (1 xv )1
x|V \ {v}. Then z PH/v , since x(F \ {v}) 1 xv for each F F.
Hence, since H/v is ideal, z is a convex combination of incidence vectors
of vertex covers of H/v. For each u F \ {v}, since zu > 0, there is a
vertex cover Bu of H/v having positive scalar in this convex decomposition
and with u Bu . So Bu F = {u} (since z(F \ {v}) = 1). Hence the
incidence vectors Bu for u F \ {v} are linearly independent. This implies
that the vectors Bu x for u F have ane dimension at least |F | 1.
As each of these vectors is orthogonal to F for each F Fv , we have
dim(Fv ) (n 1) (|F \ {v}| 1) = n |F | + 1, proving (78.14)(ii).
Now (78.14)(i) implies:
(78.15) |F | = n and |F \ v| = n |F | for each v V and F F \ v.
Indeed, let F be a subcollection of F of dimension and size n. By (78.14)(i),
|F \ v| n |F | for each v V and each F F \ v. Let U be the set of
v V not covered by all sets in F . Then:
1 1
(78.16) n= 1= =
n |F | n |F |
F F F F vV \F vU F F \v
1
\ v|
= 1 = |U | n.
|F
vU F F \v
vU
Corollary 78.4b. For any hypergraph H = (V, E), the following are equiva-
lent:
(78.20) (i) H is ideal, that is, (H w ) = (H w ) for each w : V Z+ ;
(ii) H = Jn (for all n 3) and (H )rmin (H ) |V H |, for each
minor H of H;
(iii) (H ) Z for each minor H of H;
(iv) (H ) = (H ) for each minor H of H;
(v) (H w ) = (H w ) for each w : V {0, 1, |V |}.
Proof. Condition (i) implies each of (ii)-(v), since ideality is closed under
taking minors and parallelization. The implication (iv)(iii) is direct. The
implications (ii)(i) and (iii)(i) follow from Corollary 78.4a: if H is not
ideal, it has a minor H that is minimally nonideal; then Corollary 78.4a
contradicts (ii) and (iii). So it suces to show (v)(iv).
Let (v) hold. Let H be a minor obtained from H by contracting the
vertices in a set U and deleting the vertices in a set W . Define w(v) := 0 if
v W , w(v) := |V | if v U , and w(v) := 1 otherwise. We assume that (H )
is finite (so EH ). We show
(78.21) (H ) (H w ) = (H w ) (H ),
which implies (iv).
We first show the first inequality in (78.21). If (H ) |V |, then (H )
|V H |, and hence each singleton is an edge of H . So (H ) = |V H |, and
hence (H w ) |V H | = (H ). So we can assume that (H ) < |V |. Then
(H ) (H w ), since otherwise (H w ) < |V |, and hence H has a vertex cover
B contained in V \ U with |B \ W | = (H w ). So (H ) |B \ W | = (H w ).
This proves the first inequality in (78.21).
To see the second inequality, let x RV \(U W ) be a minimum-size frac-
tional vertex cover of H . We can extend x to a fractional vertex cover x RV
of H by defining x v := 0 if v U and x v := 1 if v W . Then
Section 78.4. Lehmans theorem 1391
(78.22) (H w ) wT x
= 1T x = (H ).
Hence (H w ) (H ), proving (78.21).
Notes. Seymour [1990b] asked the following related questions. Suppose that H =
(V, E) is a hypergraph without Jn minor (n 3). Let l, w : V Z+ be such that
(78.31) (H w ) (b(H)l ) > lT w.
Is there a minor H of H and l , w : V H {0, 1} such that
T
(78.32) ((H )w ) (b(H )l ) > l w
and such that ((H )w ) (H w ) and (b(H )l ) (b(H)l )?
A second question of Seymour is: Let H = (V, E) be a nonideal hypergraph. Is
the minimum of (H ) over all parallelizations and minors H of H with (H ) <
(H ) attained by a minor of H?
Theorem 78.6 (Guenins theorem). A signed graph is weakly bipartite if and only
if it has no odd-K5 minor.
Section 78.4a. Application of Lehmans theorem: Guenins theorem 1393
Proof. Necessity follows from the fact that weak bipartition is closed under taking
minors and that odd-K5 is not weakly bipartite.
To see suciency, let G = (V, E, ) be a minimally non-weakly bipartite signed
graph (minimal under taking minors). We show that G = (V, E, ) contains an
odd-K5 minor. Note that the operations of deletion and contraction in the signed
graph G correspond to deletion and contraction in the hypergraph defined above.
Let n := |E|, let r be the minimum size of an odd circuit, and let s be the
minimum size of an odd circuit cover. Let M (N , respectively) be the matrix whose
rows are the incidence vectors of the minimum-size odd circuits (minimum-size odd
circuit covers, respectively). By Lehmans theorem (Theorem 78.5), we know that
both M and N have precisely n rows, that rs > n, and that the rows of M can be
ordered such that
(78.34) M N T = J + (rs n)I = N T M.
This implies that we can index the minimum-size odd circuits as C1 , . . . , Cn and
the minimum-size odd circuit covers as B1 , . . . , Bn in such a way that for all i, j =
1, . . . , n:
(78.35) |Ci Bj | = 1 if i = j and |Ci Bj | = q if i = j,
where q := rs n + 1. Since q = |C1 B1 | is odd and 2 (as rs > n), we have
q 3.
The fact that N T M = J + (rs n)I is equivalent to:
(78.36) (i) for each e E there are precisely q indices i with e Ci Bi ,
In this, we should be careful in the way the hypergraph (V, E) is given. In most
classes of examples, the number of edges is exponential in the number of vertices,
and we have no full list of all edges at hand. We can however assume that we have
an oracle telling us, for any subset U of V , if U contains an edge of H; that is, if
U H . This gives us a polynomial-time test if a subset belongs to H min , and also
a polynomial-time test if a subset B is a vertex cover (since B is a vertex cover if
and only if V \ B H ). So if we have such an oracle for H, we can derive one for
its blocker b(H), and conversely.
Moreover, for any v V , an oracle for H gives oracles for H/v and H \v. Indeed,
for any U V \ {v}: U (H/v) U {v} H and U (H \ v) U
H .
Now to certify that a hypergraph is nonideal, it is sucient and possible to
specify either a minor H with H = Jn for n := |V H|, or a minor H together with
numbers r, s, edges F1 , . . . , Fn , and vertex covers B1 , . . . , Bn (where n := |V H|) of
H such that
(78.43) (i) rs > n,
(ii) |Fi | = r, |Bi | = s, and |Bi Fi | = rs n + 1 for each i = 1, . . . , n;
(iii) each v V H is in precisely r of the Fi and in precisely s of the Bi .
This is possible by Theorem 65.2. If H = Jn , this can be tested easily with the
oracle. If H = Jn , then the sets Fi (Bi respectively) can be taken to be minimal
edges of H (b(H) respectively); the oracle can tell us that they belong to H (b(H)
respectively).
It is also sucient to certify nonideality: (78.43) implies that (H) s: a vertex
cover B of H intersects at most r|B| of the Fi , and hence r|B| n, implying |B| s
(since otherwise (s 1)r n and hence rs n + 1 > r, contradicting (78.43)(ii)).
Similarly, (78.43) implies that rmin (H) r. As rs > n, this implies that H is
nonideal.
question of Ding [1993] whether there exists a number t such that each minimally
nonideal hypergraph H satisfies rmin (H) t or (H) t.
Since by Lehmans theorem, each minimally nonideal hypergraph H = Jn sat-
isfies (H) = r1 r (H) < (H), where r := rmin (H), the existence of such a t
would imply that the following property characterizes ideality of a hypergraph H:
(78.45) H contains no Jn minor (n 3) and satisfies k (H ) = k (H ) and
k (b(H )) = k (b(H )) for each minor H of H and each k t.
Ding wondered if t = 3 would do.
Ding [1993] conjectures that for each fixed k 2, each minor-minimal hyper-
graph H with k (H) < k (H), contains some Jn minor (n 3) or satisfies the
regularity conditions of Lehmans theorems (Theorem 78.4 and 78.5). Ding [1993]
proved this for k = 2: if H is minor-minimal with the property 2 < 2 and if H
has no Jn minor (n 3), then the minimum-size vertex covers form an odd circuit
on V H.
A {0, 1} matrix M is called ideal if the polytope
(78.46) {x | 0 x 1, M x 1 b}
is integer, where b is the vector with bi equal to the number of 1s in the ith row of
M . These matrices generalize the incidence matrices of ideal hypergraphs. Guenin
[1998b] and Nobili and Sassano [1995,1998] showed that they can be characterized
in terms of ideal hypergraphs.
Related work on ideal hypergraphs was reported by Novick and Seb o [1996]. A
survey on ideal hypergraphs was given by Cornuejols and Guenin [2002b].
Chapter 79
Mengerian hypergraphs
Theorem 79.2. For any hypergraph H = (V, E), the following are equivalent:
(79.3) (i) H is Mengerian, that is, (H ) = (H ) for each parallelization
H of H;
(ii) (H ) = (H ) for each parallelization H of H;
(iii) 2 (H ) = 2(H ) for each parallelization H of H.
Proof. The equivalence (i) (ii) follows from Theorem 78.3, since
(79.3)(ii) implies that (H ) is an integer and since (H ) = (H ). The
implications (ii)(iii) follows from (77.19), since (H ) 12 2 (H ) (H ).
So it suces to prove (iii)(ii).
First observe that for each w : V Z+ and all j, k Z+ we have
jk (H w ) = k (H jw ). Hence, if (79.3)(iii) holds, then for each w : V Z+
and each i:
i i
(79.4) 2i+1 (H w ) = 2 (H 2 w ) = 2(H 2 w ) = 22i (H w ).
So by induction on i we find that for all i:
2i (H w )
(79.5) 2i (H w ) = 2i (H w ), that is, = (H w ).
2i
As
k (H w )
(79.6) (H w ) = lim
k k
(by (77.20)), this gives (79.3)(ii).
Note that the right-hand side of the equivalence in this theorem directly
implies, by definition of k , that k (H) = k (H) for each k; that is, (H) =
(H).
Bipartite graphs. Let G = (V, E) be a bipartite graph. It is very easy to show that
2 (G) = 2(G). (It amounts to the fact that each bipartite graph G of maximum
degree at most 2 has a matching of size at least 12 |EG|.)
Since the class of bipartite graphs is closed under parallelization, Theorem 79.2
gives (G) = (G); that is, the matching number of G is equal to the vertex cover
number of G. This is K onigs matching theorem (Theorem 16.2).
Directed cuts. Let D = (V, A) be a directed graph. Recall that a directed cut is
a set of arcs of the form in (U ) where U is a nonempty proper subset of V with
out (U ) = . A directed cut cover is a set of arcs intersecting all directed cuts. Let
H be the hypergraph with vertex set A and edges all directed cuts. So the blocker
b(H) of H has edges all inclusionwise minimal directed cut covers.
One may show that 2 (H) = 2(H), as was done in the proof of the Luc-
chesi-Younger theorem (Theorem 55.2). Since again this class of hypergraphs is
1400 Chapter 79. Mengerian hypergraphs
closed under parallelization, Theorem 79.2 implies that H is Mengerian. This is the
Lucchesi-Younger theorem.
So H is ideal, and hence also b(H) is ideal. The example of Figure 56.1 in
Section 56.1 shows that b(H) in general is not Mengerian.
(vii) the hypergraph with vertex set {0, 1, 2, 3} and edges {0, 1, 2},
{0, 1, 3}, {0, 2, 3}, and its blocker.
Example (vii) shows that a minimally non-Mengerian hypergraph H can
satisfy (H) = (H).
Theorem 79.4. For any hypergraph, H = (V, E), the following are equivalent:
(79.11) (i) (H ) = (H ) for each restriction H of H;
(ii) (H ) is an integer for each restriction H of H.
Corollary 79.4a. For any hypergraph, H = (V, E), the following are equivalent:
(79.14) (i) (H ) = (H ) for each restriction H of H;
(ii) (H ) = (H ) for each restriction H of H.
Some of the equivalences in Theorems 78.3 and 79.2 can be generalized as follows
asz [1977b] (k 2), Schrijver and Seymour [1979] (general k)).
(Lov
Theorem 79.5. For any hypergraph H = (V, E) and any k Z+ , the following are
equivalent:
Section 79.3d. A general technique 1403
This implies a result proved by Schrijver and Seymour [1979] (just by adapting
the proof methods of Lov asz [1975a] for the equivalence (i)(ii) for k 2 and of
Lovasz [1977b] for the equivalence (i)(iii) for k = 1):
Corollary 79.5a. For any hypergraph H = (V, E) and any k Z+ , the following
are equivalent:
(79.16) (i) k (H ) = k (H ) for each parallelization H of H;
(ii) k (H ) = k (H ) for each parallelization H of H;
(iii) 2k (H ) = 2k (H ) for each parallelization H of H.
Corollary 79.6a. Let H = (V, E) be a hypergraph and let w ZV+ be such that
(H x ) Z for each x w. Then (H w ) = (H w ).
Corollary 79.6b. Let H = (V, E) be a hypergraph and let w ZV+ be such that
(H x ) = 12 2 (H x ) for each x w + 1. Then (H w ) = (H w ).
Corollary 79.6d. For any hypergraph H = (V, E) and any k Z+ , the following
are equivalent:
(79.20) (i) k (H ) = k (H ) for each restriction H of H;
(ii) k1 k (H ) Z for each restriction H of H.
Seymour [1979a] gave the following example of an ideal hypergraph H with (H) =
1
(H). Replace each edge of the Petersen graph by a path of length 2, making the
2 2
graph G. Let T := V G \ {v}, where v is an arbitrary vertex of v of degree 3. Let
E be the collection of T -joins. Let T30 := (EG, E). Then (H ) = (H ) for each
parallelization H of T30 , by Theorem 29.5. On the other hand, (T30 ) = 2 while
G has no T -joins J1 , J2 , J3 , J4 containing each edge of G at most twice. Otherwise,
the sets J1 J2 , J1 J3 , and J1 J4 are cycles, together containing every edge of
G precisely twice. Hence their complements give a 3-edge-colouring of the Petersen
graph. This is not possible.
In this example, T30 is not only ideal, but also satisfies (b(T30 ) ) = 12 2 (b(T30 ) )
for each parallelization b(T30 ) of b(T30 ) (by Corollary 29.2a). Seymour [1981a]
conjectures that T30 is the unique minor-minimal binary ideal hypergraph with the
property 2 < 2 .
Section 79.3e. Further notes 1405
P.D. Seymour (personal communication 1975) conjectures that for each ideal
hypergraph H one has k (H) = k (H) where k is some power of 2. He also asks
if k = 4 would do in all cases. Moreover, Seymour [1979a] conjectures that for each
ideal hypergraph H, the g.c.d. of those k with k (H) = k (H) is equal to 1 or 2.
In Schrijver and Seymour [1979] it is shown that, for each hypergraph H there
is an integer k such that k (H ) = k (H ) for each parallelization H of H.
Chapter 80
Binary hypergraphs
Lehman [1964] and Seymour [1976b] gave further characterizations of binary clut-
ters. They showed that the following are equivalent for any clutter H = (V, E):
(80.5) (i) H is binary, that is, satisfies (80.1);
(ii) for all E1 , E2 , E3 E there is an E E with E E1 E2 E3 ;
(iii) |B E| is odd for all E H and B b(H);
(iv) |B E| = 2 for all E H and B b(H);
(v) H has no minor equal to P4 := ({1, 2, 3, 4}, {{1, 2}, {2, 3}, {3, 4}})
or to Jn for any n 3 (defined in (78.12)).
(The equivalence of (i) and (iii) was shown by Lehman [1964], the equivalence
of (i) and (ii) by A. Lehman (unpublished) and Seymour [1976b], and the other
equivalences by Seymour [1976b].)
Since the class of binary ideal hypergraphs is closed under taking minors,
it can be characterized by specifying the collection of binary minimally non-
ideal hypergraphs. Seymour [1981a] oered the conjecture that this collection
consists precisely of O(K5 ), b(O(K5 )), and F7 (see (78.12)).
This conjecture is still open. As we saw in Sections 75.5 and 78.4a, the
conjecture has been proved for the class of hypergraphs formed by the odd
circuits of signed graphs, by Guenin [1998a,2001a]. For this class, only O(K5 )
is a forbidden minor, since b(O(K5 )) and F7 do not arise in this way.
By Corollary 29.2b, the conjecture is also true for the class of hypergraphs
of T -joins since neither of the three proposed forbidden minors comes from
T -joins.
This was extended by Cornuejols and Guenin [2002a] to binary hyper-
graphs without Q+ +
6 or Q7 minor. Here for any hypergraph H = (V, E), the
+
hypergraph H arises by adding a new vertex u to V and by taking as edges
all sets E {u} with E E. The hypergraph Q7 arises from Q+ 6 by adding
as edges the perfect matchings of K4 .
This implies that for any regular matroid M = (V, I) and any V ,
the collection of circuits C of M with |C | odd, form a hypergraph for
which Seymours conjecture holds. Other cases where Seymours conjecture
holds were given by Guenin [2001c,2002c].
Adding an Eulerian condition. In Section 79.3e we saw that the following ideal
hypergraph H does not satisfy 2 (H) = 2 (H). Let G be obtained from the Petersen
graph P10 by replacing each edge by a path of length 2. Let T := V G \ {v} for
some degree-3 vertex v of G. Let T30 be the hypergraph of T -joins on EG.
Seymour [1981a] conjectured that any binary ideal hypergraph H = (V, E) with-
out T30 minor satisfies 21 2 (H) = (H). If moreover all edges of b(H) have the same
parity, then (H) = (H). However, as A.M.H. Gerards and B. Guenin observed,
Section 80.5. Seymours characterization of binary Mengerian hypergraphs 1409
the Petersen graph gives a simpler counterexample to the second conjecture: the hy-
pergraph T15 of V P10 -joins in P10 is a binary ideal hypergraph without T30 minor
and having all edges of b(T15 ) odd, while (T15 ) = 2 < 3 = (T15 ). This suggests
the question if for each binary hypergraph H = (V, E):
(80.6) (?) (H w ) = (H w ) for each w : V Z+ with w(B) even for all
B b(H) 2 (H w ) = 2 (H w ) for each w : V Z+ H has
no O(K5 ), b(O(K5 )), F7 , or T15 minor. (?)
For binary Mengerian hypergraphs, the forbidden minors are known: Seymour
[1977b] showed that the only binary minimally non-Mengerian hypergraph is
Q6 = O(K4 ). In this section we give a proof based on Seymour [1977b] and
on the short proof by Guenin [2002a].
Claim 1. C is a circuit of H .
Notes. Tseng and Truemper [1986] gave a decomposition theorem for binary Men-
gerian hypergraphs. It implies that the property of being Mengerian belongs to
NP for binary hypergraphs. Shorter proofs of the decomposition result were given
by Bixby and Rajan [1989] and Truemper [1987]. The latter paper also gives
polynomial-time algorithms for testing Mengerity of a binary hypergraph and for
finding a minimum-weight vertex cover and a maximum packing of edges subject to
a weight function in binary Mengerian hypergraphs. A description of this algorithm
was given in Bixby and Cunningham [1995]. Also Hartvigsen and Wagner [1988]
gave a polynomial-time algorithm to test Mengerity of a binary hypergraph.
Section 80.5a. Applications of Seymours theorem 1413
s2
t1 s1
t2
Figure 80.1
s1 and t1 , and s2 and t2 , have distance 2, but there exist no two disjoint
cuts each separating both s1 and t1 , and s2 and t2 .
1414 Chapter 80. Binary hypergraphs
s1 t2
s2 t1
Figure 80.2
The maximum total value of a 2-commodity flow (subject to capacity 1)
is equal to 2, but the maximum total value of an integer 2-commodity
flow is equal to 1.
Notes. Gan and Johnson [1989] developed a framework that includes the above
examples on T -joins, T -cuts, odd circuits, and odd circuit covers, and derived al-
gorithms for the corresponding optimization problems.
Proof. As the 2-uniform matroid U42 on 4 elements and F7 are not Mengerian
(since HM,v = K3 or HM,v = Q6 for these matroids), necessity follows (using
the fact that each matroid without U42 minor is binary (Theorem 39.4)). To
see suciency, observe that, if M = (V, I) is a binary matroid, then for each
v V , the hypergraph HM.v is binary, and that if M contains no F7 minor (in
the matroidal sense), then HM,v contains no Q6 minor (in the hypergraphical
sense).
Matroids generalize undirected graphs, and one may ask for an extension of ma-
troid theory to include directed structures, in order to investigate the max-flow
min-cut theorem in greater generality. Bland and Las Vergnas [1978] and Folkman
1416 Chapter 80. Binary hypergraphs
and Lawrence [1978], following work of Minty [1966], Fulkerson [1968], Rockafellar
[1969], and Lawrence [1975], developed a theory of oriented matroids. It may be
seen as the abstraction of a linear subspace of Rn ; the abstraction of any vector is
a {0, +1, 1} vector, having 0, +1, or 1 in the positions where the original vector
has a zero, positive, or negative entry, respectively. If we have a digraph D = (V, A)
and we take as {0, +1, 1} vectors all x {0, 1}A for which there is an undirected
circuit C with xa = 1 for forward arcs a of C, xa = 1 for backward arcs a of C,
and xa = 0 for all other arcs a, then we obtain an oriented matroid. Again, one
may define the Mengerian property for oriented matroids; its characterization by
excluded minors is unsolved.
More on oriented matroids can be found in Bachem and Kern [1992] and
Bjorner, Las Vergnas, Sturmfels, White, and Ziegler [1993].
A dierent approach to extending Mengers theorem to matroids was given by
Tutte [1965b] see Section 41.5a.
Lov
asz [1975a] showed:
Lov
asz [1975a] showed more generally:
For if xv = 0, then x|V \ {v} is a 2-vertex cover of H/v, and hence, since H/v again
satisfies (80.18):
(80.20) 2 (H) 2 (H/v) = 2 (H/v) x(V \ {v}) = x(V ) = 2 (H),
contradicting the fact that H is a counterexample. Similarly, if xv = 2, then x|V \{v}
is a 2-vertex cover of H \ v, and hence, since H \ v again satisfies (80.18):
(80.21) 2 (H) 2 (H \v)+2 = 2 (H \v)+2 x(V \{v})+2 = x(V ) = 2 (H),
again contradicting the fact that H is a counterexample.
This proves (80.19). Hence |E| 2 for each E E and we must show that
there is a vertex cover of size 21 |V |. By the minimality of x, there is an edge X
of size 2 (otherwise we can reset xv := 0 for some v V ), say X = {y, z}. Then
2 (H \ {y, z}) |V | 2 = 2 (H) 2, and so, by the minimality of |V |:
(80.22) (H \ {y, z}) = 21 2 (H \ {y, z}) 21 2 (H) 1 < (H) 1,
and hence (H \ {y, z}) (H) 2. Let U V \ {y, z} be a minimum-size vertex
cover of H \ {y, z}. Since U {y} and U {z} are not vertex covers of H (since
(H) |U | + 2), there are edges Y and Z in H disjoint from U {z} and U {y}
respectively. As U {y, z} does intersect all edges, we know y Y and z Z. Then
X, Y, Z contradict (80.18).
Condition (80.18) is closed under taking minors. The hypergraph ({1, 2}, {{1},
{2}, {1, 2}}) is the unique minor-minimal hypergraph violating (80.18).
is as small as possible. Then the Ui are cross-free, that is, for all i, j = 1, . . . , t one
has
(80.26) Ui Uj or Uj Ui or Ui Uj = or Ui Uj = V .
1418 Chapter 80. Binary hypergraphs
If this would not hold, we can replace Ui and Uj either by Ui Uj and Ui Uj (if
|Ui Uj T | is odd) or by Ui \ Uj and Uj \ Ui (otherwise), therewith decreasing the
sum (80.25) a contradiction.
So (80.26) holds. By symmetry, we can assume that |Ui | |V \ Ui | for each i. If
each Ui is a singleton, then the Ui form a 2-stable set in the subgraph G[T ] induced
by T , and hence G[T ] has a stable set of size at least 12 t (as G[T ] is bipartite). This
implies (H) 12 2 (H).
If some Ui is a singleton and Ui = Uj for some j = i, we can contract (Ui )
and obtain a bipartite graph G = (V , E ) and T V , and a 2-packing of T -cuts
of G of size t 2. Hence, inductively, G has a packing of T -cuts of size at least
1
2
(t 2). With (Ui ) this gives a packing of T cuts in G, of size at least 21 t.
So we can assume that each singleton occurs at most once among the Ui and that
not each Ui is a singleton. Then we can assume that U1 is a minimal nonsingleton
set among the Ui . Let U2 , . . . , Ur be the sets properly contained in U1 . So U2 , . . . , Ur
are singletons from T U1 . Hence r 1 |T U1 |. As |T U1 | is odd and G is
bipartite, there is a stable set S T Ui with 2|S| |T Ui | + 1 r. Replacing
U1 , . . . , Ur by twice the singletons from S, gives a 2-packing of t T -cuts with smaller
sum (80.25) a contradiction. This proves (80.24).
Now (80.24) implies:
(80.27) 4 (H) = 22 (H) for any graph G.
Indeed, replace each edge by a path of length 2, thus obtaining the bipartite graph
G = (V , E ), with T V . Let H be the corresponding hypergraph of T -cuts.
Then by (80.24):
(80.28) 4 (H) = 2 (H ) = 2(H ) = 22 (H),
which is (80.27).
As the class of hypergraphs H obtained in this way from graphs is closed under
parallelization (since it corresponds to replacing edges by paths), Corollary 79.5a
then implies 2 (H) = 2 (H). Hence, with Theorem 80.2 we obtain 2 (H) = 2 (H),
and, using (80.24), we have (80.23).
80.7c. Box-integrality of k PH
Theorem 81.1. For any binary matroid M = (E, I) the following are equiv-
alent:
(81.9) (i) M is integer -flowing, that is, for each R E and each
c : E Z+ , the cut condition implies the existence of an
integer multiflow;
(ii) M is integer 2-flowing, that is, for each R E with |R| 2
and each c : E Z+ , the cut condition implies the existence
of an integer multiflow;
Section 81.4. 2-flowing and 2-cycling 1421
Theorem 81.2. For any binary matroid M = (E, I) the following are equiv-
alent:
(81.12) (i) M is 2-cycling, that is, for each R E with |R| 2 and each
c : E Z+ , the Euler and cut conditions imply the existence
of an integer multiflow;
(ii) M is 2-flowing, that is, for each R E with |R| 2 and
each c : E R+ , the cut condition implies the existence of a
multiflow;
(iii) M has no AG(3,2) or S8 minor.
Also the concepts of 3-flowing and 3-cycling are equivalent, as follows from
the following characterization, again of Seymour [1981a]:
Theorem 81.3. For any binary matroid M = (E, I) the following are equiv-
alent:
(81.14) (i) M is 3-cycling, that is, for each R E with |R| 3 and each
c : E Z+ , the Euler and cut conditions imply the existence
of an integer multiflow;
(ii) M is 3-flowing, that is, for each R E with |R| 3 and
each c : E R+ , the cut condition implies the existence of a
multiflow;
(iii) M has no F7 , R10 , or M (H6 ) minor.
Here H6 is the graph obtained from K3,3 by adding in each colour class
one additional edge.
Section 81.6. 4-flowing, 4-cycling, -flowing, and -cycling 1423
Theorem 81.4. For any binary matroid M = (E, I) the following are equiv-
alent:
(81.16) (i) M is -cycling, that is, for each R E and each c : E Z+ ,
the Euler and cut conditions imply the existence of an integer
multiflow;
(ii) M is -flowing, that is, is for each R E and each c : E
R+ , the cut condition implies the existence of a multiflow;
(iii) M is 4-flowing, that is, for each R E with |R| 4 and
each c : E R+ , the cut condition implies the existence of a
multiflow;
(iv) M has no F7 , R10 , or M (K5 ) minor.
The matroid R10 is the matroid on EK5 with all minimally nonempty
even cycles of K5 as circuits. (Equivalently, the circuits of R10 are the even
circuits of K5 and their complements.) An alternative characterization is that
R10 is the binary matroid represented by all vectors in {0, 1}5 with precisely
three 1s. So R10 arises from T11 by deleting one element.
For graphic matroids, Theorem 81.4 implies Corollary 75.4d on multiflows
if the underlying graph added with the demand edges has no K5 minor. For
cographic matroids, this gives Theorem 29.2 that in bipartite graphs the
minimum-size of a T -join is equal to the maximum number of disjoint T -
cuts.
In Theorem 81.4, the implications (i)(ii)(iii)(iv) are easy. The proof
of (iv)(i) is based on showing that each binary matroid without F7 , R10 ,
or M (K5 ) minor can be decomposed into cographic matroids and copies of
F7 and of M (V8 ) (Figure 3.2).
1424 Chapter 81. Matroids and multiflows
Notes. Schw arzler and Sebo [1993] extended Theorem 81.4 so as to include
Karzanovs Theorem 72.5 that characterizes when the K2,3 -metric condition suf-
fices for the existence of a multiflow. Related work can also be found in Marcus and
Sebo [2001].
since C D = {f }.
Seymour [1981a] says that M has the sums of circuits property if the
circuit cone is determined by (81.17). He derived from Theorem 81.4 the
following characterization of this property:
Since none of these forbidden minors are graphic, this generalizes Corol-
lary 29.2f (due to Seymour [1979b]). For cographic matroids, this generalizes
Corollary 75.4e.
The derivation of Corollary 81.4a from Theorem 81.4 is similar to the
derivation of Corollary 75.4e from Corollary 75.4d.
The cycle polytope of a binary matroid M = (E, I) is the convex hull of
the incidence vectors of cycles. (A cycle is the disjoint union of circuits.)
For each x in the cycle polytope the following is necessary:
(81.20) 0 xe 1 for each e E,
x(F ) x(D \ F ) |F | 1 for each cocircuit D and each
F D with |F | odd.
Section 81.9. Nonnegative integer sums of circuits 1425
Barahona and Gr otschel [1986] showed that Corollary 81.4a gives (in fact, is
equivalent to) the following cycle polytope result:
Corollary 81.4b. For any binary matroid M the following are equivalent:
(81.21) (i) the cycle polytope of M is determined by (81.20);
(ii) M is -flowing;
(iii) M has no F7 , R10 , or M (K5 ) minor.
Theorem 81.5. For any matroid M = (E, I) the following are equivalent:
(81.24) (i) each vector x ZE
+ satisfying (81.17) and (81.23) is a nonneg-
ative integer combination of incidence vectors of circuits;
(ii) M is binary and has no F7 , R10 , M (K5 ), or M (P10 ) minor.
In this chapter we study the notions of stable set and edge cover in hyper-
graphs. These concepts are dual to those of matching and vertex cover, by
taking the dual hypergraph. Yet, the way we study them is not dual: the
classes of hypergraphs considered are closed under operations performed on
the vertex set (like contraction), while when dualizing the results obtained
above, would lead to operations on the edge set.
So, although several of the concepts considered in this chapter are just the
duals of concepts considered before, we do not dualize the way we studied
them above.
As it will turn out, the antiblocking analogues corresponding to the block-
ing concepts of ideal and Mengerian hypergraphs, all boil down to perfect
graph theory.
(Here and below, F ranges over the edges of H.) Let (H) denote the
maximum size of a fractional stable set and let (H) denote the minimum
size of a fractional edge cover (where the size of a vector is the sum of its
components).
So (H) can be described as
(82.6) (H) = min{y T 1 | y RE+ , y T M 1T },
where M is the E V incidence matrix of H. Similarly,
(82.7) (H) = max{1T x | x RV+ , M x 1}.
As these represent dual linear programs, this gives:
(82.8) (H) = (H).
Let k (H) denote the maximum size of a k-stable set. As 1-stable sets are
precisely the incidence vectors of the stable sets, 1 (H) = (H).
A k-edge cover is a function y : E Z+ such that
(82.10) yF k for each v V .
F v
1430 Chapter 82. Covering and antiblocking in hypergraphs
Let k (H) denote the minimum size of a k-edge cover in H. The minimal 1-
edge covers are precisely the incidence vectors of the edge covers, and hence
1 (H) = (H).
One easily checks that, for any k Z+ :
(82.11) k (H) k (H).
In fact, for each k 1:
k (H) k (H)
(82.12) (H) (H) = (H) (H).
k k
Also one has (Lovasz [1974]):
k (H) k (H)
(82.13) (H) = min = lim .
k k k k
Here the left-hand side equality holds as the minimum in (82.6) is attained
by a rational optimum solution y. The right-hand side equality follows from
Feketes lemma (Theorem 2.2), using the fact that for all k, l 1:
(82.14) k+l (H) k (H) + l (H),
since the sum of a k-edge cover and an l-edge cover is a k + l-edge cover.
Similarly we have:
k (H) k (H)
(82.15) (H) = max = lim ,
k k k k
using (82.7) and the fact that for all k, l 1:
(82.16) k+l (H) k (H) + l (H).
For any hypergraph H = (V, E), the antiblocking hypergraph, or the an-
tiblocker, of H is the hypergraph a(H) with vertex set V and edges all in-
clusionwise maximal stable sets of H. So a(H) is a clutter, and (H) =
rmax (a(H)) (=the maximum edge-size of a(H)).
In Section 77.6 we saw that for any clutter H we have b(b(H)) = H. A
similar duality phenomenon does not hold for antiblockers. For instance, for
the hypergraph H = K3 (with V := {1, 2, 3} and E := {{1, 2}, {1, 3}, {2, 3}})
one has a(H) = (V, {{1}, {2}, {3}}), and hence a(a(H)) = (V, {{1, 2, 3}}) =
H.
However, by adding a further condition, we can restore this duality rela-
tion for the antiblocking operation. Call a hypergraph H = (V, E) conformal
if for each U V :
(82.17) if each pair in U is contained in some edge of H, then U is con-
tained in some edge of H.
Section 82.5. Perfect hypergraphs 1431
Proof. Necessity follows from the definition of conformality, since any two vertices
in (E1 E2 ) (E1 E3 ) (E2 E3 ) are contained in some Ei .
To see suciency, suppose that the condition is satisfied, but that H is not
conformal. Let U be a minimal set such that any pair of vertices in U is contained
in some edge of H, but U is contained in no edge of H. So |U | 3. Choose distinct
u1 , u2 , u3 U and let Fi := U \ {ui } for i = 1, 2, 3. By the minimality of U , each Fi
is contained in some edge, Ei say, of H. Now U = (F1 F2 ) (F1 F3 ) (F2 F3 )
(E1 E2 ) (E1 E3 ) (E2 E3 ). By the condition, the latter set is contained in
an edge of H, and hence also U is contained in an edge of H. This contradicts our
assumption.
Note that each integer vector in QH is a 0,1 vector, and hence is the
incidence vector of a stable set of H. So H is perfect if and only if QH is
the convex hull of the incidence vectors of stable sets of H. By the theory of
antiblocking polyhedra, this implies that if H is perfect, then each vertex of
the polytope Qa(H) , by definition determined by
(82.22) (i) xv 0 for v V ,
(ii) x(S) 1 for S a(H),
is integer hence a(H) is perfect.
We cannot simply reverse this implication: if H is the complete graph K3 ,
then H is not perfect (as 21 1 is a noninteger vertex of QH ), but a(H) is
perfect: its edges are all singleton vertices of K3 .
However, if we require H to be conformal, the duality is restored (Fulk-
erson [1971a,1972a]):
Proof. The equivalence of (i) and (iii) is Corollary 82.3b. The equivalence
of (i), (iii), and (v) then follows from the perfect graph theorem (Corollary
65.2a). The implication (i)(iv) follows from Corollary 65.2f. Since contrac-
tions of H correspond to taking induced subgraphs of G, the implication
(i)(ii) is the definition of perfect graph. The implication (ii)(viii) is di-
rect, as (H )rmax (H ) |V H | for any hypergraph H . The implications
(ii)(vi) and (ii)(vii) follow from (82.12). The implication (iv)(iii) is
general polyhedral theory (Theorem 5.22).
So it suces to show that each of (vi), (vii), and (viii) implies (i). We first
show that each of (vi), (vii), and (viii) implies that H is conformal.
Suppose that H is not conformal. Then there is a minimal subset U of V
such that each pair in U is covered by an edge of H, but U is not covered by
any edge of H. So |U | 3. Let H be obtained from H by contracting V \ U .
Then H has a 2-edge cover of size 3 (taking U \ {u} for three vertices
u U ), while (H ) 2, contradicting (vii). Moreover, (H ) = 1 and
rmax (H ) = |U | 1 < |U | = |V H |, contradicting (viii).
As U is contained in no edge of H, we know that (H ) |U |/(|U | 1),
since (|U |1)1 1 is a fractional stable set of H . Also, (H ) |U |/(|U |1),
1434 Chapter 82. Covering and antiblocking in hypergraphs
since for any fractional stable set x of H we have x(U \ {u}) 1 for each
u U (as U \ {u} is contained in an edge of H), and hence
1 |U |
(82.24) x(U ) = x(U \ {u}) .
|U | 1 |U | 1
uU
So (H ) is not an integer, contradicting (vi).
So each of (vi), (vii), and (viii) implies that H is conformal. Knowing
that H is conformal, let H max consist of the maximal cliques of a graph
G = (V, E). To show that H is perfect, it suces to show that G is perfect if
(vi), (vii), or (viii) holds. This follows from Theorems 65.10, 65.11, and 65.2,
respectively (using that G is perfect if G is perfect, and that (H) = (G)).
Theorem 82.5. For any hypergraph H = (V, E) with E = V and any k Z+ , the
following are equivalent:
(82.26) (i) k (H ) = k (H ) for each serialization H of H;
(ii) k (H ) is an integer for each serialization H of H.
Theorem 82.6. For any hypergraph H = (V, E) with E = V and any k Z+ , the
following are equivalent:
(82.27) (i) k (H ) = k (H ) for each serialization H of H;
(ii) k (H ) = k (H ) for each serialization H of H;
(iii) 2k (H ) = 2k (H ) for each serialization H of H.
Are Theorems 82.5 and 82.6 maintained if serializations are replaced by just
contractions? As we will see, this is the case for k = 2 and k = 3 but not for general
k.
As for k = 2, Lov
asz [1977b] showed:
Theorem 82.7. For any hypergraph H = (V, E) with E = V the following are
equivalent:
(82.28) (i) (H ) = 12 2 (H ) for each contraction H of H;
(ii) (H ) 21 Z for each contraction H of H.
Proof. The implication (i)(ii) is trivial. To see the reverse implication, we can
assume that (ii) holds and that (H ) = 12 2 (H ) for each contraction H = H of
H, while (H) > 12 2 (H).
Since (H) > 12 2 (H) and (H) 12 Z, we know (H) 12 2 (H) + 21 . Let
x be a fractional stable set of H of size (H). Then for each v V , x|V \ {v} is a
fractional stable set of H/v, and so
(82.29) x(V \ {v}) (H/v) = 21 2 (H/v) 12 2 (H) (H) 1
2
= x(V )
1
2
.
So xv 12 for each v V . Hence |F | 2 for each F E. So H is (essentially)
a graph, and hence 2 (H) = 2 (H) (by Corollary 30.9a). This implies 2 (H) =
1
2
(H).
Corollary 82.7a. For any hypergraph H = (V, E) with E = V the following are
equivalent:
(82.30) (i) 2 (H ) = 2 (H ) for each contraction H of H;
(ii) 2 (H ) = 2 (H ) for each contraction H of H;
(iii) 6 (H ) = 32 (H ) for each contraction H of H.
Proof. The equivalence of (i) and (ii) follows directly from Theorem 82.7. Also the
implication (i)(iii) is direct, since 2 (H) 31 6 (H) 2 (H) for any hypergraph
H.
To see (iii)(i), let H = (V, E) be a counterexample with |V | minimal. So
2 (H ) = 2 (H ) for each contraction H =
H of H, and 6 (H) = 32 (H). If each
edge of H has size at most 2, then 2 (H) = 2 (H), by Corollary 30.9a. So H has
an edge F of size at least 3. Choose distinct v1 , v2 , v3 F . Then for each i = 1, 2, 3
we have;
(82.31) 2 (H/vi ) = 2 (H/vi ) 2 (H) < 2 (H).
1436 Chapter 82. Covering and antiblocking in hypergraphs
Lov
asz [1977b] showed that Theorem 82.7 also holds if we replace 2 by 3:
Theorem 82.8. For any hypergraph H = (V, E) with E = V the following are
equivalent:
(82.33) (i) (H ) = 13 3 (H ) for each contraction H of H;
(ii) (H ) 31 Z for each contraction H of H.
Proof. The implication (i)(ii) being direct, we prove (ii)(i). Let H = (V, E)
be a counterexample with |V | minimal. So (H) 31 Z, (H) > 13 3 (H), and
(H ) = 31 3 (H ) for each contraction H =
H of H. So (H) 13 3 (H) + 13 .
Let x be a fractional stable set of H with x(V ) = (H). Then for each v V ,
x|V \ {v} is a fractional stable set of H/v, and hence:
(82.34) x(V \ {v}) (H/v) = 13 3 (H/v) 13 3 (H) (H) 1
3
= x(V ) 13 .
So xv 31 for each v V . Therefore, |F | 3 for each F E. Let U be the union
of the edges of H of size 3. Then xv = 13 for each v U .
Let W := V \ U . Then the edges of H contained in W form a bipartite graph.
Otherwise, it contains an odd circuit C, and then H := H/(V \ V C) satisfies
(H ) = 12 |V C|. So (H ) does not belong to 13 Z, a contradiction.
Let N be the set of vertices w in W for which there is a u U with {u, w} E.
Since x is a maximum-size fractional stable set of H and since xv = 31 for each v U ,
we know that x|W attains the maximum in the linear program of maximizing z(W )
over z RW satisfying
(82.35) 0 z(v) 1 for each v V ,
z(v) 32 for each v N ,
z(u) + z(v) 1 for each edge {u, v} W of H.
Since the constraint matrix of this LP-problem is totally unimodular and since
the right-hand side is 13 -integer, there is a 31 -integer optimum solution z. We can
assume that x|W = z. So x 13 ZV , implying that 3x is a 3-stable set. Hence
3 (H) 3 (H), contradicting our assumption.
Corollary 82.8a. For any hypergraph H = (V, E) with E = V the following are
equivalent:
(82.36) (i) 3 (H ) = 3 (H ) for each contraction H of H;
(ii) 3 (H ) = 3 (H ) for each contraction H of H.
Section 82.6b. Further notes 1437
Lov asz [1977b] raised the question if in these results 3 can be replaced by
any arbitrary integer k. However, Schrijver and Seymour [1979] gave the following
example of a hypergraph H = (V, E) satisfying 60 (H) < 60 (H) while 60 (H ) =
60 (H ) for each contraction H of H:
(82.37) V := {1, 2, 3, 4, 5, 6, 7}, E := {V \ {1, 2}, V \ {1, 3}, V \ {1, 4}, V \
{2, 3}, V \ {2, 4}, V \ {3, 4}, V \ {5}, V \ {6}, V \ {7}}.
To see that 60 (H ) = 60 (H ) for each contraction H of H, observe that if we
contract two of the vertices 1, 2, 3, 4 or one of the vertices 5, 6, 7, there is an edge
covering all vertices, and = follows. So by symmetry it suces to show that
60 (H ) = 60 (H ) for H := H and for H := H/1.
The fractional stable set x of H/1 defined by x := 51 1 shows that (H/1) 65 .
Then the 5-edge cover y of H/1 defined by: y(V \ {1, i}) := 1 for i = 2, . . . , 7,
and y(E) := 0 for any other edge E of H/1, shows that 5 (H/1) 6. Hence
60 (H/1) 125 (H/1) 72 60 (H/1).
Finally we consider H. Let x be the fractional stable set defined by:
(82.38) x(1) := x(2) := x(3) := x(4) := 81 , x(5) := x(6) := x(7) := 41 ,
and let y be the fractional edge cover defined by:
1 1
(82.39) y(V \ {i, j}) := 12
for all 1 i < j 4 and y(V \ {i}) := 4
for
i = 5, 6, 7.
So x(V ) = 45 = y(E). Hence (H) = 45 . However, x is the only fractional stable
set of size 54 . Indeed, for any fractional stable set x of size 54 one has x({i, j}) 41
for all 1 i < j 4 and x({i}) 41 for all 5 i 7. So x({5, 6, 7}) 43 , hence
x({1, 2, 3, 4}) 21 . Therefore, x({i}) = 41 for all 5 i 7 and x({i, j}) = 14 for all
1 i < j 4. This gives x({i}) = 18 for each 1 i 4.
As 60x Z, this shows that 60 (H) < 60 (H).
(82.41) M1 x 0, M2 x 1.
Then (82.41) is TDI if and only if M1 x 0 is TDI and (82.41) determines an
integer polyhedron.
The intersection of the polyhedra made by perfect and ideal hypergraphs was
investigated by Seb o [1998]. Related results were given by Shepherd [1994a] and
Gasparyan [1998]. Monma and Trotter [1979] gave an alternative proof of the rela-
tion between perfect graphs and perfect hypergraphs.
Determining the stable set number (H) of a hypergraph H is equivalent to the
vertex packing problem (equivalently, the set packing problem). In Section 64.9e
we gave further references for this problem. Determining the edge cover number
(H) of H amounts to the set covering problem. This NP-complete problem is
studied by Lawler [1966], Roth [1969], Lemke, Salkin, and Spielberg [1971], Thiriez
[1971], Balas and Padberg [1972,1975a], Garfinkel and Nemhauser [1972b] (sur-
vey), Even [1973], Guha [1973], Salkin and Koncal [1973], Christofides and Kor-
man [1974], Fulkerson, Nemhauser, and Trotter [1974], Johnson [1974a], Gondran
and Lauri`ere [1975], Lov asz [1975c], Etcheberry [1977], Chvatal [1979], Padberg
[1979], Avis [1980a], Balas [1980], Balas and Ho [1980], Baker [1981], Bar-Yehuda
and Even [1981], Ho [1982], Hochbaum [1982,1983b], Lifschitz and Pittel [1983],
Vasko and Wilson [1984a,1984b], Beasley [1987,1990], Bertolazzi and Sassano [1987,
1988], Balas and Ng [1989a,1989b], Cornuejols and Sassano [1989], Feo and Re-
sende [1989], Nobili and Sassano [1989,1992], Sassano [1989], Fisher and Kedia
[1990], Karmarkar, Resende, and Ramakrishnan [1991], El-Darzi and Mitra [1992],
Goldschmidt, Hochbaum, and Yu [1993], Khuller, Vishkin, and Young [1993,1994],
Lorena and Lopes [1994], Mannino and Sassano [1995], Halld orsson [1995,1996],
Caprara, Fischetti, and Toth [1996,1999], Feige [1996,1998], Duh and F urer [1997],
Bar-Yehuda [2000], Halperin [2000,2002], and Holmerin [2002].
The related set partitioning problem was investigated by Garfinkel and Nemhau-
ser [1969], Michaud [1972], Marsten [1973], Nemhauser, Trotter, and Nauss [1973],
Gondran and Lauri`ere [1974], Balas and Padberg [1975a,1975b,1976], Balas [1977],
Nemhauser and Weber [1979], Johnson [1980], Hwang, Sun, and Yao [1985], John
[1988], Fisher and Kedia [1990], El-Darzi and Mitra [1992], and Sherali and Lee
[1996].
Chapter 83
Theorem 83.1. For any hypergraph H = (V, E), the following are equivalent:
(83.3) (i) H is balanced;
(ii) (H ) = (H ) for each partial subhypergraph H of H;
(iii) (H ) = (H ) for each partial subhypergraph H of H;
(iv) (b(H )) = rmin (H ) for each partial subhypergraph H of H;
(v) (a(H )) = rmax (H ) for each partial subhypergraph H of H.
Proof. Each of (ii), (iii), (iv), (v) implies (i), since if H is not balanced, it has
a partial subhypergraph that is an odd circuit. It is easy to see that none of
(ii)-(v) hold for any odd circuit. To show the reverse implications, it suces
to derive from (i) that each of the equalities holds for H = H, since the class
of balanced matrices is closed under taking partial subhypergraphs.
We first show (i)(ii). Since the class of balanced hypergraphs is closed
under parallelization, by Theorem 79.2 it suces to show that 2 (H) =
2(H). Let y : E Z+ be a 2-matching of size 2 (H). Let M := {E
E | y(E) = 2} and F := {E E | y(E) = 1}. The dual of the hypergraph
(V, F) is a graph G, added with some edges of size 1. Since H is balanced,
G is bipartite. Let N be the largest of the two colour classes of G. Then
|N | 12 |F|, and hence M N is a matching of size 21 2 (H).
This shows (i)(ii). By taking the dual of H, we see (i)(iii). By Theo-
rem 82.4, (iii) implies that the maximal edges of H are the maximal cliques of
some perfect graph G on V . Then (G) = (G) implies (a(H)) = rmax (H).
We finally show (i)(iv). We first show that
Section 83.2. Characterizations of balanced hypergraphs 1441
Corollary 83.1a. For any hypergraph H = (V, E), the following are equiva-
lent:
(83.5) (i) H is balanced;
(ii) (H ) Z for each partial subhypergraph H of H;
(iii) each partial hypergraph of H is ideal;
(iv) each partial hypergraph of H is Mengerian;
(v) the blocker of each partial hypergraph of H is Mengerian;
(vi) (H ) Z for each partial subhypergraph H of H;
(vii) each partial hypergraph of H is perfect.
1442 Chapter 83. Balanced and unimodular hypergraphs
Corollary 83.1b. For any {0, 1}-valued m n matrix M , the following are
equivalent:
(83.6) (i) M is balanced;
(ii) b {1, }m w {0, 1}n : min{y T b | y 0, y T M wT }
has an integer optimum solution y;
(iii) b {1, }m w Zn+ : min{y T b | y 0, y T M wT } has
an integer optimum solution y;
(iv) b Zm n T T T
+ w {0, 1} : min{y b | y 0, y M w } has an
integer optimum solution y;
(v) b {1, }m w {0, 1}n : max{wT x | x 0, M x b} has
an integer optimum solution x;
(vi) b {1, }m w Zn+ : max{wT x | x 0, M x b} has an
integer optimum solution x;
(vii) b Zm n T
+ w {0, 1} : max{w x | x 0, M x b} has an
integer optimum solution x;
(viii) b {0, 1}m w {1, }n : min{wT x | x 0, M x b} has
an integer optimum solution x;
(ix) b Zm n T
+ w {1, } : min{w x | x 0, M x b} has an
integer optimum solution x.
(x) b {0, 1}m w Zn+ : min{wT x | x 0, M x b} has an
integer optimum solution x;
(xi) b {0, 1}m w {1, }n : max{y T b | y 0, y T M wT }
has an integer optimum solution y;
(xii) b Zm n T T
+ w {1, } : max{y b | y 0, y M w } has
T
Theorem 83.2. Each nonzero totally balanced matrix M has a simplicial entry.
Proof. Let G = (V, E) be the bipartite graph associated to M , with colour classes
U and W . To prove that M has a simplicial entry, we must show that G has an
edge uw such that each vertex in N (u) is adjacent to each vertex in N (w).
We can assume that G is not a complete bipartite graph, since otherwise M
trivially has a simplicial entry. Choose an inclusionwise maximal nonempty set
X V such that
(83.11) the subgraph G[X] of G induced by X is connected and G has an edge
disjoint from X N (X).
Section 83.2a. Totally balanced matrices 1445
Such a set X exists, since X := {u} satisfies (83.11) for any vertex u that is isolated
or (if no isolated vertices exist) any vertex u U nonadjacent to at least one vertex
in W .
Define Z := V \ (X N (X)). The maximality of X gives:
(83.12) each vertex y in N (X) is adjacent to one of the ends of any edge
contained in Z,
since otherwise we can add y to X without violating (83.11), contradicting the
maximality of X.
Also we have:
(83.13) each vertex in N (X) U is adjacent to each vertex in N (X) W .
For choose y N (X) U and z N (X) W . Let uw be an edge in Z, with u U
and w W . As G[X] is connected, there is a path P in G[X] connecting N (y) and
N (z). Choose P shortest. Then y, P, z, u, w, y is a circuit of length at least 6 in G.
Hence it has a chord. It cannot connect {u, w} and P , since u, w N (X). So it is
a chord of the path y, P, z. Since P is shortest, it follows that y and z are adjacent.
This proves (83.13).
Now by induction we know that Z contains an edge uw such that N ({u, w}) Z
induces a complete bipartite graph. Then (83.12) and (83.13) imply that N ({u, w})
induces a complete bipartite graph.
Theorem 83.3. The rows and columns of a totally balanced matrix M can be
permuted such that the matrix becomes -free.
has moved to position i0 , j0 . We can also assume that among all valid permutations,
we have chosen one which minimizes i0 + j0 . Then
(83.16) Mi,j0 = 0 for each i < i0 and Mi0 ,j = 0 for each j < j0 .
For suppose that Mi,j0 = 1 for some i < i0 . By the minimality of i0 + j0 , we cannot
exchange rows i0 and i0 1 of M without violating -freeness. Hence there exist
j, j with j < j with Mi0 ,j = Mi0 ,j = 1 and Mi0 1,j = 1, Mi0 1,j = 0. Since
Mi0 ,j = Mi0 ,j = 1 and Mi,j0 = 1 we know by (83.10) that Mi,j = Mi,j = 1.
So i = i0 1 and hence i < i0 1. But then Mi,j = Mi,j = Mi0 1,j = 1 while
.
Mi0 1,j = 0, contradicting the -freeness of M
This proves (83.16). Then resetting the (i0 , j0 )th entry to its original value 1,
the matrix remains -free (by (83.10) and (83.16)).
1 if V Pi V Qj = ,
(83.17) Mi,j :=
0 otherwise,
for i = 1, . . . , m and j = 1, . . . , n. Then M is a balanced matrix, as one easily
checks. M need not be totally unimodular, as example (83.22) below shows. As
Lubiw [1982] observed, these matrices are even totally balanced. The fact that for
the corresponding hypergraphs (H) = (H) and (equivalently) (H) = (H) hold
was shown by Meir and Moon [1975]. Related results can be found in Slater [1977].
A third example was given by Giles [1978a]. Let G = (V, E) be an (undirected)
tree. For each a : V Z+ , define
(83.18) Uv := {u V | distG (v, u) av }.
Then (V, {Uv | v V }) is a balanced hypergraph. Lubiw [1982] showed that these
hypergraphs are in fact totally balanced.
where b is the vector with bi equal to the number of negative entries in the ith row
of M . So balanced matrices are both perfect and ideal. By requiring this for each
submatrix, each of this characterizes balancedness.
Conforti and Cornuejols [1995b] also proved a bicolouring theorem extending
Corollary 83.1c:
(83.21) the columns of a balanced 0, 1 matrix M can be split into two sets
such that each row of M with at least two nonzeros, has nonzero entries
of the same sign in both sets, or of opposite signs in one of the two
sets.
Again, by requiring this for each submatrix, this characterizes balancedness.
Finally, the decomposition results and algorithms for balanced 0, 1 matrices
were extended to 0, 1 matrices by Conforti, Cornuejols, Kapoor, and Vuskovic
[1994,2001a,2001b]. For surveys, see Conforti, Cornuejols, Kapoor, Vuskovic, and
Rao [1994], Conforti and Cornuejols [2001], and Cornuejols [2001].
(83.23) (i) H is unimodular, that is, each square submatrix of M has de-
terminant in {0, 1};
(ii) for each b ZE+ , the polyhedron {x 0 | M x b} is integer;
(iii) for each b RE+ , the system x 0, M x b is totally dual
integral;
(iv) for each b ZE+ , the polyhedron {x 0 | M x b} is integer;
(v) for each b RE+ , the system x 0, M x b is totally dual
integral;
(vi) for all a, b ZE and c, d ZV , the polyhedron {x | c x
d, a M x b} is integer;
(vii) for all a, b RE and c, d RV , the system c x d, a
M x b is totally dual integral;
(viii) each U V can be partitioned
into setsU1 and U2 such that
each E E satisfies |E U1 | |E U2 | 1;
(ix) the sum of the entries in any square submatrix of M with even
row and column sums, is divisible by 4;
(x) no square submatrix of M has determinant 2.
Corollary 83.4a. For any {0, 1}-valued m n matrix M , the following are
equivalent:
(83.24) (i) M is totally unimodular;
(ii) b Zm n T T T
+ w Z+ : min{y b | y 0, y M w } has an
integer optimum solution y;
(iii) b Zm + w Zn+ : max{wT x | x 0, M x b} has an
integer optimum solution x;
(iv) b Zm n T T T
+ w Z+ : max{y b | y 0, y M w } has an
integer optimum solution y;
(v) b Zm n T
+ w Z+ : min{w x | x 0, M x b} has an integer
optimum solution x.
as small as possible. Suppose that (83.25) does not hold for E := F . Then
there exist i and j such that
(83.27) |F Vi | |F Vj | + 2.
Consider the contraction of H to Vi Vj . By (83.23)(viii), we can split Vi Vj
into Vi and Vj such that |E Vi ||E Vj | 1 for each E E. So replacing
Vi , Vj by Vi , Vj gives again a valid partition, but decreases the sum (83.26),
a contradiction.
5 (page 232). Berge [1982b] posed the following conjecture generalizing the
Gallai-Milgram theorem. Let D = (V, A) be a digraph and let k Z+ . Then
for each path collection P partitioning V and minimizing
(1) min{|V P |, k},
P P
10 (page 472). The 3-flow conjecture (W.T. Tutte, 1972 (cf. Bondy and Murty
[1976], Unsolved problem 48)):
(6) (?) each 4-edge-connected graph has a nowhere-zero 3-flow. (?)
12 (page 473). The following circular flow conjecture of Jaeger [1984] gener-
alizes both the 3-flow and the 5-flow conjecture:
(8) (?) for each k 1, any 4k-connected graph has an orientation
such that in each vertex, the indegree and the outdegree dier by
an integer multiple of 2k + 1. (?)
15 (page 476). Berge [1979a] conjectures that the edges of any bridgeless
cubic graph can be covered by 5 perfect matchings. (This would follow from
the Fulkerson conjecture.)
16 (page 476). Goldberg [1973] and Seymour [1979a] conjecture that for each
(not necessarily simple) graph G one has
(11) (?) (G) max{(G) + 1, (G)}. (?)
An equivalent conjecture was stated by Andersen [1977].
19 (page 481). The following question was asked by Vizing [1968]: Is there a
simple planar graph of maximum degree 6 and with edge-colouring number
7?
22 (page 482). Behzad [1965] and Vizing [1968] conjecture that the total
colouring number of a simple graph G is at most (G)+2. (The total colouring
1456 Survey of Problems, Questions, and Conjectures
23 (page 482). More generally, Vizing [1968] conjectures that the total colour-
ing number of a graph G is at most (G) + (G) + 1, where (G) is the
maximum edge multiplicity of G.
24 (pages 497,645). Seymour [1979b] conjectures that each even integer vector
in the circuit cone of a graph is a nonnegative integer combination of incidence
vectors of circuits.
27 (page 517). L. Lov asz asked for the complexity of the following problem:
given a graph G = (V, E), vertices s, t V , and a length function l : E Q
such that each circuit has nonnegative length, find a shortest odd s t path.
36 (page 990). Padberg and Grotschel [1985] conjecture that the diameter of
the symmetric traveling salesman polytope of a complete graph is at most 2.
39 (page 1099). Chvatal [1973a] asked if for each fixed t, the stable set prob-
lem for graphs for which the stable set polytope arises from P (G) by at most
1458 Survey of Problems, Questions, and Conjectures
40 (page 1099). Chv atal [1975b] conjectures that there is no polynomial p(n)
such that for each graph G with n vertices we can obtain the inequality
x(V ) (G) from the system defining Q(G) by adding at most p(n) cutting
planes. Here Q(G) is the polytope determined by the nonnegativity and edge
inequalities. (This conjecture would be implied by NP=co-NP.)
41 (page 1105). Gy
arf
as [1987] conjectures that there exists a function g :
Z+ Z+ such that (G) g((G)) for each graph G without odd holes.
48 (page 1242). For any k, let f (k) be the smallest number such that
in any f (k)-connected undirected graph, for any choice of distinct ver-
tices s1 , t1 , . . . , sk , tk there exist vertex-disjoint s1 t1 , . . . , sk tk paths.
Thomassen [1980] conjectures that f (k) = 2k + 2 for k 2.
49 (page 1242). For any k, let g(k) be the smallest number such that
in any g(k)-edge-connected undirected graph, for any choice of vertices
s1 , t1 , . . . , sk , tk there exist edge-disjoint s1 t1 , . . . , sk tk paths. Thomassen
[1980] conjectures that g(k) = k if k is odd and g(k) = k + 1 if k is even.
Survey of Problems, Questions, and Conjectures 1459
52 (page 1274). The previous conjecture implies that for each graph H =
(T, R) without three disjoint edges, there is an integer k such that for each
graph G = (V, E) with V T and any c : E Z+ and d : R Z+ , if there
is a feasible multiflow, then there exists a k1 -integer multiflow.
58 (page 1310). Pfeier [1990] raised the question if the edge-disjoint paths
problem has a half-integer solution if the graph G + H (the union of the
supply graph and the demand graph) is embeddable in the torus and there
exists a quarter-integer solution.
60 (page 1345). Fu and Goddyn [1999] asked: Is the class of graphs for which
the incidence vectors of cuts form a Hilbert base, closed under taking minors?
61 (page 1382). F
uredi, Kahn, and Seymour [1993] conjecture that for each
hypergraph H = (V, E) and each w : E R+ , there exists a matching M E
such that
1460 Survey of Problems, Questions, and Conjectures
1
(21) |F | 1 + w(F ) w (H),
|F |
F M
where w (H) is the maximum weight wT y of a fractional matching y : E
R+ .
64 (page 1392). Seymour [1990b] also asked the following. Let H = (V, E) be
a nonideal hypergraph. Is the minimum of (H ) over all parallelizations and
minors H of H with (H ) < (H ) attained by a minor of H?
65 (page 1395). Cornuejols and Novick [1994] conjecture that there are only
finitely many minimally nonideal hypergraphs H with rmin (H) > 2 and
(H) > 2.
66 (page 1396). Ding [1993] asked whether there exists a number t such that
each minimally nonideal hypergraph H satisfies rmin (H) t or (H) t.
(The above conjecture of Cornuejols and Novick [1994] implies a positive
answer to this question.)
67 (page 1396). Ding [1993] conjectures that for each fixed k 2, each
minor-minimal hypergraph H with k (H) < k (H), contains some Jn minor
(n 3) or satisfies the regularity conditions of Lehmans theorems (Theorem
78.4 and 78.5).
71 (page 1404). Seymour [1981a] conjectures that T30 is the unique minor-
minimal binary ideal hypergraph H with the property 2 (H) < 2 (H).
Here the hypergraph T30 arises as follows. Replace each edge of the Pe-
tersen graph by a path of length 2, making the graph G. Let T := V G \ {v},
where v is an arbitrary vertex of v of degree 3. Let E be the collection of
T -joins. Then T30 := (EG, E).
73 (page 1405). Seymour [1979a] conjectures that for each ideal hypergraph
H, the g.c.d. of those k with k (H) = k (H) is equal to 1 or 2.
75 (page 1421). Seymour [1981a] conjectures that for any binary matroid M :
(28) (?) M is 1-cycling M is 1-flowing M has no AG(3,2),
T11 , or T11 minor. (?)
Here T11 is the binary matroid represented by the 11 vectors in {0, 1}5 with
precisely 3 or 5 ones. Moreover, AG(3,2) is the matroid with 8 elements
obtained from the 3-dimensional ane geometry over GF(2).
References
Numbers in brackets at the end of entries refer to pages citing them.
[1996] H. Abeledo, Y. Blum, Stable matchings and linear programming, Linear
Algebra and Its Applications 245 (1996) 321333. [314]
[1994] H.G. Abeledo, U.G. Rothblum, Stable matchings and linear inequalities,
Discrete Applied Mathematics 54 (1994) 127. [313]
[1975] G.M. Adelson-Velski, E.A. Dinits, A.V. Karzanov, Potokovye algoritmy
[Russian; Flow Algorithms], Izdatelstvo Nauka, Moscow, 1975. [163,
196197, 358, 394, 1255]
[1990] G.S. Adhar, S. Peng, Parallel algorithms for cographs and parity graphs
with applications, Journal of Algorithms 11 (1990) 252284. [1145]
[1978] L. Adleman, K.S. Booth, F.P. Preparata, W.L. Ruzzo, Improved time
and space bounds for Boolean matrix multiplication, Acta Informatica 11
(1978) 6170. [94]
[1990] I. Adler, S. Cosares, Advantageous properties of dual transhipment poly-
hedra, SIAM Journal on Discrete Mathematics 3 (1990) 157167. [195]
[1973] D. Adolphson, T.C. Hu, Optimal linear ordering, SIAM Journal on Applied
Mathematics 25 (1973) 403423. [252]
[1991] P.K. Agarwal, H. Edelsbrunner, O. Schwarzkopf, E. Welzl, Euclidean min-
imum spanning trees and bichromatic closest pairs, Discrete & Computa-
tional Geometry 6 (1991) 407422. [865]
[1984] S. Agarwal, A.K. Mittal, P. Sharma, Constrained optimum communication
trees and sensitivity analysis, SIAM Journal on Computing 13 (1984) 315
328. [251]
[1982] S. Agarwal, P. Sharma, A.K. Mittal, An extension of the edge covering
problem, Mathematical Programming 23 (1982) 353356. [580]
[1988] A.A. Ageev, Ob odnom preobrazovanii zadachi maksimizatsii vognuto sep-
arabelno funktsii na peresechenii polimatroidov [Russian; A transforma-
tion of the problem of maximizing a concave separable function on a poly-
matroid intersection], Upravlyaemye Sistemy 28 (1988) 37. [804]
[2001] A. Ageev, R. Hassin, M. Sviridenko, An 0.5-approximation algorithm for
MAX DICUT with given sizes of parts, SIAM Journal on Discrete Math-
ematics 14 (2001) 246255. [1351]
[1995] A.A. Ageev, A.V. Kostochka, Z. Szigeti, A characterization of Seymour
graphs, in: Integer Programming and Combinatorial Optimization (Pro-
ceedings 4th IPCO Conference, Copenhagen, 1995; E. Balas, J. Clausen,
eds.) [Lecture Notes in Computer Science 920], Springer, Berlin, 1995, pp.
364372. [518]
[1997] A.A. Ageev, A.V. Kostochka, Z. Szigeti, A characterization of Seymour
graphs, Journal of Graph Theory 24 (1997) 357364. [518]
1464 References
[1999] A.A. Ageev, M.I. Sviridenko, Approximation algorithms for maximum cov-
erage and max cut with given sizes of parts, in: Integer Programming
and Combinatorial Optimization (Proceedings 7th IPCO Conference, Graz,
1999; G. Cornuejols, R.E. Burkard, G.J. Woeginger, eds.) [Lecture Notes
in Computer Science 1610], Springer, Berlin, 1999, pp. 1730. [1351]
[1995] A. Aggarwal, A. Bar-Noy, S. Khuller, D. Kravets, B. Schieber, Ecient
minimum cost matching and transportation using the quadrangle inequal-
ity, Journal of Algorithms 19 (1995) 116143. [291, 361]
[1994] M. Aggarwal, N. Garg, A scaling technique for better network design, in:
Proceedings of the Fifth Annual ACM-SIAM Symposium on Discrete Al-
gorithms (Arlington, Virginia, 1994), The Association for Computing Ma-
chinery, New York, and Society for Industrial and Applied Mathematics,
Philadelphia, Pennsylvania, 1994, pp. 233240. [991]
[1995] A. Agrawal, P. Klein, R. Ravi, When trees collide: an approximation algo-
rithm for the generalized Steiner problem on networks, SIAM Journal on
Computing 24 (1995) 440456. [991]
[2002] N.E. Aguilera, M.S. Escalante, G.L. Nasini, A generalization of the perfect
graph theorem under the disjunctive index, Mathematics of Operations
Research 27 (2002) 460469. [1175]
[1983a] R. Aharoni, Mengers theorem for graphs containing no infinite paths, Eu-
ropean Journal of Combinatorics 4 (1983) 201204. [142]
[1983b] R. Aharoni, On a duality principle in infinite bipartite graphs, The Journal
of the London Mathematical Society (2) 28 (1983) 385392. [277]
[1983c] R. Aharoni, On the equivalence of two conditions for the existence of
transversals, Journal of Combinatorial Theory, Series A 34 (1983) 202
214. [389]
[1984a] R. Aharoni, A generalization of Tuttes 1-factor theorem to countable
graphs, Journal of Combinatorial Theory, Series B 37 (1984) 199209.
[431]
[1984b] R. Aharoni, Konigs duality theorem for infinite bipartite graphs, The Jour-
nal of the London Mathematical Society (2) 29 (1984) 112. [277]
[1984c] R. Aharoni, Matchings in graphs of size 1 , Journal of Combinatorial The-
ory, Series B 36 (1984) 113117. [431]
[1984d] R. Aharoni, On an obstruction for perfect matchings, Combinatorica 4
(1984) 16. [431]
[1987] R. Aharoni, Mengers theorem for countable graphs, Journal of Combina-
torial Theory, Series B 43 (1987) 303313. [142]
[1988] R. Aharoni, Matchings in infinite graphs, Journal of Combinatorial Theory,
Series B 44 (1988) 87125. [431]
[2002] R. Aharoni, E. Berger, R. Ziv, A tree version of K
onigs theorem, Combi-
natorica 22 (2002) 335343. [1382]
[1985] R. Aharoni, P. Erd os, N. Linial, Dual integer linear programs and the
relationship between their optima, in: Proceedings of the Seventeenth An-
nual ACM Symposium on Theory of Computing (17th STOC, Providence,
References 1465
Rhode Island, 1985), The Association for Computing Machinery, New York,
1985, pp. 476483. [1382]
[1988] R. Aharoni, P. Erd
os, N. Linial, Optima of dual integer linear programs,
Combinatorica 8 (1988) 1320. [1382]
[2002] R. Aharoni, T. Fleiner, On a lemma of Scarf, in: Integer Programming and
Combinatorial Optimization (Proceedings 9th International IPCO Confer-
ence, Cambridge, Massachusetts, 2002; W.J. Cook, A.S. Schulz, eds.) [Lec-
ture Notes in Computer Science 2337], Springer, Berlin, 2002, pp. 176187.
[314]
[2000] R. Aharoni, P. Haxell, Halls theorem for hypergraphs, Journal of Graph
Theory 35 (2000) 8388. [1382]
[1998] R. Aharoni, R. Holzman, Fractional kernels in digraphs, Journal of Com-
binatorial Theory, Series B 73 (1998) 16. [1127]
[1992] R. Aharoni, M. Magidor, R.A. Shore, On the strength of K onigs duality
theorem for infinite bipartite graphs, Journal of Combinatorial Theory,
Series B 54 (1992) 257290. [277]
[1983] R. Aharoni, C.St.J.A. Nash-Williams, S. Shelah, A general criterion for the
existence of transversals, Proceedings of the London Mathematical Society
(3) 47 (1983) 4368. [389]
[1990] R. Aharoni, R. Ziv, LP duality in infinite hypergraphs, Journal of Combi-
natorial Theory, Series B 50 (1990) 8292. [521]
[1972] A.V. Aho, M.R. Garey, J.D. Ullman, The transitive reduction of a directed
graph, SIAM Journal on Computing 1 (1972) 131137. [94]
[1974] A.V. Aho, J.E. Hopcroft, J.D. Ullman, The Design and Analysis of Com-
puter Algorithms, Addison-Wesley, Reading, Massachusetts, 1974. [9495,
106]
[1983] A.V. Aho, J.E. Hopcroft, J.D. Ullman, Data Structures and Algorithms,
Addison-Wesley, Reading, Massachusetts, 1983. [49, 90, 95, 103, 106, 871]
[1981] J.H. Ahrens, A conjecture of E.D. Bolker, Journal of Combinatorial The-
ory, Series B 31 (1981) 18. [347]
[1986] R.K. Ahuja, Algorithms for the minimax transportation problem, Naval
Research Logistics Quarterly 33 (1986) 725739. [361]
[1984] R.K. Ahuja, J.L. Batra, S.K. Gupta, A parametric algorithm for convex
cost network flow and related problems, European Journal of Operational
Research 16 (1984) 222235. [196]
[1992] R.K. Ahuja, A.V. Goldberg, J.B. Orlin, R.E. Tarjan, Finding minimum-
cost flows by double scaling, Mathematical Programming 53 (1992) 243266.
[191]
[1999] R.K. Ahuja, D.S. Hochbaum, J.B. Orlin, Solving the convex cost inte-
ger dual network flow problem, in: Integer Programming and Combina-
torial Optimization (Proceedings 7th IPCO Conference, Graz, 1999; G.
Cornuejols, R.E. Burkard, G.J. Woeginger, eds.) [Lecture Notes in Com-
puter Science 1610], Springer, Berlin, 1999, pp. 3144. [196]
1466 References
[1989] R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Network flows, in: Optimization
(G.L. Nemhauser, A.H.G. Rinnooy Kan, M.J. Todd, eds.) [Handbooks in
Operations Research and Management Science, Volume 1], Elsevier, Ams-
terdam, 1989, pp. 211369. [163, 197]
[1991] R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Some recent advances in network
flows, SIAM Review 33 (1991) 175219. [163, 197]
[1993] R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Network Flows Theory, Al-
gorithms, and Applications, Prentice Hall, Englewood Clis, New Jersey,
1993. [106, 119, 163, 197, 251, 871, 1248]
[1990] R.K. Ahuja, K. Mehlhorn, J.B. Orlin, R.E. Tarjan, Faster algorithms for
the shortest path problem, Journal of the Association for Computing Ma-
chinery 37 (1990) 213223. [103104, 113]
[1988] R.K. Ahuja, J.B. Orlin, Improved primal simplex algorithms for shortest
path, assignment and minimum cost flow problems, Sloan Working Pa-
per No. 2090-88, Massachusetts Institute of Technology, Cambridge, Mas-
sachusetts, 1988. [118, 195, 291]
[1989] R.K. Ahuja, J.B. Orlin, A fast and simple algorithm for the maximum flow
problem, Operations Research 37 (1989) 748759. [159, 161]
[1991] R.K. Ahuja, J.B. Orlin, Distance-directed augmenting path algorithms for
maximum flow and parametric maximum flow problems, Naval Research
Logistics 38 (1991) 413430. [137, 163]
[1992] R.K. Ahuja, J.B. Orlin, The scaling network simplex algorithm, Operations
Research 40 (1992) S5S13. [118, 195, 291]
[1995] R.K. Ahuja, J.B. Orlin, A capacity scaling algorithm for the constrained
maximum flow problem, Networks 25 (1995) 8998. [196]
[1997] R.K. Ahuja, J.B. Orlin, Equivalence of the primal and dual simplex al-
gorithms for the maximum flow problem, Operations Research Letters 20
(1997) 101108. [163]
[1994] R.K. Ahuja, J.B. Orlin, C. Stein, R.E. Tarjan, Improved algorithms for
bipartite network flow, SIAM Journal on Computing 23 (1994) 906933.
[356358]
[1989] R.K. Ahuja, J.B. Orlin, R.E. Tarjan, Improved time bounds for the maxi-
mum flow problem, SIAM Journal on Computing 18 (1989) 939954. [159,
161]
[1971] M. Aigner, T.A. Dowling, Matching theory for combinatorial geometries,
Transactions of the American Mathematical Society 158 (1971) 231245.
[705]
[1999] D. Aingworth, C. Chekuri, P. Indyk, R. Motwani, Fast estimation of di-
ameter and shortest paths (without matrix multiplication), SIAM Journal
on Computing 28 (1999) 11671181. [93, 118]
[1996] D. Aingworth, C. Chekuri, R. Motwani, Fast estimation of diameter and
shortest paths (without matrix multiplication), in: Proceedings of the Sev-
enth Annual ACM-SIAM Symposium on Discrete Algorithms (Atlanta,
Georgia, 1996), The Association for Computing Machinery, New York, and
References 1467
[1998] E.M. Arkin, R. Hassin, On local search for weighted k-set packing, Math-
ematics of Operations Research 23 (1998) 640648. [1104]
[1970] V.L. Arlazarov, E.A. Dinits, M.A. Kronrod, I.A. Faradzhev, Ob `ekonom-
nom postroenii transitivnogo zamykaniya orientirovannogo grafa [Russian],
Doklady Akademii Nauk SSSR 194:3 (1970) 487488 [English translation:
On economical construction of the transitive closure of an oriented graph
Soviet Mathematics Doklady 11 (1970) 12091210]. [94]
[1997] R. Armoni, A. Ta-Shma, A. Wigderson, S. Zhou, SL L4/3 , in: Proceed-
ings of the Twenty-Ninth Annual ACM Symposium on Theory of Comput-
ing (29th STOC, El Paso, Texas, 1997), The Association for Computing
Machinery, New York, 1997, pp. 230239. [94]
[2000] R. Armoni, A. Ta-Shma, A. Wigderson, S. Zhou, An O(log(n)4/3 ) space
algorithm for (s, t) connectivity in undirected graphs, Journal of the Asso-
ciation for Computing Machinery 47 (2000) 294311. [94]
[1998] R.D. Armstrong, W. Chen, D. Goldfarb, Z. Jin, Strongly polynomial dual
simplex methods for the maximum flow problem, Mathematical Program-
ming 80 (1998) 1733. [163]
[1996] R.D. Armstrong, Z. Jin, Strongly polynomial simplex algorithm for bipar-
tite vertex packing, Discrete Applied Mathematics 64 (1996) 97103. [361]
[1997] R.D. Armstrong, Z. Jin, A new strongly polynomial dual network simplex
algorithm, Mathematical Programming 78 (1997) 131148. [163, 195]
[1979] R.D. Armstrong, D. Klingman, D. Whitman, Implementation and analysis
of a variant of the dual method for the capacitated transshipment problem,
European Journal of Operational Research 4 (1979) 403420. [195196]
[1989] J.E. Aronson, A survey of dynamic network flows, Annals of Operations
Research 20 (1989) 166. [195]
[1994] J. Aronson, M. Dyer, A. Frieze, S. Suen, On the greedy heuristic for match-
ings, in: Proceedings of the Fifth Annual ACM-SIAM Symposium on Dis-
crete Algorithms (Arlington, Virginia, 1994), The Association for Comput-
ing Machinery, New York, and Society for Industrial and Applied Mathe-
matics, Philadelphia, Pennsylvania, 1994, pp. 141149. [431]
[1996] S. Arora, Polynomial time approximation schemes for Euclidean TSP
and other geometric problems, in: Proceedings 37th Annual Symposium
on Foundations of Computer Science (37th FOCS, Burlington, Vermont,
1996), IEEE Computer Society Press, Los Alamitos, California, 1996, pp.
211. [990]
[1997] S. Arora, Nearly linear time approximation schemes for Euclidean TSP
and other geometric problems, in: Proceedings 38th Annual Symposium
on Foundations of Computer Science (38th FOCS, Miami Beach, Florida,
1997), IEEE Computer Society Press, Los Alamitos, California, 1997, pp.
554563. [460, 990]
[1998] S. Arora, Polynomial time approximation schemes for Euclidean traveling
salesman and other geometric problems, Journal of the Association for
Computing Machinery 45 (1998) 753782. [460, 990]
1472 References
[1996] S. Arora, A. Frieze, H. Kaplan, A new rounding procedure for the assign-
ment problem with applications to dense graph arrangement problems, in:
Proceedings 37th Annual Symposium on Foundations of Computer Science
(37th FOCS, Burlington, Vermont, 1996), IEEE Computer Society Press,
Los Alamitos, California, 1996, pp. 2130. [291, 953]
[2002] S. Arora, A. Frieze, H. Kaplan, A new rounding procedure for the assign-
ment problem with applications to dense graph arrangement problems,
Mathematical Programming 92 (2002) 136. [291, 953]
[1998] S. Arora, M. Grigni, D. Karger, P. Klein, A. Woloszyn, A polynomial-time
approximation scheme for weighted planar graph TSP, in: Proceedings of
the Ninth Annual ACM-SIAM Symposium on Discrete Algorithms (San
Francisco, California, 1998), The Association for Computing Machinery,
New York, and Society for Industrial and Applied Mathematics, Philadel-
phia, Pennsylvania, 1998, pp. 3341. [990]
[1995] S. Arora, D. Karger, M. Karpinski, Polynomial time approximation schemes
for dense instances of NP-hard problems, in: Proceedings of the Twenty-
Seventh Annual ACM Symposium on the Theory of Computing (27th
STOC, Las Vegas, Nevada, 1995), The Association for Computing Ma-
chinery, New York, 1995, pp. 284293. [1348]
[1999] S. Arora, D. Karger, M. Karpinski, Polynomial time approximation schemes
for dense instances of NP-hard problems, Journal of Computer and System
Sciences 58 (1999) 193210. [1348]
[1992] S. Arora, C. Lund, R. Motwani, M. Sudan, M. Szegedy, Proof verifica-
tion and hardness of approximation problems, in: Proceedings 33rd Annual
Symposium on Foundations of Computer Science (33rd FOCS, Pittsburgh,
Pennsylvania, 1992), IEEE Computer Society Press, Los Alamitos, Cali-
fornia, 1992, pp. 1423. [1103]
[1998] S. Arora, C. Lund, R. Motwani, M. Sudan, M. Szegedy, Proof verification
and the hardness of approximation problems, Journal of the Association
for Computing Machinery 45 (1998) 501555. [1103]
[1998] S. Arora, S. Safra, Probabilistic checkings of proofs: a new characterization
of NP, Journal of the Association for Computing Machinery 45 (1998) 70
122. [1103]
[1966] D.S. Asche, Minimal dependent sets, Journal of the Australian Mathemat-
ical Society 6 (1966) 259262. [663]
[1978] L. Asimow, B. Roth, The rigidity of graphs, Transactions of the American
Mathematical Society 245 (1978) 279289. [824]
[1979] L. Asimow, B. Roth, The rigidity of graphs, II, Journal of Mathematical
Analysis and Applications 68 (1979) 171190. [824]
[1978] A.A. Assad, Multicommodity network flows a survey, Networks 8 (1978)
3791. [1248]
[1972] A.O.L. Atkin, Remark on a paper of Pi and Welsh, Journal of Combina-
torial Theory, Series B 13 (1972) 179182. [659]
[1980] G. dAtri, A note on heuristics for the traveling salesman problem, Math-
ematical Programming 19 (1980) 111114. [996]
References 1473
[1981] E.K. Baker, Ecient heuristic algorithms for the weighted set covering
problem, Computers & Operations Research 8 (1981) 303310. [1438]
[1983] B.S. Baker, Approximation algorithms for NP-complete problems on planar
graphs, in: 24th Annual Symposium on Foundations of Computer Science
(24th FOCS, Tucson, Arizona, 1983), IEEE, New York, 1983, pp. 265273.
[1104]
[1994] B.S. Baker, Approximation algorithms for NP-complete problems on planar
graphs, Journal of the Association for Computing Machinery 41 (1994)
153180. [1104]
[1972] K.A. Baker, P.C. Fishburn, F.S. Roberts, Partial orders of dimension 2,
Networks 2 (1972) 1128. [1138]
[1977] E. Balas, Some valid inequalities for the set partitioning problem, in: Stud-
ies in Integer Programming (Proceedings Workshop on Integer Program-
ming, Bonn, 1975; P.L. Hammer, E.L. Johnson, B.H. Korte, G.L. Nemhau-
ser, eds.) [Annals of Discrete Mathematics 1], North-Holland, Amsterdam,
1977, pp. 1347. [1438]
[1980] E. Balas, Cutting planes from conditional bounds: a new approach to set
covering, Mathematical Programming Study 12 (1980) 1936. [1438]
[1981] E. Balas, Integer and fractional matchings, in: Studies on Graphs and
Discrete Programming (Proceedings Workshop on Applications of Graph
Theory to Management, Brussels, 1979, and also 10th Mathematical Pro-
gramming Symposium, Montreal, 1979; P. Hansen, ed.) [Annals of Discrete
Mathematics 11], North-Holland, Amsterdam, 1981, pp. 113. [525]
[1984] E. Balas, A sharp bound on the ratio between optimal integer and fractional
covers, Mathematics of Operations Research 9 (1984) 15. [1381]
[1989] E. Balas, The asymmetric assignment problem and some new facets of the
traveling salesman polytope on a directed graph, SIAM Journal on Discrete
Mathematics 2 (1989) 425451. [994]
[1996] E. Balas, S. Ceria, G. Cornuejols, G. Pataki, Polyhedral methods for the
maximum clique problem, in: Cliques, Coloring, and Satisfiability Sec-
ond DIMACS Implementation Challenge (New Brunswick, New Jersey,
1993; D.S. Johnson, M.A. Trick, eds.) [DIMACS Series in Discrete Math-
ematics and Theoretical Computer Science, Volume 26], American Math-
ematical Society, Providence, Rhode Island, 1996, pp. 1128. [1104]
[1981] E. Balas, N. Christofides, A restricted Lagrangean approach to the travel-
ing salesman problem, Mathematical Programming 21 (1981) 1946. [995]
[1987] E. Balas, V. Chv
atal, J. Nesetril, On the maximum weight clique problem,
Mathematics of Operations Research 12 (1987) 522535. [1101]
[1992] E. Balas, M. Fischetti, The fixed-outdegree 1-arborescence polytope, Math-
ematics of Operations Research 17 (1992) 10011018. [994]
[1993] E. Balas, M. Fischetti, A lifting procedure for the asymmetric traveling
salesman polytope and a large new class of facets, Mathematical Program-
ming 58 (1993) 325352. [994]
1476 References
[1999] E. Balas, M. Fischetti, Lifted cycle inequalities for the asymmetric traveling
salesman problem, Mathematics of Operations Research 24 (1999) 273292.
[994]
[1980] E. Balas, A. Ho, Set covering algorithms using cutting planes, heuristics,
and subgradient optimization: a computational study, Mathematical Pro-
gramming Study 12 (1980) 3760. [1438]
[1989a] E. Balas, S.M. Ng, On the set covering polytope: I. All the facets with
coecients in {0, 1, 2}, Mathematical Programming 43 (1989) 5769. [1438]
[1989b] E. Balas, S.M. Ng, On the set covering polytope: II. Lifting the facets with
coecients in {0, 1, 2}, Mathematical Programming 45 (1989) 120. [1438]
[1972] E. Balas, M.W. Padberg, On the set-covering problem, Operations Research
20 (1972) 11521161. [1438]
[1975a] E. Balas, M. Padberg, On the set-covering problem: II. An algorithm for
set partitioning, Operations Research 23 (1975) 7490. [1438]
[1975b] E. Balas, M.W. Padberg, Set partitioning, in: Combinatorial Programming:
Methods and Applications (Proceedings NATO Advanced Study Institute,
Versailles, 1974; B. Roy, ed.), Reidel, Dordrecht, 1975, pp. 205258. [1438]
[1976] E. Balas, M.W. Padberg, Set partitioning: a survey, SIAM Review 18 (1976)
710760. [1438]
[1983] E. Balas, W. Pulleyblank, The perfectly matchable subgraph polytope of
a bipartite graph, Networks 13 (1983) 495516. [359]
[1989] E. Balas, W.R. Pulleyblank, The perfectly matchable subgraph polytope
of an arbitrary graph, Combinatorica 9 (1989) 321337. [450, 568]
[1977] E. Balas, H. Samuelsson, A node covering algorithm, Naval Research Lo-
gistics Quarterly 24 (1977) 213233. [1104]
[1985] E. Balas, P. Toth, Branch and bound methods, in: The Traveling Salesman
Problem A Guided Tour of Combinatorial Optimization (E.L. Lawler,
J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, eds.), Wiley, Chichester,
1985, pp. 361401. [996]
[1991] E. Balas, J. Xue, Minimum weighted coloring of triangulated graphs, with
application to maximum weight vertex packing and clique finding in ar-
bitrary graphs, SIAM Journal on Computing 20 (1991) 209221. [1104,
1140]
[1996] E. Balas, J. Xue, Weighted and unweighted maximum clique algorithms
with upper bounds from fractional coloring, Algorithmica 15 (1996) 397
412. [1104]
[1986] E. Balas, C.S. Yu, Finding a maximum clique in an arbitrary graph, SIAM
Journal on Computing 15 (1986) 10541068. [1104]
[1989] E. Balas, C.S. Yu, On graphs with polynomially solvable maximum-weight
clique problem, Networks 19 (1989) 247253. [1101]
[1977] E. Balas, E. Zemel, Critical cutsets of graphs and canonical facets of set-
packing polytopes, Mathematics of Operations Research 2 (1977) 1519
[erratum: Mathematics of Operations Research 23 (1998) 1022]. [1104]
References 1477
[1991] H.-J. Bandelt, H.M. Mulder, Metric characterization of parity graphs, Dis-
crete Mathematics 91 (1991) 221230. [1145]
[1995] J. Bang-Jensen, A. Frank, B. Jackson, Preserving and increasing local edge-
connectivity in mixed graphs, SIAM Journal on Discrete Mathematics 8
(1995) 155178. [925, 1074]
[1998] J. Bang-Jensen, H.N. Gabow, T. Jordan, Z. Szigeti, Edge-connectivity aug-
mentation with partition constraints, in: Proceedings of the Ninth Annual
ACM-SIAM Symposium on Discrete Algorithms (San Francisco, California,
1998), The Association for Computing Machinery, New York, and Society
for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1998,
pp. 306315. [1079]
[1999] J. Bang-Jensen, H.N. Gabow, T. Jordan, Z. Szigeti, Edge-connectivity aug-
mentation with partition constraints, SIAM Journal on Discrete Mathe-
matics 12 (1999) 160207. [1079]
[1999] J. Bang-Jensen, B. Jackson, Augmenting hypergraphs by edges of size 2,
Mathematical Programming 84 (1999) 467481. [1382]
[1997] J. Bang-Jensen, T. Jord an, Edge-connectivity augmentation preserving
simplicity, in: Proceedings 38th Annual Symposium on Foundations of Com-
puter Science (38th FOCS, Miami Beach, Florida, 1997), IEEE Computer
Society Press, Los Alamitos, California, 1997, pp. 486495. [1066]
[1998] J. Bang-Jensen, T. Jord
an, Edge-connectivity augmentation preserving
simplicity, SIAM Journal on Discrete Mathematics 11 (1998) 603623.
[1066]
[2000] J. Bang-Jensen, T. Jordan, Splitting o edges within a specified subset
preserving the edge-connectivity of the graph, Journal of Algorithms 37
(2000) 326343. [1066]
[1994] R.B. Bapat, K onigs theorem and bimatroids, Linear Algebra and Its Ap-
plications 212/213 (1994) 353365. [671]
[2000] R. Bar-Yehuda, One for the price of two: a unified approach for approx-
imating covering problems, Algorithmica 27 (2000) 131144. [959, 1104,
1438]
[1981] R. Bar-Yehuda, S. Even, A linear-time approximation algorithm for the
weighted vertex cover problem, Journal of Algorithms 2 (1981) 198203.
[1104, 1438]
[1982] R. Bar-Yehuda, S. Even, On approximating a vertex cover for planar
graphs, in: Proceedings of the Fourteenth Annual ACM Symposium on The-
ory of Computing (14th STOC, San Francisco, California, 1982), The As-
sociation for Computing Machinery, New York, 1982, pp. 303309. [1104]
[1985] R. Bar-Yehuda, S. Even, A local-ratio theorem for approximating the
weighted vertex cover problem, in: Analysis and Design of Algorithms for
Combinatorial Problems (Workshop Udine, 1982; G. Ausiello, M. Lucertini,
eds.) [Annals of Discrete Mathematics 25], North-Holland, Amsterdam,
1985, pp. 2745. [1104]
[1994] R. Bar-Yehuda, D. Geiger, J.(S.) Naor, R.M. Roth, Approximation al-
gorithms for the vertex feedback set problem with applications to con-
References 1479
straint satisfaction and Bayesian inference, in: Proceedings of the Fifth An-
nual ACM-SIAM Symposium on Discrete Algorithms (Arlington, Virginia,
1994), The Association for Computing Machinery, New York, and Society
for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1994,
pp. 344354. [959]
[1998] R. Bar-Yehuda, D. Geiger, J.(S.) Naor, R.M. Roth, Approximation algo-
rithms for the feedback vertex set problem with applications to constraint
satisfaction and Bayesian inference, SIAM Journal on Computing 27 (1998)
942959. [959]
[1957] L.L. Barachet, Graphic solution to the traveling-salesman problem, Oper-
ations Research 5 (1957) 841845. [1003]
[1980] F. Barahona, On the complexity of max cut, Rapport de Recherche No.
186, Mathematiques Appliques et Informatique, Universite Scientifique et
Medicale de Grenoble, Grenoble, 1980. [1328, 1341]
[1983a] F. Barahona, On some weakly bipartite graphs, Operations Research Let-
ters 2 (1983) 239242. [1341]
[1983b] F. Barahona, The max-cut problem on graphs not contractible to K5 , Op-
erations Research Letters 2 (1983) 107111. [13421344, 1350]
[1990] F. Barahona, Planar multicommodity flows, max cut, and the Chinese
postman problem, in: Polyhedral Combinatorics (Proceedings DIMACS
Workshop, Morristown, New Jersey, 1989; W. Cook, P.D. Seymour, eds.)
[DIMACS Series in Discrete Mathematics and Theoretical Computer Sci-
ence, Volume 1], American Mathematical Society, Providence, Rhode Is-
land, 1990, pp. 189202. [140, 486, 489, 1308]
[1992] F. Barahona, Separating from the dominant of the spanning tree polytope,
Operations Research Letters 12 (1992) 201203. [882, 891]
[1993a] F. Barahona, On cuts and matchings in planar graphs, Mathematical Pro-
gramming 60 (1993) 5368. [460]
[1993b] F. Barahona, Reducing matching to polynomial size linear programming,
SIAM Journal on Optimization 3 (1993) 688695. [460, 500501]
[1995] F. Barahona, Packing spanning trees, Mathematics of Operations Research
20 (1995) 104115. [891]
[2002] F. Barahona, Fractional packing of T -joins, preprint, 2002. [491, 500]
[1987] F. Barahona, M. Conforti, A construction for binary matroids, Discrete
Mathematics 66 (1987) 213218. [500]
[1984] F. Barahona, W.H. Cunningham, A submodular network simplex method,
[in: Mathematical Programming at Oberwolfach II (Oberwolfach, 1983; B.
Korte, K. Ritter, eds.)] Mathematical Programming Study 22 (1984) 931.
[1034]
[1989] F. Barahona, W.H. Cunningham, On dual integrality in matching prob-
lems, Operations Research Letters 8 (1989) 245249. [444, 553, 600]
[1994] F. Barahona, J. Fonlupt, A.R. Mahjoub, Compositions of graphs and poly-
hedra IV: Acyclic spanning subgraphs, SIAM Journal on Discrete Mathe-
matics 7 (1994) 390402. [951]
1480 References
[1978] W.G. Bartnik, Algorithmes de couplage dans les graphes, Th`ese Doctorat
de 3e cycle, specialite: mathematiques, mention: informatique, Universite
Pierre et Marie Curie - Paris 6, Paris, 1978. [422]
[1995] A.I. Barvinok, New algorithms for linear k-matroid intersection and ma-
troid k-parity problems, Mathematical Programming 69 (1995) 449470.
[707]
[1996] A.I. Barvinok, Two algorithmic results for the traveling salesman problem,
Mathematics of Operations Research 21 (1996) 6584. [996]
[1998] A. Barvinok, D.S. Johnson, G.J. Woeginger, R. Woodroofe, The maximum
traveling salesman problem under polyhedral norms, in: Integer Program-
ming and Combinatorial Optimization (Proceedings 6th IPCO Conference,
Houston, Texas, 1998; R.E. Bixby, E.A. Boyd, R.Z. Ros-Mercado, eds.)
[Lecture Notes in Computer Science 1412], Springer, Berlin, 1998, pp. 195
201. [996]
[1985] D. Basavayya, G. Ravindra, Strongly perfect line graphs of (0,1)-graphs,
Journal of Combinatorics, Information & System Sciences 10 (1985) 157
160. [1146]
[1987] D. Basavayya, G. Ravindra, Strongly perfect line graphs of (0,1)-graphs,
Journal of Mathematical and Physical Sciences 21 (1987) 391398. [1146]
[1978] S. Baum, L.E. Trotter, Jr, Integer rounding and polyhedral decomposition
for totally unimodular systems, in: Optimization and Operations Research
(Proceedings Workshop Bad Honnef, 1977; R. Henn, B. Korte, W. Oettli,
eds.) [Lecture Notes in Economics and Mathematical Systems 157], Sprin-
ger, Berlin, 1978, pp. 1523. [82]
[1981] S. Baum, L.E. Trotter, Jr, Integer rounding for polymatroid and branching
optimization problems, SIAM Journal on Algebraic and Discrete Methods
2 (1981) 416425. [82, 800, 909]
[1971] L.D. Baumert, R.J. McEliece, E. Rodemich, H.C. Rumsey, Jr, R. Stanley,
H. Taylor, A combinatorial packing problem, in: Computers in Algebra
and Number Theory (Proceedings of a Symposium, New York, 1970; G.
Birkho, M. Hall, Jr, eds.) [Volume IV SIAM-AMS Proceedings], American
Mathematical Society, Providence, Rhode Island, 1971, pp. 97108. [1171]
[2000] A. Baveja, A. Srinivasan, Approximation algorithms for disjoint paths and
related routing and packing problems, Mathematics of Operations Research
25 (2000) 255280. [1247]
[1977] M.S. Bazaraa, J.J. Goode, The traveling salesman problem: a duality ap-
proach, Mathematical Programming 13 (1977) 221237. [995]
[1977] M. Bazaraa, J.J. Jarvis, Linear Programming and Network Flows, Wiley,
New York, 1977. [163, 197, 291, 362]
[1990] M.S. Bazaraa, J.J. Jarvis, H.D. Sherali, Linear Programming and Network
Flows Second Edition, Wiley, New York, 1990. [106, 119, 197, 291, 362,
1248]
[1974] M.S. Bazaraa, R.W. Langley, A dual shortest path algorithm, SIAM Jour-
nal on Applied Mathematics 26 (1974) 496501. [111, 113]
References 1483
[1959] E.M.L. Beale, An algorithm for solving the transportation problem when
the shipping cost over each route is convex, Naval Research Logistics Quar-
terly 6 (1959) 4356. [196]
[1990] P. Beame, A. Borodin, P. Raghavan, W.L. Ruzzo, M. Tompa, Time-space
tradeos for undirected graph traversal, in: Proceedings 31st Annual Sym-
posium on Foundations of Computer Science Volume I (31st FOCS, St.
Louis, Missouri, 1990), IEEE Computer Society Press, Los Alamitos, Cal-
ifornia, 1990, pp. 429438. [94]
[1996] P. Beame, A. Borodin, P. Raghavan, W.L. Ruzzo, M. Tompa, Time-space
tradeos for undirected graph traversal by graph automata, Information
and Computation 130 (1996) 101129. [94]
[1959] J. Beardwood, J.H. Halton, J.M. Hammersley, The shortest path through
many points, Proceedings of the Cambridge Philosophical Society 55 (1959)
299327. [1001]
[1987] J.E. Beasley, An algorithm for set covering problem, European Journal of
Operational Research 31 (1987) 8593. [1438]
[1990] J.E. Beasley, A Lagrangian heuristic for set-covering problems, Naval Re-
search Logistics 37 (1990) 151164. [1438]
[1994] A. Becker, D. Geiger, Approximation algorithms for the loop cutset prob-
lem, in: Uncertainty in Artificial Intelligence (Proceedings of the Tenth
Conference, Washington, Seattle, 1994; R. Lopez de Mantaras, D. Poole,
eds.), Kaufmann, San Francisco, California, 1994, pp. 6068. [959]
[1996] A. Becker, D. Geiger, Optimization of Pearls method of conditioning and
greedy-like approximation algorithms for the vertex feedback set problem,
Artificial Intelligence 83 (1996) 167188. [959]
[1986] M. Becker, K. Mehlhorn, Algorithms for routing in planar graphs, Acta
Informatica 23 (1986) 163176. [1299, 1304, 1324]
[1952] M. Beckmann, A continuous model of transportation, Econometrica 20
(1952) 643660. [375]
[1952] M. Beckmann, T.C. Koopmans, A Note on the Optimal Assignment Prob-
lem, Cowles Commission Discussion Paper: Economics 2053, Cowles Com-
mission for Research in Economics, Chicago, Illinois, [October 30] 1952.
[297, 1002]
[1953] M. Beckmann, T.C. Koopmans, On Some Assignment Problems, Cowles
Commission Discussion Paper: Economics No. 2071, Cowles Commission
for Research in Economics, Chicago, Illinois, [April 2] 1953. [52, 297]
[1956] M. Beckmann, C.B. McGuire, C.B. Winsten, Studies in the Economics
of Transportation, Cowles Commission for Research in Economics, Yale
University Press, New Haven, Connecticut, 1956. [122]
[1988] G. Behrendt, Covering posets, Discrete Mathematics 71 (1988) 189195.
[236]
[1965] M. Behzad, Graphs and Their Chromatic Numbers, Ph.D. Thesis, Depart-
ment of Mathematics, Michigan State University, Ann Arbor, Michigan,
1965. [482, 1455]
1484 References
[1981]
A. Ben Rebea, Etude des stables dans les graphes quasi-adjoints, Th`ese
docteur de 3 `
e me cycle mathematiques appliquees, Universite Scientifique
et Medicale de Grenoble et Institut National Polytechnique de Grenoble,
Grenoble, 1981. [12161217]
[1994] A.A. Benczur, Augmenting undirected connectivity in RNC and in ran-
3 ) time, in: Proceedings of the Twenty-Sixth Annual ACM
domized O(n
Symposium on the Theory of Computing (26th STOC, Montreal, Quebec,
1994), The Association for Computing Machinery, New York, 1994, pp.
658667. [1065]
[1995] A.A. Bencz ur, A representation of cuts within 6/5 times the edge connec-
tivity with applications, in: Proceedings 36th Annual Symposium on Foun-
dations of Computer Science (36th FOCS, Milwaukee, Wisconsin, 1995),
IEEE Computer Society Press, Los Alamitos, California, 1995, pp. 92102.
[253, 1065]
[1999] A.A. Benczur, Parallel and fast sequential algorithms for undirected edge
connectivity augmentation, Mathematical Programming 84 (1999) 595640.
[10651066, 1382]
[1999] A.A. Bencz
ur, A. Frank, Covering symmetric supermodular functions by
graphs, Mathematical Programming 84 (1999) 483503. [785, 1382]
[2000] A.A. Bencz ur, O. Ful
op, Fast algorithms for even/odd minimum cuts and
generalizations, in: Algorithms ESA 2000 (Proceedings 8th Annual Eu-
ropean Symposium, Saarbr ucken, 2000; M. Paterson, ed.) [Lecture Notes
in Computer Science 1879], Springer, Berlin, 2000, pp. 88-99. [519, 845]
[1996] A.A. Bencz ur, D.R. Karger, Approximating s-t minimum cuts in O(n 2)
time, in: Proceedings of the Twenty-Eighth Annual ACM Symposium on
the Theory of Computing (28th STOC, Philadelphia, Pennsylvania, 1996),
The Association for Computing Machinery, New York, 1996, pp. 4755.
[163]
[1998] A.A. Benczur, D.R. Karger, Augmenting undirected edge connectivity in
2 ) time, in: Proceedings of the Ninth Annual ACM-SIAM Symposium
O(n
on Discrete Algorithms (San Francisco, California, 1998), The Association
for Computing Machinery, New York, and Society for Industrial and Ap-
plied Mathematics, Philadelphia, Pennsylvania, 1998, pp. 500509. [1066]
[2000] A.A. Bencz
ur, D.R. Karger, Augmenting undirected edge connectivity in
2 ) time, Journal of Algorithms 37 (2000) 236. [1066]
O(n
[1990] J.L. Bentley, Experiments on traveling salesman heuristics, in: Proceedings
of the First Annual ACM-SIAM Symposium on Discrete Algorithms (San
Francisco, California, 1990), Society for Industrial and Applied Mathemat-
ics, Philadelphia, Pennsylvania, 1990, pp. 9199. [996]
[1992] J.L. Bentley, Fast algorithms for geometric traveling salesman problems,
ORSA Journal on Computing 4 (1992) 387411. [996]
[1980] J.L. Bentley, J.B. Saxe, An analysis of two heuristics for the Euclidean
traveling salesman problem, in: Proceedings Eighteenth Annual Allerton
Conference on Communication, Control, and Computing (Monticello, Illi-
1486 References
[1967] C. Berge, Some classes of perfect graphs, in: Graph Theory and Theoretical
Physics (F. Harary, ed.), Academic Press, London, 1967, pp. 155165.
[1151, 1181]
[1969] C. Berge, The rank of a family of sets and some applications to graph
theory, in: Recent Progress in Combinatorics (Proceedings of the Third
Waterloo Conference on Combinatorics, Waterloo, Ontario, 1968; W.T.
Tutte, ed.), Academic Press, New York, 1969, pp. 4957. [1375, 1440]
[1970] C. Berge, Sur certains hypergraphes generalisant les graphes bipartites, in:
Combinatorial Theory and Its Applications I (Proceedings Colloquium on
Combinatorial Theory and its Applications, Balatonf ured, Hungary, 1969;
P. Erd
os, A. Renyi, V.T. S
os, eds.), North-Holland, Amsterdam, 1970, pp.
119133. [1443]
[1972] C. Berge, Balanced matrices, Mathematical Programming 2 (1972) 1931.
[1440]
[1973a] C. Berge, Balanced hypergraphs and some applications to graph theory, in:
A Survey of Combinatorial Theory (dedicated to R.C. Bose on the occasion
of his seventieth birthday and containing the Proceedings of the Interna-
tional Symposium on Combinatorial Mathematics and its Applications,
Colorado State University, Fort Collins, Colorado, 1971; J.N. Srivastava,
ed.), North Holland, Amsterdam, 1973, pp. 1523. [1118, 1433]
[1973b] C. Berge, Graphs and Hypergraphs, North-Holland, Amsterdam, 1973.
[106, 163, 431, 1133, 1382, 1443]
[1973c] C. Berge, Introduction a` la theorie des hypergraphes, Les Presses de lUni-
versite de Montreal, Montreal, Quebec, 1973. [1382]
[1975] C. Berge, Perfect graphs, in: Studies in Graph Theory, Part I (D.R. Fulk-
erson, ed.) [Studies in Mathematics Volume 11], The Mathematical Asso-
ciation of America, Washington, D.C., 1975, pp. 122. [1133]
[1978a] C. Berge, Fractional Graph Theory [Indian Statistical Institute Lecture
Notes, No. 1], Macmillan, New Delhi, 1978. [1382]
[1978b] C. Berge, Regularisable graphs, in: Advances in Graph Theory (Proceedings
Cambridge Combinatorial Conference, Cambridge, 1977; B. Bollob as, ed.)
[Annals of Discrete Mathematics 3], North-Holland, Amsterdam, 1978, pp.
1119. [430, 561]
[1978c] C. Berge, Regularisable graphs I, Discrete Mathematics 23 (1978) 8589.
[560]
[1978d] C. Berge, Regularisable graphs, II, Discrete Mathematics 23 (1978) 9195.
[561]
[1979a] C. Berge, Multicolorings of graphs and hypergraphs, in: Proceedings of the
Symposium on Graph Theory (Calcutta, 1976; A. Ramachandra Rao, ed.)
[Indian Statistical Institute Lecture Notes, No 4], Macmillan, New Delhi,
1979, pp. 19. [476, 1455]
[1979b] C. Berge, Packing problems and hypergraph theory: a survey, in: Discrete
Optimization I (Proceedings Advanced Research Institute on Discrete Op-
timization and Systems Applications and Discrete Optimization Sympo-
sium, Ban, Alta, and Vancouver, B.C., Canada, 1977; P.L. Hammer, E.L.
1488 References
[1987] D.P. Bertsekas, The auction algorithm: a distributed relaxation method for
the assignment problem, Annals of Operations Research 14 (1987) 105123.
[291]
[1991] D.P. Bertsekas, An auction algorithm for shortest paths, SIAM Journal on
Optimization 1 (1991) 425447. [118]
[1992] D.P. Bertsekas, The auction algorithm for assignment and other network
flow problems: a tutorial, Interfaces 20 (1992) 133149. [195, 291]
[1988] D.P. Bertsekas, J. Eckstein, Dual coordinate step methods for linear net-
work flow problems, Mathematical Programming 42 (1988) 203243. [190,
291]
[1987] D.P. Bertsekas, P.A. Hosein, P. Tseng, Relaxation methods for network
flow problems with convex arc costs, SIAM Journal on Control and Opti-
mization 25 (1987) 12191243. [196]
[1988] D.P. Bertsekas, P. Tseng, Relaxation methods for minimum cost ordinary
and generalized network flow problems, Operations Research 36 (1988) 93
114. [195196]
[1992] P.P. Bhattacharya, L. Georgiadis, P. Tsoucas, Extended polymatroids:
properties and optimization, in: Integer Programming and Combinatorial
Optimization (Proceedings 2nd IPCO Conference, Pittsburgh, Pennsylva-
nia, 1992; E. Balas, G. Cornuejols, R. Kannan, eds.), Graduate School of
Industrial Engineering, Carnegie Mellon University, Pittsburgh, Pennsyl-
vania, 1992, pp. 298315. [784]
[1996] B. Bhattacharya, P. Hell, J. Huang, A linear algorithm for maximum weight
cliques in proper circular arc graphs, SIAM Journal on Discrete Mathemat-
ics 9 (1996) 274289. [1100]
[1997] B.K. Bhattacharya, D. Kaller, An O(m + n log n) algorithm for the maxi-
mum-clique problem in circular-arc graphs, Journal of Algorithms 25 (1997)
336358. [1100]
[1985] E. Bidamon, H. Meyniel, On the Shannon capacity of a directed graph,
European Journal of Combinatorics 6 (1985) 289290. [1176]
[2001] T. Biedl, Linear reductions of maximum matching, in: Proceedings of the
Twelfth Annual ACM-SIAM Symposium on Discrete Algorithms (Washing-
ton, D.C., 2001), The Association for Computing Machinery, New York,
and Society for Industrial and Applied Mathematics, Philadelphia, Penn-
sylvania, 2001, pp. 825826. T; S222 CO [430]
[1999] T.C. Biedl, P. Bose, E.D. Demaine, A. Lubiw, Ecient algorithms for
Petersens matching theorem, in: Proceedings of the Tenth Annual ACM-
SIAM Symposium on Discrete Algorithms (Baltimore, Maryland, 1999),
The Association for Computing Machinery, New York, and Society for
Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1999, pp.
130-139. [430]
[2001] T.C. Biedl, P. Bose, E.D. Demaine, A. Lubiw, Ecient algorithms for
Petersens matching theorem, Journal of Algorithms 38 (2001) 110134.
[430]
1492 References
[1987] A. Bj
orner, L. Lov
asz, Pseudomodular lattices and continuous matroids,
Acta Scientiarum Mathematicarum [Szeged] 51 (1987) 295308. [765]
[1988] C. Blair, The lattice structure of the set of stable matchings with multiple
partners, Mathematics of Operations Research 13 (1988) 619628. [313]
[1993] R.G. Bland, J. Cheriyan, D.L. Jensen, L. Lad anyi, An empirical study
of min cost flow algorithms, in: Network Flows and Matching First
DIMACS Implementation Challenge (D.S. Johnson, C.C. McGeoch, eds.)
[DIMACS Series in Discrete Mathematics and Theoretical Computer Sci-
ence 12], American Mathematical Society, Providence, Rhode Island, 1993,
pp. 119156. [196]
[1981] R.G. Bland, D. Goldfarb, M.J. Todd, The ellipsoid method: a survey, Op-
erations Research 29 (1981) 10391091. [1054]
[1979] R.G. Bland, H.-C. Huang, L.E. Trotter, Jr, Graphical properties related to
minimal imperfection, Discrete Mathematics 27 (1979) 1122 [reprinted in:
Topics on Perfect Graphs (C. Berge, V. Chv atal, eds.) [Annals of Discrete
Mathematics 21], North-Holland, Amsterdam, 1984, pp. 181192]. [1116
1117, 1124]
[1992] R.G. Bland, D.L. Jensen, On the computational behavior of a polynomial-
time network flow algorithm, Mathematical Programming 54 (1992) 139.
[190, 196, 212]
[1978] R.G. Bland, M. Las Vergnas, Orientability of matroids, Journal of Combi-
natorial Theory, Series B 24 (1978) 94123. [1415]
8
[2002] M. Blaser, An 13 -approximation algorithm for the asymmetric maximum
TSP, in: Proceedings of the Thirteenth Annual ACM-SIAM Symposium on
Discrete Algorithms (San Francisco, California, 2002), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 2002, pp. 6473. [996]
[1961] M.N. Bleicher, G.B. Preston, Abstract linear dependence relations, Publi-
cationes Mathematicae [Debrecen] 8 (1961) 5563. [672]
[1977] W.J. Blewett, T.C. Hu, Tree decomposition algorithm for large networks,
Networks 7 (1977) 289296. [105]
[1986] M. Blidia, A parity digraph has a kernel, Combinatorica 6 (1986) 2327.
[1130]
[1993] M. Blidia, P. Duchet, F. Maray, On kernels in perfect graphs, Combina-
torica 13 (1993) 231233. [1130]
[1994] M. Blidia, P. Duchet, F. Maray, On the orientation of Meyniel graphs,
Journal of Graph Theory 18 (1994) 705711. [1130]
[1996] M. Blidia, P. Duchet, F. Maray, Les graphes faiblement triangules sans
P5 sont C-parfaits, Maghreb Mathematical Review 5 (1996) 1324. [1146]
[1992] M. Blidia, K. Engel, Perfectly orderable graphs and almost all perfect
graphs are kernel M -solvable, Graphs and Combinatorics 8 (1992) 103
108. [1130]
[1980] P. Bloniarz, A shortest-path algorithm with expected time O(n2 log n
log n), in: Conference Proceedings of the Twelfth Annual ACM Symposium
References 1495
[1997] O.V. Borodin, A.V. Kostochka, D.R. Woodall, List edge and list total
colourings of multigraphs, Journal of Combinatorial Theory, Series B 71
(1997) 184204. [336]
[1997]
E. Boros, O. Cepek, On perfect 0, 1 matrices, Discrete Mathematics 165
(1997) 81100. [1437]
[1996] E. Boros, V. Gurvich, Perfect graphs are kernel solvable, Discrete Mathe-
matics 159 (1996) 3555. [11261127, 1129]
[1972] M. Borowiecki, On chromatic number of products of two graphs, Collo-
quium Mathematicum 25 (1972) 4952. [1172]
[1926a] O. Boruvka, O jistem problemu minimalnm [Czech, with German sum-
mary; On a minimal problem], Pr ace Moravske Prrodovedecke Spolecnosti
Brno [Acta Societatis Scientiarum Naturalium Moravi[c]ae] 3 (1926) 3758.
[50, 856, 859, 868, 871, 874]
[1926b] O. Bor uvka, Prspevek k resen ot
azky ekonomicke stavby elektrovodn
ych
st [Czech; Contribution to the solution of a problem of economical con-
struction of electrical networks], Elektrotechnick y Obzor 15:10 (1926) 153
154. [50, 859, 872]
[1977] O. Bor
uvka, Nekolik vzpomnek na matematicky zivot v Brne, Pokroky
Matematiky, Fyziky a Astronomie 22 (1977) 9199. [872]
[1983] A. Bouchet, Nowhere-zero integral flows on a bidirected graph, Journal of
Combinatorial Theory, Series B 34 (1983) 279292. [646]
[1985] A. Bouchet, Un algorithme polynomial pour reconnatre les graphes dal-
ternance, Comptes Rendus de lAcad emie des Sciences [Paris] Serie I
Mathematique 300 (1985) 569572. [1100]
[1987a] A. Bouchet, Greedy algorithm and symmetric matroids, Mathematical Pro-
gramming 38 (1987) 147159. [699, 851]
[1987b] A. Bouchet, Reducing prime graphs and recognizing circle graphs, Combi-
natorica 7 (1987) 243254. [1100]
[1994] A. Bouchet, Circle graph obstructions, Journal of Combinatorial Theory,
Series B 60 (1994) 107144. [1100]
[1995] A. Bouchet, Coverings and delta-coverings, in: Integer Programming and
Combinatorial Optimization (Proceedings 4th IPCO Conference, Copen-
hagen, 1995; E. Balas, J. Clausen, eds.) [Lecture Notes in Computer Science
920], Springer, Berlin, 1995, pp. 228243. [851]
[1995] A. Bouchet, W.H. Cunningham, Delta-matroids, jump systems, and bisub-
modular polyhedra, SIAM Journal on Discrete Mathematics 8 (1995) 17
32. [722723]
[1992] A. Bouchet, A.W.M. Dress, T.F. Havel, -matroids and metroids, Ad-
vances in Mathematics 91 (1992) 136142. [851]
[1979] M. Boulala, J.-P. Uhry, Polytope des independants dun graphe serie-
parall`ele, Discrete Mathematics 27 (1979) 225243. [1194]
[1984] J.-M. Bourjolly, P.L. Hammer, B. Simeone, Node-weighted graphs having
the Konig Egervary property, [in: Mathematical Programming at Oberwol-
1498 References
[1999] A. Brandst
adt, V.B. Le, Tree- and forest-perfect graphs, Discrete Applied
Mathematics 95 (1999) 141162. [1123]
[2000] A. Brandstadt, V.B. Le, Recognizing the P4 -structure of block graphs,
Discrete Applied Mathematics 99 (2000) 349366. [1123]
[2000] A. Brandstadt, V.B. Le, S. Olariu, Eciently recognizing the P4 -structure
of trees and of bipartite graphs without short cycles, Graphs and Combi-
natorics 16 (2000) 381387. [1123]
[1999] A. Brandstadt, V.B. Le, J.P. Spinrad, Graph Classes A Survey, SIAM,
Philadelphia, Pennsylvania, 1999. [1133, 1141, 1150]
[1982] J.J. Brennan, Minimal spanning trees and partial sorting, Operations Re-
search Letters 1 (1982) 113116. [871]
[1986] C. Brezovec, G. Cornuejols, F. Glover, Two algorithms for weighted ma-
troid intersection, Mathematical Programming 36 (1986) 3953. [710, 712]
[1988] C. Brezovec, G. Cornuejols, F. Glover, A matroid algorithm and its ap-
plication to the ecient solution of two optimization problems on graphs.
Submodular optimization. Mathematical Programming 42 (1988) 471487.
[723, 865]
[1962] F.E.A. Briggs, A dual labelling method for the Hitchcock problem, Oper-
ations Research 10 (1962) 507517. [195]
[1964] S. Broder, Final examination scheduling, Communications of the ACM 7
(1964) 494498. [336]
[1994] A.Z. Broder, A.R. Karlin, P. Raghavan, E. Upfal, Trading space for time
in undirected s t connectivity, SIAM Journal on Computing 23 (1994)
324334. [94]
[1983] A. Brndsted, An Introduction to Convex Polytopes, Springer, New York,
1983. [84]
[1941] R.L. Brooks, On colouring the nodes of a network, Proceedings of the Cam-
bridge Philosophical Society 37 (1941) 194197. [1086]
[1980] A.E. Brouwer, A.W.J. Kolen, A Super-Balanced Hypergraph has a Nest
Point, Report ZW 146/80, Department of Pure Mathematics, Mathema-
tisch Centrum, Amsterdam, 1980. [1446]
[1951] G.W. Brown, Iterative solution of games by fictitious play, in: Activity
Analysis of Production and Allocation Proceedings of a Conference (Pro-
ceedings Conference on Linear Programming, Chicago, Illinois, 1949; Tj.C.
Koopmans, ed.), Wiley, New York, 1951, pp. 374376. [297]
[1972] J.R. Brown, Chromatic scheduling and the chromatic number problem,
Management Science 19 (1972) 456463. [1104]
[1976] T.C. Brown, Common transversals, Journal of Combinatorial Theory, Se-
ries A 21 (1976) 8085. [409]
[1984] T.C. Brown, Common transversals for partitions of a finite set, Discrete
Mathematics 51 (1984) 119124. [409]
[1990] J.I. Brown, D.G. Corneil, A.R. Mahjoub, A note on Ki -perfect graphs,
Journal of Graph Theory 14 (1990) 333340. [1133]
1500 References
[1977b] R.A. Brualdi, P.M. Gibson, Convex polyhedra of doubly stochastic matri-
ces: II. Graph of n , Journal of Combinatorial Theory, Series B 22 (1977)
175198. [308]
[1977c] R.A. Brualdi, P.M. Gibson, Convex polyhedra of doubly stochastic matri-
ces III. Ane and combinatorial properties of n , Journal of Combinatorial
Theory, Series A 22 (1977) 338351. [308]
[1971] R.A. Brualdi, J.S. Pym, A general linking theorem in directed graphs, in:
Studies in Pure Mathematics (L. Mirsky, ed.), Academic Press, London,
1971, pp. 1729. [141]
[1968] R.A. Brualdi, E.B. Scrimger, Exchange systems, matchings, and transver-
sals, Journal of Combinatorial Theory 5 (1968) 244257. [381, 389]
[1981] P. Brucker, The Chinese postman problem for mixed networks, in: Graph-
theoretic Concepts in Computer Science (Proceedings International Work-
shop WG 80, Bad Honnef, 1980; H. Noltemeier, ed.) [Lecture Notes in
Computer Science 100], Springer, Berlin, 1981, pp. 354366. [518]
[1943] N.G. de Bruijn, Gemeenschappelijke representantensystemen van twee
klassenindeelingen van een verzameling, Nieuw Archief voor Wiskunde (2)
22 (1943) 4852. [277, 389, 392]
[1982] F. Bry, M. Las Vergnas, The Edmonds-Gallai decomposition for matchings
in locally finite graphs, Combinatorica 2 (1982) 229235. [431]
[1973] T.H. Brylawski, Some properties of basic families of subsets, Discrete Math-
ematics 6 (1973) 333341. [671, 728]
[1983] M.A. Buckingham, M.C. Golumbic, Partitionable graphs, circle graphs,
and the Berge strong perfect graph conjecture, Discrete Mathematics 44
(1983) 4554. [1124]
[1984] M.A. Buckingham, M.C. Golumbic, Recent results on the strong perfect
graph conjecture, in: Convexity and Graph Theory (Proceedings Confer-
ence, Jerusalem, Israel, 1981; M. Rosenfeld, J. Zaks, eds.) [Annals of Dis-
crete Mathematics 20], North-Holland, Amsterdam, 1984, pp. 7582. [1121]
[1974] P. Buneman, A characterisation of rigid circuit graphs, Discrete Mathe-
matics 9 (1974) 205212. [1142]
[1979] R.E. Burkard, Travelling salesman and assignment problems: a survey, in:
Discrete Optimization I (Proceedings Advanced Research Institute on Dis-
crete Optimization and Systems Applications and Discrete Optimization
Symposium, Ban, Alta, and Vancouver, B.C., Canada, 1977; P.L. Ham-
mer, E.L. Johnson, B.H. Korte, eds.) [Annals of Discrete Mathematics 4],
North-Holland, Amsterdam, 1979, pp. 193215. [996]
[1998] R.E. Burkard, V.G. Deneko, R. van Dal, J.A.A. van der Veen, G.J. Woeg-
inger, Well-solvable special cases of the traveling salesman problem: a sur-
vey, SIAM Review 40 (1998) 496546. [996]
[1980] R.E. Burkard, U. Derigs, Assignment and Matching Problems: Solution
Methods with FORTRAN-Programs [Lecture Notes in Economics and Math-
ematical Systems 184], Springer, Berlin, 1980. [291, 431, 460]
[1993] R.E. Burkard, K. Dlaska, B. Klinz, The quickest flow problem, Zeitschrift
f
ur Operations Research 37 (1993) 3158. [195]
1502 References
[1994] J.O. Cerdeira, Matroids and a forest cover problem, Mathematical Pro-
gramming 66 (1994) 403405. [870]
[1981] S. Chaiken, D.J. Kleitman, M. Saks, J. Shearer, Covering regions by rect-
angles, SIAM Journal on Algebraic and Discrete Methods 2 (1981) 394410.
[1033, 1149]
[1989] C. Champetier, Kernels in some orientations of comparability graphs, Jour-
nal of Combinatorial Theory, Series B 47 (1989) 111113. [1130]
[1997] W.-T. Chan, F.Y.L. Chin, Ecient algorithms for finding disjoint paths
in grids, in: Proceedings of the Eighth Annual ACM-SIAM Symposium on
Discrete Algorithms (New Orleans, Louisiana, 1997), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 1997, pp. 454463. [1325]
[2000] W.-T. Chan, F.Y.L. Chin, Ecient algorithms for finding the maximum
number of disjoint paths in grids, Journal of Algorithms 34 (2000) 337369.
[1325]
[1999] B. Chandra, M.M. Halldorsson, Greedy local improvement and weighted
set packing approximation, in: Proceedings of the Tenth Annual ACM-
SIAM Symposium on Discrete Algorithms (Baltimore, Maryland, 1999),
The Association for Computing Machinery, New York, and Society for In-
dustrial and Applied Mathematics, Philadelphia, Pennsylvania, 1999, pp.
169176. [1104]
[2001] B. Chandra, M.M. Halldorsson, Greedy local improvement and weighted
set packing approximation, Journal of Algorithms 39 (2001) 223240.
[1104]
[1994] B. Chandra, H. Karlo, C. Tovey, New results on the old k-opt algorithm
for the TSP, in: Proceedings of the Fifth Annual ACM-SIAM Symposium
on Discrete Algorithms (Arlington, Virginia, 1994), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 1994, pp. 150159. [996]
[1999] B. Chandra, H. Karlo, C. Tovey, New results on the old k-opt algorithm
for the traveling salesman problem, SIAM Journal on Computing 28 (1999)
19982029. [996]
[1988] R. Chandrasekaran, S.N. Kabadi, Pseudomatroids, Discrete Mathematics
71 (1988) 205217. [851]
[1984] R. Chandrasekaran, A. Tamir, On the integrality of an extreme solution
to pluperfect graph and balanced systems, Operations Research Letters 3
(1984) 215218. [1133]
[1912] H.W. Chapman, A note on the elementary theory of groups of finite order,
The Messenger of Mathematics 42 (1912-13) 132134. [390]
[2002] M. Charikar, On semidefinite programming relaxations for graph coloring
and vertex cover, in: Proceedings of the Thirteenth Annual ACM-SIAM
Symposium on Discrete Algorithms (San Francisco, California, 2002), The
Association for Computing Machinery, New York, and Society for Indus-
trial and Applied Mathematics, Philadelphia, Pennsylvania, 2002, pp. 616
620. [1104, 1175]
1508 References
[1954] A. Charnes, W.W. Cooper, The stepping stone method of explaining linear
programming calculations in transportation problems, Management Sci-
ence 1 (1954) 4969. [374]
[1958] A. Charnes, W.W. Cooper, Nonlinear network flows and convex program-
ming over incidence matrices, Naval Research Logistics Quarterly 5 (1958)
231240. [196]
[1966] A. Charnes, W.M. Raike, One-pass algorithms for some generalized net-
work problems, Operations Research 14 (1966) 914924. [196]
[1979] G. Chartrand, D.L. Goldsmith, S. Schuster, A sucient condition for
graphs with 1-factors, Colloquium Mathematicum 41 (1979) 339344. [430]
[1979] G. Chartrand, L. Nebesk
y, A note on 1-factors in graphs, Periodica Math-
ematica Hungarica 10 (1979) 4146. [430]
[1997] B. Chazelle, A faster deterministic algorithm for minimum spanning trees,
in: Proceedings 38th Annual Symposium on Foundations of Computer Sci-
ence (38th FOCS, Miami Beach, Florida, 1997), IEEE Computer Society
Press, Los Alamitos, California, 1997, pp. 2231. [864]
[2000] B. Chazelle, A minimum spanning tree algorithm with inverse-Ackermann
type complexity, Journal of the Association for Computing Machinery 47
(2000) 10281047. [864]
[1996] F. Cheah, D.G. Corneil, On the structure of trapezoid graphs, Discrete
Applied Mathematics 66 (1996) 109133. [1150]
[1997] C.S. Chekuri, A.V. Goldberg, D.R. Karger, M.S. Levine, C. Stein, Experi-
mental study of minimum cut algorithms, in: Proceedings of the Eighth An-
nual ACM-SIAM Symposium on Discrete Algorithms (New Orleans, Lou-
isiana, 1997), The Association for Computing Machinery, New York, and
Society for Industrial and Applied Mathematics, Philadelphia, Pennsylva-
nia, 1997, pp. 324333. [247]
[1990] W.-K. Chen, Theory of Nets: Flows in Networks, Wiley, New York, 1990.
[106, 119, 163, 197, 251, 871]
[1994] Y.L. Chen, Finding the k quickest simple paths in a network, Information
Processing Letters 50 (1994) 8992. [105]
[1974] H. Chen, C.G. DeWald, A generalized chain labelling algorithm for solving
multicommodity flow problems, Computers & Operations Research 1 (1974)
437465. [1248]
[2001] J. Chen, I.A. Kanj, W. Jia, Vertex cover: further observations and further
improvements, Journal of Algorithms 41 (2001) 280301. [1104]
[1999] E. Cheng, Edge-augmentation of hypergraphs, Mathematical Programming
84 (1999) 443465. [1382]
[1994] E. Cheng, W.H. Cunningham, A faster algorithm for computing the
strength of a network, Information Processing Letters 49 (1994) 209212.
[891]
[1995] E. Cheng, W.H. Cunningham, Separation problems for the stable set poly-
tope, in: Integer Programming and Combinatorial Optimization (Proceed-
ings 4th IPCO Conference, Copenhagen, 1995; E. Balas, J. Clausen, eds.)
References 1509
[Lecture Notes in Computer Science 920], Springer, Berlin, 1995, pp. 6579.
[1104]
[1997] E. Cheng, W.H. Cunningham, Wheel inequalities for stable set polytopes,
Mathematical Programming 77 (1997) 389421. [1104]
[1990] C.K. Cheng, T.C. Hu, Ancestor tree for arbitrary multi-terminal cut func-
tions, in: Integer Programming and Combinatorial Optimization (Proceed-
ings 1st IPCO Conference, Waterloo, Ontario, 1990; R. Kannan, W.R.
Pulleyblank, eds.), University of Waterloo, Waterloo, Ontario, 1990, pp.
115127. [251]
[1991] C.K. Cheng, T.C. Hu, Ancestor tree for arbitrary multi-terminal cut func-
tions, [in: Topological Network Design (J.MacGregor Smith, P. Winter,
eds.)] Annals of Operations Research 33 (1991) 199213. [251]
[1992] C.K. Cheng, T.C. Hu, Maximum concurrent flows and minimum cuts, Al-
gorithmica 8 (1992) 233249. [251]
[1999] E. Cheng, T. Jord
an, Successive edge-connectivity augmentation problems,
Mathematical Programming 84 (1999) 577593. [1079]
[2002a] E. Cheng, S. de Vries, Antiweb-wheel inequalities and their separation
problems over the stable set polytopes, Mathematical Programming 92
(2002) 153175. [1104]
[2002b] E. Cheng, S. de Vries, On the facet-inducing antiweb-wheel inequalities
for stable set polytopes, SIAM Journal on Discrete Mathematics 15 (2002)
470487. [1104]
[1976] D. Cheriton, R.E. Tarjan, Finding minimum spanning trees, SIAM Journal
on Computing 5 (1976) 724742. [864]
[1988] J. Cheriyan, Parametrized Worst Case Networks for Preflow Push Algo-
rithms, Computer Science Technical Report, Computer Science Group,
Tata Institute of Fundamental Research, Bombay, 1988. [163]
[1989] J. Cheriyan, T. Hagerup, A randomized maximum-flow algorithm, in: 30th
Annual Symposium on Foundations of Computer Science (30th FOCS,
Research Triangle Park, North Carolina, 1989), IEEE Computer Society
Press, Los Alamitos, California, 1989, pp. 118123. [161]
[1995] J. Cheriyan, T. Hagerup, A randomized maximum-flow algorithm, SIAM
Journal on Computing 24 (1995) 203226. [161]
[1990] J. Cheriyan, T. Hagerup, K. Mehlhorn, Can a maximum flow be computed
in o(nm) time?, in: Automata, Languages and Programming (Proceedings
17th International Colloquium ICALP, Warwick, 1990; M.S. Paterson, ed.)
[Lecture Notes in Computer Science 443], Springer, New York, 1990, pp.
235248. [161]
[1996] J. Cheriyan, T. Hagerup, K. Mehlhorn, An o(n3 )-time maximum-flow al-
gorithm, SIAM Journal on Computing 25 (1996) 11441170. [161]
[1993] J. Cheriyan, M.-Y. Kao, R. Thurimella, Scan-first search and sparse cer-
tificates: an improved parallel algorithm for k-vertex connectivity, SIAM
Journal on Computing 22 (1993) 157174. [991]
[2001] J. Cheriyan, H. Karlo, Y. Rabani, Approximating directed multicuts,
in: 42nd Annual Symposium on Foundations of Computer Science (42nd
1510 References
FOCS, Las Vegas, Nevada, 2001), IEEE Computer Society Press, Los
Alamitos, California, 2001, pp. 320328. [1247]
[1988] J. Cheriyan, S.N. Maheshwari, Finding nonseparating induced cycles and
independent spanning trees in 3-connected graphs, Journal of Algorithms
9 (1988) 507537. [892, 1457]
[1989] J. Cheriyan, S.N. Maheshwari, Analysis of preflow push algorithms for
maximum network flow, SIAM Journal on Computing 18 (1989) 1057
1086. [159, 163]
[1998] J. Cheriyan, A. Seb o, Z. Szigeti, An improved approximation algorithm
for minimum size 2-edge connected spanning subgraphs, in: Integer Pro-
gramming and Combinatorial Optimization (Proceedings 6th IPCO Con-
ference, Houston, Texas, 1998; R.E. Bixby, E.A. Boyd, R.Z. Ros-Mercado,
eds.) [Lecture Notes in Computer Science 1412], Springer, Berlin, 1998, pp.
126136. [991]
[2001] J. Cheriyan, A. Seb
o, Z. Szigeti, Improving on the 1.5-approximation of a
smallest 2-edge connected spanning subgraph, SIAM Journal on Discrete
Mathematics 14 (2001) 170180. [991]
[1991] J. Cheriyan, R. Thurimella, Algorithms for parallel k-vertex connectivity
and sparse certificates, in: Proceedings of the Twenty Third Annual ACM
Symposium on Theory of Computing (23rd STOC, New Orleans, Louisiana,
1991), The Association for Computing Machinery, New York, 1991, pp.
391401. [241]
[1996a] J. Cheriyan, R. Thurimella, Approximating minimum-size k-connected
spanning subgraphs via matching, in: Proceedings 37th Annual Symposium
on Foundations of Computer Science (37th FOCS, Burlington, Vermont,
1996), IEEE Computer Society Press, Los Alamitos, California, 1996, pp.
292301. [991]
[1996b] J. Cheriyan, R. Thurimella, Fast algorithms for k-shredders and k-node
connectivity augmentation, in: Proceedings of the Twenty-Eighth Annual
ACM Symposium on the Theory of Computing (28th STOC, Philadel-
phia, Pennsylvania, 1996), The Association for Computing Machinery, New
York, 1996, pp. 3746. [243, 1078]
[1999] J. Cheriyan, R. Thurimella, Fast algorithms for k-shredders and k-node
connectivity augmentation, Journal of Algorithms 33 (1999) 1550. [243,
1078]
[2000] J. Cheriyan, R. Thurimella, Approximating minimum-size k-connected
spanning subgraphs via matching, SIAM Journal on Computing 30 (2000)
528560. [991]
[2002] J. Cheriyan, S. Vempala, A. Vetta, Approximation algorithms for minimum-
cost k-vertex connected subgraphs, in: Proceedings of the 34th Annual
ACM Symposium on Theory of Computing (34th STOC, Montreal, Quebec,
2002), The Association for Computing Machinery, New York, 2002, pp.
306312. [991]
[1973] B.V. Cherkasski, Konechny algoritm resheniya zadachi o dvukhproduk-
tovom potoke [Russian; A finite algorithm for solving the two-commodity
References 1511
`
flow problem], Ekonomika i Matematicheskie Metody 9 (1973) 11471149.
[1254]
[1976] B.V. Cherkasski, Mnogopolyusnye dvukhproduktovye zadachi [Russian;
Multiterminal two commodity problems], in: Issledovaniya po Diskretno
Optimizatsii [Russian; Studies in Discrete Optimization] (A.A. Fridman,
ed.), Izdatelstvo Nauka, Moscow, 1976, pp. 261289. [1290]
[1977a] B.V. Cherkasski, Algoritm postroeniya maksimalnogo potoka v seti s
trudoemkostyu O(n2 p) destvi [Russian; Algorithm for construction of
maximal flow in networks with complexity of O(n2 p) operations], in:
Matematicheskie metody v `ekonomicheskikh issledovaniyakh. Sb. 7 [Rus-
sian; Mathematical Methods in Economical Research. issue 7] (N.P. Fe-
`
dorenko, E.G. Golshtein, eds.) [Supplement to Ekonomika i Matematich-
eskie Metody], Izdatelstvo Nauka, Moscow, 1977, pp. 117126. [156,
160]
[1977b] B.V. Cherkasski, Reshenie odno zadachi o mnogoproduktovykh potokakh
v seti [Russian; A solution of a problem of multicommodity flows in a
`
network], Ekonomika i Matematicheskie Metody 13 (1977) 143151. [1287]
[1979] B.V. Cherkasski, Bystry algoritm postroeniya maksimalnogo potoka v
seti [Russian], in: Kombinatornye metody v potokovykh zadachakh. Sbornik
trudov. Vypusk 3 [Russian; Combinatorial methods in flow problems. Work
collection. Issue 3], (A.V. Karzanov, ed.), Vsesoyuzny Nauchno-Issledo-
vatelski Institut Sistemnykh Issledovani (VNIISI) [Institute for System
Studies], Moscow, 1979, pp. 9096 [English translation: A fast algorithm
for computing maximum flow through a network, in: Selected Topics in
Discrete Mathematics [Proceedings of the Moscow Discrete Mathematics
Seminar 19721990] (A.K. Kelmans, ed.), [American Mathematical Soci-
ety Translations Series 2 Volume 158], American Mathematical Society,
Providence, Rhode Island, 1994, pp. 2330]. [155, 163]
[1995] B.V. Cherkassky, A.V. Goldberg, On implementing push-relabel method
for the maximum flow problem, in: Integer Programming and Combinato-
rial Optimization (Proceedings 4th IPCO Conference, Copenhagen, 1995;
E. Balas, J. Clausen, eds.) [Lecture Notes in Computer Science 920], Sprin-
ger, Berlin, 1995, pp. 157171. [163]
[1997] B.V. Cherkassky, A.V. Goldberg, On implementing the push-relabel meth-
od for the maximum flow problem, Algorithmica 19 (1997) 390410. [163]
[1999] B.V. Cherkassky, A.V. Goldberg, Negative-cycle detection algorithms,
Mathematical Programming 85 (1999) 277311. [118]
[1994] B.V. Cherkassky, A.V. Goldberg, T. Radzik, Shortest paths algorithms:
theory and experimental evaluation, in: Proceedings of the Fifth An-
nual ACM-SIAM Symposium on Discrete Algorithms (Arlington, Virginia,
1994), The Association for Computing Machinery, New York, and Society
for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1994,
pp. 516525. [118]
[1996] B.V. Cherkassky, A.V. Goldberg, T. Radzik, Shortest paths algorithms:
theory and experimental evaluation, Mathematical Programming 73 (1996)
129174. [118]
1512 References
[1997] B.V. Cherkassky, A.V. Goldberg, C. Silverstein, Buckets, heaps, lists, and
monotone priority queues, in: Proceedings of the Eighth Annual ACM-
SIAM Symposium on Discrete Algorithms (New Orleans, Louisiana, 1997),
The Association for Computing Machinery, New York, and Society for In-
dustrial and Applied Mathematics, Philadelphia, Pennsylvania, 1997, pp.
8392. [104]
[1999] B.V. Cherkassky, A.V. Goldberg, C. Silverstein, Buckets, heaps, lists, and
monotone priority queues, SIAM Journal on Computing 28 (1999) 1326
1346. [104]
[1977] G.A. Cheston, R.L. Probert, L.V. Saxton, Fast Algorithms for Deter-
mination of Connectivity Sets for Planar Graphs, Report 77-6, Depart-
ment of Computational Science, University of Saskatchewan, Saskatoon,
Saskatchewan, 1977. [139]
[1980] T.-Y. Cheung, Computational comparison of eight methods for the maxi-
mum network flow problem, ACM Transactions on Mathematical Software
6 (1980) 116. [163]
[1997a] K.H. Chew, An extension of Vizings theorem, Journal of Graph Theory
24 (1997) 347355. [482]
[1997b] K.H. Chew, On Vizings theorem, adjacency lemma and fan argument gen-
eralized to multigraphs, Discrete Mathematics 171 (1997) 283286. [468]
[1981] N. Chiba, T. Nishizeki, N. Saito, A linear 5-coloring algorithm of planar
graphs, Journal of Algorithms 2 (1981) 317327. [1105]
[1982] N. Chiba, T. Nishizeki, N. Saito, An approximation algorithm for the max-
imum independent set problem on planar graphs, SIAM Journal on Com-
puting 11 (1982) 663675. [1104]
[1960] R.T. Chien, Synthesis of a communication net, IBM Journal of Research
and Development 4 (1960) 311320. [1052]
[1993] K.B. Chilakamarri, P. Hamburger, On a class of kernel-perfect and kernel-
perfect-critical graphs, Discrete Mathematics 118 (1993) 253257. [1130]
[1978] F. Chin, D. Houck, Algorithms for updating minimal spanning trees, Jour-
nal of Computer and System Sciences 16 (1978) 333344. [865]
[1989] S. Chopra, On the spanning tree polyhedron, Operations Research Letters
8 (1989) 2529. [863]
[1992] S. Chopra, The k-edge connected spanning subgraph polyhedron, in: Inte-
ger Programming and Combinatorial Optimization (Proceedings 2nd IPCO
Conference, Pittsburgh, Pennsylvania, 1992; E. Balas, G. Cornuejols, R.
Kannan, eds.), Graduate School of Industrial Engineering, Carnegie Mel-
lon University, Pittsburgh, Pennsylvania, 1992, pp. 1529. [991]
[1994] S. Chopra, The k-edge-connected spanning subgraph polyhedron, SIAM
Journal on Discrete Mathematics 7 (1994) 245259. [991]
[1995] S. Chopra, Composition for matroids with the Fulkerson property, Discrete
Applied Mathematics 62 (1995) 87101. [1395]
[1991] S. Chopra, M.R. Rao, On the multiway cut polyhedron, Networks 21 (1991)
5189. [254, 1295]
References 1513
[1984a] V. Chv
atal, A semi-strong perfect graph conjecture, in: Topics on Perfect
Graphs (C. Berge, V. Chvatal, eds.) [Annals of Discrete Mathematics 21],
North-Holland, Amsterdam, 1984, pp. 279280. [1122]
[1984b] V. Chvatal, An equivalent version of the strong perfect graph conjecture, in:
Topics on Perfect Graphs (C. Berge, V. Chv atal, eds.) [Annals of Discrete
Mathematics 21], North-Holland, Amsterdam, 1984, pp. 193195. [1124]
[1984c] V. Chvatal, Notes on perfect graphs, in: Progress in Combinatorial Opti-
mization (Proceedings Conference, Waterloo, Ontario, 1982; W.R. Pulley-
blank, ed.), Academic Press, Toronto, Ontario, 1984, pp. 107115. [1124]
[1984d] V. Chvatal, Perfectly ordered graphs, in: Topics on Perfect Graphs (C.
Berge, V. Chv atal, eds.) [Annals of Discrete Mathematics 21], North-
Holland, Amsterdam, 1984, pp. 6365. [11451146]
[1985a] V. Chvatal, Cutting planes in combinatorics, European Journal of Combi-
natorics 6 (1985) 217226. [1104]
[1985b] V. Chvatal, Recent results on perfect graphs, in: 1985 International Sym-
posium on Circuits and Systems Proceedings Volume 1 of 3 (Ky-
oto,1985), IEEE, Piscataway, New Jersey, 1985, pp. 11831186. [1133]
[1985c] V. Chvatal, Star-cutsets and perfect graphs, Journal of Combinatorial The-
ory, Series B 39 (1985) 189199. [1112, 1124]
[1987a] V. Chv atal, On the P4 -structure of perfect graphs III. Partner decompo-
sitions, Journal of Combinatorial Theory, Series B 43 (1987) 349353.
[1123]
[1987b] V. Chvatal, Perfect graphs, in: Surveys in Combinatorics 1987 (Invited
papers for the Eleventh British Combinatorial Conference, London, 1987;
C. Whitehead, ed.) [London Mathematical Society Lecture Note Series.
123], Cambridge University Press, Cambridge, 1987, pp. 4351. [1133]
[1989] V. Chvatal, A note on the traveling salesman problem, Operations Research
Letters 8 (1989) 7778. [985]
[1990] V. Chv
atal, Which line-graphs are perfectly orderable?, Journal of Graph
Theory 14 (1990) 555558. [1146]
[1993] V. Chvatal, Which claw-free graphs are perfectly orderable?, Discrete Ap-
plied Mathematics 44 (1993) 3963. [1146, 1447]
[2001] V. Chvatal, A bibliography on perfect graphs, in: Perfect Graphs (J.L.
Ramrez Alfonsn, B.A. Reed, eds.), Wiley, Chichester, 2001, pp. 329358.
[1134]
[1989] V. Chvatal, W. Cook, M. Hartmann, On cutting-plane proofs in combi-
natorial optimization, Linear Algebra and Its Applications 114/115 (1989)
455499. [1099, 1350]
[2000] V. Chv atal, J. Fonlupt, L. Sun, A. Zemirline, Recognizing dart-free perfect
graphs, in: Proceedings of the Eleventh Annual ACM-SIAM Symposium on
Discrete Algorithms (San Francisco, California, USA, 2000), The Associa-
tion for Computing Machinery, New York, and Society for Industrial and
Applied Mathematics, Philadelphia, Pennsylvania, 2000, pp. 5053. [1121]
[2002] V. Chvatal, J. Fonlupt, L. Sun, A. Zemirline, Recognizing dart-free perfect
graphs, SIAM Journal on Computing 31 (2002) 13151338. [1121]
1516 References
[1979] V. Chv atal, R.L. Graham, A.F. Perold, S.H. Whitesides, Combinatorial de-
signs related to the strong perfect graph conjecture, Discrete Mathematics
26 (1979) 8392 [reprinted as: Combinatorial designs related to the per-
fect graph conjecture, in: Topics on Perfect Graphs (C. Berge, V. Chv
atal,
eds.) [Annals of Discrete Mathematics 21], North-Holland, Amsterdam,
1984, pp. 197206]. [1124]
[1977] V. Chvatal, P.L. Hammer, Aggregation of inequalities in integer program-
ming, in: Studies in Integer Programming (Proceedings Workshop on Inte-
ger Programming, Bonn, 1975; P.L. Hammer, E.L. Johnson, B.H. Korte,
G.L. Nemhauser, eds.) [Annals of Discrete Mathematics 1], North-Holland,
Amsterdam, 1977, pp. 145162. [1141]
[1976] V. Chv
atal, D. Hanson, Degrees and matchings, Journal of Combinatorial
Theory, Series B 20 (1976) 128138. [430]
[1985] V. Chvatal, C.T. Hoang, On the P4 -structure of perfect graphs I. Even
decompositions, Journal of Combinatorial Theory, Series B 39 (1985) 209
219. [11221123]
[1987] V. Chv atal, C.T. Ho`
ang, N.V.R. Mahadev, D. de Werra, Four classes of
perfectly orderable graphs, Journal of Graph Theory 11 (1987) 481495.
[1146]
[1990] V. Chv
atal, W.J. Lenhart, N. Sbihi, Two-colourings that decompose perfect
graphs, Journal of Combinatorial Theory, Series B 49 (1990) 19. [1122
1123]
[1987] V. Chvatal, N. Sbihi, Bull-free Berge graphs are perfect, Graphs and Com-
binatorics 3 (1987) 127139. [1107, 1112, 1121, 1124]
[1988] V. Chv
atal, N. Sbihi, Recognizing claw-free perfect graphs, Journal of
Combinatorial Theory, Series B 44 (1988) 154176. [1120]
[1978] V. Chv
atal, C. Thomassen, Distances in orientations of graphs, Journal of
Combinatorial Theory, Series B 24 (1978) 6175. [1048]
[1999a] S. Cicerone, G. Di Stefano, Graph classes between parity and distance-
hereditary graphs, Discrete Applied Mathematics 95 (1999) 197216. [1145]
[1999b] S. Cicerone, G. Di Stefano, On the extension of bipartite to parity graphs,
Discrete Applied Mathematics 95 (1999) 181195. [1145]
[1963] S. Clarke, A. Krikorian, J. Rausen, Computing the N best loopless paths
in a network, SIAM Journal on Applied Mathematics 11 (1963) 10961102.
[105]
[1983] K.L. Clarkson, A modification of the greedy algorithm for vertex cover,
Information Processing Letters 16 (1983) 2325. [1104]
[1984] K.L. Clarkson, Fast expected-time and approximation algorithms for ge-
ometric minimum spanning trees, in: Proceedings of the Sixteenth Annual
ACM Symposium on Theory of Computing (16th STOC, Washington, D.C.,
1984), The Association for Computing Machinery, New York, 1984, pp.
342348. [865]
[1989] K.L. Clarkson, An algorithm for geometric minimum spanning trees re-
quiring nearly linear expected time, Algorithmica 4 (1989) 461469. [865]
References 1517
(25th STOC, San Diego, California, 1993), The Association for Computing
Machinery, New York, 1993, pp. 194200. [243]
[1997] J. Cohen, C.L. Lucchesi, Minimax relations for T -join packing problems,
in: Proceedings of the Fifth Israeli Symposium on Theory of Computing
and Systems (Ramat-Gan, 1997), IEEE, Los Alamitos, California, 1997,
pp. 3844. [510]
[1991] E. Cohen, N. Megiddo, Algorithms and complexity analysis for some flow
problems, in: Proceedings of the Second Annual ACM-SIAM Symposium
on Discrete Algorithms, Association for Computing Machinery, New York,
1991, pp. 120130. [195]
[1994] E. Cohen, N. Megiddo, New algorithms for generalized network flows,
Mathematical Programming 64 (1994) 325336. [196]
[1997] E. Cohen, U. Zwick, All-pairs small-stretch paths, in: Proceedings of the
Eighth Annual ACM-SIAM Symposium on Discrete Algorithms (New Or-
leans, Louisiana, 1997), The Association for Computing Machinery, New
York, and Society for Industrial and Applied Mathematics, Philadelphia,
Pennsylvania, 1997, pp. 93102. [118]
[2001] E. Cohen, U. Zwick, All-pairs small-stretch paths, Journal of Algorithms
38 (2001) 335353. [118]
[1964] A.J. Cole, The preparation of examination time-tables using a small-store
computer, The Computer Journal 7 (1964) 117121. [336]
[1982] R.J. Cole, Two Problems in Graph Theory, Ph.D. Thesis, Cornell Univer-
sity, Ithaca, New York, 1982. [269, 334]
[1982] R. Cole, J. Hopcroft, On edge coloring bipartite graphs, SIAM Journal on
Computing 11 (1982) 540546. [267, 334]
[2001] R. Cole, K. Ost, S. Schirra, Edge-coloring bipartite multigraphs in O(E
log D) time, Combinatorica 21 (2001) 512. [268269, 333334]
[1984] R. Cole, A. Siegel, River routing every which way, but loose, in: 25th An-
nual Symposium on Foundations of Computer Science (25th FOCS, Singer
Island, Florida, 1984), IEEE, New York, 1984, pp. 6573. [1369]
[1832] ein alter Commis-Voyageur, Der Handlungsreisende wie er sein soll
und was er zu thun hat, um Auftr age zu erhalten und eines glucklichen
Erfolgs in seinen Gesch
aften gewi zu sein Von einem alten Commis-
Voyageur, B.Fr. Voigt, Ilmenau, 1832 [reprinted: Verlag Bernd Schramm,
Kiel, 1981]. [997]
[1989] M. Conforti, (K4 e)-free perfect graphs and star cutsets, in: Combinatorial
Optimization (Lectures Como, 1986; B. Simeone, ed.) [Lecture Notes in
Mathematics 1403], Springer, Berlin, 1989, pp. 236253. [1121]
[1987] M. Conforti, D.G. Corneil, A.R. Mahjoub, Ki -covers. II. Ki -perfect graphs,
Journal of Graph Theory 11 (1987) 569584. [1133]
[1984] M. Conforti, G. Cornuejols, Submodular set functions, matroids and the
greedy algorithm: tight worst-case bounds and some generalizations of the
Rado-Edmonds theorem, Discrete Applied Mathematics 7 (1984) 251274
[erratum: Discrete Applied Mathematics 16 (1987) 187]. [785]
References 1519
Birge, K.G. Murty, eds.), The University of Michigan, Ann Arbor, Michi-
gan, 1994, pp. 133. [1448]
[1995] M. Conforti, G. Cornuejols, M.R. Rao, Decomposition of wheel-and-par-
achute-free balanced bipartite graphs, Discrete Applied Mathematics 62
(1995) 103117. [1440]
[1999] M. Conforti, G. Cornuejols, M.R. Rao, Decomposition of balanced matri-
ces, Journal of Combinatorial Theory, Series B 77 (1999) 292406. [1440]
[1994] M. Conforti, G. Cornuejols, K. Truemper, From totally unimodular to bal-
anced 0, 1 matrices: a family of integer polytopes, Mathematics of Oper-
ations Research 19 (1994) 2123. [1450]
[1999] M. Conforti, G. Cornuejols, K. Vuskovic, Balanced cycles and holes in
bipartite graphs, Discrete Mathematics 199 (1999) 2733. [1451]
[2002] M. Conforti, G. Cornuejols, K. Vuskovic, Strong perfect graph conjecture
for C4 -free graphs, Discrete Mathematics, to appear. [1121]
[2002] M. Conforti, G. Cornuejols, K. Vuskovic, G. Zambelli, Decomposing Berge
graphs containing proper wheels, preprint, 2002. [1112]
[2002a] M. Conforti, G. Cornuejols, G. Zambelli, Bicolorings and equitable bicol-
orings of matrices, preprint, 2002. [1450]
[2002b] M. Conforti, G. Cornuejols, G. Zambelli, Decomposing Berge graphs con-
taining no proper wheels, stretchers or their complements, preprint, 2002.
[1112]
[2000] M. Conforti, A.M.H. Gerards, Packing odd circuits, preprint, 2000. [1350]
[1988] M. Conforti, M. Laurent, A characterization of matroidal systems of in-
equalities, Discrete Mathematics 69 (1988) 165171. [672]
[1987] M. Conforti, M.R. Rao, Some new matroids on graphs: cut sets and the
max cut problem, Mathematics of Operations Research 12 (1987) 193204.
[1350]
[1989] M. Conforti, M.R. Rao, Odd cycles and matrices with integrality proper-
ties, Mathematical Programming 45 (1989) 279294. [1121, 1450]
[1992a] M. Conforti, M.R. Rao, Articulation sets in linear perfect matrices I: for-
bidden configurations and star cutsets, Discrete Mathematics 104 (1992)
2347 [addendum: Discrete Mathematics 120 (1993) 309]. [1121, 1131]
[1992b] M. Conforti, M.R. Rao, Articulation sets in linear perfect matrices II: the
wheel theorem and clique articulations, Discrete Mathematics 110 (1992)
81118. [1121, 1131]
[1992c] M. Conforti, M.R. Rao, Properties of balanced and perfect matrices, Math-
ematical Programming 55 (1992) 3547. [1450]
[1992d] M. Conforti, M.R. Rao, Structural properties and decomposition of linear
balanced matrices, Mathematical Programming 55 (1992) 129168. [1450]
[1993] M. Conforti, M.R. Rao, Testing balancedness and perfection of linear ma-
trices, Mathematical Programming 61 (1993) 118. [1121, 1450]
[1990a] M. Conforti, M.R. Rao, A. Sassano, The equipartition polytope. I: Formu-
lations, dimension and basic facets, Mathematical Programming 49 (1990)
4970. [1350]
References 1521
[1990b] M. Conforti, M.R. Rao, A. Sassano, The equipartition polytope. II: Valid
inequalities and facets, Mathematical Programming 49 (1990) 7190. [1350]
[1971] S.A. Cook, The complexity of theorem-proving procedures, in: Conference
Record of Third Annual ACM Symposium on Theory of Computing (3rd
STOC, Shaker Heights, Ohio, 1971), The Association for Computing Ma-
chinery, New York, 1971, pp. 151158. [43, 4546, 55, 57, 1084]
[1983a] W. Cook, A minimal totally dual integral defining system for the b-
matching polyhedron, SIAM Journal on Algebraic and Discrete Methods 4
(1983) 212220. [560]
[1983b] W.J. Cook, On Some Aspects of Totally Dual Integral Systems, Ph.D. The-
sis, Department of Combinatorics and Optimization, University of Water-
loo, Waterloo, Ontario, 1983. [531, 536, 539, 544, 553, 567, 571, 574]
[1985] W. Cook, A note on matchings and separability, Discrete Applied Mathe-
matics 10 (1985) 203209. [442, 447448]
[1998] W.J. Cook, W.H. Cunningham, W.R. Pulleyblank, A. Schrijver, Combina-
torial Optimization, Wiley, New York, 1998. [8, 106, 119, 163, 197, 277,
291, 431, 460, 672, 871, 996]
[2001] W. Cook, S. Dash, On the matrix-cut rank of polyhedra, Mathematics of
Operations Research 26 (2001) 1930. [990, 1175]
[1986] W. Cook, J. Fonlupt, A. Schrijver, An integer analogue of Caratheodorys
theorem, Journal of Combinatorial Theory, Series B 40 (1986) 6370. [80,
731, 1133]
[1986] W. Cook, A.M.H. Gerards, A. Schrijver, E. Tardos, Sensitivity theorems
in integer linear programming, Mathematical Programming 34 (1986) 251
264. [608]
[1987] W. Cook, W.R. Pulleyblank, Linear systems for constrained matching
problems, Mathematics of Operations Research 12 (1987) 97120. [539,
544, 567, 574]
[1980] S.A. Cook, C.W. Racko, Space lower bounds for maze threadability on
restricted machines, SIAM Journal on Computing 9 (1980) 636652. [94]
[1999] W. Cook, A. Rohe, Computing minimum-weight perfect matchings, IN-
FORMS Journal on Computing 11 (1999) 138148. [460]
[1987] D. Coppersmith, S. Winograd, Matrix multiplication via arithmetic pro-
gressions, in: Proceedings of the Nineteenth Annual ACM Symposium on
Theory of Computing (19th STOC, New York, 1987), The Association for
Computing Machinery, New York, 1987, pp. 16. [92]
[1990] D. Coppersmith, S. Winograd, Matrix multiplication via arithmetic pro-
gressions, Journal of Symbolic Computation 9 (1990) 251280. [92]
[1990] T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, The
MIT Press, Cambridge, Massachusetts, 1990. [49, 95, 106, 119, 163, 871]
[1986] D.G. Corneil, Families of graphs complete for the strong perfect graph
conjecture, Journal of Graph Theory 10 (1986) 3340. [1124]
[1993] D.G. Corneil, J. Fonlupt, Stable set bonding in perfect graphs and parity
graphs, Journal of Combinatorial Theory, Series B 59 (1993) 114. [1131]
1522 References
[1986] W.H. Cunningham, Improved bounds for matroid partition and intersec-
tion algorithms, SIAM Journal on Computing 15 (1986) 948957. [707,
732]
[1991] W.H. Cunningham, The optimal multiterminal cut problem, in: Reliability
of computer and communication networks (New Brunswick, New Jersey,
1989; F. Roberts, F. Hwang, C. Monma, eds.), [DIMACS Series in Discrete
Mathematics and Theoretical Computer Science Volume 5], American
Mathematical Society, Providence, Rhode Island, 1991, pp. 105120. [254]
[2002] W.H. Cunningham, Matching, matroids, and extensions, Mathematical
Programming 91 (2002) 515542. [431, 723, 764]
[1980] W.H. Cunningham, J. Edmonds, A combinatorial decomposition theory,
Canadian Journal of Mathematics 32 (1980) 734765. [94]
[1985] W.H. Cunningham, A. Frank, A primal-dual algorithm for submodular
flows, Mathematics of Operations Research 10 (1985) 251262. [809, 814,
1019]
[1996] W.H. Cunningham, J.F. Geelen, The optimal path-matching problem, in:
Proceedings 37th Annual Symposium on Foundations of Computer Science
(37th FOCS, Burlington, Vermont, 1996), IEEE Computer Society Press,
Los Alamitos, California, 1996, pp. 7885. [452, 763]
[1997] W.H. Cunningham, J.F. Geelen, The optimal path-matching problem,
Combinatorica 17 (1997) 315337. [452, 763]
[1986] W.H. Cunningham, J. Green-Kr otki, Dominants and submissives of match-
ing polyhedra, Mathematical Programming 36 (1986) 228237. [310, 452]
[1991] W.H. Cunningham, J. Green-Kr otki, b-Matching degree-sequence polyhe-
dra, Combinatorica 11 (1991) 219230. [567]
[1994] W.H. Cunningham, J. Green-Kr otki, A separation algorithm for the match-
able set polytope, Mathematical Programming 65 (1994) 139150. [452,
568]
[1983] W.H. Cunningham, J.G. Klincewicz, On cycling in the network simplex
method, Mathematical Programming 26 (1983) 182189. [195]
[1978] W.H. Cunningham, A.B. Marsh, III, A primal algorithm for optimum
matching, [in: Polyhedral Combinatorics Dedicated to the Memory of
D.R. Fulkerson (M.L. Balinski, A.J. Homan, eds.)] Mathematical Pro-
gramming Study 8 (1978) 5072. [441, 446, 459460]
[1999] W.H. Cunningham, L. Tang, Optimal 3-terminal cuts and linear program-
ming, in: Integer Programming and Combinatorial Optimization (Proceed-
ings 7th IPCO Conference, Graz, 1999; G. Cornuejols, R.E. Burkard, G.J.
Woeginger, eds.) [Lecture Notes in Computer Science 1610], Springer,
Berlin, 1999, pp. 114125. [254]
[2000] W.H. Cunningham, Y. Wang, Restricted 2-factor polytopes, Mathematical
Programming 87 (2000) 87111. [545]
[1992] W.H. Cunningham, F. Zhang, Subgraph degree-sequence polyhedra, in:
Integer Programming and Combinatorial Optimization (Proceedings 2nd
IPCO Conference, Pittsburgh, Pennsylvania, 1992; E. Balas, G. Cornuejols,
1526 References
[1999] C. De Simone, J. K
orner, On the odd cycles of normal graphs, Discrete
Applied Mathematics 94 (1999) 161169. [1133]
[1993] C. De Simone, A. Sassano, Stability number of bull- and chair-free graphs,
Discrete Applied Mathematics 41 (1993) 121129. [1101]
[1897]
R. Dedekind, Uber Zerlegungen von Zahlen durch ihre gr oten gemein-
samen Teiler, in: Festschrift der Technischen Hochschule zu Braunschweig
bei Gelegenheit der 69. Versammlung Deutscher Naturforscher und Arzte,
1897, pp. 140 [reprinted in: Richard Dedekind Gesammelte mathematis-
che Werke, Zweiter Band (R. Fricke, E. Noether, O. Ore, eds.), Vieweg,
Braunschweig, 1931, pp. 103147]. [673674]
[1900]
R. Dedekind, Uber die von drei Moduln erzeugte Dualgruppe, Mathema-
tische Annalen 53 (1900) 371403 [reprinted in: Richard Dedekind Gesam-
melte mathematische Werke, Zweiter Band (R. Fricke, E. Noether, O. Ore,
eds.), Vieweg, Braunschweig, 1931, pp. 236271]. [673, 675, 681]
[1993a] C. Delorme, S. Poljak, Combinatorial properties and the complexity of
a max-cut approximation, European Journal of Combinatorics 14 (1993)
313333. [1348]
[1993b] C. Delorme, S. Poljak, Laplacian eigenvalues and the maximum cut prob-
lem, Mathematical Programming 62 (1993) 557574. [1348]
[1993c] C. Delorme, S. Poljak, The performance of an eigenvalue bound on the max-
cut problem in some classes of graphs, Discrete Mathematics 111 (1993)
145156. [1348]
[1973] P. Delsarte, An Algebraic Approach to the Association Schemes of Cod-
ing Theory [Philips Research Reports Supplements 1973 No. 10], Philips
Research Laboratories, Eindhoven, 1973. [1173]
[1994] M. Demange, P. Grisoni, V.Th. Paschos, Approximation results for the
minimum graph coloring problem, Information Processing Letters 50 (1994)
1923. [1104]
[1981] R.S. Dembo, J.G. Klincewicz, A scaled reduced gradient algorithm for net-
work flow problems with convex separable costs, Mathematical Program-
ming Study 15 (1981) 125147. [196]
[1979a] R.W. Deming, Acyclic orientations of a graph and chromatic and inde-
pendence numbers, Journal of Combinatorial Theory, Series B 26 (1979)
101110. [1102]
[1979b] R.W. Deming, Independence numbers of graphs an extension of the
Koenig-Egervary theorem, Discrete Mathematics 27 (1979) 2333. [536]
[1968] M.A.H. Dempster, On the Gotlieb-Csima time-tabling algorithm, Cana-
dian Journal of Mathematics 20 (1968) 103119. [336]
[1971] M.A.H. Dempster, Two algorithms for the time-table problem, in: Com-
binatorial Mathematics and Its Applications (Proceedings Conference Ox-
ford, 1969; D.J.A. Welsh, ed.), Academic Press, London, 1971, pp. 6385.
[336]
[1961] O. Demuth, Poznamka k dopravnmu problemu [Czech, with German sum-
mary; A remark on the transportation problem], Casopis pro P
estov
an
Matematiky 86 (1961) 103110. [347]
1530 References
[2000] D. Dor, S. Halperin, U. Zwick, All-pairs almost shortest paths, SIAM Jour-
nal on Computing 29 (2000) 17401759. [118]
[1984] R. Dorfman, The discovery of linear programming, Annals of the History
of Computing 6 (1984) 283295. [372373]
[1974] I. Dragan, An optimality condition for minimal-cost multicommodity flows,
in: Mathematical Programs for Activity Analysis (Proceedings Belgo-Israeli
Colloquium on Operations Research, Leuven, 1972; P. van Moeseke, ed.),
North-Holland, Amsterdam, 1974, pp. 135139. [1248]
[1996] F.F. Dragan, V.I. Voloshin, Incidence graphs of biacyclic hypergraphs, Dis-
crete Applied Mathematics 68 (1996) 259266. [1447]
[1986] A. Dress, T.F. Havel, Some combinatorial properties of discriminants in
metric vector spaces, Advances in Mathematics 62 (1986) 285312. [851]
[1994] A. Dress, W. Hochst attler, W. Kern, Modular substructures in pseudo-
modular lattices, Mathematica Scandinavica 74 (1994) 916. [765]
[1987] A. Dress, L. Lov
asz, On some combinatorial properties of algebraic ma-
troids, Combinatorica 7 (1987) 3948. [745, 753, 762]
[1990] A.W.M. Dress, W. Wenzel, Valuated matroids: a new look at the greedy
algorithm, Applied Mathematics Letters 3 (1990) 3335. [699]
[1969] S.E. Dreyfus, An appraisal of some shortest-path algorithms, Operations
Research 17 (1969) 395412. [119]
[1980] P. Duchet, Graphes noyau-parfaits, in: Combinatorics 79 Part II (joint
Canada-France Combinatorial Colloquium, Montreal, 1979; M. Deza, I.G.
Rosenberg, eds.) [Annals of Discrete Mathematics 9], North-Holland, Am-
sterdam, 1980, pp. 93101. [1133]
[1984] P. Duchet, Classical perfect graphs An introduction with emphasis on
triangulated and interval graphs, in: Topics on Perfect Graphs (C. Berge,
V. Chvatal, eds.) [Annals of Discrete Mathematics 21], North-Holland, Am-
sterdam, 1984, pp. 6796. [1151]
[1987] P. Duchet, Parity graphs are kernel-M -solvable, Journal of Combinatorial
Theory, Series B 43 (1987) 121126. [1130]
[1982] P. Duchet, H. Meyniel, On Hadwigers number and the stability num-
ber, in: Graph Theory (Proceedings Conference on Graph Theory, Cam-
bridge, 1981; B. Bollob
as, ed.) [Annals of Discrete Mathematics 13], North-
Holland, Amsterdam, 1982, pp. 7173. [1087]
[1983] P. Duchet, H. Meyniel, Une generalisation du theor`eme de Richardson sur
lexistence de noyaux dans les graphes orientes, Discrete Mathematics 43
(1983) 2127. [1133]
[1991] P. Duchet, S. Olariu, Graphes parfaitement ordonnables generalises, Dis-
crete Mathematics 90 (1991) 99101. [1146]
[1962] R.J. Dun, The extremal length of a network, Journal of Mathematical
Analysis and Applications 5 (1962) 200215. [96, 108]
[1965] R.J. Dun, Topology of series-parallel networks, Journal of Mathematical
Analysis and Applications 10 (1965) 303318. [28]
1536 References
[1993] M. Dyer, A. Frieze, B. Pittel, The average performance of the greedy match-
ing algorithm, The Annals of Applied Probability 3 (1993) 526552. [431]
[1975] J. Dzikiewicz, Algorithmus 26, An algorithm for finding the transitive clo-
sure of a digraph, Computing 15 (1975) 7579. [94]
[1993] P. Eades, X. Lin, W.F. Smyth, A fast and eective heuristic for the feedback
arc set problem, Information Processing Letters 47 (1993) 319323. [959]
[1946] T.E. Easterfield, A combinatorial algorithm, The Journal of the London
Mathematical Society 21 (1946) 219226. [290, 295, 379]
[1960] T.E. Easterfield, An algorithm for the allocation problem, Operational Re-
search Quarterly 11 (1960) 123129. [295]
[1959] W.L. Eastman, A solution to the traveling-salesman problem [abstract,
presented at the American Summer Meeting of the Econometric Society,
Cambridge, Massachusetts, 1958], Econometrica 27 (1959) 282. [983]
[1981] J. Ebert, A sensitive transitive closure algorithm, Information Processing
Letters 12 (1981) 255258. [94]
[1962] J. Edmonds, Covers and packings in a family of sets, Bulletin of the Amer-
ican Mathematical Society 68 (1962) 494499. [436, 1382]
[1964] J. Edmonds, Existence of k-edge connected ordinary graphs with prescribed
degrees, Journal of Research National Bureau of Standards Section B 68
(1964) 7374. [573, 1051]
[1965a] J. Edmonds, Lehmans switching game and a theorem of Tutte and Nash-
Williams, Journal of Research National Bureau of Standards Section B 69
(1965) 7377. [727]
[1965b] J. Edmonds, Maximum matching and a polyhedron with 0,1-vertices, Jour-
nal of Research National Bureau of Standards Section B 69 (1965) 125130.
[4, 7, 438, 453, 456, 458, 522, 528, 548, 570]
[1965c] J. Edmonds, Minimum partition of a matroid into independent subsets,
Journal of Research National Bureau of Standards Section B 69 (1965)
6772. [56, 726, 744]
[1965d] J. Edmonds, Paths, trees, and flowers, Canadian Journal of Mathematics
17 (1965) 449467. [6, 55, 415416, 418, 422423, 436]
[1965e] J. Edmonds, The Chinese postmans problem, Bulletin of the Operations
Research Society of America 13 (1965) B-73. [486487, 519]
[1967a] J. Edmonds, Optimum branchings, Journal of Research National Bureau
of Standards Section B 71 (1967) 233240 [reprinted in: Mathematics of the
Decision Sciences Part 1 (Proceedings Fifth Summer Seminar on the Math-
ematics of the Decision Sciences, Stanford, California, 1967; G.B. Dantzig,
A.F. Veinott, Jr, eds.) [Lectures in Applied Mathematics Vol. 11], Ameri-
can Mathematical Society, Providence, Rhode Island, 1968, pp. 346361].
[56, 861, 893894, 896, 901903]
[1967b] J. Edmonds, Systems of distinct representatives and linear algebra, Journal
of Research National Bureau of Standards Section B 71 (1967) 241245.
[56, 263, 380]
1538 References
[1994b] D. Eppstein, Finding the k shortest paths, in: Proceedings 35th Annual
Symposium on Foundations of Computer Science (35th FOCS, Santa Fe,
New Mexico, 1994; S. Goldwasser, ed.), IEEE Computer Society Press, Los
Alamitos, California, 1994, pp. 154165. [105]
[1999] D. Eppstein, Finding the k shortest paths, SIAM Journal on Computing
28 (1999) 653673. [105]
[2000] D. Eppstein, Clustering for faster network simplex pivots, Networks 35
(2000) 173180. [195]
[2001] D. Eppstein, Improved algorithms for 3-coloring, 3-edge-coloring, and con-
straint satisfaction, in: Proceedings of the Twelfth Annual ACM-SIAM
Symposium on Discrete Algorithms (Washington, D.C., 2001), The As-
sociation for Computing Machinery, New York, and Society for Industrial
and Applied Mathematics, Philadelphia, Pennsylvania, 2001, pp. 329337.
[1104]
[1985] H. Era, Semiregular factorizations of regular graphs, in: Graphs and Appli-
cations (Proceedings First Colorado Symposium on Graph Theory, Boul-
der, Colorado, 1982; F. Harary, J.S. Maybee, eds.), Wiley, New York, 1985,
pp. 101116. [574]
[1982] P. Erd
os, Personal reminiscences and remarks on the mathematical work
of Tibor Gallai, Combinatorica 2 (1982) 207212. [315]
[1981] P. Erd
os, S. Fajtlowicz, On the conjecture of Haj
os, Combinatorica 1 (1981)
141143. [1088]
[1960] P. Erdos, T. Gallai, Gr
afok el
ort fok
u pontokkal [Hungarian; Graphs with
vertices of prescribed degrees], Matematikai Lapok 11 (1960) 264274. [573]
[1965] P. Erd
os, L. P
osa, On independent circuits contained in a graph, Canadian
Journal of Mathematics 17 (1965) 347352. [959]
[1987] R.E. Erickson, C.L. Monma, A.F. Veinott, Jr, Send-and-split method for
minimum-concave-cost network flows, Mathematics of Operations Research
12 (1987) 634664. [197]
[2002] T. Erlebach, A. Hall, NP-hardness of broadcast scheduling and inapprox-
imability of single-source unsplittable min-cost flow, in: Proceedings of the
Thirteenth Annual ACM-SIAM Symposium on Discrete Algorithms (San
Francisco, California, 2002), The Association for Computing Machinery,
New York, and Society for Industrial and Applied Mathematics, Philadel-
phia, Pennsylvania, 2002, pp. 194202. [196]
[1921] A. Errera, Du coloriage des cartes et de quelques questions danalysis situs,
Th`ese, Universite Libre de Bruxelles, Gauthier-Villars, Paris, and Falk fils,
Brussel/Bruxelles, 1921. [434]
[1922] A. Errera, Une demonstration du theor`eme de Petersen, Mathesis 36 (1922)
5661. [434]
[1993a] T.R. Ervolina, S.T. McCormick, Canceling most helpful total cuts for min-
imum cost network flow, Networks 23 (1993) 4152. [195]
[1993b] T.R. Ervolina, S.T. McCormick, Two strongly polynomial cut cancelling
algorithms for minimum cost network flow, Discrete Applied Mathematics
46 (1993) 133165. [195]
1542 References
[1999] T. Feder, P. Hell, J. Huang, List homomorphisms and circular arc graphs,
Combinatorica 19 (1999) 487505. [1100]
[1994] T. Feder, N. Megiddo, S.A. Plotkin, A sublinear parallel algorithm for sta-
ble matching, in: Proceedings of the Fifth Annual ACM-SIAM Symposium
on Discrete Algorithms (Arlington, Virginia, 1994), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 1994, pp. 632637. [313]
[2000] T. Feder, N. Megiddo, S.A. Plotkin, A sublinear parallel algorithm for
stable matching, Theoretical Computer Science 233 (2000) 297308. [313]
[1991] T. Feder, R. Motwani, Clique partitions, graph compression and speeding-
up algorithms, in: Proceedings of the Twenty Third Annual ACM Sympo-
sium on Theory of Computing (23rd STOC, New Orleans, Louisiana, 1991),
The Association for Computing Machinery, New York, 1991, pp. 123133.
[93, 139, 241, 246, 267]
[1995] T. Feder, R. Motwani, Clique partitions, graph compression and speeding-
up algorithms, Journal of Computer and System Sciences 51 (1995) 261
272. [93, 139, 241, 246, 267]
[1986] A. Federgruen, H. Groenevelt, The greedy procedure for resource allocation
problems: necessary and sucient conditions for optimality, Operations
Research 34 (1986) 909918. [784]
[1988] A. Federgruen, H. Groenevelt, Polymatroidal flow network models with
multiple sinks, Networks 18 (1988) 285302. [1034]
[1995] U. Feige, Randomized graph products, chromatic numbers, and the Lovasz
-function, in: Proceedings of the Twenty-Seventh Annual ACM Sympo-
sium on the Theory of Computing (27th STOC, Las Vegas, Nevada, 1995),
The Association for Computing Machinery, New York, 1995, pp. 635640.
[1103, 1175]
[1996] U. Feige, A threshold of ln n for approximating set cover, in: Proceedings
of the Twenty-Eighth Annual ACM Symposium on the Theory of Comput-
ing (28th STOC, Philadelphia, Pennsylvania, 1996), The Association for
Computing Machinery, New York, 1996, pp. 314318. [1382, 1438]
[1997] U. Feige, Randomized graph products, chromatic numbers, and the Lov
asz
-function, Combinatorica 17 (1997) 7990. [1103, 1175]
[1998] U. Feige, A threshold of ln n for approximating set cover, Journal of the
Association for Computing Machinery 45 (1998) 634652. [1382, 1438]
[1995] U. Feige, M. Goemans, Approximating the value of two prover proof sys-
tems, with applications to MAX 2SAT and MAX DICUT, in: Proceedings
Third Israel Symposium on the Theory of Computing Systems (Tel Aviv,
1995), IEEE, Los Alamitos, California, 1995, pp. 182189. [1348, 1351]
[1991] U. Feige, S. Goldwasser, L. Lovasz, S. Safra, M. Szegedy, Approximating
clique is almost NP-complete, in: Proceedings 32nd Annual Symposium on
Foundations of Computer Science (32nd FOCS, San Juan, Puerto Rico,
1991), IEEE Computer Society Press, Los Alamitos, California, 1991, pp.
212. [1103]
1546 References
[2002] L.K. Fleischer, K.D. Wayne, Fast and simple approximation schemes for
generalized flow, Mathematical Programming 91 (2002) 215238. [196,
1247]
[1988] B. Fleischmann, A new class of cutting planes for the symmetric travelling
salesman problem, Mathematical Programming 40 (1988) 225246. [991]
[1980] H. Fleischner, Eulersche Linien und Kreis
uberdeckungen, die vorgegebene
Durchgange in den Kanten vermeiden, Journal of Combinatorial Theory,
Series B 29 (1980) 145167. [497]
[1990] H. Fleischner, A. Frank, On circuit decomposition of planar Eulerian
graphs, Journal of Combinatorial Theory, Series B 50 (1990) 245253.
[497]
[1952] M.M. Flood, On the Hitchcock distribution problem, in: Symposium on
Linear Inequalities and Programming [Scientific Computation of Optimum
Programs, Project SCOOP, No. 10] (Washington, D.C., 1951; A. Orden,
L. Goldstein, eds.), Planning Research Division, Director of Management
Analysis Service, Comptroller, Headquarters U.S. Air Force, Washington,
D.C., 1952, pp. 7499. [375]
[1953] M.M. Flood, On the Hitchcock distribution problem, Pacific Journal of
Mathematics 3 (1953) 369386. [375]
[1956] M.M. Flood, The traveling-salesman problem, Operations Research 4 (1956)
6175 [also in: Operations Research for Management Volume II Case
Histories, Methods, Information Handling (J.F. McCloskey, J.M. Cop-
pinger, eds.), Johns Hopkins Press, Baltimore, Maryland, 1956, pp. 340
357]. [53, 9991000, 10021003]
[1960] M.M. Flood, An alternative proof of a theorem of K onig as an algorithm
for the Hitchcock distribution problem, in: Combinatorial Analysis (New
York, 1958; R. Bellman, M. Hall, Jr, eds.) [Proceedings of Symposia in Ap-
plied Mathematics X], American Mathematical Society, Providence, Rhode
Island, 1960, pp. 299307. [261, 291]
[1951a] K. Florek, J. L
ukaszewicz, J. Perkal, H. Steinhaus, S. Zubrzycki, Sur la liai-
son et la division des points dun ensemble fini, Colloquium Mathematicum
2 (1951) 282285. [859, 868, 874]
[1951b] K. Florek, J. L
ukaszewicz, J. Perkal, H. Steinhaus, S. Zubrzycki, Taksono-
mia Wroclawska [Polish, with English and Russian summaries], Przeglad
Antropologiczny 17 (1951) 193211. [874]
[1986] M. Florian, Nonlinear cost network models in transportation analysis, [in:
Netflow in Pisa (G. Gallo, C. Sandi, eds.)] Mathematical Programming
Study 26 (1986) 167196. [196]
[1970] M. Florian, M. Klein, An experimental evaluation of some methods of
solving the assignment problem, Canadian Operations Research Society
Journal 8 (1970) 101108. [291]
[1962a] R.W. Floyd, Algorithm 113 treesort, Communications of the ACM 5 (1962)
434. [128]
[1962b] R.W. Floyd, Algorithm 97 shortest path, Communications of the ACM 5
(1962) 345. [110, 113, 129]
1552 References
[1962] L.R. Ford, Jr, D.R. Fulkerson, Flows in Networks, Princeton University
Press, Princeton, New Jersey, 1962. [129, 151152, 163, 166, 179, 184, 197,
219, 277, 291, 362, 1037]
[1991] M. Formann, D. Wagner, F. Wagner, Routing through a dense channel
with minimum total wire length, in: Proceedings of the Second Annual
ACM-SIAM Symposium on Discrete Algorithms, Association for Comput-
ing Machinery, New York, 1991, pp. 475482. [1325]
[1993] M. Formann, D. Wagner, F. Wagner, Routing through a dense channel
with minimum total wire length, Journal of Algorithms 15 (1993) 267283.
[1325]
[1980] S. Fortune, J. Hopcroft, J. Wyllie, The directed subgraph homeomorphism
problem, Theoretical Computer Science 10 (1980) 111121. [1225, 1243
1244]
[1993] J.L. Fouquet, A strengthening of Ben Rebeas lemma, Journal of Combi-
natorial Theory, Series B 59 (1993) 3540. [1217]
[1995] J.-L. Fouquet, V. Giakoumakis, F. Maire, H. Thuillier, On graphs without
P5 and P5 , Discrete Mathematics 146 (1995) 3344. [1105]
[1997] J.-L. Fouquet, F. Maire, I. Rusu, H. Thuillier, On transversals in minimal
imperfect graphs, Discrete Mathematics 165/166 (1997) 301312. [1124]
[1973] J.-C. Fournier, Coloration des aretes dun graphe, Cahiers du Centre
dEtudes de Recherche Operationnelle 15 (1973) 311314. [466, 468, 482]
[1977] J.-C. Fournier, Methode et theor`eme general de coloration des aretes dun
multigraphe, Journal de Mathematiques pures et appliquees 56 (1977) 437
453. [479]
[1978] J.-C. Fournier, Une caracterisation des graphes de cordes, Comptes Rendus
Hebdomadaires des S eances de lAcademie des Sciences [Paris] Series
A et B 286 A (1978) 811813. [1100]
[1952] K. Fox, Economical Routing of Empty Railroad Freight Cars, Cowles Com-
mission Discussion Paper: Economics 2047, Cowles Commission for Re-
search in Economics, Chicago, Illinois, [July 1] 1952. [375]
[1969] B. Fox, Finding minimal cost-time ratio circuits, Operations Research 17
(1969) 546551. [112]
[1995] A.S. Fraenkel, M. Loebl, Complexity of circuit intersection in graphs, Dis-
crete Mathematics 141 (1995) 135151. [515]
[1985] P. Fraisse, Cycle covering in bridgeless graphs, Journal of Combinatorial
Theory, Series B 39 (1985) 146152. [646]
[1999] A. Frangioni, G. Gallo, A bundle type dual-ascent approach to linear mul-
ticommodity min-cost flow problems, INFORMS Journal on Computing 11
(1999) 370393. [1248]
[1976a] A. Frank, Kombinatorikus Algoritmusok, Algoritmikus Bizonyt
asok [Hun-
garian; Combinatorial Algorithms, Algorithmic Proofs], Ph.D. Thesis, De-
partment of Mathematics, E otv
os Lor
and Tudom anyegyetem, Budapest,
1976. [1038]
References 1555
[1976b] A. Frank, Some polynomial algorithms for certain graphs and hypergraphs,
in: Proceedings of the Fifth British Combinatorial Conference 1975 (Ab-
erdeen, 1975; C.St.J.A. Nash-Williams, J. Sheehan, eds.) [Congressus Nu-
merantium XV], Utilitas Mathematica, Winnipeg, Manitoba, 1976, pp.
211226. [1140]
[1977] A. Frank, On a class of balanced hypergraphs, Discrete Mathematics 20
(1977) 1120. [1447]
[1979a] A. Frank, Covering branchings, Acta Scientiarum Mathematicarum [Szeged]
41 (1979) 7781. [908, 911, 914, 916]
[1979b] A. Frank, Kernel systems of directed graphs, Acta Scientiarum Mathemati-
carum [Szeged] 41 (1979) 6376. [899, 903, 911, 913915, 967, 976, 1018,
1023, 1078]
[1980a] A. Frank, On chain and antichain families of a partially ordered set, Journal
of Combinatorial Theory, Series B 29 (1980) 176184. [224, 227, 229, 231,
236]
[1980b] A. Frank, On the orientation of graphs, Journal of Combinatorial Theory,
Series B 28 (1980) 251261. [10441047]
[1981a] A. Frank, A weighted matroid intersection algorithm, Journal of Algo-
rithms 2 (1981) 328336. [710]
[1981b] A. Frank, How to make a digraph strongly connected, Combinatorica 1
(1981) 145153. [953, 956]
[1981c] A. Frank, On disjoint trees and arborescences, in: Algebraic Methods in
Graph Theory, Vol. I (Colloquium Szeged, 1978; L. Lovasz, V.T. S
os, eds.)
[Colloquia Mathematica Societatis J
anos Bolyai, 25], North-Holland, Am-
sterdam, 1981, pp.159169. [908, 923924, 926]
[1982a] A. Frank, A note on k-strongly connected orientations of an undirected
graph, Discrete Mathematics 39 (1982) 103104. [1048]
[1982b] A. Frank, An algorithm for submodular functions on graphs, in: Bonn
Workshop on Combinatorial Optimization (Bonn, 1980; A. Bachem, M.
Gr
otschel, B. Korte, eds.) [Annals of Discrete Mathematics 16], North-
Holland, Amsterdam, 1982, pp. 97120. [799, 838, 1020, 1028, 1048]
[1982c] A. Frank, Disjoint paths in a rectilinear grid, Combinatorica 2 (1982) 361
371. [1304, 1324]
[1984a] A. Frank, Finding feasible vectors of Edmonds-Giles polyhedra, Journal of
Combinatorial Theory, Series B 36 (1984) 221239. [807, 838]
[1984b] A. Frank, Generalized polymatroids, in: Finite and Infinite Sets Vol. I
(Proceedings Sixth Hungarian Combinatorial Colloquium, Eger, 1981; A.
Hajnal, L. Lov
asz, V.T. S
os, eds.) [Colloquia Mathematica Societatis J
anos
Bolyai, 37], North-Holland, Amsterdam, 1984, pp. 285294. [845, 849,
1021]
[1984c] A. Frank, Submodular flows, in: Progress in Combinatorial Optimization
(Proceedings Conference, Waterloo, Ontario, 1982; W.R. Pulleyblank, ed.),
Academic Press, Toronto, Ontario, 1984, pp. 147165. [819]
[1985] A. Frank, Edge-disjoint paths in planar graphs, Journal of Combinatorial
Theory, Series B 39 (1985) 164178. [12981299, 13021304]
1556 References
[1983b] G.N. Frederickson, Shortest path problems in planar graphs, in: 24th An-
nual Symposium on Foundations of Computer Science (24th FOCS, Tuc-
son, Arizona, 1983), IEEE, New York, 1983, pp. 242247. [104105, 114,
139, 161]
[1985] G.N. Frederickson, Data structures for on-line updating of minimum span-
ning trees, with applications, SIAM Journal on Computing 14 (1985) 781
798. [865]
[1987a] G.N. Frederickson, A new approach to all pairs shortest paths in planar
graphs, in: Proceedings of the Nineteenth Annual ACM Symposium on The-
ory of Computing (19th STOC, New York, 1987), The Association for Com-
puting Machinery, New York, 1987, pp. 1928. [118]
[1987b] G.N. Frederickson, Fast algorithms for shortest paths in planar graphs,
with applications, SIAM Journal on Computing 16 (1987) 10041022. [104
105, 114, 139, 161, 251, 1299]
[1989] G.N. Frederickson, Using cellular graph embeddings in solving all pairs
shortest paths problems, in: 30th Annual Symposium on Foundations of
Computer Science (30th FOCS, Research Triangle Park, North Carolina,
1989), IEEE Computer Society Press, Los Alamitos, California, 1989, pp.
448453. [105]
[1991] G.N. Frederickson, Planar graph decomposition and all pairs shortest
paths, Journal of the Association for Computing Machinery 38 (1991) 162
204. [105, 118]
[1995] G.N. Frederickson, Using cellular graph embeddings in solving all pairs
shortest paths problems, Journal of Algorithms 19 (1995) 4585. [105]
[1981] G.N. Frederickson, J. JaJa, Approximation algorithms for several graph
augmentation problems, SIAM Journal on Computing 10 (1981) 270283.
[1079]
[1982] G.N. Frederickson, J. JaJa, On the relationship between the biconnectiv-
ity augmentation and traveling salesman problems, Theoretical Computer
Science 19 (1982) 189201. [1079]
[1996] G.N. Frederickson, R. Solis-Oba, Increasing the weight of minimum span-
ning trees, in: Proceedings of the Seventh Annual ACM-SIAM Symposium
on Discrete Algorithms (Atlanta, Georgia, 1996), The Association for Com-
puting Machinery, New York, and Society for Industrial and Applied Math-
ematics, Philadelphia, Pennsylvania, 1996, pp. 539546. [865]
[1997] G.N. Frederickson, R. Solis-Oba, Ecient algorithms for robustness in ma-
troid optimization, in: Proceedings of the Eighth Annual ACM-SIAM Sym-
posium on Discrete Algorithms (New Orleans, Louisiana, 1997), The As-
sociation for Computing Machinery, New York, and Society for Industrial
and Applied Mathematics, Philadelphia, Pennsylvania, 1997, pp. 659668.
[699]
[1998] G.N. Frederickson, R. Solis-Oba, Algorithms for measuring perturbability
in matroid optimization, Combinatorica 18 (1998) 503518. [699]
[1999] G.N. Frederickson, R. Solis-Oba, Increasing the weight of minimum span-
ning trees, Journal of Algorithms 33 (1999) 244266. [865]
References 1561
[1984] G.N. Frederickson, M.A. Srinivas, Data structures for on-line updating
of matroid intersection solutions, in: Proceedings of the Sixteenth Annual
ACM Symposium on Theory of Computing (16th STOC, Washington, D.C.,
1984), The Association for Computing Machinery, New York, 1984, pp.
383390. [724]
[1987] G.N. Frederickson, M.A. Srinivas, On-line updating of solutions to a class
of matroid intersection problems, Information and Computation 74 (1987)
113139. [724]
[1989] G.N. Frederickson, M.A. Srinivas, Algorithms and data structures for an
expanded family of matroid intersection problems, SIAM Journal on Com-
puting 18 (1989) 112138. [707]
[1976] M.L. Fredman, New bounds on the complexity of the shortest path prob-
lem, SIAM Journal on Computing 5 (1976) 8389. [93, 104, 113]
[1993] M.L. Fredman, D.S. Johnson, L.A. McGeoch, G. Ostheimer, Data struc-
tures for traveling salesmen, in: Proceedings of the Fourth Annual ACM-
SIAM Symposium on Discrete Algorithms (Austin, Texas, 1993), The As-
sociation for Computing Machinery, New York, and Society for Industrial
and Applied Mathematics, Philadelphia, Pennsylvania, 1993, pp. 145154.
[996]
[1995] M.L. Fredman, D.S. Johnson, L.A. McGeoch, G. Ostheimer, Data struc-
tures for traveling salesmen, Journal of Algorithms 18 (1995) 432479.
[996]
[1984] M.L. Fredman, R.E. Tarjan, Fibonacci heaps and their uses in improved
network optimization algorithms, in: 25th Annual Symposium on Foun-
dations of Computer Science (25th FOCS, Singer Island, Florida, 1984),
IEEE, New York, 1984, pp. 338346. [99, 103104, 129, 858, 864]
[1987] M.L. Fredman, R.E. Tarjan, Fibonacci heaps and their uses in improved
network optimization algorithms, Journal of the Association for Computing
Machinery 34 (1987) 596615. [99, 103104, 129, 858, 864]
[1990] M.L. Fredman, D.E. Willard, Trans-dichotomous algorithms for minimum
spanning trees and shortest paths, in: Proceedings 31st Annual Symposium
on Foundations of Computer Science Volume II (31st FOCS, St. Louis,
Missouri, 1990), IEEE Computer Society Press, Los Alamitos, California,
1990, pp. 719725. [103, 864]
[1994] M.L. Fredman, D.E. Willard, Trans-dichotomous algorithms for minimum
spanning trees and shortest paths, Journal of Computer and System Sci-
ences 48 (1994) 533551. [103, 864]
[1974] R. Freese, An application of Dilworths lattice of maximal antichains, Dis-
crete Mathematics 7 (1974) 107109. [235]
[1979] A. Frieze, Worst-case analysis of algorithms for travelling salesman prob-
lems, Operations Research Verfahren 32 (1979) 93112. [996]
[1985] A.M. Frieze, G.R. Grimmett, The shortest-path problem for graphs with
random arc-lengths, Discrete Applied Mathematics 10 (1985) 5777. [105]
[1995] A. Frieze, M. Jerrum, Improved approximation algorithms for MAX k-
CUT and MAX BISECTION, in: Integer Programming and Combinatorial
1562 References
[1974] D.R. Fulkerson, G.L. Nemhauser, L.E. Trotter, Jr, Two computationally
dicult set covering problems that arise in computing the 1-width of inci-
dence matrices of Steiner triple systems, Mathematical Programming Study
2 (1974) 7281. [1438]
[1971] D.R. Fulkerson, L.S. Shapley, Minimal k-arc connected graphs, Networks
1 (1971) 9198. [1051]
[1975] D.R. Fulkerson, D.B. Weinberger, Blocking pairs of polyhedra arising from
network flows, Journal of Combinatorial Theory, Series B 18 (1975) 265
283. [209210]
[1996] M. Funke, G. Reinelt, A polyhedral approach to the feedback vertex set
problem, in: Integer Programming and Combinatorial Optimization (Pro-
ceedings 5th IPCO Conference, Vancouver, British Columbia, 1996; W.H.
Cunningham, S.T. McCormick, M. Queyranne, eds.) [Lecture Notes in
Computer Science 1084], Springer, Berlin, 1996, pp. 445459. [959]
[1981] Z. F
uredi, Maximum degree and fractional matchings in uniform hyper-
graphs, Combinatorica 1 (1981) 155162. [1381]
[1988] Z. Furedi, Matchings and covers in hypergraphs, Graphs and Combina-
torics 4 (1988) 115206. [13811382]
[1993] Z. F
uredi, J. Kahn, P.D. Seymour, On the fractional matching polytope of
a hypergraph, Combinatorica 13 (1993) 167180. [13811382, 1459]
[1995] M. Furer, Improved hardness results for approximating the chromatic num-
ber, in: Proceedings 36th Annual Symposium on Foundations of Computer
Science (36th FOCS, Milwaukee, Wisconsin, 1995), IEEE Computer Soci-
ety Press, Los Alamitos, California, 1995, pp. 414421. [1103]
[1970] M.E. Furman, O primenenii metoda bystrogo peremnozheniya matrits v
zadache nakhozhdeniya tranzitivnogo zamykaniya grafa [Russian], Doklady
Akademii Nauk SSSR 194 (1970) 524 [English translation: Application of
a method of fast multiplication of matrices in the problem of finding the
transitive closure of a graph, Soviet Mathematics Doklady 11 (1970) 1252].
[94]
[1989] C.P. Gabor, K.J. Supowit, W.-L. Hsu, Recognizing circle graphs in polyno-
mial time, Journal of the Association for Computing Machinery 36 (1989)
435473. [1100]
[1973] H.N. Gabow, Implementation of Algorithms for Maximum Matching on
Nonbipartite Graphs, Ph.D. Thesis, Department of Computer Science,
Stanford University, Stanford, California, 1973. [422, 458]
[1976a] H.N. Gabow, An ecient implementation of Edmonds algorithm for max-
imum matching on graphs, Journal of the Association for Computing Ma-
chinery 23 (1976) 221234. [421422]
[1976b] H. Gabow, Decomposing symmetric exchanges in matroid bases, Mathe-
matical Programming 10 (1976) 271276. [671]
[1976c] H.N. Gabow, Using Euler partitions to edge color bipartite multigraphs,
International Journal of Computer and Information Sciences 5 (1976) 345
355. [333334]
1568 References
[1977] H.N. Gabow, Two algorithms for generating weighted spanning trees in
order, SIAM Journal on Computing 6 (1977) 139150. [864]
[1979] H.N. Gabow, Algorithmic proofs of two relations between connectivity and
the 1-factors of a graph, Discrete Mathematics 26 (1979) 3340. [430]
[1982] H.N. Gabow, An almost-linear algorithm for two-processor scheduling,
Journal of the Association for Computing Machinery 29 (1982) 766780.
[429]
[1983a] H.N. Gabow, An ecient reduction technique for degree-constrained sub-
graph and bidirected network flow problems, in: Proceedings of the Fif-
teenth Annual ACM Symposium on Theory of Computing (15th STOC,
Boston, Massachusetts, 1983), The Association for Computing Machinery,
New York, 1983, pp. 448456. [487, 517, 554, 559, 567, 573, 608]
[1983b] H.N. Gabow, Scaling algorithms for network problems, in: 24th Annual
Symposium on Foundations of Computer Science (24th FOCS, Tucson,
Arizona, 1983), IEEE, New York, 1983, pp. 248257. [103104, 112113,
160, 212, 290, 864]
[1985a] H.N. Gabow, A scaling algorithm for weighted matching on general graphs,
in: 26th Annual Symposium on Foundations of Computer Science (26th
FOCS, Portland, Oregon, 1985), IEEE, New York, 1985, pp. 90100. [290,
458]
[1985b] H.N. Gabow, Scaling algorithms for network problems, Journal of Com-
puter and System Sciences 31 (1985) 148168. [102104, 112113, 118, 159
160, 212, 290, 356358, 458, 864]
[1990] H.N. Gabow, Data structures for weighted matching and nearest common
ancestors with linking, in: Proceedings of the First Annual ACM-SIAM
Symposium on Discrete Algorithms (San Francisco, California, 1990), So-
ciety for Industrial and Applied Mathematics, Philadelphia, Pennsylvania,
1990, pp. 434443. [459, 487]
[1991a] H.N. Gabow, A matroid approach to finding edge connectivity and packing
arborescences, in: Proceedings of the Twenty Third Annual ACM Sympo-
sium on Theory of Computing (23rd STOC, New Orleans, Louisiana, 1991),
The Association for Computing Machinery, New York, 1991, pp. 112122.
[247, 889, 891, 919, 922]
[1991b] H.N. Gabow, Applications of a poset representation to edge connectivity
and graph rigidity, in: Proceedings 32nd Annual Symposium on Foundations
of Computer Science (32nd FOCS, San Juan, Puerto Rico, 1991), IEEE
Computer Society Press, Los Alamitos, California, 1991, pp. 812821.
[253, 1062, 1065]
[1993a] H.N. Gabow, A framework for cost-scaling algorithms for submodular flow
problems, in: Proceedings 34th Annual Symposium on Foundations of Com-
puter Science (34th FOCS, Palo Alto, California, 1993), IEEE Computer
Society Press, Los Alamitos, California, 1993, pp. 449458. [956, 1034,
1048]
[1993b] H.N. Gabow, A representation for crossing set families with applications
to submodular flow problems, in: Proceedings of the Fourth Annual ACM-
SIAM Symposium on Discrete Algorithms (Austin, Texas, 1993), The As-
References 1569
sociation for Computing Machinery, New York, and Society for Industrial
and Applied Mathematics, Philadelphia, Pennsylvania, 1993, pp. 202211.
[243, 253, 852, 956, 1048]
[1994] H.N. Gabow, Ecient splitting o algorithms for graphs, in: Proceedings
of the Twenty-Sixth Annual ACM Symposium on the Theory of Computing
(26th STOC, Montreal, Quebec, 1994), The Association for Computing
Machinery, New York, 1994, pp. 696705. [1048, 1065]
[1995a] H.N. Gabow, A matroid approach to finding edge connectivity and packing
arborescences, Journal of Computer and System Sciences 50 (1995) 259
273. [247, 919, 922]
[1995b] H.N. Gabow, Algorithms for graphic polymatroids and parametric s-sets,
in: Proceedings of the Sixth Annual ACM-SIAM Symposium on Discrete Al-
gorithms (San Francisco, California, 1995), The Association for Computing
Machinery, New York, and Society for Industrial and Applied Mathematics,
Philadelphia, Pennsylvania, 1995, pp. 8897. [890891]
[1995c] H.N. Gabow, Centroids, representations, and submodular flows, Journal of
Algorithms 18 (1995) 586628. [243, 253, 852, 956, 1048]
[1996] H.N. Gabow, Perfect arborescence packing in preflow mincut graphs, in:
Proceedings of the Seventh Annual ACM-SIAM Symposium on Discrete
Algorithms (Atlanta, Georgia, 1996), The Association for Computing Ma-
chinery, New York, and Society for Industrial and Applied Mathematics,
Philadelphia, Pennsylvania, 1996, pp. 528538. [925]
[1998] H.N. Gabow, Algorithms for graphic polymatroids and parametric s-sets,
Journal of Algorithms 26 (1998) 4886. [890891]
[2000a] H.N. Gabow, Path-based depth-first search for strong and biconnected
components, Information Processing Letters 74 (2000) 107114. [95, 248]
[2000b] H.N. Gabow, Using expander graphs to find vertex connectivity, in: 41st
Annual Symposium on Foundations of Computer Science (41st FOCS, Re-
dondo Beach, California, 2000), IEEE Computer Society Press, Los Alami-
tos, California, 2000, pp. 410420. [241]
[2002] H.N. Gabow, An ear decomposition approach to approximating the small-
est 3-edge connected spanning subgraph of a multigraph, in: Proceedings
of the Thirteenth Annual ACM-SIAM Symposium on Discrete Algorithms
(San Francisco, California, 2002), The Association for Computing Ma-
chinery, New York, and Society for Industrial and Applied Mathematics,
Philadelphia, Pennsylvania, 2002, pp. 8493. T; S222 CO [991]
[1984] H.N. Gabow, Z. Galil, T.H. Spencer, Ecient implementation of graph
algorithms using contraction, in: 25th Annual Symposium on Foundations
of Computer Science (25th FOCS, Singer Island, Florida, 1984), IEEE,
New York, 1984, pp. 347357. [458, 864, 902]
[1989] H.N. Gabow, Z. Galil, T.H. Spencer, Ecient implementation of graph
algorithms using contraction, Journal of the Association for Computing
Machinery 36 (1989) 540572. [458]
1570 References
[1986] H.N. Gabow, Z. Galil, T. Spencer, R.E. Tarjan, Ecient algorithms for
finding minimum spanning trees in undirected and directed graphs, Com-
binatorica 6 (1986) 109122. [864, 902]
[1993] H.N. Gabow, M.X. Goemans, D.P. Williamson, An ecient approximation
algorithm for the survivable network design problem, in: Integer Program-
ming and Combinatorial Optimization (Proceedings 3rd IPCO Conference,
Erice (Italy) 1993; G. Rinaldi, L.A. Wolsey, eds.), CORE, Louvain-la-Neuve
(Belgium), 1993, pp. 5774. [991]
[1998] H.N. Gabow, M.X. Goemans, D.P. Williamson, An ecient approxima-
tion algorithm for the survivable network design problem, Mathematical
Programming 82 (1998) 1340. [991]
[1999] H.N. Gabow, T. Jord an, How to make a square grid framework with ca-
bles rigid, in: Proceedings of the Tenth Annual ACM-SIAM Symposium
on Discrete Algorithms (Baltimore, Maryland, 1999), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 1999, pp. 356365. [1079]
[2000a] H.N. Gabow, T. Jordan, How to make a square grid framework with cables
rigid, SIAM Journal on Computing 30 (2000) 649680. [1079]
[2000b] H.N. Gabow, T. Jord
an, Incrementing bipartite digraph edge-connectivity,
Journal of Combinatorial Optimization 4 (2000) 449486. [1079]
[1999] H.N. Gabow, H. Kaplan, R.E. Tarjan, Unique maximum matching algo-
rithms, in: Proceedings of the Thirty-First Annual ACM Symposium on
Theory of Computing (31st STOC, Atlanta, Georgia, 1999), The Associa-
tion for Computing Machinery, New York, 1999, pp. 7078. [430, 460]
[2001] H.N. Gabow, H. Kaplan, R.E. Tarjan, Unique maximum matching algo-
rithms, Journal of Algorithms 40 (2001) 159183. [430, 460]
[1978] H.N. Gabow, O. Kariv, Algorithms for edge coloring bipartite graphs, in:
Conference Record of the Tenth Annual ACM Symposium on Theory of
Computing (10th STOC, San Diego, California, 1978), The Association for
Computing Machinery, New York, 1978, pp. 184192. [334]
[1982] H.N. Gabow, O. Kariv, Algorithms for edge coloring bipartite graphs and
multigraphs, SIAM Journal on Computing 11 (1982) 117129. [334]
[1995] H.N. Gabow, K.S. Manu, Packing algorithms for arborescences (and span-
ning trees) in capacitated graphs, in: Integer Programming and Combi-
natorial Optimization (Proceedings 4th IPCO Conference, Copenhagen,
1995; E. Balas, J. Clausen, eds.) [Lecture Notes in Computer Science 920],
Springer, Berlin, 1995, pp. 388402. [891, 907, 922]
[1998] H.N. Gabow, K.S. Manu, Packing algorithms for arborescences (and span-
ning trees) in capacitated graphs, Mathematical Programming 82 (1998)
83109. [891, 907, 922]
[1985] H.N. Gabow, T. Nishizeki, O. Kariv, D. Leven, O. Terada, Algorithms for
Edge-Coloring Graphs, Technical Report 41/85, The Moise and Frida Es-
kenasy Institute of Computer Sciences, The Raymond and Beverly Sackler
Faculty of Exact Sciences, Tel Aviv University, Tel Aviv, 1985. [466]
References 1571
[1985] H.N. Gabow, M. Stallmann, Ecient algorithms for graphic matroid inter-
section and parity, in: Automata, Languages and Programming (Proceed-
ings 12th International Colloquium ICALP, Nafplion (Greece), 1985; W.
Brauer, ed.) [Lecture Note in Computer Science, Volume 194], Springer,
Berlin, 1985, pp. 210220. [707, 765, 890]
[1986] H.N. Gabow, M. Stallmann, An augmenting path algorithm for linear ma-
troid parity, Combinatorica 6 (1986) 123150. [762]
[1979] H.N. Gabow, R.E. Tarjan, Ecient algorithms for simple matroid intersec-
tion problems, in: 20th Annual Symposium on Foundations of Computer
Science (20th FOCS, San Juan, Puerto Rico, 1979), IEEE, New York, 1979,
pp. 196204. [865, 902]
[1983] H.N. Gabow, R.E. Tarjan, A linear-time algorithm for a special case of
disjoint set union, in: Proceedings of the Fifteenth Annual ACM Symposium
on Theory of Computing (15th STOC, Boston, Massachusetts, 1983), The
Association for Computing Machinery, New York, 1983, pp. 246251. [421,
423, 429]
[1984] H.N. Gabow, R.E. Tarjan, Ecient algorithms for a family of matroid
intersection problems, Journal of Algorithms 5 (1984) 80131. [707, 865,
902]
[1985] H.N. Gabow, R.E. Tarjan, A linear-time algorithm for a special case of
disjoint set union, Journal of Computer and System Sciences 30 (1985)
209221. [421, 423, 429, 922]
[1988a] H.N. Gabow, R.E. Tarjan, Algorithms for two bottleneck optimization
problems, Journal of Algorithms 9 (1988) 411417. [265, 423, 902]
[1988b] H.N. Gabow, R.E. Tarjan, Almost-optimum speed-ups of algorithms for
bipartite matching and related problems, in: Proceedings of the Twentieth
Annual ACM Symposium on Theory of Computing (20th STOC, Chicago,
Illinois, 1988), The Association for Computing Machinery, New York, 1988,
pp. 514527. [113, 290, 357358]
[1989] H.N. Gabow, R.E. Tarjan, Faster scaling algorithms for network problems,
SIAM Journal on Computing 18 (1989) 10131036. [113, 191, 290, 356
358]
[1991] H.N. Gabow, R.E. Tarjan, Faster scaling algorithms for general graph-
matching problems, Journal of the Association for Computing Machinery
38 (1991) 815853. [421, 423, 459]
[1988] H.N. Gabow, H.H. Westermann, Forests, frames and games: algorithms for
matroid sums and applications, in: Proceedings of the Twentieth Annual
ACM Symposium on Theory of Computing (20th STOC, Chicago, Illinois,
1988), The Association for Computing Machinery, New York, 1988, pp.
407421. [889890]
[1992] H.N. Gabow, H.H. Westermann, Forests, frames, and games: algorithms
for matroid sums and applications, Algorithmica 7 (1992) 465497. [889
890]
[1989] H.N. Gabow, Y. Xu, Ecient algorithms for independent assignment on
graphic and linear matroids, in: 30th Annual Symposium on Foundations of
1572 References
[1979] Z. Galil, A. Naamad, Network flow and generalized path compression, in:
Conference Record of the Eleventh Annual ACM Symposium on Theory
of Computing (11th STOC, Atlanta, Georgia, 1979), The Association for
Computing Machinery, New York, 1979, pp. 1326. [156, 160]
[1980] Z. Galil, A. Naamad, An O(EV log2 V ) algorithm for the maximal flow
problem, Journal of Computer and System Sciences 21 (1980) 203217.
[156, 160]
[1986] Tardos, An O(n2 (m+n log n) log n) min-cost flow algorithm, in:
Z. Galil, E.
27th Annual Symposium on Foundations of Computer Science (27th FOCS,
Toronto, Ontario, 1986), IEEE Computer Society Press, Washington, D.C.,
1986, pp. 19. [190191, 356358]
[1988] Tardos, An O(n2 (m + n log n) log n) min-cost flow algorithm,
Z. Galil, E.
Journal of the Association for Computing Machinery 35 (1988) 374386.
[190191, 356358]
[1995] Z. Galil, X. Yu, Short length versions of Mengers theorem, in: Proceed-
ings of the Twenty-Seventh Annual ACM Symposium on the Theory of
Computing (27th STOC, Las Vegas, Nevada, 1995), The Association for
Computing Machinery, New York, 1995, pp. 499508. [141]
[1965] R.G. Gallager, A simple derivation of the coding theorem and some ap-
plications, IEEE Transactions on Information Theory IT-11 (1965) 318.
[1176]
[1950] T. Gallai, On factorisation of graphs, Acta Mathematica Academiae Scien-
tiarum Hungaricae 1 (1950) 133153. [415, 431, 435, 527]
[1957] T. Gallai, Gr
afokkal kapcsolatos maximum-minimum tetelek (I. resz) [Hun-
garian; Maximum-minimum theorems for networks (part I)], A Magyar
Tudom anyos Akademia Matematikai es Fizikai Tudom anyok Oszt aly
anak
Kozlemenyei 7 (1957) 305338. [178179, 184, 191192, 376, 520, 523, 532,
534, 557, 578]
[1958a] T. Gallai, Gr afokkal kapcsolatos maximum-minimum tetelek (II. resz)
[Hungarian; Maximum-minimum theorems for networks (part II)], A Mag-
yar Tudom anyos Akademia Matematikai es Fizikai Tudom
anyok Osztaly
a-
nak Kozlemenyei 8 (1958) 140. [170, 191192, 220, 317, 319, 376, 520,
523, 532, 534, 557, 578]
[1958b] T. Gallai, Maximum-minimum S atze uber Graphen, Acta Mathematica
Academiae Scientiarum Hungaricae 9 (1958) 395434. [107, 126, 170, 178
179, 184, 191192, 220, 317, 319, 376, 520, 523, 532, 534, 557, 578]
[1959a] T. Gallai, Uber extreme Punkt- und Kantenmengen, Annales Universi-
tatis Scientiarum Budapestinensis de Rolando E otv
os Nominatae, Sectio
Mathematica 2 (1959) 133138. [315316, 319, 351352, 464, 531, 575]
[1959b] T. Gallai, Uber regul
are Kettengruppen, Acta Mathematica Academiae Sci-
entiarum Hungaricae 10 (1959) 227240. [1415]
[1961] T. Gallai, Maximum-minimum S atze und verallgemeinerte Faktoren von
Graphen, Acta Mathematica Academiae Scientiarum Hungaricae 12 (1961)
131173. [1279, 1289]
References 1575
[1989] H. Gan, E.L. Johnson, Four problems on graphs with excluded minors,
Mathematical Programming 45 (1989) 311330. [1415]
[1976] M.R. Garey, R.L. Graham, D.S. Johnson, Some NP-complete geometric
problems, in: Conference Record of the Eighth Annual ACM Symposium
on Theory of Computing (8th STOC, Hershey, Pennsylvania, 1976), The
Association for Computing Machinery, New York, 1976, pp. 1022. [982]
[1976] M.R. Garey, D.S. Johnson, The complexity of near-optimal graph coloring,
Journal of the Association for Computing Machinery 23 (1976) 4349.
[1103]
[1979] M.R. Garey, D.S. Johnson, Computers and Intractability A Guide to
the Theory of NP-Completeness, Freeman, San Francisco, California, 1979.
[49, 1085, 1103]
[1980] M.R. Garey, D.S. Johnson, G.L. Miller, C.H. Papadimitriou, The complex-
ity of coloring circular arcs and chords, SIAM Journal on Algebraic and
Discrete Methods 1 (1980) 216227. [1100]
[1976] M.R. Garey, D.S. Johnson, L. Stockmeyer, Some simplified NP-complete
graph problems, Theoretical Computer Science 1 (1976) 237267. [1084
1085]
[1971] R.S. Garfinkel, An improved algorithm for the bottleneck assignment prob-
lem, Operations Research 19 (1971) 17471751. [291]
[1973] R.S. Garfinkel, On partitioning the feasible set in a branch-and-bound algo-
rithm for the asymmetric traveling-salesman problem, Operations Research
21 (1973) 340343. [995]
[1969] R.S. Garfinkel, G.L. Nemhauser, The set-partitioning problem: set covering
with equality constraints, Operations Research 17 (1969) 848856. [1438]
[1972a] R.S. Garfinkel, G.L. Nemhauser, Integer Programming, Wiley, New York,
1972. [84]
[1972b] R. Garfinkel, G.L. Nemhauser, Optimal set covering: a survey, in: Perspec-
tives on Optimization: A Collection of Expository Articles (A.M. Georion,
ed.), Addison-Wesley, Reading, Massachusetts, 1972, pp. 164193. [1438]
[1971] R.S. Garfinkel, M.R. Rao, The bottleneck transportation problem, Naval
Research Logistics Quarterly 18 (1971) 465472. [361]
[1998] N. Garg, J. Konemann, Faster and simpler algorithms for multicommodity
flow and other fractional packing problems, in: Proceedings 39th Annual
Symposium on Foundations of Computer Science (39th FOCS, Palo Alto,
California, 1998), IEEE Computer Society Press, Los Alamitos, California,
1998, 300309. [12471248]
[1993] N. Garg, V.S. Santosh, A. Singla, Improved approximation algorithms for
biconnected subgraphs via better lower bounding techniques, in: Proceed-
ings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms
(Austin, Texas, 1993), The Association for Computing Machinery, New
York, and Society for Industrial and Applied Mathematics, Philadelphia,
Pennsylvania, 1993, pp. 103111. [991]
[1993] N. Garg, V.V. Vazirani, A polyhedron with all st cuts as vertices, and ad-
jacency of cuts, in: Integer Programming and Combinatorial Optimization
References 1577
[1984] R. Giles, L.E. Trotter, Jr, A. Tucker, The strong perfect graph theorem for
a class of partitionable graphs, in: Topics on Perfect Graphs (C. Berge, V.
Chvatal, eds.) [Annals of Discrete Mathematics 21], North-Holland, Ams-
terdam, 1984, pp. 161167. [1124]
[1960] P.C. Gilmore, A proof method for quantification theory: its justification
and realization, IBM Journal of Research and Development 4 (1960) 28
35. [55]
[1962] P.C. Gilmore, Families of Sets with Faithful Graph Representations, IBM
Research Note N.C. 184, Thomas J. Watson Research Center, Yorktown
Heights, New York, 1962. [1431]
[1966] P.C. Gilmore, A solvable case of the traveling salesman problem, Canadian
Mathematical Bulletin 9 (1966) 743744. [996]
[1964a] P.C. Gilmore, R.E. Gomory, A solvable case of the traveling salesman
problem, Proceedings of the National Academy of Sciences of the United
States of America 51 (1964) 178181. [996]
[1964b] P.C. Gilmore, R.E. Gomory, Sequencing a one state-variable machine: a
solvable case of the traveling salesman problem, Operations Research 12
(1964) 655679. [996]
[1964] P.C. Gilmore, A.J. Homan, A characterization of comparability graphs
and of interval graphs, Canadian Journal of Mathematics 16 (1964) 539
548. [1138, 1141]
[1985] P.C. Gilmore, E.L. Lawler, D.B. Shmoys, Well-solved special cases, in: The
Traveling Salesman Problem A Guided Tour of Combinatorial Opti-
mization (E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys,
eds.), Wiley, Chichester, 1985, pp. 87143. [996]
[1973] J. Gilsinn, C. Witzgall, A Performance Comparison of Labeling Algorithms
for Calculating Shortest Path Trees, Technical Note 772, National Bureau
of Standards, Washington, D.C., 1973. [119]
[1955] A. Gleyzal, An algorithm for solving the transportation problem, Journal
of Research National Bureau of Standards 54 (1955) 213216. [298, 345,
375]
[1984] F. Glover, R. Glover, D. Klingman, Computational study of an improved
shortest path algorithm, Networks 14 (1984) 2536. [118]
[1986] F. Glover, R. Glover, D. Klingman, Threshold assignment algorithm, [in:
Netflow in Pisa (G. Gallo, C. Sandi, eds.)] Mathematical Programming
Study 26 (1986) 1237. [291]
[1974] F. Glover, D. Karney, D. Klingman, Implementation and computational
comparisons of primal, dual and primal-dual computer codes for minimum
cost network flow problems, Networks 4 (1974) 191212. [195196]
[1974] F. Glover, D. Karney, D. Klingman, A. Napier, A computation study on
start procedures, basis change criteria, and solution algorithms for trans-
portation problems, Management Science 20 (1974) 793813. [195196]
[1973] F. Glover, D. Klingman, On the equivalence of some generalized network
problems to pure network problems, Mathematical Programming 4 (1973)
269278. [196]
1582 References
[2001a] A.V. Goldberg, A simple shortest path algorithm with linear average time,
in: Algorithms ESA 2001 (Proceedings 9th Annual European Sympo-
sium,
Arhus, 2001; F. Meyer auf der Heide, ed.) [Lecture Notes in Computer
Science 2161], Springer, Berlin, 2001, pp. 230241. [104]
[2001b] A.V. Goldberg, Shortest path algorithms: engineering aspects, in: Al-
gorithms and Computation (Proceedings 12th International Symposium
ISAAC 2001, Christchurch, 2001; P. Eades, T. Takaoka, eds.) [Lecture
Notes in Computer Science 2223], Springer, Berlin, 2001, pp. 502513.
[104]
[1991] A.V. Goldberg, M.D. Grigoriadis, R.E. Tarjan, Use of dynamic trees in a
network simplex algorithm for the maximum flow problem, Mathematical
Programming 50 (1991) 277290. [162]
[1991] A.V. Goldberg, D. Gusfield, [Book Review:] Potokovye Algoritmy (Flow
Algorithms). By G.M. Adelson-Velski, E.A. Dinits, and A.V. Karzanov,
SIAM Review 33 (1991) 306314. [163, 197]
[1994] A.V. Goldberg, A.V. Karzanov, Path problems in skew-symmetric graphs,
in: Proceedings of the Fifth Annual ACM-SIAM Symposium on Discrete
Algorithms (Arlington, Virginia, 1994), The Association for Computing
Machinery, New York, and Society for Industrial and Applied Mathematics,
Philadelphia, Pennsylvania, 1994, pp. 526535. [593]
[1995] A.V. Goldberg, A.V. Karzanov, Maximum skew-symmetric flows, in: Al-
gorithms ESA 95 (Proceedings Third Annual European Symposium,
Corfu, 1995; P. Spirakis, ed.) [Lecture Notes in Computer Science 979],
Springer, Berlin, 1995, pp. 155170. [423]
[1996] A.V. Goldberg, A.V. Karzanov, Path problems in skew-symmetric graphs,
Combinatorica 16 (1996) 353382. [593]
[1997] A.V. Goldberg, A.V. Karzanov, Scaling methods for finding a maximum
free multiflow of minimum cost, Mathematics of Operations Research 22
(1997) 90109. [1294]
[1995] A.V. Goldberg, R. Kennedy, An ecient cost scaling algorithm for the
assignment problem, Mathematical Programming 71 (1995) 153177. [291]
[1997] A.V. Goldberg, R. Kennedy, Global price updates help, SIAM Journal on
Discrete Mathematics 10 (1997) 551572. [267, 291]
[1993] A.V. Goldberg, M. Kharitonov, On implementing scaling push-relabel algo-
rithms for the minimum-cost flow problem, in: Network Flows and Match-
ing First DIMACS Implementation Challenge (D.S. Johnson, C.C. Mc-
Geoch, eds.) [DIMACS Series in Discrete Mathematics and Theoretical
Computer Science 12], American Mathematical Society, Providence, Rhode
Island, 1993, pp. 157198. [196]
[1998] A.V. Goldberg, J.D. Oldham, S. Plotkin, C. Stein, An implementation of a
combinatorial approximation algorithm for minimum-cost multicommodity
flow, in: Integer Programming and Combinatorial Optimization (Proceed-
ings 6th IPCO Conference, Houston, Texas, 1998; R.E. Bixby, E.A. Boyd,
R.Z. Ros-Mercado, eds.) [Lecture Notes in Computer Science 1412], Sprin-
ger, Berlin, 1998, pp. 338352. [1248]
1586 References
[1960] R.E. Gomory, Solving linear programming problems in integers, in: Com-
binatorial Analysis (New York, 1958; R. Bellman, M. Hall, Jr, eds.), Amer-
ican Mathematical Society, Providence, Rhode Island, 1960, pp. 211215.
[84]
[1966] R.E. Gomory, The traveling salesman problem, in: Proceedings of the IBM
Scientific Computing Symposium on Combinatorial Problems (Yorktown
Heights, New York, 1964), IBM Data Processing Division, White Plains,
New York, 1966, pp. 93121. [7, 436, 996]
[1961] R.E. Gomory, T.C. Hu, Multi-terminal network flows, Journal of the Soci-
ety for Industrial and Applied Mathematics 9 (1961) 551570. [248, 1051
1052]
[1962] R.E. Gomory, T.C. Hu, An application of generalized linear programming
to network flows, Journal of the Society for Industrial and Applied Math-
ematics 10 (1962) 260283. [1054]
[1964] R.E. Gomory, T.C. Hu, Synthesis of a communication network, Journal
of the Society for Industrial and Applied Mathematics 12 (1964) 348369.
[1054]
[1974] M. Gondran, J.L. Lauri`ere, Un algorithme pour le probl`eme de partition-
nement, Revue Francaise dAutomatique Informatique Recherche Op era-
tionnelle 8:V-1 (1974) 2740. [1438]
[1975] M. Gondran, J.L. Lauri`ere, Un algorithme pour les probl`emes de recouvre-
ment, Revue Francaise dAutomatique Informatique Recherche Op eration-
nelle 9:V-2 (1975) 3351. [1438]
[1984] M. Gondran, M. Minoux, Graphs and Algorithms, Wiley, Chichester, 1984.
[106, 119, 163, 196197, 291, 362, 431, 460, 561, 672, 871, 903, 1248]
[1976] T. Gonzalez, S. Sahni, Open shop scheduling to minimize finish time, Jour-
nal of the Association for Computing Machinery 23 (1976) 665679. [323,
334]
[1976] S. Goodman, S. Hedetniemi, R.E. Tarjan, b-matchings in trees, SIAM Jour-
nal on Computing 5 (1976) 104108. [361]
[2000] F. Goring, Short proof of Mengers theorem, Discrete Mathematics 219
(2000) 295296. [131, 133]
[1963] C.C. Gotlieb, The construction of class-teacher time-tables, in: Information
Processing 1962, Proceedings of IFIP Congress 62 (Munich, 1962; C.M.
Popplewell, ed.), North-Holland, Amsterdam, 1963, pp. 7377. [336]
[1958] R. Gould, Graphs and vector spaces, Journal of Mathematics and Physics
37 (1958) 193214. [214]
[1894] E. Goursat, [Probl`eme] 360, LIntermediaire des Mathematiciens 1 (1894)
213214. [483]
[1997a] M. de Graaf, A. Schrijver, Decomposition of graphs on a surface, Journal
of Combinatorial Theory, Series B 70 (1997) 157165. [1354, 1356]
[1997b] M. de Graaf, A. Schrijver, Making curves minimally crossing by Reidemeis-
ter moves, Journal of Combinatorial Theory, Series B 70 (1997) 134156.
[1353]
1590 References
[1985] R.L. Graham, P. Hell, On the history of the minimum spanning tree prob-
lem, Annals of the History of Computing 7 (1985) 4357. [871, 876]
[1986] F. Granot, R. Hassin, Multi-terminal maximum flows in node-capacitated
networks, Discrete Applied Mathematics 13 (1986) 157163. [251]
[1992] F. Granot, M. Penn, On the integral plane two-commodity flow problem,
Operations Research Letters 11 (1992) 135139. [1309]
[1993] F. Granot, M. Penn, On the (integral) maximum two-flow in vertex and
edge capacitated planar graphs, in: Integer Programming and Combinato-
rial Optimization (Proceedings 3rd IPCO Conference, Erice (Italy) 1993;
G. Rinaldi, L.A. Wolsey, eds.), CORE, Louvain-la-Neuve (Belgium), 1993,
pp. 235249. [1309]
[1995] F. Granot, M. Penn, On the integral 4-packing of T -cuts, Discrete Mathe-
matics 142 (1995) 6575. [518]
[1996] F. Granot, M. Penn, Polynomial algorithms for (integral) maximum two-
flows in vertex\edge-capacitated planar graphs, Discrete Applied Mathe-
matics 70 (1996) 267283. [1309]
[1862] H. Grassmann, Die Ausdehnungslehre Vollst andig und in strenger Form,
Verlag von Th. Chr. Fr. Enslin, Berlin, 1862 [reprinted in: Hermann Grass-
manns Gesammelte mathematische und physikalische Werke. Ersten
Bandes Zweiter Theil: Die Ausdehnungslehre von 1862 (F. Engel, ed.),
Teubner, Leipzig, 1896, pp. 1383]. [654, 673, 675, 677]
[1980] J.E. Graver, W.B. Jurkat, f -factors and related decompositions of graphs,
Journal of Combinatorial Theory, Series B 28 (1980) 6684. [574]
[1985] S.C. Graves, J.B. Orlin, A minimum concave-cost dynamic network flow
problem with an application to lot-sizing, Networks 15 (1985) 5971. [197]
[1980] J.J. Green-Kr
otki, Matching Polyhedra, M.Sc. Thesis, Department of Math-
ematics and Statistics, Carleton University, Ottawa, Ontario, 1980. [565,
605]
[1992] R.I. Greenberg, F.M. Maley, Minimum separation for single-layer channel
routing, Information Processing Letters 43 (1992) 201205. [1324]
[1995] R.I. Greenberg, J.-D. Shih, Feasible oset and optimal oset for general
single-layer channel routing, SIAM Journal on Discrete Mathematics 8
(1995) 543554. [1325]
[1996] R.I. Greenberg, J.-D. Shih, Single-layer channel routing and placement
with single-sided nets, Computers and Mathematics with Applications 32
(1996) 17. [1325]
[1973] C. Greene, A multiple exchange property for bases, Proceedings of the
American Mathematical Society 39 (1973) 4550. [671, 728]
[1974a] C. Greene, Another exchange property for bases, Proceedings of the Amer-
ican Mathematical Society 46 (1974) 155156. [671]
[1974b] C. Greene, Sperner families and partitions of a partially ordered set, in:
Combinatorics Part 2: Graph theory: foundations, partitions and combina-
torial geometry (Proceedings Advanced Study Institute on Combinatorics,
Breukelen, The Netherlands, 1974; M. Hall, Jr, J.H. van Lint, eds.) [Math-
References 1591
[1958] H. Gr
otzsch, Zur Theorie der diskreten Gebilde 7. Mitteilung: Ein Dreifar-
bensatz f
ur dreikreisfreie Netze auf der Kugel, Wissenschaftliche Zeitschrift
der Martin-Luther-Universit at Halle-Wittenberg, Mathematisch-Naturwis-
senschaftliche Reihe 8 (1958) 109119. [472]
[1967] B. Gr
unbaum, Convex Polytopes, Wiley-Interscience, London, 1967. [84]
[1970] B. Grunbaum, Problem 2. 1-factors, in: Combinatorial Structures and
Their Applications (Proceedings Calgary International Conference on Com-
binatorial Structures and Their Applications, Calgary, Alberta, 1969; R.
Guy, H. Hanani, N. Sauer, J. Schonheim, eds.), Gordon and Breach, New
York, 1970, p. 492. [573]
[1938] T. Gr
unwald, Ein neuer Beweis eines Mengerschen Satzes, The Journal of
the London Mathematical Society 13 (1938) 188192. [131, 133, 139, 142,
146]
[1960] M.-g. Guan, Graphic programming using odd or even points [in Chinese],
Acta Mathematica Sinica 10 (1960) 263266 [English translation: Chinese
Mathematics 1 (1962) 273277]. [486487, 501, 519]
[1979] M.-g. Guan, A brief survey of research works on network theory by Chi-
nese mathematicians, [in: Proceedings of the First Franco-Southeast Asian
Mathematical Conference Vol. II (Singapore, 1979)] Southeast Asian Bul-
letin of Mathematics (1979) Special Issue b, 264267. [902]
[1984] M. Guan, On the windy postman problem, Discrete Applied Mathematics
9 (1984) 4146. [518]
[1985] M. Guan, W.R. Pulleyblank, Eulerian orientations and circulations, SIAM
Journal on Algebraic and Discrete Methods 6 (1985) 657664. [518]
[1998a] B. Guenin, A characterization of weakly bipartite graphs, in: Integer Pro-
gramming and Combinatorial Optimization (Proceedings 6th IPCO Con-
ference, Houston, Texas, 1998; R.E. Bixby, E.A. Boyd, R.Z. Ros-Mercado,
eds.) [Lecture Notes in Computer Science 1412], Springer, Berlin, 1998, pp.
922. [1327, 1331, 1334, 1340, 1392, 1408]
[1998b] B. Guenin, Perfect and ideal 0, 1 matrices, Mathematics of Operations
Research 23 (1998) 322338. [1396, 1437]
[2001a] B. Guenin, A characterization of weakly bipartite graphs, Journal of Com-
binatorial Theory, Series B 83 (2001) 112168. [1327, 1331, 1334, 1340,
1392, 1408]
[2001b] B. Guenin, Circuit Mengerian directed graphs, in: Integer Programming
and Combinatorial Optimization (Proceedings 8th International IPCO
Conference, Utrecht, 2001; K. Aardal, B. Gerards, eds.) [Lecture Notes
in Computer Science 2081], Springer, Berlin, 2001, pp. 185195. [959]
[2001c] B. Guenin, Integral polyhedra related to even cycle and even cut matroids,
in: Integer Programming and Combinatorial Optimization (Proceedings 8th
International IPCO Conference, Utrecht, 2001; K. Aardal, B. Gerards, eds.)
[Lecture Notes in Computer Science 2081], Springer, Berlin, 2001, pp. 196
209. [1408]
[2002a] B. Guenin, A short proof of Seymours characterization of the matroids
with the max-flow min-cut property, in: Integer Programming and Com-
1596 References
[1981] W. Haemers, An upper bound for the Shannon capacity of a graph, in:
Algebraic Methods in Graph Theory, Vol. I (Colloquium Szeged, 1978; L.
Lovasz, V.T. S
os, eds.) [Colloquia Mathematica Societatis J
anos Bolyai,
25], North-Holland, Amsterdam, 1981, pp. 267272. [1170]
[1995] W.H. Haemers, Interlacing eigenvalues and graphs, Linear Algebra and Its
Applications 227-228 (1995) 593616. [1176]
[1986] M. Hager, A Mengerian theorem for paths of length at least three, Journal
of Graph Theory 10 (1986) 533540. [142]
[2000] T. Hagerup, Improved shortest paths on the word RAM, in: Automata,
Languages and Programming (Proceedings 27th International Colloquium
ICALP 2000, Geneva, 2000; U. Montanari, J.D.P. Rolim, E. Welzl, eds.)
[Lecture Notes in Computer Science 1853], Springer, Berlin, 2000, pp. 61-
72. [103]
[1992] R. Haggkvist, A. Chetwynd, Some upper bounds on the total and list
chromatic numbers of multigraphs, Journal of Graph Theory 16 (1992)
503516. [335, 482]
[1958] A. Hajnal, J. Sur
anyi, Uber die Aufl
osung von Graphen in vollst
andige Teil-
graphen, Annales Universitatis Scientiarum Budapestinensis de Rolando
E
otv
os Nominatae Sectio Mathematica 1 (1958) 113121. [11391140,
1178]
[1934] G. Hajos, Zum Mengerschen Graphensatz, Acta Litterarum ac Scientiarum
Regiae Universitatis Hungaricae Francisco-Josephinae, Sectio Scientiarum
Mathematicarum [Szeged] 7 (1934-35) 4447. [133, 146]
[1957] G. Haj
os, Uber eine Art von Graphen [abstract], Nachrichten der Os-
terreichischen Mathematischen Gesellschaft [Beilage zu ,,Internationale
Mathematische Nachrichten] 11 (47/48) (1957) 65. [1141]
[1961] G. Haj
os, Uber eine Konstruktion nicht n-farbbarer Graphen, Wissen-
schaftliche Zeitschrift der Martin-Luther-Universit
at Halle-Wittenberg, Ma-
thematisch-Naturwissenschaftliche Reihe, 10 (1961) 116117. [10871088]
[1967] G. Haj os, Une preuve du theor`eme de Menger, in: Theory of Graphs In-
ternational Symposium Th eorie des graphes Journees internationales
detude (Rome, 1966; P. Rosenstiehl, ed.), Gordon and Breach, New York,
and Dunod, Paris, 1967, p. 147. [133]
[1962a] S.L. Hakimi, On realizability of a set of integers as degrees of the ver-
tices of a linear graph. I, Journal of the Society for Industrial and Applied
Mathematics 10 (1962) 496506. [573]
[1962b] S.L. Hakimi, Simultaneous flows through a communication network, IRE
Transactions on Circuit Theory CT-9 (1962) 169175. [1229, 1253]
[1965] S.L. Hakimi, On the degrees of the vertices of a directed graph, Journal of
the Franklin Institute 279 (1965) 290308. [176, 1035]
[1986] S.L. Hakimi, O. Kariv, A generalization of edge-coloring in graphs, Journal
of Graph Theory 10 (1986) 139154. [482]
[1973] R.S. Hales, Numerical invariants and the strong product of graphs, Journal
of Combinatorial Theory, Series B 15 (1973) 146155. [11711172]
1600 References
[1964]
R. Halin, Uber trennende Eckenmengen in Graphen und den Mengerschen
Satz, Mathematische Annalen 157 (1964) 3441. [133, 142, 1087]
[1968] R. Halin, Zum Mengerschen Graphensatz, in: Beitr age zur Graphentheorie
(vorgetragen auf dem internationalen Kolloquium, Manebach (GDR), 1967;
H. Sachs, H.-J. Vo, H. Walther, eds.), Teubner, Leipzig, 1968, pp. 4148.
[133]
[1982] R. Halin, Some remarks on interval graphs, Combinatorica 2 (1982) 297
304. [1141]
[1989] R. Halin, Graphentheorie, Akademie-Verlag, Berlin, 1989. [133, 277]
[1935] P. Hall, On representatives of subsets, The Journal of the London Math-
ematical Society 10 (1935) 2630 [reprinted in: The Collected Works of
Philip Hall (K.W. Gruenberg, J.E. Roseblade, eds.), Clarendon Press, Ox-
ford, 1988, pp. 165169]. [284, 378, 392]
[1948] M. Hall, Jr, Distinct representatives of subsets, Bulletin of the American
Mathematical Society 54 (1948) 922926. [379, 389390]
[1993] M.M. Halld orsson, A still better performance guarantee for approximate
graph coloring, Information Processing Letters 45 (1993) 1923. [1104]
[1995] M.M. Halld orsson, Approximating discrete collections via local improve-
ments, in: Proceedings of the Sixth Annual ACM-SIAM Symposium on
Discrete Algorithms (San Francisco, California, 1995), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 1995, pp. 160169. [1104, 1438]
[1996] M.M. Halld orsson, Approximating k-set cover and complementary graph
coloring, in: Integer Programming and Combinatorial Optimization (Pro-
ceedings 5th IPCO Conference, Vancouver, British Columbia, 1996; W.H.
Cunningham, S.T. McCormick, M. Queyranne, eds.) [Lecture Notes in
Computer Science 1084], Springer, Berlin, 1996, pp. 118131. [1438]
[1998] M.M. Halld orsson, Approximations of independent sets in graphs, in: Ap-
proximation Algorithms for Combinatorial Optimization (Proceedings In-
ternational Workshop APPROX98, Aalborg, 1998; K. Jensen, J. Rolim,
eds.) [Lecture Notes in Computer Science, 1444], Springer, Berlin, 1998,
pp. 113. [1105]
[1997] M.M. Halldorsson, J. Radhakrishnan, Greed is good: approximating inde-
pendent sets in sparse and bounded-degree graphs, Algorithmica 18 (1997)
145163. [1104]
[1950] P.R. Halmos, H.E. Vaughan, The marriage problem, American Journal
of Mathematics 72 (1950) 214215 [reprinted in: P.R. Halmos Selecta Re-
search Contributions (D.E. Sarason, N.A. Friedman, eds.), Springer, New
York, 1983, pp. 128129]. [379, 387]
[2000] E. Halperin, Improved approximation algorithms for the vertex cover prob-
lem in graphs and hypergraphs, in: Proceedings of the Eleventh Annual
ACM-SIAM Symposium on Discrete Algorithms (San Francisco, Califor-
nia, USA, 2000), The Association for Computing Machinery, New York,
and Society for Industrial and Applied Mathematics, Philadelphia, Penn-
sylvania, 2000, pp. 329337. [1104, 1438]
References 1601
[2002] E. Halperin, Improved approximation algorithms for the vertex cover prob-
lem in graphs and hypergraphs, SIAM Journal on Computing 31 (2002)
16081623. [1104, 1438]
[2002] E. Halperin, D. Livnat, U. Zwick, MAX CUT in cubic graphs, in: Proceed-
ings of the Thirteenth Annual ACM-SIAM Symposium on Discrete Algo-
rithms (San Francisco, California, 2002), The Association for Computing
Machinery, New York, and Society for Industrial and Applied Mathematics,
Philadelphia, Pennsylvania, 2002, pp. 506513. [1348]
[2001] E. Halperin, R. Nathaniel, U. Zwick, Coloring k-colorable graphs using
smaller palettes, in: Proceedings of the Twelfth Annual ACM-SIAM Sym-
posium on Discrete Algorithms (Washington, D.C., 2001), The Association
for Computing Machinery, New York, and Society for Industrial and Ap-
plied Mathematics, Philadelphia, Pennsylvania, 2001, pp. 319326. [1104]
[2001a] E. Halperin, U. Zwick, A unified framework for obtaining improved approx-
imation algorithms for maximum graph bisection problems, in: Integer Pro-
gramming and Combinatorial Optimization (Proceedings 8th International
IPCO Conference, Utrecht, 2001; K. Aardal, B. Gerards, eds.) [Lecture
Notes in Computer Science 2081], Springer, Berlin, 2001, pp. 210225.
[1351]
[2001b] E. Halperin, U. Zwick, Combinatorial approximation algorithms for the
maximum directed cut problem, in: Proceedings of the Twelfth Annual
ACM-SIAM Symposium on Discrete Algorithms (Washington, D.C., 2001),
The Association for Computing Machinery, New York, and Society for In-
dustrial and Applied Mathematics, Philadelphia, Pennsylvania, 2001, pp.
17. [1351]
[2002] E. Halperin, U. Zwick, A unified framework for obtaining improved ap-
proximation algorithms for maximum graph bisection problems, Random
Structures & Algorithms 20 (2002) 382402. [1351]
[1966] J.H. Halton, A combinatorial proof of a theorem of Tutte, Proceedings of
the Cambridge Philosophical Society (Mathematical and Physical Sciences)
62 (1966) 683684. [415]
[1979] H. Hamacher, Numerical investigations on the maximal flow algorithm of
Karzanov, Computing 22 (1979) 1729. [163]
[1982] H. Hamacher, An O(K n4 ) algorithm for finding the K best cuts in a
network, Operations Research Letters 1 (1982) 186189. [163]
[1856] W.R. Hamilton, Memorandum respecting a new system of roots of unity
(the Icosian calculus), Philosophical Magazine 12 (1856) 446 Proceedings of
the Royal Irish Academy 6 (1858) 415416 [reprinted in: The Mathematical
Papers of Sir William Rowan Hamilton Vol. III Algebra (H. Halberstam,
R.E. Ingram, eds.), Cambridge University Press, Cambridge, 1967, p. 610].
[997]
[1858] W.R. Hamilton, On a new system of roots of unity, Proceedings of the Royal
Irish Academy 6 (1858) 415416 [reprinted in: The Mathematical Papers
of Sir William Rowan Hamilton Vol. III Algebra (H. Halberstam, R.E.
Ingram, eds.), Cambridge University Press, Cambridge, 1967, p. 609]. [997]
1602 References
[1994] J. Hao, J.B. Orlin, A faster algorithm for finding the minimum cut in a
directed graph, Journal of Algorithms 17 (1994) 424446. [247, 251]
[1969] F. Harary, Graph Theory, Addison-Wesley, Reading, Massachusetts, 1969.
[37]
[1976] B. Harris, A code for the transportation problem of linear programming,
Journal of the Association for Computing Machinery 23 (1976) 155157.
[196]
[1955] T.E. Harris, F.S. Ross, Fundamentals of a Method for Evaluating Rail Net
Capacities, Research Memorandum RM-1573, The RAND Corporation,
Santa Monica, California, [October 24,] 1955. [166, 168]
[1984] D.J. Hartfiel, R. Loewy, A determinantal version of the Frobenius-K
onig
theorem, Linear and Multilinear Algebra 16 (1984) 155166. [277]
[1972] J.K. Hartman, L.S. Lasdon, A generalized upper bounding algorithm for
multicommodity network flow problems, Networks 1 (1972) 333354. [1248]
[1981] J. Hartmanis, Observations about the development of theoretical computer
science, Annals of the History of Computing 3 (1981) 4251. [58]
[1989] J. Hartmanis, The structural complexity column, in: Bulletin of the Eu-
ropean Association for Theoretical Computer Science 38 (1989) 101107.
[54, 58]
[1965] J. Hartmanis, R.E. Stearns, On the computational complexity of algo-
rithms, Transactions of the American Mathematical Society 117 (1965)
285306. [55]
[1984] D.B. Hartvigsen, Extensions of Matching Theory, Ph.D. Thesis, Depart-
ment of Mathematics, Carnegie-Mellon University, Pittsburgh, Pennsylva-
nia, 1984. [545]
[1995] D. Hartvigsen, Generalizing the all-pairs min cut problem, Discrete Math-
ematics 147 (1995) 151169. [251]
[1996] D. Hartvigsen, A submodular optimization problem with side constraints,
in: Integer Programming and Combinatorial Optimization (Proceedings 5th
IPCO Conference, Vancouver, British Columbia, 1996; W.H. Cunningham,
S.T. McCormick, M. Queyranne, eds.) [Lecture Notes in Computer Science
1084], Springer, Berlin, 1996, pp. 249259. [819]
[1998a] D. Hartvigsen, A submodular optimization problem with side constraints,
Mathematics of Operations Research 23 (1998) 661679. [819]
[1998b] D. Hartvigsen, The planar multiterminal cut problem, Discrete Applied
Mathematics 85 (1998) 203222. [254]
[1999] D. Hartvigsen, The square-free 2-factor problem in bipartite graphs, in:
Integer Programming and Combinatorial Optimization (Proceedings 7th
IPCO Conference, Graz, 1999; G. Cornuejols, R.E. Burkard, G.J. Woeg-
inger, eds.) [Lecture Notes in Computer Science 1610], Springer, Berlin,
1999, pp. 234241. [341]
[2001a] D. Hartvigsen, A strongly polynomial time algorithm for a constrained sub-
modular optimization problem, Discrete Applied Mathematics 113 (2001)
183194. [819]
1604 References
[1971] M. Held, R.M. Karp, The traveling-salesman problem and minimum span-
ning trees: part II, Mathematical Programming 1 (1971) 625. [985986,
995]
[1974] T. Helgason, Aspects of the theory of hypermatroids, in: Hypergraph Sem-
inar (Proceedings Working Seminar on Hypergraphs, Columbus, Ohio,
1972; C. Berge, D. Ray-Chaudhuri, eds.) [Lecture Notes in Mathematics
411], Springer, Berlin, 1974, pp. 191213. [776, 785]
[1977a] R.V. Helgason, J.L. Kennington, A product form representation of the
inverse of a multicommodity cycle matrix, Networks 7 (1977) 297322.
[1248]
[1977b] R.V. Helgason, J.L. Kennington, An ecient procedure for implementing
a dual simplex network flow algorithm, AIIE Transactions 9 (1977) 6368.
[195196]
[1990] P. Hell, J. Bang-Jensen, J. Huang, Local tournaments and proper circular
arc graphs, in: Algorithms (Proceedings International Symposium SIGAL
90, Tokyo, 1990; T. Asano, T. Ibaraki, H. Imai, T. Nishizeki, eds.) [Lecture
Notes in Computer Science 450], Springer, Berlin, 1990, pp. 101108. [1100]
[1997] P. Hell, J. Huang, Two remarks on circular arc graphs, Graphs and Com-
binatorics 13 (1997) 6572. [1100]
[1981] P. Hell, D.G. Kirkpatrick, On generalized matching problems, Information
Processing Letters 12 (1981) 3335. [526]
[1984] P. Hell, D.G. Kirkpatrick, Packing by cliques and by finite families of
graphs, Discrete Mathematics 49 (1984) 4559. [545]
[1986] P. Hell, D.G. Kirkpatrick, Packings by complete bipartite graphs, SIAM
Journal on Algebraic and Discrete Methods 7 (1986) 199209. [545]
[1993] P. Hell, D.G. Kirkpatrick, Algorithms for degree constrained graph factors
of minimum deficiency, Journal of Algorithms 14 (1993) 115138. [593]
[1988] P. Hell, D. Kirkpatrick, J. Kratochvl, I. Krz, On restricted two-factors,
SIAM Journal on Discrete Mathematics 1 (1988) 472484. [545]
[1982] P. Hell, F.S. Roberts, Analogues of the Shannon capacity of a graph, in:
Theory and Practice of Combinatorics (A. Rosa, G. Sabidussi, J. Turgeon,
eds.) [Annals of Discrete Mathematics 12], North-Holland, Amsterdam,
1982, pp. 155168. [1105, 11711172]
[1984] P. Hell, E.R. Speer, Matroids with weighted bases and Feynman integrals,
in: Convexity and Graph Theory (Proceedings Conference, Jerusalem, Is-
rael, 1981; M. Rosenfeld, J. Zaks, eds.) [Annals of Discrete Mathematics
20], North-Holland, Amsterdam, 1984, pp. 165175. [693]
[1953a] I. Heller, On the problem of shortest path between points. I [abstract],
Bulletin of the American Mathematical Society 59 (1953) 551. [994, 1003]
[1953b] I. Heller, On the problem of shortest path between points. II [abstract],
Bulletin of the American Mathematical Society 59 (1953) 551552. [1003]
[1955a] I. Heller, Geometric characterization of cyclic permutations [abstract], Bul-
letin of the American Mathematical Society 61 (1955) 227. [1003]
1608 References
[1989a] A. Hertz, Skeletal graphsa new class of perfect graphs, Discrete Mathe-
matics 78 (1989) 291296. [1150]
[1989b] A. Hertz, Slender graphs, Journal of Combinatorial Theory, Series B 47
(1989) 231236. [1150]
[1989c] A. Hertz, Slim graphs, Graphs and Combinatorics 5 (1989) 149157. [1150]
[1990a] A. Hertz, A fast algorithm for coloring Meyniel graphs, Journal of Combi-
natorial Theory, Series B 50 (1990) 231240. [1145]
[1990b] A. Hertz, Bipolarizable graphs, Discrete Mathematics 81 (1990) 2532.
[1146]
[1991] A. Hertz, COSINE: a new graph coloring algorithm, Operations Research
Letters 10 (1991) 411415. [1104]
[1995] A. Hertz, Polynomially solvable cases for the maximum stable set problem,
Discrete Applied Mathematics 60 (1995) 195210. [1101]
[1997] A. Hertz, On the use of Boolean methods for the computation of the sta-
bility number, Discrete Applied Mathematics 76 (1997) 183203. [1101]
[1998] A. Hertz, On perfect switching classes, Discrete Applied Mathematics 89
(1998) 263267 [republished: Discrete Applied Mathematics 94 (1999) 37].
[1133]
[1988] A. Hertz, D. de Werra, Perfectly orderable graphs are quasi-parity graphs:
a short proof, Discrete Mathematics 68 (1988) 111113. [1148]
[1993] A. Hertz, D. de Werra, On the stability number of AH-free graphs, Journal
of Graph Theory 17 (1993) 5363. [1101]
[1964] G. Hetyei, 2 1-es teglalapokkal lefedhet
o idomokr ol [Hungarian; On
rectangular configurations which can be covered by 2 1 rectangles], A
Pecsi Tan
arkepz
o F
oiskola Tudom
anyos Kozlemenyei Seria 6: Matematika
8 (1964) 351368. [430]
[1972] G. Hetyei, Egy faktorizaci
os tetel u
j bizonyt
asa [Hungarian; A new proof
of a factorization theorem], A Pecsi Tan arkepzo F
oiskola Tudom
anyos
Kozlemenyei Seria 6: Matematica-Physica-Chemica-Technica 16 (1972) 3
6. [415]
[1999] G. Hetyei, A simple proof of a theorem by Tutte, Mathematica Pannonica
10 (1999) 193196. [415]
[1959] P.J. Higgins, Disjoint transversals of subsets, Canadian Journal of Mathe-
matics 11 (1959) 280285. [385, 744]
[1899] D. Hilbert, Grundlagen der Geometrie, Teubner, Leipzig, 1899. [679]
[1934] D. Hilbert, P. Bernays, Grundlagen der Mathematik Erster Band, Sprin-
ger, Berlin, 1934. [673, 680]
[1975] A.J.W. Hilton, On Vizings upper bound for the chromatic index of a graph,
[in: Colloque sur la Theorie des Graphes, Paris, 1974], Cahiers du Centre
dEtudes de Recherche Operationnelle 17 (1975) 225233. [482]
[1987] A.J.W. Hilton, B. Jackson, A note concerning the chromatic index of multi-
graphs, Journal of Graph Theory 11 (1987) 267272. [482]
[1990] H.R. Hind, An upper bound for the total chromatic number, Graphs and
Combinatorics 6 (1990) 153159. [482]
1610 References
[1986] D.S. Hochbaum, T. Nishizeki, D.B. Shmoys, A better than best possible
algorithm to edge color multigraphs, Journal of Algorithms 7 (1986) 79
104. [477]
[1985] D.S. Hochbaum, D.B. Shmoys, An O(|V |2 ) algorithm for the planar 3-
cut problem, SIAM Journal on Algebraic and Discrete Methods 6 (1985)
707712. [254]
[1989] W. Hochst
attler, W. Kern, Matroid matching in pseudomodular lattices,
Combinatorica 9 (1989) 145152. [764]
[1990] C. van Hoesel, A. Schrijver, Edge-disjoint homotopic paths in a planar
graph with one hole, Journal of Combinatorial Theory, Series B 48 (1990)
7791. [1366]
[1956a] A.J. Homan, Generalization of a theorem of Konig, Journal of the Wash-
ington Academy of Sciences 46 (1956) 211212. [361]
[1956b] A.J. Homan, Linear programming, Applied Mechanics Review 9 (1956)
185187. [303, 317]
[1960] A.J. Homan, Some recent applications of the theory of linear inequali-
ties to extremal combinatorial analysis, in: Combinatorial Analysis (New
York, 1958; R. Bellman, M. Hall, Jr, eds.) [Proceedings of Symposia in
Applied Mathematics, Volume X], American Mathematical Society, Prov-
idence, Rhode Island, 1960, pp. 113127. [138, 171, 275]
[1974] A.J. Homan, A generalization of max flow-min cut, Mathematical Pro-
gramming 6 (1974) 352359. [1398]
[1976a] A.J. Homan, On Lattice Polyhedra II: Construction and Examples, Report
RC 6268, IBM Research Division, San Jose, California, 1976. [10251026]
[1976b] A.J. Homan, Total unimodularity and combinatorial theorems, Linear
Algebra and Its Applications 13 (1976) 103108. [386]
[1978] A.J. Homan, On lattice polyhedra III: Blockers and anti-blockers of lattice
clutters, [in: Polyhedral Combinatorics Dedicated to the Memory of D.R.
Fulkerson (M.L. Balinski, A.J. Homan, eds.)] Mathematical Programming
Study 8 (1978) 197207. [1025]
[1979] A.J. Homan, The role of unimodularity in applying linear inequalities
to combinatorial theorems, in: Discrete Optimization I (Proceedings Ad-
vanced Research Institute on Discrete Optimization and Systems Applica-
tions and Discrete Optimization Symposium, Ban, Alta, and Vancouver,
B.C., Canada, 1977; P.L. Hammer, E.L. Johnson, B.H. Korte, eds.) [Annals
of Discrete Mathematics 4], North-Holland, Amsterdam, 1979, pp. 7384.
[8]
[1982] A.J. Homan, Ordered sets and linear programming, in: Ordered Sets (Pro-
ceedings Ban, 1981; I. Rival, ed.), Reidel, Dordrecht, 1982, pp. 619654.
[236]
[1983] A.J. Homan, Extending Greenes theorem to directed graphs, Journal of
Combinatorial Theory, Series A 34 (1983) 102107. [229, 236]
[1988] A.J. Homan, On greedy algorithms for series parallel graphs, Mathemat-
ical Programming 40 (1988) 197204. [196]
References 1613
A.H.G. Rinnooy Kan, D.B. Shmoys, eds.), Wiley, Chichester, 1985, pp.
115. [1000, 10021003]
[2002] J. Holmerin, Vertex cover on 4-regular hyper-graphs is hard to approximate
within 2, in: Proceedings of the 34th Annual ACM Symposium on Theory
of Computing (34th STOC, Montreal, Quebec, 2002), The Association for
Computing Machinery, New York, 2002, pp. 544552. [1438]
[1981] I. Holyer, The NP-completeness of edge-coloring, SIAM Journal on Com-
puting 10 (1981) 718720. [465, 468, 1085]
[1991] J.A. Hoogeveen, Analysis of Christofides heuristic: some paths are more
dicult than cycles, Operations Research Letters 10 (1991) 291295. [989]
[1996] J.N. Hooker, Resolution and the integrality of satisfiability problems, Math-
ematical Programming 74 (1996) 110. [1104]
[1971] J.E. Hopcroft, R.M. Karp, A n5/2 algorithm for maximum matchings in
bipartite graphs, in: Conference Record 1971 Twelfth Annual Symposium
on Switching and Automata Theory (East Lansing, Michigan, 1971), IEEE,
New York, 1971, pp. 122125. [138, 264, 267, 334]
[1973] J. Hopcroft, R.M. Karp, An n5/2 algorithm for maximum matchings in
bipartite graphs, SIAM Journal on Computing 2 (1973) 225231. [138,
264, 267, 334]
[1973a] J.E. Hopcroft, R.E. Tarjan, Algorithm 447: ecient algorithms for graph
manipulation, Communications of the ACM 16 (1973) 372378. [242]
[1973b] J.E. Hopcroft, R.E. Tarjan, Dividing a graph into triconnected compo-
nents, SIAM Journal on Computing 2 (1973) 135158. [243, 247]
[1994] B. Hoppe, E. Tardos, Polynomial time algorithms for some evacuation
problems, in: Proceedings of the Fifth Annual ACM-SIAM Symposium on
Discrete Algorithms (Arlington, Virginia, 1994), The Association for Com-
puting Machinery, New York, and Society for Industrial and Applied Math-
ematics, Philadelphia, Pennsylvania, 1994, pp. 433441. [195]
[1995] B. Hoppe, E. Tardos, The quickest transshipment problem, in: Proceedings
of the Sixth Annual ACM-SIAM Symposium on Discrete Algorithms (San
Francisco, California, 1995), The Association for Computing Machinery,
New York, and Society for Industrial and Applied Mathematics, Philadel-
phia, Pennsylvania, 1995, pp. 512521. [195]
[2000] B. Hoppe, E. Tardos, The quickest transshipment problem, Mathematics
of Operations Research 25 (2000) 3662. [195]
[1955] A. Horn, A characterization of unions of linearly independent sets, The
Journal of the London Mathematical Society 30 (1955) 494496. [726, 728
729, 743744, 878]
[1996] W.-h. Hou, An algorithm for finding the first k shortest arborescences of a
digraph [Chinese; with English abstract], Mathematica Applicata 9 (1996)
14. [902]
[1979] D.J. Houck, A.O. Pittenger, Analytic proofs of a network feasibility the-
orem and a theorem of Fulkerson, Linear Algebra and Its Applications 24
(1979) 151156. [310]
References 1615
[1977] D.J. Houck, R.R. Vemuganti, An algorithm for the vertex packing problem,
Operations Research 25 (1977) 772787. [1104]
[1993] S. Hougardy, Counterexamples to three conjectures concerning perfect
graphs, Discrete Mathematics 117 (1993) 245251. [1124]
[1995] S. Hougardy, Even and odd pairs in linegraphs of bipartite graphs, Euro-
pean Journal of Combinatorics 16 (1995) 1721. [1124]
[1996a] S. Hougardy, Even pairs and the strong perfect graph conjecture, Discrete
Mathematics 154 (1996) 277278. [1124]
[1996b] S. Hougardy, On the P4 -Structure of Perfect Graphs, [Dissertation, In-
stitut f
ur Informatik, Humboldt-Universit
at, Berlin, 1995] Shaker Verlag,
Aachen, 1996. [1123]
[1997] S. Hougardy, Perfect graphs with unique P4 -structure, Discrete Mathemat-
ics 165/166 (1997) 421430. [1123]
[1999] S. Hougardy, On wing-perfect graphs, Journal of Graph Theory 31 (1999)
5166. [1123]
[2001] S. Hougardy, The P4 -structure of perfect graphs, in: Perfect Graphs (J.L.
Ramrez Alfonsn, B.A. Reed, eds.), Wiley, Chichester, 2001, pp. 93112.
[1123]
[1997] S. Hougardy, V.B. Le, A. Wagler, Wing-triangulated graphs are perfect,
Journal of Graph Theory 24 (1997) 2531. [1123]
[1981] W.-L. Hsu, How to color claw-free perfect graphs, in: Studies on Graphs and
Discrete Programming (Proceedings Workshop on Applications of Graph
Theory to Management, Brussels, 1979, and also 10th Mathematical Pro-
gramming Symposium, Montreal, 1979; P. Hansen, ed.) [Annals of Discrete
Mathematics 11], North-Holland, Amsterdam, 1981, pp. 189197. [1120]
[1984] W.-L. Hsu, The perfect graph conjecture on special graphs a survey, in:
Topics on Perfect Graphs (C. Berge, V. Chvatal, eds.) [Annals of Discrete
Mathematics 21], North-Holland, Amsterdam, 1984, pp. 103113. [1124]
[1985] W.-L. Hsu, Maximum weight clique algorithms for circular-arc graphs and
circle graphs, SIAM Journal on Computing 14 (1985) 224231. [1100]
[1986] W.-L. Hsu, Coloring planar perfect graphs by decomposition, Combinator-
ica 6 (1986) 381385. [1131, 1176]
[1987a] W.-L. Hsu, Decomposition of perfect graphs, Journal of Combinatorial
Theory, Series B 43 (1987) 7094. [1131]
[1987b] W.-L. Hsu, Recognizing planar perfect graphs, Journal of the Association
for Computing Machinery 34 (1987) 255288. [1121]
[1988] W.-L. Hsu, The coloring and maximum independent set problems on planar
perfect graphs, Journal of the Association for Computing Machinery 35
(1988) 535563. [1121]
[1992] T.-s. Hsu, On four-connecting a triconnected graph, in: Proceedings 33rd
Annual Symposium on Foundations of Computer Science (33rd FOCS,
Pittsburgh, Pennsylvania, 1992), IEEE Computer Society Press, Los Alami-
tos, California, 1992, pp. 7079. [1078]
1616 References
[1995] W.-L. Hsu, O(M N ) algorithms for the recognition and isomorphism prob-
lems on circular-arc graphs, SIAM Journal on Computing 24 (1995) 411
439. [1100]
[2000] T.-s. Hsu, On four-connecting a triconnected graph, Journal of Algorithms
35 (2000) 202234. [1078]
[2002] W.-L. Hsu, A simple test for the consecutive ones property, Journal of
Algorithms 43 (2002) 116. [1141]
[1981] W.-L. Hsu, Y. Ikura, G.L. Nemhauser, A polynomial algorithm for maxi-
mum weighted vertex packings on graphs without long odd cycles, Mathe-
matical Programming 20 (1981) 225232. [1100]
[1991] L.-H. Hsu, R.-H. Jan, Y.-C. Lee, C.-N. Hung, M.-S. Chern, Finding the
most vital edge with respect to minimum spanning tree in weighted graphs,
Information Processing Letters 39 (1991) 277281. [865]
[1999] W.-L. Hsu, T.-H. Ma, Fast and simple algorithms for recognizing chordal
comparability graphs and interval graphs, SIAM Journal on Computing 28
(1999) 10041020. [1141]
[1981] W.-L. Hsu, G.L. Nemhauser, Algorithms for minimum covering by cliques
and maximum clique in claw-free perfect graphs, Discrete Mathematics 37
(1981) 181191. [1120]
[1982] W.-L. Hsu, G.L. Nemhauser, A polynomial algorithm for the minimum
weighted clique cover problem on claw-free perfect graphs, Discrete Math-
ematics 38 (1982) 6571. [1120]
[1984] W.-L. Hsu, G.L. Nemhauser, Algorithms for maximum weight cliques, min-
imum weighted clique covers and minimum colorings of claw-free perfect
graphs, in: Topics on Perfect Graphs (C. Berge, V. Chvatal, eds.) [An-
nals of Discrete Mathematics 21], North-Holland, Amsterdam, 1984, pp.
357369. [1120]
[1991] T.-s. Hsu, V. Ramachandran, A linear time algorithm for triconnectivity
augmentation, in: Proceedings 32nd Annual Symposium on Foundations
of Computer Science (32nd FOCS, San Juan, Puerto Rico, 1991), IEEE
Computer Society Press, Los Alamitos, California, 1991, pp. 548559.
[1078]
[1993] T.-s. Hsu, V. Ramachandran, Finding a smallest augmentation to bicon-
nect a graph, SIAM Journal on Computing 22 (1993) 889912. [1078]
[1995] W.-L. Hsu, J.P. Spinrad, Independent sets in circular-arc graphs, Journal
of Algorithms 19 (1995) 145160. [1100]
[1991] W.-L. Hsu, K.-H. Tsai, Linear time algorithms on circular-arc graphs, In-
formation Processing Letters 40 (1991) 123129. [1100]
[1961] T.C. Hu, The maximum capacity route problem, Operations Research 9
(1961) 898900. [866]
[1963] T.C. Hu, Multi-commodity network flows, Operations Research 11 (1963)
344360. [1229, 1231, 1234, 12501251, 12531255]
[1964] T.C. Hu, On the feasibility of simultaneous flows in a network, Operations
Research 12 (1964) 359360. [1229]
References 1617
[1966] T.C. Hu, Minimum-cost flows in convex-cost networks, Naval Research Lo-
gistics Quarterly 13 (1966) 19. [196]
[1968] T.C. Hu, A decomposition algorithm for shortest paths in a network, Op-
erations Research 16 (1968) 91102. [105]
[1969] T.C. Hu, Integer Programming and Network Flows, Addison-Wesley, Read-
ing, Massachusetts, 1969. [84, 162163, 197, 1248]
[1973] T.C. Hu, Two-commodity cut-packing problem, Mathematical Program-
ming 4 (1973) 108109. [1259]
[1974] T.C. Hu, Optimum communication spanning trees, SIAM Journal on Com-
puting 3 (1974) 188195. [251]
[1982] T.C. Hu, Combinatorial Algorithms, Addison-Wesley, Reading, Massachu-
setts, 1982. [106, 119, 163, 197, 871]
[1983] T.C. Hu, M.T. Shing, Multiterminal flows in outerplanar networks, Journal
of Algorithms 4 (1983) 241261. [251]
[1969] T.C. Hu, W.T. Torres, Shortcut in the decomposition algorithm for shortest
paths in a network, IBM Journal of Research and Development 13 (1969)
387390. [105]
[1991] S. Huang, Cartan matrices and strong perfect graph conjecture, in: Graph
Theory, Combinatorics, and Applications Volume 2 (Proceedings Confer-
ence Kalamazoo, Michigan, 1988; Y. Alavi, G. Chartrand, O.R. Oeller-
mann, A.J. Schwenk, eds.), Wiley, New York, 1991, pp. 681686. [1124]
[1999] Y. Huang, X. Guo, On a class of kernel-perfect and kernel-perfect-critical
graphs, Journal of Xinjiang University (Natural Science Edition) 16:3
(1999) 19. [1133]
[1991] A. Huck, A sucient condition for graphs to be weakly k-linked, Graphs
and Combinatorics 7 (1991) 323351. [1243]
[1992] A. Huck, Edge-disjoint paths and cycles in n-edge-connected graphs, Jour-
nal of Graph Theory 16 (1992) 571589. [1243]
[1995] A. Huck, Disproof of a conjecture about independent branchings in k-
connected directed graphs, Journal of Graph Theory 20 (1995) 235239.
[925]
[1995] A. Huck, M. Kochol, Five cycle double covers of some cubic graphs, Journal
of Combinatorial Theory, Series B 64 (1995) 119125. [646]
[2002] A. Huck, E. Triesch, Perfect matchings in balanced hypergraphs a com-
binatorial approach, Combinatorica 22 (2002) 409416. [1444]
[1999] M. Hujter, Combinatorial ranks of matrices, Publications of the University
of Miskolc Series D Natural Sciences Mathematics 40 (1999) 35
46. [1133]
[1983] M.S. Hung, A polynomial simplex method for the assignment problem,
Operations Research 31 (1983) 595600. [291, 308]
[1993] C.-N. Hung, L.-H. Hsu, T.-Y. Sung, The most vital edges of matching in
a bipartite graph, Networks 23 (1993) 309313. [291]
[1980] M.S. Hung, W.O. Rom, Solving the assignment problem by relaxation,
Operations Research 28 (1980) 969982. [291]
1618 References
[1988] C.A.J. Hurkens, On the diameter of the b-matching polytope, in: Combi-
natorics (Proceedings Seventh Hungarian Colloquium on Combinatorics,
Eger, 1987; A. Hajnal, L. Lovasz, V.T. S
os, eds.) [Colloquia Mathematica
Societatis J
anos Bolyai, 52], North-Holland, Amsterdam, 1988, pp. 301
307. [549]
[1991] C.A.J. Hurkens, On the diameter of the edge cover polytope, Journal of
Combinatorial Theory, Series B 51 (1991) 271276. [464]
[1988] C.A.J. Hurkens, L. Lov Tardos, How to tidy up your set-
asz, A. Schrijver, E.
system?, in: Combinatorics (Proceedings Seventh Hungarian Colloquium
on Combinatorics, Eger, 1987; A. Hajnal, L. Lov asz, V.T. Sos, eds.) [Col-
loquia Mathematica Societatis Janos Bolyai, 52], North-Holland, Amster-
dam, 1988, pp. 309314. [1034]
[1989] C.A.J. Hurkens, A. Schrijver, On the size of systems of sets every t of which
have an SDR, with an application to the worst-case ratio of heuristics for
packing problems, SIAM Journal on Discrete Mathematics 2 (1989) 6872.
[1104]
[1988] Tardos, On fractional multicommodity
C.A.J. Hurkens, A. Schrijver, E.
flows and distance functions, Discrete Mathematics 73 (1988) 99109.
[1234, 13041305]
[1985] F.K. Hwang, J. Sun, E.Y. Yao, Optimal set partitioning, SIAM Journal
on Algebraic and Discrete Methods 6 (1985) 163170. [1438]
[1998] T. Ibaraki, A.V. Karzanov, H. Nagamochi, A fast algorithm for finding a
maximum free multiflow in an inner Eulerian network and some general-
izations, Combinatorica 18 (1998) 6183. [1288, 1292]
[1991] T. Ibaraki, S. Poljak, Weak three-linking in Eulerian digraphs, SIAM Jour-
nal on Discrete Mathematics 4 (1991) 8498. [1263]
[1981] O.H. Ibarra, S. Moran, Deterministic and probabilistic algorithms for max-
imum bipartite matching via fast matrix multiplication, Information Pro-
cessing Letters 13 (1981) 1215. [267]
[1982] Y. Ikura, G.L. Nemhauser, An ecient primal simplex algorithm for max-
imum weighted vertex packing on bipartite graphs, in: Bonn Workshop
on Combinatorial Optimization (Bonn, 1980; A. Bachem, M. Gr otschel, B.
Korte, eds.) [Annals of Discrete Mathematics 16], North-Holland, Amster-
dam, 1982, pp. 149168. [361]
[1985] Y. Ikura, G.L. Nemhauser, Simplex pivots on the set packing polytope,
Mathematical Programming 33 (1985) 123138. [1104]
[1986] Y. Ikura, G.L. Nemhauser, Computational experience with a polynomial-
time dual simplex algorithm for the transportation problem, Discrete Ap-
plied Mathematics 13 (1986) 239248. [195196]
[2000] H. Ilani, E. Korach, M. Lomonosov, On extremal multiflows, Journal of
Combinatorial Theory, Series B 79 (2000) 183210. [1292]
[2000] H. Ilani, M. Lomonosov, Maximum balanced flow in a network, Journal of
Combinatorial Theory, Series B 78 (2000) 185197. [1292]
References 1619
[1987] R.W. Irving, P. Leather, D. Gusfield, An ecient algorithm for the opti-
mal stable marriage, Journal of the Association for Computing Machinery
34 (1987) 532543. [313]
[1975] R. Isaacs, Infinite families of nontrivial trivalent graphs which are not Tait
colorable, The American Mathematical Monthly 82 (1975) 221239. [481]
[1956] J.R. Isbell, W.H. Marlow, Attrition games, Naval Research Logistics Quar-
terly 3 (1956) 7194. [886]
[1997] T. Ishii, H. Nagamochi, T. Ibaraki, Augmenting edge and vertex connectiv-
ities simultaneously, in: Algorithms and Computation (Proceedings 8th In-
ternational Symposium ISAAC97, Singapore, 1997; H.W. Leong, H. Imai,
S. Jain, eds.) [Lecture Notes in Computer Science 1350], Springer, Berlin,
1997, pp. 102111. [1079]
[1998a] T. Ishii, H. Nagamochi, T. Ibaraki, Optimal augmentation to make a graph
k-edge-connected and triconnected, in: Proceedings of the Ninth Annual
ACM-SIAM Symposium on Discrete Algorithms (San Francisco, California,
1998), The Association for Computing Machinery, New York, and Society
for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1998,
pp. 280289. [1079]
[1998b] T. Ishii, H. Nagamochi, T. Ibaraki, k-edge and 3-vertex connectivity aug-
mentation in an arbitrary multigraph, in: Algorithms and Computation
(Proceedings 9th International Symposium ISAAC98, Taejon, 1998; K.-
Y. Chwa, O.H. Ibarra, eds.) [Lecture Notes in Computer Science 1533],
Springer, Berlin, 1998, pp. 159168. [1079]
[1999] T. Ishii, H. Nagamochi, T. Ibaraki, Augmenting a (k-1)-vertex-connected
multigraph to an l-edge-connected and k-vertex-connected multigraph, in:
Algorithms ESA 99 (Proceedings 7th Annual European Symposium,
Prague, 1999; J. Nesetril, ed.) [Lecture Notes in Computer Science 1643],
Springer, Berlin, 1999, pp. 414425. [1079]
[2000] T. Ishii, H. Nagamochi, T. Ibaraki, Optimal augmentation of a 2-vertex-
connected multigraph to an l-edge-connected and 3-vertex-connected multi-
graph, Journal of Combinatorial Optimization 4 (2000) 3577. [1079]
[2001] T. Ishii, H. Nagamochi, T. Ibaraki, Multigraph augmentation under bicon-
nectivity and general edge-connectivity requirements, Networks 37 (2001)
144155. [1079]
[1978] A. Itai, Two-commodity flow, Journal of the Association for Computing
Machinery 25 (1978) 596611. [1254]
[1981] A. Itai, R.J. Lipton, C.H. Papadimitriou, M. Rodeh, Covering graphs by
simple circuits, SIAM Journal on Computing 10 (1981) 746750. [646]
[1978] A. Itai, M. Rodeh, Finding a minimum circuit in a graph, SIAM Journal
on Computing 7 (1978) 413423. [94]
[1984] A. Itai, M. Rodeh, The multi-tree approach to reliability in distributed
networks, in: 25th Annual Symposium on Foundations of Computer Science
(25th FOCS, Singer Island, Florida, 1984), IEEE, New York, 1984, pp. 137
147. [892, 1457]
References 1621
[1969] K. Jacobs, Der Heiratssatz, in: Selecta Mathematica I (K. Jacobs, ed.),
Springer, Heidelberg, 1969, pp. 103141. [390]
[1951] N. Jacobson, Lectures in Abstract Algebra I. Basic Concepts, Van Nos-
trand, New York, 1951. [754]
[1976] F. Jaeger, On nowhere-zero flows in multigraphs, in: Proceedings of the
Fifth British Combinatorial Conference 1975 (Aberdeen, 1975; C.St.J.A.
Nash-Williams, J. Sheehan, eds.) [Congressus Numerantium XV], Utilitas
Mathematica, Winnipeg, Manitoba, 1976, pp. 373378. [473, 646]
[1979] F. Jaeger, Flows and generalized coloring theorems in graphs, Journal of
Combinatorial Theory, Series B 26 (1979) 205216. [473, 498, 646]
[1984] F. Jaeger, On circular flows in graphs, in: Finite and Infinite Sets Vol. I
(Proceedings Sixth Hungarian Combinatorial Colloquium, Eger, 1981; A.
Hajnal, L. Lov
asz, V.T. S
os, eds.) [Colloquia Mathematica Societatis J
anos
Bolyai, 37], North-Holland, Amsterdam, 1984, pp. 391402. [473, 1454]
[1985] F. Jaeger, A survey of the cycle double cover conjecture, in: Cycles in
Graphs (B.R. Alspach, C.D. Godsil, eds.) [Annals of Discrete Mathematics
27], North-Holland, Amsterdam, 1985, pp. 112. [498, 646]
[1988] F. Jaeger, Nowhere-zero flow problems, in: Selected Topics in Graph Theory
3 (L.W. Beineke, R.J. Wilson, eds.), Academic Press, London, 1988, pp.
7195. [473, 646, 1454]
[1985] F. Jaeger, A. Khelladi, M. Mollard, On shortest cocycle covers of graphs,
Journal of Combinatorial Theory, Series B 39 (1985) 153163. [646]
[1998] K. Jain, A factor 2 approximation algorithm for the generalized Steiner
network problem, in: Proceedings 39th Annual Symposium on Foundations
of Computer Science (39th FOCS, Palo Alto, California, 1998), IEEE Com-
puter Society Press, Los Alamitos, California, 1998, pp. 448457. [991]
[2001] K. Jain, A factor 2 approximation algorithm for the generalized Steiner
network problem, Combinatorica 21 (2001) 3960. [991]
[1971] I.T. Jakobsen, A homomorphism theorem with an application to the conjec-
ture of Hadwiger, Studia Scientiarum Mathematicarum Hungarica 6 (1971)
151160. [1087]
[1973] I.T. Jakobsen, Some remarks on the chromatic index of a graph, Archiv
der Mathematik [Basel] 24 (1973) 440448. [482]
[1975] I.T. Jakobsen, On graphs critical with respect to edge-colouring, in: Infi-
nite and Finite Sets Vol. II (Proceedings Colloquium on Infinite and Finite
Sets, Keszthely, 1973; A. Hajnal, R. Rado, V.T. S
os, eds.) [Colloquia Math-
ematica Societatis J
anos Bolyai, 10], North-Holland, Amsterdam, 1975, pp.
927934. [482]
[1991] H. Jakobsson, Mixed-approach algorithms for transitive closure, in: Pro-
ceedings of the Tenth ACM SIGACT-SIGMOD-SIGART Symposium on
Principles of Database Systems (Denver, Colorado, 1991), The Association
for Computing Machinery, New York, 1991, pp. 199205. [94]
[1989a] B. Jamison, S. Olariu, A new class of brittle graphs, Studies in Applied
Mathematics 81 (1989) 8992. [1146]
1624 References
[1980] P.A. Jensen, J.W. Barnes, Network Flow Programming, Wiley, New York,
1980. [163, 196197]
[1982] P.M. Jensen, B. Korte, Complexity of matroid property algorithms, SIAM
Journal on Computing 11 (1982) 184190. [672, 757, 762]
[1995] T.R. Jensen, F.B. Shepherd, Note on a conjecture of Toft, Combinatorica
15 (1995) 373377. [1206]
[1995] T.R. Jensen, B. Toft, Graph Coloring Problems, Wiley, New York, 1995.
[482, 1105, 1126, 1133]
[1993] M. Jerrum, G.B. Sorkin, Simulated annealing for graph bisection, in: Pro-
ceedings 34th Annual Symposium on Foundations of Computer Science
(34th FOCS, Palo Alto, California, 1993), IEEE Computer Society Press,
Los Alamitos, California, 1993, pp. 94103. [1351]
[1998] M. Jerrum, G.B. Sorkin, The Metropolis algorithm for graph bisection,
Discrete Applied Mathematics 82 (1998) 155175. [1351]
[1942] R.J. Jessen, Statistical Investigation of a Sample Survey for Obtaining
Farm Facts Research Bulletin 304, Iowa State College of Agriculture and
Mechanic Arts, Ames, Iowa, 1942. [1001]
[1958] W.S. Jewell, Optimal Flows Through Networks [Sc.D. Thesis], Interim
Technical Report No. 8, Army of Ordnance Research: Fundamental Inves-
tigations in Methods of Operations Research, Operations Research Center,
Massachusetts Institute of Technology, Cambridge, Massachusetts, 1958
[partially reprinted in Jewell [1966]]. [184185, 212, 1248, 1250]
[1962] W.S. Jewell, Optimal flow through networks with gains, Operations Re-
search 10 (1962) 476499. [196]
[1966] W.S. Jewell, A Primal-Dual Multi-Commodity Flow Algorithm, Technical
Report ORC 66-24, Operations Research Center, University of California,
Berkeley, California, 1966. [1248, 1250]
[1967] W.S. Jewell, Multi-commodity network solutions, in: Theory of Graphs
International Symposium Th eorie des graphes Journees internationales
detude (Rome, 1966; P. Rosenstiehl, ed.), Gordon and Breach, New York,
and Dunod, Paris, 1967, pp. 183192. [1231]
[1994] P.K. Jha, G. Slutzki, Independence numbers of product graphs, Applied
Mathematics Letters 7:4 (1994) 9194. [1171]
[1986] T. Jian, An O(20.304n ) algorithm for solving maximum independent set
problem, IEEE Transactions on Computers C-35 (1986) 847851. [1104]
[1988] J.W. John, A new lower bound for the set-partitioning problem, SIAM
Journal on Computing 17 (1988) 640647. [1438]
[1961] K.G. Johnson, A theorem on abstract linear dependence relations, Publi-
cationes Mathematicae [Debrecen] 8 (1961) 6467. [672]
[1965] E.L. Johnson, Network Flows, Graphs and Integer Programming, Ph.D.
Thesis, Operations Research Center, University of California, Berkeley,
California, 1965 [partially reprinted as: Programming in Networks and
Graphs, Report ORC 65-1, Operations Research Center, University of Cal-
ifornia, Berkeley, California, 1965]. [559, 561, 567]
1626 References
[1966a] E.L. Johnson, A proof of 4-coloring the edges of a cubic graph, The Amer-
ican Mathematical Monthly 73 (1966) 5255. [481]
[1966b] E.L. Johnson, Networks and basic solutions, Operations Research 14 (1966)
619623. [195]
[1972] E.L. Johnson, On shortest paths and sorting, in: Proceedings of the ACM
Annual Conference 25 (Boston, Massachusetts, 1972), The Association for
Computing Machinery, New York, 1972, pp. 510517. [98, 103104, 128]
[1973a] D.B. Johnson, A note on Dijkstras shortest path algorithm, Journal of the
Association for Computing Machinery 20 (1973) 385388. [52, 115, 122]
[1973b] D.B. Johnson, Algorithms for Shortest Paths, Ph.D. Thesis [Technical Re-
port CU-CSD-73-169, Department of Computer Science], Cornell Univer-
sity, Ithaca, New York, 1973. [52, 98, 103104, 111, 113, 115, 117, 122,
128]
[1974a] D.S. Johnson, Approximation algorithms for combinatorial problems, Jour-
nal of Computer and System Sciences 9 (1974) 256278. [1098, 1380, 1438]
[1974b] D.S. Johnson, Worst case behavior of graph coloring algorithms, in: Pro-
ceedings of the Fifth Southeastern Conference on Combinatorics, Graph
Theory, and Computing (Boca Raton, Florida, 1974; F. Homan, R.A.
Kingsley, R.B. Levow, R.C. Mullin, R.S.D. Thomas, eds.) [Congressus Nu-
merantium X], Utilitas Mathematica, Winnipeg, Manitoba, 1974, pp. 513
527. [11041105]
[1975a] E.L. Johnson, On cut-set integer polyhedra, Cahiers du Centre dEtudes
de Recherche Operationnelle 17 (1975) 235251. [1018, 1023, 10251026]
[1975b] D.B. Johnson, Priority queues with update and finding minimum spanning
trees, Information Processing Letters 4 (1975) 5357. [864]
[1977a] D.B. Johnson, Ecient algorithms for shortest paths in sparse networks,
Journal of the Association for Computing Machinery 24 (1977) 113. [52,
98, 103104, 111, 113, 115, 122, 129]
[1977b] D.B. Johnson, Ecient special purpose priority queues, in: Proceedings
Fifteenth Annual Allerton Conference on Communication, Control, and
Computing (Monticello, Illinois, 1977; F.P. Preparata, M.B. Pursley, eds.),
University of Illinois at Urbana-Champaign, Urbana-Champaign, Illinois,
1977, pp. 17. [103104, 113, 864]
[1980] E.L. Johnson, Subadditive lifting methods for partitioning and knapsack
problems, Journal of Algorithms 1 (1980) 7596. [1438]
[1982] D.B. Johnson, A priority queue in which initialization and queue operations
take O(log log D) time, Mathematical Systems Theory 15 (1982) 295309.
[103104, 113]
[1992] D.S. Johnson, The NP-completeness column: an ongoing guide, Journal of
Algorithms 13 (1992) 502524. [1103]
[1960] D.M. Johnson, A.L. Dulmage, N.S. Mendelsohn, On an algorithm of G.
Birkho concerning doubly stochastic matrices, Canadian Mathematical
Bulletin 3 (1960) 237242. [303]
[1970] D.B. Johnson, J.M. Lafuente, A Controlled Single Pass Classification Al-
gorithm with Application to Multilevel Clustering, Scientific Report No.
References 1627
[1994] M. Junger, S. Thienel, G. Reinelt, Provably good solutions for the traveling
salesman problem, Zeitschrift fur Operations Research 40 (1994) 183217.
[996]
[1999] D. Jungnickel, Graphs, Networks and Algorithms, Springer, Berlin, 1999.
[95, 106, 119, 163, 197, 278, 291, 431, 460, 871]
[1989] D. Jungnickel, M. Leclerc, The 2-matching lattice of a graph, Journal of
Combinatorial Theory, Series B 46 (1989) 246248. [647]
[1990] S.N. Kabadi, R. Chandrasekaran, On totally dual integral systems, Discrete
Applied Mathematics 26 (1990) 87104. [852]
[1962] A.B. Kahn, Topological sorting of large networks, Communications of the
ACM 5 (1962) 558562. [89]
[1984] J. Kahn, A family of perfect graphs associated with directed graphs, Jour-
nal of Combinatorial Theory, Series B 37 (1984) 279282. [1148]
[1986] Y. Kajitani, S. Ueno, The minimum augmentation of a directed tree to a
k-edge-connected directed graph, Networks 16 (1986) 181197. [1062]
[1960] R. Kalaba, On some communication network problems, in: Combinatorial
Analysis (New York, 1958; R. Bellman, M. Hall, Jr, eds.) [Proceedings
of Symposia in Applied Mathematics Volume X], American Mathematical
Society, Providence, Rhode Island, 1960, 1960, pp. 261280. [865866, 876]
[1964] R. Kalaba, Graph theory and automatic control, in: Applied Combinatorial
Mathematics (E.F. Beckenbach, ed.), Wiley, New York, 1964, pp. 237252.
[866]
[1956] R.E. Kalaba, M.L. Juncosa, Optimal design and utilization of communica-
tion networks, Management Science 3 (1956) 3344. [1250]
[1997] G. Kalai, Linear programming, the simplex algorithm and simple poly-
topes, Mathematical Programming 79 (1997) 217233. [65]
[1953] T. Kaluza, Jr, Ein Kriterium f
ur das Vorhandensein von Faktoren in be-
liebigen Graphen, Mathematische Annalen 126 (1953) 464465. [431, 435]
[1991] B. Kalyanasundaram, K. Pruhs, On-line weighted matching, in: Proceed-
ings of the Second Annual ACM-SIAM Symposium on Discrete Algorithms,
Association for Computing Machinery, New York, 1991, pp. 234240. [291,
460]
[1993] B. Kalyanasundaram, K. Pruhs, Online weighted matching, Journal of Al-
gorithms 14 (1993) 478488. [291, 460]
[1995] A. Kamath, O. Palmon, Improved interior point algorithms for exact and
approximate solution of multicommodity flow problems, in: Proceedings
of the Sixth Annual ACM-SIAM Symposium on Discrete Algorithms (San
Francisco, California, 1995), The Association for Computing Machinery,
New York, and Society for Industrial and Applied Mathematics, Philadel-
phia, Pennsylvania, 1995, pp. 502511. [12471248]
[1995] A. Kamath, O. Palmon, S. Plotkin, Fast approximation algorithm for
minimum cost multicommodity flow, in: Proceedings of the Sixth Annual
ACM-SIAM Symposium on Discrete Algorithms (San Francisco, California,
1995), The Association for Computing Machinery, New York, and Society
1630 References
[1998b] A.V. Karzanov, Metrics with finite sets of primitive extensions, Annals of
Combinatorics 2 (1998) 211241. [1295]
[1998c] A.V. Karzanov, Minimum 0-extensions of graph metrics, European Journal
of Combinatorics 19 (1998) 71101. [254, 1295]
[1998d] A.V. Karzanov, On one maximum multiflow problem and related metrics,
Discrete Mathematics 192 (1998) 187204. [1275]
[1978] A.V. Karzanov, M.V. Lomonosov, Sistemy potokov v neorientirovannykh
setyakh [Russian; Systems of flows in undirected networks], in: Matematich-
`
eskoe Programmirovanie. Problemy Sotsialnykh i Ekonomicheskikh Sistem.
Modeli Issledovaniya Operatsi. Sbornik Trudov. Vypusk 1 [Mathematical
Programming. Problems of Social and Economical Systems. Operations Re-
search Models. Work collection. Issue 1] (O.I. Larichev, ed.), Vsesoyuzny
Nauchno-Issledovatelski Institut Sistemnykh Issledovani (VNIISI) [Insti-
tute for System Studies], Moscow, 1978, pp. 5966. [1290]
[1996] A.V. Karzanov, Y.G. Manoussakis, Minimum (2, r)-metrics and integer
multiflows, European Journal of Combinatorics 17 (1996) 223232. [1295]
[1995] A.V. Karzanov, S.T. McCormick, Polynomial methods for separable convex
optimization in unimodular spaces, in: Proceedings of the Sixth Annual
ACM-SIAM Symposium on Discrete Algorithms (San Francisco, California,
1995), The Association for Computing Machinery, New York, and Society
for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1995,
pp. 7887. [196]
[1997] A.V. Karzanov, S.T. McCormick, Polynomial methods for separable convex
optimization in unimodular linear spaces with applications, SIAM Journal
on Computing 26 (1997) 12451275. [196]
[1979] A.V. Karzanov, P.A. Pevzner, Opisanie klassa nerazreznykh zadach o
multipotokach maksimalno moshchnosti [Russian; A description of the
class of non-cut problems in multiflows of maximal power], in: Kombina-
tornye metody v potokovykh zadachakh. Sbornik trudov. Vypusk 3 [Russian;
Combinatorial methods in flow problems. Work collection. Issue 3], (A.V.
Karzanov, ed.), Vsesoyuzny Nauchno-Issledovatelski Institut Sistemnykh
Issledovani (VNIISI) [Institute for System Studies], Moscow, 1979, pp. 70
81. [1291]
[1986] `
A.V. Karzanov, E.A. Timofeev, Eektivny algoritm nakhozhdeniya vsekh
minimalnykh rebernykh razrezov neorientirovannogo grafa [Russian], Ki-
bernetika [Kiev] 1986:2 (1986) 812 [English translation: Ecient algorithm
for finding all minimal edge cuts of a nonoriented graph, Cybernetics 22
(1986) 156162]. [246, 253]
[1981] B.S. Kashin, S.V. Konyagin, O sistemakh vektorov v Gilbertovom pros-
transtve [Russian], [in: Teoriya chisel, matematicheski analiz i ikh prilo-
zheniya (N.N. Bogolyubov, K.K. Mardzhanishchvili, eds)] Trudy ordena
Lenina Matematicheskogo Instituta imeni V.A. Steklova 157 (1981) 6467
[English translation: On systems of vectors in a Hilbert space, [in: The-
ory of Numbers, Mathematical Analysis, and their Applications (N.N. Bo-
golyubov, K.K. Mardzhanishvili, eds)] Proceedings of the Steklov Institute
1640 References
dations of Computer Science (42nd FOCS, Las Vegas, Nevada, 2001), IEEE
Computer Society Press, Los Alamitos, California, 2001, pp. 600609.
[1103]
[1991] S. Khuller, S.G. Mitchell, V.V. Vazirani, On-line algorithms for weighted
bipartite matching and stable marriages, in: Automata, Languages and Pro-
gramming (Proceedings 18th International Colloquium ICALP, Madrid,
1991; J. Leach Albert, B. Monien, M. Rodrguez Artalejo, eds.) [Lecture
Notes in Computer Science 510], Springer, Berlin, 1991, pp. 728738. [291,
313]
[1992] S. Khuller, S.G. Mitchell, V.V. Vazirani, Processor ecient parallel algo-
rithms for the two disjoint paths problem and for finding a Kuratowski
homeomorph, SIAM Journal on Computing 21 (1992) 486506. [1262]
[1994] S. Khuller, S.G. Mitchell, V.V. Vazirani, On-line algorithms for weighted
bipartite matching and stable marriages, Theoretical Computer Science 127
(1994) 255267. [291, 313]
[1990] S. Khuller, J. Naor, Flow in planar graphs with vertex capacities, in: Inte-
ger Programming and Combinatorial Optimization (Proceedings 1st IPCO
Conference, Waterloo, Ontario, 1990; R. Kannan, W.R. Pulleyblank, eds.),
University of Waterloo, Waterloo, Ontario, 1990, pp. 367383. [162]
[1994] S. Khuller, J.(S.) Naor, Flow in planar graphs with vertex capacities, Al-
gorithmica 11 (1994) 200225. [162]
[1993] S. Khuller, J.(S.) Naor, P. Klein, The lattice structure of flow in planar
graphs, SIAM Journal on Discrete Mathematics 6 (1993) 477490. [162]
[1995] S. Khuller, B. Raghavachari, Improved approximation algorithms for uni-
form connectivity problems, in: Proceedings of the Twenty-Seventh An-
nual ACM Symposium on the Theory of Computing (27th STOC, Las Ve-
gas, Nevada, 1995), The Association for Computing Machinery, New York,
1995, pp. 110. [991]
[1993] S. Khuller, B. Raghavachari, N. Young, Balancing minimum spanning and
shortest path trees, in: Proceedings of the Fourth Annual ACM-SIAM Sym-
posium on Discrete Algorithms (Austin, Texas, 1993), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 1993, pp. 243250. [871]
[1994] S. Khuller, B. Raghavachari, N. Young, Approximating the minimum
equivalent digraph, in: Proceedings of the Fifth Annual ACM-SIAM Sympo-
sium on Discrete Algorithms (Arlington, Virginia, 1994), The Association
for Computing Machinery, New York, and Society for Industrial and Ap-
plied Mathematics, Philadelphia, Pennsylvania, 1994, pp. 177186. [991]
[1995a] S. Khuller, B. Raghavachari, N. Young, Approximating the minimum
equivalent digraph, SIAM Journal on Computing 24 (1995) 859872. [991]
[1995b] S. Khuller, B. Raghavachari, N. Young, Balancing minimum spanning trees
and shortest-path trees, Algorithmica 14 (1995) 305321. [871]
[1996] S. Khuller, B. Raghavachari, N. Young, On strongly connected digraphs
with bounded cycle length, Discrete Applied Mathematics 69 (1996) 281
289. [991]
1644 References
[1973] J. K
orner, An extension of the class of perfect graphs, Studia Scientiarum
Mathematicarum Hungarica 8 (1973) 405409. [1133]
[1988] J. Korner, K. Marton, Graphs that split entropies, SIAM Journal on Dis-
crete Mathematics 1 (1988) 7179. [1172]
[1992] J. K
orner, G. Simonyi, Z. Tuza, Perfect couples of graphs, Combinatorica
12 (1992) 179192. [1133]
[1983] B. Korte, L. Lov
asz, Structural properties of greedoids, Combinatorica 3
(1983) 359374. [699]
[1984a] B. Korte, L. Lovasz, Greedoids a structural framework for the greedy
algorithm, in: Progress in Combinatorial Optimization (Proceedings Con-
ference, Waterloo, Ontario, 1982; W.R. Pulleyblank, ed.), Academic Press,
Toronto, Ontario, 1984, pp. 221243. [699]
[1984b] B. Korte, L. Lov
asz, Greedoids and linear objective functions, SIAM Jour-
nal on Algebraic and Discrete Methods 5 (1984) 229238. [699]
[1984c] B. Korte, L. Lov
asz, Shelling structures, convexity and a happy end, in:
Graph Theory and Combinatorics, (Proceedings Cambridge Combinatorial
Conference, Cambridge, 1983; B. Bollobas, ed.), Academic Press, London,
1984, pp. 219232. [699]
[1985a] B. Korte, L. Lov
asz, A note on selectors and greedoids, European Journal
of Combinatorics 6 (1985) 5967. [699]
[1985b] B. Korte, L. Lov
asz, Basis graphs of greedoids and two-connectivity, [in:
Mathematical Programming, Essays in Honor of George B. Dantzig Part I
(R.W. Cottle, ed.)] Mathematical Programming Study 24 (1985) 158165.
[699]
[1985c] B. Korte, L. Lov
asz, Polymatroid greedoids, Journal of Combinatorial The-
ory, Series B 38 (1985) 4172. [784]
[1989] B. Korte, L. Lov
asz, The intersection of matroids and antimatroids, Dis-
crete Mathematics 73 (1989) 143157. [699]
[1991] B. Korte, L. Lov
asz, R. Schrader, Greedoids, Springer, Berlin, 1991. [699]
[1987] N. Korte, R.H. Mohring, A simple linear-time algorithm to recognize inter-
val graphs, in: Graph-Theoretic Concepts in Computer Science (Proceed-
ings Workshop Bernried, 1986; G. Tinhofer, G. Schmidt, eds.) [Lecture
Notes in Computer Science 246], Springer, Berlin, 1987, pp. 116. [1141]
[2001] B. Korte, J. Nesetril, Vojtech Jarnks work in combinatorial optimization,
Discrete Mathematics 235 (2001) 117. [873]
[1990] B. Korte, H.J. Promel, A. Steger, Steiner trees in VLSI-layout, in: Paths,
Flows, and VLSI-Layout (B. Korte, L. Lov asz, H.J. Pr
omel, A. Schrijver,
eds.), Springer, Berlin, 1990, pp. 185214. [1325]
[2000] B. Korte, J. Vygen, Combinatorial Optimization Theory and Algo-
rithms, Springer, Berlin, 2000. [8, 106, 119, 163, 197, 278, 291, 431, 460,
672, 871, 996, 1248]
[1994] S.R. Kosaraju, J.K. Park, C. Stein, Long tours and short superstrings, in:
Proceedings 35th Annual Symposium on Foundations of Computer Science
1652 References
(35th FOCS, Santa Fe, New Mexico, 1994; S. Goldwasser, ed.), IEEE Com-
puter Society Press, Los Alamitos, California, 1994, pp. 166177. [996]
[1977] A.V. Kostochka, The total coloring of a multigraph with maximal degree
4, Discrete Mathematics 17 (1977) 161163. [482]
[1982] A.V. Kostochka, O minimume chisla Khadvigera dlya grafov s danno
sredne stepenyu vershin [Russian; The minimum Hadwiger number for
graphs with a given mean degree of vertices], Metody Diskretnogo Analiza
v Otsenkakh Slozhnosti Upravlyayushchikh Sistem 38 (1982) 3758. [1087]
[1983] A.V. Kostochka, Odno primenenie veera Vizinga [Russian; An application
of the Vizing fan], Kombinatoriy Analiz [K.A. Rybnikova, ed.; Moskovski
Gosuderetvenny Universitet, Mekhaniko-Matematicheski Fakultet, Mos-
cow] 6 (1983) 6869. [482]
[1994] A.V. Kostochka, A refinement of the Frank-Seb o-Tardos theorem and its
applications [in Russian], Sibirski Zhurnal Issledovaniya Operatsi 1 (3)
(1994) 319 [English translation in: Discrete Analysis and Operations Re-
search (A.D. Korshunov, ed.), Kluwer, Dordrecht, 1996, pp. 109123]. [490,
515]
[1985] A.V. Kostochka, A.I. Serdyukov, Polinomialnye algoritmy s otsenkami 3/4
i 5/6 dlya zadachi kommivoyazhera na maksimum [Russian; Polynomial al-
gorithms with the estimates 3/4 and 5/6 for the traveling salesman problem
of the maximum], Upravlyaemye Sistemy 26 (1985) 5559. [996]
[1956] A. Kotzig, Suvislost a Pravideln uvislost Konecn
a S ych Grafov [Slovak; Con-
nectivity and Regular Connectivity of Finite Graphs], Academical Doctor-
ate Dissertation, Vysok
a Skola Ekonomick a, Bratislava, [September] 1956.
[132, 146]
[1957] A. Kotzig, Z teorie konecn ych pravideln ych grafov tretieho a stvrteho
stupna [Slovak; On the theory of finite regular graphs of degree three and
four], Casopis pro P
estov
an Matematiky 82 (1957) 7692. [481]
[1959a] A. Kotzig, Z te
orie konecn
ych grafov s line
arnym faktorom I [Slovak, with
German summary; On the theory of finite graphs with a linear factor I],
Matematicko-Fyzik
alny Casopis Slovenskej Akademie Vied 9 (1959) 7391.
[430, 435]
[1959b] A. Kotzig, Z te
orie konecnych grafov s line
arnym faktorom II [Slovak, with
German summary; On the theory of finite graphs with a linear factor II],
Matematicko-Fyzik
alny Casopis Slovenskej Akademie Vied 9 (1959) 136
159. [428, 430, 435]
[1960] A. Kotzig, Z teorie konecn
ych grafov s line
arnym faktorom III [Slovak,
with German summary; On the theory of finite graphs with a linear factor
III], Matematicko-Fyzik
alny Casopis Slovenskej Akademie Vied 10 (1960)
205215. [428, 430, 435]
[1961a] A. Kotzig, Beitrag zur Theorie der endlichen gerichteten Graphen, Wis-
senschaftliche Zeitschrift der Martin-Luther-Universit
at, Halle-Wittenberg,
Mathematisch-Naturwissenschaftliche Reihe, 10 (1961) 118125 [147]
[1961b] A. Kotzig, S
uvisle podgrafy s minim
alnou hodnotou v konecnom s uvislom
grafe, Casopis pro Pestov
an Matematiky 86 (1961) 16. [868, 876]
References 1653
[1967] E.L. Lawler, Optimal cycles in doubly weighted directed linear graphs, in:
Theory of Graphs International Symposium Th eorie des graphes
Journees internationales detude (Rome, 1966; P. Rosenstiehl, ed.), Gordon
and Breach, New York, and Dunod, Paris, 1967, pp. 209213. [112]
[1970] E.L. Lawler, Optimal matroid intersections, in: Combinatorial Structures
and Their Applications (Proceedings Calgary International Conference on
Combinatorial Structures and Their Applications, Calgary, Alberta, 1969;
R. Guy, H. Hanani, N. Sauer, J. Schonheim, eds.), Gordon and Breach,
New York, 1970, pp. 233234. [705, 707]
[1971a] E.L. Lawler, A solvable case of the traveling salesman problem, Mathemat-
ical Programming 1 (1971) 267269. [996]
[1971b] E.L. Lawler, Matroids with parity conditions: a new class of combinatorial
optimization problems, Memorandum No. ERL-M334, Electronics Research
Laboratory, College of Engineering, University of California, Berkeley, Cal-
ifornia, 1971. [745]
[1975] E.L. Lawler, Matroid intersection algorithms, Mathematical Programming
9 (1975) 3156. [705, 707]
[1976a] E.L. Lawler, A note on the complexity of the chromatic number problem,
Information Processing Letters 5 (1976) 6667. [1104]
[1976b] E.L. Lawler, Combinatorial Optimization: Networks and Matroids, Holt,
Rinehart and Winston, New York, 1976. [8, 106, 119, 163, 197, 277, 291,
356357, 422, 431, 458, 460, 672, 707, 712, 745, 871]
[1977] E.L. Lawler, Comment on computing the k shortest paths in a graph,
Communications of the ACM 20 (1977) 603604. [105]
[1982] E.L. Lawler, Generalizations of the Polymatroidal Network Flow Model,
Report BW 158/82, Stichting Mathematisch Centrum, Amsterdam, 1982.
[1029]
[1985] E.L. Lawler, Submodular functions and polymatroid optimization, in:
Combinatorial Optimization Annotated Bibliographies (M. OhEigear-
taigh, J.K. Lenstra, A.H.G. Rinnooy Kan, eds.), Wiley, Chichester, 1985,
pp. 3238. [785]
[1985] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, eds., The
Traveling Salesman Problem A Guided Tour of Combinatorial Opti-
mization, Wiley, Chichester, 1985. [996]
[1982a] E.L. Lawler, C.U. Martel, Computing maximal polymatroidal network
flows, Mathematics of Operations Research 7 (1982) 334347. [694, 805,
1028]
[1982b] E.L. Lawler, C.U. Martel, Flow network formulations of polymatroid op-
timization problems, in: Bonn Workshop on Combinatorial Optimization
(Bonn, 1980; A. Bachem, M. Grotschel, B. Korte, eds.) [Annals of Discrete
Mathematics 16], North-Holland, Amsterdam, 1982, pp. 189200. [1028]
[1966] E.L. Lawler, D.E. Wood, Branch-and-bound methods: a survey, Operations
Research 14 (1966) 699719. [996]
[1975] J.F. Lawrence, Oriented Matroids, Ph.D. Thesis, [Mathematics,] University
of Washington, Seattle, Washington, 1975. [1416]
1658 References
[1957] M. Leyzorek, R.S. Gray, A.A. Johnson, W.C. Ladew, S.R. Meaker, Jr,
R.M. Petry, R.N. Seitz, Investigation of Model Techniques First Annual
Report 6 June 1956 1 July 1957 A Study of Model Techniques for
Communication Systems, Case Institute of Technology, Cleveland, Ohio,
1957. [52, 97, 104, 113, 121122, 126127]
[1998] Y. Li, M.-c. Cai, A degree condition for a graph to have [a, b]-factors,
Journal of Graph Theory 27 (1998) 16. [593]
[1981] S.-Y.R. Li, W.-C.W. Li, Independence numbers of graphs and generators
of ideals, Combinatorica 1 (1981) 5561. [1102]
[1991] K.-F. Liao, M. Sarrafzadeh, Vertex-disjoint trees and boundary single-layer
routing, in: Graph-Theoretic Concepts in Computer Science (16th Interna-
tional Workshop WG90, Berlin, 1990; R.H. M ohring, ed.) [Lecture Notes
in Computer Science, 484], Springer, Berlin, 1991, pp. 99108. [1321, 1323]
[1991] M. Libura, Sensitivity analysis for minimum weight base of a matroid,
Control and Cybernetics 20:3 (1991) 724. [699]
[1983] V. Lifschitz, B. Pittel, The worst and the most probable performance of
a class of set-covering algorithms, SIAM Journal on Computing 12 (1983)
329346. [1438]
[1965] S. Lin, Computer solutions of the traveling salesman problem, The Bell
System Technical Journal 44 (1965) 22452269. [995]
[1993] K.-C. Lin, M.-S. Chern, The most vital edges in the minimum spanning
tree problem, Information Processing Letters 45 (1993) 2531. [865]
[1973] S. Lin, B.W. Kernighan, An eective heuristic algorithm for the traveling-
salesman problem, Operations Research 21 (1973) 498516. [996]
[1984]
P.O. Lindberg, S. Olafsson, On the length of simplex paths: the assignment
case, Mathematical Programming 30 (1984) 243260. [291]
[1973] B. Lindstr
om, On the vector representations of induced matroids, Bulletin
of the London Mathematical Society 5 (1973) 8590. [661]
[1984] B. Lindstr
om, A simple non-algebraic matroid of rank three, Utilitas Math-
ematica 25 (1984) 9597. [657]
[1986] B. Lindstrom, A non-linear algebraic matroid with infinite characteristic
set, Discrete Mathematics 59 (1986) 319320. [657]
[1988] B. Lindstr
om, A generalization of the Ingleton-Main lemma and a class of
non-algebraic matroids, Combinatorica 8 (1988) 8790. [765]
[1989] B. Lindstr
om, Matroids algebraic over F (t) are algebraic over F , Combi-
natorica 9 (1989) 107109. [657]
[1998] C. Linhares Sales, F. Maray, Even pairs in claw-free perfect graphs, Jour-
nal of Combinatorial Theory, Series B 74 (1998) 169191. [1124]
[1997] C. Linhares Sales, F. Maray, B. Reed, On planar perfectly contractile
graphs, Graphs and Combinatorics 13 (1997) 167187. [1124]
[1978] N. Linial, Covering digraphs by paths, Discrete Mathematics 23 (1978)
257272. [233]
1662 References
[1977a] L. Lov
asz, A homology theory for spanning trees of a graph, Acta Mathe-
matica Academiae Scientiarum Hungaricae 30 (1977) 241251. [871]
[1977b] L. Lov asz, Certain duality principles in integer programming, in: Stud-
ies in Integer Programming (Proceedings Workshop on Integer Program-
ming, Bonn, 1975; P.L. Hammer, E.L. Johnson, B.H. Korte, G.L. Nemhau-
ser, eds.) [Annals of Discrete Mathematics 1], North-Holland, Amsterdam,
1977, pp. 363374. [1385, 14021403, 14351437]
[1977c] L. Lovasz, Flats in matroids and geometric graphs, in: Combinatorial
Surveys Proceedings of the Sixth British Combinatorial Conference
(London-Egham, 1977; P.J. Cameron, ed.), Academic Press, London, 1977,
pp. 4586. [785, 823824]
[1979a] L. Lov
asz, Combinatorial Problems and Exercises, Akademiai Kiad
o, Bu-
dapest, 1979. [946, 1063, 1254]
[1979b] L. Lovasz, Graph theory and integer programming, in: Discrete Optimiza-
tion I (Proceedings Advanced Research Institute on Discrete Optimization
and Systems Applications and Discrete Optimization Symposium, Ban,
Alta, and Vancouver, B.C., Canada, 1977; P.L. Hammer, E.L. Johnson,
B.H. Korte, eds.) [Annals of Discrete Mathematics 4], North-Holland, Am-
sterdam, 1979, pp. 141158. [414415, 439, 442, 947]
[1979c] L. Lovasz, On determinants, matchings, and random algorithms, in: Fun-
damentals of Computation Theory FCT 79 Proceedings of the Conference
on Algebraic, Arithmetic, and Categorial Methods in Computation Theory
(Berlin, 1979; L. Budach, ed.), Akademie-Verlag, Berlin, 1979, pp. 565574.
[429]
[1979d] L. Lov
asz, On the Shannon capacity of a graph, IEEE Transactions on
Information Theory IT-25 (1979) 17. [1152, 1160, 11681170, 1184]
[1980a] L. Lovasz, Matroid matching and some applications, Journal of Combina-
torial Theory, Series B 28 (1980) 208236. [745, 751, 755756, 776, 1283]
[1980b] L. Lov
asz, Selecting independent lines from a family of lines in a space,
Acta Scientiarum Mathematicarum [Szeged] 42 (1980) 121131. [745, 753]
[1981] L. Lov
asz, The matroid matching problem, in: Algebraic Methods in Graph
Theory, Vol. II (Colloquium Szeged, 1978; L. Lov
asz, V.T. S
os, eds.) [Col-
loquia Mathematica Societatis J
anos Bolyai, 25], North-Holland, Amster-
dam, 1981, pp. 495517. [757, 762]
[1982] L. Lov
asz, Bounding the independence number of a graph, in: Bonn
Workshop on Combinatorial Optimization (Bonn, 1980; A. Bachem, M.
Gr
otschel, B. Korte, eds.) [Annals of Discrete Mathematics 16], North-
Holland, Amsterdam, 1982, pp. 213223. [1103]
[1983a] L. Lov
asz, Ear-decompositions of matching-covered graphs, Combinatorica
3 (1983) 105117. [430]
[1983b] L. Lovasz, Perfect graphs, in: Selected Topics in Graph Theory 2 (L.W.
Beineke, R.J. Wilson, eds.), Academic Press, London, 1983, pp. 5587.
[1133, 1138, 1143, 1150, 1166]
[1983c] L. Lov
asz, Submodular functions and convexity, in: Mathematical Program-
ming The State of the Art (Bonn, 1982; A. Bachem, M. Gr otschel, B.
1666 References
Korte, eds.), Springer, Berlin, 1983, pp. 235257. [768, 770, 781, 784785,
799, 822]
[1985] L. Lov
asz, Some algorithmic problems on lattices, in: Theory of Algorithms
(Proceedings Colloquium Pecs, 1984; L. Lovasz, E. Szemeredi, eds.) [Col-
loquia Mathematica Societatis J
anos Bolyai, 44], North-Holland, Amster-
dam, 1985, pp. 323337. [331, 643]
[1986] L. Lov asz, An Algorithmic Theory of Numbers, Graphs and Convexity
[CBMS-NSF Regional Conference Series in Applied Mathematics 50], So-
ciety for Industrial and Applied Mathematics, Philadelphia, Pennsylvania,
1986. [8, 84, 1107]
[1987] L. Lovasz, Matching structure and the matching lattice, Journal of Com-
binatorial Theory, Series B 43 (1987) 187222. [476, 612, 617, 619620,
630, 643, 1455]
[1994] L. Lov
asz, Stable sets and polynomials, Discrete Mathematics 124 (1994)
137153. [11021103]
[1997] L. Lov
asz, The membership problem in jump systems, Journal of Combi-
natorial Theory, Series B 70 (1997) 4566. [723]
[1978] L. Lov
asz, V. Neumann-Lara, M. Plummer, Mengerian theorems for paths
of bounded length, Periodica Mathematica Hungarica 9 (1978) 269276.
[141]
[1975] L. Lov
asz, M.D. Plummer, On bicritical graphs, in: Infinite and Finite
Sets Volume II (A. Hajnal, R.Rado, V.T. S
os, eds.), North-Holland, Ams-
terdam, 1975, pp. 10511079. [427, 430]
[1986] L. Lovasz, M.D. Plummer, Matching Theory, Akademiai Kiad
o, Budapest
[also: North-Holland Mathematics Studies Volume 121, North-Holland,
Amsterdam], 1986. [308, 427428, 431, 538, 1217]
[1989] L. Lovasz, A. Schrijver, Matrix cones, projection representations, and sta-
ble set polyhedra, in: Polyhedral Combinatorics (Proceedings DIMACS
Workshop, Morristown, New Jersey, 1989; W. Cook, P.D. Seymour, eds.)
[DIMACS Series in Discrete Mathematics and Theoretical Computer Sci-
ence, Volume 1], American Mathematical Society, Providence, Rhode Is-
land, 1990, pp. 117. [1104, 1173]
[1991] L. Lov
asz, A. Schrijver, Cones of matrices and set-functions and 01 opti-
mization, SIAM Journal on Optimization 1 (1991) 166190. [1104, 1161,
1173]
[1993] L. Lov Seress, The cocycle lattice of binary matroids, European
asz, A.
Journal of Combinatorics 14 (1993) 241250. [1425]
[1995] L. Lov Seress, The cocycle lattice of binary matroids, II, Linear
asz, A.
Algebra and Its Applications 226-228 (1995) 553565. [1425]
[2000] V.V. Lozin, Stability in P5 - and banner-free graphs, European Journal of
Operational Research 125 (2000) 292297. [1101]
[1982] A. Lubiw, -free Matrices, M.Sc. Thesis, University of Waterloo, Waterloo,
Ontario, 1982. [14451447]
[1987] A. Lubiw, Doubly lexical orderings of matrices, SIAM Journal on Com-
puting 16 (1987) 854879. [1143, 1447]
References 1667
[1980]
W. Mader, Uber ein graphentheoretisches Ergebnis von T. Gallai, Acta
Mathematica Academiae Scientiarum Hungaricae 35 (1980) 205215.
[1290]
[1982] W. Mader, Konstruktion aller n-fach kantenzusammenh angenden Digrap-
hen, European Journal of Combinatorics 3 (1982) 6367. [1058]
[1985] W. Mader, Paths in graphs, reducing the edge-connectivity only by two,
Graphs and Combinatorics 1 (1985) 8189. [1243]
[1989] W. Mader, On disjoint paths in graphs, in: Graph theory: in memory of
G.A. Dirac (Sandbjerg, Denmark, 1985; L. Dvling Andersen, I. Tafteberg
Jakobsen, C. Thomassen, B. Toft, P.D. Vestergaard, eds.) [Annals of Dis-
crete Mathematics 41], North-Holland, Amsterdam, 1989, pp. 333340.
[142, 1290]
[1986] F. Maray, On kernels in i-triangulated graphs, Discrete Mathematics 61
(1986) 247251. [1130]
[1992] F. Maray, Kernels in perfect line-graphs, Journal of Combinatorial The-
ory, Series B 55 (1992) 18. [1130]
[1993] F. Maray, Antitwins in partitionable graphs, Discrete Mathematics 112
(1993) 275278. [1124]
[1996] F. Maray, O. Porto, M. Preissmann, A generalization of simplicial elimi-
nation orderings, Journal of Graph Theory 23 (1996) 203208. [1122]
[1994] F. Maray, M. Preissmann, Perfect graphs with no P5 and no K5 , Graphs
and Combinatorics 10 (1994) 179184. [1121]
[1995] F. Maray, M. Preissmann, Split-neighbourhood graphs and the strong
perfect graph conjecture, Journal of Combinatorial Theory, Series B 63
(1995) 294309. [1122]
[1999] F. Maray, M. Preissmann, Sequential colorings and perfect graphs, Dis-
crete Applied Mathematics 94 (1999) 287296. [1150]
[1999] F. Maray, B.A. Reed, A description of claw-free perfect graphs, Journal
of Combinatorial Theory, Series B 75 (1999) 134156. [1120]
[1995] N.V.R. Mahadev, U.N. Peled, Threshold Graphs and Related Topics [An-
nals of Discrete Mathematics 56], Elsevier, Amsterdam, 1995. [1141]
[1995] S. Mahajan, H. Ramesh, Derandomizing semidefinite programming based
approximation algorithms, in: Proceedings 36th Annual Symposium on
Foundations of Computer Science (36th FOCS, Milwaukee, Wisconsin,
1995), IEEE Computer Society Press, Los Alamitos, California, 1995, pp.
162169. [1347]
[1999] S. Mahajan, H. Ramesh, Derandomizing approximation algorithms based
on semidefinite programming, SIAM Journal on Computing 28 (1999)
16411663. [1347]
[1940] P.C. Mahalanobis, A sample survey of the acreage under jute in Bengal,
Sankhy
a 4 (1940) 511530. [1001]
[1988] A.R. Mahjoub, On the stable set polytope of a series-parallel graph, Math-
ematical Programming 40 (1988) 5357. [1194]
1670 References
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 2000, pp. 944952. [195]
[2000b] S.T. McCormick, A. Shioura, Minimum ratio canceling is oracle polynomial
for linear programming, but not strongly polynomial, even for networks,
Operations Research Letters 27 (2000) 199207. [195]
[1984] W. McCuaig, A simple proof of Mengers theorem, Journal of Graph Theory
8 (1984) 427429. [133]
[1993] W. McCuaig, Intercyclic digraphs, in: Graph Structure Theory (Proceed-
ings Joint Summer Research Conference on Graph Minors, Seattle, Wash-
ington, 1991; N. Robertson, P. Seymour, eds.) [Contemporary Mathematics
147], American Mathematical Society, Providence, Rhode Island, 1993, pp.
203245. [959]
[1972] C.J.H. McDiarmid, The solution of a timetabling problem, Journal of the
Institute of Mathematics and Its Applications 9 (1972) 2334. [325, 336,
481]
[1973] C. McDiarmid, An application of a reduction method of R. Rado to the
study of common transversals, Mathematika [London] 20 (1973) 8386.
[394]
[1975a] C.J.H. McDiarmid, An exchange theorem for independence structures, Pro-
ceedings of the American Mathematical Society 47 (1975) 513514. [728]
[1975b] C.J.H. McDiarmid, Extensions of Mengers theorem, The Quarterly Jour-
nal of Mathematics (Oxford) (2) 26 (1975) 141157. [141142, 737]
[1975c] C.J.H. McDiarmid, Rados theorem for polymatroids, Mathematical Pro-
ceedings of the Cambridge Philosophical Society 78 (1975) 263281. [781
783, 785]
[1976] C. McDiarmid, On Pairs of Strongly-Base-Orderable Matroids, Technical
Report No. 283, School of Operations Research and Industrial Engineering,
College of Engineering, Cornell University, Ithaca, New York, 1976. [739,
802]
[1978] C. McDiarmid, Blocking, antiblocking, and pairs of matroids and polyma-
troids, Journal of Combinatorial Theory, Series B 25 (1978) 313325. [719,
797, 802, 846]
[1979] C. McDiarmid, Determining the chromatic number of a graph, SIAM Jour-
nal on Computing 8 (1979) 114. [1104]
[1983] C. McDiarmid, Integral decomposition in polyhedra, Mathematical Pro-
gramming 25 (1983) 183198. [743, 804, 901, 911]
[1993] C. McDiarmid, B. Reed, On total colourings of graphs, Journal of Combi-
natorial Theory, Series B 57 (1993) 122130. [482]
[1971] R.J. McEliece, E.C. Posner, Hide and seek, data storage, and entropy, The
Annals of Mathematical Statistics 42 (1971) 17061716. [1172]
[1978] R.J. McEliece, E.R. Rodemich, H.C. Rumsey, Jr, The Lovasz bound and
some generalizations, Journal of Combinatorics, Information & System
Sciences 3 (1978) 134152. [1173]
1676 References
[1973] R.J. McEliece, H. Taylor, Covering tori with squares, Journal of Combina-
torial Theory, Series A 14 (1973) 119124. [1172]
[1995] C.C. McGeoch, All-pairs shortest paths and the essential subgraph, Algo-
rithmica 13 (1995) 426441. [105]
[1983] L.F. McGinnis, Implementation and testing of a primal-dual algorithm for
the assignment problem, Operations Research 31 (1983) 277291. [291]
[1998] F.R. McMorris, C. Wang, P. Zhang, On probe interval graphs, Discrete
Applied Mathematics 88 (1998) 315324. [1148]
[1960] R. McNaughton, H. Yamada, Regular expressions and state graphs for
automata, IRE Transactions on Electronic Computers EC-9 (1960) 39
47 [reprinted in: Sequential Machines: Selected Papers (E.F. Moore, ed.),
Addison-Wesley, Reading, Massachusetts, 1964, pp. 157174]. [110, 129]
[1970] D.G. McVitie, L.B. Wilson, Stable marriage assignment for unequal sets,
BIT 10 (1970) 295309. [312]
[1971] I.P. McWhirter, D.H. Younger, Strong covering of a bipartite graph, The
Journal of the London Mathematical Society (2) 2 (1971) 8690. [959]
2
[1982] D.G. Mead, W. Narkiewicz, The capacity of C5 and free sets in Cm , Pro-
ceedings of the American Mathematical Society 84 (1982) 308310. [1171]
[1974] N. Megiddo, Optimal flows in networks with multiple sources and sinks,
Mathematical Programming 7 (1974) 97107. [162]
[1978] N. Megiddo, A. Tamir, An O(N log N ) algorithm for a class of matching
problems, SIAM Journal on Computing 7 (1978) 154157. [460]
[1999] K. Mehlhorn, S. N aher, LEDA A Platform for Combinatorial and Geo-
metric Computing, Cambridge University Press, Cambridge, 1999. [8, 49,
95, 106, 119, 163, 278, 291, 431]
[1986] K. Mehlhorn, F.P. Preparata, Routing through a rectangle, Journal of the
Association for Computing Machinery 33 (1986) 6085. [1324]
[1986] K. Mehlhorn, F.P. Preparata, M. Sarrafzadeh, Channel routing in knock-
knee mode: simplified algorithms and proofs, Algorithmica 1 (1986) 213
221. [13241325]
[1997] K. Mehlhorn, V. Priebe, On the all-pairs shortest-path algorithm of Moat
and Takaoka, Random Structures & Algorithms 10 (1997) 205220. [105]
[1975] A. Meir, J.W. Moon, Relations between packing and covering numbers of
a tree, Pacific Journal of Mathematics 61 (1975) 225233. [1447]
[1969] L.S. Melnikov, V.G. Vizing, New proof of Brooks theorem, Journal of
Combinatorial Theory 7 (1969) 289290. [1086]
[1958a] N.S. Mendelsohn, A.L. Dulmage, Some generalizations of the problem of
distinct representatives, Canadian Journal of Mathematics 10 (1958) 230
241. [266]
[1958b] N.S. Mendelsohn, A.L. Dulmage, The convex hull of sub-permutation ma-
trices, Proceedings of the American Mathematical Society 9 (1958) 253254.
[311]
[1927] K. Menger, Zur allgemeinen Kurventheorie, Fundamenta Mathematicae 10
(1927) 96115. [6, 131, 133, 142, 169]
References 1677
[1989] D.L. Miller, J.F. Pekny, Results from a parallel branch and bound algo-
rithm for the asymmetric traveling salesman problem, Operations Research
Letters 8 (1989) 129135. [995]
[1991] D.L. Miller, J.F. Pekny, Exact solution of large asymmetric traveling sales-
man problems, Science 251 (1991) 754761. [995]
[1987] G.L. Miller, V. Ramachandran, A new graph triconnectivity algorithm and
its parallelization, in: Proceedings of the Nineteenth Annual ACM Sympo-
sium on Theory of Computing (19th STOC, New York, 1987), The Asso-
ciation for Computing Machinery, New York, 1987, pp. 335344. [243]
[1992] G.L. Miller, V. Ramachandran, A new graph triconnectivity algorithm and
its parallelization, Combinatorica 12 (1992) 5376. [243]
[1960] C.E. Miller, A.W. Tucker, R.A. Zemlin, Integer programming formulation
of traveling salesman problems, Journal of the Association for Computing
Machinery 7 (1960) 326329. [993]
[1933]
Y. Mimura, Uber die Bogenl
ange, Ergebnisse eines Mathematischen Kol-
loquiums 4 (1933) 2022. [999]
[1973] E. Minieka, Maximal, lexicographic, and dynamic network flows, Opera-
tions Research 21 (1973) 517527. [162, 195]
[1974] E. Minieka, On computing sets of shortest paths in a graph, Communica-
tions of the ACM 17 (1974) 351353. [105]
[1978] E. Minieka, Optimization Algorithms for Networks and Graphs, Marcel
Dekker, New York, 1978. [106, 163, 196197, 431, 460, 871, 903, 996]
[1979] E. Minieka, The Chinese postman problem for mixed networks, Manage-
ment Science 25 (1979) 643648. [518]
[1896] H. Minkowski, Geometrie der Zahlen (Erste Lieferung), Teubner, Leipzig,
1896. [6061]
[1975] M. Minoux, Resolution des probl`emes de multiflots en nombres entiers
dans les grands reseaux, Revue Francaise d Automatique Informatique et
de Recherche Operationnelle 9:octobre (1975) 2140. [1248]
[1984] M. Minoux, A polynomial algorithm for minimum quadratic cost flow prob-
lems, European Journal of Operational Research 18 (1984) 377387. [196]
[1986] M. Minoux, Solving integer minimum cost flows with separable convex
cost objective polynomially, [in: Netflow in Pisa (G. Gallo, C. Sandi, eds.)]
Mathematical Programming Study 26 (1986) 237239. [196]
[1957] G.J. Minty, A comment on the shortest-route problem, Operations Re-
search 5 (1957) 724. [127]
[1958] G.J. Minty, A variant on the shortest-route problem, Operations Research
6 (1958) 882883. [125]
[1960] G.J. Minty, Monotone networks, Proceedings of the Royal Society of Lon-
don, Series A. Mathematical and Physical Sciences 257 (1960) 194212.
[190, 196, 377]
[1961] G.J. Minty, Solving steady-state nonlinear networks of monotone ele-
ments, IRE Transactions on Circuit Theory CT-8 (1961) 99104. [196]
1680 References
[1992] D. Naddef, The binested inequalities for the symmetric traveling salesman
polytope, Mathematics of Operations Research 17 (1992) 882900. [991]
[2001] D. Naddef, Y. Pochet, The symmetric traveling salesman polytope revis-
ited, Mathematics of Operations Research 26 (2001) 700722. [990]
[1981a] D. Naddef, W.R. Pulleyblank, Hamiltonicity and combinatorial polyhedra,
Journal of Combinatorial Theory, Series B 31 (1981) 297312. [448, 699,
1104]
[1981b] D. Naddef, W.R. Pulleyblank, Matchings in regular graphs, Discrete Math-
ematics 34 (1981) 283291. [452]
[1982] D.J. Naddef, W.R. Pulleyblank, Ear decompositions of elementary graphs
and GF2 -rank of perfect matchings, in: Bonn Workshop on Combinatorial
Optimization (Bonn, 1980; A. Bachem, M. Gr otschel, B. Korte, eds.) [An-
nals of Discrete Mathematics 16], North-Holland, Amsterdam, 1982, pp.
241260. [647]
[1991] D. Naddef, G. Rinaldi, The symmetric traveling salesman polytope and
its graphical relaxation: composition of valid inequalities, Mathematical
Programming 51 (1991) 359400. [991]
[1992] D. Naddef, G. Rinaldi, The crown inequalities for the symmetric traveling
salesman polytope, Mathematics of Operations Research 17 (1992) 308326.
[990991]
[1993] D. Naddef, G. Rinaldi, The graphical relaxation: a new framework for
the symmetric traveling salesman polytope, Mathematical Programming
58 (1993) 5388. [990991]
[2002a] D. Naddef, S. Thienel, Ecient separation routines for the symmetric trav-
eling salesman problem I: general tools and comb separation, Mathematical
Programming 92 (2002) 237282. [989]
[2002b] D. Naddef, S. Thienel, Ecient separation routines for the symmetric trav-
eling salesman problem II: separating multi-handle inequalities, Mathemat-
ical Programming 92 (2002) 257283. [989]
[2000] H. Nagamochi, Recent development of graph connectivity augmentation
algorithms, IEICE Transactions on Information and Systems [Special Issue
on Algorithm Engineering: Surveys; T. Ibaraki, M. Yamashita, eds.] E83-D
(2000) 372383. [1079]
[1998] H. Nagamochi, P. Eades, Edge-splitting and edge-connectivity augmenta-
tion in planar graphs, in: Integer Programming and Combinatorial Opti-
mization (Proceedings 6th IPCO Conference, Houston, Texas, 1998; R.E.
Bixby, E.A. Boyd, R.Z. Ros-Mercado, eds.) [Lecture Notes in Computer
Science 1412], Springer, Berlin, 1998, pp. 96111. [1066]
[1990] H. Nagamochi, M. Fukushima, T. Ibaraki, Relaxation methods for the
strictly convex multicommodity flow problem with capacity constraints on
individual commodities, Networks 20 (1990) 409426. [1248]
[1989] H. Nagamochi, T. Ibaraki, On max-flow min-cut and integral flow proper-
ties for multicommodity flows in directed networks, Information Processing
Letters 31 (1989) 279285. [1241]
1686 References
[2000]
H. Nagamochi, S. Nakamura, T. Ibaraki, A simplified O(nm) time edge-
splitting algorithm in undirected graphs, Algorithmica 26 (2000) 5067.
[1066]
[2000] H. Nagamochi, Y. Nakao, T. Ibaraki, A fast algorithm for cactus represen-
tations of minimum cuts, Japan Journal of Industrial and Applied Mathe-
matics 17 (2000) 245264. [253]
[1994] H. Nagamochi, K. Nishimura, T. Ibaraki, Computing all small cuts in undi-
rected networks, in: Algorithms and Computation (Proceedings 5th Inter-
national Symposium ISAAC94, Beijing, 1994; D.-Z. Du, X.-S. Zhang, eds.)
[Lecture Notes in Computer Science 834], Springer, Berlin, 1994, pp. 190
198. [253]
[1997] H. Nagamochi, K. Nishimura, T. Ibaraki, Computing all small cuts in
an undirected network, SIAM Journal on Discrete Mathematics 10 (1997)
469481. [253]
[1994] H. Nagamochi, T. Ono, T. Ibaraki, Implementing an ecient minimum
capacity cut algorithm, Mathematical Programming 67 (1994) 325341.
[247]
[1997] H. Nagamochi, T. Shiraki, T. Ibaraki, Computing edge-connectivity aug-
mentation function in O(nm) time, in: Proceedings of the Eighth Annual
ACM-SIAM Symposium on Discrete Algorithms (New Orleans, Louisiana,
1997), The Association for Computing Machinery, New York, and Society
for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1997,
pp. 649658. [1066]
[1992] T. Naitoh, S. Fujishige, A note on the Frank-Tardos bi-truncation algo-
rithm for crossing-submodular functions, Mathematical Programming 53
(1992) 361363. [849]
[1985] W. Naji, Reconnaissance des graphes de cordes, Discrete Mathematics 54
(1985) 329337. [1100]
[1972] M. Nakamori, A note on the optimality of some all-shortest-path algo-
rithms, Journal of the Operations Research Society of Japan 15 (1972)
201204. [105]
[1988a] M. Nakamura, A characterization of greedy sets: Universal polymatroids
(I), Scientific Papers of the College of Arts and Sciences, The University
of Tokyo 38 (1988-89) 155167. [784]
[1988b] M. Nakamura, A note on the decomposition of poly-linking systems and
the minors of generalized polymatroids, Journal of the Operations Research
Society of Japan 31 (1988) 496514. [849, 852]
[1988c] M. Nakamura, Structural theorems for submodular functions, polymatroids
and polymatroid intersections, Graphs and Combinatorics 4 (1988) 257
284. [785, 852]
[1990] M. Nakamura, An intersection theorem for universal polymatroids: Univer-
sal polymatroids (II), Scientific Papers of the College of Arts and Sciences,
The University of Tokyo 40 (1990) 95100. [851]
[1993] M. Nakamura, -polymatroids and an extension of Edmonds-Giles TDI
scheme, in: Integer Programming and Combinatorial Optimization (Pro-
1688 References
ceedings 3rd IPCO Conference, Erice (Italy) 1993; G. Rinaldi, L.A. Wolsey,
eds.), CORE, Louvain-la-Neuve (Belgium), 1993, pp. 401412. [785, 852]
[1998] D. Nakamura, A. Tamura, The generalized stable set problem for claw-free
bidirected graphs, in: Integer Programming and Combinatorial Optimiza-
tion (Proceedings 6th IPCO Conference, Houston, Texas, 1998; R.E. Bixby,
E.A. Boyd, R.Z. Ros-Mercado, eds.) [Lecture Notes in Computer Science
1412], Springer, Berlin, 1998, pp. 6983. [1217]
[2000] D. Nakamura, A. Tamura, A linear time algorithm for the generalized stable
set problem on triangulated bidirected graphs, Journal of the Operations
Research Society of Japan 43 (2000) 162175. [1143, 1217]
[2001] D. Nakamura, A. Tamura, A revision of Mintys algorithm for finding a
maximum weight stable set of a claw-free graph, Journal of the Operations
Research Society of Japan 44 (2001) 194204. [1208, 12131214]
[1988] S.-i. Nakano, T. Nishizeki, N. Saito, On the f -coloring of multigraphs,
IEEE Transactions on Circuits and Systems 35 (1988) 345353. [482]
[1990] S. Nakano, T. Nishizeki, N. Saito, On the f g-coloring of graphs, Combina-
torica 10 (1990) 6780. [482]
[1995] S.-i. Nakano, X. Zhou, T. Nishizeki, Edge-coloring algorithms, in: Com-
puter Science Today Recent Trends and Developments (J. van Leeuwen,
ed.) [Lecture Notes in Computer Science 1000], Springer, Berlin, 1995, pp.
172183. [482]
[1935] T. Nakasawa, Zur Axiomatik der linearen Abh
angigkeit. I, Science Reports
of the Tokyo Bunrika Daigaku, Section A [Mathematics and Physics] 2
(1935) 235255. [651, 664, 673, 683684]
[1936a] T. Nakasawa, Zur Axiomatik der linearen Abh
angigkeit. II, Science Reports
of the Tokyo Bunrika Daigaku, Section A [Mathematics and Physics] 3
(1936) 4569. [685]
[1936b] T. Nakasawa, Zur Axiomatik der linearen Abhangigkeit, III (Schluss), Sci-
ence Reports of the Tokyo Bunrika Daigaku, Section A [Mathematics and
Physics] 3 (1936) 123136. [673, 685]
[1969] M. Naniwada, Multicommodity flows in a communication network, Elec-
tronics and Communications in Japan 52-A:11 (1969) 3441. [1226]
[1990] D. Naor, D. Gusfield, C. Martel, A fast algorithm for optimally increasing
the edge-connectivity, in: Proceedings 31st Annual Symposium on Foun-
dations of Computer Science Volume II (31st FOCS, St. Louis, Missouri,
1990), IEEE Computer Society Press, Los Alamitos, California, 1990, pp.
698707. [1065]
[1997] D. Naor, D. Gusfield, C. Martel, A fast algorithm for optimally increasing
the edge connectivity, SIAM Journal on Computing 26 (1997) 11391165.
[1065]
[2001] J.(S.) Naor, Y. Rabani, Tree packing and approximating k-cuts, in: Pro-
ceedings of the Twelfth Annual ACM-SIAM Symposium on Discrete Al-
gorithms (Washington, D.C., 2001), The Association for Computing Ma-
chinery, New York, and Society for Industrial and Applied Mathematics,
Philadelphia, Pennsylvania, 2001, pp. 2627. [254]
References 1689
[1997] J.(S.) Naor, L. Zosin, A 2-approximation algorithm for the directed multi-
way cut problem, in: Proceedings 38th Annual Symposium on Foundations
of Computer Science (38th FOCS, Miami Beach, Florida, 1997), IEEE
Computer Society Press, Los Alamitos, California, 1997, pp. 548553.
[1230]
[2001] J.(S.) Naor, L. Zosin, A 2-approximation algorithm for the directed multi-
way cut problem, SIAM Journal on Computing 31 (2001) 477482. [1230]
[1990] G. Narasimhan, R. Manber, A generalization of Lovaszs function, in:
Polyhedral Combinatorics (Proceedings DIMACS Workshop, Morristown,
New Jersey, 1989; W. Cook, P.D. Seymour, eds.) [DIMACS Series in Dis-
crete Mathematics and Theoretical Computer Science, Volume 1], Amer-
ican Mathematical Society, Providence, Rhode Island, 1990, pp. 1927.
[1176]
[1991] H. Narayanan, The principal lattice of partitions of a submodular function,
Linear Algebra and Its Applications 144 (1991) 179216. [785]
[1995] H. Narayanan, A rounding technique for the polymatroid membership
problem, Linear Algebra and Its Applications 221 (1995) 4157. [699]
[1997] H. Narayanan, Submodular Functions and Electrical Networks [Annals of
Discrete Mathematics 54], Elsevier, Amsterdam, 1997. [785]
[1992] H. Narayanan, H. Saran, V.V. Vazirani, Randomized parallel algorithms
for matroid union and intersection, with applications to arborescences and
edge-disjoint spanning trees, in: Proceedings of the Third Annual ACM-
SIAM Symposium on Discrete Algorithms (Orlando, Florida, 1992), The
Association for Computing Machinery, New York, and Society for Indus-
trial and Applied Mathematics, Philadelphia, Pennsylvania, 1992, pp. 357
366. [724, 743, 765]
[1994] H. Narayanan, H. Saran, V.V. Vazirani, Randomized parallel algorithms
for matroid union and intersection, with applications to arborescences and
edge-disjoint spanning trees, SIAM Journal on Computing 23 (1994) 387
397. [724, 743, 765]
[1960] C.St.J.A. Nash-Williams, On orientations, connectivity and odd-vertex-
pairings in finite graphs, Canadian Journal of Mathematics 12 (1960) 555
567. [1040, 1043]
[1961a] C.St.J.A. Nash-Williams, Decomposition of finite graphs into open chains,
Canadian Journal of Mathematics 13 (1961) 157166. [1290]
[1961b] C.St.J.A. Nash-Williams, Edge-disjoint spanning trees of finite graphs, The
Journal of the London Mathematical Society 36 (1961) 445450. [744, 877]
[1964] C.St.J.A. Nash-Williams, Decomposition of finite graphs into forests, The
Journal of the London Mathematical Society 39 (1964) 12. [744, 878879]
[1967] C.St.J.A. Nash-Williams, An application of matroids to graph theory, in:
Theory of Graphs International Symposium Th eorie des graphes
Journees internationales detude (Rome, 1966; P. Rosenstiehl, ed.), Gordon
and Breach, New York, and Dunod, Paris, 1967, pp. 263265. [725726,
744]
1690 References
[1958] R.Z. Norman, M.O. Rabin, An algorithm for a minimum cover of a graph,
Notices of the American Mathematical Society 5 (1958) 3637. [435]
[1959] R.Z. Norman, M.O. Rabin, An algorithm for a minimum cover of a graph,
Proceedings of the American Mathematical Society 10 (1959) 315319. [316,
435, 464]
[1992] Tardos, Using separation algorithms in fixed
C.H. Norton, S.A. Plotkin, E.
dimension, Journal of Algorithms 13 (1992) 7998. [195]
[1985] K. Noshita, A theorem on the expected complexity of Dijkstras shortest
path algorithm, Journal of Algorithms 6 (1985) 400408. [104]
[1978] K. Noshita, E. Masuda, H. Machida, On the expected behaviors of the Dijk-
stras shortest path algorithm for complete graphs, Information Processing
Letters 7 (1978) 237243. [104]
[1995] B. Novick, A. Seb
o, On combinatorial properties of binary spaces, in: Inte-
ger Programming and Combinatorial Optimization (Proceedings 4th IPCO
Conference, Copenhagen, 1995; E. Balas, J. Clausen, eds.) [Lecture Notes
in Computer Science 920], Springer, Berlin, 1995, pp. 212227. [1382]
[1996] B. Novick, A. Seb o, On ideal clutters, metrics and multiflows, in: Inte-
ger Programming and Combinatorial Optimization (Proceedings 5th IPCO
Conference, Vancouver, British Columbia, 1996; W.H. Cunningham, S.T.
McCormick, M. Queyranne, eds.) [Lecture Notes in Computer Science
1084], Springer, Berlin, 1996, pp. 275287. [1396]
[1995] Z. Nutov, M. Penn, On the integral dicycle packings and covers and the
linear ordering polytope, Discrete Applied Mathematics 60 (1995) 293309.
[952]
[1997] Z. Nutov, M. Penn, Faster approximation algorithms for weighted tricon-
nectivity augmentation problems, Operations Research Letters 21 (1997)
219223. [1078]
[2000] Z. Nutov, M. Penn, On integrality, stability and composition of dicycle
packings and covers, Journal of Combinatorial Optimization 4 (2000) 235
251. [952]
[1971] P.E. ONeil, A constructive decomposition and Fulkersons characterization
of permutation matrices, Discrete Mathematics 1 (1971) 197201. [310]
[1975] P.E. ONeil, Correction to a constructive decomposition and Fulkersons
characterization of permutation matrices, Discrete Mathematics 11 (1975)
401402. [310]
[1978] P.V. ONeil, A new proof of Mengers theorem, Journal of Graph Theory
2 (1978) 257259. [133]
[1973] P.E. ONeil, E.J. ONeil, A fast expected time algorithm for Boolean ma-
trix multiplication and transitive closure, in: Combinatorial Algorithms
(Courant Computer Science Symposium 9, Monterey, California, 1972; R.
Rustin, ed.), Algorithmics Press, New York, 1973, pp. 5968. [94]
[1985] M. OhEigeartaigh, J.K. Lenstra, A.H.G. Rinnooy Kan, eds, Combinatorial
Optimization Annotated Bibliographies, Wiley, Chichester, 1985. [8]
[1983] H. Okamura, Multicommodity flows in graphs, Discrete Applied Mathe-
matics 6 (1983) 5562. [1235, 1311, 1318]
1694 References
[1972] E. Olaru, Beitr age zur Theorie der perfekten Graphen, Elektronische In-
formationsverarbeitung und Kybernetik 8 (1972) 147172. [1124, 1143]
[1973a] E. Olaru, Uber perfekte und kritisch imperfekte Graphen, Analele S tiintifice
ale Universit
atii ,,Al.I. Cuza din Iasi (Serie Nou
a) Sectiunea I a. Matem-
atic
a 19 (1973) 477486. [1124]
[1973b] E. Olaru, Zur Charakterisierung perfekter Graphen, Elektronische Infor-
mationsverarbeitung und Kybernetik 9 (1973) 543548. [1124]
[1977] E. Olaru, Zur Theorie der perfekten Graphen, Journal of Combinatorial
Theory, Series B 23 (1977) 94105. [1124, 1143]
[1980] E. Olaru, -zerlegbare Graphen, Buletinul Universitatii din Galati Fascic-
ula II Matematica, Fizic
a, Mecanic
a Teoretic
a 3 (1980) 3945. [1124]
[1987] E. Olaru, On the strongly perfect and the minimal strongly imperfect
graphs, Analele Universit
atii din Galati. Metalurgie Fascicula II Matem-
atic
a, Fizic
a, Mecanic
a Teoretica 5(10) (1987) 59. [1146]
[1993] E. Olaru, On strongly perfect graphs and the structure of critically-
imperfect graphs, Analele S
tiintifice ale Universit
atii ,,Al.I. Cuza din Iasi
(Serie Noua) Informatic
a 2 (1993) 4559. [1124, 1146]
[1996] E. Olaru, The structure of imperfect critically strongly-imperfect graphs,
Discrete Mathematics 156 (1996) 299302. [1145]
[1998] E. Olaru, On strongly stable graphs and some consequences for partition-
able graphs, Analele S
tiintifice ale Universit
atii ,,Al.I. Cuza din Iasi (Se-
rie Noua) Informatic
a 7 (1998) 3341. [1124]
[1992] E. Olaru, E. Mandrescu, S-strongly perfect Cartesian product of graphs,
Journal of Graph Theory 16 (1992) 297303. [1133]
[1986a] E. Olaru, E. Mndrescu, On stable transversals and strong perfectness
of graph-join, Analele Universit
atii din Galati. Metalurgie Fascicula II
Matematica, Fizic
a, Mecanic
a Teoretica 4(9) (1986) 2124. [1146]
[1986b] E. Olaru, E. Mndrescu, On stable transversals in graphsan algebraic ap-
proach, Analele Universitatii din Galati. Metalurgie Fascicula II Matem-
atic
a, Fizic
a, Mecanic
a Teoretic a 4(9) (1986) 2530. [1146]
[1984] E. Olaru, H. Sachs, Contributions to a characterization of the structure of
perfect graphs, in: Topics on Perfect Graphs (C. Berge, V. Chv atal, eds.)
[Annals of Discrete Mathematics 21], North-Holland, Amsterdam, 1984,
pp. 121144. [1124]
[1979] E. Olaru, Gh. Suciu, Dauerstabile und kritisch imperfekte Graphen, Analele
Universit
atii din Timisoara S
tiinte Matematice 17 (1979) 5964. [1124]
[1999] J.D. Oldham, Combinatorial approximation algorithms for generalized flow
problems, in: Proceedings of the Tenth Annual ACM-SIAM Symposium
on Discrete Algorithms (Baltimore, Maryland, 1999), The Association for
Computing Machinery, New York, and Society for Industrial and Applied
Mathematics, Philadelphia, Pennsylvania, 1999, pp. 704714. [196]
[2001] J.D. Oldham, Combinatorial approximation algorithms for generalized flow
problems, Journal of Algorithms 38 (2001) 135169. [196]
1696 References
[1993] J.B. Orlin, A faster strongly polynomial minimum cost flow algorithm,
Operations Research 41 (1993) 338350. [186, 191, 356358]
[1997] J.B. Orlin, A polynomial time primal network simplex algorithm for min-
imum cost flows, Mathematical Programming 78 (1997) 109129. [195]
[1992] J.B. Orlin, R.K. Ahuja, New scaling algorithms for the assignment and
minimum mean cycle problems, Mathematical Programming 54 (1992) 41
56. [112, 290]
[1981] J.B. Orlin, M.A. Bonuccelli, D.P. Bovet, An O(n2 ) algorithm for color-
ing proper circular arc graphs, SIAM Journal on Algebraic and Discrete
Methods 2 (1981) 8893. [1100]
[1993] Tardos, Polynomial dual network simplex al-
J.B. Orlin, S.A. Plotkin, E.
gorithms, Mathematical Programming 60 (1993) 255276. [162, 195]
[1990] J.B. Orlin, J.H. Vande Vate, Solving the linear matroid parity problem as
a sequence of matroid intersection problems, Mathematical Programming
47 (1990) 81106. [762]
[1972] G.I. Orlova, Ya.G. Dorfman, Zadache nakhozhdeniya naibolshego razreza
v grafe [Russian; The problem of finding the largest cut in a graph],
Izvestiya Akademii Nauk SSSR, Tehni ceskaya Kibernetika 1972:3 (1972)
155159 [English translation: Finding the maximum cut in a graph, Engi-
neering Cybernetics 10 (1972) 502506]. [140, 486, 1344]
[1994] C.N.K. Osiakwan, S.G. Akl, An EP algorithm for computing a minimum
weight perfect matching for a set of points on the plane, ORSA Journal on
Computing 6 (1994) 436444. [460]
[1995] K. Ost, Algorithmen fur das Kantenf
arbungsproblem, Diplomarbeit, Infor-
matik, Universit
at des Saarlandes, Saarbr
ucken, 1995. [334]
[1970] P.A. Ostrand, Systems of distinct representatives, II, Journal of Mathe-
matical Analysis and Applications 32 (1970) 14. [390]
[1992] J.G. Oxley, Matroid Theory, Oxford University Press, Oxford, 1992. [657,
672, 739]
[1973] M.W. Padberg, On the facial structure of set packing polyhedra, Mathe-
matical Programming 5 (1973) 199215. [10881089, 1104]
[1974a] M.W. Padberg, Perfect zero-one matrices, Mathematical Programming 6
(1974) 180196. [11161117, 1124]
[1974b] M. Padberg, Perfect zero-one matricesII, in: Proceedings in Operations
Research 3 (DGOR Annual Meeting, Karlsruhe, 1973; P. Gessner, R. Henn,
V. Steinecke, H. Todt, eds.), Physica-Verlag, W
urzburg, 1974, pp. 7583.
[1104, 1124]
[1975] M.W. Padberg, Characterisations of totally unimodular, balanced and per-
fect matrices, in: Combinatorial Programming: Methods and Applications
(Proceedings NATO Advanced Study Institute, Versailles, 1974; B. Roy,
ed.), Reidel, Dordrecht, 1975, pp. 275284. [1124]
[1976] M.W. Padberg, Almost integral polyhedra related to certain combinatorial
optimization problems, Linear Algebra and Its Applications 15 (1976) 69
88. [1118, 1124]
1698 References
[1977] M.W. Padberg, On the complexity of set packing polyhedra, in: Stud-
ies in Integer Programming (Proceedings Workshop on Integer Program-
ming, Bonn, 1975; P.L. Hammer, E.L. Johnson, B.H. Korte, G.L. Nemhau-
ser, eds.) [Annals of Discrete Mathematics 1], North-Holland, Amsterdam,
1977, pp. 421434. [1104]
[1979] M.W. Padberg, Covering, packing and knapsack problems, in: Discrete Op-
timization I (Proceedings Advanced Research Institute on Discrete Opti-
mization and Systems Applications and Discrete Optimization Symposium,
Ban, Alta, and Vancouver, B.C., Canada, 1977; P.L. Hammer, E.L. John-
son, B.H. Korte, eds.) [Annals of Discrete Mathematics 4], North-Holland,
Amsterdam, 1979, pp. 265287. [11041105, 1438]
[1980] M.W. Padberg, (1, k)-configurations and facets for packing problems,
Mathematical Programming 18 (1980) 9499. [1104]
[1984] M.W. Padberg, A characterization of perfect matrices, in: Topics on Perfect
Graphs (C. Berge, V. Chv
atal, eds.) [Annals of Discrete Mathematics 21],
North-Holland, Amsterdam, 1984, pp. 169178. [1104]
[1993] M. Padberg, Lehmans forbidden minor characterization of ideal 0-1 ma-
trices, Discrete Mathematics 111 (1993) 409420. [1387, 1390]
[1995] M. Padberg, Linear Optimization and Extensions, Springer, Berlin, 1995.
[84]
[2001] M. Padberg, Almost perfect matrices and graphs, Mathematics of Opera-
tions Research 26 (2001) 118. [1124]
[1985] M.W. Padberg, M. Gr otschel, Polyhedral computations, in: The Traveling
Salesman Problem A Guided Tour of Combinatorial Optimization (E.L.
Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, eds.), Wiley,
Chichester, 1985, pp. 307360. [996, 1457]
[1980] M.W. Padberg, S. Hong, On the symmetric travelling salesman problem: a
computational study, Mathematical Programming Study 12 (1980) 78107.
[995]
[1974] M.W. Padberg, M.R. Rao, The travelling salesman problem and a class of
polyhedra of diameter two, Mathematical Programming 7 (1974) 3245.
[308, 445, 994]
[1980] M.W. Padberg, M.R. Rao, The Russian Method an Integer Programming,
GBA Working paper, New York University, New York, 1980. [68]
[1982] M.W. Padberg, M.R. Rao, Odd minimum cut-sets and b-matchings, Math-
ematics of Operations Research 7 (1982) 6780. [449, 500, 554, 794]
[1987] M. Padberg, G. Rinaldi, Optimization of a 532-city symmetric traveling
salesman problem by branch and cut, Operations Research Letters 6 (1987)
17. [995]
[1990a] M. Padberg, G. Rinaldi, An ecient algorithm for the minimum capacity
cut problem, Mathematical Programming 47 (1990) 1936. [247]
[1990b] M. Padberg, G. Rinaldi, Facet identification for the symmetric traveling
salesman polytope, Mathematical Programming 47 (1990) 219257. [995]
References 1699
Puerto Rico, 1991), IEEE Computer Society Press, Los Alamitos, Califor-
nia, 1991, pp. 495504. [8, 1247]
[1995] S.A. Plotkin, D.B. Shmoys, E. Tardos, Fast approximation algorithms for
fractional packing and covering problems, Mathematics of Operations Re-
search 20 (1995) 257301. [8, 1247]
[1990] Tardos, Improved dual network simplex, in: Proceedings
S.A. Plotkin, E.
of the First Annual ACM-SIAM Symposium on Discrete Algorithms (San
Francisco, California, 1990), Society for Industrial and Applied Mathemat-
ics, Philadelphia, Pennsylvania, 1990, pp. 367376. [162, 195]
[1993] Tardos, Improved bounds on the max-flow min-cut ra-
S.A. Plotkin, E.
tio for multicommodity flows, in: Proceedings of the Twenty-Fifth Annual
ACM Symposium on the Theory of Computing (25th STOC, San Diego,
California, 1993), The Association for Computing Machinery, New York,
1993, pp. 691697. [1247]
[1995] Tardos, Improved bounds on the max-flow min-cut ratio for
S. Plotkin, E.
multicommodity flows, Combinatorica 15 (1995) 425434. [1247]
[1971] A. Pnueli, A. Lempel, S. Even, Transitive orientation of graphs and identifi-
cation of permutation graphs, Canadian Journal of Mathematics 23 (1971)
160175. [1138]
[1973] B.D. Podderyugin, Algoritm opredeleniya reberno svyaznosti grafa [Rus-
sian; An algorithm for determining the edge connectivity of a graph], in: Vo-
prosy Kibernetiki Trudy Seminara po Kombinatorno Matematike [Top-
ics of Cybernetics Proceedings of the Seminar on Combinatorial Math-
ematics] [Moscow, 1971], Akademiya Nauk SSSR Nauchny Sovet po Kom-
pleksno Probleme Kibernetika [Council on Cybernetics of the Academy
of Sciences of the USSR], Moscow, 1973, pp. 136141. [239, 241, 243, 245
246]
[1976] K.-P. Podewski, K. Steens, Injective choice functions for countable fami-
lies, Journal of Combinatorial Theory, Series B 21 (1976) 4046. [389]
[1977]
K.-P. Podewski, K. Steens, Uber Translationen und den Satz von Menger
in unendlichen Graphen, Acta Mathematica Academiae Scientiarum Hun-
garica 30 (1977) 6984. [142]
[1900] H. Poincare, Second complement `
a lanalysis situs, Proceedings of the Lon-
don Mathematical Society 32 (1900) 277308 [reprinted in: Oeuvres de
Henri Poincare, Tome VI, Gauthier-Villars, Paris, 1953, pp. 338370].
[204]
[1976] N. Polat, Treillis de separation des graphes, Canadian Journal of Mathe-
matics 28 (1976) 725752. [142]
[1991] N. Polat, A Mengerian theorem for infinite graphs with ideal points, Jour-
nal of Combinatorial Theory, Series B 51 (1991) 248255. [142]
[1974] S. Poljak, A note on stable sets and colorings of graphs, Commentationes
Mathematicae Universitatis Carolinae 15 (1974) 307309. [1084, 1217]
[1992] S. Poljak, Polyhedral and eigenvalue approximations of the max-cut prob-
lem, in: Sets, Graphs and Numbers (Proceedings Budapest, 1991; G. Halasz,
L. Lovasz, D. Miklos, T. Sz
onyi, eds.) [Colloquia Mathematica Societatis
1706 References
J
anos Bolyai, 60], North-Holland, Amsterdam, 1992, pp. 569581. [1344,
1348]
[1995] S. Poljak, Z. Tuza, Maximum cuts and largest bipartite subgraphs, in:
Combinatorial Optimization (Papers from the DIMACS Special Year, New
Brunswick, New Jersey, 19921993; W. Cook, L. Lov
asz, P. Seymour, eds.)
[DIMACS Series in Discrete Mathematics and Theoretical Computer Sci-
ence, Volume 20], American Mathematical Society, Providence, Rhode Is-
land, 1995, pp. 181244. [1350]
[1960] M. Pollack, The maximum capacity through a network, Operations Re-
search 8 (1960) 733736. [117, 130]
[1961a] M. Pollack, Solutions of the kth best route through a network a review,
Journal of Mathematical Analysis and Applications 3 (1961) 547559. [129]
[1961b] M. Pollack, The kth best route through a network, Operations Research 9
(1961) 578580. [129]
[1960] M. Pollack, W. Wiebenson, Solutions of the shortest-route problemA
review, Operations Research 8 (1960) 224230. [103104, 118119, 125,
128]
[1925] G. Polya, G. Szego, Aufgaben und Lehrs
atze aus der Analysis, Springer,
Berlin, 1925. [14]
[1969] J. Ponstein, A new proof of Brookss chromatic number theorem for graphs,
Journal of Combinatorial Theory 7 (1969) 255257. [1086]
[1972] J. Ponstein, On the maximal flow problem with real arc capacities, Math-
ematical Programming 3 (1972) 254256. [163]
[1972] R.B. Potts, R.M. Oliver, Flows in Transportation Networks, Academic
Press, New York, 1972. [197]
[1955] W. Prager, On the role of congestion in transportation problems, Zeitschrift
f
ur Angewandte Mathematik und Mechanik 35 (1955) 264268. [361]
[1957a] W. Prager, A generalization of Hitchcocks transportation problem, Jour-
nal of Mathematics and Physics 36 (1957) 99106. [376]
[1957b] W. Prager, Numerical solution of the generalized transportation problem,
Naval Research Logistics Quarterly 4 (1957) 253261. [361]
[1985] M. Preissmann, A class of strongly perfect graphs, Discrete Mathematics
54 (1985) 117120. [1146]
[1990] M. Preissmann, Locally perfect graphs, Journal of Combinatorial Theory,
Series B 50 (1990) 2240. [1124]
[2001] M. Preissmann, A. Seb o, Some aspects of minimal imperfect graphs, in:
Perfect Graphs (J.L. Ramrez Alfonsn, B.A. Reed, eds.), Wiley, Chichester,
2001, pp. 185214. [1125]
[1985] M. Preissmann, D. de Werra, A note on strong perfectness of graphs, Math-
ematical Programming 31 (1985) 321326. [1146]
[1986] M. Preissmann, D. de Werra, N.V.R. Mahadev, A note on superbrittle
graphs, Discrete Mathematics 61 (1986) 259267. [1146]
[1984] F.P. Preparata, W. Lipski, Jr, Optimal three-layer channel routing, IEEE
Transactions on Computers C-33 (1984) 427437. [1324]
References 1707
[1998] T. Radzik, Faster algorithms for the generalized network flow problem,
Mathematics of Operations Research 23 (1998) 69100. [196]
[1991] T. Radzik, A.V. Goldberg, Tight bounds on the number of minimum-mean
cycle cancellations and related results, in: Proceedings of the Second Annual
ACM-SIAM Symposium on Discrete Algorithms, Association for Comput-
ing Machinery, New York, 1991, pp. 110119. [196]
[1994] T. Radzik, A.V. Goldberg, Tight bounds on the number of minimum-mean
cycle cancellations and related results, Algorithmica 11 (1994) 226242.
[196]
[1998] B. Raghavachari, J. Veerasamy, Approximation algorithms for the mixed
postman problem, in: Integer Programming and Combinatorial Optimiza-
tion (Proceedings 6th IPCO Conference, Houston, Texas, 1998; R.E. Bixby,
E.A. Boyd, R.Z. Ros-Mercado, eds.) [Lecture Notes in Computer Science
1412], Springer, Berlin, 1998, pp. 169179. [518]
[1999a] B. Raghavachari, J. Veerasamy, A 3/2-approximation algorithm for the
mixed postman problem, SIAM Journal on Discrete Mathematics 12 (1999)
425433. [518]
[1999b] B. Raghavachari, J. Veerasamy, Approximation algorithms for the asym-
metric postman problem, in: Proceedings of the Tenth Annual ACM-SIAM
Symposium on Discrete Algorithms (Baltimore, Maryland, 1999), The As-
sociation for Computing Machinery, New York, and Society for Industrial
and Applied Mathematics, Philadelphia, Pennsylvania, 1999, pp. 734741.
[518]
[1988] P. Raghavan, Probabilistic construction of deterministic algorithms: ap-
proximating packing integer programs, Journal of Computer and System
Sciences 37 (1988) 130143. [8, 1382]
[1987] P. Raghavan, C.D. Thompson, Randomized rounding: a technique for prov-
ably good algorithms and algorithmic proofs, Combinatorica 7 (1987) 365
374. [8, 1247]
[1994] S. Rajagopalan, Two commodity flows, Operations Research Letters 15
(1994) 151156. [1255]
[1993] T.K. Ralphs, On the mixed Chinese postman problem, Operations Research
Letters 14 (1993) 123127. [518]
[1996] R. Raman, Priority queues: small, monotone and trans-dichotomous, in: Al-
gorithms ESA 96 (Proceedings Fourth Annual European Symposium,
Barcelona, 1996; J. Diaz, M. Serna, eds.) [Lecture Notes in Computer Sci-
ence 1136], Springer, Berlin, 1996, pp. 121137. [103]
[1997] R. Raman, Recent results on the single-source shortest paths problem,
SIGACT News 28 (1997) 8187. [103, 105]
[2001] J.L. Ramrez Alfonsn, B.A. Reed, eds., Perfect Graphs, Wiley, Chichester,
2001. [1133]
[1982] R. von Randow, Integer Programming and Related Areas A Classified
Bibliography 19781981 [Lecture Notes in Economics and Mathematical
Systems 197], Springer, Berlin, 1982. [8]
References 1711
[1992] F.J. Rispoli, The monotonic diameter of the perfect matching and shortest
path polytopes, Operations Research Letters 12 (1992) 2327. [207, 308,
452]
[1994] F.J. Rispoli, The monotonic diameter of the perfect 2-matching polytope,
SIAM Journal on Optimization 4 (1994) 455460. [530]
[1998] F.J. Rispoli, The monotonic diameter of traveling salesman polytopes, Op-
erations Research Letters 22 (1998) 6973. [990, 994]
[1998] F.J. Rispoli, S. Cosares, A bound of 4 for the diameter of the symmetric
traveling salesman polytope, SIAM Journal on Discrete Mathematics 11
(1998) 373380. [530, 990]
[1981] R.L. Rivest, A.E. Baratz, G. Miller, Provably good channel routing algo-
rithms, in: VLSI Systems and Computations (papers presented at Carnegie-
Mellon Universitys conference on VLSI systems and computations, Pitts-
burgh, Pennsylvania, 1981; H.T. Kung, B. Sproull, G. Steele, eds.), Sprin-
ger, Berlin, 1981, pp. 153159. [1324]
[1997] R. Rizzi, On Packing T -Joins and T -Cuts, Tesi di Dottorato, Dipartimento
di Matematica Pura ed Applicata, Universit a di Padova, Padova, 1997.
[322, 477, 499, 519]
[1998] R. Rizzi, K
onigs edge coloring theorem without augmenting paths, Journal
of Graph Theory 29 (1998) 87. [322]
[1999] R. Rizzi, Indecomposable r-graphs and some other counterexamples, Jour-
nal of Graph Theory 32 (1999) 115. [477]
[2000a] R. Rizzi, A short proof of K
onigs matching theorem, Journal of Graph
Theory 33 (2000) 138139. [261, 263]
[2000b] R. Rizzi, On minimizing symmetric set functions, Combinatorica 20 (2000)
445450. [793]
[2002] R. Rizzi, Finding 1-factors in bipartite regular graphs and edge-coloring
bipartite graphs, SIAM Journal on Discrete Mathematics 15 (2002) 283
288. [274, 334]
[1955a] J.T. Robacker, On Network Theory, Research Memorandum RM-1498, The
RAND Corporation, Santa Monica, California, [May 26,] 1955. [150, 164]
[1955b] J.T. Robacker, Some Experiments on the Traveling-Salesman Problem, Re-
search Memorandum RM-1521, The RAND Corporation, Santa Monica,
California, [28 July] 1955. [1003]
[1956a] J.T. Robacker, Concerning Multicommodity Networks [Notes on Linear
Programming: Part XXXVII], Research Memorandum RM-1799 [ASTIA
Document Number AD 112392], The RAND Corporation, Santa Monica,
California, [26 September] 1956. [12491250]
[1956b] J.T. Robacker, Min-Max Theorems on Shortest Chains and Disjoint Cuts
of a Network, Research Memorandum RM-1660, The RAND Corporation,
Santa Monica, California, [12 January] 1956. [8788, 96, 126]
[1939] H.E. Robbins, A theorem on graphs, with an application to a problem of
trac control, The American Mathematical Monthly 46 (1939) 281283.
[253, 1037, 1040]
1716 References
[1984b] A. Schrijver, Total dual integrality from directed graphs, crossing families,
and sub- and supermodular functions, in: Progress in Combinatorial Opti-
mization (Proceedings Conference, Waterloo, Ontario, 1982; W.R. Pulley-
blank, ed.), Academic Press, Toronto, Ontario, 1984, pp. 315361. [1034]
[1985] A. Schrijver, Supermodular colourings, in: Matroid Theory (Proceedings
Colloquium on Matroid Theory, Szeged, 1982; L. Lov asz, A. Recski, eds.)
[Colloquia Mathematica Societatis J
anos Bolyai, 40], North-Holland, Am-
sterdam, 1985, pp. 327343. [849]
[1986a] A. Schrijver, Polyhedral proof methods in combinatorial optimization, Dis-
crete Applied Mathematics 14 (1986) 111133. [8]
[1986b] A. Schrijver, Theory of Linear and Integer Programming, Wiley, Chich-
ester, 1986. [5965, 6771, 7576, 78, 80, 8284, 214, 978, 986, 1147, 1448
1450]
[1987] A. Schrijver, Polyhedral combinatorics some recent developments and
results, in: Proceedings of the International Congress of Mathematicians
Volume 2 (Berkeley, California, 1986; A.M. Gleason, ed.), American
Mathematical Society, Providence, Rhode Island, 1987, pp. 14311443. [8]
[1989a] A. Schrijver, Distances and cuts in planar graphs, Journal of Combinatorial
Theory, Series B 46 (1989) 4657. [1313]
[1989b] A. Schrijver, The Klein bottle and multicommodity flows, Combinatorica
9 (1989) 375384. [1235, 13141315]
[1990a] A. Schrijver, Applications of polyhedral combinatorics to multicommodity
flows and compact surfaces, in: Polyhedral Combinatorics (Proceedings DI-
MACS Workshop, Morristown, New Jersey, 1989; W. Cook, P.D. Seymour,
eds.) [DIMACS Series in Discrete Mathematics and Theoretical Computer
Science, Volume 1], American Mathematical Society, Providence, Rhode
Island, 1990, pp. 119137. [1371]
[1990b] A. Schrijver, Homotopic routing methods, in: Paths, Flows, and VLSI-
Layout (B. Korte, L. Lov asz, H.J. Pr
omel, A. Schrijver, eds.), Springer,
Berlin, 1990, pp. 329371. [1309, 13701371]
[1991a] A. Schrijver, Decomposition of graphs on surfaces and a homotopic cir-
culation theorem, Journal of Combinatorial Theory, Series B 51 (1991)
161210. [1354, 13561357, 1361, 1365]
[1991b] A. Schrijver, Disjoint circuits of prescribed homotopies in a graph on a
compact surface, Journal of Combinatorial Theory, Series B 51 (1991)
127159. [13671368]
[1991c] A. Schrijver, Disjoint homotopic paths and trees in a planar graph, Discrete
& Computational Geometry 6 (1991) 527574. [1242, 1369, 1371]
[1991d] A. Schrijver, Edge-disjoint homotopic paths in straight-line planar graphs,
SIAM Journal on Discrete Mathematics 4 (1991) 130138. [1367]
[1991e] A. Schrijver, Short proofs on multicommodity flows and cuts, Journal of
Combinatorial Theory, Series B 53 (1991) 3239. [1276]
[1992] A. Schrijver, Circuits in graphs embedded on the torus, Discrete Mathe-
matics 106/107 (1992) 415433. [1361, 1368]
References 1725
[1987] A. Seb
o, A quick proof of Seymours theorem on t-joins, Discrete Mathe-
matics 64 (1987) 101103. [488]
[1988a] A. Seb o, Dual integrality and multicommodity flows, in: Combinatorics
(Proceedings Seventh Hungarian Colloquium on Combinatorics, Eger,
1987; A. Hajnal, L. Lov asz, V.T. S
os, eds.) [Colloquia Mathematica So-
cietatis J
anos Bolyai, 52], North-Holland, Amsterdam, 1988, pp. 453469.
[519, 1309]
[1988b] A. Sebo, The Schrijver system of odd join polyhedra, Combinatorica 8
(1988) 103116. [501502, 507]
[1990a] A. Sebo, The cographic multiflow problem: an epilogue, in: Polyhedral
Combinatorics (Proceedings DIMACS Workshop, Morristown, New Jersey,
1989; W. Cook, P.D. Seymour, eds.) [DIMACS Series in Discrete Mathe-
matics and Theoretical Computer Science, Volume 1], American Mathe-
matical Society, Providence, Rhode Island, 1990, pp. 203234. [1350]
[1990b] A. Sebo, Undirected distances and the postman-structure of graphs, Jour-
nal of Combinatorial Theory, Series B 49 (1990) 1039. [519]
[1992] A. Sebo, Forcing colorations and the strong perfect graph conjecture, in:
Integer Programming and Combinatorial Optimization (Proceedings 2nd
IPCO Conference, Pittsburgh, Pennsylvania, 1992; E. Balas, G. Cornuejols,
R. Kannan, eds.), Graduate School of Industrial Engineering, Carnegie
Mellon University, Pittsburgh, Pennsylvania, 1992, pp. 353366. [1124]
[1993a] A. Sebo, Circuit packings on surfaces with at most three cross-caps, in:
Integer Programming and Combinatorial Optimization (Proceedings 3rd
IPCO Conference, Erice (Italy) 1993; G. Rinaldi, L.A. Wolsey, eds.),
CORE, Louvain-la-Neuve (Belgium), 1993, pp. 433446. [1317]
[1993b] A. Sebo, General antifactors of graphs, Journal of Combinatorial Theory,
Series B 58 (1993) 174184. [593]
[1993c] A. Seb
o, Integer plane multiflows with a fixed number of demands, Journal
of Combinatorial Theory, Series B 59 (1993) 163171. [507, 1242, 1310]
[1996a] A. Sebo, On critical edges in minimal imperfect graphs, Journal of Com-
binatorial Theory, Series B 67 (1996) 6285. [1124, 1133]
[1996b] A. Seb
o, The connectivity of minimal imperfect graphs, Journal of Graph
Theory 23 (1996) 7785. [1124]
[1997] A. Seb
o, Potentials in undirected graphs and planar multiflows, SIAM
Journal on Computing 26 (1997) 582603. [519]
[1998] A. Sebo, Characterizing noninteger polyhedra with 01 constraints, in:
Integer Programming and Combinatorial Optimization (Proceedings 6th
IPCO Conference, Houston, Texas, 1998; R.E. Bixby, E.A. Boyd, R.Z.
Ros-Mercado, eds.) [Lecture Notes in Computer Science 1412], Springer,
Berlin, 1998, pp. 3752. [1438]
[2001] A. Seb
o, E. Tannier, Connected joins in graphs, in: Integer Programming
and Combinatorial Optimization (Proceedings 8th International IPCO
Conference, Utrecht, 2001; K. Aardal, B. Gerards, eds.) [Lecture Notes
in Computer Science 2081], Springer, Berlin, 2001, pp. 383395. [515]
References 1727
eds.), Academic Press, New York, 1979, pp. 341355. [490, 493494, 497,
605, 645, 1236, 1238, 13081309, 1424, 1456]
[1980a] P.D. Seymour, Decomposition of regular matroids, Journal of Combina-
torial Theory, Series B 28 (1980) 305359 [reprinted in: J.P.S. Kung, A
Source Book in Matroid Theory, Birkh auser, Boston, Massachusetts, 1986,
pp. 339393]. [214, 656, 1147, 1415, 1450]
[1980b] P.D. Seymour, Disjoint paths in graphs, Discrete Mathematics 29 (1980)
293309. [1243, 12611262, 1286]
[1980c] P.D. Seymour, Four-terminus flows, Networks 10 (1980) 7986. [1235, 1266
1267, 1270]
[1980d] P.D. Seymour, On Tuttes characterization of graphic matroids, in: Com-
binatorics 79 Part I (Joint Canada-France Combinatorial Colloquium,
Montreal, 1979; M. Deza, I.G. Rosenberg, eds.) [Annals of Discrete Math-
ematics 8], North-Holland, Amsterdam, 1980, pp. 8390. [657]
[1981a] P.D. Seymour, Matroids and multicommodity flows, European Journal of
Combinatorics 2 (1981) 257290. [1235, 1257, 1260, 1273, 1327, 13421343,
1387, 1404, 1408, 1415, 14191426, 14601461]
[1981b] P.D. Seymour, Nowhere-zero 6-flows, Journal of Combinatorial Theory,
Series B 30 (1981) 130135. [473, 646]
[1981c] P.D. Seymour, On Tuttes extension of the four-colour problem, Journal of
Combinatorial Theory, Series B 31 (1981) 8294. [476, 1426, 14541455]
[1981d] P.D. Seymour, On odd cuts and plane multicommodity flows, Proceedings
of the London Mathematical Society (3) 42 (1981) 178192. [488, 514, 518,
1231, 1307, 1309, 1417]
[1990a] P.D. Seymour, Colouring series-parallel graphs, Combinatorica 10 (1990)
379392. [477]
[1990b] P.D. Seymour, On Lehmans width-length characterization, in: Polyhedral
Combinatorics (Proceedings DIMACS Workshop, Morristown, New Jersey,
1989; W. Cook, P.D. Seymour, eds.) [DIMACS Series in Discrete Math-
ematics and Theoretical Computer Science, Volume 1], American Mathe-
matical Society, Providence, Rhode Island, 1990, pp. 107117. [1118, 1387,
1390, 1392, 1394, 1460]
[1991] P.D. Seymour, Directed circuits on a torus, Combinatorica 11 (1991) 261
273. [1243, 13681369]
[1995a] P.D. Seymour, Nowhere-zero flows, in: Handbook of Combinatorics Volume
1 (R.L. Graham, M. Gr otschel, L. Lov
asz, eds.), Elsevier, Amsterdam,
1995, pp. 289299. [473, 646]
[1995b] P.D. Seymour, Packing directed circuits fractionally, Combinatorica 15
(1995) 281288. [959]
[1996] P.D. Seymour, Packing circuits in eulerian digraphs, Combinatorica 16
(1996) 223231. [957]
[1998] P.D. Seymour, A note on list arboricity, Journal of Combinatorial Theory,
Series B 72 (1998) 150151. [737, 892]
References 1729
[1990] H.D. Sherali, W.P. Adams, A hierarchy of relaxations between the contin-
uous and convex hull representations for zero-one programming problems,
SIAM Journal on Discrete Mathematics 3 (1990) 411430. [1175]
[1996] H.D. Sherali, Y. Lee, Tighter representations for set partitioning problems,
Discrete Applied Mathematics 68 (1996) 153167. [1438]
[1959] C.M. Shetty, A solution to the transportation problem with nonlinear costs,
Operations Research 7 (1959) 571580. [196]
[1973] D.R. Shier, A decomposition algorithm for optimality problems in tree-
structured networks, Discrete Mathematics 6 (1973) 175189. [105]
[1979] D.R. Shier, On algorithms for finding the k shortest paths in a network,
Networks 9 (1979) 195214. [105]
[1980] D. Shier, C. Witzgall, Arc tolerances in shortest path and network flow
problems, Networks 10 (1980) 277291. [105]
[1995] M. Shigeno, S. Iwata, A dual approximation approach to weighted matroid
intersection, Operations Research Letters 18 (1995) 153156. [724]
[2000] M. Shigeno, S. Iwata, S.T. McCormick, Relaxed most negative cycle and
most positive cut canceling algorithms for minimum cost flow, Mathematics
of Operations Research 25 (2000) 76104. [195]
[1989a] W.-K. Shih, W.-L. Hsu, An O(n1.5 ) algorithm to color proper circular arcs,
Discrete Applied Mathematics 25 (1989) 321323. [1100]
[1989b] W.-K. Shih, W.-L. Hsu, An O(n log n+m log log n) maximum weight clique
algorithm for circular-arc graphs, Information Processing Letters 31 (1989)
129134. [1100]
[1978] Y. Shiloach, An O(n I log2 I) Maximum-Flow Algorithm, Technical Re-
port STAN-CS-78-802, Computer Science Department, Stanford Univer-
sity, Stanford, California, 1978. [156, 160]
[1979a] Y. Shiloach, Edge-disjoint branching in directed multigraphs, Information
Processing Letters 8 (1979) 2427. [238, 906, 922, 1243]
[1979b] Y. Shiloach, Multi-terminal 0 1 flow, SIAM Journal on Computing 8
(1979) 422430. [251]
[1980a] Y. Shiloach, A multi-terminal minimum cut algorithm for planar graphs,
SIAM Journal on Computing 9 (1980) 219224. [251]
[1980b] Y. Shiloach, A polynomial solution to the undirected two paths problem,
Journal of the Association for Computing Machinery 27 (1980) 445456.
[1261]
[1981] Y. Shiloach, Another look at the degree constrained subgraph problem,
Information Processing Letters 12 (1981) 8992. [593]
[1951] A. Shimbel, Applications of matrix algebra to communication nets, Bulletin
of Mathematical Biophysics 13 (1951) 165178. [121]
[1953] A. Shimbel, Structural parameters of communication networks, Bulletin of
Mathematical Biophysics 15 (1953) 501507. [121]
[1955] A. Shimbel, Structure in communication nets, in: Proceedings of the Sympo-
sium on Information Networks (New York, 1954), Polytechnic Press of the
References 1731
[1992] G. Sierksma, G.A. Tijssen, Faces with large diameter on the symmetric
traveling salesman polytope, Operations Research Letters 12 (1992) 7377.
[990]
[1960] R. Silver, An algorithm for the assignment problem, Communications of
the ACM 3 (1960) 605606. [291]
[1992] K. Simon, Eziente Algorithmen f
ur perfekte Graphen, Teubner, Stuttgart,
1992. [1150]
[1959] M.A. Simonnard, G.F. Hadley, Maximum number of iterations in the trans-
portation problem, Naval Research Logistics Quarterly 6 (1959) 125129.
[347]
[1995] G. Simonyi, Graph entropy: a survey, in: Combinatorial Optimization (Pa-
pers from the DIMACS Special Year, New Brunswick, New Jersey, 1992
1993; W. Cook, L. Lovasz, P. Seymour, eds.) [DIMACS Series in Discrete
Mathematics and Theoretical Computer Science, Volume 20], American
Mathematical Society, Providence, Rhode Island, 1995, pp. 399441. [1134]
[2001] G. Simonyi, Perfect graphs and graph entropy. An updated survey, in:
Perfect Graphs (J.L. Ramrez Alfonsn, B.A. Reed, eds.), Wiley, Chichester,
2001, pp. 293328. [1134]
[1992] M. Sipser, The history and status of the P versus NP question, in: Pro-
ceedings of the Twenty-Fourth Annual ACM Symposium on the Theory of
Computing (24th STOC, Victoria, B.C., Canada, 1992), The Association
for Computing Machinery, New York, 1992, pp. 603618. [54, 58]
[1997] M. Sipser, Introduction to the Theory of Computation, PWS Publishing
Company, Boston, 1997. [49]
[1917] T. Skolem, Untersuchungen u ber einige Klassen kombinatorischer Prob-
leme, Skrifter utgit av Videnskapsselskapet i Kristiania I. Matematisk-
Naturvidenskabelig Klasse 6 (1917) 199. [378]
[1927] Th. Skolem, Gruppierungen. Kombinatorische Reziprozit aten. Paarsys-
teme, in: E. Netto, Lehrbuch der Combinatorik, Zweite Auflage, Teubner,
Leipzig, 1927, pp. 279308 [Nachtrag (Kapitel 15)]. [322]
[1982] D.J. Skrien, A relationship between triangulated graphs, comparability
graphs, proper interval graphs, proper circular-arc graphs, and nested in-
terval graphs, Journal of Graph Theory 6 (1982) 309316. [1100, 1141,
1143]
[2000] M. Skutella, Approximating the single source unsplittable min-cost flow
problem, in: 41st Annual Symposium on Foundations of Computer Science
(41st FOCS, Redondo Beach, California, 2000), IEEE Computer Society
Press, Los Alamitos, California, 2000, pp. 136145. [196]
[2002] M. Skutella, Approximating the single source unsplittable min-cost flow
problem, Mathematical Programming 91 (2002) 493514. [196]
[1977] P.J. Slater, Subtrees of a tree that form a K
onig system, Ars Combinatoria
4 (1977) 271283. [1447]
[1996] P. Slavk, A tight analysis of the greedy algorithm for set cover, in: Pro-
ceedings of the Twenty-Eighth Annual ACM Symposium on the Theory of
References 1733
[1997] A. Tamura, The generalized stable set problem for perfect bidirected
graphs, Journal of the Operations Research Society of Japan 40 (1997)
401414. [1133]
[2000] A. Tamura, Perfect (0, 1)-matrices and perfect bidirected graphs, Theo-
retical Computer Science 235 (2000) 339356. [1133, 1437]
[1991] J.J.M. Tan, A necessary and sucient condition for the existence of a
complete stable matching, Journal of Algorithms 12 (1991) 154178. [313]
[1997] L. Tan, The weak series reduction property implies pseudomodularity, Eu-
ropean Journal of Combinatorics 18 (1997) 713719. [765]
[1962] D.T. Tang, Communication networks with simultaneous flow requirements,
IRE Transactions on Circuit Theory CT-9 (1962) 176182. [1229]
[1965] D.T. Tang, Comments on feasibility conditions of simultaneous flows in a
network, Operations Research 13 (1965) 143146. [12281229]
[1994] S. Taoka, T. Watanabe, D. Takafuji, Simplicity-preserving augmentation
of the edge-connectivity of a graph, Technical Report of IEICE, COMP
93-73 (1994-01) [pp. 4956], The Institute of Electronics, Information and
Communication Engineers, Faculty of Engineering, Hiroshima University,
Hiroshima, 1994. [1066]
Tardos, A strongly polynomial minimum cost circulation algorithm,
[1985a] E.
Combinatorica 5 (1985) 247255. [178, 181, 190, 356357, 377, 811]
Tardos, Generalized matroids and supermodular colourings, in: Ma-
[1985b] E.
troid Theory (Proceedings Colloquium on Matroid Theory, Szeged, 1982;
L. Lovasz, A. Recski, eds.) [Colloquia Mathematica Societatis J
anos Bolyai,
40], North-Holland, Amsterdam, 1985, pp. 359382. [849, 852]
Tardos, A strongly polynomial algorithm to solve combinatorial linear
[1986] E.
programs, Operations Research 34 (1986) 250256. [1054, 1147, 1225]
Tardos, An intersection theorem for supermatroids, Journal of Combi-
[1990] E.
natorial Theory, Series B 50 (1990) 150159. [724]
Tardos, C.A. Tovey, M.A. Trick, Layered augmenting path algorithms,
[1986] E.
Mathematics of Operations Research 11 (1986) 362370. [819]
Tardos, V.V. Vazirani, Improved bounds for the max-flow min-multicut
[1993] E.
ratio for planar and Kr,r -free graphs, Information Processing Letters 47
(1993) 7780. [1230, 1247]
Tardos, K.D. Wayne, Simple generalized maximum flow algorithms, in:
[1998] E.
Integer Programming and Combinatorial Optimization (Proceedings 6th
IPCO Conference, Houston, Texas, 1998; R.E. Bixby, E.A. Boyd, R.Z. Ros-
Mercado, eds.) [Lecture Notes in Computer Science 1412], Springer, Berlin,
1998, pp. 310324. [196]
[1972] R. Tarjan, Depth-first search and linear graph algorithms, SIAM Journal
on Computing 1 (1972) 146160. [90, 242243, 248, 1037]
[1974a] R.E. Tarjan, A good algorithm for edge-disjoint branching, Information
Processing Letters 3 (1974) 5153. [905, 918, 922]
[1974b] R.E. Tarjan, A note on finding the bridges of a graph, Information Pro-
cessing Letters 2 (1973-74) 160161. [94]
1742 References
R.J. Wilson, Graph Theory 17361936, Clarendon Press, Oxford, 1976, pp.
1820]. [89, 120]
[1985] M. Tarsi, Nowhere zero flow and circuit covering in regular matroids, Jour-
nal of Combinatorial Theory, Series B 39 (1985) 346352. [1427]
[1986] M. Tarsi, Semi-duality and the cycle double cover conjecture, Journal of
Combinatorial Theory, Series B 41 (1986) 332340. [646, 1427, 1456]
[1997] L. Tassiulas, Worst case length of nearest neighbor tours for the Euclidean
traveling salesman problem, SIAM Journal on Discrete Mathematics 10
(1997) 171179. [996]
[1951] R. Taton, Luvre scientifique de Monge, Presses universitaires de France,
Paris, 1951. [294]
[1985] A. Teng, A. Tucker, An O(qn) algorithm to q-color a proper family of
circular arcs, Discrete Mathematics 55 (1985) 233243. [1100]
[1997] C.-P. Teo, J. Sethuraman, LP based approach to optimal stable matchings,
in: Proceedings of the Eighth Annual ACM-SIAM Symposium on Discrete
Algorithms (New Orleans, Louisiana, 1997), The Association for Comput-
ing Machinery, New York, and Society for Industrial and Applied Mathe-
matics, Philadelphia, Pennsylvania, 1997, pp. 710719. [314]
[1998] C.-P. Teo, J. Sethuraman, The geometry of fractional stable matchings and
its applications, Mathematics of Operations Research 23 (1998) 874891.
[314]
[1999] C.-P. Teo, J. Sethuraman, W.-P. Tan, Gale-Shapley stable marriage prob-
lem revisited: strategic issues and applications, in: Integer Programming
and Combinatorial Optimization (Proceedings 7th IPCO Conference, Graz,
1999; G. Cornuejols, R.E. Burkard, G.J. Woeginger, eds.) [Lecture Notes
in Computer Science 1610], Springer, Berlin, 1999, pp. 429438. [314]
[1982] O. Terada, T. Nishizeki, Approximate algorithms for the edge-coloring of
graphs [in Japanese], Transactions of the Institute of Electronics and Com-
munication Engineers of Japan J65-D (1982) 13821389. [467, 481]
[1971] H. Thiriez, The set covering problem: a group theoretic approach, Revue
Francaise dInformatique et de Recherche Op
erationelle 5:V-3 (1971) 83
103. [1438]
[1993] A. Thomas, A class of perfect graphs in genetics, IMA Journal of Mathe-
matics Applied in Medicine and Biology 10 (1993) 7781. [1150]
[1984] A. Thomason, An extremal function for contractions of graphs, Mathemat-
ical Proceedings of the Cambridge Philosophical Society 95 (1984) 261265.
[1087]
[2001] S. Thomasse, Covering a strong digraph by 1 disjoint paths: a proof
of Las Vergnas conjecture, Journal of Combinatorial Theory, Series B 83
(2001) 331333. [233]
[1980] C. Thomassen, 2-linked graphs, European Journal of Combinatorics 1
(1980) 371378. [12421243, 1261, 1458]
[1981a] C. Thomassen, A remark on the factor theorems of Lov
asz and Tutte,
Journal of Graph Theory 5 (1981) 441442. [591]
1744 References
[1995] B. Toft, Colouring, stable sets and perfect graphs, in: Handbook of Combi-
natorics Volume 1 (R.L. Graham, M. Gr otschel, L. Lovasz, eds.), Elsevier,
Amsterdam, 1995, pp. 233288. [1105, 1133]
[1996] B. Toft, A survey of Hadwigers conjecture, in: Surveys in Graph Theory
[Volume 1] (G. Chartrand, M. Jacobson, eds.) [Congressus Numerantium
115], Utilitas, Winnipeg, Manitoba, 1996, pp. 249283. [1087]
[1992] T. Tokuyama, J. Nakano, Ecient algorithms for the Hitchcock trans-
portation problem, in: Proceedings of the Third Annual ACM-SIAM Sym-
posium on Discrete Algorithms (Orlando, Florida, 1992), The Association
for Computing Machinery, New York, and Society for Industrial and Ap-
plied Mathematics, Philadelphia, Pennsylvania, 1992, pp. 175184. [357]
[1995] T. Tokuyama, J. Nakano, Ecient algorithms for the Hitchcock transporta-
tion problem, SIAM Journal on Computing 24 (1995) 563578. [357]
[1930] A.N. Tolsto, Metody nakhozhdeniya naimenshego summovogo kilome-
trazha pri planirovanii perevozok v prostranstve [Russian; Methods of
finding the minimal total kilometrage in cargo-transportation planning in
space], in: Planirovanie Perevozok, Sbornik pervy [Russian; Transporta-
tion Planning, Volume I], Transpechat NKPS [TransPress of the National
Commissariat of Transportation], Moscow, 1930, pp. 2355. [178, 344, 362,
364]
[1939] A. Tolsto, Metody ustraneniya neratsionalnykh perevozok pri planirovanii
[Russian; Methods of removing irrational transportation in planning], Sot-
sialisticheski Transport 9 (1939) 2851 [also published as pamphlet:
Metody ustraneniya neratsionalnykh perevozok pri sostavlenii operativnykh
planov [Russian; Methods of Removing Irrational Transportation in the
Construction of Operational Plans], Transzheldorizdat, Moscow, 1941].
[178, 365366]
[1971] N. Tomizawa, On some techniques useful for solution of transportation
network problems, Networks 1 (1971) 173194. [185, 190, 286287, 290,
300, 377]
[1976a] N. Tomizawa, A meaning and a constructive proof of Mengers theorem for
matroids, Transactions of the Institute of Electronics and Communication
Engineers of Japan E 59 (1976) 3334. [721]
[1976b] N. Tomizawa, An O(m3 ) algorithm for solving the realization problem of
graphsOn combinatorial characterizations of graphic (0, 1)-matrices [in
Japanese], in: Papers of the Technical Group on Circuit and System Theory
of the Institute of Electronics and Communication Engineers of Japan CST
(1976) 75106. [214]
[1966] J.A. Tomlin, Minimum-cost multi-commodity network flows, Operations
Research 14 (1966) 4551. [1248]
[1981] M. Tompa, An optimal solution to a wire-routing problem, Journal of
Computer and System Sciences 23 (1981) 127150. [1371]
[1956] C. Tompkins, Machine attacks on problems whose variables are permuta-
tions, in: Numerical Analysis (Proceedings of the Sixth Symposium in Ap-
plied Mathematics of the American Mathematical Society, Santa Monica,
California, 1953; J.H. Curtiss, ed.) [Proceedings of Symposia in Applied
1746 References
[1976] W.T. Trotter, Jr, J.I. Moore, Jr, Characterization problems for graphs,
partially ordered sets, lattices, and families of sets, Discrete Mathematics
16 (1976) 361381. [1100]
[1978] L.E. Trotter, Jr, D.B. Weinberger, Symmetric blocking and anti-blocking
relations for generalized circulations, [in: Polyhedral Combinatorics Ded-
icated to the Memory of D.R. Fulkerson (M.L. Balinski, A.J. Homan,
eds.)] Mathematical Programming Study 8 (1978) 141158. [210]
[1978] `
V.A. Trubin, Eektivny algoritm dlya zadachi Webera s pryamougolno
metriko [Russian], Kibernetika 14:6 (1978) 6770 [English translation: Ef-
fective algorithm for the Weber problem with a rectangular metric, Cyber-
netics 14 (1979) 874878]. [880]
[1991] V.A. Trubin, Prochnost seti, ee usilenie i upakovka derevev [Russian],
Kibernetika [Kiev] 1991:2 (1991) 6775 [English translation: Strength and
reinforcement of a network and tree packing, Cybernetics 27 (1991) 246
257]. [891]
[1952] D.L. Trueblood, The eect of travel time and distance on freeway usage,
Public Roads 26 (1952) 241250. [120]
[1977] K. Truemper, On max flows with gains and pure min-cost flows, SIAM
Journal on Applied Mathematics 32 (1977) 450456. [196]
[1982] K. Truemper, Alpha-balanced graphs and matrices and GF(3)-represent-
ability of matroids, Journal of Combinatorial Theory, Series B 32 (1982)
112139. [1447]
[1985] K. Truemper, A decomposition theory for matroids. II. Minimal violation
matroids, Journal of Combinatorial Theory, Series B 39 (1985) 282297.
[657]
[1987] K. Truemper, Max-flow min-cut matroids: polynomial testing and poly-
nomial algorithms for maximum flow and shortest routes, Mathematics of
Operations Research 12 (1987) 7296. [1412]
[1990] K. Truemper, A decomposition theory for matroids. V. Testing of matrix
total unimodularity, Journal of Combinatorial Theory, Series B 49 (1990)
241281. [1450]
[1992] K. Truemper, Matroid Decomposition, Academic Press, San Diego, Cali-
fornia, 1992. [214, 656, 672, 1413, 1415, 1450]
[1978] K. Truemper, R. Chandrasekaran, Local unimodularity of matrix-vector
pairs, Linear Algebra and Its Applications 22 (1978) 6578. [1450]
[1954] C.J. Truitt, Trac engineering techniques for determining trunk require-
ments in alternate routing trunk networks, The Bell System Technical Jour-
nal 33 (1954) 277302. [120]
[1996] P. Tseng, D.P. Bertsekas, An -relaxation method for generalized separable
convex cost network flow problems, in: Integer Programming and Combina-
torial Optimization (Proceedings 5th IPCO Conference, Vancouver, British
Columbia, 1996; W.H. Cunningham, S.T. McCormick, M. Queyranne, eds.)
[Lecture Notes in Computer Science 1084], Springer, Berlin, 1996, pp. 85
93. [196]
1748 References
[2000] P. Tseng, D.P. Bertsekas, An -relaxation method for separable convex cost
generalized network flow problems, Mathematical Programming 88 (2000)
85104. [196]
[1986] F.T. Tseng, K. Truemper, A decomposition of the matroids with the max-
flow min-cut property, Discrete Applied Mathematics 15 (1986) 329364
[addendum: Discrete Applied Mathematics 20 (1988) 8788]. [1412]
[1971] A. Tucker, Matrix characterizations of circular-arc graphs, Pacific Journal
of Mathematics 39 (1971) 535545. [1100]
[1973a] A. Tucker, Perfect graphs and an application to optimization municipal
services, SIAM Review 15 (1973) 585590. [1151]
[1973b] A. Tucker, The strong perfect graph conjecture for planar graphs, Canadian
Journal of Mathematics 25 (1973) 103114. [1121]
[1974] A. Tucker, Structure theorems for some circular-arc graphs, Discrete Math-
ematics 7 (1974) 167195. [1100]
[1975] A. Tucker, Coloring a family of circular arcs, SIAM Journal on Applied
Mathematics 29 (1975) 493502. [1100, 1121]
[1977a] A. Tucker, A note on convergence of the Ford-Fulkerson flow algorithm,
Mathematics of Operations Research 2 (1977) 143144. [163]
[1977b] A. Tucker, Critical perfect graphs and perfect 3-chromatic graphs, Journal
of Combinatorial Theory, Series B 23 (1977) 143149. [1120, 1124]
[1978] A. Tucker, Circular arc graphs: new uses and a new algorithm, in: Theory
and Applications of Graphs (Proceedings Third International Conference,
Kalamazoo, Michigan, 1976; Y. Alavi, D.R. Lick, eds.) [Lecture Notes in
Mathematics 642], Springer, Berlin, 1978, pp. 580589. [1100]
[1979] A.C. Tucker, Berges strong perfect graph conjecture, [in: Second Interna-
tional Conference on Combinatorial Mathematics (A. Gewirtz, L.V. Quin-
tas, eds.)] Annals of the New York Academy of Sciences 319 (1979) 530535.
[1120]
[1980] A. Tucker, An ecient test for circular-arc graphs, SIAM Journal on Com-
puting 9 (1980) 124. [1100]
[1983a] A. Tucker, Coloring graphs with stable cutsets, Journal of Combinatorial
Theory, Series B 34 (1983) 258267. [1124]
[1983b] A. Tucker, Uniquely colorable perfect graphs, Discrete Mathematics 44
(1983) 187194. [1124]
[1984a] Albert Tucker, Merrill Flood (with Albert Tucker) This is an interview
of Merrill Flood in San Francisco on 14 May 1984, in: The Princeton Math-
ematics Community in the 1930s An Oral-History Project [located at
Princeton University in the Seeley G. Mudd Manuscript Library web at
the URL: http://www.princeton.edu/mudd/math], Transcript Number 11
(PMC11), 1984. [1000, 1002]
[1984b] A. Tucker, The validity of the perfect graph conjecture for K4 -free graphs,
in: Topics on Perfect Graphs (C. Berge, V. Chv atal, eds.) [Annals of Dis-
crete Mathematics 21], North-Holland, Amsterdam, 1984, pp. 149157.
[1121]
References 1749
[1987a] A. Tucker, A reduction procedure for coloring perfect K4 -free graphs, Jour-
nal of Combinatorial Theory, Series B 43 (1987) 151172. [1120]
[1987b] A. Tucker, Coloring perfect (K4 e)-free graphs, Journal of Combinatorial
Theory, Series B 42 (1987) 313318. [1121]
[1984] A. Tucker, D. Wilson, An O(N 2 ) algorithm for coloring perfect planar
graphs, Journal of Algorithms 5 (1984) 6068. [1121]
[1994] L. Tuncel, On the complexity of preflow-push algorithms for the maximum-
flow problem, Algorithmica 11 (1994) 353359. [159]
[1941] P. Tur
an, Egy grafelmeleti szels
oertekfeladatr
ol [Hungarian; On an ex-
tremal problem in graph theory], Matematikai es Fizikai Lapok 48 (1941)
436452. [1105]
[1937] A.M. Turing, On computable numbers, with an application to the Entschei-
dungsproblem, Proceedings of the London Mathematical Society (2) 42
(1937) 230265 [correction: 43 (1937) 544546] [reprinted in: The Unde-
cidable Basic Papers on Undecidable Propositions, Unsolvable Problems
and Computable Functions (M. Davis, ed.), Raven Press, Hewlett, New
York, 1965, pp. 116154]. [54]
[1983] D. Turzk, A note on chromatic number of direct product of graphs, Com-
mentationes Mathematicae Universitatis Carolinae 24 (1983) 461463.
[1172]
[1947a] W.T. Tutte, A ring in graph theory, Proceedings of the Cambridge Philo-
sophical Society 43 (1947) 2640 [reprinted in: Selected Papers of W.T.
Tutte Volume I (D. McCarthy, R.G. Stanton, eds.), The Charles Babbage
Research Centre, St. Pierre, Manitoba, 1979, pp. 5569]. [471]
[1947b] W.T. Tutte, The factorization of linear graphs, The Journal of the London
Mathematical Society 22 (1947) 107111 [reprinted in: Selected Papers of
W.T. Tutte Volume I (D. McCarthy, R.G. Stanton, eds.), The Charles
Babbage Research Centre, St. Pierre, Manitoba, 1979, pp.8997]. [413,
415, 429, 435]
[1949] W.T. Tutte, On the imbedding of linear graphs in surfaces, Proceedings of
the London Mathematical Society (2) 51 (1949) 474483. [471]
[1950] W.T. Tutte, The factorization of locally finite graphs, Canadian Journal of
Mathematics 2 (1950) 4449 [reprinted in: Selected Papers of W.T. Tutte
Volume I (D. McCarthy, R.G. Stanton, eds.), The Charles Babbage Re-
search Centre, St. Pierre, Manitoba, 1979, pp. 126133]. [431, 435]
[1952] W.T. Tutte, The factors of graphs, Canadian Journal of Mathematics 4
(1952) 314328 [reprinted in: Selected Papers of W.T. Tutte Volume I (D.
McCarthy, R.G. Stanton, eds.), The Charles Babbage Research Centre, St.
Pierre, Manitoba, 1979, pp. 134152]. [435, 520521, 547, 558, 569]
[1953] W.T. Tutte, The 1-factors of oriented graphs, Proceedings of the American
Mathematical Society 4 (1953) 922931. [389]
[1954a] W.T. Tutte, A contribution to the theory of chromatic polynomials, Cana-
dian Journal of Mathematics 6 (1954) 8091 [reprinted in: Selected Papers
of W.T. Tutte Volume I (D. McCarthy, R.G. Stanton, eds.), The Charles
1750 References
Babbage Research Centre, St. Pierre, Manitoba, 1979, pp. 157175]. [472,
646, 1453]
[1954b] W.T. Tutte, A short proof of the factor theorem for finite graphs, Canadian
Journal of Mathematics 6 (1954) 347352 [reprinted in: Selected Papers of
W.T. Tutte Volume I (D. McCarthy, R.G. Stanton, eds.), The Charles
Babbage Research Centre, St. Pierre, Manitoba, 1979, pp.169175]. [338
339, 345, 435, 520, 526, 546, 562]
[1958a] W.T. Tutte, A homotopy theorem for matroids, I, Transactions of the
American Mathematical Society 88 (1958) 144160 [reprinted in: J.P.S.
Kung, A Source Book in Matroid Theory, Birkh
auser, Boston, Massachu-
setts, 1986, pp. 153169]. [655656]
[1958b] W.T. Tutte, A homotopy theorem for matroids, II, Transactions of the
American Mathematical Society 88 (1958) 161174 [reprinted in: J.P.S.
Kung, A Source Book in Matroid Theory, Birkh
auser, Boston, Massachu-
setts, 1986, pp. 171184]. [655656]
[1959] W.T. Tutte, Matroids and graphs, Transactions of the American Mathe-
matical Society 90 (1959) 527552. [657]
[1960] W.T. Tutte, An algorithm for determining whether a given binary matroid
is graphic, Proceedings of the American Mathematical Society 11 (1960)
905917. [214]
[1961a] W.T. Tutte, On the problem of decomposing a graph into n connected
factors, The Journal of the London Mathematical Society 36 (1961) 221
230 [reprinted in: Selected Papers of W.T. Tutte Volume I (D. McCarthy,
R.G. Stanton, eds.), The Charles Babbage Research Centre, St. Pierre,
Manitoba, 1979, pp. 214225]. [744, 877]
[1961b] W.T. Tutte, Ringel, Gerhard. *F
arbungsprobleme auf Flachen und Grap-
hen [Review 22-235], Mathematical Reviews 22 (1961) 4142. [1087]
[1965a] W.T. Tutte, Lectures on matroids, Journal of Research National Bureau
of Standards Section B 69 (1965) 147 [reprinted in: Selected Papers of
W.T. Tutte, Vol. II (D. McCarthy, R.G. Stanton, eds.), Charles Babbage
Research Centre, St. Pierre, Manitoba, 1979, pp. 439496]. [213214, 672]
[1965b] W.T. Tutte, Mengers theorem for matroids, Journal of Research National
Bureau of Standards Section B 69 (1965) 4953. [720, 1416]
[1966] W.T. Tutte, On the algebraic theory of graph colorings, Journal of Combi-
natorial Theory 1 (1966) 1550. [466, 472, 476, 498, 644645, 1426, 1454]
[1967] W.T. Tutte, On even matroids, Journal of Research National Bureau of
Standards Section B 71 (1967) 213214. [214]
[1971] W.T. Tutte, Introduction to the Theory of Matroids, American Elsevier,
New York, 1971. [672]
[1974] W.T. Tutte, Spanning subgraphs with specified valencies, Discrete Math-
ematics 9 (1974) 97108 [reprinted in: Selected Papers of W.T. Tutte Vol-
ume II (D. McCarthy, R.G. Stanton, eds.), The Charles Babbage Research
Centre, St. Pierre, Manitoba, 1979, pp. 757768]. [569, 574]
[1978] W.T. Tutte, The subgraph problem, in: Advances in Graph Theory (Pro-
ceedings Cambridge Combinatorial Conference, Cambridge, 1977; B. Bol-
References 1751
lob
as, ed.) [Annals of Discrete Mathematics 3], North-Holland, Amster-
dam, 1978, pp. 289295. [574, 591]
[1981] W.T. Tutte, Graph factors, Combinatorica 1 (1981) 7997. [570]
[1984] W.T. Tutte, Graph Theory, Addison-Wesley, Reading, Massachusetts, 1984.
[277, 431, 574]
[1963] H. Tu.y, Grafy i transportnye zadachi [Russian; Graphs and transportation
problems], Sibirski Matematicheski Zhurnal 4 (1963) 426445. [196]
[1964] H. Tu.y, Contribution `
a la theorie des reseaux, Acta Scientiarum Vietnami-
carum Sectio Scientiarum Mathematicarum et Physicarum 1 (1964) 11
67. [196]
[1991] Z. Tuza, Extensions of Gallais graph covering theorems for uniform hy-
pergraphs, Journal of Combinatorial Theory, Series B 52 (1991) 9296.
[1382]
[1994] Z. Tuza, Perfect triangle families, Bulletin of the London Mathematical
Society 26 (1994) 321324. [961]
[1967] H. Tverberg, On Dilworths decomposition theorem for partially ordered
sets, Journal of Combinatorial Theory 3 (1967) 305306. [219]
[1968] M.S. Tyagi, The travelling-salesman problem, The Mathematics Seminar
[Delhi] 4 (1968) 168176. [996]
[1960] M.E. Tylkin, O geometrii Kh`emminga edinichnykh kubov [Russian], Dok-
lady Akademii Nauk SSSR 134 (1960) 10371040 [English translation: On
Hamming geometry of unitary cubes, Soviet Physics Doklady 5 (1960) 940
943]. [1345]
[1962] M.E. Tylkin, O realizuemosti matrits rasstoyani v edinichnykh kubakh
[Russian; Realizability of distance matrices in unit cubes], Problemy Ky-
bernetiki 7 (1962) 3142. [1345]
[1988] S. Ueno, Y. Kajitani, H. Wada, Minimum augmentation of a tree to a
k-edge-connected graph, Networks 18 (1988) 1925. [1066]
[1975] J.P. Uhry, Sur le probl`eme du couplage maximal, Revue Francaise dAuto-
matique, Informatique et Recherche Operationnelle 9 (V-3) (1975) 1320.
[524525]
[1991] J.D. Ullman, M. Yannakakis, High-probability parallel transitive-closure
algorithms, SIAM Journal on Computing 20 (1991) 100125. [94]
[1975] L.Y. Ulrich, Heuristic algorithms for solving a large scale multicommodity
flow problem on a network with a step function cost, Studies in Applied
Mathematics 54 (1975) 207227. [1248]
[1967] R.J. Urquhart, Degree Constrained Subgraphs of Linear Graphs, Ph.D. The-
sis, Systems Engineering Laboratory, Department of Electrical Engineer-
ing, University of Michigan, Ann Arbor, Michigan, 1967. [573]
[1988] P.M. Vaidya, Geometry helps in matching, in: Proceedings of the Twentieth
Annual ACM Symposium on Theory of Computing (20th STOC, Chicago,
Illinois, 1988), The Association for Computing Machinery, New York, 1988,
pp. 422425. [460]
1752 References
[1963] W. Vogel, Bemerkungen zur Theorie der Matrizen aus Nullen und Einsen,
Archiv der Mathematik [Basel] 14 (1963) 139144. [340]
[1982] T. Volgenant, R. Jonker, A branch and bound algorithm for the symmet-
ric traveling salesman problem based on the 1-tree relaxation, European
Journal of Operational Research 9 (1982) 8389. [995]
[1983] T. Volgenant, R. Jonker, The symmetric traveling salesman problem and
edge exchanges in minimal 1-trees, European Journal of Operational Re-
search 12 (1983) 394403. [995]
[1980] O. Vornberger, Easy and hard cycle covers, preprint, Universit
at Pader-
born, Paderborn, 1980. [545]
[1952] D.F. Votaw, Jr, Methods of solving some personnel-classification problems,
Psychometrika 17 (1952) 255266. [297298]
[1952] D.F. Votaw, Jr, A. Orden, The personnel assignment problem, in: Sympo-
sium on Linear Inequalities and Programming [Scientific Computation of
Optimum Programs, Project SCOOP, No. 10] (Washington, D.C., 1951;
A. Orden, L. Goldstein, eds.), Planning Research Division, Director of
Management Analysis Service, Comptroller, Headquarters U.S. Air Force,
Washington, D.C., 1952, pp. 155163. [51, 53, 297, 375]
[1995] J. Vygen, NP-completeness of some edge-disjoint paths problems, Discrete
Applied Mathematics 61 (1995) 8390. [1244, 1273]
[2000] J. Vygen, On dual minimum cost flow algorithms, in: Proceedings of the
Thirty Second Annual ACM Symposium on Theory of Computing (32nd
STOC, Portland, Oregon, 2000), The Association for Computing Machin-
ery, New York, 2000, pp. 117125. [195]
[2002] J. Vygen, A note on Schrijvers submodular function minimization algo-
rithm, Journal of Combinatorial Theory, Series B, to appear. [791]
[1927] B.L. van der Waerden, Ein Satz u ber Klasseneinteilungen von endlichen
Mengen, Abhandlungen aus dem mathematischen Seminar der Hamburgis-
chen Universit
at 5 (1927) 185188. [263, 276, 281, 390]
[1930] B.L. van der Waerden, Moderne Algebra Erster Teil, Springer, Berlin,
1930. [673, 677679]
[1937] B.L. van der Waerden, Moderne Algebra Erster Teil Zweite verbes-
serte Auflage, Springer, Berlin, 1937. [666, 673, 679]
[1999] A. Wagler, On critically perfect graphs, Journal of Graph Theory 32 (1999)
394404. [1133]
[1937a] K. Wagner, Uber eine Eigenschaft der ebenen Komplexe, Mathematische
Annalen 114 (1937) 570590. [2627, 1087, 1329, 1457]
[1937b] K. Wagner, Uber eine Erweiterung eines Satzes von Kuratowski, Deutsche
Mathematik 2 (1937) 280285. [952]
[1958] H.M. Wagner, On a class of capacitated transportation problems, Manage-
ment Science 5 (1958-59) 304318. [343, 346]
[1960] K. Wagner, Bemerkungen zu Hadwigers Vermutung, Mathematische An-
nalen 141 (1960) 433451. [1087]
References 1755
[1976] M.M. Weigand, Ein neuer Algorithmus zur Bestimmung von k-kurzesten
Wegen in einem Graphen, Computing 16 (1976) 139151. [105]
[1993] K. Weihe, Multicommodity flows in even, planar networks, in: Algorithms
and Computation (4th International Symposium, ISAAC 93, Hong Kong,
1993; K.W. Ng, P. Raghavan, N.V. Balasubramanian, F.Y.L. Chin, eds.)
[Lecture Notes in Computer Science 762], Springer, Berlin, 1993, pp. 333
342. [1299]
[1994a] K. Weihe, Edge-disjoint (s, t)-paths in undirected planar graphs in linear
time, in: Algorithms ESA 94 (Proceedings Second Annual European
Symposium, Utrecht, 1994; J. van Leeuwen, ed.) [Lecture Notes in Com-
puter Science 855], Springer, Berlin, 1994, pp. 130140. [139]
[1994b] K. Weihe, Maximum (s, t)-flows in planar networks in O(|V | log |V |) time,
in: Proceedings 35th Annual Symposium on Foundations of Computer Sci-
ence (35th FOCS, Santa Fe, New Mexico, 1994; S. Goldwasser, ed.), IEEE
Computer Society Press, Los Alamitos, California, 1994, pp. 178189. [140,
161]
[1997a] K. Weihe, Edge-disjoint (s, t)-paths in undirected planar graphs in linear
time, Journal of Algorithms 23 (1997) 121138. [139]
[1997b] K. Weihe, Maximum (s, t)-flows in planar networks in O(|V | log |V |) time,
Journal of Computer and System Sciences 55 (1997) 454475. [140, 161]
[1997c] K. Weihe, Multicommodity flows in even, planar networks, Algorithmica
18 (1997) 363383. [1299]
[1999] K. Weihe, Edge-disjoint routing in plane switch graphs in linear time, in:
40th Annual Symposium on Foundations of Computer Science (40th FOCS,
New York, 1999), IEEE Computer Society Press, Los Alamitos, California,
1999, pp. 330339. [1304]
[1974a] D.B. Weinberger, A note on the blocker of tours, Mathematical Program-
ming 7 (1974) 236239. [990]
[1974b] D.B. Weinberger, Sucient regularity conditions for common transversals,
Journal of Combinatorial Theory, Series A 16 (1974) 380390. [409]
[1976] D.B. Weinberger, Transversal matroid intersections and related packings,
Mathematical Programming 11 (1976) 164176. [401, 802]
[1963] J.M. Weinstein, On the number of disjoint edges in a graph, Canadian
Journal of Mathematics 15 (1963) 106111. [430]
[1974] J. Weinstein, Large matchings in graphs, Canadian Journal of Mathematics
26 (1974) 14981508. [430]
[1974] A. Weintraub, A primal algorithm to solve network flow problems with
convex costs, Management Science 21 (1974) 8797. [182, 196]
[1968] D.J.A. Welsh, Some applications of a theorem of Rado, Mathematika [Lon-
don] 15 (1968) 199203. [395]
[1970] D.J.A. Welsh, On matroid theorems of Edmonds and Rado, The Journal
of the London Mathematical Society (2) 2 (1970) 251256. [702, 726]
1758 References
[1971] D.J.A. Welsh, Related classes of set functions, in: Studies in Pure Math-
ematics (L. Mirsky, ed.), Academic Press, London, 1971, pp. 261269.
[702]
[1976] D.J.A. Welsh, Matroid Theory, Academic Press, London, 1976. [390, 672,
744, 779780, 785]
[1967] D.J.A. Welsh, M.B. Powell, An upper bound for the chromatic number of a
graph and its application to timetabling problems, The Computer Journal
10 (1967) 8586. [336]
[1970] D. de Werra, On some combinatorial problems arising in scheduling, Cana-
dian Operations Research Society Journal 8 (1970) 165175. [325, 336]
[1971] D. de Werra, Equitable colorations of graphs, Revue Francaise dInforma-
tique et de Recherche Operationnelle 5:R-3 (1971) 38. [326]
[1972] D. de Werra, Decomposition of bipartite multigraphs into matchings, Zeit-
schrift f
ur Operations Research 16 (1972) 8590. [325, 336]
[1976] D. de Werra, Some remarks on good colorations, Journal of Combinatorial
Theory, Series B 21 (1976) 5764. [326]
[1978] D. de Werra, On line perfect graphs, Mathematical Programming 15 (1978)
236238. [1120]
[1981] D. de Werra, On the existence of generalized good and equitable edge
colorings, Journal of Graph Theory 5 (1981) 247258. [482]
[1984] D. de Werra, Variation on a theorem of K
onig, Discrete Mathematics 51
(1984) 319321. [277]
[1986] D. de Werra, Node coverings with odd chains, Journal of Graph Theory 10
(1986) 177185. [336]
[1987] D. de Werra, Partitions into odd chains, Mathematical Programming 37
(1987) 4150. [336]
[1999] D. de Werra, A. Hertz, On perfectness of sums of graphs, Discrete Mathe-
matics 195 (1999) 93101. [1133]
[1982] D.B. West, Extremal problems in partially ordered sets, in: Ordered Sets
(Proceedings Ban 1981; I. Rival, ed.), Reidel, Dordrecht, 1982, pp. 473
521. [236]
[1935] H. Weyl, Elementare Theorie der konvexen Polyeder, Commentarii Mathe-
matici Helvetici 7 (1935) 290306 [reprinted in: Hermann Weyl Gesam-
melte Abhandlungen Band III (K. Chandrasekharan, ed.), Springer,
Berlin, 1968, pp. 517533] [English translation: The elementary theory
of convex polyhedra, in: Contributions to the Theory of Games I (H.W.
Kuhn, A.W. Tucker, eds.), Princeton University Press, Princeton, New
Jersey, 1950, pp. 318]. [6061]
[1949] H. Weyl, Almost periodic invariant vector sets in a metric vector space,
American Journal of Mathematics 71 (1949) 178205 [reprinted in: Her-
mann Weyl Gesammelte Abhandlungen Band IV (K. Chandrasekha-
ran, ed.), Springer, Berlin, 1968, pp. 362389]. [379380, 392]
[1967] L.J. White, A Parametric Study of Matchings and Coverings in Weighted
Graphs [Ph.D. Thesis], Technical Report 06920-11-T, Systems Engineering
References 1759
[1979] D.H. Younger, From shortest paths to directed cut transversals, [in: Second
International Conference on Combinatorial Mathematics (A. Gewirtz, L.V.
Quintas, eds.)] Annals of the New York Academy of Sciences 319 (1979)
555562. [960]
[1983] D.H. Younger, Integer flows, Journal of Graph Theory 7 (1983) 349357.
[473]
[1976] D.B. Yudin, A.S. Nemirovski, Informatsionnaya spozhnost i `eektivnye
metody resheniya vypuklykh `ekstremalnykh zadach [Russian; Informa-
tional complexity and ecient methods for the solution of convex extremal
`
problems], Ekonomika i Matematicheskie Metody 12 (1976) 357369 [En-
glish translation: Informational complexity and ecient methods for solv-
ing complex extremal problems, Matekon 13:3 (1977) 2545]. [68]
[1967] A.P. Yule, Extensions to the heuristic algorithm for university timetables,
The Computer Journal 10 (1967) 360364. [336]
[1976] G. Yuval, An algorithm for finding all shortest paths using N 2.81 infinite-
precision multiplications, Information Processing Letters 4 (1976) 155156.
[93, 105]
[1972] N. Zadeh, Theoretical eciency of the Edmonds-Karp algorithm for com-
puting maximal flows, Journal of the Association for Computing Machinery
19 (1972) 184192. [163]
[1973a] N. Zadeh, A bad network problem for the simplex method and other min-
imum cost flow algorithms, Mathematical Programming 5 (1973) 255266.
[51, 180, 196, 375]
[1973b] N. Zadeh, More pathological examples for network flow problems, Mathe-
matical Programming 5 (1973) 217224. [163, 180, 196]
[1979] N. Zadeh, Near-Equivalence of Network Flow Algorithms, Technical Report
No. 36, Department of Operations Research, Stanford University, Stanford,
California, 1979. [118, 196]
[1998] W. Zang, Proof of Tofts conjecture: every graph containing no fully odd
K4 is 3-colorable, Journal of Combinatorial Optimization 2 (1998) 117188.
[1206]
[1968] W.I. Zangwill, Minimum concave cost flows in certain networks, Manage-
ment Science 14 (1968) 429450. [197]
[1991] L.S. Zaremba, Perfect graphs and norms, Mathematical Programming 51
(1991) 269272. [1133]
[1982] L.S. Zaremba, S. Perz, On a geometric property of perfect graphs, Combi-
natorica 2 (1982) 395397. [1133]
[1981] C. Zaverdinos, Hall-conditions and the three-family problem, Journal of
Combinatorial Theory, Series B 30 (1981) 103107. [409]
[1989] A. Zehavi, A. Itai, Three tree-paths, Journal of Graph Theory 13 (1989)
175188. [892, 1457]
[1958]
B. Zeidl, Uber 4- und 5-chrome Graphen, Monatshefte f ur Mathematik 62
(1958) 212218. [1206]
References 1765
[1998] F.B. Zhan, C.E. Noon, Shortest path algorithms: an evaluation using real
road networks, Transportation Science 32 (1998) 6573. [118]
[1990] C.-Q. Zhang, Minimum cycle coverings and integer flows, Journal of Graph
Theory 14 (1990) 537546. [646]
[1993a] C.-Q. Zhang, Cycle cover theorems and their applications, in: Graph Struc-
ture Theory (Proceedings Joint Summer Research Conference on Graph
Minors, Seattle, Washington, 1991; N. Robertson, P. Seymour, eds.) [Con-
temporary Mathematics 147], American Mathematical Society, Providence,
Rhode Island, 1993, pp. 403417. [498, 646]
[1993b] C.-Q. Zhang, Cycle covers and cycle decompositions of graphs, in: Quo
Vadis, Graph Theory? A Source Book for Challenges and Directions (J.
Gimbel, J.W. Kennedy, L.V. Quintas, eds.) [Annals of Discrete Mathe-
matics 55], North-Holland, Amsterdam, 1993, pp. 183189. [498, 646]
[1993c] C.-Q. Zhang, Parity subgraph, shortest cycle cover, and postman tour,
SIAM Journal on Discrete Mathematics 6 (1993) 428431. [498, 646]
[1997a] W. Zhang, A note on the complexity of the asymmetric traveling salesman
problem, Operations Research Letters 20 (1997) 3138. [995]
[1997b] C.-Q. Zhang, Integer Flows and Cycle Covers of Graphs, Marcel Dekker,
New York, 1997. [473, 498, 646]
[2000] L. Zhang, Every planar graph with maximum degree 7 is of class 1, Graphs
and Combinatorics 16 (2000) 467495. [480]
[2001] L. Zhao, H. Nagamochi, T. Ibaraki, Approximating the minimum k-way cut
in a graph via minimum 3-way cuts, Journal of Combinatorial Optimization
5 (2001) 397410. [254]
[2000] X. Zhou, T. Nishizeki, Graph coloring algorithms, IEICE Transactions on
Information and Systems [Special Issue on Algorithm Engineering: Surveys;
T. Ibaraki, M. Yamashita, eds.] E83-D (2000) 407417. [482]
[1963] Y.-J. Zhu, Maximum number of iterations in the dual algorithm of the Kan-
torovic-Hitchcock problem in linear programming, Chinese Mathematics 3
(1963) 307313. [347]
[1995] G.M. Ziegler, Lectures on Polytopes, Springer, New York, 1995. [84]
[1982a] U. Zimmermann, Minimization of some nonlinear functions over polyma-
troidal network flows, in: Bonn Workshop on Combinatorial Optimization
(Bonn, 1980; A. Bachem, M. Gr otschel, B. Korte, eds.) [Annals of Discrete
Mathematics 16], North-Holland, Amsterdam, 1982, pp. 287309. [1034]
[1982b] U. Zimmermann, Minimization on submodular flows, Discrete Applied
Mathematics 4 (1982) 303323. [1034]
[1985] U. Zimmermann, Augmenting circuit methods for submodular flow prob-
lems, in: Matroid Theory (Proceedings Colloquium on Matroid Theory,
Szeged, 1982; L. Lov asz, A. Recski, eds.) [Colloquia Mathematica Soci-
etatis J
anos Bolyai, 40], North-Holland, Amsterdam, 1985, pp. 401439.
[1034]
[1986] U. Zimmermann, Duality for balanced submodular flows, Discrete Applied
Mathematics 15 (1986) 365376. [1034]
1766 References
[1992] U. Zimmermann, Negative circuits for flows and submodular flows, Discrete
Applied Mathematics 36 (1992) 179189. [1034]
[1995] U. Zwick, The smallest networks on which the Ford-Fulkerson maximum
flow procedure may fail to terminate, Theoretical Computer Science 148
(1995) 165170. [153]
[1998] U. Zwick, All pairs shortest paths in weighted directed graphs exact and
almost exact algorithms, in: Proceedings 39th Annual Symposium on Foun-
dations of Computer Science (39th FOCS, Palo Alto, California, 1998),
IEEE Computer Society Press, Los Alamitos, California, 1998, pp. 310
319. [93]
[1999a] U. Zwick, All pairs lightest shortest paths, in: Proceedings of the Thirty-
First Annual ACM Symposium on Theory of Computing (31st STOC, At-
lanta, Georgia, 1999), The Association for Computing Machinery, New
York, 1999, pp. 6169. [93]
[1999b] U. Zwick, Outward rotations: a tool for rounding solutions of semidefi-
nite programming relaxations, with applications to MAX CUT and other
problems, in: Proceedings of the Thirty-First Annual ACM Symposium on
Theory of Computing (31st STOC, Atlanta, Georgia, 1999), The Associa-
tion for Computing Machinery, New York, 1999, pp. 679687. [1348]
[2002] U. Zwick, All pairs shortest paths using bridging sets and rectangular ma-
trix multiplication, Journal of the Association for Computing Machinery
49 (2002) 289317. [93]
Name Index
Abeledo, H. see Abeledo, H.G. Akl, S.G. 460, 1697
Abeledo, H.G. (= Abeledo, H.) 313 Alevras, D. 254, 1467
314, 1463 Alexander, K.S. 166, 1467
Abramson, P. 127, 1711 Alexe, G. 1141, 1146, 1467
Ackermann, W. 859, 864, 922 Ali, A. see Ali, A.I.
Adams, W.P. 1175, 1730 Ali, A.I. (= Ali, I. = Ali, A.) 196,
Adelson-Velski, G.M. 163, 196197, 1248, 1467
358, 394, 1255, 1463 Ali, I. see Ali, A.I.
Adhar, G.S. 1145, 1463 Alizadeh, F. 163, 1176, 1348, 1468
Adleman, L. 94, 1463 Almond, M. 336, 1468
Adler, I. 195, 1463 Alon, N. 93, 113, 161, 246, 274, 335,
Adolphson, D. 252, 1463 646, 959, 11031104, 1178, 1348,
Agarwal, P.K. 460, 865, 1463, 1752 14681469
Agarwal, S. 251, 580, 1463 Alspach, B. 497, 645646, 1426, 1469
Ageev, A. see Ageev, A.A. Alt, F. 677, 1469
Ageev, A.A. (= Ageev, A.) 518, 804, Alt, H. 267, 1469
1351, 14631464 alter Commis-Voyageur, ein see
Aggarwal, A. 291, 361, 1464 Commis-Voyageur, ein alter
Aggarwal, M. 991, 1464 Althaus, E. 991, 1469
Agrawal, A. 991, 1230, 1247, 1464, Amara, R.C. 130, 1469
16451646 Andersen, L.D. 476477, 482, 1455,
Aguilera, N.E. 1175, 1464 1469
Aharoni, R. 142, 277, 314, 389, 431, Anderson, I. 415, 430, 1469
521, 1127, 1382, 14641465 Anderson, R.J. 163, 1469
Aho, A.V. 49, 90, 9495, 103, 106, Ando, K. 852, 1469
871, 1465 Anstee, R. see Anstee, R.P.
Ahrens, J.H. 347, 1465 Anstee, R.P. (= Anstee, R.) 361, 554,
Ahuja, R.K. 103104, 106, 112113, 556, 559, 570, 592593, 14461447,
118119, 137, 159, 161, 163, 191, 14691470
195197, 251, 290291, 356358, Apostolico, A. 1100, 1470
361, 871, 1248, 14651466, 1697, Appel, K. 26, 483, 1082, 1085, 1087,
1733 1470
Aigner, M. 705, 1466 Appell, P. 293, 1470
Aingworth, D. 93, 118, 1466 Appleby, J.S. 336, 1470
Ait Haddadene, H. see At Applegate, D. 460, 995, 1470
Haddad`ene, H. Araoz, J. 291, 439, 493, 549, 565, 598,
At Haddad`ene, H. (= Ait Haddadene, 605, 1470
H.) 1122, 1133, 1176, 1467 Arditti, J.C. 1123, 1470
Akama, T. 140, 1321, 1323, 1370 Arikati, S.R. 1146, 1470
1371, 17371738 Arinal, J.-C. 1254, 1470
Akers, Jr, S.B. 163, 1467 Arkin, E.M. 1104, 1471
Akg ul, M. 118, 291, 1467 Arlazarov, V.L. 94, 1471
Akiyama, J. 431, 574, 593, 1133, 1467 Armoni, R. 94, 1471
1768 Name Index
Clarkson, K.L. 865, 990, 1104, 1516 1401, 1408, 14371438, 1440, 1443,
1517 14471448, 14501451, 14601461,
Clausen, J. 890, 1517 1475, 1499, 15181520, 15221523
Clos, C. 120, 1517 Cosares, S. 195, 530, 990, 1463, 1715
Cobham, A. 56, 1517 Costa, M.-C. 277, 1523
Cochand, M. 1146, 1517 Coullard, C.R. 255, 493, 1523
Cockayne, E.J. 1143, 1517 Crainic, T.G. 105, 118119, 1681
Codato, P. 507, 1517 Crama, Y. 1143, 1486
Coman, Jr, E.G. 429, 1517, 1684 Crapo, H. see Crapo, H.H.
Coy, J. 94, 1517 Crapo, H.H. (= Crapo, H.) 824, 1523
Cohen, E. 94, 118, 195196, 1517 Crocker, S.T. 431, 1523
1518 Croes, G.A. 1003, 1523
Cohen, J. 510, 1518 Croitoru, C. 11241125, 1146, 1150,
Cohen, R.F. 243, 1517 15231524
Cole, A.J. 336, 1518 Crowder, H. 995, 1524
Cole, R. see Cole, R.J. Cruse, A.B. 310, 1524
Cole, R.J. (= Cole, R.) 267269, 333 Csima, J. 274, 336, 1524
334, 1369, 1518 Csisz
ar, I. 1172, 1524
Commis-Voyageur, ein alter 997, Cui, W. 1034, 1524
1518 Cunningham, W.H. 8, 94, 106, 119,
Conforti, M. 500, 507, 672, 785, 1112, 162163, 195, 197, 254, 277, 291,
1121, 1125, 1131, 1133, 1145, 1150, 310, 431, 439442, 444, 446, 452,
1185, 1350, 1401, 1431, 1437, 1440, 459460, 462463, 493, 500, 545,
1443, 14471448, 14501451, 1460, 549, 553554, 559, 565, 567568,
1479, 15171521 598, 600, 605, 672, 694695, 707,
Cook, S.A. 1, 41, 43, 4546, 55, 57, 716, 719720, 722723, 732733,
94, 1084, 1521 763764, 777, 785787, 802, 809,
Cook, W. see Cook, W.J. 814, 819, 871, 880, 882, 886, 891
Cook, W.J. (= Cook, W.) 8, 80, 106, 892, 990991, 996, 1012, 1019, 1034,
119, 163, 197, 277, 291, 431, 442, 1104, 11121115, 1131, 1147, 1185,
447448, 460, 517, 531, 536, 539, 1412, 1470, 1479, 1493, 14971498,
544, 553, 560, 567, 571, 574, 608, 15081509, 15211522, 15241525
672, 731, 871, 990, 995996, 1099, Cvetkovic, D. 991, 1526
1133, 1175, 1350, 1470, 1515, 1521 Cypher, A. 1243, 1526
Cooper, W.W. 196, 374, 1508 Czumaj, A. 991, 1526
Coppersmith, D. 92, 1521
Corberan, A. 518, 1513 dAtri, G. see Atri, G. d
Cormen, T.H. 49, 95, 106, 119, 163, DEsopo, D.A. 125
871, 1521 Dacic, R. 409, 1526
Corneil, D. see Corneil, D.G. Daeninck, G. 197, 1526
Corneil, D.G. (= Corneil, D.) 1104, Dagan, I. 1100, 1526
1124, 1131, 1133, 1141, 1145, 1150, Dahlhaus, E. 254, 1230, 1295, 1450,
1499, 1503, 1508, 1518, 15211522, 15261527
1707 Dal, R. van 996, 1501
Cornuejols, G. 426, 448, 539, 541542, Dambit, Ya.Ya. 951, 1591
544545, 593, 710, 712, 723, 785, Damerell, M.R. 389, 1527
865, 964, 991, 996, 1104, 11121115, Dantzig, G. see Dantzig, G.B.
1121, 11241125, 1131, 1145, 1150, Dantzig, G.B. (= Dantzig, G.) 6, 51
1185, 1382, 13861387, 13951396, 53, 67, 72, 84, 88, 97, 103104, 118,
Name Index 1773
Hagerup, T. 103, 161, 1509, 1599 Hao, J. 118, 162, 195, 247, 251, 1587,
H
aggkvist, R. 335, 482, 1599 16021603
Hagihara, K. 1076, 1672 Harant, J. 133, 1495
Hahn, W. 291, 1502 Harary, F. 37, 1181, 1603
Haight, F. 123 Harding, G.C. 105, 905, 1566
Hajek, B. 431, 1721 Harris, B. 196, 1603
Hajnal, A. 1108, 11391140, 1178, Harris, T.E. 166169, 1603
1184, 1599 Hartfiel, D.J. 277, 1603
Hajos, G. 133, 146, 10871088, 1141, Hartman, J.K. 1248, 1603
1179, 1599 Hartmanis, J. 5455, 58, 1603
Haken, W. 26, 483, 1082, 1085, 1087, Hartmann, M. 1099, 1350, 1515
1470 Hartvigsen, D. see Hartvigsen, D.B.
Hakimi, S.L. 176, 241, 244, 247, 482, Hartvigsen, D.B. (= Hartvigsen, D.)
573, 1035, 1229, 1253, 1542, 1599 251, 254, 341, 544545, 819, 996,
Hales, R.S. 11711172, 1599 1412, 1522, 16031604
Halin, R. 133, 142, 277, 1087, 1141, Hassin, R. 105, 139, 161162, 195
1600 196, 251, 699, 845, 996, 1028, 1048,
Hall, A. 196, 1541 1104, 1299, 1351, 1463, 1471, 1590,
Hall, L.A. 952, 1583 1596, 16041605
Hall, Jr, M. 379, 389390, 1600 H
astad, J. 1103, 1348, 1605
Hall, P. 284, 295, 303, 378380, 385 Haupt, O. 673, 677678, 685686,
387, 389390, 392, 394, 591, 614, 1605
686, 702, 728, 1035, 1382, 1600 Hausmann, D. 8, 574, 672, 699, 901,
Halldorsson, M.M. 11031105, 1438, 1580, 1605
1496, 1507, 1600 Havel, T.F. 851852, 1497, 1535
Halmos, P.R. 379, 387, 1600 Havel, V. 573, 1605
Halperin, E. 1104, 1348, 1351, 1438, Haxell, P. 1382, 1465
16001601 Haynes, J. 129, 1495
Halperin, I. 262, 297, 303, 1536 Hayward, R. see Hayward, R.B.
Halperin, S. 118, 15341535 Hayward, R.B. (= Hayward, R.)
Halton, J.H. 415, 1001, 1483, 1601 1121, 11231124, 1133, 1146, 1148
Hamacher, H. 163, 1601 1149, 1542, 16051606
Hambrusch, S.E. 1100, 1470 He, X. 254, 1606
Hamburger, P. 1130, 1512 Hearn, D.W. 1103, 1580
Hamilton, W.R. 997, 1601 Heawood, P.J. 482483, 1606
Hammer, P.L. 361, 539, 11001101, Hedetniemi, S. see Hedetniemi, S.T.
1141, 1143, 1150, 1486, 14971498, Hedetniemi, S.T. (= Hedetniemi, S.)
1516, 1552, 1588, 1602 125, 361, 1143, 1517, 1589, 1660
Hammersley, J.M. 303, 1001, 1483, Heinrich, K. 592, 1606
1602 Heise, G. 54
Hamming, R.W. 1173 Helbig Hansen, K. 995, 1606
Han, Q. 1351, 1602 Held, M. 707, 985986, 991, 993995,
Han, T.S. 770, 1602 16061607
Han, X. 991, 1602 Helgason, R. see Helgason, R.V.
Handy, B. 298 Helgason, R.V. (= Helgason, R.) 195
Hane, C.A. 1248, 1481 197, 1248, 1467, 1607, 1642
Hansen, L.A. 890, 1517 Helgason, T. 776, 785, 1607
Hansen, P. 102104, 11041105, 1602
Hanson, D. 430, 1516
Name Index 1781
Hell, P. 526, 545, 592593, 693, 871, Homan, A.J. 6, 8, 76, 118, 138, 164,
876, 1100, 1105, 11711172, 1491, 171, 173175, 196, 198, 219, 226
1530, 1545, 1590, 16061607, 1645 227, 229, 236, 258, 266, 275, 291,
Heller, I. 53, 361, 994, 1003, 1147, 303, 317, 354, 361, 381, 386, 388
16071608 389, 405406, 430, 439, 442, 452,
Helman, P. 699, 1608 472, 493, 553, 561, 574, 608, 719,
Hemminger, R.L. 1217, 1608 802, 1000, 10021003, 1020, 1025
Henkin, L. 389, 1608 1027, 1034, 1138, 1141, 1147, 1151,
Henneberg, L. 892, 1608 11801181, 1398, 1441, 14451446,
Henzinger, M. see Henzinger, M.R. 1448, 1450, 1489, 1528, 1566, 1581,
Henzinger, M.R. (= Henzinger, M. = 1592, 16121613
Rauch, M.) 104, 113, 139, 161, Homan, W. 125, 129, 1613
241, 247, 253, 865, 1299, 1534, Holland, O. 460, 528, 995, 1593
1608, 1646 Holmerin, J. 1103, 1438, 1540, 1614
Hertz, A. 1101, 1104, 1122, 1133, Holton, D.A. 430, 1662
11451146, 1148, 1150, 1579, 1608 Holyer, I. 465, 468, 1085, 1097, 1614
1609, 1758 Holzman, R. 1127, 1465
Hetyei, G. 415, 430, 1609 Hong, S. 995, 1698
Higgins, P.J. 385, 744, 1609 Hoogeveen, J.A. 989, 1614
Higgs, D.A. 784 Hooker, J.N. 1104, 1614
Hilbert, D. 54, 8182, 477, 494, 644 Hopcroft, J. see Hopcroft, J.E.
645, 673, 679680, 684686, 1102, Hopcroft, J.E. (= Hopcroft, J.) 49,
1344, 1426, 1455, 1459, 1609 90, 9495, 103, 106, 138, 242243,
Hilbrand, C. 460, 1477 247, 264, 267, 334, 707, 871, 1225,
Hillier, J.A. 103104, 121, 128, 1759 12431244, 1465, 1518, 1554, 1614
Hilton, A.J.W. 482, 1609 Hoppe, B. 195, 1614
Hind, H. see Hind, H.R. Horn, A. 726, 728729, 743744, 878,
Hind, H.R. (= Hind, H.) 482, 1609 1614
1610 Hosein, P.A. 196, 1491
Hirata, T. 1243, 1610 Hou, W.-h. 902, 1614
Hirsch, W.M. 65, 207, 347, 517, 1453 Houck, D. see Houck, D.J.
Hirschberg, D.S. 313, 1691 Houck, D.J. (= Houck, D.) 310, 865,
Hitchcock, F.L. 258, 344346, 371 1104, 1512, 16141615
372, 1610 Hougardy, S. 11231124, 1606, 1610,
Ho, A. see Ho, A.C. 1615
Ho, A.C. (= Ho, A.) 1438, 1476, 1610 Hsu, C.P. 1320, 1324
Ho, J.-M. 1371, 1610 Hsu, L.-H. 291, 865, 16161617
Ho`ang, C. see Ho` ang, C.T. Hsu, T.-s. 1078, 16151616
Ho`ang, C.T. (= Ho` ang, C. = Hoang, Hsu, W.-L. 1100, 11201121, 1124,
C.T.) 11221124, 1138, 1140, 1131, 1141, 1176, 1567, 16151616,
11441146, 1148, 1150, 1447, 1516, 1730
1606, 16101611 Hu, T.C. 84, 86, 105106, 119, 162
Hoang, C.T. see Ho` ang, C.T. 163, 196197, 237, 248254, 449,
Hochbaum, D.S. 163, 196, 254, 477, 499500, 866867, 871, 10511052,
959, 11031104, 1438, 1465, 1514, 1054, 1229, 1231, 1234, 1248, 1250
1588, 16111612 1251, 12531255, 1257, 1259, 1266,
Hochst attler, W. 764765, 1425, 1535, 1421, 1463, 1494, 1509, 1589, 1616
1549, 1612 1617
Hoesel, C. van 1366, 1612 Huang, H.-C. 11161117, 1124, 1494
1782 Name Index
Huang, J. 1100, 1491, 1530, 1545, Jackson, B. 482, 498, 574, 645646,
1607 925, 1074, 1078, 1382, 1427, 1478,
Huang, S. 1124, 1617 1490, 1540, 1609, 1622
Huang, Y. 1133, 1617 Jackson, D.E. 261, 1540
Huck, A. 646, 925, 1243, 1444, 1617 Jacobitti, E. 120, 1622
Hujter, M. 1133, 1617 Jacobs, K. 390, 1623
Hung, C.-N. 291, 865, 16161617 Jacobson, N. 754, 1623
Hung, M.S. 291, 308, 1617 Jaeger, F. 473, 498, 645646, 1427,
Hurkens, C.A.J. 464, 549, 1034, 1104, 1454, 1490, 1623
1234, 13041305, 1618 Jain, K. 991, 1550, 1623
Hwang, F.K. 1438, 1618 Jakobsen, I.T. 482, 1087, 1623
Jakobsson, H. 94, 1623
Ibaraki, T. 105, 139, 196, 241, 245 Jamison, B. 11221123, 1146, 1623
247, 253254, 792793, 864, 991, 1624
10651066, 1079, 1104, 1241, 1248, Jamshy, U. 646, 1427, 1456, 1624
12621263, 1288, 1292, 1307, 1557, Jan, R.-H. 865, 1616
1618, 1620, 1640, 16851687, 1765 Jansen, K. 1145, 1624
Ibarra, O.H. 267, 1618 Janssen, J. 1104, 1624
Ikura, Y. 195196, 361, 1100, 1104, Jarnk, V. 50, 856, 864, 872873, 1624
1616, 1618 Jarvis, J.J. 106, 119, 163, 197, 291,
Ilani, H. 1292, 1618 362, 1248, 1482, 1484, 1624
Imai, H. 118, 163, 460, 889890, 1619 Jenkyns, T.A. 699, 765, 1605, 1624
Indyk, P. 93, 118, 1466 Jensen, D.L. 190, 196, 212, 1494
Ingleton, A.W. 275, 656657, 659 Jensen, P.A. 163, 196197, 1625
660, 754, 785, 1536, 1619 Jensen, P.M. 672, 757, 762, 1625
Ioannidis, Y.E. 94, 1619 Jensen, T.R. 482, 1105, 1126, 1133,
Iri, M. 58, 118, 129, 163, 184185, 1206, 1625
190, 197, 212, 286287, 289290, Jerrum, M. 1351, 15611562, 1625
356, 377, 460, 707, 1226, 1619 Jessen, R.J. 1001, 1625
Irving, R.W. 313, 1597, 16191620 Jewell, W.S. 184185, 196, 212, 1231,
Isaacs, R. 481, 1620 1248, 1250, 1625
Isaacson, J.D. 11041105, 1673 Jha, P.K. 1171, 1625
Isbell, J.R. 886, 1620 Jia, W. 1104, 1508
Ishiguro, A. 1324, 1738 Jian, T. 1104, 1625
Ishii, T. 1079, 1620 Jin, Z. 118, 163, 195196, 361, 1471,
Itai, A. 94, 139, 161162, 277, 336, 15871588
646, 892, 12241225, 1231, 1244, John, J.W. 1438, 1625
1251, 1254, 1265, 1457, 1542, 1620 Johnson, A.A. 52, 97, 104, 113, 121
1621, 1764 122, 126127, 1661
Italiano, G.F. 247, 1573 Johnson, D.B. 52, 98, 103104, 111,
Itoga, S.Y. 313, 1621 113, 115, 117, 122, 128129, 139,
Iwano, K. 195196, 865, 1564, 1621 161, 864, 1348, 1604, 16261627
Iwata, S. 195, 724, 787, 791792, 819, Johnson, D.M. 303, 1626
852, 1034, 1550, 1564, 16211622, Johnson, D.S. 49, 163, 196, 254, 291,
1730 982, 990991, 996, 10841085, 1098,
Iyengar, G. 991, 1622 1100, 11031105, 1230, 1295, 1380,
1438, 1482, 1526, 1561, 1576, 1626
JaJa, J. 1079, 1560 1627
Name Index 1783
Johnson, E.L. 98, 103104, 128, 195, Kameda, T. 423, 890, 1630
444, 462, 481, 490491, 518, 520, Kamidoi, Y. 254, 1630
553, 559, 561, 565, 567, 594, 598, Kaneko, A. 142, 1539
600, 608, 858, 864, 1018, 1023, Kanevsky, A. 243, 1517, 1630
10251026, 1104, 1151, 1415, 1438, Kanj, I.A. 1104, 1508
1539, 15761577, 16251627 Kannan, R. 953, 1348, 1562
Johnson, K.G. 672, 1625 Kano, M. 361, 431, 593, 1467, 1540,
Johnson, S. see Johnson, S.M. 1630
Johnson, S.M. (= Johnson, S.) 6, 53, Kant, E. 1265, 1630
984, 995, 997, 999, 1003, 1528 Kantner, H. 129, 1495
Jonker, R. 291, 995, 16271628, 1754 Kantorovich, L.V. 6, 164, 179, 184,
Jordan, C. 1000 258, 344, 362, 366371, 377, 1249,
Jordan, T. see Jord an, T. 16301631
Jordan, T. (= Jordan, T.) 851852, Kantorovich, V.L. 367
1030, 1032, 1034, 1048, 1058, 1062, Kao, M.-Y. 290, 991, 1509, 1631
1066, 1074, 1076, 10781079, 1100, Kaplan, H. 291, 430, 460, 953, 1142,
1478, 1509, 1549, 15571558, 1570, 1472, 1570, 1631
1622, 1628 Kapoor, A. 334335, 11121113,
Juhasz, F. 1175, 1628 1131, 1145, 1150, 1185, 1443, 1448,
Juncosa, M.L. 1250, 1629 1519, 16311632
Jung, H.A. 389, 1123, 1242, 1262, Kapoor, S. 195196, 254, 1248, 1631
1628 1632
J
unger, M. 49, 460, 881, 952953, Kappauf, C.H. 518, 1632
986, 990991, 996, 1104, 1513, 1542, Karakostas, G. 12471248, 1632
1593, 16281629 Karapetian, I. see Karapetyan, I.A.
Jungnickel, D. 95, 106, 119, 163, 197, Karapetyan, I.A. (= Karapetian, I.)
278, 291, 431, 460, 647, 871, 1629 1100, 1123, 1133, 1143, 1632, 1671
Jurkat, W.B. 574, 1590 1672
Karel, C. 983, 995, 1004, 1662
Kaas, R. 103104, 113, 1540 Karg, R.L. 995, 1632
Kabadi, S.N. 851852, 1507, 1629 Karger, D. see Karger, D.R.
Kahale, N. 11031104, 1468 Karger, D.R. (= Karger, D.) 105,
Kahn, A.B. 89, 1629 139, 163, 247, 253254, 743, 864
Kahn, J. 1148, 13811382, 1459, 865, 990, 1066, 11031104, 1175,
1567, 1629 1247, 1348, 1472, 1485, 1495, 1508,
Kai, S.-R. 118, 195, 1587 16321633
Kajitani, Y. 890, 1062, 1066, 1629, Kariv, O. 334, 422423, 466, 482,
1645, 1751 1542, 1570, 1599, 1633
Kakusho, O. 1226, 1696 Karlin, A.R. 94, 1499
Kalaba, R. see Kalaba, R.E. Karlo, H. see Karlo, H.J.
Kalaba, R.E. (= Kalaba, R.) 129, Karlo, H.J. (= Karlo, H.) 254, 990,
865866, 876, 1250, 1484, 1629 996, 1001, 1247, 1348, 1503, 1507,
Kalai, G. 65, 1629 1509, 16331634
Kalantari, B. 460, 1591 Karlsson, R.G. 103104, 1634
Kaller, D. 1100, 1491 Karmarkar, N. 68, 1438, 1634
Kalmar, L. 281 Karney, D. 118, 195196, 1531, 1581,
Kaluza, Jr, T. 431, 435, 1629 1634
Kalyanasundaram, B. 291, 460, 1629 Karp, R.M. 1, 43, 46, 52, 58, 68, 72,
Kamath, A. 12471248, 1629 95, 111112, 114, 138, 140, 153,
1784 Name Index
159160, 163, 178, 180, 185, 190 Kern, W. 699, 764765, 996, 1416,
191, 193, 212, 264, 267, 277, 286 1474, 1535, 1543, 1612, 1642
287, 290291, 300, 334, 336, 356 Kernighan, B.W. 996, 1661
357, 361, 377, 408, 707, 903, 951, Kerr, L.R. 105, 1642
985986, 990991, 993996, 1084, Kershenbaum, A. 118, 858, 864, 1642
1225, 1328, 1539, 1562, 16061607, Kevorkian, A. 959, 1642
1614, 16341635 Khachiyan, L.G. 68, 1248, 1591, 1642
Karpinski, M. 1348, 1472 Khanna, S. 1103, 1247, 1596, 1642
Karplus, K. 1324, 1534 Kharitonov, M. 196, 1585
Karzanov, A. see Karzanov, A.V. Khelladi, A. 646, 1623, 1642
Karzanov, A.V. (= Karzanov, A.) 90, Khot, S. 1103, 1642
94, 112, 136139, 155156, 160, 163, Khouzam, N. 1146, 1611
196197, 242, 246, 248, 253254, Khuller, S. 162, 291, 313, 361, 871,
264, 267, 277, 314, 358, 394, 422 991, 1078, 1104, 1262, 1438, 1464,
423, 494, 517, 593, 707, 953, 956, 1596, 16431644
968, 1034, 1236, 1238, 1243, 1249, Kierstead, H.A. 465, 467, 482, 1140,
1255, 12601262, 1271, 12731276, 1176, 1539, 1644
1278, 12881292, 12941295, 1308, Kilakos, K. 482, 647, 11041105,
1313, 13161318, 1344, 1424, 1459, 1624, 1644
1463, 1502, 1533, 1558, 1585, 1618, Kilian, J. 11031104, 1546
16351639 Kim, M. 254, 1658
Kasami, T. 428429, 1562 King, T. 1105, 1644
Kashin, B.S. 1175, 1639 King, V. 161, 865, 1644
Kashiwabara, K. 852, 1640 Kir
aly, T. 1079, 1558
Kashiwabara, T. 1100, 1672 Kir
aly, Z. 1048, 1558
Kashiwagi, K. 477, 1692 Kirkman, T.P. 996, 1644
Kastning, C. 8, 1640 Kirkpatrick, D. see Kirkpatrick,
Katayama, S. 254, 1686 D.G.
Katerinis, P. 361, 574, 1540, 1640 Kirkpatrick, D.G. (= Kirkpatrick, D.)
Katoh, N. 105, 864865, 1621, 1640 526, 545, 592593, 16061607, 1645
Katsura, R. 196, 1640 Kishi, G. 890, 1645
Kaufmann, M. 1299, 13241325, Kl
ar, G. 1299, 1324, 1640
13661367, 1640 Klavzar, S. 1172, 1645
Kedia, P. 1438, 1548 Klee, V. 127, 346347, 1100, 1645
Keijsper, J. see Keijsper, J.C.M. Kleene, S.C. 110, 129, 1645
Keijsper, J.C.M. (= Keijsper, J.) 931, Klein, F. 1121, 13141317, 1368
933934, 937, 943944, 1285, 1641 Klein, M. 178, 291, 377, 1551, 1645
Kellerer, H.G. 353, 361, 1641 Klein, P. see Klein, P.N.
Kelley, Jr, J.E. 129, 1641 Klein, P.N. (= Klein, P.) 104, 113,
Kelley, J.L. 774, 785, 1641 118, 139, 161162, 254, 865, 990
Kelsen, P. 991, 1602, 1641 991, 1230, 1247, 1299, 1464, 1472,
Kelton, W.D. 118, 1641 1608, 16321633, 1643, 16451646
Kempe, A.B. 26, 482484, 16411642 Klein, S. 1125, 1547
Kennedy, R. 267, 291, 1585 Klein-Barmen, F. 681, 1646
Kennington, J. see Kennington, J.L. Kleinberg, J. see Kleinberg, J.M.
Kennington, J.L. (= Kennington, J.) Kleinberg, J.M. (= Kleinberg, J.)
195197, 1248, 1467, 1607, 1642 196, 1104, 1175, 1646
Kenyon, C. 1348, 1547 Kleinschmidt, P. 291, 347, 356357,
1647
Name Index 1785
11061109, 1111, 1113, 1133, 1138, 1474, 1486, 1494, 1543, 1548, 1598,
1143, 1147, 1150, 11521154, 1157, 1602, 1606, 16101611, 1661, 1669
11601161, 1163, 11651166, 1168 Magidor, M. 277, 1465
1170, 11721174, 1176, 11831184, Magnanti, T.L. 8, 106, 119, 163164,
1204, 1217, 1254, 1256, 1283, 1287 197, 251, 729, 731, 871, 12481249,
1289, 1347, 1367, 1369, 13791382, 1466, 1587, 1591
1385, 1398, 1400, 14021403, 1416, Mahadev, N.V.R. 1101, 1141, 1146,
1425, 1430, 14321433, 14351438, 1150, 1516, 1602, 1611, 1669, 1706
14551456, 1494, 1504, 1524, 1535, Mahajan, S. 1347, 1669
1539, 15451546, 1579, 1591, 1593 Mahalanobis, P.C. 10011002, 1669
1594, 1618, 1651, 1659, 16621666 Maheshwari, S.N. 155, 159160, 163,
Lozin, V.V. 1101, 1666 892, 1457, 1510, 1670
Lubiw, A. 430, 10331034, 1116, Mahjoub, A.R. 452, 892, 951, 991,
1143, 1150, 14451447, 1450, 1491, 1100, 1133, 11941195, 1329, 1341,
16661667 1344, 1350, 1474, 14791480, 1499,
Lucas, E. 120, 1667 1518, 1531, 1552, 16691670
Lucchesi, C.L. 427, 510, 647, 928, Mahmoodian, E. 430, 574, 1670
946949, 951, 953, 956, 959960, Main, R.A. 657, 754, 1619
962, 970973, 977, 1018, 10201021, Maire, F. 1105, 1122, 1124, 1149
1024, 1325, 13991401, 1506, 1518, 1150, 1554, 1670
1667 Makedon, F. 1247, 1659
Luce, R.D. 121, 1667 Malcolm, D.G. 129, 1670
Lueker, G.S. 11401141, 1496, 1667, Maley, F.M. 1324, 1366, 1369, 1371,
1717 1590, 1640, 1659, 1670
L
ukaszewicz, J. 859, 868, 874, 1551 Malhotra, V.M. 155, 160, 1670
Lund, C. 1103, 1472, 1484, 1667 Malone, J.C. 986, 995, 1484
Lunts, A.G. 121, 1667 Mamer, J.W. 1248, 1674
Lustig, I.J. 1248, 1544 Manber, R. 1176, 1689
Lutolf, C. 1387, 1667 M
andrescu, E. (= Mndrescu, E.)
Luz, C.J. 1173, 1667 1131, 1133, 1146, 1670, 1695
Lynch, J.F. 1225, 1667 Mani, P. 1242, 1656
Lyubich, Yu.I. 1178, 1668 Mann, H.B. 379, 381, 1670
Mannino, C. 1104, 1438, 1670
Ma, T.-H. 1100, 1141, 1616, 1668 Manoussakis, Y.G. 1295, 1639
Maak, W. 276, 380, 392, 1668 Mansour, Y. 246, 1670
Mac Lane, S. (= MacLane, S.) 655, Manu, K.S. 891, 907, 922, 1570
666, 673, 679, 682683, 686, 1668 Manuel, P.D. 1450, 1527
Machida, H. 104, 1693 Marble, G. 11041105, 1673
Mackey, K.E. 1171, 1480 Marchenko, A.R. 367
MacLane, S. see Mac Lane, S. Marcotte, O. see Marcotte, O.M.-C.
Maculan, N. 902, 1668 Marcotte, O.M.-C. (= Marcotte, O.)
Mader, W. 142, 253, 255, 415, 756, 210, 460, 477, 481, 1105, 1493,
1043, 1058, 1063, 1067, 1087, 1243, 1644, 16701671
12791283, 1285, 1287, 12891290, Marcus, K. 1424, 1671
12921294, 1459, 16681669 Mardon, R. 251, 1604
Maoli, F. 724, 902, 995, 15031504 Margalit, O. 93, 104, 113, 1468, 1573
Maray, F. 11201124, 1130, 1133, Margot, F. 251, 1387, 1401, 1460
1143, 1146, 1148, 1150, 1176, 1467, 1461, 1522, 1604, 1667
Marn, A. 1104, 1504
Name Index 1789
1288, 12931294, 1319, 1399, 1413, Mirsky, L. 219, 267, 303, 314, 381,
1416, 16761677 385390, 395, 407, 658, 702, 1680,
Menon, V.V. 196, 1677 1702
Mercure, H. 1104, 1498 Misra, J. 468, 1680
Meredith, G.H.J. 481, 1677 Mitchell, J.S.B. 990, 1536, 16801681
Metz, A. 291, 460, 1477, 1530 Mitchell, S.G. 291, 313, 1262, 1643
Metzlar, A. 1245, 1677 Mitra, G. 1438, 1540
Meyer, A.R. 94, 1548 Mittal, A.K. 251, 580, 1463
Meyer, J.C. 1217, 1490 Mizuno, S. 195, 361, 1672, 1681
Meyer, U. 104, 1677 M
obius, A.F. 1301, 1320
Meyniel, H. 1087, 1121, 11231124, Moat, A. 105, 1681, 1740
1133, 11431145, 1148, 1176, 1491, Mohanty, S.P. 1124, 1699
1535, 1678 M
ohring, R.H. 1141, 1651
Micali, S. 421, 423, 458, 573, 1573, Mollard, M. 646, 1623
1678 M
oller, M. 646, 1681
Michaud, P. 1438, 1678 Molloy, M. 482, 1104, 1610, 1681
Middendorf, M. 518, 1146, 1225, Mondou, J.-F. 105, 118119, 1681
1231, 1234, 1273, 13091310, 1678 Monge, G. 292, 294, 1681
Mihail, M. 991, 17601761 Monien, B. 959, 1104, 1681
Miklos, D. 1173, 1678 Monma, C.L. 196197, 991, 1150,
Milgram, A.N. 219, 232, 1000, 1131, 1438, 1492, 1541, 1588, 1594, 1682
1453, 1575, 1678 Montejano, L. 141, 1682
Miliotis, P. 995, 1678 Moon, J.W. 1447, 1676
Milkova, E. 872, 1691 Moore, E.F. 52, 88, 9394, 103104,
Miller, C.E. 993, 1679 109, 112113, 121, 124125, 128,
Miller, D.L. 995, 1679, 1701 1385, 1682
Miller, E.W. 1138, 1536 Moore, J.B. 996, 1696
Miller, G. see Miller, G.L. Moore, Jr, J.I. 1100, 1747
Miller, G.A. 390, 1678 Moran, S. 267, 990, 1001, 1618, 1682
Miller, G.L. (= Miller, G.) 243, 1100, Moravek, J. 117, 1682
1324, 1576, 1679, 1715 Moret, B.M.E. 699, 1608
Miller, M. 1450, 1527 Moretti, S. 1100, 1490
Milner, E.C. 389, 1527 Mori, M. 195, 1672
Mimura, Y. 999, 1679 Morton, G. 1003, 1682
Mndrescu, E. see M andrescu, E. Mosca, R. 1101, 1682
Mine, H. 105, 864, 1640 Mota, E. 518, 1513
Minieka, E. 105106, 162163, 195 Mote, J. 163, 1582
197, 431, 460, 518, 871, 903, 996, Mots, A.B. 366, 1700
1679 Motwani, R. 49, 93, 118, 139, 142,
Minkowski, H. 6061, 1679 163, 241, 246, 267, 277, 291, 313,
Minoux, M. 106, 119, 163, 196197, 431, 11031104, 1149, 1175, 1466,
291, 362, 431, 460, 561, 672, 871, 1472, 1545, 16331634, 16471648,
903, 1248, 1589, 1660, 1679 16821683
Minty, G.J. 103104, 121, 125, 127 Motzkin, T.S. 60, 297298, 1102
128, 190, 196, 377, 471, 1101, 1120, 1103, 1176, 1249, 1683
12081209, 12111213, 1217, 1415 M
uhlbacher, J. see M uhlbacher, J.R.
1416, 16791680 M
uhlbacher, J.R. (= M uhlbacher, J.)
526, 1683
Mulder, H.M. 1145, 1478
Name Index 1791
M
uller, H. 1133, 1683 Nakano, S.-i. (= Nakano, S.) 482,
Muller, J.H. 1138, 1683 1688
M
uller, R. 1100, 1546 Nakao, Y. 253, 1687
M
uller-Merbach, H. 997, 1683 Nakasawa, T. 650651, 664, 673, 683
Mulmuley, K. 423, 1683 685, 1688
Mulvey, J.M. 195196, 1683 Naniwada, M. 1226, 1688
Munkres, J. 52, 286, 290, 298, 300, Naor, D. 243, 253, 1065, 15971598,
345, 355356, 376, 1684 1688
Munro, I. 94, 423, 1630, 1684 Naor, J. see Naor, J.(S.)
Munson, B.S. 991, 1682 Naor, J.(S.) (= Naor, J.) 162, 254,
Muntz, R.R. 429, 1684 959, 1230, 14781479, 1543, 1643,
Murchland, J.D. 98, 105, 119, 128, 16881689
1544, 1684 Napier, A. 195196, 15811582, 1718
Murota, K. 460, 785, 852, 1034, 1619, Narasimhan, G. 1176, 1689
1622, 1684 Narayanan, H. 699, 724, 743, 765,
Murty, K.G. 197, 362, 464, 983, 994 785, 1689
995, 1004, 1662, 1684 Narkiewicz, W. 1171, 1676
Murty, U.S.R. 37, 327, 427, 431, 472, Nash-Williams, C.St.J.A. 133, 389,
647, 781, 1454, 1496, 1506, 1684 650, 703, 725726, 744, 877879,
Mycielski, J. 1105, 1684 888889, 931, 934, 944945, 1035,
Myers, O. 120, 1684 1040, 10431045, 10471048, 1242,
1254, 1290, 1361, 1465, 16891690
Naamad, A. 156, 160, 1574 Nasini, G.L. 1175, 1464
Nabona, N. 1248, 1506 Nathaniel, R. 1104, 1601, 1653
Naddef, D. see Naddef, D.J. Nauss, R.M. 1438, 1690
Naddef, D.J. (= Naddef, D.) 65, 308, Nebesk y, L. 430, 1508
430, 448, 452, 609, 647, 699, 989 Nemhauser, G.L. 8, 84, 106, 119, 163,
991, 996, 1104, 1522, 1552, 1684 195197, 361362, 431, 460, 482,
1685 521, 672, 785, 871, 996, 1088, 1090
Nagamochi, H. 139, 241, 245247, 1093, 1100, 11041105, 1120, 1207,
253254, 792793, 991, 10651066, 1350, 1438, 1484, 1504, 1523, 1549,
1079, 1104, 1241, 1248, 1262, 1288, 1567, 1576, 1594, 1616, 1618, 1644,
1292, 1307, 1557, 1618, 1620, 1685 1690
1687, 1765 Nemirovski, A.S. 68, 1764
N
aher, S. 8, 49, 95, 106, 119, 163, Nerlove, M. 375, 1691
278, 291, 431, 1676 Nesetril, J. 872873, 876, 1101, 1475,
Naitoh, T. 849, 1687 1651, 1691
Naji, W. 1100, 1687 Nesetrilova, H. 872, 1691
Nakajima, K. 1100, 1672 Neumann, J. von 5254, 58, 62, 296
Nakamori, M. 105, 1687 297, 303, 1500, 1691
Nakamura, A. 10631065, 1078, 1756 Neumann-Lara, V. 141, 1133, 1572
Nakamura, D. 1143, 1208, 12131214, 1573, 1666, 1682
1217, 1688 Newman, A. 953, 1691
Nakamura, M. 784785, 849, 851852, Newman, E.A. 336, 1470
1640, 1687 Ng, C. 313, 1691
Nakamura, S. 1066, 1687 Ng, S.M. 1438, 1476
Nakano, J. 195196, 357, 1564, 1745 Nguyen, H.Q. 781, 1691
Nakano, S. see Nakano, S.-i. Nguyen, Q.C. 163, 1691
Nguyen, S. 105, 118119, 1681
1792 Name Index
Plummer, M.D. (= Plummer, M.) 450, 452, 460, 493, 515, 518, 523
141, 308, 427428, 430431, 538, 525, 539, 541542, 544545, 548,
1217, 1666 550, 553554, 559560, 567568,
Pnueli, A. 1138, 1543, 1705 574, 609, 614, 647, 672, 699, 869
Poblete, P.V. 103104, 1634 871, 881, 986988, 991, 996, 1093,
Pochet, Y. 990, 1685 1104, 1188, 1216, 1327, 1476, 1498,
Podderyugin, B.D. 239, 241, 243, 15211523, 1539, 1575, 1580, 1594
245246, 1705 1595, 1604, 1628, 1682, 1685, 1707
Podewski, K.-P. 142, 389, 1705 1708
Poincare, H. 204, 1705 Purdom, Jr, P. 94, 1708
Polat, N. 142, 1705 Pus, V. 1172, 1708
Poljak, S. 1084, 1217, 1263, 1344 Putnam, H. 46, 55, 1528
1345, 1348, 1350, 1418, 1529, 1531, Pym, J.S. 133, 141, 267, 725, 744,
1618, 1656, 17051706 775, 1501, 1702, 1708
Pollack, M. 103104, 117119, 125,
128130, 1469, 1706 Qi, L. 852, 1034, 1386, 1708
P
olya, G. 14, 1706 Qi, N. 359, 452, 1708
Ponstein, J. 163, 1086, 1706 Qian, T. 959, 1700
Porto, O. 11211122, 1124, 1543, Queyranne, M. 159, 253, 733, 792,
1548, 1669 880, 886, 889, 990991, 994, 1092
P
osa, L. 959, 1541 1093, 1498, 1704, 17081709
Posner, E.C. 1172, 1675
Potts, R.B. 197, 1706 Rabani, Y. 254, 1247, 1473, 1503,
Powell, M.B. 336, 1758 1509, 1688
Powell, W.B. 1248, 1544 Rabin, M.O. 57, 316, 435, 437, 464,
Prager, W. 361, 376, 1706 1693, 1709
Preissmann, M. 11211122, 1124 Rabinovich, Y. 1247, 1662
1125, 1146, 1148, 1150, 1474, 1611, Racko, C.W. 94, 1521
1669, 1706 Radhakrishnan, J. 1104, 1600
Preparata, F.P. 94, 13241325, 1463, Rado, R. 174, 262, 277, 317320, 343,
1676, 17061707, 1721 348, 380, 386387, 389390, 392,
Preston, G.B. 672, 1494 394, 532, 672, 686688, 702703,
Pretzel, O. 219, 1707 726729, 743744, 782783, 928
Priebe, V. 105, 1676 929, 935, 960, 972, 1023, 11351136,
Prim, R.C. 53, 856857, 864, 875, 1441, 1709
1707 Radu, C. 1124, 1146, 1150, 15231524
Probert, R.L. 139, 1512 Radzik, T. 118, 196, 1247, 1511, 1586,
Prodon, A. 699, 1707 17091710
Pr
omel, H.J. 1124, 1325, 1651, 1707 Raghavachari, B. 518, 871, 991, 1643,
Provan, J.S. 1079, 1707 1710
Pruhs, K. see Pruhs, K.R. Raghavan, P. 8, 49, 94, 1247, 1382,
Pruhs, K.R. (= Pruhs, K.) 291, 460, 1483, 1499, 1682, 1710
1629 Raghunathan, A. 1149, 16821683
Przytycka, T. 1145, 1707 Raike, W.M. 196, 1508
Pulleyblank, W. see Pulleyblank, Rajagopalan, S. 1255, 1710
W.R. Rajan, A. 1412, 1493
Pulleyblank, W.R. (= Pulleyblank, Rajaraman, R. 1247, 1596
W.) 8, 82, 106, 119, 163, 197, 277, Ralphs, T.K. 518, 1710
291, 359, 426, 430431, 446, 448,
Name Index 1795
1217, 1225, 1242, 13201321, 1369 Roussel, F. 1112, 1123, 1125, 1145,
1371, 1454, 1457, 1713, 1716 1185, 1580, 17181719
Robinson, G.C. 672, 1716 Roy, A. 1122, 1132, 1654
Robinson, J. 51, 178, 290, 296297, Roy, B. 110, 129, 1101, 1719
374, 986, 992, 10021003, 1716 Rubinstein, S. 996, 1604
Robson, J.M. 1104, 1716 Rubio, P. 1112, 1125, 1185, 1718
R
ock, H. 190, 212, 356357, 811, Ruhe, G. 196, 1719
1019, 1564, 1716 Rumsey, Jr, H.C. 1171, 1173, 1482,
Rockafellar, R.T. 106, 163, 196197, 1675
291, 1416, 1717 Runge, R. 121, 1655
Rodeh, M. 94, 277, 646, 892, 1457, Runyan, J.P. 947
16201621 Russako, A. 307308, 347, 444, 1477
Rodemich, E. see Rodemich, E.R. Russell, A. 1103, 1484
Rodemich, E.R. (= Rodemich, E.) Russell, R.A. 361, 1719
1171, 1173, 1482, 1675 Rusu, I. 11231124, 11451146, 1150,
Rodgers, G.P. 1104, 1700 1554, 1580, 17181719
Rohe, A. 460, 1521 Rutt, N.E. 145146, 1719
Rolewicz, S. 1125, 1702 Ruzzo, W.L. 94, 1463, 14801481,
Rom, W.O. 291, 1617 1483
Romani, F. 93, 105, 1717 Ryan, J. 672, 1658
Rompel, J. 11031104, 1489 Ryser, H.J. 359360, 379, 381, 1670,
Ronn, E. 313, 1717 1719
Roohy-Laleh, E. 291, 308, 1717
Rooij, A.C.M. van 1137, 1717 Saaty, T.L. 163, 1502
Rose, D.J. 113, 1140, 1662, 1717 Sabidussi, G. 431, 1720
Roseboom, J.H. 129, 1670 Sachs, H. 1124, 1143, 1181, 1695, 1720
Rosen, B.K. 959, 1717 Safra, S. 1103, 1472, 15451546, 1642
Rosenfeld, L. 119, 1717 Sahni, S. 323, 334, 990, 1348, 1589,
Rosenfeld, M. 11701171, 1717 1720
Rosenkrantz, D.J. 996, 1717 Saigal, R. 207, 1248, 1720
Rosenstiehl, P. 869, 876, 1717 Sainte-Lague, A. 282, 336, 434, 484,
Rosenthal, A. 1078, 1717 1720
Roskind, J. 889890, 1718 Sairam, S. 118, 1646
Ross, F.S. 166169, 1603 Saito, A. 574, 593, 1243, 1496, 1540,
Ross, G.T. 195, 1718 1630
Rossman, M.J. 982, 1003, 1718 Saito, N. 482, 11041105, 1299, 1308,
Rota, G.-C. 671, 728, 775, 1539 1313, 1320, 1324, 1512, 1558, 1672
Rotem, D. 1100, 1138, 1588, 1718 1673, 1688, 1692, 1738
Roth, A.E. 312313, 1718 Saito, O. 1243, 1610
Roth, B. 824, 1438, 1472, 1718 Sakarovitch, M. 1248, 1253, 1255,
Roth, J.P. 464, 1718 1383, 14451446, 1613, 1720
Roth, K.F. 728, 743 Saks, M. 226, 233, 236, 1033, 1149,
Roth, R.M. 959, 14781479 1382, 1453, 1507, 1720
Rothberg, E.E. 991, 1627 Sakuma, T. 1124, 1720
Rothblum, U.G. 312313, 1463, 1718 Salkin, H.M. 1438, 1659, 1720
Rothfarb, B. 197, 1295, 1718 Salvemini, T. 372, 1721
Rothschild, B. 1234, 12511256, Samuelsson, H. 1104, 1476
12631264, 1647, 1718 Sanders, D. see Sanders, D.P.
Rousseau, J.-M. 460, 1660
Name Index 1797
Sanders, D.P. (= Sanders, D.) 26, 442, 460, 516, 553, 588, 607608,
466, 473, 476, 480, 498, 644645, 671672, 731, 737, 783, 786787,
1085, 1087, 1105, 1454, 1716, 1721 792793, 843, 849, 851, 871, 892,
Sands, B. 1172, 1536 925, 931, 942, 944, 963964, 967,
Santosh, V.S. see Vempala, S. 970971, 973, 975976, 978, 980,
Saran, H. 254, 724, 743, 765, 1149, 986, 996, 1012, 1029, 1034, 1097,
16821683, 1689, 1721 1104, 1133, 11471148, 11521154,
Sarangarajan, A. 994, 1492, 1721 1157, 1161, 1163, 1165, 11731174,
Sarrafzadeh, M. 1321, 13231325, 1176, 1188, 11941195, 1201, 1203
1371, 1610, 1661, 1676, 1707, 1721 1204, 1225, 12341235, 12421243,
Sasaki, G.H. 431, 1721 1276, 1279, 13041305, 1309, 1313
Sassano, A. 1101, 1104, 1121, 1216, 1315, 1322, 1334, 1347, 1349, 1353
1351, 13951396, 1438, 1490, 1520 1354, 13561357, 1361, 13651371,
1521, 1523, 1529, 1575, 1670, 1692, 1382, 1392, 14021403, 1405, 1437,
1721 14481450, 1456, 1521, 1532, 1558,
Sauer, N.W. 1172, 1540 15791580, 1589, 15931594, 1612,
Saviozzi, G. 1248, 1721 1618, 1641, 1666, 1713, 17231725
Savitch, W.J. 94, 1721 Schroder, E. 278, 674, 1725
Saxe, J.B. 996, 1485 Schulz, R. 959, 1681
Saxton, L.V. 139, 1512 Schuster, S. 430, 1508
Sbihi, N. 1107, 1112, 11201124, Schutzenberger, M.P. 1178
1185, 1194, 12071208, 1212, 1216, Schwartz, D.E. 226227, 10251026,
1516, 1713, 17211722 1613
Scarf, H.E. 368, 374, 11261128, 1722 Schwarzkopf, O. 865, 1463
Schaible, S. 886, 1722 Schw arzler, W. 1424, 1725
Schannath, H. 291, 347, 356357, Schweitzer, P. 195, 291, 1577
1647 Scorza, G. 390, 1725
Schechtman, G. 1347, 1546 Scrimger, E.B. 381, 389, 1501
Scheideler, C. 196, 1247, 1648 Scutell`a, M.G. 163, 1575
Scheinerman, E.R. 1133, 1722 Sebo, A. 488, 490, 501503, 507, 515,
Schell, E.D. 1249, 1722 517519, 593, 602603, 722, 960,
Schieber, B. 94, 246, 291, 361, 959, 991, 1044, 11241125, 1133, 1176,
1464, 1480, 1543, 1670 1242, 1291, 13091310, 1317, 1345,
Schiermeyer, I. 1104, 1722 1350, 1382, 1396, 1424, 1438, 1510,
Schirra, S. 268269, 333334, 1518 1552, 15581559, 1653, 1663, 1671,
Schl
afli, L. 1170 1693, 1706, 17251726
Schmerl, J.H. 482, 1644 Segal, M. 196, 1682
Schmitz, L. 94, 1722 Seidel, R. 9193, 1727
Schneider, H. 280, 1722 Seinsche, D. 1123, 1143, 1727
Schneider, R.F. 118, 1582 Seitz, R.N. 52, 97, 104, 113, 121122,
Schnitger, G. 1103, 1490 126127, 1661
Schnorr, C.P. 94, 244, 246, 1722 Sekiguchi, Y. 1104, 1727
Sch
onberger, T. 430, 434, 1723 Sen, A. 1122, 1654
Sch
onsleben, P. 694, 791, 805, 816, Seow, C.S. 1149, 1488
1723 Serafini, C. 507, 1517
Schrader, R. 699, 1651 Serdyukov, A.I. 996, 1652, 1727
Schrijver, A. 8, 5965, 6771, 7576, 1425, 1666
Seress, A.
78, 80, 8284, 106, 119, 163, 197, Seshu, S. 947, 1727
214, 269, 277, 291, 334, 431, 439, Sethuraman, J. 314, 1743
1798 Name Index
1234, 1247, 13041305, 1324, 1480, Thomassen, C. 26, 591, 1048, 1105,
1521, 1550, 15581559, 1574, 1583, 1206, 12421243, 1245, 1261, 1458,
1586, 1614, 1618, 1646, 1659, 1693, 1516, 17431744
1697, 17041705, 1741 Thompson, C.D. 8, 1247, 1710
Tardos, G. 1311 Thompson, G.L. 195, 361, 995, 1632,
Tarjan, R. see Tarjan, R.E. 1733, 1735
Tarjan, R.E. (= Tarjan, R.) 49, 89 Thomsen, G. 673, 683684, 1744
90, 9495, 9899, 103106, 113114, Thorndike, R.L. 51, 295296, 1744
118119, 129, 136139, 155156, Thorup, M. 103104, 254, 1632, 1744
159163, 180, 182, 190191, 195 Thuillier, H. 1105, 11231124, 1554,
197, 212213, 239, 241243, 247 1580, 1719
248, 264265, 270, 277, 290, 356 Thulasiraman, K. 197, 1738
358, 361, 377, 421, 423, 429431, Thurimella, R. 241, 243, 991, 1078,
459460, 707, 856, 858859, 864 15091510, 1644
865, 871, 889890, 895, 902, 905, Tijssen, G.A. 990, 17311732
918, 922, 969970, 991, 10371038, Tilborg, H.C.A. van 672, 1490
1048, 1055, 10621063, 10771078, Timofeev, E.A. 246, 253, 1639, 1744
1104, 1131, 1140, 1446, 14651466, Tinbergen, J. 372, 1744
1509, 1514, 1534, 15421543, 1561, Tindall, J.B. 1248, 1624
15701571, 1575, 15851587, 1589, Tindell, R. 1038, 1495
1602, 1614, 1633, 1635, 1644, 1646, Ting, H.-F. 290, 1631
1662, 1699, 1714, 17171718, 1733, Tinhofer, G. 526, 1683
1737, 17411742 Tipnis, S.K. 539, 1744
Tarry, G. 89, 120, 1742 Tobin, R.L. 519, 1744
Tarsi, M. 646, 1427, 1456, 1469, 1624, Todd, M.J. 1054, 1494
1743 Toft, B. 482, 1087, 1105, 1126, 1133,
Tartakovskii, V.A. 366 1206, 1625, 1654, 17441745
Tassiulas, L. 996, 1743 Toida, S. 890, 1630
Taton, R. 294, 1743 Tokura, N. 1076, 1672
Taylor, H. 11711172, 1482, 1676 Tokuyama, T. 357, 1745
Tcha, D.-w. 1034, 1514 Toledano Laredo, V. 1146, 1578
Temkin, M.A. 1121, 1150, 1597 Tolsto, A. see Tolsto, A.N.
Teng, A. 1100, 1743 Tolsto, A.N. (= Tolsto, A.) 178, 258,
Teo, C.-P. 314, 1743 344, 362366, 1700, 1745
Terada, O. 466467, 481, 1570, 1743 Tomita, E. 1104, 1731
Teunter, R.H. 990, 1731 Tomizawa, N. 185, 190, 214, 286287,
Tezuka, S. 195196, 1564 290, 300, 377, 707, 721, 842, 1564,
Thiel, L. 1124, 1655 1619, 1745
Thienel, S. 49, 989, 996, 16281629, Tomlin, J.A. 1248, 1745
1685 Tompa, M. 94, 1371, 1483, 1745
Thiriez, H. 1438, 1743 Tompkins, C. see Tompkins, C.B.
Thomas, A. 1150, 1743 Tompkins, C.B. (= Tompkins, C.) 53,
Thomas, R. 26, 466, 473, 476, 498, 298, 303, 982, 1745
644645, 952, 957959, 1082, 1085, Tong, P. 765, 919, 922, 1746
1087, 11051107, 1112, 1184, 1454, Topkis, D.M. 777, 1493, 1746
1457, 1596, 1713, 1716, 1721 T
ornqvist, L. 297, 1746
Thomason, A. 1087, 1743 Torres, W.T. 105, 1617
Thomasse, S. 233, 1743 Toth, P. 291, 995996, 1438, 1476,
15041505, 1548
1802 Name Index
Tovey, C. see Tovey, C.A. Tutte, W.T. 42, 133, 213214, 277,
Tovey, C.A. (= Tovey, C.) 819, 996, 338339, 345, 389, 412415, 421
1507, 1741 422, 425, 429431, 435, 442, 447,
Tragoudas, S. 1247, 1659, 1746 450, 461, 466, 471472, 476, 498,
Trakhtenbrot, B.A. 55, 58, 1746 504, 518, 520521, 526527, 545
Tremaux, C.P. 120 547, 558, 562, 569570, 574, 584,
Trenk, A. see Trenk, A.N. 591, 618619, 632, 644646, 655
Trenk, A.N. (= Trenk, A.) 1133, 657, 672, 720, 723, 744745, 877
1722, 1746 878, 888889, 931, 944, 1006, 1047
Trent, H.M. 214, 1473 1048, 1087, 1242, 1279, 1416, 1426,
Trevisan, L. 990, 1348, 1746 14531454, 1690, 17491751
Trick, M.A. 819, 1105, 1627, 1741 Tu.y, H. 196, 1751
Triesch, E. 1444, 1617 Tuza, Z. 961, 1133, 1350, 1382, 1651,
Trojanowski, A.E. 1104, 1742 1658, 1706, 1751
Trotter, Jr, L.E. 82, 204, 210, 521, Tverberg, H. 219, 1751
539, 800, 909, 1088, 10901093, Twery, R.J. 982, 1003, 1718
1104, 11161117, 1120, 1124, 1145, Tyagi, M.S. 996, 1751
1196, 1216, 1438, 1482, 14931494, Tylkin, M.E. see Deza, M.M.
1567, 15801581, 1682, 1690, 1727,
1744, 17461747 Udalov, V.M. 1150, 1597
Trotter, Jr, W.T. 1100, 1150, 1588, Ueno, S. 1062, 1066, 1629, 1751
1682, 1747 Uhry, J.-P. (= Uhry, J.P.) 524525,
Trubin, V.A. 880, 891, 1747 1131, 1145, 1194, 1207, 1329, 1341,
Trueblood, D.L. 120, 1747 1350, 1497, 1502, 1552, 1722, 1751
Truemper, K. 196, 214, 554, 656657, Uhry, J.P. see Uhry, J.-P.
672, 1204, 14121413, 1415, 1425, Ullman, J.D. 49, 90, 9495, 103, 106,
1447, 1450, 1520, 1579, 1594, 1747 871, 1324, 1465, 1534, 1751
1748 Ulrich, L.Y. 1248, 1751
Truitt, C.J. 120, 1747 Upfal, E. 94, 1499
Tsai, K.-H. 1100, 1616 Urquhart, R.J. 573, 1751
Tsakalidis, A. 118, 1734 Urrutia, J. 1100, 1138, 1588, 1718
Tseng, F.T. 1412, 1748
Tseng, P. 195196, 1491, 17471748 Vaidya, P.M. 195196, 460, 1248,
Tsioutsiouliklis, K. 251, 1587 1632, 17511752
Tsoucas, P. 785, 1491 Vainshtein, A. 253, 1534
Tsouros, C. 1104, 1663 Valiant, L.G. 334, 1660
Tu, X. 1146, 1611 Valkenburg, M.E. van 196, 1674
Tucker, A. see Tucker, A.C. Valko, I. 277, 1649
Tucker, A.C. (= Tucker, A.) 163, van Dal, R. see Dal, R. van
1100, 11201121, 1124, 1151, 1581, van der Veen, J.A.A. see Veen,
1743, 17481749 J.A.A. van der
Tucker, A.W. (= Tucker, Albert) 62, van der Waerden, B.L. see Waerden,
993, 1000, 1002, 1572, 1679, 1748 B.L. van der
Tucker, Albert see Tucker, A.W. van Emde Boas, P. see Emde Boas,
Tufekci, S. 163, 1624 P. van
Tuncel, L. 159, 1175, 1736, 1749 van Hoesel, C. see Hoesel, C. van
Tur an, P. 1105, 1749 van Leeuwen, J. see Leeuwen, J. van
Turing, A.M. 39, 5456, 1749 van Rooij, A.C.M. see Rooij, A.C.M.
Turzk, D. 1172, 1749 van
Name Index 1803
Van Slyke, R. see Van Slyke, R.M. Vogel, W. 303, 340, 387388, 1753
Van Slyke, R.M. (= Van Slyke, R.) 1754
858, 864, 1642, 1752 Volgenant, A. (= Volgenant, T.) 291,
van Tilborg, H.C.A. see Tilborg, 995, 16271628, 1754
H.C.A. van Volgenant, T. see Volgenant, A.
van Valkenburg, M.E. see Voloshin, V.I. 1447, 1535
Valkenburg, M.E. van von Neumann, J. see Neumann, J.
van Vliet, D. see Vliet, D. van von
Vance, P.H. 1248, 1481 von Randow, R. see Randow, R. von
Vande Vate, J. see Vande Vate, J.H. von Rimscha, M. see Rimscha, M.
Vande Vate, J.H. (= Vande Vate, J.) von
312313, 762, 765, 1697, 1718, 1752 Vornberger, O. 545, 1754
Vanherpe, J.-M. 1123, 1580 Votaw, Jr, D.F. 51, 53, 297298, 375,
Varadarajan, K.R. 460, 1752 1754
Vardy, A. 672, 1752 Vries, S. de 1104, 1509
Vasko, F.J. 1438, 1752 Vu, V.H. 1104, 1653
Vaughan, H.E. 379, 387, 1600 Vuskovic, K. 1112, 1121, 1125, 1131,
Vaxes, Y. 1248, 1598 1133, 1145, 1150, 1185, 1443, 1448,
Vazirani, U. see Vazirani, U.V. 1451, 15191520, 1548
Vazirani, U.V. (= Vazirani, U.) 277, Vygen, J. 8, 106, 119, 163, 195, 197,
423, 1172, 1635, 1662, 1683 278, 291, 431, 460, 672, 791, 871,
Vazirani, V.V. 49, 203, 254, 277, 291, 996, 1244, 1248, 1273, 1651, 1754
313, 421, 423, 573, 724, 743, 765,
991, 1230, 12471248, 1262, 1348, Wada, H. 1066, 1751
15761577, 1635, 1643, 1678, 1683, Waerden, B.L. van der 263, 276, 281
1689, 1721, 1741, 1746, 1752, 1760 282, 390391, 650, 666, 673, 677
1761 679, 1754
Veblen, O. 204, 673, 679680, 1752 Wagler, A. 1123, 1133, 1615, 1754
Veen, J.A.A. van der 996, 1501 Wagner, D. 140, 1299, 13231325,
Veerasamy, J. 518, 1710 13691371, 1498, 1554, 1714, 1755
Veiga, G. 196, 1714 Wagner, D.K. 117, 196, 213214, 255,
Veinott, Jr, A.F. 197, 1541 657, 1412, 1493, 1523, 1604, 1740,
Vempala, S. (= Santosh, V.S.) 953, 1755
984985, 991, 994, 1506, 1510, 1576, Wagner, F. 245, 1325, 1554, 1736
1691, 1700 1737
Vemuganti, R.R. 1104, 1615 Wagner, H.M. 343, 346, 1754
Venkatesan, S.M. 139, 161, 1627 Wagner, K. 2627, 952, 1087, 1273,
Venkateswaran, V. 163, 1691 1308, 1329, 1342, 1345, 1426, 1457,
Verblunsky, S. 1001, 1753 17541755
Vesel, A. 1171, 1753 Wagner, R.A. 102104, 1755
Vesztergombi, K. 1172, 1753 Wakabayashi, S. 254, 1630
Vetta, A. 991, 1510 Wakabayashi, Y. 994, 1594
Vidyasankar, K. 116, 218, 911, 913, Walford, R.B. 959, 1733
959960, 1753 Walker, M.R. 129, 1641
Vishkin, U. 991, 1104, 1438, 1644 Walker, W.F. 195, 1591
Vizing, V.G. 335, 465, 467468, 476, Wallacher, C. 195, 1034, 1755
478482, 1086, 1171, 14551456, Walley, S.K. 105, 1755
1676, 1753 Wallis, W.D. 1143, 1755
Vliet, D. van 118, 1753 Walter, J.R. 1142, 1755
1804 Name Index
392, 703, 783, 930, 1136, 1399, linear ordering problem 953
1441 linear programming 6163, 6768, 84
Kruskals method 857859, 871, 874 linear programming, duality theorem of
Kuratowskis theorem 26 6263
linear programming, integer 7374
Lagrangean multipliers 986 84
Lagrangean relaxation 985986, 993 linear programming duality equation
laminar collection of paths 270 63
laminar family 37, 214215, 441, linear time, problem solvable in 47
453, 712, 820, 832 linear-time algorithm 47
laminar vector 616 linear-time solvable problem 47
last arc of walk 31 linearly independent vectors 13
last edge of walk 19 link 1337
last vertex of walk 19, 31 linked list 48
lattice 81, 233, 668669, 674675, linked list, doubly 4849
677, 681682 linked sets in digraph 140, 659, 737
lattice, distributive 233235, 1034 linking system 671
lattice, dual 81 linklessly embeddable graph 956958
lattice, geometric 668 Lins theorem 12991300
lattice, matroid 668669 list 4849
lattice, modular 674675, 681 list, doubly linked 4849
lattice, point 668669 list, linked 48
lattice, upper semimodular 669, list-colouring 737738, 892
675, 677, 681682 of matroid 737738
lattice family 826832, 834835 list-edge-colourable graph, k- 335
lattice polyhedron 10251028 list-edge-colouring 335336, 1455
leaf 434 bipartite 335336
leave 29 list-edge-colouring number 335, 482
legal order 245 literal 1084
Lehmans theorem 13871392 local Euler condition 1366
length 13 lockable collection 12911292
of closed curve 1356 longest maximum-length 13
of walk 19, 31 longest branching 895896, 900901
length function 13 algorithm 895896
length of walk 96 min-max 900901
length-width inequality 94, 221, 1383 longest forest 860861
light 1127 algorithm 860
Lin-Kernighan heuristic for the min-max 860861
symmetric traveling salesman longest Hamiltonian circuit 996
problem 996 longest path 114117
line digraph 30 acyclic 116117
line graph 18 min-max 116117
line of graph edge of graph NP-completeness 114115
line-perfect graph 1145 longest R S biforest 930931
linear extension 11 algorithm 931
linear halfspace 59 min-max 930
linear matroid 654655, 676679, 728, longest R S bifurcation 938940
753 algorithm 940
linear order 11 min-max 938940
Subject Index 1843