Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
100% found this document useful (1 vote)
289 views

Geometric Algorithms and Combinatorial Optimization

Lineare Optimierung eine Einführung, Standardwerk Autoren: Martin Grötschel Laszlo Lovasz Alexander Schrijver
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
289 views

Geometric Algorithms and Combinatorial Optimization

Lineare Optimierung eine Einführung, Standardwerk Autoren: Martin Grötschel Laszlo Lovasz Alexander Schrijver
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 374

Algorithms and Combinatorics 2

Editorial Board
R.L. Graham, Murray Hill B. Korte, Bonn
L. Lovasz, Budapest
Martin Grtschel
Laszlo Lovasz
Alexander Schrijver
Geometric Algorithms
and Combinatorial
Optimization
Springer-Verlag Berlin Heidelberg NewYork
London Paris Tokyo
Martin Grtschel
Institute of Mathematics
University of Augsburg
Memminger StraBe 6
D-8900 Augsburg
Fed. Rep. of Germany
Laszlo Lovasz
Department of Computer Science
Etvs Lorand University
Budapest
Muzeum krt. 6-8
Hungary H-1088
Alexander Schrijver
Department of Econometrics
Tilburg University
P.O. Box 90153
NL-5000 LE Tilburg
The Netherlands
1980 Mathematics Subject Classification (1985 Revision):
primary 05-02, 11Hxx, 52-02, 90Cxx; secondary 05Cxx, 11H06,
11H55, 11J13, 52A43, 68Q25, 90C05, 90C10, 90C25, 90C27
ISBN 3-540-13624-X Springer-Verlag Berlin Heidelberg New York
ISBN 0-387-13624-X Springer-Verlag New York Berlin Heidelberg
With 23 Figures
Library of Congress Cataloging-in-Publication Data
Grtschel, Martin.
Geometric algorithms and combinatorial optimization.
(Algorithms and combinatorics; 2)
Bibliography: p. Includes indexes.
1. Combinatorial geometry. 2. Geometry of numbers. 3. Mathematical optimization.
4. Programming (Mathematics) I. Lovasz, Laszlo, 1948-. II. Schrijver, A. HI. Title.
IV. Series. QA167.G76 1988 511.6 87-36923
ISBN 0-387-13624-X (U.S.)
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 microfilms or in other ways, and
storage in data banks. Duplication of this publication or parts thereof is only permitted
under the provisions of the German Copyright Law of September 9, 1965, in its version
of June 24, 1985, and a copyright fee must always be paid. Violations fall under the
prosecution act of the German Copyright Law.
Springer-Verlag Berlin Heidelberg 1988
Printed in Germany
Media conversion, printing and binding: Universitdtsdruckerei H. Sturtz AG, Wrzburg
2141/3140-543210
Preface
Historically, there is a close connection between geometry and optimization.
This is illustrated by methods like the gradient method and the simplex method,
which are associated with clear geometric pictures. In combinatorial optimization,
however, many of the strongest and most frequently used algorithms are based
on the discrete structure of the problems: the greedy algorithm, shortest path
and alternating path methods, branch-and-bound, etc. In the last several years
geometric methods, in particular polyhedral combinatorics, have played a more
and more profound role in combinatorial optimization as well.
Our book discusses two recent geometric algorithms that have turned out to
have particularly interesting consequences in combinatorial optimization, at least
from a theoretical point of view. These algorithms are able to utilize the rich
body of results in polyhedral combinatorics.
The first of these algorithms is the ellipsoid method, developed for nonlinear
programming by N. Z. Shor, D. B. Yudin, and A. S. Nemirovskii. It was a great
surprise when L. G. Khachiyan showed that this method can be adapted to solve
linear programs in polynomial time, thus solving an important open theoretical
problem. While the ellipsoid method has not proved to be competitive with the
simplex method in practice, it does have some features which make it particularly
suited for the purposes of combinatorial optimization.
The second algorithm we discuss finds its roots in the classical "geometry
of numbers", developed by Minkowski. This method has had traditionally
deep applications in number theory, in particular in diophantine approximation.
Methods from the geometry of numbers were introduced in integer programming
by H. W. Lenstra. An important element of his technique, called basis reduction,
goes in fact back to Hermite. An efficient version of basis reduction yields a
polynomial time algorithm useful not only in combinatorial optimization, but
also in fields like number theory, algebra, and cryptography.
A combination of these two methods results in a powerful tool for combi-
natorial optimization. It yields a theoretical framework in which the polynomial
time solvability of a large number of combinatorial optimization problems can
be shown quite easily. It establishes the algorithmic equivalence of problems
which are "dual" in various senses.
Being this general, this method cannot be expected to give running times
comparable with special-purpose algorithms. Our policy in this book is, therefore,
not to attempt to obtain the best possible running times; rather, it is to derive
just the polynomial time solvability of the problems as quickly and painlessly as
possible. Thus, our results are best conceived as "almost pure" existence results
for polynomial time algorithms for certain problems and classes of problems.
Nevertheless, we could not get around quite a number of tedious technical
details. We did try to outline the essential ideas in certain sections, which should
give an outline of the underlying geometric and combinatorial ideas. Those
sections which contain the technical details are marked by an asterisk in the list
of contents. We therefore recommend, for a first reading, to skip these sections.
The central result proved and applied in this book is, roughly, the following.
If K is a convex set, and if we can decide in polynomial time whether a given
vector belongs to K, then we can optimize any linear objective function over K
in polynomial time. This assertion is, however, not valid without a number of
conditions and restrictions, and even to state these we have to go through many
technical details. The most important of these is that the optimization can be
carried out in an approximate sense only (as small compensation, we only need
to test for membership in K in an approximate sense).
Due to the rather wide spread of topics and methods treated in this book, it
seems worth while to outline its structure here.
Chapters 0 and 1 contain mathematical preliminaries. Of these, Chapter 1
discusses some non-standard material on the complexity of problems, efficiency
of algorithms and the notion of oracles.
The main result, and its many versions and ramifications, are obtained by
the ellipsoid method. Chapter 2 develops the framework necessary for the
formulation of algorithmic problems on convex sets and the design of algorithms
to solve these. A list of the main problems introduced in Chapter 2 can be found
on the inner side of the back cover. Chapter 3 contains the description of (two
versions of) the ellipsoid method. The statement of what exactly is achieved
by this method is rather complicated, and the applications and specializations
collected in Chapter 4 are, perhaps, more interesting. These range from the main
result mentioned above to results about computing the diameter, width, volume,
and other geometric parameters of convex sets. All these algorithms provide,
however, only approximations.
Polyhedra encountered in combinatorial optimization have, typically, vertices
with small integral entries and facets with small integral coefficients. For such
polyhedra, the optimization problem (and many other algorithmic problems) can
be solved in the exact sense, by rounding an approximate solution appropriately.
While for many applications a standard rounding to some number of digits is
sufficient, to obtain results in full generality we will have to use the sophisticated
rounding technique of diophantine approximation. The basis reduction algorithm
for lattices, which is the main ingredient of this technique, is treated in Chapter
5, along with several applications. Chapter 6 contains the main applications of
diophantine approximation techniques. Besides strong versions of the main result,
somewhat different combinations of the ellipsoid method with basis reduction give
the strongly polynomial time solvability of several combinatorial optimization
problems, and the polynomial time solvability of integer linear programming in
fixed dimension, remarkable results of E. Tardos and H. W. Lenstra, respectively.
Chapters 7 to 10 contain the applications of the results obtained in the
previous chapters to combinatorial optimization. Chapter 7 is an easy-to-read
introduction to these applications. In Chapter 8 we give an in-depth survey of
combinatorial optimization problems solvable in polynomial time with the meth-
ods of Chapter 6. Chapters 9 and 10 treat two specific areas where the ellipsoid
method has resolved important algorithmic questions that so far have resisted
direct combinatorial approaches: perfect graphs and submodular functions.
We are grateful to several colleagues for many discussions on the topic
and text of this book, in particular to Bob Bixby, Andras Frank, Michael
Jnger, Gerhard Reinelt, Eva Tardos, Klaus Truemper, Yoshiko Wakabayashi,
and Zaw Win. We mention at this point that the technique of applying the
ellipsoid method to combinatorial optimization problems was also discovered by
R. M. Karp, C. H. Papadimitriou, M. W. Padberg, and M. R. Rao.
We have worked on this book over a long period at various institutions. We
acknowledge, in particular, the support of the joint research project of the German
Research Association (DFG) and the Hungarian Academy of Sciences (MTA),
the Universities of Amsterdam, Augsburg, Bonn, Szeged, and Tilburg, Cornell
University (Ithaca), Etvs Lorand University (Budapest), and the Mathematical
Centre (Amsterdam).
Our special thanks are due to Frau Theodora Konnerth for the efficient and
careful typing and patient retyping of the text in T
E
X.
March 1987 Martin Grtschel
Laszlo Lovasz
Alexander Schrijver
Table of Contents
Chapter 0. Mathematical Preliminaries 1
0.1 Linear Algebra and Linear Programming 1
Basic Notation 1
Hulls, Independence, Dimension 3
Eigenvalues, Positive Definite Matrices 4
Vector Norms, Balls 5
Matrix Norms 7
Some Inequalities 8
Polyhedra, Inequality Systems 9
Linear (Diophantine) Equations and Inequalities 11
Linear Programming and Duality 14
0.2 Graph Theory 16
Graphs 17
Digraphs 18
Walks, Paths, Circuits, Trees 19
Chapter 1. Complexity, Oracles, and Numerical Computation . . . . 21
1.1 Complexity Theory: & and Jf& 21
Problems 21
Algorithms and Turing Machines 22
Encoding 23
Time and Space Complexity 23
Decision Problems: The Classes^and JT 24
1.2 Oracles 26
The Running Time of Oracle Algorithms 26
Transformation and Reduction 27
^^-Completeness and Related Notions 28
1.3 Approximation and Computation of Numbers 29
Encoding Length of Numbers 29
Polynomial and Strongly Polynomial Computations 32
Polynomial Time Approximation of Real Numbers 33
1.4 Pivoting and Related Procedures 36
Gaussian Elimination 36
Gram-Schmidt Orthogonalization 40
The Simplex Method 41
Computation of the Hermite Normal Form 43
Chapter 2. Algorithmic Aspects of Convex Sets:
Formulation of the Problems 46
2.1 Basic Algorithmic Problems for Convex Sets 47
* 2.2 Nondeterministic Decision Problems for Convex Sets 56
Chapter 3. The Ellipsoid Method 64
3.1 Geometric Background and an Informal Description 66
Properties of Ellipsoids 66
Description of the Basic Ellipsoid Method 73
Proofs of Some Lemmas 76
Implementation Problems and Polynomiality 80
Some Examples 83
* 3.2 The Central-Cut Ellipsoid Method 86
* 3.3 The Shallow-Cut Ellipsoid Method 94
Chapter 4. Algorithms for Convex Bodies 102
4.1 Summary of Results 102
* 4.2 Optimization from Separation 105
* 4.3 Optimization from Membership 107
* 4.4 Equivalence of the Basic Problems 114
* 4.5 Some Negative Results 118
* 4.6 Further Algorithmic Problems for Convex Bodies 122
* 4.7 Operations on Convex Bodies 128
The Sum 128
The Convex Hull of the Union 129
The Intersection 129
Polars, Blockers, Antiblockers 131
Chapter 5. Diophantine Approximation and Basis Reduction 133
5.1 Continued Fractions 134
5.2 Simultaneous Diophantine Approximation: Formulation of the
Problems 138
5.3 Basis Reduction in Lattices 139
* 5.4 More on Lattice Algorithms 150
Chapter 6. Rational Polyhedra 157
6.1 Optimization over Polyhedra: A Preview 157
* 6.2 Complexity of Rational Polyhedra 162
* 6.3 Weak and Strong Problems 170
* 6.4 Equivalence of Strong Optimization and Separation 174
* 6.5 Further Problems for Polyhedra 181
* 6.6 Strongly Polynomial Algorithms 188
* 6.7 Integer Programming in Bounded Dimension 192
Chapter 7. Combinatorial Optimization: Some Basic Examples . . . 197
7.1 Flows and Cuts 197
7.2 Arborescences 201
7.3 Matching 203
7.4 Edge Coloring 208
7.5 Matroids 210
7.6 Subset Sums 218
7.7 Concluding Remarks 221
* Chapter 8. Combinatorial Optimization: A Tour d'Horizon 225
* 8.1 Blocking Hypergraphs and Polyhedra 225
* 8.2 Problems on Bipartite Graphs 229
* 8.3 Flows, Paths, Chains, and Cuts 233
* 8.4 Trees, Branchings, and Rooted and Directed Cuts 242
Arborescences and Rooted Cuts 242
Trees and Cuts in Undirected Graphs 247
Dicuts and Dijoins 251
* 8.5 Matchings, Odd Cuts, and Generalizations 254
Matching 255
b-Matching 257
T-J oins and T-Cuts 259
Chinese Postmen and Traveling Salesmen 262
* 8.6 Multicommodity Flows 266
* Chapter 9. Stable Sets in Graphs 272
* 9.1 Odd Circuit Constraints and t-Perfect Graphs 273
* 9.2 Clique Constraints and Perfect Graphs 276
Antiblockers of Hypergraphs 284
* 9.3 Orthonormal Representations 285
* 9.4 Coloring Perfect Graphs 296
* 9.5 More Algorithmic Results on Stable Sets 299
* Chapter 10. Submodular Functions 304
* 10.1 Submodular Functions and Polymatroids 304
* 10.2 Algorithms for Polymatroids and Submodular Functions . . . 308
Packing Bases of a Matroid 311
* 10.3 Submodular Functions on Lattice, Intersecting, and
Crossing Families 313
* 10.4 Odd Submodular Function Minimization and Extensions . . . 325
References 331
Notation Index 347
Author Index 351
Subject Index 355
Five Basic Problems (see inner side of the back cover)
Chapter 0
Mathematical Preliminaries
This chapter summarizes mathematical background material from linear algebra,
linear programming, and graph theory used in this book. We expect the reader
to be familiar with the concepts treated here. We do not recommend to go
thoroughly through all the definitions and results listed in the sequel - they are
mainly meant for reference.
0.1 Linear Algebra and Linear Programming
In this section we survey notions and well-known facts from linear algebra,
linear programming, polyhedral theory, and related fields that will be employed
frequently in subsequent chapters. We have also included a number of useful
inequalities and estimates. The material covered here is standard and can be
found in several textbooks. As references for linear algebra we mention FADDEEV
and FADDEEVA (1963), GANTMACHER (1959), LANCASTER and TISMENETSKY (1985),
MARCUS and MI NC (1964), STRANG (1980). For information on linear program-
ming and polyhedral theory see for instance CHVATAL (1983), DANTZI G (1963),
GASS (1984), GRUNBAUM (1967), ROCKAFELLAR (1970), SCHRIJ VER (1986), STOER
and WI TZGALL (1970).
Basic Notation
By R (Q, Z, N, C) we denote the set of real (rational, integral, natural, complex)
numbers. The set N of natural numbers does not contain zero. R
+
(Q
+
, Z
+
)
denotes the nonnegative real (rational, integral) numbers. For n N, the symbol
R
n
(Q
n
, Z
n
, N
n
, C
n
) denotes the set of vectors with n components (or n-tuples
or n-vectors) with entries in R (Q, Z, N, C). If E and R are sets, then R
E
is
the set of mappings of E to R. If E is finite, it is very convenient to consider
the elements of R
E
as |E|-vectors where each component of a
indexed by an element of
defined by
of F.
Addition of vectors and multiplication of vectors with scalars are as usual.
With these operations, R
n
and Q
n
are vector spaces over the fields R and
Q, respectively, while Z
n
is a module over the ring Z. A vector is always
considered as a column vector, unless otherwise stated. The superscript "T"
is called the incidence vector
For a real number a, the symbol [<x\ denotes the largest integer not larger
than a (the floor or lower integer part of a), [a] denotes the smallest integer not
smaller than a (the ceiling or upper integer part of a) and [aj :=[a ^] denotes
the integer nearest to a. If a (ai, ..., a
n
)
T
and b =(b\, ..., b
n
)
T
are vectors,
we write a < b if a
x
< bi for i = 1, ..., n.
For two sets M and N
9
the expression M ^ N means that M is a subset
of N, while M c N denotes strict containment, i. e., M c N and M ^ N. We
write M \N for the set-theoretical difference {x e M | x 4 N}, MAiV for the
symmetric difference (M \ N) U (N \ M), and 2
M
for the set of all subsets of M,
the so-called power set of M. For M,N ^R" and a e R, we use the following
standard terminology for set operations: M +N := {x +j ; | x e M,y e N},
aM :={ax | X G M }, - M :={-X |xeM}, M-J V :=M +(-N).
For any set #,
j
R
mxn
denotes the set of mxn-matrices with entries in R. For a
matrix A e K
mx
", we usually assume that the row index set of A is {1, ..., m} and
that the column index set is {1, ..., n}. Unless specified otherwise, the elements
or entries of A e R
mxn
are denoted by a
t
j, 1 < i < m, 1 < j < n; we write
A =(ay). Vectors with n components are also considered as nxl-matrices.
If / is a subset of the row index set M of a matrix A and J a subset of the
column index set N of A, then A
u
denotes the submatrix of A induced by those
rows and columns of A whose indices belong to / and J , respectively. Instead of
AM J (AIN resp.) we frequently write A.j (Aj. resp.). A submatrix A of the form
An is called a principal submatrix of A. If K ={1, ..., k] then A
KK
is called
the /c-th leading principal submatrix of A. A-
x
. is the i-th row of A (so it is a row
vector), and A.j is thej-th column of A.
Whenever we do not explicitly state whether a number, vector, or matrix is
integral, rational, or complex it is implicitly assumed to be real. Moreover, we
often do not specify the dimensions of vectors and matrices explicitly. When
operating with them, we always assume that their dimensions are compatible.
The identity matrix is denoted by J or, if we want to stress its dimension,
by /. The symbol 0 stands for any appropriately sized matrix which has all
entries equal to zero, and similarly for any zero vector. The symbol 1 denotes a
vector which has all components equal to one. Thej-th unit vector in IR", whose
7-th component is one while all other components are zero, is denoted by ej. If
x =(xi, ..., x
n
)
T
is a vector then the nx/i-matrix with the entries xi, ..., x
n
on
the main diagonal and zeros outside the main diagonal is denoted by diag(x).
If A e R
mxp
and B e R
mxq
then (A, B) (or just (A B) if this does not lead to
confusion) denotes the matrix in R
mx
^P
+
^ whose first p columns are the columns
of A and whose other q columns are those of B.
The determinant of an nxn-matrix A is denoted by det(/4). The trace of an
nxn-matrix A, denoted by tr(A), is the sum of the elements of the main diagonal
of the matrix A.
denotes transposition. So, for x R
n
, x
T
is a row vector, unless otherwise stated.
R
n
is endowed with a (Euclidean) inner product defined as follows:
When using functions like det, tr, or diag we often omit the brackets if there
is no danger of confusion, i. e., we frequently write det A instead of det(A) etc.
The inverse matrix of an nxn-matrix A is denoted by A
-1
. If a matrix has an
inverse matrix then it is called nonsingular, and otherwise singular. An nxn-matrix
A is nonsigular if and only if det A 0.
Hulls, Independence, Dimension
A vector x R
n
is called a linear combination of the vectors
if, for some
combination
conic
affine
convex
of the vectors x
1
,x
2
, ...,x
k
. These combinations are called proper if neither
= 0 nor = e
}
for some j {1,2, ..., k}. For a nonempty subset S R
n
, we
denote by
lin(S) linear
conic
affine
convex
that is, the set of all vectors that are linear (conic, affine, convex) combinations
of finitely many vectors of S. For the empty set, we define lin(0) :=cone(0) :={0}
and aff(0) :=conv(0) :=0.
A subset S R
n
is called
cone(S)
aff(S)
conv(S)
the hull of the elements of S,
a linear subspace
a cone
an affine subspace
a convex set
A subset S R
n
is called linearly (affinely) independent if none of its members
is a proper linear (affine) combination of elements of S; otherwise S is called
linearly (affinely) dependent. It is well-known that a linearly (affinely) independent
subset of R
n
contains at most n elements (n +1 elements). For any set S R
n
,
the rank of S (affine rank of S) denoted by rank(S) (arank(S)), is the cardinality
of the largest linearly (affinely) independent subset of S. For any subset S R
n
,
the dimension of S, denoted by dim(S), is the cardinality of a largest affinely
independent subset of S minus one, i. e., dim(S) =arank(S) 1. A set S R
n
with dim(S) =n is called full-dimensional.
The rank of a matrix A (notation: rank(A)), is the rank of the set of its
column vectors. This is known to be equal to the rank of the set of its row
vectors. An mxn-matrix A is said to have full row rank (full column rank) if
rank A =m (rank A =n).
Eigenvalues, Positive Definite Matrices
If A is an nxn-matrix, then every complex number k with the property that there is
a nonzero vector ueC" such that Au =ku is called an eigenvalue of A. The vector
u is called an eigenvector of A associated with k. The function f(k) := det(kI
n
A)
is a polynomial of degree n, called the characteristic polynomial of A. Thus the
equation
has n (complex) roots (multiple roots counted with their multiplicity). These roots
are the (not necessarily distinct) n eigenvalues of A.
We will often consider symmetric matrices (i. e., Mxn-matrices A = (a,y) with
ciy = ciju 1 <i <j < n). It is easy to see that all eigenvalues of real symmetric
matrices are real numbers.
There are useful relations between the eigenvalues k\, ..., k
n
of a matrix A,
its determinant and its trace, namely
(0.1.1)
j =i
(0.1.2)
An wxn-matrix A is called positive definite (positive semidefinite) if A is
symmetric and if
positive definite then A is nonsingular and its inverse is also positive definite. In
fact, for a symmetric nxn-matrix A the following conditions are equivalent:
(0.1.3) (i) A is positive definite.
(ii) A~
l
is positive definite.
(iii) All eigenvalues of A are positive real numbers.
(iv) A = B
T
B for some nonsingular matrix B.
(v) detv4fc >0 for k =1, ..., n, where Ak is the /c-th leading
principal submatrix of A.
It is well known that for any positive definite matrix A, there is exactly one
matrix among the matrices B satisfying (0.1.3) (iv) that is itself positive definite.
This matrix is called the (square) root of A and is denoted by A
l/2
.
Positive semidefinite matrices can be characterized in a similar way, namely,
for a symmetric nxn-matrix A the following conditions are equivalent:
(0.1.4) (i) A is positive semidefinite.
(ii) All eigenvalues of A are nonnegative real numbers.
(iii) A = B
T
B for some matrix B.
(iv) dety4// >0 for all principal submatrices A
n
of A.
(v) There is a positive definite principal submatrix An of A
with |/| =rank A
Vector Norms, Balls
A function N : IR" - IR is called a norm if the following three conditions are
satisfied:
(0.1.5)
Every normN on R
n
induces a distance d
N
defined by
For our purposes four norms will be especially important:
(the I2- or Euclidean norm).
(This norm induces the Euclidean distance d{x,y) = \\xy\\. Usually, the Euclidean
norm is denoted by || H2. But we use it so often that we write simply || ||.)
- or 1-norm),
- or maximum norm),
where A is a positive definite nxn-matrix. Recall that A induces an inner product
x
T
A~
{
y on IR". Norms of type || |U are sometimes called general Euclidean or
ellipsoidal norms. We always consider the space IR" as a Euclidean space endowed
with the Euclidean norm || ||, unless otherwise specified. So all notions related
to distances and the like are defined via the Euclidean norm.
For all x e IR", the following relations hold between the norms introduced
above:
(0.1.6)
(0.1.7)
(0.1.8)
If A is a positive definite Mxn-matrix with smallest eigenvalue X and largest
eigenvalue A then
(0.1.9)
(triangle inequality).
The diameter of a set K c R
n
, denoted by diam(X), is the largest distance
between two points of K; more exactly:
The width of K is the minimum distance of two parallel hyperplanes with K
between them; that is,
For any set X cR" and any positive real number e, the set
(0.1.10)
is called the ball of radius e around K (with respect to the Euclidean norm). For
and call S(a,s) the ball of radius E with center a. S(0,1) is the unit ball around
zero.
The "unit ball around zero" with respect to the maximum norm is the
hypercube (x e R" | - 1 < x,- < 1,/ = 1, ..., }. For any positive definite
matrix A, the "unit ball around zero" with respect to || |U is the ellipsoid
{x e R" | x
T
A~
l
x < 1} - see Section 3.1 for further details. We shall frequently
use the interior e-ball of K defined by
(0.1.11)
The elements of S(K
y
e) can be viewed as the points "deep inside of K". Note
that if K is convex, then
(0.1.12)
and that
(0.1.13)
Equality does not always hold in the containment relation of (0.1.12). (Take,
But if diam(X) <2R for some R > 0, and if
we know that K contains a ball with radius r, then one can easily see that
(0.1.14)
for all
Matrix Norms
Any norm on the linear space R
mxn
of mxn-matrices is called a matrix norm. If
N\ is a norm on R" and N
2
a norm on R
m
, then a matrix norm M on R
mxn
is
said to be compatible with N\ and N2 if
If N is a vector norm on R" and M a matrix norm on R
wxn
such that N(Ax) <
M{A)N(x) for all x e R" and A e R"
xn
, then we say that M is compatible with
N. A matrix normM on R
nxn
is called submultiplicative if
nxn
Every vector normN on R" induces a matrix norm on R
nxn
, called the norm
subordinate to N and denoted by lub#(least upper bound), as follows:
(0.1.15)
Clearly, lub/v is the smallest among the matrix norms compatible with N; and
lubjv is submultiplicative. The norm subordinate to the Euclidean norm || || is
(0.1.16)
where A(A
T
A) is the largest eigenvalue of A
T
A. \\A\\ is called the spectral norm
of A. If A is a symmetric xn-matrix then one can show
(0.1.17)
Moreover, if A is symmetric and nonsingular then
(0.1.18)
The norm subordinate to the maximum norm || lU is
(0.1.19)
(row sum norm).
The norm subordinate to the 1-norm || ||i is
(0.1.20)
(column sum norm).
eigenvalue of A
eigenvalue of A
8 Chapter 0. Mathematical Preliminaries
Further submultiplicative matrix norms are
(0.1.21) M||
2
:=yJlH
J=l
4 (Frobenius norm)
and
(0.1.22) MlUax :="max {\a
tj
\ \ ij = 1,...,}.
The matrix norm || ||
max
is compatible with the vector norms || ||, || ||i, and
|| || oo, and the matrix norm || H2 is compatible with the Euclidean norm || ||. The
following inequalities hold:
(0.1.23) Mil <M||
max
, MHoo <Mllmax, Mill <Mllmax for AeW*\
(0.1.24) 4=IWl2 <Mil <IMIb <M||
max
for ^R "
x
" .
If M is a matrix norm on R
nxn
that is compatible to some vector norm on IR
n
,
then
(0.1.25) |A| <M (A) for each eigenvalue X of A.
Some Inequalities
The following well-known inequality will be used frequently:
(0.1.26) |x
r
v| <||x|| ||v|| for all xj eR " (Cauchy-Schwarz inequality).
This inequality holds with equality if and only if x and y are linearly dependent.
The parallelepiped spanned by a\, ..., a
m
e R" is the convex hull of the zero
vector and all vectors that are sums of different vectors of the set {a\, ..., a
m
).
Let A be the nxm-matrix with columns a\, ..., a
m
. Then
Vdet(A
T
A)
is thevolume of the parallelepiped spanned by a\
9
...,a
m
. This observation
implies
m
(0.1.27) yJdet{A
T
A) < f ] H^ll (Hadamard inequality).
1=1
Equality holds in (0.1.27) if and only if the vectors a
f
areorthogonal (i. e.,
afcij 0 for 1 <1 <j < m), in other words, if and only if the parallelepiped is
a rectangular box. In particular, for an nxn-matrix A the Hadamard inequality
reads
n
(0.1.28) |detA|<[]||a,-||,
!=1
where a\
9
..., a
n
denote the columns of A.
Polyhedra, Inequality Systems
If A is a real m x n-matrix and b e R
m
, then Ax < b is called a system of
(linear) inequalities, and Ax = b a system of (linear) equations. The solution set
{xelRJ
1
\ Ax < b) of a system of inequalities is called a polyhedron. A polyhedron
P that is bounded (i. e., P c S(Q,R) for some R > 0) is called a polytope A
polyhedral cone is a cone that is also a polyhedron.
If a e R
n
\ {0} and ao e R, then the polyhedron {xeR"| a
T
x < ao} is called
a halfspace, and the polyhedron {x e R" | a
T
x =a
0
} a hyperplane. To shorten
notation we shall sometimes speak of the hyperplane a
T
x =a
0
and the halfspace
a
T
x < ao. Every polyhedron is the intersection of finitely many halfspaces.
An inequality a
T
x < a
0
is called valid with respect to a polyhedron P if
? ^{x | a
T
x < ao}. A set F c p i
s
called a face of P if there exists a valid
inequality a
T
x < a
0
for P such that F = {x e P \ a
T
x = a
0
}. We say that F is
the face defined (or induced) by a
T
x < ao. If v is a point in a polyhedron P such
that {v} is a face of P, then i; is called a vertex of P. A polyhedron is called
pointed if it has a vertex. One can easily prove that a nonempty polyhedron
P = {x \ Ax <b} is pointed if and only if A has full column rank. A facet of P
is an inclusionwise maximal face F with 0 =fi F 4" P. Equivalently, a facet is a
nonempty face of P of dimension dim(P) 1.
Note that the linear subspaces of R" are the solution sets of homogeneous
equation systems Ax =0, and that the affine subspaces are the solution sets of
equation systems Ax = b. Hence they are polyhedra.
Let us remark at this point that the description of a polyhedron as the
solution set of linear inequalities is by no means unique. Sometimes it will
be convenient to have a kind of "standard" representation of a polyhedron.
If the polyhedron P is full-dimensional then it is well known that P has a
representation P = {x e R
w
| Ax < b} such that each of the inequalities A
x
.x < b
t
defines a facet of P and such that each facet of P is defined by exactly one of
these inequalities. If we normalize the inequalities so that ||4;.||oo =1 for all rows
A
t
. of A, then this representation of P is unique. We call this representation the
standard representation of the full-dimensional polyhedron P.
If the polyhedron P is not full-dimensional, then one can find a systemCx =d
of linear equations whose solution set is the affine hull of P. We can choose -
after permuting coordinates, if necessary - the matrix C and the right hand side
d so that C = (I,C) holds. Moreover, given such a matrix C, we can find an
inequality systemAx < b such that each of the inequalities A
u
x < b
t
defines a
facet of P, each facet of P is defined by exactly one of these inequalities, each
row of A is orthogonal to each row of C, and ||^,.||QO = 1 holds for each i. A
representation of a polyhedron P of the form
P = {x e R" | Cx =d,Ax < b},
where C, d, A, b satisfy the above requirements will be called a standard repre-
sentation of P. This representation is unique up to the choice of the columns
forming the identity matrix /.
Let A e R
mxn
be a matrix of rank r. A submatrix B of A is called a basis of
A if it is a nonsingular rxr-matrix. Let A e R
mxn
have full column rank, and let
b e R
m
. For any basis B = A\. of A, let b\ be the subvector of b corresponding
to B. Then the vector B~
x
b\ is called a basic solution of Ax < b. Warning: B~~
l
bi
need not satisfy Ax < b. If B~
l
bi satisfies Ax < b it is called a basic feasible
solution of this inequality system. It is easy to see that a vector is a vertex of the
polyhedron P ={x | Ax < b}, A with full column rank, if and only if it is a basic
feasible solution of Ax < b for some basis B. Note that this basis need not be
unique.
There is another way of representing polyhedra, using the convex and conic
hull operation, that is in some sense "polar" to the one given above. Polytopes
are the convex hulls of finitely many points. In fact, every polytope is the convex
hull of its vertices. Every polyhedron P has a representation of the form
P = conv(F) +cone(),
where V and E are finite subsets of R
n
. Moreover, every point in a polytope
P c R" is a convex combination of at most dim(P) +1, and thus of at most
n-t-1, affinely independent vertices of P (Caratheodory's theorem). The following
type of polytopes will come up frequently. A set D ^R
n
is called a {/-simplex
(where 1 <d < n) if D =conv(K) and V is a set of d + 1 affinely independent
points in R
w
. Instead of n-simplex in R
rt
we often say just simplex.
For any nonempty set S R",
rec(S) :={y e R" | x +ky e S for all x e S and all X > 0}
denotes the recession cone (or characteristic cone) of S. We set rec(0) :={0}.
Intuitively, every vector of rec(S) represents a "direction to infinity" in S. A
more general version of Caratheodory's theorem states that every point in a
{/-dimensional polyhedron P can be represented as a convex combination of
affinely independent points v\, ...,v
s
,v\+eu ...,Pi +c
r
, where 5 +1 <d +1, the
points v\, j v
s
are elements of minimal nonempty faces of P, and the points
e\> , e
t
are elements of minimal nonzero faces of the recession cone of P.
By
lineal(S) :={v e rec(S) | - y e rec(S)} =rec(S) f! (-rec(S))
we denote the lineality space of a set S c R
w
. If S ^0, the lineality space of S
is the largest linear subspace L of R" such that x +L ^S for all x e S. The
recession cone and the lineality space of polyhedra can be characterized nicely.
Namely, if P ={x | Ax < b} is nonempty, then
rec(P) ={x| Ax<0},
\inea\(P) = {x\Ax = 0}.
If P =conv(F) +cone() and V 0, then
rec(P) =cone(),
lineal(P) =lin({e e E | -e e cone()}) =cone() H (cone(-)).
0.1 Linear Algebra and Linear Programming 11
A set S c R
n
is called up-monotone (down-monotone) if for each y e S all
vectors x e R
n
with x > y (x < y) are in S. Sometimes we shall restrict our
attention to subsets of a given set T (for instance T = R" or T =[0, l]
n
), in
which case we call a set S c r up-monotone (down-monotone) in r if, for each
y e S, all vectors xeT with x >y (x < y) are in S.
The dominant of a set S is the smallest up-monotone convex set containing
S, that is, the dominant is the set conv(S) +R+. Similarly the antidominant of S
is the smallest down-monotone convex set containing S, i. e., conv(S) R+. The
dominant and antidominant in a convex set T are defined in the obvious way.
For any set S c R
M
,
S :={y e R
n
| y
T
x < 0 for all xeS}
is called the polar cone of S, and
5* :={y e R
n
| y
r
x <1 for all x e 5}
is called the polar of S. S is a closed cone if and only if (S) = S. S is
a closed convex set containing zero if and only if (5*)* = S. Moreover, if
P =conv(F) +cone() is a nonempty polyhedron then
P = {x\ y
T
x < 0 for all y e F U E}
9
P* = {x\v
T
x<\ for all v e V and ^
r
x <0 for all e e E).
There are two related operations which are important in combinatorial ap-
plications. For any set S ^R", its blocker is
bl(S) :={y e R" | y
T
x > 1 for all x e S},
and its antiblocker is
abl(S) := {yel&
n
+
\ y
T
x < 1 for all xeS}.
It is well known that bl(bl(S)) =S if and only if S s R^and S is closed, convex,
and up-monotone. Furthermore, abl(abl(S)) =S if and only if S R^and S is
nonempty, closed, convex, and down-monotone in R".
Linear (Diophantine) Equations and Inequalities
There are some basic problems concerning linear spaces and polyhedra which will
occur frequently in our book and which play an important role in applications.
Let an mxn-matrix A and a vector b e R
w
be given. Consider the system of
linear equations
(0.1.29) Ax = b.
Then we can formulate the following four problems:
(0.1.30) Find a solution of (0.1.29).
(0.1.31) Find an integral solution of (0.1.29).
(0.1.32) Find a nonnegative solution of (0.1.29).
(0.1.33) Find a nonnegative integral solution of (0.1.29).
Borrowing a term from number theory, we could call problems (0.1.31) and
(0.1.33) the diophantine versions of (0.1.30) and (0.1.32), respectively.
We can ask similar questions about the solvability of the system of linear
inequalities
(0.1.34) Ax < b,
namely:
(0.1.35) Find a solution of (0.1.34).
(0.1.36) Find an integral solution of (0.1.34).
(0.1.37) Find a nonnegative solution of (0.1.34).
(0.1.38) Find a nonnegative integral solution of (0.1.34).
Obviously, the nonnegativity conditions in (0.1.37) and (0.1.38) could be included
in (0.1.34); hence, (0.1.37) is equivalent to (0.1.35), and (0.1.38) is equivalent to
(0.1.36). Furthermore, it is rather easy to see that problem (0.1.35) is equivalent
to (0.1.32); and if A and b are rational then (0.1.36) is equivalent to (0.1.33).
For problems (0.1.30), (0.1.31), and (0.1.32), there are classical necessary and
sufficient conditions for their solvability.
(0.1.39) Theorem (Solvability of Linear Equations). There exists a vector x e lR
n
such that Ax =b if and only if there does not exist a vector y e R
n
such that
y
T
A = 0 andy
T
b^0.
(0.1.40) Theorem (Integral Solvability of Linear Equations). Assume A and b
are rational. Then there exists a vector xeZ" such that Ax = b if and only if
there does not exist a vector y e M
m
such that y
T
A is integral and y
T
b is not
integral
(0.1.41) Theorem (Nonnegative Solvability of Linear Equations). There exists a
vector x e lR
n
such that Ax =b, x >0 if and only if there does not exist a vector
y elR"
1
such thaty
T
A > 0 andy
T
b <0.
Theorem (0.1.41) is known as the Farkas lemma. The Farkas lemma has the
following equivalent version which gives a necessary and sufficient condition for
(0.1.35).
(0.1.42) Theorem. There exists a vector xeR" such that Ax < b if and only if
there does not exist a vector y e R
m
such thaty
T
A =0, y > 0 andy
T
b <0.
We leave it to the reader as an exercise to formulate the version of the Farkas
lemma characterizing the solvability of (0.1.37).
Problem (0.1.33) (equivalently (0.1.36) and (0.1.38)) is much more difficult
than the other problems. A kind of characterization was obtained by CHVATAL
(1973) and SCHRIJVER (1980a), based on work of GOMORY (1958, 1960). We shall
formulate this criterion for problem (0.1.38) only, and leave its adaptation to
problems (0.1.33) and (0.1.36) to the reader.
The essence of the solvability characterizations (0.1.39), (0.1.40), and (0.1.41)
is that if Ax = b does not have a solution of a certain type, then we can infer one
single linear equation fromAx = b for which it is obvious that it does not have
a solution of this type. Here "infer" means that we take a linear combination of
the given equations. The version (0.1.42) of the Farkas lemma characterizing the
solvability of (0.1.35) may be viewed similarly, but here we use the inference rule
that we can take a nonnegative linear combination of the given linear inequalities.
The solvability criterion for (0.1.38) can be formulated along the same lines,
but we have to allow the following more complicated rules.
(0.1.43) Rules of Inference.
Rule 1. Given inequalities a\x < fiu ..., a
T
m
x < p
m
and X\, ..., X
m
>0, infer
the inequality (YZi W)* ^ Iti Wi-
Rule 2. Given an inequality ai*i +... +oc
n
x
n
< p, infer the inequality [ai J xi +...
+ kJ*<L/*J.
D
It is obvious that, if a nonnegative integral vector x satisfies the given
inequalities in Rule 1 or Rule 2, it also satisfies the inferred inequality. This
observation gives the trivial direction of the following theorem.
(0.1.44) Theorem (Nonnegative Integral Solvability of Linear Inequalities). As-
sume that A and b are rational. Then there exists a vector x e Z
n
, x > 0 such
that Ax<b if and only if we cannot infer from Ax<bbya repeated application
of Rule 1 and Rule 2 of (0.1.43) the inequality 0
T
x < - 1.
It is important to note here that to derive the inequality 0
T
x < - 1, it may be
necessary to apply the Rules 1 and 2 of (0.1.43) a large number of times.
(0.1.45) Example. Consider the following inequality system in R
2
:
x +y < 3.5,
x-y< 0.5,
-x +y < 0.5,
-x - y < -2.5.
This system does not have a nonnegative integral solution. First we apply Rule 2
to each of the given inequalities to obtain
From the first two inequalities above we infer by Rule 1 that
x < 1.5.
Similarly, the last two inequalities yield, by Rule 1, that
-x < -1.5.
Now applying Rule 2 gives
x< 1,
-x < -2,
adding these by Rule 1 gives
Ox + Oy < - l .
The reader is invited to verify that, in this example, to infer Ox -f Oy < 1
from the given system, Rule 2 has to be applied more than once; in fact, Rule 2
has to be applied to an inequality that itself was obtained by using Rule 2 at
some earlier step.
It is also true that if we start with any system of inequalities Ax < b with
at least one nonnegative integral solution, we can derive, using Rules 1 and 2 a
finite number of times, every inequality that is valid for all nonnegative integral
solutions of Ax < b.
Linear Programming and Duality
One of the most important problems of mathematical programming, and in
various ways the central subject of this book, is the following problem.
(0.1.46) Linear Programming Problem (LP). Given an mxn-matrix A, a vector
b e JR., and a vector c e JR", find a vector x* e P = {x e R" | Ax < b] maximizing
the linear function c
T
x over P.
A linear programming problem (we also say just linear program) is usually
written in one of the following short forms:
(0.1.47) max c
T
x
Ax < b,
or max{c
r
x | Ax < b},
or max c
T
x, Ax < b,
or maxc
r
x, x e P.
As we will see in the sequel there are various other ways to present a linear
program. A vector x satisfying Ax < b is called a feasible solution of the linear
program, and a feasible solution x is called an optimal solution if c
T
x > c
T
x
for all feasible vectors x. The linear function c
T
x is called the objective function
of the linear program. If we replace "maximizing" in (0.1.46) by "minimizing",
the resulting problem is also called a linear program and the same terminology
applies.
With every linear program maxc
r
x, Ax < b, another program, called its dual,
can be associated; this reads as follows:
(0.1.48) miny
T
b, y
T
A = c
T
, y> 0,
where y is the variable vector. Using trivial transformations this program can be
brought into the form of a linear program as defined above. The original program
is sometimes referred to as the primal program. The following fundamental
theorem establishes an important connection between a primal problem and its
dual.
(0.1.49) Duality Theorem. Let (P) maxc
r
x, Ax < b be a linear program and
(D) min y
T
b, y
T
A = c
T
, y >0 be its dual If (?) and (D) both have feasible
solutions then both problems have optimal solutions and the optimum values of
the objective functions are equal
If one of the programs (P) or (D) has no feasible solution, then the other is
either unbounded or has no feasible solution. If one of the programs (P) or (D)
is unbounded then the other has no feasible solution.
This theorem can be derived from, and is equivalent to, the Farkas lemma
(0.1.41). A useful optimality condition for linear programming problems is the
following result.
(0.1.50) Complementary Slackness Theorem. Suppose u is a feasible solution to
the primal linear programming problem (P) max c
T
x, Ax <b and v is a feasible
solution for the dual (D) miny
T
b, y
T
A =c
T
, y > 0. A necessary and sufficient
condition for u and v to be optimal for (P) and (D), respectively, is that for all i
vi > 0 implies A[.u b
u
(equivalently, A
t
.u < b
x
implies v
t
=0).

It follows from the definition of optimality that the set of optimum solutions
of a linear program over a polyhedron P is a face of the polyhedron P. If P is
a pointed polyhedron, then every face contains at least one vertex. Hence, if P
is pointed and the linear program maxc
r
x, x e P is bounded then it has at least
one optimum solution x* that is a vertex of P. In particular, this implies that
every linear program over a nonempty polytope has an optimum vertex solution.
There is a diophantine version of the linear programming problem, important
in view of combinatorial applications.
(0.1.51) Integer Linear Programming Problem. Given an mxn-matrix A, vectors
b e R
m
and c e R
M
, find an integral vector x* e P = {x e R" | Ax < b}
maximizing the linear function c
T
x over the integral vectors in P.
Almost every combinatorial optimization problem can be formulated as such
an integer linear programming problem.
Given an integer linear program, the linear program which arises by dropping
the integrality stipulation is called its LP-relaxation. We may also consider the
dual of this LP-relaxation and the associated integer linear program. Then we
have the following inequalities (provided that the optima involved exist):
(0.1.52) maxc
r
x < maxc
r
x = min y
T
b < mm y
T
b
Ax <b Ax < b y
T
A = c
T
y
T
A = c
T
x integral y > 0 y > 0
y integral
In general, one or both of these inequalities can be strict.
We say that the systemAx < b is totally primal integral (TPI) if A and b are
rational and the first inequality in (0.1.52) holds with equality for each integral
vector c, for which the maxima are finite. The systemAx < b is totally dual
integral (TDI) if A and b are rational and the second inequality in (0.1.52) holds
with equality for each integral vector c, for which the minima are finite. The
following theorem due to EDMONDS and GILES (1977) relates these two concepts.
(0.1.53) Theorem. Ifb is an integral vector and Ax < b is totally dual integral,
then it is also totally primal integral
Note that total primal integrality and total dual integrality are not dual
concepts (the roles of b and c are not symmetric); in fact, the converse of
Theorem (0.1.53) does not hold. Observe that the condition that c is an integral
vector can be dropped from the definition of total primal integrality without
changing this notion. Geometrically, total primal integrality means that P is
equal to the convex hull of the integral points contained in P - in particular, if
P is pointed then all vertices of P are integral. A further property equivalent to
total primal integrality is that for each integral vector c the optimum value of
max c
T
x, Ax < b is an integer (if it is finite).
0.2 Graph Theory
Unfortunately there is no standard terminology in graph theory. We shall use
a mixture of BERGE (1973), BOLLOBAS (1978), BONDY and MURTY (1976), and
LAWLER (1976) but we shall also introduce some new symbols which are more
appropriate for our purposes.
Graphs
A graph G = (V
9
E) consists of a finite nonempty set V of nodes and a finite
set E of edges. With every edge, an unordered pair of nodes, called its endnodes,
is associated and we say that an edge is incident to its endnodes. Note that we
usually assume that the two endnodes of an edge are distinct, i. e., we do not
allow loops, unless specified otherwise. If there is no danger of confusion we
denote an edge e with endnodes i and j by ij. Two edges are called parallel if
they have the same endnodes. A graph without parallel edges is called simple.
The number of nodes of G is called the order of G.
A node that is not incident to any edge is called isolated. Two nodes that
are joined by an edge are called adjacent or neighbors. For a node set W, T{W)
denotes the set of neighbors of nodes in W. We write T(v) for r({t?}). The set
of edges having a node v e V as one of their endnodes is denoted by 5(v). The
number \S(v)\ is the degree of node v e V. More generally, if W v, then
6{W) denotes the set of edges with one endnode in W and the other endnode in
V \W. Any edge set of the form&{W)
9
where 0 =fi W V, is called a cut.
If s and t are two different nodes of G, then an edge set F E is called an
[s,f]-cut if there exists a node set W e y with seW^tgW such that F = S(W).
(We shall often use the symbol [.,.] to denote a pair of objects where the order of
the objects does not play a role; here in particular, an [s,f]-cut is also a [,s]-cut.)
If W y and F c E then E(W) denotes the set of edges in G = (V,E)
with both endnodes in W, and V(F) denotes the nodes of G which occur as an
endnode of at least one edge in F.
If W is a node set in G =(K,), then GW denotes the graph obtained by
removing (or deleting) W, i. e., the node set of G W is V\W and GW contains
all edges of G which are not incident to a node in W. By G[W] we denote the
subgraph of G induced by a node set W <=K, i. e., G[W] = G - (V \ W). For
F c E
9
the graph G- F := (V
9
E\F) is called the graph obtained from G by
removing (or deleting) F. For veV and ee,we write G v and G e instead
of G-{v} andG-{e}.
For a node set W K, the graph G W denotes the graph obtained by
contracting W, i. e.
9
G-W contains all nodes V \ W and a new node, say w, that
replaces the node set W. All edges of G not incident to a node in W are kept, all
edges of G with both endnodes in W are removed, and for all edges of G with
exactly one endnode in W
y
this endnode is replaced by w (so parallel edges may
result). If e = uv e E and G contains no edge parallel to e, then the contraction
G e of e is the graph G {w, i;}. If G contains edges parallel to e, G e is obtained
by adding as many loops to G {v
9
w} containing the new node w as there are
edges parallel to e in G. Since here loops come up, we will be careful with this
operation. The contraction of a loop results in the same graph as its deletion.
The contraction G F of an edge set F is the graph obtained by contracting the
edges of F (in any order).
A matching (or 1-matching) M in a graph G =(F,) is a set of edges such
that no two edges of M have a common endnode. A matching M is called perfect
if every node is contained in one edge of M.
18 Chapter 0. Mathematical Preliminaries
A simple graph is called complete if every two of its nodes are joined by an
edge. The (up to isomorphism unique) complete graph of order n is denoted by
K
n
. A graph G whose node set V can be partitioned into two nonempty disjoint
sets V\
9
Vi with V\ U V2 =V such that no two nodes in V\ and no two nodes in
V2 are adjacent is called bipartite. The node sets V\
9
V2 are called color classes, a
2-coloring, or a bipartition of V. If G is simple and bipartite, \V\\ = m, \V
2
\ = n,
and every node in V\ is adjacent to every node in V2, then G is called complete
bipartite and is denoted by K
m
,
n
. The complete bipartite graph K\
>n
is called a
star, and the star K\$ a claw.
If G is a graph, then the complement of G, denoted by G, is the simple graph
which has the same node set as G and in which two nodes are adjacent if and
only if they are nonadjacent in G.
The line graph L(G) of a graph G is the simple graph whose node set is the
edge set of G and in which two nodes are adjacent if and only if the corresponding
edges of G have a common endnode.
A stable set (clique) in a graph G =(V,E) is a set of nodes any two of which
are nonadjacent (adjacent). A coloring (clique covering) of a graph G ={V
9
E) is
a partition of V into disjoint stable sets (cliques).
Clearly, every graph G =(V
9
E) can be drawn in the plane by representing
nodes as points and edges as lines linking the two points which represent their
endnodes. A graph is called planar, if it can be drawn in the plane in such a way
that no two edges (i. e., the lines representing the edges) intersect, except possibly
in their endpoints.
Digraphs
A directed graph (or digraph) D =(V,A) consists of a finite nonempty set V of
nodes and a set A of arcs. With every arc a, an ordered pair (u, v) of nodes, called
its endnodes, is associated; u is the initial endnode (or tail) and v the terminal
endnode (or head) of a. As in the undirected case, loops (w, u) will only be allowed
if explicitly stated. If there is no danger of confusion we denote an arc a with
tail u and head v by (w, v); we also say that a goes from u to v, that a is incident
from u and incident to v
9
and that a leaves u and enters v. If there is an arc going
fromu to v, we say that w is a predecessor of v and that v is a successor of u.
If D = (V,A) is a digraph and W s K, B c A
9
then V(B) is the set of nodes
occurring at least once as an endnode of an arc in B, and A(W) is the set arcs
with head and tail in W. Deletion and contraction of node or arc sets is defined
in the same way as for undirected graphs.
If D = (V,A) is a digraph, then the graph G = (V
9
E) having an edge ij
whenever (ij) e A or (/, 0 e A is called the underlying graph of D. A digraph has
an "undirected property" whenever its underlying graph has this property. For
example, a digraph is planar if its underlying graph is planar.
If v G V then the set of arcs having v as initial (terminal) node is denoted
by S
+
(v) (S-(v)); we set S(v) := 8+(v) U 5~(v). The numbers |<5
+
(i>)|, \8~(v)\
9
and
\5(v)\ are called the outdegree, indegree, and degree of v
9
respectively.
For any set W s v
9
0 ^ W + V
9
we set S
+
(W) := {(/,;) eA\ie WJ 4 W}
9
8-(W) :=d
+
(V\W)
9
3Lndd{W) := S
+
(W)U5-(W). If s,t are two different nodes
of a digraph D = (V,A), then an arc set F c A is called an (s,0-cut ([s,]-cut)
in D if there is a node set W with s e W and t $ W such that F = S
+
(W)
(F = S(W)). An arc set of the formd
+
(W), 0 + W V, is called a directed cut
or dicut if d~(W) =0, i. e., S(W) =<5
+
(W) =(5~(F \ PF). If r e K then every arc
set of the form3~(W), where 0 = W c K \ {r} is called an r-rooted cut or just
r-cut.
Walks, Paths, Circuits, Trees
In a graph or digraph, a walk is a finite sequence W vo,e\,v\,e2,V2, .., e^Vk
(k > 0), beginning and ending with a node, in which nodes v\ and edges (arcs)
ej appear alternately, such that for i = 1,2, ..., k the endnodes of every edge
(arc) e
t
are the nodes vt-\, v
t
. The nodes vo and i;* are called the origin and the
terminus, respectively, or the endnodes of W. The nodes i?i, ..., Vk-i are called
the internal nodes of W. The number k is the length of the walk. If (in a digraph)
all arcs e, are of the form (t?,_i, t;,) then W is called a directed walk or diwalk.
An edge (arc) connecting two nodes of a walk but not contained in the walk is
called a chord of the walk.
A walk in which all nodes (edges or arcs) are distinct is called a path (trail).
A path in a digraph that is a diwalk is called a directed path or dipath. If a node
s is the origin of a walk (diwalk) W and t the terminus of W, then W is called
an [s, ]-walk ((s, r)-diwalk).
Two nodes s, t of a graph G are said to be connected if G contains an [s, t]-
path. G is called connected if every two nodes of G are connected. A digraph D
is called strongly connected (or diconnected) if for every two nodes s, t of D there
are an (s,t)-dipath and a (t,s)-dipath in D.
A graph G (digraph D) is called /c-connected (k-diconnected) if every pair
s,t of nodes is connected by at least k [s,t]-paths ((s, t)-dipaths) whose sets of
internal nodes are mutually disjoint. The components of a graph are the maximal
connected subgraphs of the graph. An edge e of G is called a bridge (or isthmus)
if G e has more components than G. A block of a graph is a node induced
subgraph (W,F) such that either F = {/} and / is a bridge, or (IV,F) is
2-connected and maximal with respect to this property.
A walk is called closed if it has nonzero length and its origin and terminus
are identical. A closed walk (diwalk) in which the origin and all internal nodes
are different and all edges (arcs) are different is called a circuit (dicycle or directed
cycle). A circuit (dicycle) of odd (even) length is called odd (even). A circuit of
length three (five) is called a triangle (pentagon).
A walk (diwalk) that traverses every edge (arc) of a graph (digraph) exactly
once is called an Eulerian trail (Eulerian ditrail). We refer to a closed Eulerian
trail (ditrail) as an Eulerian tour. An Eulerian graph (Eulerian digraph) is a graph
(digraph) containing an Eulerian tour.
A circuit of length n in a graph of order n is called a Hamiltonian circuit. A
graph G that contains a Hamiltonian circuit is called Hamiltonian. Similarly, a
digraph D is called Hamiltonian if it contains a Hamiltonian dicycle. Hamiltonian
circuits or dicycles are often called (Hamiltonian) tours.
We shall also use the words "path, circuit, dipath, dicycle, Eulerian tour" to
denote the edge or arc set of a path, circuit, dipath, dicycle, Eulerian tour. Thus,
whenever we speak of the incidence vector of a circuit etc., we mean the incidence
vector of the edge (arc) set of the circuit etc.
A forest is an edge set in a graph which does not contain a circuit. A
connected forest is called a tree. A spanning tree of a graph is a tree containing
all nodes of the graph. A digraph or arc set which does not contain a dicycle is
called acyclic.
A branching B is an arc set in a digraph D that is a forest such that every
node of D is the head of at most one arc of B. A branching that is a tree is called
an arborescence. A branching that is a spanning tree of D is called a spanning
arborescence of D. Clearly, in a spanning arborescence B of D every node of D
is the head of one arc of B except for one node. This node is called the root of
B. If r is the root of arborescence B we also say that B is rooted at r or r-rooted.
Chapter 1
Complexity, Oracles, and Numerical Computation
This chapter is still of a preliminary nature. It contains some basic notions of
complexity theory and outlines some well-known algorithms. In addition, less
standard concepts and results are described. Among others, we treat oracle
algorithms, encoding lengths, and approximation and computation of numbers,
and we analyse the running time of Gaussian elimination and related procedures.
The notions introduced in this chapter constitute the framework in which algo-
rithms are designed and analysed in this book. We intend to stay on a more
or less informal level; nevertheless, all notions introduced here can be made
completely precise - see for instance AHO, HOPCROFT and ULLMAN (1974), GAREY
and J OHNSON (1979).
1.1 Complexity Theory: P and NP
Problems
In mathematics (and elsewhere) the word "problem" is used with different mean-
ings. For our purposes, a problem will be a general question to be answered
which can have several parameters (or variables), whose values are left open. A
problem is defined by giving a description of all its parameters and specifying
what properties an (optimal) solution is required to satisfy. If all the parameters
are set to certain values, we speak of an instance of the problem.
For example, the open parameters of the linear programming problem
(0.1.46) are the mxn-matrix A, and the vectors c e R\ b e R
w
. If a partic-
ular matrix A, and particular vectors c, b are given, we have an instance of the
linear programming problem. A solution of an instance of (0.1.46) is one of the
following: the statement that P ={x | Ax < b} is empty, the statement that c
T
x
is unbounded over P, or a vector x* e P maximizing c
T
x over P.
Two problems of a different sort are the following. Suppose a graph G =
(V,E) is given, and we ask whether G contains a circuit, or whether G contains
a Hamiltonian circuit. The first problem is called the circuit problem, the second
one the Hamiltonian circuit problem. In both cases the open parameter is the
graph G, and the answer is not a vector or a statement as in the LP-problem,
but just a "yes" or "no" decision.
These two problems have natural optimization versions. Namely, suppose in
addition to the graph G = (V,E) a. "length" or "weight" c
e
e Z
+
is given for
every edge e e E. The problem of finding a circuit such that the sum of the
lengths of the edges of the circuit is as small as possible is called the shortest
circuit problem. The problem of finding a Hamiltonian circuit of minimum total
length is called the (symmetric) traveling salesman problem (on G).
To give a formal definition of "problem", we assume that we have an encoding
scheme which represents each instance of the problem as well as each solution
as a string of O's and l's. So mathematically, a problem is nothing else than a
subset n of {0,1}* x{0,1}*, where {0,1}* denotes the set of all finite strings of
O's and l's. Each string G e {0,1}* is called an instance or input of n while a
T e {0,1}* with (<r, t) e n is called a corresponding solution or output of IT. We
shall assume that, for each instance ae{0,l }*, there exists at least one solution
T e {0,1}* such that (O-,T) e EL (Informally, this only means that if, in its natural
setting, an instance of a problem has no solution we declare "no solution" as the
solution.)
Algorithms and Turing Machines
In many books or papers it suffices to define an algorithm as anything called
an algorithm by the authors. In our case, however, algorithms using oracles will
play a major role. Since this notion is less standard, we have to go into some
details.
Informally, an algorithm is a program to solve a problem. It can have the
shape of a sequence of instructions or of a computer program. Mathematically,
an algorithm often is identified with some computer model. We want to describe
one such model, the (Mape) Turing machine. For the reader not familiar with
Turing machines it helps to imagine a real-world computer.
The machine consists of a central unit, t tapes, and t heads, where t is some
positive integer. Each head is able to read from and write on its tape. The central
unit can be in a finite number of states. A tape is a 2-way infinite string of
squares (or cells), and each square is either blank or has "0" or "1" written on
it. At a particular moment, each head is reading a particular square of its own
tape. Depending on what the heads read and on the state of the central unit,
each head overwrites or erases the symbol it has read, possibly moves one square
to the left or right, and the central unit possibly goes into another state.
At the beginning of the computation, the first tape contains the input string
and the first head is reading the first symbol on the tape. The other tapes are
blank and the central unit is in a special state B called "beginning state". The
computation ends when the central unit reaches another special state E called the
"end state". At this moment, the first tape contains the result of the computation
(blanks are ignored). So a Turing machine can be described formally as a 6-tuple
r =(*,,,<D,,E) where:
(i) X is a Unite set o/* states;
(ii) B
9
E are special elements ofX
f
B is the beginning state and E the end state;
(iii) O : X x {0,1, *}' X is the function describing the new state of the central
unit;
(iv) *F : Xx{0,l,*Y -> {0,1,*}' is the function determining the new symbols
written on the tapes;
(v) S : Xx{0,1,*}' ->{0,1,-1 Y is the function determining the movement of
the heads.
(Here "*" stands for blank.) Now an algorithm can be considered as nothing
else than a Turing machine T. It solves problem I I c {0,1}* x{0,1}* if, for each
string G e {0,1}*, when we give strings G\ :=G,G
2
=0, >t :=0 to T with
beginning state B, then, after a finite number of moves of the read-write heads,
it stops in state , while "on tape 1" we have a string G\ = z which is a solution
of the problem, i. e., (<T,T) G I I .
There are other computer models that can be used to define an algorithm
(like the RAM (= random access machine) or the RASP (= random access
stored program machine)), but for our purposes - deciding the polynomial-time
solvability of problems - most of them are equivalent.
Encoding
It is obvious that, for almost any imaginable problem, the running time of an
algorithm to solve a problem instance depends on the "size" of the instance. The
concept of "size" can be formalized by considering an encoding scheme that maps
problem instances into strings of symbols describing them. The encoding length
or input size (or just length or size) of a problem instance is defined to be the
length of this string of symbols.
Different encoding schemes may give rise to different encoding lengths. For
our purposes, most of the standard encoding schemes are equivalent, and for the
generality of our results it is not necessary to specify which encoding scheme is
used. However, when using encoding lengths in calculations we have to fix one
scheme. In these cases we will use the usual binary encoding - details will be
given in Sections 1.3 and 2.1.
We would like to point out here that the publication of the ellipsoid method
put into focus various controversies about which parameters should be counted
in the encoding length. In particular, for an instance of a linear programming
problem given by a matrix A e Q
mxn
and vectors b e Q
m
, c e Q", the question is
whether the number n m (of variables times constraints) should be considered
as the size of the instance, or whether, in addition, the space needed to encode
A, b and c should be counted. Both points of view have their merit. They lead,
however, to different notions of complexity.
Time and Space Complexity
Given an encoding scheme and an algorithmic model, thetime complexity function
or running time function / : N ->N of an algorithm expresses the maximum time
f(n) needed to solve any problem instance of encoding length at most n E N.
In the Turing machine model "time" means the number of steps in which the
machine reaches the end state E from the beginning state B, for a certain input
string G.
24 Chapter 1. Complexity, Oracles, and Numerical Computation
Similarly, the space complexity function g : N ->N of an algorithm expresses
the maximum space g(n) needed to solve any problem instance of encoding length
at most n e N. In the t-tape Turing machine model "space" means the maximum
length of strings occuring throughout executing the steps on tape i, summed over
i =1 to t.
A polynomial time (space) algorithm is an algorithm whose time (space)
complexity function f(n) satisfies f(n) < p(n) for all n e N, for some poly-
nomial p.
The main purpose of this book is to derive - with geometric methods -
that many interesting problems can be solved by means of a polynomial time
algorithm. There are, however, many problems for which such algorithms are
not known to exist, and which appear to be much harder.
Decision Problems: The Classes P and NP
In order to distinguish between "hard" and "easy" problems it is convenient to
restrict the notion of problem, and to analyse decision problems only. Decision
Problems are problems having merely two possible solutions, either "yes" or
"no". Decision problems are for instance the circuit problem and the Hamiltonian
circuit problem. The class of all those decision problems for which a polynomial
time algorithm exists is called the class &.
More exactly, a decision problem is a problemn such that for each a e {0,1}*,
exactly one of (<r,0), (ex, 1) belongs to n, and if (<T,T) e II then z e {0,1}. (0
stands for "no", and 1 for "yes".) The class P consists of all decision problems
that can be solved by a polynomial time algorithm.
An example of a problem in P is the circuit problem, since the existence of a
circuit in a graph G ={V ,E) can be checked in 0(\E\) time by depth-first search.
Recall that a function f(n) is 0(g(n)), in words "/ is of order g", if there is a
constant c such that \f(n)\ < c\g(n)\ for all integers n > 0.
It is by no means the case that all combinatorial problems one encounters
are known to be solvable in polynomial time. For example, no polynomial time
algorithm is known for the Hamiltonian circuit problem. In fact, it is generally
believed that no polynomial time algorithm exists for this problem. Similarly,
many other combinatorial problems are expected not to be solvable in polynomial
time. Most of these problems have been proved to be equivalent in the sense
that if one of them is solvable in polynomial time then the others are as well. In
order to sketch the theory behind this, we first describe a class of problems, most
probably wider than P, that contains many of the combinatorial problems one
encounters.
Informally, this class of problems, denoted by NP, can be defined as the class
of decision problems n with the following property:
If the answer to an instance ofll is in the affirmative, then this fact has a proof
of polynomial length.
Note that this definition does not require any method for finding the short proof.
For example, if a graph is Hamiltonian then somebody may find a Hamiltonian
circuit (by pure luck, intuition, or supernatural power) and mark it with a red
pencil. This yields a proof that the graph is Hamiltonian, and even if we write out
all steps of this proof right from the axioms of set theory, its length is polynomial
in the size of the graph.
The definition of class NP is nonsymmetric in "yes" and "no" answers. In
order to get the point, and thus to see that the definition of NP is not pointless,
the reader is invited to try to see whether for a non-Hamiltonian graph the
nonexistence of a Hamiltonian circuit has a proof of polynomial length.
The example above motivates the following formal definition. NP consists
of all decision problems n for which there exists a decision problem E in P and
a polynomial <D such that for each a e {0,1}*,
(<7,l )en<=>3T e{0,l }* such that (((J ,T), 1) e Z and
encoding length (T) <^(encoding length (<?)).
The string x is called a succinct certificate for o.
A third equivalent way to define the class NP is via nondeterministic polyno-
mial time algorithms; in fact, this is the definition from which the notation NP is
derived. Roughly speaking, these are algorithms in which "guesses" are allowed,
provided the correctness of the guess is verified; e. g., we "guess" a Hamiltonian
circuit and then verify in polynomial time that the guess was correct. We shall
not, however, go into the details of this definition; the reader may find them in
the literature cited above.
It is clear that P c NP. It also appears natural that P NP, since
nondeterministic algorithms seem to be more powerful than deterministic ones.
However, despite enormous research efforts the problem whether or not P = NP
is still one of the major open problems in mathematics.
The problem obtained by negating the question of a decision problem n is
called the problemcomplementary to FL That is, the complementary problem to I I
is {(a, 1 T) I (<T,T) e n}. The class of decision problems that are complementary
to problems in a class C of decision problems is denoted by co-C. For example,
the class complementary to NP is the class co-NP which, e. g., contains as a
member the problem "Does a given graph G contain no Hamiltonian circuit?".
Trivially P = co-P, hence P c NP f] co-NP. The class NP (1 co-NP>
is of particular importance, since for every problem in this class any answer
(positive or negative) to an instance has a proof of polynomial length. Following
J . Edmonds these problems are called well-characterized. Many deep and well-
known theorems in combinatorics (Kuratowski's, Menger's, Konig's, Tutte's) in
fact prove that certain problems are in NP D co-NP.
Another outstanding question is whether P equals NP f) co-NP, i. e., can
every well-characterized problem be solved in polynomial time. The Farkas
lemma (0.1.41) actually yields that the question: "Given a system of linear
equations, does it have a nonnegative solution?" is well-characterized. But no
polynomial algorithm for this problem was known until 1979, when Khachiyan
published his solution using the ellipsoid method. Much of the interest in the
ellipsoid method derives from this fact. Several applications of the ellipsoid
method treated in this book can be viewed as methods to make use of good
characterizations in the design of algorithms.
26 Chapter 1. Complexity, Oracles, and Numerical Computation
It is also unknown whether NP equals co-NP. Note that NP ^ co-NP
would imply P ^ NP.
1.2 Oracles
Informally, we imagine an oracle as a device that solves certain problems for us,
i. e., that, for any instance a, supplies a solution T . We make no assumption on
how a solution is found.
An oracle algorithm is an algorithm which can "ask questions" from an
oracle, and can use the answers supplied. So an oracle algorithm is an algorithm
in the usual sense, whose power is enlarged by allowing as further elementary
operations the following: if some string a e {0,1}* has been produced by the
algorithm, it may "call the oracle I I ," with input c, and obtain a string T such
that (<X,T) e II,. A realization of an oracle n is an algorithm solving (problem) n.
Mathematically, when working in the Turing machine model, this means that
we have to enlarge the concept of Turing machine slightly to that of a (Mape)
/c-oracle Turing machine. (The reader not familiar with these concepts may view
an oracle Turing machine as a (real-world) computer which can employ satelite
computers, or as a computer program having access to subroutines.)
Let ( X , J B, , 0, * P, S) be a Turing machine with t tapes; the last k of these
are called oracle tapes. On the oracle tapes special "oracles" for problems
ITi, ..., Il/t are sitting. The set X of states contains a special subset {xi, ..., x/J .
If the central unit is in state x i e {1, ..., k}
9
then nothing happens to the
heads and tapes except that the string a on the j-th oracle tape is erased and
(miraculously) replaced by some other string T such that (<r, T) e n,; the string T
starts at the position currently read by the corresponding head.
Note that the (k +l)-tuple (T;Uu ..., TIk) entirely describes the machine.
We say that such an oracle Turing machine solves problemn c {0, l}*x{0,1}*
if for each a e {0,1}*, when we give strings G
X
:=cr, oi :=0, ..., o
t
:=0 to it
with beginning state B
9
then, whatever answers p are given by the oracle when
we are in one of the states xi, ..., Xfc, it stops after a finite number of steps in
state E with o\ =T such that (<T,T) G n.
The Running Time of Oracle Algorithms
The introduction of a running time function for oracle algorithms requires some
care. For our purposes, it is convenient to make one general assumption about
oracles:
(1.2.1) General Assumption. We assume that with every oracle we have a
polynomial O such that for every question of encoding length at most n the
answer of the oracle has encoding length at most <(n).
This assumption is natural for our purposes, since if an algorithm uses
an oracle which produces an exponentially long output, then it would take
exponential time just to read the output.
Mathematically, this general assumption means that an oracle is a pair (IT, $),
where U c (0,1}* x{0,1}* and Q> is a polynomial such that for each <r e {0,1}*
of encoding length n, say, there is a T e {0,1}* of encoding length at most O(n)
with (<T,T) e II.
We define the number of steps performed by an oracle Turing machine as the
number of interations needed to transform the machine from the beginning state
B to the end state , where a call on an oracle as described above counts as one
step. (Reading the answer of an oracle may require more than one step.)
Let POL define the collections of polynomials p : N ->N. Thus we define
the time complexity function or running time function / : (Nx(POL)*) N of
a /c-oracle Turing machine (7, 111, ..., 11*) by: f(n;Oi, ..., O*) is the maximum
number of steps performed by the Turing machine when giving any input of
encoding length at most n to the machine (7\I li D <t>i, ...,11*0 O*), where
O,- :={(CT,T) G {0, 1}*X{0, 1}* | encoding length (T) <^(encoding length (<r))}.
Here the maximum ranges over all possible inputs of encoding length at most n,
and over all possible answers given by the oracles (IIi,<I>i), ..., (II*, O*), while
executing the algorithm.
It follows from the General Assumption (1.2.1) by a compactness argument
that there are only a finite number of possible runs of the algorithm for any
given input. Hence the "maximum" in the definition of / is finite.
An oracle algorithm is called oracle-polynomial, or just polynomial if, for
each fixed d>i, ...,<D
fc
e POL, the function f(n,Q>\, ...,<!>*) is bounded by a
polynomial in n.
So if we substitute each problem II, in a polynomial time oracle Turing ma-
chine T by a polynomial time algorithm, we obtain a polynomial time algorithm
for the problem solved by T.
Transformation and Reduction
Suppose we have two decision problems II and I I ' and a fixed encoding scheme.
A polynomial transformation is an algorithm which, given an encoded instance
of II, produces in polynomial time an encoded instance of IT such that the
following holds: For every instance a of II, the answer to a is "yes" if and only
if the answer to the transformation of o (as an instance of II') is "yes". Clearly,
if there is a polynomial algorithm to solve IT then by polynomially transforming
any instance of II to an instance of I I ' there is also a polynomial algorithm to
solve II.
Optimization problems are of course not decision problems. But we can
associate decision problems with them in a natural way. Assume a maximization
(or minimization) problem, e. g., a linear program, is given. Then we introduce
an additional input Q e Q and ask "Is there a feasible solution (e. g., to the
LP) whose value is at least (or at most) QT. Supposing there is a polynomial
algorithm to solve the optimization problem, we can solve the associated decision
problem in the following way. We first compute the optimal solution and its
value, then we compare the optimal value with the bound Q and hence are able
to solve the decision problem in polynomial time.
Conversely, one can often use a polynomial time algorithm for the associated
decision problem to solve a given optimization problem in polynomial time. For
example, consider the traveling salesman (optimization) problem and its decision
version. Let 5 and t be the smallest and largest numbers occuring as edge lengths,
respectively. Since every tour contains exactly n =\V\ edges, the shortest tour
cannot be shorter than ns and cannot be longer than nt. Suppose now there is a
polynomial time algorithm for the traveling salesman decision problem, then we
can ask whether there is a tour of length at most n(t s)/2. If this is the case we
ask whether there is a tour of length at most n(t s)/4; if not we ask whether
there is a tour of length at most 3n(t s)/4, and continue by successively halving
the remaining interval of uncertainty. Since the optimum value is integral, the
decision problem has to be solved at most [log
2
(n(t s))] +1 times. Hence, if
the traveling salesman decision problem could be solved in polynomial time, the
traveling salesman (optimization) problem could be solved in polynomial time
with this so-called binary search method.
The polynomial transformation and the binary search method described above
are special cases of a general technique. Suppose n and n' are two problems.
Informally, a polynomial time Turing reduction (or just Turing reduction) from n
to IT is an algorithmA which solves n by using a hypothetical subroutine A'
for solving Tl
f
such that, if A' were a polynomial time algorithm for IT, then A
would be a polynomial time algorithm for II.
More precisely, a polynomial time Turing reduction from n to H
f
is a poly-
nomial 1-oracle Turing machine (T;Yi
r
) solving n. If such a reduction exists, we
say that II can be Turing reduced to IT.
Now we can state some more notions relating the complexity of one problem
to that of others.
NP-Completeness and Related Notions
COOK (1971) and KARP (1972) introduced a class of decision problems which
are in a well-defined sense the hardest problems in NP. We call a decision
problem n NP-complete if II e NP and if every other problem in NP can
be polynomially transformed to n. Thus, every NP-complete problem II has
the following property: If II can be solved in polynomial time then all NP-
problems can be solved in polynomial time, i. e., if II is NP-complete and if
He P then P = NP. This justifies saying that NP-complete problems are the
hardest NP-problems. The Hamiltonian circuit problem, for instance, is known
to be NP-complete, and in fact, many of the natural problems coming up in
practice are NP-complete - see GAREY and JOHNSON (1979) and the ongoing
"^^-Completeness Column" of D. S. J ohnson in the J ournal of Algorithms for
extensive lists of NP-complete problems.
The main significance of the notion of NP-completeness is that it lends a
mathematically exact meaning to the assertion that a certain problem is "hard".
But the fact that NP-complete problems exist also suggests a way to standardize
problems in NP: we may consider every problem in NP as a special case of,
say, the Hamiltonian circuit problem. The usefulness of such a standardization
depends on whether or not the natural special features of various problems in
NP are translated into manageable properties by the reductions. So far, the
most succesful NP-complete problem used for such standardization has been the
integer programming problem. Various combinatorial problems (e. g., matching,
stable set, matroid intersection, etc.), when reduced to integer programming
problems, give rise to polyhedra having good properties from the point of view
of integer programming. Polyhedral combinatorics is the branch of combinatorics
dealing with such questions; this will be our main approach to combinatorial
optimization problems in the second half of the book.
A problem n is called NP-easy ("not more difficult than some problem in
NP'') if there is a problem IT e NP such that n can be Turing reduced to
IT. A problem IT is called NP-hard ("at least as difficult as any problem in
NP") if there is an NP-complete decision problem IT such that IT can be
Turing reduced to FT The discussion above shows, for instance, that the traveling
salesman problem is NP-easy, and also, that optimization problems are NP-
hard if their associated decision problems are NP-complete. In particular, the
traveling salesman problem is NP-hard.
An optimization problem that is both NP-hard and NP-easy is called NP-
equivalent. By definition, if P =/= NP then no NP-hard problem can be solved
in polynomial time, and if P = NP then every NP-easy problem can be solved
in polynomial time. Therefore, any NP-equivalent problem can be solved in
polynomial time if and only if P = NP.
Since we do not want to elaborate on the subtle differences between the
various problem classes related to the class NP we shall use the following
quite customary convention. In addition to all decision problems that are
NP-complete, we call every optimization problem NP-complete for which the
associated decision problem is NP-complete.
To close this section we would like to remark that Turing reductions will be
the most frequent tools of our complexity analysis. We shall often show that a
polynomial algorithmA for one problem implies the existence of a polynomial
time algorithm for another problem by using A as an oracle.
1.3 Approximation and Computation of Numbers
The introduction to complexity theory in the foregoing two sections has made
some informal assumptions which we would like to discuss now in more detail.
One important assumption is that all instances of a problem can be encoded in
a finite string of, say, 0's and l's.
Encoding Length of Numbers
For integers, the most usual encoding is the binary representation, and we will
use this encoding, unless we specify differently. To encode an integer n = 0, we
need one cell (or bit) for the sign and |"log
2
(M +1)1
cel l s f or the
{>l}-string of
the binary representation of its absolute value. For 0, only one cell is needed.
30 Chapter 1. Complexity, Oracles, and Numerical Computation
Hence, the space needed to encode an integer is
(1.3.1) <n):=l +riog
2
(M +l)l, neZ,
and we call (n) theencoding length (or theinput size or just size) of n. If we
say that an algorithm computes an integer, we mean that its output is the binary
encoding of this integer.
Every rational number r can be written uniquely as p/q with q > 0 and p
and q coprime integers; so the space needed to encode r is
(1.3.2) <r>:=(p) +(q),
and we call this theencoding length of r. Similarly, if x is a rational vector or
matrix then theencoding length (x) is defined as the sum of the encoding lengths
of its entries. If a
T
x < b is an inequality with aeQ" and 5eQ then we say
that (a) +(b) is theencoding length of the inequality; and theencoding length
of an inequality system is the sum of the encoding lengths of its inequalities. To
shorten notation, for any sequence audi, ..., a
n
of matrices and vectors, we will
write (ai, ..., a
n
) to denote the sum of the encoding lengths of a\
9
..., a
n
. In
particular, we write (A,b
9
c) to denote theencoding length of the linear program
max{c
r
x | Ax < b}.
There are some useful relations between encoding lengths and other functions
of vectors and matrices.
(1.3.3) Lemma.
(a) For every rational number r, \r\ < 2^
_ 1
1.
(b) For every vector xeQ", ||x|| < ||x||i <2
{x)
~
n
- 1.
(c) For every matrix D e Q
wxw
, | detD\ < 2<
D
>-"
2
- 1.
Proof, (a) follows directly from the definition. To prove (b), let x =
(x
u
..., *n)
T
. By (0.1.6) ||x|| <\\x\\
{
. Then by (a)
n n n
I+nxii,=i+ N < \j(
i
+N) ^n
2 < X , M
=
2 < x >
"
1=1 1=1 1=1
To prove (c), let du .-.,d
n
be the rows of D. Then by Hadamard's inequality
(0.1.28) and (b):
n n n
I+idctDi ^ i +1"] H4 H < nc
1
+n*n) ^ n
2 W
"=
2 < D> _
"
2
-
i =l i =l 1=1
a
1.3 Approximation and Computation of Numbers 31
(1.3.4) Lemma.
(a) Forr
9
se<, (rs) < <r) +<s).
(b) For every matrix D e Q
MXn
, <detD) < 2 (D) - n
2
,
and ifD e Z
nxn
then <detD) < (D) - n
2
+1.
Proof, (a) is trivial. The second statement of (b) follows immediately from (1.3.3)
(c). To prove the first statement of (b), let D =(Pij/qij)ij=\,...,
n
be such that p
tj
and qij > 1 are comprime integers for ij 1,..., n. The same argument as in
the proof of Lemma (1.3.3) shows that
|detD|<2^=i
W
""
2
- l .
Let Q = Y[l
j=i
q
tj
. Then detD =(Q detD)/g, where Q detD and Q are integers.
Hence
<detD)<<edetD) +<e)
=l +riog
2
(|edetD| +l)l + <Q>
<1 +Tlog
2
(l +Q{2^-^
)
'
nl
- 1))1 + (Q)
i + nog
2
G+<p
f;
>-n
2
i + <e>
<2(D) - n
2
.
D
(1.3.5) Exercise.
(a) Prove that for any z\, ...,zeZ:
<*! +...+Z > < <*!> + . . . + <Z>.
(b) Prove that for any r
u
..., r
n
e Q:
<r,+... +r> < 2r
1
) +... +<r.
(c) Show that the coefficient 2 in Lemma (1.3.4) (b) and in (b) above cannot be
repfaced by any smafler constant.
(d) Prove that if A e Q
nx
" is nonsingular then
(A-
l
)<4n
2
(A).
(e) Prove that if A e <Qf"*
n
, B e Q"
xp
then
(AB)<p(A) + m(B).

Polynomial and Strongly Polynomial Computations
We will now discuss our model of computing with numbers in more detail. We
assume that every integral or rational number is represented in binary notation
in the way described above. Then, in the Turing machine model, an arithmetic
operation like addition of two integers takes a number of steps (moves of the
read-write head) which is bounded by a polynomial in the encoding lengths of
the two integers. Unless we state a different model we mean this model of
computation throughout the book.
It is often more natural and realistic (cf. real-life computers) to consider the
elementary arithmetic operations:
addition, subtraction, multiplication, division, comparison,
rather than the number of moves of a head of some fictitious Turing machine, as
one step. If we count elementary arithmetic operations, we say that we analyse
an algorithm in the arithmetic model. For instance, computing the product of
two nxn-matrices in the standard way takes 0(w
3
) steps in the arithmetic model,
while in the Turing machine model its running time depends on the encoding
lengths of the entries of the matrix. In the arithmetic model, the encoding
length of an instance of a problem is the number of numbers occuring in the
input (so we do not count the encoding length of the input numbers). If the
input has some nonnumerical part (e. g., a graph or a name) we assume that it is
encoded as a {0, l}-sequence. Each entry of this sequence is considered a number.
Correspondingly, we consider nonnumeric steps in the algorithm (like setting or
removing a label, deleting an edge from a graph) as arithmetic operations.
The running time of an algorithm may be bounded by a polynomial in the
Turing machine model but not in the arithmetic model, and vice versa. For
instance, the well-known Euclidean algorithm to compute the greatest common
divisor of two integers runs in polynomial time in the Turing machine model
but not in the arithmetic model. On the other hand, the algorithm that reads n
numbers and computes 2
2
" by repeated squaring is polynomial in the arithmetic
model but not in the Turing model since the number of digits of the result is
exponentially large.
It is easy to see that the elementary arithmetic operations listed above can
be executed on a Turing machine in polynomial time. Using this we can further
develop the idea of counting arithmetic operations (instead of moves of a read-
write head) if we supplement it by verifying that the number of digits of the
numbers occuring during the run of the algorithm is bounded by a polynomial
in the encoding length. Then, of course, a polynomial number of arithmetic
operations can be executed in polynomial time on a Turing machine.
We say that an algorithm runs in strongly polynomial time if the algorithm is
a polynomial space algorithm and performs a number of elementary arithmetic
operations (addition, subtraction, multiplication, division, comparison) which
is bounded by a polynomial in the number of input numbers. So a strongly
polynomial algorithm is a polynomial space algorithm (in our standard Turing
machine model) and a polynomial time algorithm in the arithmetic model. The
notion of strong polynomiality involves some subtleties which we will discuss in
more detail now.
Since the definition of strong polynomiality mixes the arithmetic and the
Turing model in some sense we have to make precise how numbers and the
results of arithmetic operations are encoded. Let us begin with integers. Integers
are encoded in the usual binary notation. Adding, subtracting, multiplying and
comparing two integers does not cause any problems. However, we have to
specify what dividing two integers means. There are at least four alternatives to
define the result of the division "a : 6" for a, b e Z, b ^ 0:
- the rational number a/b,
- the rational number a/b, and if it is known in advance that a/b is an integer,
the integer a/b,
- the rational number a/b, and if a/b is an integer, the integer a/b (so this
operation involves a routine testing whether b divides a),
- the integer [a/b\ (this is equivalent to division with remainder).
We reduce the arithmetic for rational numbers to that for integers by setting
a c ad + bc a c ad be
b*d''
=
bd ' b~d
:==
bd '
a c ac a c ad
b'~d^Vd'b''~d'
=
Yc'
It is important to note that in this model of computation we do not assume that
a rational number is represented in coprime form. The reason is that a rational
number, for instance coming up as a result of a computation as above, may not
be in its coprime form. To bring it into coprime form is a polynomial but not a
strongly polynomial procedure.
The four versions of division of integers mentioned above lead to increasingly
more powerful models of computation. However, it has to be pointed out that a
strongly polynomial algorithm - using any of these kinds of division - is always
a polynomial time algorithm in the Turing machine model.
We regard the first version of division as too weak. Namely, consider the
following example. Given a eTL, a =fi 0, square a/a repeatedly to obtain a
2
"/a
2
".
Even though the result is just 1, the first version of division does not allow us
to get rid of many factors of a. Throughout the book we will adopt the second
notion of division. It will allow us to turn most of the polynomial time algorithms
(in the Turing machine sense) into strongly polynomial ones. However, there are
a few examples where we could obtain a strongly polynomial algorithm only in
the sense of making use of the fourth version of division. On the other hand,
we will describe a number of strongly polynomial algorithms which could be
described in such a way that no multiplication or division is performed at all.
Polynomial Time Approximation of Restf Numbers
Since there is no encoding scheme with which all irrational numbers can be
represented by finite strings of O's and l's it is customary to accept only rational
34 Chapter 1. Complexity, Oracles, and Numerical Computation
numbers as inputs or outputs of algorithms. It will, however, be convenient to
speak about certain irrational numbers as inputs and outputs. This is done by
making use of the fact that irrational numbers can be approximated by rationals.
To make this precise, we have to discuss how errors of approximations can be
measured.
We say that a rational number r approximates the real number p with absolute
error e > 0 if
\p-r\<
holds, and we say that a rational number r approximates p with relative error
>0i f
\p-r\<e\p\.
These two kinds of error measurements are in general not equivalent. In
particular, statements about relative errors are very sensitive with respect to
addition of constants, while statements about absolute errors are sensitive with
respect to multiplication by constants.
Given some input, we shall say that a real number p is polynomially com-
putable with absolute (relative) error from this input if for every rational s > 0 a
rational number r can be computed in time polynomial in the encoding length
of the input and in (e) that approximates p with absolute (relative) error e. An
algorithm accomplishing this will be called a polynomial computation algorithm
with absolute (relative) error.
We now want to show that a polynomial computation algorithm with relative
error can be used to obtain a polynomial computation algorithm with absolute
error. Suppose we have a polynomial computation algorithmA which guarantees
a relative error and we want to find a polynomial computation algorithm B
which guarantees an absolute error. Assume e > 0 is the absolute error we want
to achieve. Then we call B with relative error S\ :=1/2 and obtain a rational
number n satisfying \p r\\ < \\p\, and hence \p\ < 2\r\\. If r\ =0, then p =0
and we are finished. Since B is a polynomial computation algorithm, (r\) is
bounded by a polynomial of the original encoding length. Now we run B again
with relative error 62 :=fi/(2|ri|) which yields a rational number r
2
satisfying
\p r
2
\ < |p|/(2|ri|) < and obtain the desired polynomial computation with
absolute error e.
The reverse implication is not true in general: small numbers cause problems.
If we assume, however, that p is nonzero and that a positive lower bound on \p\
can be computed in polynomial time, say 0 <b < |p|, then the existence of a
polynomial computation algorithmA with absolute error implies the existence of
a polynomial computation algorithmB with relative error as follows. We simply
call A with absolute error 5 :=eb and obtain a rational number r satisfying
\p-r\<sb<s\p\.
From now on we call a real number p polynomially computable from a given
input if it is polynomially computable with relative error. This is equivalent to the
existence of a polynomial computation algorithm with absolute error, together
with a polynomial auxiliary algorithm that determines whether or not p =0
and if not, computes a positive lower bound for |p|. In fact, it suffices to have
a polynomial auxiliary algorithm that computes a positive rational b such that
either p =0 or \p\ > b. Then whether or not p =0 can be decided by running
the computation algorithm with absolute error b/3.
If the number p to be computed is known to be an integer, then the existence
of a polynomial computation algorithm with absolute error (and hence with
relative error) means that p can be computed exactly in polynomial time. We
only have to run the algorithm with absolute error 1/3 and round the result to
the nearest integer.
More generally, if p is a rational number polynomially computable from
a given input and an upper bound for its denominator can be polynomially
computed, then p can be computed exactly in polynomial time. This can be done
in a manner similar to that above, but for the final rounding one must use the
technique of continued fractions - see Section 5.1.
Sometimes an approximation algorithm with relative error a can be obtained
whose running time is bounded by a polynomial in 1/e (but not necessarily in
(g)) and the encoding length of the original input. Such an algorithm is called a
fully polynomial approximation algorithm (or scheme). An even weaker notion is
an algorithm that is polynomial in the original encoding length for every fixed
s > 0. Such an algorithm is called a polynomial approximation algorithm (or
scheme).
An integer (depending on some input) for which a fully polynomial approx-
imation algorithm exists is not necessarily computable in polynomial time (at
least if ^ ^JV&>). In fact, a fully polynomial approximation algorithm exists
for the ^T^-complete knapsack problem (IBARRA and KIM (1975)). We remark
that the well-known Agmon-Motzkin-Schonberg relaxation method yields a fully
polynomial approximation algorithm, but not a polynomial algorithm, for the
optimum value of a linear program.
If p is a real number for which upper and lower bounds are polynomially
computable, and if we have a polynomial time algorithm to decide whether or
not a rational number r is smaller than p, then binary search can be used to
obtain a polynomial computation algorithm with absolute error for p. (The
simple-minded way of finding an approximation of p with absolute error s by
searching the given interval in steps of length e would yield just a fully polynomial
approximation algorithm.)
As an illustration we mention that to approximate the irrational number
00 j
C(3) =]T -j (= 1.2020569031...)
by the partial sums is a fully polynomial approximation algorithm (the absolute
error of the sum of the first k terms is about l/(2/c
2
)). However, if we use the
expansion
_ 5 " (_i)*-i
C(3) =
2 ^ '
due to R. Apery - see VAN DER POORTEN (1979) - then we get a polynomial
computation algorithm. The difference between these two notions is illuminated
by the fact that, to obtain the above 10 digits behind the point, about 100,000
36 Chapter 1. Complexity, Oracles, and Numerical Computation
terms of the first expansion have to be added up, while only 14 terms of the
second suffice.
1.4 Pivoting and Related Procedures
We shall now describe four fundamental matrix manipulation algorithms in linear
algebra, linear programming, and number theory, and we shall prove that three
of them have polynomial running time. The running time analyses of these
algorithms will show some of the basic techniques used in the sequel.
Gaussian Elimination
Perhaps the most frequently used algorithm in linear algebra is the Gaussian
elimination method. This algorithm is mainly employed for solving linear equa-
tions but it can also be viewed as a method that transforms a matrix into some
"canonical" form. It consists of a successive application of an iteratively applied
forward step and an iteratively applied backward step. Let us describe it as a
matrix manipulation algorithm.
Suppose an mxn-matrix A is given. We would like to transform A into an
mxn-matrix of the following form
a)
where A is a diagonal r x r-matrix and r is the rank of A, using the following
operations only:
(1.4.2) (i) adding a multiple of one row to another row,
(ii) permuting rows or columns.
The Gaussian elimination method works as follows. For any given mxn-matrix
A, we first find matrices AQ,A\, ..., A
r
where each of the matrices Ak, 0 <k < r,
has the form
(1.4.3) A
k
=(
B
Q
C
D
)
and where B is a nonsingular upper triangular /cx/c-matrix. We start with A$ :=A
(so B is an empty matrix). The matrix A^+i is determined fromAk in the following
way :
(1.4.4) Forward Step. Given a matrix Ak of form (1.4.3), choose a nonzero
element ofD, called the pivot element, and permute the rows and columns of Ak
so that this pivot element is &\\. Now add multiples of the first row ofD to the
1.4 Pivoting and Related Procedures 37
other rows ofD in such a way that d\\ becomes the only nonzero element in the
first column ofD. So
dtj :=dij -j-d\j for i =1, ...,m /c; y =1, ...,n k.
The resulting matrix is called Ak+\.
The Forward Step (1.4.4) is applied until D contains no nonzero element. So
the last matrix, say A
r
, in this sequence has the formA
r
=f J, with B an
upper triangular rxr-matrix. It is obvious that r is the rank of A.
Now we go backwards. Starting with E
r
:=A
r
, matrices
r
,
r
_i, ...,
0
are
determined which have the form
(1.4.5)
such that B is a nonsingular upper triangular /cx/c-matrix and A is a diagonal
(r k)x(r /c)-matrix. Given the matrix Ek, the matrix E
k
-\ is determined with
the following procedure.
(1.4.6) Backward Step. Add multiples of the h-th row of Ek to the other rows
ofEk so that bkk will be the only nonzero entry in the h-th column of E
k
. The
matrix obtained in this way is called E/c-i- D
After r applications of the Backward Step (1.4.6) we obtain the matrix 0
which - by construction - is of form (1.4.1).
It is obvious from the descriptions of the Forward Step (1.4.4) and the
Backward Step (1.4.6) that the number of elementary arithmetic operations
(additions, subtractions, multiplications, divisions, comparisons) of the method
is bounded by a polynomial in n and m. For instance, if n =m, then (9(n
2
)
divisions and &(n
3
) additions and multiplications have to be performed. To
show polynomiality, one only has to prove that none of the numbers calculated
during the execution of the algorithm becomes too large. This has been done
by EDMONDS (1967b)). In fact, Edmonds showed that Gaussian elimination is
strongly polynomial in the sense described in Section 1.3. To be precise, we have
to specify in which form the rational numbers occuring are stored and which
divisions are carried out as integer divisions (recall the four divisions "a : b
n
mentioned in 1.3).
One version would be to present each rational number in its coprime form and
bringing each update into this form. This procedure is not strongly polynomial,
but polynomial as will follow from the discussion below. Another possibility is to
store each rational number in the form it is computed. This is polynomial in the
arithmetic model but it leads to an exponential growth in the encoding lengths.
To see this, let us assume that the initial matrix A is an integral nxn-matrix. (If
A is not integral, we multiply all entries of A by the product of the denominators
38 Chapter 1. Complexity, Oracles, and Numerical Computation
of all entries.) After the Ac-th step, the entries dy of the (n k) x (n k)-matrix D
in (1.4.3) can be represented in the form
* - i
Ak)
Ji[_
where g
(/c)
is a common denominator for all dy. The update formula in (1.4.4)
yields that we can take
W*+l) _ Ak) Ak) _ Ak) Ak) (*+l) _ Ak) (k)
Ji-lj-l ~ Jij -Ml Ji\ J\j ' 6 J\l&'
These formulas are not good for our purposes. Namely if we start the procedure
with the ttxn-matrix A with 2's on the main diagonal, l's below the main diagonal,
and O's above the main diagonal and we always pivot on the elements of the
main diagonal then, for k = 0,1, ..., n 1, we get
A? = 2
2
,
g
K
Clearly, it takes exponential space to represent these numbers in binary.
To achieve strong polynomiality we use a third way of encoding the rationals
occuring. This is based on an analysis of the update formula. We assume - as
stated before - that A is an integral mxn-matrix. For k = 0,1, ..., m 1, we
write each entry dy of D - see (1.4.3) - in the form
(1A7)
dij
= - L
where q^ = detiJ . We claim that p\9 and q^ are integers, in fact, they
are subdeterminants of A. Let us assume for simplicity that we have pivoted
along the first fc elements of the main diagonal. Setting K := {1, ...,fc},
/ :={1, ..., k,k + i}
9
J :={1, ..., k,k +7}, we see that (A
k
)
KK
= B and that
(Ak)u is an upper triangular matrix with the entry dy of D in the lower right
hand corner. Thus
=
dct((i4
fc
)/j)
ij
tet((A
k
)
KK
) '
Now recall that the determinant of a matrix does not change if a multiple of
one row is added to another. Since Ak arises fromA by adding multiples of the first
k rows of A to the other rows of A, we observe that dct(Au) =dct((Ak)u) and
det(A
KK
) = det((A
k
)
KK
) hold. Therefore pf = det(A
7J
) and q = det(A
KK
),
and hence
=
detQ4/j)
ij
dct(A
KK
) '
By Lemma (1.3.4), the encoding of d
tj
as the ratio of p^ and q^
k)
takes only
polynomial space. Hence the coprime representation of dy takes only polynomial
1.4 Pivoting and Related Procedures 39
space, and therefore the version of the forward step using coprime representations
of all rationals can be executed in polynomial time.
Now we show that, using representation (1.4.7), the updates can be performed
in strongly polynomial time. In fact, an easy computation shows that the update
formulas are the following
(fc+1) Pij Pll Pil Plj
Pi
J
q
(k)
*
c t + 1 )
=p{ ? .
Since we know from the above discussion that p\j
+1)
is an integer, we can obtain
it by an integer division.
To analyse the Backward Step (1.4.6), view E
k
, 0 <k < r, as a matrix of form
(1.4.5). Subdivide the matrix A
r
accordingly, say
(B\ B
2
C
{
A
r
= 0 B
3
C
2
V 0 0 0
Z?i and 3 are upper triangular matrices of order kxk and (r k) x (r k),
respectively. Note that by construction B\ = B, and that the diagonal entries
of #3 are the same as those of A. So - by the previous part of the proof - we
only have to show that the entries of C and D are small. Let us write the r k
executions of the Backward Step (1.4.6) to obtain E
k
from A
r
= E
r
in compact
matrix form. We see that
/ / -B
2
B7
l
E
k
= 0 ABf
\ o 0
and so C =Ci B2B^
X
C\, D = ABJ
1
C2- Since 2, 3, C\ and C
2
are submatrices
of A
r
their encoding lengths are bounded by a polynomial in (A). The same
holds for A as remarked above. Since the entries of the inverse of a matrix are
quotients of subdeterminants of the original matrix, we can conclude that the
encoding length of each entry of B^
1
is bounded by a polynomial in (A) - see
also (1.3.5) (d). Therefore, the encoding lengths of C and D are bounded by
a polynomial in (A). This shows that the backward step can be performed in
polynomial time using coprime representation for all rationals occuring. By a
similar analysis as carried out above for the forward step, one can show that the
backward step can also be executed in strongly polynomial time. Thus we have
Edmonds' theorem:
(1.4.8) Theorem. For any rational mxn-matrix A, the Gaussian elimination me-
thod (using coprime representation of rationals) runs in time polynomial in (A).
There is a representation scheme for rationals so that the Gaussian elimination
method runs in strongly polynomial time.
Bi
B
2
C,\
f
Bl
0 C1-B2B3 Ci
0
B
3
C
2
J =

V 0
A AB
3
-
1
C
2
0 0
40 Chapter 1. Complexity, Oracles, and Numerical Computation
Let us remark that the general results of STRASSEN (1973) for eliminating
division imply that det A can be computed in strongly polynomial time without
any division - see also BERKOWITZ (1984).
The fact that Gaussian elimination runs in polynomial time implies the
polynomial time solvability of a number of basic problems in linear algebra. In
fact, (1.4.8) shows that these problems are also solvable in strongly polynomial
time.
(1.4.9) Corollary. There are strongly polynomial algorithms for the following
problems:
(a) finding a solution of a rational equation system Ax = b,
(b) determining the rank of a rational matrix,
(c) determining the determinant of a rational matrix,
(d) determining the inverse of a nonsingular rational matrix,
(e) testing whether m given rational vectors are linearly independent
Gram-Schmidt Orthogonalization
The forward step of the Gaussian elimination method transforms a given non-
singular matrix into an upper triangular matrix, using only row operations. We
briefly mention another very useful algorithm, the Gram-Schmidt orthogonaliza-
tion procedure, which transforms any nonsingular matrix into one whose column
vectors are orthogonal, using only column operations.
If (b\, ..., b
n
) is an ordered basis of R
n
then its Gram-Schmidt orthogonal-
ization (b], ...,*) is another ordered basis of R" defined by the recurrence
b] : =f ry- |i t^
6
'
r
for; =l, ..., n.
This formula implies that, for every j e {1, ..., }, the vectors b\, -,b
n
and
b\, ...,b*
n
span the same subspace of R" and that fc*
+1
is the "component" of b/+i
orthogonal to this subspace. For orthogonal vectors, the Hadamard inequality
(0.1.28) holds with equality, and thus
||6;i|-...-||6;i| =|det(6;, ...,6;)l =ldet(6i, ...,fc)|,
where the last equation follows from the fact that b\
9
...,b*
n
is obtained from
b\
9
...,b
n
by column operations. In fact, observe that, to obtain (b\, ...,b*
n
)
from (b\, ..., b
n
), a multiple of a column is only added to a column with larger
index. Moreover, it is also trivial from the definition that each vector bj can be
expressed as a linear combination of the vectors b\, ..., b* as follows:
j
and that in this formula % =1.
The running time analysis of the Gram-Schmidt orthogonalization procedure
is similar to that of the Gaussian elimination method and is omitted here.
Gram-Schmidt orthogonalization will be used in Section 5.3.
1.4 Pivoting and Related Procedures 41
The Simplex Method
The simplex method for solving linear programs, due to DANTZIG (1951), is one
of the backbones of mathematical programming. It is usually described for linear
programs in so-called standard form: maxc
r
x, Ax = b, x > 0. We will outline it
for linear programs of the form
(1.4.10) maxc
r
x
Ax < b.
Let us assume first that A has full column rank. In this case the polyhedron P =
{x | Ax < b} has a vertex. Now, roughly speaking, the simplex method starts at
a vertex of P and checks whether there is an edge containing this vertex along
which the objective function can be increased. If this is not so, the current vertex
is an optimum solution of (1.4.10). If there are such edges, we go in the direction
of one of these edges. Either we find a new vertex, in which case we repeat
the procedure, or the edge is infinite, in which case (1.4.10) is unbounded. The
technical problem is to identify edges along which the objective function can be
increased. We describe how this can be done.
Let us call every row index set / of cardinality n for which A
{
. is a basis
of A and Aj}bi satisfies Ax < b a basic feasible index set. We know that for
every vertex v of P there is at least one basic feasible index set / such that
v = Aj}bj. Instead of creating a sequence of vertices as described above, the
simplex method constructs a sequence /i ,/2,... of basic feasible index sets. In
the corresponding sequence AJ^bi^Aj^bi^... of vertices of P two consecutive
vertices of this sequence need not be different.
We now describe one iteration of the simplex method. Suppose we have a
basic feasible index set / with corresponding vertex Calculate
(1.4.11) u
T
:=c
T
Aj}.
Note that u is an w-vector indexed by /. We distinguish two cases.
Case 1. u > 0. Then v is an optimum solution of (1.4.10) because for each x
satisfying Ax < b we have
c
T
x = u
T
Aj.x < u
T
bi = u
T
Aj.v = c
T
v.
Case 2. u 0. Choose i e I such that u
2
<0. Define the following "direction"
(1.4.12) d :=-Aj}e
t
,
where e
t
is the unit basis vector in IR
7
with 1 in coordinate i. Let A* be the largest
real number X so that
A(v + M) <b.
42 Chapter 1. Complexity, Oracles, and Numerical Computation
Case 2a. X* is finite. This is equivalent to: Ad 0. Clearly, k* can be computed
as follows:
(1.4.13) 1* =min{
bj
~
A
j'
V
\j =1, ..., m with Aj.d > 0} .
Let this minimum be attained at index k. Note that k I because A\A =e, <0.
As new basic feasible index set we choose V \ (I \ {i}) U {&}, which corresponds
to the vertex v' :=v +AV. We replace / by /' and repeat the iteration.
Case 2b. k* is infinite. This is equivalent to: Ad <0. So d belongs to the recession
cone of P and, moreover,
c
T
d = -c
T
Aj}e
t
= u
T
ei = -u, > 0.
Thus the objective function can be increased along d to infinity which shows that
(1.4.10) is unbounded.
It can be proved that by appropriately choosing indices i and k (such choices
are called pivoting rules) this method terminates. For instance, BLAND (1977)
proved that the pivoting rule "always choose the smallest i such that w, <0 and
the smallest k attaining the minimum in (1.4.13)" guarantees finite termination.
This finishes the description of the simplex method.
Unfortunately, for almost all known pivoting rules, sequences of examples
have been constructed - see for instance KLEE and MINTY (1972) - such that the
number of iterations is exponential in n -f m. No pivoting rule is known - to date
- to yield a polynomial time method. In practice, however, the simplex method
turns out to be very fast. Moreover, BORGWARDT (1982) proved that in a certain
natural probabilistic model and with the so-called "Schattenecken" pivoting rule,
the expected running time of the simplex method is polynomial - see also SMALE
(1983).
The observed practical success of the simplex method is based on skillful
pivoting rules which empirically lead to small numbers of iterations and on the
fact that each iteration can be performed efficiently. Note that the total work of
one iteration is dominated by the determination of the inverse matrix Aj} . This
inverse, however, does not have to be computed from scratch in each iteration.
The inverse AT,] needed in the next iteration can be computed from the inverse
AJ* of the previous iteration with a simple pivoting operation, namely we have
(1.4.14) ("r'.).,,
yK
= (/ - -/A,.) (A
T
!).
m
,
W* - &
These updates can be executed in practice very efficiently.
We still have to show how the assumptions we made for describing the
simplex method can be achieved. To check whether the matrix A in (1.4.10) has
full column rank, we use Gaussian elimination. If rank(v4) <n we check whether
c is a linear combination of the rows of A by solving the equation systemA
T
k = c.
1.4 Pivoting and Related Procedures 43
If this system has no solution then (1.4.10) has no optimal solution. Otherwise we
can delete some columns of A and the corresponding components of c to obtain
an equivalent linear program with a constraint matrix of full column rank. So
this preprocessing can be done with methods based on Gaussian elimination.
If we do not have an initial basic feasible index set, we proceed as follows.
We add one new variable X and consider the following linear program
(1.4.15) max/l
Ax - bl < 0
- A <0
A<1
An initial basic feasible index set for this program is easily found: take an
arbitrary basis A
K
. of A and set / :=K U {m +1}. The basic feasible solution
corresponding to / is the zero vector. Next solve (1.4.15) with the simplex method.
If the optimum value of (1.4.15) is 0, (1.4.10) has no solution. Otherwise the
optimum value is 1. Let, in this case, J be the final basic feasible index set, and
let (v
T
, \)
T
be the corresponding optimum solution. Set K := I \ {m +2}; then
A
K
. is a basis of A. Clearly, A
K
.v = b& and Av < b; hence K is a basic feasible
index set that can be used as the initial basic feasible index set for solving (1.4.10)
with the simplex method.
Computation of the Hermite Normal Form
We shall now describe some results and a pivoting algorithm from elementary
number theory that are useful in integer linear programming.
A rational m x n-matrix of rank m (i. e., of full row rank) is said to be in
Hermite normal form if it has the form (B 0) where B is a nonsingular, lower
triangular, nonnegative matrix in which each row has a unique maximum entry,
and this entry is on the main diagonal of B. Usually, the Hermite normal form
is only defined for integral matrices, but for our purposes it is more appropriate
to work with this more general definition.
We shall now discuss whether and, if so, how matrices of full rank can be
brought into Hermite normal form and what properties this normal form has.
Let us call the following operations on a matrix elementary column operations :
(1.4.16) (i) exchanging two columns ,
(ii) multiplying a column by 1 ,
(iii) adding an integral multiple of one column to another column .
The next result is due to HERMITE (1851).
(1.4.17) Theorem, (a) Every rational matrix A of full row rank, can be brought
into Hermite normal form by a series of elementary column operations (1.4.16).
(b) This Hermite normal form of A is uniquely determined by A.
44 Chapter 1. Complexity, Oracles, and Numerical Computation
We shall describe an algorithm that proves (a) of Theorem (1.4.17). So
suppose that A is a rational mxn-matrix of full row rank. We construct a
sequence AQ,AU ...
9
A
m
of mxn-matrices such that A
m
is lower triangular. We
start with AQ := A. In the general step we assume that the matrix Ak, k > 0, has
been constructed fromA by elementary column operations such that
Ak =
(c D) '
where B is lower triangular of order kxk (for k = 0, this means B is empty). Now
apply the following procedure.
(1.4.18) Triangularization Step. Use elementary column operations to transform
D in such a way that the first row D\. ={du, ..., d\
n
k) of D has the following
properties:
(a) du > d\i > ... >d\
9
n-k ^0 and
(b) du +dn +. . +diji-k is as small as possible. D
It should be clear that the result required in (1.4.18) can be obtained by the
operations (1.4.16) and that the number of times elementary column operations
must be applied to achieve this is bounded by a polynomial in n k. So each
step (1.4.18) can be executed using a number of elementary arithmetic operations
bounded by a polynomial in n.
Now note that, since A has full row rank, du must be positive. Moreover,
du = ... = d^n-ic =0, for if d\
2
> 0, then we can subtract the second column
of D from the first column obtaining a new matrix D for which the sum of
the entries of the first row is smaller, contradicting (b). So the output of the
Triangularization Step (1.4.18) is a matrix with a larger lower triangular matrix
B in the upper left hand corner than A^. Call this new matrix A^+i and repeat.
After m applications of (1.4.18) we end up with a matrix A
m
= (B 0) with
B = (bij) a lower triangular mxm-matrix with positive entries on the main
diagonal. Now we apply the following procedure to A
m
, resp. B:
(1.4.19) Row Reduction.
For i =2, ..., mdo the following:
For 7 =1, ...,/ 1 do the following:
Add an integer multiple of the i-th column ofB to thej-th column ofB such
that the (ij)-th entry b\
}
ofB is nonnegative and smaller than bu.
It is straightforward to see that after termination of (1.4.19) the resulting
matrix is in Hermite normal form. Moreover, it is also clear that the number of
elementary arithmetic operations necessary to execute (1.4.19) is bounded by a
polynomial in n.
So altogether we have shown the correctness of part (a) of Theorem (1.4.17) by
designing an algorithm whose total number of elementary arithmetic operations
is bounded by a polynomial in n. Moreover, as in the proof of Theorem
1.4 Pivoting and Related Procedures 45
(1.4.8) (showing that the entries d^ of D are small) we can conclude that all
entries on the main diagonal of the Hermite normal form of A are quotients of
subdeterminants of A, and thus the encoding length of each of these entries is
bounded by a polynomial in (A). From this and the fact that the largest element
of the Hermite normal form is on the main diagonal we can conclude :
(1.4.20) Proposition. The encoding length of the Hermite normal form (B 0) of
a rational matrix A of full row rank is bounded by a polynomial in (A).
Can we now conclude that the algorithm described above for the construction
of the Hermite normal form has polynomial running time? We cannot! The
reason is that although we have a polynomial bound on the size of the final
output of the algorithm through (1.4.20) and a polynomial bound on the number
of elementary arithmetic operations we cannot guarantee that the sizes of the
intermediate numbers do not grow too large. In fact, by performing this algorithm
in practice on rather small, say integral 10x10-m at rices, one can observe frequently
that the intermediate numbers calculated during the execution of the algorithm
will grow enormously large. Quite a number of schemes for the order of
performing the elementary column operations have been suggested. The first
polynomial time algorithm for finding the Hermite normal form was found by
FRUMKIN (1976C)) - see also KANNAN and BACHEM (1979) and DOMICH, KANNAN
and TROTTER (1987) for more efficient methods.
We will not elaborate on these methods since our results on basis reduction
in lattices, to be described in Chapter 5, will yield a polynomial time algorithm
for the computation of the Hermite normal form - see (5.4.13). However, we
would like to mention a consequence proved by FRUMKIN (1976a,b) and VON ZUR
GATHEN and SIEVEKING (1976).
(1.4.21) Theorem. For any matrix A e Q
mxn
and any vector b e Q
m
, one can
decide whether Ax = b has an integral solution and, if so, find one in time
polynomial in (A) -\-{b).
This shows that the linear diophantine equations problem (0.1.31) can be
solved in polynomial time for rational data.
One may wonder whether the Hermite normal form can be computed in
strongly polynomial time. However, the problem of finding the greatest common
divisor of two integers is a special case, and one can show that, within our model
of strongly polynomial time computation, the greatest common divisor of two
integers cannot be computed in strongly polynomial time, that is, in a bounded
number of elementary arithmetic operations, where the bound is independent of
the two integers.
Chapter 2
Algorithmic Aspects of Convex Sets:
Formulation of the Problems
Convex sets and convex functions are typical objects of study in mathematical
programming, convex analysis, and related areas. Here are some key questions
one encounters frequently:
- Given a point y and a set K, is y a member ofK, i. e., is y contained in K?
- Ify is not a member ofK, find a hyperplane separating y from K.
- Given a linear inequality, is it valid for each vector in K ?
- Given a linear function, find a point maximizing (or minimizing) the function
onK.
- Given a convex function, find its minimum.
Membership, separation, validity, and optimization problems are fundamental
problems in these theories. Optimization problems have been intensively studied,
in particular from an algorithmic point of view, because of their relevance
for practical applications. Research on membership, separation, and validity
problems concentrated much less on algorithmic aspects; existence theorems,
characterizations by necessary and/or sufficient conditions and the like were the
main lines of investigation. The proof techniques here are often very elegant but
nonconstructive.
The basic difference between optimization and separation, membership, and
validity is typically that optimization results (theorems or algorithms) are the
ultimate goals (from an applied point of view) while separation results etc. are
used as important tools for the derivation of such results. Clearly, optimization
algorithms are what mathematical programming is looking for, but even so, it
is surprising how little attempt has been made to devise efficient separation,
membership, or validity algorithms.
We only know of a few examples of good separation algorithms that have
been designed (but not published) before the ellipsoid method occured. These are
the separation algorithm for the subtour elimination constraints of the traveling
salesman problem - see CROWDER and PADBERG (1980) - and the separation
algorithm for capacitated (perfect) fc-matchings described in PADBERG and RAO
(1982). These polynomial time methods came up in attempts to design practically
fast cutting plane algorithms for the traveling salesman problem. On the other
hand, let us mention that, while optimization over matroid polytopes has been a
very extensively studied problem since the pioneering work of EDMONDS (1970,
1971), the first combinatorial algorithm to solve the separation problem for these
polytopes was only recently found by CUNNINGHAM (1984) and was prompted by
more general results derived from the ellipsoid method.
2.1 Basic Algorithmic Problems for Convex Sets 47
In Chapter 3 we shall show that there is a strong relation between the poly-
nomial time solvability of the optimization problem and that of the separation
problem. In fact, they are equivalent if one is a little careful in defining the
concepts to be considered. The precise definition of the problems we want to
treat is the purpose of this chapter.
2.1 Basic Algorithmic Problems for Convex Sets
In this section we will introduce a number of notions and problems which will
be used throughout the book. The problems we will define are the basic objects
of our investigations. One of the main goals of this book is the determination of
the algorithmic relations between these problems.
Let K be a convex and compact set in R
n
. Then we can formulate the
following five algorithmic problems (2.1.1),..., (2.1.5) in connection with K.
(2.1.1) The Strong Optimization Problem (SOFT).
Given a vector c e R", find a vector y e K that maximizes c
T
x on
K, or assert that K is empty.
A closely related but slightly weaker question is the following.
(2.1.2) The Strong Violation Problem (SVIOL).
Given a vector c e R" and a number y e R, decide whether c
T
x < y
holds for all x e K, and if not, find a vector y e K with c
T
y > y.
Note that taking c =0 and y = 1, the strong violation problem reduces to
the problem of checking whether K is empty, and if not, finding a point in K.
This problem will be called strong nonemptiness problem (SNEMPT).
(2.1.3) The Strong Validity Problem (SVAL).
Given a vector c e R" and a number y e R, decide whether c
T
x < y
holds for all x e K.
48 Chapter 2. Algorithmic Aspects of Convex Sets
The following two problems are - in a sense to be made precise later - polar
to the ones above.
(2.1.4) The Strong Separation Problem (SSEP).
Given a vector y e R", decide whether y e K, and if not, find a
hyperplane that separates y from K; more exactly, find a vector
c e R" such that c
T
y > max{ c
T
x | x e K }.
(2.1.5) The Strong Membership Problem (SMEM).
Given a vector y e R", decide whether y e K.
Clearly, if we can solve (2.1.1) we can also solve (2.1.2), and if we can solve
(2.1.2) we can solve (2.1.3). Similarly, (2.1.5) can be solved if (2.1.4) is solvable.
So there are some obvious algorithmic relations between these five problems. In
Figure 2.1 we have graphically displayed these trivial relations between SOPT,
SVIOL, SVAL, SSEP, and SMEM (and SNEMPT in addition). An arrow here
means that the problem at the head of the arrow can be solved in oracle-
polynomial time given an oracle for the problem at the tail of the arrow. (The
relation is transitive, but arrows following from transitivity are not shown.)
SNEMPT SVIOL
SMEM
Figure 2.1
These problem formulations immediately give rise to a number of questions.
For instance: Is our requirement to provide "exact" solutions of the problems
(2.1.1),..., (2.1.5) too restrictive? Are the assumptions that K should be convex
2.1 Basic Algorithmic Problems for Convex Sets 49
and compact too general or too strong? Are these problems algorithmically
solvable at all? Moreover, are there other implications between SOPT,...,
SMEM different from those depicted in Figure 2.1? As mentioned before, this
last question is among the central topics of this book. But before discussing all
these matters let us look at some typical examples.
(2.1.6) Example. Let K c R" be a polyhedron defined by a given system of
linear inequalities ajx <b, , i = 1,..., m. For any vector y e R", the separation
problem (2.1.4) and the membership problem (2.1.5) are trivial to solve. We
simply substitute y for x in the inequalities. If y satisfies them all, then y is a
member of K, otherwise y is not; and any violated inequality yields a separating
hyperplane. The strong optimization problem (2.1.1) for K is nothing but a linear
program. Linear programs can be solved by several algorithms but not as easily
as the separation problem above.
(2.1.7) Example. Let X c R" be a polytope defined as the convex hull of a given
finite set of vectors, i. e., K =conv({z;i,..., t>/J). Here the strong optimization
problem (2.1.1) (and similarly problems (2.1.2), (2.1.3)) for K can be solved easily
by evaluating the function c
T
x at all points v
t
and selecting the one with the
largest value c
T
Vj. To solve the strong membership problem (2.1.5) for a vector
y G R
n
, one has to check whether y is a convex combination of the t;, or not.
So this problem requires deciding whether a system of linear equations and
inequalities has a feasible solution. To solve the strong separation problem (2.1.4)
requires, in addition, finding a vector ceR" with c
T
y > c
T
Vj (i =1,..., k) if the
system has no solution.
(2.1.8) Example. Let / : R
n
->R be a convex function and G
f
:={(x
T
, t)
T
e R"
+1
|
fix) < t} be the "epigraph" of /. If f(x) can be computed, then the membership
problem (2.1.5) for Gf is trivial to solve; if in addition a subgradient of / at x
can be computed, then the separation problem (2.1.4) for Gf can be solved easily.
Namely, suppose (y
T
,s)
T
4 Gy. Then, by definition, n e R" is a subgradient of/
at y if f(x) > fiy) + n
T
ix-y) for all x e R
w
. So c :=in
T
,-l)
T
e R"
+1
satisfies
(y
r
, s)c = n
T
y -s> n
T
y - fiy) > n
T
x - fix) > (x
r
, t)c for all (x
r
, t)
T
e G
f
. So
c yields a separating hyperplane.
(2.1.9) Example. In classical geometry, convex sets K are often described in
terms of the support function - see BONNESEN and FENCHEL (1934) for instance.
For every vector v e R" with ||v|| = 1, consider the supporting hyperplane
H of K with outer normal v, and let p(v) be the signed distance of H from
zero; i. e., piv) := max{t;
r
x | x e X}, H = {x \ v
T
x = p(u)}, H PI K 0,
{x | v
T
x > p[v)} n K =0. If the function p is given, then the validity problem
(2.1.3) is solvable trivially, since c
T
x < c
0
is valid if and only if p(c/\\c\\) < c
0
/\\c\\
(if c 0; the case c = 0 is solved trivially, as K 0).
The examples above show that the way a set K is given makes an essential
difference. The strong separation problem is trivial for a polytope given as in
50 Chapter 2. Algorithmic Aspects of Convex Sets
(2.1.6), whereas it turns out to be nontrivial for a polytope given as in (2.1.7).
For the strong optimization problem it is just the other way around!
It is well known that a polytope K given in the form (2.1.6) also has a rep-
resentation in the form (2.1.7) (and vice versa). Moreover, such a representation
can be found in finite time. This fact is of little use in designing polynomial
time algorithms, since, to describe the convex hull K of k points, one may need
a number of inequalities that is exponential in k. (Consider, for instance, the
convex hull of the 2n vectors (0,..., 0, 1,0,..., 0)
T
.) Similarly, the solution
set of m inequalities may have a number of vertices that is exponential in m.
(Consider the n-cube.) So the size of the description may grow exponentially if
one goes from one representation of a polytope to another. This illustrates that
the polynomial time solvability aspects of the strong optimization (separation
etc.) problem depend on the way K is given and not only on K.
Our approach is to describe a set K by certain parameters and algorithms
(oracles) that define the set K uniquely. So K is not necessarily given by any of
the usual representations. For instance, K can be given by the dimension of the
space together with a "membership algorithm" that, for any given point, decides
whether it is in K or not. This will allow us to take also nonpolyhedral convex
sets into consideration.
But clearly, we have to pay for such a generality. Namely, if we allow arbitrary
convex sets, it may well be that K contains only one vector maximizing c
r
xon
K and that this vector has irrational coordinates. To make the formulation of
our problems correct in such cases we recall the discussion of computability
of numbers in Section 1.3. In the spirit of this, we introduce the following
five problems which come from their strong versions by allowing margins in all
inequalities and around the surface of the given set K. It may help to understand
the following if we recall that x e S(K,s) means "x is almost in K", and that
x G S(K, s) means "x is deep in K". In the following definitions K denotes a
compact and convex set in R".
For easy reference the five basic problems are also listed on the inner side of
the back cover.
(2.1
.10) The Weak Optimization Problem (WOPT).
Given a vector c e Q" and a rational number e >0, either
(i) find a vector y e Q
rt
such that y e S(K,s) and
forallxeS(K,-e)
c
T
x < c
T
y + e
(i. e., y is almost in K and almost maximizes c
T
x over the
points deep in K), or
(ii) assert that S(K, ~e) is empty.
2.1 Basic Algorithmic Problems for Convex Sets 51
(2.1.11) The Weak Violation Problem (WVIOL).
Given a vector c e Q", a rational number y, and a rational number
s >0, either
(i) assert that c
T
x <y -he for all x e S(K, e)
(i. e., c
T
x < y is almost valid), or
(ii) find a vector y e S(K,e) with c
T
y >y e
(a vector almost violating c
T
x < y).
(2.1.12) The Weak Validity Problem (WVAL).
Given a vector c e Q
n
, a rational number y, and a rational number
s > 0, either
(i) assert that c
T
x <y + e for all x e S(K, e), or
(ii) assert that c
T
x >y e for some x e S{K,e)
(i. e., c
T
x < y is almost nonvalid).
(2.1.13) The Weak Separation Problem (WSEP).
Given a vector y e Q
M
and a rational number 6 > 0, either
(i) assert that y e S(K,d), or
(ii) find a vector ceQ" with ||c||oo =1 such that c
T
x < c
T
y + S
for every x e S(K,S)
(i. e., find an almost separating hyperplane).
(2.1.14) The Weak Membership Problem (WMEM).
Given a vector y e Q" and a rational number S > 0, either
(i) assert that y e S(K,d), or
(ii) assert that y 4 S(K,-5).
Similarly as in the strong version SVIOL (2.1.2), the special case of (2.1.11)
where c = 0 and y = 1 is of particular importance. Note, however, that (for
e < 1) output (i) of WVIOL only means that S(X,-e) is empty (K might still
be nonempty) and output (ii) means finding a point almost in K. We call this
special case of WVIOL the weak nonemptiness problem (WNEMPT).
52 Chapter 2. Algorithmic Aspects of Convex Sets
(2.1.15) Remark, (a) All the strict inequalities appearing in the strong versions
(2.1.1), ...,(2.1.5) have been turned into weak inequalities in problems (2.1.10),
..., (2.1.14). Clearly, this makes no difference here, since little errors are allowed
everywhere. Strict inequalities, if needed, may be obtained by decreasing the
e's and <5's. Moreover, the reader may have noticed that in some of the weak
problems above several e's and <5's are redundant. For example, solving the weak
validity problem (2.1.12) with input c, y' :=y -fe/2 and e' :=e/2 gives a solution
to a stronger version of (2.1.12) where we require that c
T
x > y in (ii). The use
of our weaker versions has the advantage of uniformity and will also make the
application of polarity easier.
(b) There is one additional, purely technical change in the separation problem.
By introducing the 6 -error in (ii) of (2.1.13) we have to normalize the vector c,
because otherwise every small enough vector c would satisfy (ii). We could
not require the Euclidean norm to be 1 since this might lead to scaling by an
irrational factor.
(c) Note also that the weak problems above have been modelled so that
the output is "continuous" in the input. As an illustration consider the weak
optimization problem (2.1.10). Given a vector c e Q
w
, a rational number e > 0
and in addition a vector y e Q", we can compute a rational number S > 0 in
polynomial time such that if c\ y' e Q", \\d c\\ < (5, \\y' y\\ < 3 and if y' is a
valid output for the weak optimization problem with input d and 3 then y is a
valid output for the weak optimization problem with input c and e. We shall not
elaborate on this point further, but we feel that this property is essential for the
correct posing of the problems.
J ust as in the strong versions of our problems, there are immediate im-
plications between our weak versions. Most of these directly follow from the
definitions. For instance, if WVIOL can be solved for K in polynomial time
then, obviously, WVAL is polynomially solvable. A little less direct, but still
trivial is the implication from WSEP to WMEM. If we have an algorithm for
the weak separation problem for K and we want to solve the weak membership
problem for K, we proceed as follows. Given j eQ" and 3 e Q, 8 > 0, we solve
WSEP for the input y,8. If our algorithm concludes that v e S(K,8) we can
assert (i) of (2.1.14). If the weak separation algorithm finds an almost separating
hyperplane we call it again, but now with input y and (5/3. If the algorithm
asserts that y e S(K,8/3) then we know that y e S(K,8). If the weak separation
algorithm finds a vector c e Q" with ||c||oo = 1 and c
T
x < c
T
y + 8/3 for all
x e S(K, <5/3), we can conclude that y 4 S(K, 3). Namely, suppose this is not
so. Then consider the vector y' :=y +(<5/(2||c||))c, which has distance d/2 from
y. Since y e S(K,d) we see that / e S(K,S/3). But on the other hand we
have
c
T
y' = c
T
y + - \\c\\ >c
T
y+->c
T
y + - ,
which contradicts the assertion of the weak separation algorithm.
The trivial relations between the weak problems introduced above are dis-
played in Figure 2.2 (the arrows have the same interpretations as those of Figure
2.1 - arrows following from transitivity are not drawn.)
2.1 Basic Algorithmic Problems for Convex Sets 53
WOPT
WNEMPT WVIOL
WVAL WMEM
Figure 2.2
We will show in Chapter 4 that there are several more arrows in Figure
2.2, in some cases by making further assumptions on the convex set K under
consideration. We shall discuss later to what extent these requirements are
necessary.
(2.1.16) Definition. A convex set K is called circumscribed ;/ the following
information about K is given explicitly:
(a) the integer n = n(K) sucht that K c R
w
,
(b) a positive rational number R = R(K) such that K ^S(0, R).
So a circumscribed convex set is a triple (K;n,R).
A circumscribed convex set (K;n,R) is called well-bounded if, moreover, the
following is given:
(c) a positive rational number r = r(K) for which K contains a ball of radius r.
(The center of the ball need not be known explicitly.)
Thus, a well-bounded convex set is a quadruple (K; n, R, r).
A well-bounded convex set (K;n,R,r) is called <2o-centered (or just centered
if, moreover, the following is given:
(d) a vector a
0
= OQ(K) e Q" such that S(ao,r)cX.
Thus, an a^-centered convex set is a quintuple (K;n,R,r,ao) with the above
properties.
A centered convex set is always well-bounded, and a well-bounded convex
set is always circumscribed. Most of the convex sets we will encounter in our
applications are compact and full-dimensional. Convex sets with these two
properties are called convex bodies. We will speak in such cases of circumscribed,
or well-bounded, or centered convex bodies. If X is a convex set containing some
ball of radius r we call r an inner radius of K. If K c S(0,R) then R is called an
outer radius of K.
54 Chapter 2. Algorithmic Aspects of Convex Sets
Before continuing, we would like to mention that assumption (c) of (2.1.16)
provides a lower bound on the volume of K. In fact, it follows from the proofs
of the results shown later that we could have required equivalently that a lower
bound on the volume of K is given. Explicit knowledge of r{K) is not necessary,
but more convenient.
In formulating some of our results we shall have to restrict ourselves to
convex sets K for which some mathematical description is given, called the name
of K and denoted by Name(K). The same convex set may of course be given by
different definitions and therefore may have different names.
(2.1.17) Definition. A convex set (or body) K together with its encoded name
Name(K) will be called a named convex set (or body/ The length of the encoding
of the name ofK will be denoted by (Name(X)).
To give an example, consider the polytope P defined in the following two ways.
(2.1.18) The set of vectors (xi,x
2
)
r
e R
2
satisfying xi >0, x^ > 0, xi +X2 <1.
(2.1.19) The convex hull of the vectors
Either one of these two definitions could be used to name P. The encoding
length of the name of P would be either the length of the encoding of the
inequality system in (2.1.18) or the length of the encoding of the three vectors in
(2.1.19).
More interesting examples of names will come up in combinatorial applica-
tions. For instance, if we study the matching polytope P of a graph G, P may
be named by the graph G, and moreover, the name may be used to compute the
parameters n, R,r, or ao.
We still have to specify how we measure the encoding length of a convex set
K.
(2.1.20) Definition. Let K be a convex set. Then we denote the encoding length
of K by (K). For the various kinds of convex sets defined above, (K) shall
have the following meaning (recall the definition of encoding length for vectors
in Section 1.3):
(a) IfK is circumscribed, then (K) := n{K) + (R(K)).
(b) If K is well-bounded, then (K) := n(K) +(R(K)) + (r(K)).
(c) IfK is centered, then (K) :=n(K) + (R(K)) +(r(K)) + (a
0
(K)).
(d) IfK is named and circumscribed, then (K) :=n(K) +(R(K)) +(Name(K)).
(e) If K is named and well-bounded, then (K) :=n(K) +(R(K)) +(r(K)) +
(Name(X)).
(f) IfK is named and centered, then (K) := n(K) +(R(K)) +(r(K)) +(a
0
(K)) +
(Name(X)).
In most cases treated in the following, the convex sets considered are not
given by a name but by an oracle (or in practice: by a computer subroutine). An
oracle for instance may tell us whether a given point is (almost) contained in K
or not. Such an oracle would be called a (weak) membership oracle. Similarly, we
2.1 Basic Algorithmic Problems for Convex Sets 55
will consider separation, optimization, violation, or validity oracles in the weak as
well as in strong sense. If oracles are used then of course we have to consider the
running times of the oracle algorithms for our complexity calculations. This will
make it necessary to utilize the concept of oracle Turing machines introduced in
Section 1.2.
In the following we shall speak of a polynomial time or oracle-polynomial time
algorithm for a certain problem defined on a class of convex sets if the running
time of the algorithm is bounded by a polynomial in (K) and in the encoding
length of the possibly existing further input (objective functions, error parameters
etc.), for every convex set K in the given class.
We shall now briefly discuss the reasons for restricting our attention to convex
sets as defined in (2.1.16).
First, convexity seems basic for our method. The requirement (a) simply
states that we have to know the number of variables involved.
The outer radius R tells us about in which portion of R
w
our set K is located.
It gives us a rough estimate of the space we have to search for K. Requiring
(b) rules out the treatment of unbounded sets; it can be viewed as a strong
explicit boundedness condition. (We will show later that - under some extra
conditions - unbounded convex sets can also be handled by our methods. This,
however, involves several technicalities.) Similarly, condition (c) is an explicit
full-dimensionality condition. The roles of (b) and (c), in particular the necessity
of knowing r and R, will be discussed in detail in Chapter 4.
In some applications, requirements (a), (b), and (c) of (2.1.16) for a convex
set are sufficient to calculate an interior point in polynomial time. This, however,
is not always the case, and we may need the explicit a priori knowledge of an
interior point ao(K) with the properties described in (2.1.16).
We shall also show that by strengthening the assumption "K is convex" to
"K is a polytope" or "K is given by an inequality system" the requirements (a),
(b), and (c) of (2.1.16) can either be removed or be replaced by much simpler and
more natural ones. Such investigations will be the subject matter of Chapter 6.
In most cases treated in the sequel we will restrict ourselves to well-bounded
convex bodies (K;n,jR,r), since they are the relevant objects for our appli-
cations. A short look at our definitions shows that, for the weak versions
(2.1.10),..., (2.1.14) of our five problems, closedness is a completely irrelevant
assumption. Since we allow errors, it does not make any (essential) difference
whether we optimize (or separate etc.) over a full-dimensional set X, or its
closure, or its interior. In some of the strong versions closedness is however
needed, otherwise no solutions of the problems may exist and the problems could
not even theoretically be solved. For reasons of uniformity, we have therefore
decided to state and prove our results for closed convex sets only.
To close this section, let us formulate one more problem (in its strong and
weak version), which is fundamental in mathematical programming.
(2.1.21) The Strong Unconstrained Convex Function Minimization Problem. Gi-
ven a convex function f: R" - R, find a vector v e R
n
such that f(y) < f(x) for
all x e R".
56 Chapter 2. Algorithmic Aspects of Convex Sets
The algorithmic solution of (2.1.21) clearly depends on the way the function
/ is given to us. It may be given by an oracle that gives us the value of f(x)
for any given x e R". In addition, we have to know a radius JR such that the
minimum in (2.1.21), if it exists, is contained in the ball S(0,R). Otherwise no
algorithm can be guaranteed to find the minimum.
(2.1.22) The Weak Constrained Convex Function Minimization Problem. Given
a compact convex set K c ]R
n
?
a convex function /:I R" -+ 1R, and a rational
number e > 0, find a vector y e Q" n S(K,e) such that f(y) < f(x) +e for all
xS(K,-s).
Problem (2.1,22) is a special case of the weak optimization problem (2.1.10),
which can be seen as follows. Following example (2.1.8), we set
G(/,X) : ={( * ) eR"
+1
\xeK
9
/(*) <t < B },
where B is any upper bound on the minimum value of / on K. It is obvious
that G(/,X) is a compact convex set in JR
n+1
, and that (2.1.22) can be solved by
maximizing the objective function x
n
+\.
If subgradients of / - cf. (2.1,8) - can be computed, then (2.1.22) can also be
reduced to (2.1.10) without adding an additional variable by using "subgradient
cuts". This leads back to one of the sources of the subject of our book.
Namely, the ellipsoid method arose from the work of SHOR (1977) on minimizing
nondifferentiable convex functions with subgradient techniques.
*2.2 Nondeterministic Decision Problems for Convex Sets
Before discussing polynomial time algorithms for the problems introduced above,
we deal with their membership in Jf& and QO-Jf0>. The results of this section are
rather technical and will not be needed in what follows; but we believe that an
investigation of these problems helps to understand the subtleties of the subject
that come up when complexity theory is applied to geometric questions.
The problems that are usually discussed in the ^-J ^-framework have
the property that exactly one of two possible decisions is a legal answer (a
graph is either Hamiltonian or not, but never both). In our weak problems
(2.1.10),..., (2.1.14) there may be instances for which either of the two possible
conclusions is a correct answer. Our definitions of these problems being in Jf&
or in co- J ^ have to take those "fuzzy" instances into account, and we will
therefore require a positive answer to have a polynomial length proof only if the
other alternative does not hold. Thus our definitions are the following.
Let J T be a class of named well-bounded convex bodies. The weak membership
problem for J f is in Jf0> means that for any (K; n, R, r) e J f, any rational number
3 > 0, and any y e Q
w
such that y e S(K,d) (i. e., y is deep in X), there exists a
certificate of the fact that y e S(K,S) (i. e., y is almost in K), not longer than a
polynomial in the encoding length, that is, in n+(R)+(r)+(Name(K))+(y)+(8).
2.2 Nondeterministic Decision Problems for Convex Sets 57
The weak membership problem for J f is in co- J ^ means that for any
(K; n, R, r) G J T, any rational number 3 > 0 and any y G Q" such that y ^S (K, 3),
there exists a certificate of the fact that y 4 S(K, 3) not longer than a polynomial
in the encoding length.
Similarly, we say that the weak validity problem for X is in Jf& if, for any
(K; n, JR, r) e Jf~, any rational number e > 0, any c e Q", and any yeQ such that
c
r
x <y e for all x e S(K,s), there exists a certificate of the fact that c
r
x <y +e
for all x e S(K
9
e), not longer than a polynomial in the encoding length.
We say that the weak validity problem for X is in co- J ^, if for any (K; n, K, r)
e J f, any rational number e > 0, any CGQ" and yeQ such that c
r
x >y +a for
some x G S(K, e), there exists a certificate of the fact that c
T
x > y e for some
x G S(K,) not longer than a polynomial in the encoding length.
The violation and separation problems are not decision problems, and there-
fore they do not fit in the ^K^-framework. Motivated by the definitions above,
however, we can formulate two further complexity properties of the class J f. If
the membership problem is in co-,/4^, it is often the case that the infeasibility
of a point is proved by exhibiting a separating hyperplane. This motivates the
following definitions.
We say that the weak separation problem for JT is in Jf0> if, for any (K;n,R,r)
G J T, any rational number d > 0, and any y e Q" such that y 4 S(K
9
S), there
exists ace Q", ||c||oo = 1 for which the fact that c
T
x < c
T
y +S for all
x G S(K, 3) has a certificate whose encoding length is polynomial in n + (R) +
(r) +(Name(K))-f-(y) +(3). This in particular includes that (c) is also bounded
by such a polynomial.
Finally, we say that the weak violation problem for X is in Jf& if, for any
(K;n,R,r) e J f, any rational number s > 0, any c e Q" and y e Q such that
c
T
x > y + e for some x e S(K,e), there exists aye S(K,e) for which c
T
y > ye
and the fact that y G S(K,E) has a certificate whose length is polynomial in
n + (R) + (r) +(Name(X)) +(c) +(y) +<>.
It is natural to define the weak violation problem for X to be in co-yF^if
the weak validity problem for J f is in Jf&. Similarly, weak separation for J T
is in Q,o-Jf& if weak membership is in Jf&. Some implications between these
complexity properties of J f are immediate.
(2.2.1) Proposition. Let J f be a class of named well-bounded convex bodies.
(a) If the weak membership problem for X is in Jf0>, then also the weak violation
problem for X is in JV<P.
(b) If the weak validity problem for J f is in Jf0>, then also the weak separation
problem for J T is in Jf0>.
(c) If the weak violation problem for X is in JV0>, then the weak validity problem
for J f is in co-Jf@.
(d) If the weak separation problem for J f is in J/0>, then the weak membership
problem for J f is in co-JfgP.
The geometrical contents of these statements is trivial, but arithmetic details
require some care. For example, when proving (b), one should check that there
58 Chapter 2. Algorithmic Aspects of Convex Sets
exists indeed a vector c with the required properties such that (c) is bounded by
a polynomial in the encoding length.
WSEP e Jf9>
G co-.4^
6 / ^
| f (2.2.9)
WVIOL e Jf&
Figure 2.3
The relations between the various complexity properties of J T are depicted
in Figure 2.3. An arrow in this diagram means "implication"; e. g., Proposition
(2.2.1) (a) is schematically shown by the arrow from the box containing WMEM G
Jf0> to the box WVIOL G JT&. Arrows drawn with one straight line correspond
to the trivial implications of Proposition (2.2.1). The other relations between
memberships in JfSP and co-Jf0> respectively are more complicated to prove.
The corresponding arrows in Figure 2.3 are drawn with double lines. These
relations are proved in the remaining part of this section.
We start with some lemmas. The first of them is an analogue of the well-
known Krein-Milman characterization of convex hulls.
Let F be a compact subset of R", t and R be positive real numbers with F e
5(0, R) and t > R. Let the f-hull of F (denoted by hull,(F)) be defined as the
intersection of all balls of radius t containing F. Clearly,
conv(F) s hull,(F) ,
and in fact,
(2.2.2) conv(F) = f] hu\l
t
(F) .
t>R
A point x G F is called f-extremal if there exists a ball S(a
9
1) of radius t around
some point A GR " such that F e S(a,t) and x lies on the boundary of S(a,t).
We denote by ex
t
(F) the set of all r-extremal points in F.
(2.2.10)
WVAL G JT&
WVAL G co- JP9
WMET
(2.2.11)
WME
2.2 Nondeterministic Decision Problems for Convex Sets 59
(2.2.3) Lemma.
hull,(F) =hull
f
(ex,(F)).
Proof. Since ex
t
(F) c F, it is trivial that hull,(ex,(F)) c hull,(F).
To prove the reverse inclusion, we show that every ball S(a,t) containing
eXf(F) also contains F.
Suppose there is a ball S(a,t) 3 ex
r
(F) with S(a,t) F. Since F c S(0,r), as
t>R, the value Ao :=max{ A | 0 <A <1, F ^^(Aa, t)} exists and is less than 1
by assumption. Clearly, F must contain a point z from the hemisphere
{xeR" | ||x-A
0
tf|| =*, (x-/L
0
a)
7,
a<0}
(i. e., from the hemisphere of S(Aoa, t) visible from infinity in the direction a). But
then z e ex,(F) and z 4 S(a,t)
9
a contradiction.
(2.2.4) Lemma.
D2
hull,(F) <=S(conv(ex,(F)), ) .
L
Proof. Let H = ex
r
(F). By Lemma (2.2.3) it suffices to prove
D2
hul l
r
(H)sS(conv(H)
s
) .
Let a e hull,(if). If a e conv(if), we have nothing to prove. So suppose
a 4 conv(#). Let a\ be the point of conv(//) nearest to a and set
d := - - ( ai a) ,
| | f l i - f l | |
M : ={ xe R" I d
T
x> d
T
a
{
}.
The halfspace M contains conv(H) and thus H by construction, and therefore,
H is contained in M 0 S(0,R). We now include this intersection in a ball S(b,i)
with as small a piece outside M as possible. By elementary computations we
obtain that the center of this ball is
b := (y/t
2
-R
2
+ (d
T
a
{
)
2
+ d
T
a
{
)d,
and the height of the section S(b, t)\M is at most t - Vt
2
- R
2
< R
2
/t. Since
a G hull
f
(if), we have a e S(b
9
t)
9
and so by the definition of M, a e S(b,t) \ M.
But then the distance of a from M, and hence from a
u
is less than R
2
/t. Thus
aeS(conv(H),R
2
/t).
60 Chapter 2. Algorithmic Aspects of Convex Sets
(2.2.5) Lemma. Let z e ex
f
(F) and e > 0. Then there exists a simplex Z c ]R"
5Zic/? /?a S(z, e) ^2, diam(Z) <4ni/2t, and all but one of the facet defining
inequalities ofZ are valid for F. Moreover, the facet defining inequalities ofH,
have encoding length bounded by a polynomial ofn +(e) + (t).
Proof. We may assume that e < 1/2. Note that t > R. By the definition of
ex
t
(F)
9
there exists a vector a e R
n
such that \\a z\\ = t and F S(a,t). Then
we may assume that F = S(a,t).
Let //o be the hyperplane perpendicular to the vector z a and tangent to
the ball S(z,s) at point u separating z from a. Then Ho intersects F in an
(n 1)-dimensional ball F'. Let v\, ...,v
n
be the vertices of any regular simplex
inscribed in F
r
and let Hi, ..., H be the hyperplanes tangent to F at v\, , i>
n
>
respectively. It follows by elementary geometry that H\, ..., ff are also tangent
to S(z,e). So if X is the simplex bounded by //
0
, ...,//, then S(z,e) ^ Z.
Moreover, n of the facet defining inequalities for Z are valid for F.
The diameter of Z can be estimated by computing the distances of its
vertices from the point u: they turn out to be (n i)y/e(2t e) (n times) and
s(2t e)/(t e). Hence diam(Z) < 2n\/2te.
To obtain a rational simplex with such properties and with small encoding
length, round z to a rational vector z with small encoding length, such that
II z z\\ < e/2. Then we can write the facet defining inequalities of Z in the form
cj{x-z) <1 (i =0, ..., n).
Since z + j^\\
c
i e S(z, e) c Z, we know ||c,-|| <2/e.
Round each vector (1 +e/(8t))c, to a rational vector c, with small encoding
length such that
8
(i +
s
)-*
<
v^
3 2 ^ ^ '
We claim that the following inequalities define a simplex E' with the right
properties:
cj(x-z)^2 (i =0, . . . , B).
It is straightforward to see that E' contains the ball S (z, e), and that all but one of
these constraints are valid for S(a,t). To see that diam(E') <4nV2ts, we consider
the simplex E" obtained by blowing up E from z by a factor of 2. If E' $. "
there exists a vector v in E' fl E" so that c^y 2) =2 for some i e {0, ...,} (as
r n E" ^0, since z e E' D E"). Thus
~cf(v-z) =(1 +^)
C
,
r
(t>- 2) +(cf - (1 +A)
c
.)
r
( t;
_
2)
*0 + )-2-tf-(l + )l
>2
tf z
2.2 Nondeterministic Decision Problems for Convex Sets 61
(here we use that ||i? z\\ < diam(E") =2diam(Z) <4n\/2te), contradicting the
fact that v e I '. So Z' c E", and hence
diam(I') <diam(E") =2diam(Z) <4nV2te.
D
(2.2.6) Lemma. Let X be a class of named well-bounded convex bodies.
Suppose that for any {K;n,R,r) E J f, any rational numbers e > 0 and t > R,
and any }/ GQ" such that y E S(ex
t
(K),), there exists a certificate of the fact
that y e S(K, 2e) not longer than a polynomial of the encoding length. Then the
weak membership problem for Jf is in Jf0>.
Proof. Given any (K;n,R,r) e f*, a rational number 6 > 0 and y e Q
w
such
that y e S(K, <S), we have to find a proof of the fact that y e S(K,S) not longer
than a polynomial in the encoding length n +(R) -f (r) +(Name(K)) +(y) +(<5)
using the assumption of the lemma. To do this we will prove the existence of
points Mo,Mi, ..., M e Q" such that:
(2.2.7) M
0
, ..., u
n
E S(K,d/2) and this fact can be shown in
time polynomial in the encoding length,
(2.2.8) j/GS(conv({M
0
, ..., u
n
}),8/2).
Clearly, if (2.2.7) and (2.2.8) hold, then y e S(K,S). For given vectors
y, MO, ..., M e Q", (2.2.8) can be verified in time polynomial in (y) +(MO) +... +
(u
n
) +(S) (this is left as an exercise). Note that (2.2.7) in particular implies
that the numbers (M,) are bounded by a polynomial in the encoding length. So
if points M
0
, ..., u
n
e Q" satisfying (2.2.7) and (2.2.8) exist, y e S(K,S) has a
polynomial length proof. The existence of such points can be shown as follows.
Let t =R
2
/S. Then it follows from Lemma (2.2.4) that
K <=hull,(K) c S(conv(ex,(K)),<5)
and hence by (0.1.12),
S(K,S) conv(ex,(K)).
In particular, y E conv(ex
r
(X)). By Caratheodory's theorem, there exist points
zo, , z
n
E ex
t
(K) such that y e conv{z
0
, ..., z
n
}.
Now guess points u
t
E S(z
i9
S/4) such that M, E Q" and (M,) <(R) + n + (8) + 3
(such M,'s clearly exist). Then, by hypothesis, there is a polynomial length
proof of the fact that M, E S(K,S/2) (i = 0, ...,n). Moreover, trivially y E
5(conv{M
0
, ..., w},<5/2). So (2.2.7) and (2.2.8) hold.
(2.2.9) Theorem. Let J f be a class of named well-bounded convex bodies. If
the weak violation problem for Jt is in Jf& then the weak membership problem
for X is also in JV0>.
Proof. We prove that the condition of Lemma (2.2.6) is satisfied. Let y E S(ex
r
(X),
e); we describe a polynomial length certificate of the fact that y E S(K,2e). There
62 Chapter 2. Algorithmic Aspects of Convex Sets
exists a vector z e ex
t
(K) such that \\z y\\ <e. By Lemma (2.2.5), there exists a
simplex I gR " such that diam(I) <e/3, S(z,8) I , where 5 :=e
2
/(96ta
2
), all
but one facet-inequalities are valid for K, and is described by inequalities of
polynomial encoding length. Suppose that all facet-inequalities except possibly
c
T
x < y are valid for K; we may assume that HCIIQO = 1. Then consider the
inequality c
T
x > y <5||c||/2. This inequality is not valid for S(K,3r/(SR)),
since, if it were, then by (0.1.14) the inequality c
T
x >y 3S \\c\\/4 would be valid
for K. But it is in fact violated by z.
Hence by the hypothesis that the weak violation problem is in Jf&, there
is a rational vector u e S(K,5) such that c
T
u < y +<5||c|| and there exists a
polynomial length certificate of the fact that u e S(K,S). Let Z' be the simplex
obtained by blowing up S from z by a factor of 2. Then u e ' and hence
||K - Z|| <diam(r) <2e/3. Hence ||y-w|| <5e/3.
So if we present the vector u, together with the (direct) computation showing
that ||y w|| < 5e/3, and the above mentioned certificate for u e S(K,S) c
S(K, e/3), we have certified that y e S(K, 2e). D
The following result is in a sense dual to Theorem (2.2.9).
(2.2.10) Theorem. Let Jf ba a class of named well-bounded convex bodies. If
the weak separation problem for J f is in Jf^, then the weak validity problem
for X is also in Jf&.
The proof of this fact is analogous to the proof of Theorem (2.2.9) and is
omitted. We prove one more result of this type.
(2.2.11) Theorem. Let X be a class of named well-bounded convex bodies. The
weak membership problem for J T 75 in Jf& f) co-J^ if and only if the weak
validity problem for J T is in Jf@> D co-J^.
Proof. We only give the proof of the "if" part, the reverse direction is analogous.
So suppose that the weak validity problem for J f is in J^&nco-jV^. It is obvious
that the weak membership problem for J f is in QO-JT0>. TO show that it is in
J ^, we use Lemma (2.2.6). So we have to show that for every y e S(ex
t
(K),s)
there exists a concise certificate of the fact that y e S(K,2s). This is done
quite analogously to the previous proof. Let z e ex
f
(X) be a vector such that
\\y z\\ < e. By Lemma (2.2.5), there exists a simplex such that diam(L) <e/3
and S(z,S) c , where 5 =e
2
/(200n
2
). Moreover, is described by inequalities
cjx < y
t
(i =0, ..., n)
of polynomial encoding length for which cjx < y, is valid for K if i =1, ..., n.
Since, just as in the previous proof, the inequality c^x > 70 <5|koll/2 is
not valid for S(K, 5r/(%R)), it follows by the hypothesis that the weak validity
problem is in co- ^^, that there exists a polynomial length certificate "Co" of
the fact that the inequality c$x > yo +8II Co 11/2 is not valid for S(K,S/2). Hence
CQX > yo +51| Co || is not vahd for K. Furthermore, cjx < yt (1 <i < n) is valid
2.2 Nondeterministic Decision Problems for Convex Sets 63
for K and so cjx < y\ + d ||c,||/4 is valid for all x e S{K,d/4). Hence, as the weak
validity problem for J f is in JW, there exists a polynomial length certificate
"C,-" of the fact that cjx < y
t
+ S\\d\\/2 is valid for S(K,-dr/(SR)). This also
certifies, by (0.1.14), that cjx < y
{
+S \\a\\ is valid for K.
Let ' be the solution set of
cfx<yi + d\\Ci\\ (i = 0, . . . , M) .
The certificates Co, ..., C
n
imply that K contains a point from '. Moreover,
diam(I/) <s since 1/ is contained in the simplex obtained by blowing up S by a
factor of 2 from z. Hence Z
7
c S(y,2fi). So the certificates C
0
, ..., C, together
with a (direct) computation showing that S' S (>;, 2e), give a certificate of the
fact that yeS(K,2e), D
Chapter 3
The Ellipsoid Method
In 1979 a note of L. G. Khachiyan indicated how an algorithm, the so-called
ellipsoid method, originally devised for nonlinear nondifferentiable optimization,
can be modified in order to check the feasibility of a system of linear inequalities
in polynomial time. This result caused great excitement in the world of math-
ematical programming since it implies the polynomial time solvability of linear
programming problems.
This excitement had several causes. First of all, many researchers all over the
world had worked hard on the problem of finding a polynomial time algorithm
for linear programming for a long time without success. So a really major open
problem had been solved.
Secondly, many people believe that & Jf$P D co- J ^ - cf. Section 1.1 -
and the linear programming problem was one of the few problems known to
belong to *W& C\ co-^/K^but that had not been shown to be in ^. Thus, a further
indication for the correctness of this conjecture was obtained.
Thirdly, the ellipsoid method together with the additional number theoret-
ical "tricks" was so different from all the algorithms for linear programming
considered so far that the method itself and the correctness proof were a real
surprise.
Fourthly, the ellipsoid method, although "theoretically efficient", did not prove
to be "practically efficient". Therefore, controversies in complexity theory about
the value of polynomiality of algorithms and about how to measure encoding
lengths and running times - cf. Chapter 1 - were put into focus.
For almost all presently known versions of the simplex method, there exist a
few (artificial) examples for which this algorithm has exponential running time.
The first examples of this type have been discovered by KLEE and MINTY (1972).
Such bad examples do not exist for the ellipsoid method. But the ellipsoid
method has been observed to be much slower than the simplex algorithm on the
average in practical computation. In fact, BORGWARDT (1982) has shown that
the expected running time of a version of the simplex method is polynomial and
much better than the running time of the ellipsoid method. Although the ellipsoid
method does not seem to be a breakthrough in applied linear programming, it
is of value in nonlinear (in particular nondifferentiable) optimization - see for
instance ECKER and KUPFERSCHMID (1983).
As mentioned, nonlinear optimization is one of the roots of the ellipsoid
method. The method grew out of work in convex nondifferential optimization
(relaxation, subgradient, space dilatation methods, methods of central sections)
as well as of studies on computational complexity of convex programming
Chapter 3. The Ellipsoid Method 65
problems. The history of the ellipsoid method and its antecedents has been
covered extensively by BLAND, GOLDFARB and TODD (1981) and SCHRADER (1982).
Briefly, the development was as follows.
Based on his earlier work, SHOR (1970a,b) described a new gradient projection
algorithm with space dilatation for convex nondifferential programming. YUDI N
and NEMIROVSKII (1976a,b) observed that Shor's algorithm provides an answer
to a problem discussed by LEVIN (1965) and - in a somewhat cryptical way
- gave an outline of the ellipsoid method. The first explicit statement of the
ellipsoid method, as we know it today, is due to SHOR (1977). In the language of
nonlinear programming, it can be viewed as a rank-one update algorithm and is
quite analogous to a variable metric quasi-Newton method - see GOFFI N (1984)
for such interpretations of the ellipsoid method. This method was adapted by
KHACHIYAN (1979) to state the polynomial time solvability of linear programming.
The proofs appeared in KHACHIYAN (1980). Khachiyan's 1979-paper stimulated
a flood of research aiming at accelerating the method and making it more stable
for numerical purposes - cf. BLAND, GOLDFARB and TODD (1981) and SCHRADER
(1982) for surveys. We will not go into the numerical details of these modifications.
Our aim is to give more general versions of this algorithm which will enable us
to show that the problems discussed in Chapter 2 are equivalent with respect
to polynomial time solvability and, by applying these results, to unify various
algorithmic approaches to combinatorial optimization. The applicability of the
ellipsoid method to combinatorial optimization was discovered independently by
KARP and PAPADIMITRIOU (1980), PADBERG and RAO (1981), and GROTSCHEL,
LOVASZ and SCHRIJ VER (1981).
We do not believe that the ellipsoid method will become a true competitor of
the simplex algorithm for practical calculations. We do, however, believe that the
ellipsoid method has fundamental theoretical power since it is an elegant tool for
proving the polynomial time solvability of many geometric and combinatorial
optimization problems.
YAMNITSKI and LEVIN (1982) gave an algorithm - in the spirit of the ellipsoid
method and also based on the research in the Soviet Union mentioned above -
in which ellipsoids are replaced by simplices. This algorithm is somewhat slower
than the ellipsoid method, but it seems to have the same theoretical applicability.
Khachiyan's achievement received an attention in the nonscientific press that
is - to our knowledge - unpreceded in mathematics. Newspapers and journals
like The Guardian, Der Spiegel, Nieuwe Rotterdamsche Courant, Nepszabadsag,
The Daily Yomiuri wrote about the "major breakthrough in the solution of
real-world problems". The ellipsoid method even jumped on the front page
of The New York Times: "A Soviet Discovery Rocks World of Mathematics"
(November 7, 1979). Much of the excitement of the journalists was, however, due
to exaggerations and misinterpretations - see LAWLER (1980) for an account of
the treatment of the implications of the ellipsoid method in the public press.
Similar attention has recently been given to the new method of KARMARKAR
(1984) for linear programming. Karmarkar's algorithm uses an approach different
from the ellipsoid method and from the simplex method. Karmarkar's algorithm
has a better worst-case running time than the ellipsoid method, and it seems that
this method runs as fast or even faster than the simplex algorithm in practice.
66 Chapter 3. The Ellipsoid Method
But Karmarkar's algorithm requires - like the simplex method - the complete
knowledge of the constraint system for the linear programmming problem. And
thus - as far as we can see - it cannot be used to derive the consequences to be
discussed in this book.
The unexpected theoretical and practical developments in linear programming
in the recent years have prompted a revival of research in this area. The nonlinear
approach to linear programming - using techniques like the Newton method and
related descent procedures - receives particular attention. A number of further
polynomial time methods for the solution of linear programming problems have
been suggested - see for instance IRI and IMAI (1986), DE GHELLINCK and
VIAL (1986), BETKE and GRITZMANN (1986), and SONNEVEND (1986) - and are
under investigation with respect to their theoretical and practical behaviour.
It is conceivable that careful implementations of these methods and, possibly,
combinations of these methods with the simplex algorithm will lead to good codes
for linear programming problems. Such codes may become serious competitors
for the simplex codes that presently dominate the "LP-market". A thorough
computational and theoretical study of such prospects is the recent paper GI LL,
MURRAY, SAUNDERS, TOMLIN and WRIGHT (1986), where variants of Karmarkar's
algorithm are discussed in a general framework of projected Newton barrier
methods and where these are compared with several versions of the simplex
method with respect to practical efficiency for various classes of LP-problems.
3.1 Geometric Background and an Informal Description
The purpose of this section is to explain the geometric idea behind the ellip-
soid method, to give an informal description of it, to demonstrate some proof
techniques, and to discuss various modifications. We begin by summarizing well-
known geometric facts about ellipsoids. Then we describe the ellipsoid method
for the special case of finding a point in a polytope that is explicitly given by
linear inequalities and known to be empty or full-dimensional. We also present
proofs of a few basic lemmas, and finally, computational aspects of the ellipsoid
method are discussed, in particular questions of "rounding" and quicker "shrink-
ing". Proofs of more general results than described in this section can be found
in Sections 3.2 and 3.3.
The problems we address are trivial for the case of one variable. So we
assume in the proofs throughout Chapter 3 that n > 2.
Properties of Ellipsoids
A set E R
n
is an ellipsoid if there exists a vector aeR" and a positive definite
nxn-matrix A such that
(3.1.1) E =E(A,a) := {xeR
w
| (x - a)
T
A~
l
(x - a) < 1}.
(It will become clear soon that using A'
1
here, which is also a positive definite
matrix, is more convenient than using A.) Employing the ellipsoidal norm || \\
A
3.1 Geometric Background and an Informal Description 67
defined in Section 0.1 we can write equivalently
(3.1.2) E(A
9
a) = {x e R" | \\x-a\\
A
< 1},
that is, the ellipsoid E(A,a) is the unit ball around a in the vector space R"
endowed with the norm || \\
A
. So in particular, the unit ball S(0,1) around zero
(in the Euclidean norm) is the ellipsoid E(I,0). Note that E determines A and a
uniquely. The vector a is called the center of , and we say that E(A
9
a) is the
ellipsoid associated with A and a.
For every positive definite matrix A there exists a unique positive definite
matrix, denoted by A
l/2
, such that A = A
l/2
A
l/2
. It follows by a simple calculation
that
(3.1.3) E(A,a)=A
l/2
S(0A) + a.
Thus every ellipsoid is the image of the unit ball under a bijective affine trans-
formation.
There are some interesting connections between geometric properties of the
ellipsoid E =E(A,a) and algebraic properties of the matrix A which we want to
point out here. Recall from (0.1.3) that all eigenvalues of A are positive reals.
The diameter of E is the length of a longest axis and is equal to 2>/A, where A is
the largest eigenvalue of A. The longest axes of E correspond to the eigenvectors
belonging to A. The width of E is the length of a shortest axis which is 2V%
where X is the smallest eigenvalue of A. These observations imply that the ball
S(a, y/X) is the largest ball contained in E(A,a) and that S(a,V\) is the smallest
ball containing E(A,a). In fact, this is the geometric contents of inequality (0.1.9).
Moreover, the axes of symmetry of E correspond to the eigenvectors of A.
Figure 3.1 shows an ellipsoid graphically. It is the ellipsoid E(A,0) ^R
2
with
A = diag((16,4)
r
). The eigenvalues of A are A =16 and X = 4 with corresponding
eigenvectors e\ = (l ,0)
r
and e
2
= (0, l )
r
. So the diameter of (,4,0) is 2y/X =8,
while the width is 2Vl = 4.
Figure 3.1
The volume of an ellipsoid E = E(A,a)
9
denoted by vol(E), depends only on
the determinant of A and on the dimension of the space. More exactly, we have
(3.1.4) vo\(E(A
9
a)) = VdetA- V
n9
68 Chapter 3. The Ellipsoid Method
where V
n
is the volume of the unit ball 5(0,1) in R". It is well known that
n i r x xr
n
nl1
1 /2en\n/2
3
'
L 5 F
"
=
TV n^n ~"7=( ) >
r(rt/2 +1) vrcn
v rt
'
where
00
r(x) := J e"
l
t
x
~
x
dt, for x >0
o
is the gamma-function. The gamma-function satisfies
I =(n-1)! for all we N.
We will frequently need bounds on V
n
. It turns out that for our purposes it will
be enough to use the very rough estimates
(3.1.6) n~
n
< V
n
<2\
which are derived from the facts that 5(0,1) contains {xeR" |0<x, < 1/nJ =
1, ..., n} and that 5(0,1) is contained in {xeR"| HxH^<1}.
If x i Dx +d is a bijective affine transformation T then vo\(T(E(A,a))) =
detDVdeiA V
n
. This in particular shows that
vol(E(A,a)) _ \ol(T(E(A,a)))
vol(E(B,b)) ~ vol(T(E(B,b))V
that is, the quotient of the volumes of two ellipsoids is invariant under bijective
affine transformations.
It will be necessary for us to optimize linear objective functions over ellipsoids.
This is easy and can be derived from the obvious fact that, for c ^0, max c
T
x,
x G 5(a, 1) is achieved at the vector a +c/||c||. Namely, suppose that E(A,a) c ]R
n
is an ellipsoid and let c e R" \ {0}. Set Q :=A
l/2
. Recall from (3.1.3) that
QT
l
E(A
9
a) =5(0,1) +Q~
x
a = S(Q~
l
a, 1) and thus
max{c
r
x | x e E(A,a)} =max{c
T
QQ~
l
x \ Q~
l
x e Q~
x
E{A,a)}
= max{c
T
Qy \ y e SiQ^aJ)}
=
cT
Q^Q
c
+
cT
QQ~'
a
\\Qc\\
= c Ac + c a
vc
T
Ac
= c
T
a 4- s/c
T
Ac.
By setting
(3.1.7) b := -T^AC,
Vc
1
Ac
Zmax := CI + b,
Zmin := a b
9
3.1 Geometric Background and an Informal Description 69
we therefore obtain
(3.1.8) c
T
z
mSLX
= max{c
r
jc | x e E(A,a)} = c
T
a + Vc
T
Ac = c
T
a+ \\c\\
A
-i,
c
T
z
m
{
n
=min{c
r
x | xe E(A
9
a)} = c
T
a Vc
T
Ac = c
T
a \\c\\
A
-i.
This means that z
max
maximizes and z
m
{
n
minimizes c
T
x over E(A
9
a). The line
connecting z
max
and z
m
j
n
goes through the center a of E(A,a) and has direction b.
In Figure 3.2 we show the ellipsoid E(A,a) with A = diag((16,4)
r
), a
T
= (1,0.5)
and objective function c
T
=(2,-3). From (3.1.7) we obtain b
T
= (3.2,-1.2),
z
ax
= (1,0.5) +(-3.2,-1.2) = (-2.2,-0.7) and z
in
= (1,0.5) - (-3.2,-1.2) -
(4.2,1.7).
Figure 3.2
It is a well-known fact that every convex body is contained in a unique
ellipsoid of minimal volume and contains a unique ellipsoid of maximal volume.
Apparently, these two results have been discovered independently by several
mathematicians - see for instance DANZER, GRUNBAUM and KLEE (1963, p. 139).
In particular, these authors attribute the first result to K. Lowner. J OHN (1948)
proved the following more general theorem, the "moreover" part of which will
be of interest later.
(3.1.9) Theorem. For every convex body K c IR" there exists a unique ellipsoid
E of minimal volume containing K. Moreover, K contains the ellipsoid obtained
from E by shrinking it from its center by a factor ofn.
Let us call the minimum volume ellipsoid containing a convex body K the
Lowner-John ellipsoid of K. In formulas, the second part of Theorem (3.1.9)
states that, if E(A,a) is the Lowner-J ohn ellipsoid of K, then K contains the
ellipsoid E(n~
2
A,a).
For a regular simplex S, the Lowner-J ohn ellipsoid is a ball E(R
2
I,a) with
an appropriate radius R around the center of gravity a of S. The concentrical
ball E(n~
2
R
2
I,a) is the largest ellipsoid contained in S. This shows that the
parameter n in Theorem (3.1.9) is best possible.
70 Chapter 3. The Ellipsoid Method
(a) (b)
Figure 3.3
In general, the Lowner-J ohn ellipsoid of a convex body K is hard to compute.
We will, however, show in Section 4.6 that, under certain assumptions on K, good
approximations of it can be computed in polynomial time. In the ellipsoid method
and its variants, Lowner-J ohn ellipsoids of certain ellipsoidal sections are used;
and for these Lowner-J ohn ellipsoids, explicit formulas are known. We will
describe some of them.
Suppose E(A
9
a) is an ellipsoid and c eJRJ
1
\ {0}. Set
(3.1.10) E'(A,a
9
c) :=(y4,a)n{xeR" | c
T
x < c
T
a}.
So E'(A, a
9
c) is one half of the ellipsoid E(A,a) obtained by cutting E(A,a)
through the center a using the hyperplane {x e R" | c
T
x =c
T
a}. The Lowner-
J ohn ellipsoid of E'(A, a, c) is the ellipsoid E(A\a') given by the following formu-
las:
(3.1.11)
(3.1.12)
a! : = a -
" ^
St. *-J_
where b is the vector defined in (3.1.7). In Figure 3.3 we show the Lowner-
J ohn ellipsoids E(A\d) of two halfellipsoids E\A,a,c), where in (a), A =
diag((l,25/4)
r
), a = 0, c = (25,-4) and in (b), A = diag((16,4)
r
), a = 0,
c =(2, 3)
T
. The halfellipsoids E'(A,a,c) are the dotted regions.
Note that the center d of the Lowner-J ohn ellipsoid E(A',a!) of E'(A
9
a, c) lies
on the line through the vectors z
mSLX
and z
m
\
n
- see (3.1.7). More exactly, one can
3.1 Geometric Background and an Informal Description 71
get from a to d by making a step from a towards z
m
in of length ^||z
m
i
n
tf||-
Moreover, the boundary of E(A\a') touches E'(A,a,c) in the point z
m
j
n
and in
the set {x | ||x a\\
A
=1} H {x | c
T
x = c
T
a}. In R
2
the last set consists of two
points only - see Figure 3.3 - while in R
3
this is an ellipse.
We will see later that the algorithm described by Khachiyan makes use of
the Lowner-J ohn ellipsoid of E'(A, a, c). There are modifications of this method
using Lowner-J ohn ellipsoids of other ellipsoidal sections. Here we will describe
those that we use later - see BLAND, GOLDFARB and TODD (1981) for further
details. So suppose E(A,a) is an ellipsoid and c e R" \ {0}, y e R. It follows from
(3.1.8) that the hyperplane
H :={x 6 R" | c
T
x = y}
has a nonempty intersection with E(A,a) if and only if c
T
z
m
\
n
< y < c
T
z
msiX
, that
is, if and only if
\c
T
a y\ < Vc
T
Ac.
For notational convenience, let us set
T
c a y
(3.1.13) a := 1.
vc
T
Ac
Then H intersects E(A,a) if and only if
(3.1.14) - l <a<l .
The number a can be interpreted as the signed distance of the center a from the
boundary of the halfspace {x | c
T
x < y} in the space R" endowed with the norm
|| \\
A
-i. (The distance is nonpositive if a is contained in the halfspace.)
We want to cut E(A,a) into two pieces using H and to compute the Lowner-
J ohn ellipsoid of the piece contained in {x | c
T
x < y}. For
(3.1.15) E\A,a,c,y) :=E(A,a) H {x e R
n
| c
T
x < y}
9
the Lowner-J ohn ellipsoid E(A\a!) can be determined as follows.
If-I <a <-1/n then E{A\a!) = E(A,a).
Ifl/n <a <1 then E(A\d) is given by
(3.1.16) a' : =a- i +- ^,
n+ 1
where b is the vector defined in (3.1.7). Note that if y =c
T
a then E'{A,a,c,y) =
E'{A,a,c) and formulas (3.1.16) and (3.1.17) reduce to formulas (3.1.11) and
72 Chapter 3. The Ellipsoid Method
(3.1.12). So in formulas (3.1.11) and (3.1.12) we compute the Lowner-J ohn
ellipsoid of the section E(A,a,c) of E(A,a) that is obtained by cutting with H
through the center a. We call this a central cut. If 0 <a < 1 then E'(A,a,c
9
y)
is strictly contained in E'{A, a, c). This means that we cut off a larger piece of
E(A,a), and therefore c
T
x < y is called a deep cut. If 1/n <a <0 then we leave
more of E(A,a) than the "half" '(v4,a,c), and we call c
T
x < y SL shallow cut;
but in this case the Lowner-J ohn ellipsoid of E'(A,a,c,y) is still strictly smaller
than E{A,a), in the sense that it has a smaller volume. (We shall see later that
a volume reduction argument will prove the polynomial time termination of the
ellipsoid method.)
It is also possible to compute explicit formulas for the Lowner-J ohn ellipsoid
of E(A,a) fl {x | / < c
T
x < y}, i. e., for an ellipsoidal section determined by
parallel cuts. However, the formulas are quite horrible - see BLAND, GOLDFARB
and TODD (1981). We will need a special case of this, namely the Lowner-J ohn
ellipsoid of an ellipsoidal section determined by centrally symmetric parallel cuts,
i. e., of
(3.1.18) E"(A, a, c, y) := E(A, a) f) {x e R
n
| c
T
a - y < c
T
x < c
T
a + y}
9
where y > 0. Similarly as in (3.1.13), let a =y/Vc
T
Ac. It turns out that the
Lowner-J ohn ellipsoid of E"(A
9
a,c,y) is the ellipsoid E(A\a') defined as follows.
If oi < -1/y/n then E(A!,d) = E(A,a).
If-l/y/n < a < 0 then E(A\a') is given by
(3.1.19) a' :=a,
(3.1.20) A! := - \ ( 1 -a
2
)(A -
l
-f^bb
T
) .
n 1
v
1 a
2 J
W (b) (c) (d)
Figure 3.4a-d
Figure 3.4 shows the four types of cuts used in various versions of the ellipsoid
method. In all cases we assume that E(A,a) is the unit ball 5(0,1). Let c :=
3.1 Geometric Background and an Informal Description 73
(1,0)' be the vector used to cut through E(A,a). Picture (b) shows the Lowner-
J ohn ellipsoid of the dotted area E'(A,a,c) =5(0,1) fl {x | x\ > 0}, a central cut.
Picture (a) shows the Lowner-J ohn ellipsoid of the dotted set E'(A,a,c,1/2) =
5(0, l)fl{x | xj >1/2}, a deep cut. Picture (c) shows the Lowner-J ohn ellipsoid of
E'(A,a,c, 1/3) =5(0,1) fl {x | xi >1/3}, a shallow cut; while the Lowner-J ohn
ellipsoid of E"{A,a,c, 1/4) =5(0,1) D {x | -1/4 <
Xl
<1/4} is displayed in
picture (d). This set is determined by a centrally symmetric parallel cut.
Description of the Basic Ellipsoid Method
To show the basic idea behind the ellipsoid method, we describe it now as a
method to solve the strong nonemptiness problem for explicitly given polytopes
that are either empty or full-dimensional. The input for our algorithm is asystem
of inequalities c[x < y
i9
i =1,..., m, with n variables in integral coefficients. We
would like to determine whether
(3.1.21) P :={x e R
n
| cfx < y
i9
i =1, ..., m} ={x | Cx < d]
is empty or not, and if it is nonempty, we would like to find a point in P. In
order to get a correct answer the input must be accompanied by the following
guarantees :
(3.1.22) P is bounded.
(3.1.23) If P is nonempty, then P is full-dimensional.
It will turn out later that the certificates (3.1.22) and (3.1.23) are not necessary. The
(appropriately modified) method also works for possibly unbounded polyhedra
that are not full-dimensional. Moreover, we can handle polyhedra defined by
inequalities that are provided by a separation oracle, that is, the inequalities need
not be given in advance. To treat all these additional possibilities now would
only obscure the lines of thought. Thus, in order to explain the ideas underlying
the ellipsoid method, we restrict ourselves to the special case described above.
Recall the well-known method of catching a lion in the Sahara. It works as
follows. Fence in the Sahara, and split it into two parts; check which part does
not contain the lion, fence the other part in, and continue. After a finite number
of steps we will have caught the lion - if there was any - because the fenced-in
zone will be so small that the lion cannot move anymore. Or we realize that the
fenced-in zone is so small that it cannot contain any lion, i. e., there was no lion
at all. In order to illustrate the ellipsoid method by this old hunter's story we
have to describe what our Sahara is, how we split it into two parts, how we fence
these in, and when we can declare the lion caught or nonexistent.
For the Sahara we choose a ball around the origin, say 5(0,/*), that contains
our polytope P, the lion. If the system of inequalities (3.1.21) contains explicit
upper and lower bounds on the variables, say /, <x, <u
h
i =1, ..., n then a
radius R with P ^S(0,R) is easily found. Take for instance
(3.1.24) R := y/TUmaxlujjf}.
If bounds on the variables are not given explicitly we can use the information
that C and d are integral and that P is a polytope to compute such a radius R,
namely we have:
74 Chapter 3. The Ellipsoid Method
(3.1.25) Lemma. P c 5(0, K), where R :=y/n 2
(c
^~
n
\ D
Recall that (C,d) denotes the encoding length of C and d - see Section 1.3.
(Since we do not want to interrupt the flow of thought, the proofs of all lemmas
stated in this subsection are postponed to the next subsection.)
Now we have the starting point for the ellipsoid method. We know that P is
in S(0,ft) with R given by (3.1.24) or (3.1.25). This ball around the origin will
be our first ellipsoid E(Ao
y
ao) (which is clearly given by setting AQ :=R
2
I and
ao =0).
Let us now describe the /c-th step, k > 0, of the procedure. By construction,
the current ellipsoid
(3.1.26) E
k
:=E(A
k
,a
k
)
contains P. The ellipsoid E
k
has one distinguished point, its center a
k
, and we
have it explicitly at hand. So we can substitute a
k
into the inequality system
(3.1.21) and check whether all inequalities are satisfied. If this is the case, we can
stop, having found a feasible solution. If the center is not feasible, then at least
one inequality of the system (3.1.21) must be violated, let us say c
T
x < y. So we
have c
T
a
k
> y. The hyperplane {x \ c
T
x =c
T
a
k
) through the center a
k
of E
k
cuts E
k
into two "halves", and we know from the construction that the polytope
P is contained in the half
(3.1.27) E'(A
k9
a
k9
c) = {x e E(A
k
,a
k
) | c
T
x < c
T
a
k
).
Therefore we choose, as the next ellipsoid fc
+
i in our sequence, the Lowner-J ohn
ellipsoid of E'{A
k
,a
k
,c), which is given by formulas (3.1.11) and (3.1.12). And we
continue this way by successively including P into smaller and smaller ellipsoids.
The question to be answered now is: When can we stop? Clearly, if we find
a point in P, we terminate. But how long do we have to continue the iterations
if no feasible point is obtained? The stopping criterion comes from a volume
argument. Namely, we know the initial ellipsoid S(O
y
R) and therefore we can
estimate its volume, e. g., through (3.1.6). In each step k we construct a new
ellipsoid E
k
+i whose volume is strictly smaller than that of E
k
. More precisely,
one can show:
(3.1.28) Lemma.
vol
(fe+i) _ ^_L_V
+
V-^-V"
1
V
/ 2
< e-VM < 1
vol(E
fc
) " U n +l / V n- i y J

By our guarantees (3.1.22) and (3.1.23) we are sure that our polytope P has
a positive volume, unless it is empty. One can use the integrality of the data and
the fact that P is a polytope to prove
3.1 Geometric Background and an Informal Description 75
(3.1.29) Lemma. If the polytope P is full-dimensional, then
vol(P) >2-
(n+1)<c>+M
\

Now we can finish our analysis. We can estimate the volume of the initial
ellipsoid from above, and the volume of P, if P is nonempty, from below; and
we know the shrinking rate of the volumes. Therefore, we iterate until the present
ellipsoid has a volume that is smaller than the lower bound (3.1.29) on the volume
of P. If we have reached this situation, in step N say, we can stop since we know
that
(3.1.30) P^E
N
,
vol(E
N
) <vol(P).
This is clearly impossible, and we can conclude that P is empty. The number N
of iterations that have to be done in the worst case can be estimated as follows.
If we choose
(3.1.31) JV :=2n((2n + 1)<C) +n(d) - n
3
)
then it is easy to see that vol(E
N
) < 2~(
n+1
^
c
>
+
" (for an elaboration, see Lemma
(3.1.36)). Combining this with (3.1.29) we see that (3.1.30) holds for this N.
Our description of the ellipsoid method (except for implementational details) is
complete and we can summarize the procedure.
(3.1.32) The Basic Ellipsoid Method (for the strong nonemptiness problem for
full-dimensional or empty polytopes).
Input: An mxn-inequality system Cx < d with integral coefficients. We assume
that the data are accompanied by a guarantee that P = {x e R" | Cx <d] is
bounded and either empty or full-dimensional.
Initialization: Set
(a) k := 0,
(b) N :=2n((2n+l)(C) +n(</)-n
3
),
(c) A
0
:=R
2
I with R :=
v
/
"2
<c
^""
2
(or use any valid smaller R
as, for example, given in (3.1.24)),
OQ :=0 (so EQ :=E(Ao,ao) is the initial ellipsoid).
General Step:
(d) Ifk = N, STOP! (Declare P empty.)
(e) If a
k
e P, STOP! (A feasible solution is found.)
(f) Ifa
k
$ P
9
then choose an inequality, say c
T
x < y,
of the system Cx <d that is violated by a
k
.
76 Chapter 3. The Ellipsoid Method
Set
(g) * := -74r=
AkC (see (1L7))
'
Vc' A
k
c
(h) a
k+l
:=a
k
- - ^ b (see (3.1.11)),
*2
(i) A
k+l
:=- ^- j - ( A - rbb
T
) (see (3.1.12)),
and go to (d). D
We call algorithm (3.1.32) the basic ellipsoid method since it contains all the
fundamental ideas of the procedure. To make it a polynomial time algorithm or
to make it more efficient certain technical details have to be added. For instance,
we have to specify how the vector ak+\ in (h) is to be calculated. Our formula on
the right hand side of (h) leads to irrational numbers in general since a square
root is computed in the formula for b in (g). Nevertheless, the lemmas stated
before prove that the basic ellipsoid method works - provided that the single
steps of algorithm (3.1.32) can be implemented correctly (and efficiently). We will
discuss this issue in the subsection after the next one.
Proofs of Some Lemmas
We now give the proofs of the lemmas stated above. We begin with a slight
generalization of Lemma (3.1.25).
(3.1.33) Lemma. If P = {x e R" | Cx < d) is a polyhedron and C, d are
integral, then all vertices of P are contained in the ball around 0 with radius
R :=y/nl^
C4)
-
n
\ In particular, ifP is a polytope then P c S(0,R).
Proof. In order to show that the vertices of P are in 5(0, R) with the R given
above, we estimate the largest (in absolute value) component of a vertex of P.
Clearly, if we can find a number t > 0 such that no vertex of P has a component
which (in absolute value) is larger than t
y
then the vertices of P are contained
in {x | t < Xjf <tj =1, ..., n}, and thus in 5(0, y/nt). From polyhedral theory
we know that for each vertex v of P there is a nonsingular subsystem of Cx < d
containing n inequalities, say Bx < b, such that v is the unique solution of
Bx = b. By Cramer's rule, each component u, of v is given by
_ detB,
Vi
" d*B
where we obtain J5, fromB by replacing the i-th column of B by the vector b. Since
B is integral and nonsingular, we have that | detB\ > 1, and so |t?,-| <| det B
t
\. By
(1.3.3) (c)
|det,-| <;2<
B
'>-
n2
-l.
3.1 Geometric Background and an Informal Description 77
And thus, since (,) <(C,d),
\detBi\<2
{c
>
d)
-
n
\
Therefore, setting R :=y/n2^
c
^~
n
we can conclude that all vertices of P are
contained in S(0,R).
The reader is invited to find better estimates for R, for instance by using the
Hadamard inequality (0.1.28) directly and not only via (1.3.3).
Next we prove (3.1.28) and estimate how much the volume of the Lowner-
J ohn ellipsoid of the halfellipsoid E'(Ak,ak,c) shrinks compared with the volume
of E(A
k
,a
k
).
(3.1.34) Lemma. Let E ^IR" be an ellipsoid and E' be the ellipsoid obtained
fromE using formulas (3.1.7), (3.1.11), (3.1.12) for some vector c e!R"\{0}. Then
vol(') / / n \+i / n \-i \i /2
vol()
- ( ( m ) ( ^ r ) ) < - " " <'
Proof. To estimate the volume quotient, let us assume first, that the initial
ellipsoid is F :=(/,0) i. e., the unit ball around zero, and that the update vector
c used to compute b in (3.1.7) is the vector (1,0, ..., 0)
T
. In this case we obtain
from (3.1.7), (3.1.11), and (3.1.12):
ft =(-1,0, ...,0)
r
,
w +1 Vn+1 /
^ = ^r
T
(/-^
TT
(-i,a-.o)
r
(-i,a...,Q))
=di ag
(((^'^T'--'^zr) )
From this and (3.1.4) we conclude for the volumes of F and F' := E(A\a'):
voKFO Vd^V
n =
^
=
, n-U 1/2
vol(F) JtetAVn \(n+inn-l)" n + l)
#7+1/ v^ryj )
Hence, by taking the natural logarithm In, we obtain:
vol(F) ^ n ) y n )
^=> - < (n + l)ln(l + - ) + (n - l)ln(l - -).
n n n
78 Chapter 3. The Ellipsoid Method
Using the power series expansion lnx = XT
=1
(1)*
+1
(* 1)V& for 0 < x < 2,
we obtain
(w+ l)ln(l + - ) + ( n- l)ln(l - - ) =
n n
00 . 1 0 1
n+1 r - l
if-^-i
. i ' " ' & ^
00 / * 00
=
y
(
_i)*+i j L _yf i !L z
Lf
l)
kn
k
fi 2kn
2
k=l k=l
E
\* \ 7 X^
. , (2fc - ljn
2
*"
1
~ f-i 2kn
2k
~ ft kn
2k
~
l +
f-ikn
2k
= 1 ' K=1 k=\ k=\
k
oo
_ Y I I
a (2/c - \)k
i
> - ,
n
and thus the claim is proved for our special choice of the initial ellipsoid and c.
Now let E E(A
9
a) be any ellipsoid and E
r
= E(A\d) be an ellipsoid
constructed from E using the formulas (3.1.7), (3.1.11), and (3.1.12) for some
vector ceR
n
\ {0}. By (3.1.3), E = A
l
'
2
E(I
9
0) + a = A
l
'
2
F + a. Clearly, there
is an orthogonal matrix, say Q, which rotates A
l/2
c into a positive multiple of
(1,0, . . . , 0), that is, there is an orthogonal matrix Q such that
^
0
-'
0)T=
=w^\\
QAi,2c
-
Then
T(x) := A
l/2
Q
T
x + a
is a bijective affine transformation with T~
l
(x) = QA~
l
/
2
(x a). Now
T(F) = {T(y)\y
T
yl}
= {x | {T-
l
x)
T
{T-
l
x) < 1}
= {x | (x - a)
T
A-
1/2
Q
T
QA-
l/2
(x - a) < 1}
= { x| ( x- a)
r
y4-
1
( x- a) < 1}
and similarly for the ellipsoid F' defined above, we obtain T{F') = '. In the
subsection about properties of ellipsoids we have seen that the quotient of the
volumes of two ellipsoids is invariant under bijective transformations. Thus we
have
vol(E') vol(r(F')) vol(F') / / n \
+
7 n \->\i/2
-((^r) (^i) ) "<
vol() vol(r(F)) vol(F) Wn +
which completes the proof.
3.1 Geometric Background and an Informal Description 79
The following lemma proves (3.1.29) and shows the interesting fact that the
volume of a full-dimensional polytope cannot be "extremely small", that is, a
lower bound on vol(P) can be computed in polynomial time.
(3.1.35) Lemma. If P = {x e JR.
n
\ Cx < d} is a full-dimensional polytope and
the matrix C and the vector d are integral then
vol(P) >2-<
w+1)
<
c
>
+
"
3
.
Proof. From polyhedral theory we know that every full-dimensional polytope P
in R" contains n +1 vertices vo,v\, ..., v
n
, say, that are affinely independent. The
convex hull of these vertices forms a simplex S that is contained in P. Thus,
the volume of P is bounded from below by the volume of S. The volume of a
simplex can be determined by a well-known formula, namely we have
vol(S) = I detf
1 l

l
det Bn
Now recall that, for every vertex Vj, its i-th component is of the form -r- by
Cramers rule, where Bj is a submatrix of C and ,, a submatrix of (C,d). So we
obtain
V^o .. v
n
J\ l detB
0
- ...detBj I \
det .Bo ... det5
n
wo u
n
where w
0
, ..., u
n
are integral vectors in R". Since the last determinant above is
a nonzero integer, and since by (1.3.3) (c), |detP
;
| <2
{c)
~
n
holds, we get
**(
l
'" M l > , ,
pl
l
lA p
, > (2<
c
>-"
2
)-^).
V^o ... v
n
J\ |detBo| ... |detB|
Therefore, using n\ < 2
n
, we obtain
vol(P) >vol(S) >1(2<
C
>-"
2
)-^
1
) >
2
-("+
1
)<
c
>+"
3
.
D
The last lemma in this sequence justifies the choice (3.1.31) of the number N
of iterations of the general step in the basic ellipsoid method.
(3.1.36) Lemma. Suppose P ={x e R
w
| Cx < d) is a full-dimensional polytope
and Cx < d is an integral inequality system. If EQ = E(A
0
,ao) with OQ = 0,
Ao =R
2
I and R =\/n2^
C4)
~
n2
is the initial ellipsoid, and if the general step of
the basic ellipsoid method (3.1.32) is applied N :=2n((2n +1)<C) +n(d) - n
3
)
times then
vo\(E
N
) < 2^
n+X){c)W
< vol(P).
80 Chapter 3. The Ellipsoid Method
Proof. Since
0
{* e R" | ||x||oo <R}
y
we have
vol(
0
) <2"#
w
=
n
n
l
2
2
n
^
c4)
~
nl+n
=2
n
(<
c
'^-
n2
+
1+lo
sM/
2
) <2
M(c
'
d>
.
By (3.1.34), in each step of the basic ellipsoid method the volume of the next
ellipsoid shrinks at least with the factor e~
l
^
2n)
. Thus after N steps we get
vol(
N
) <e-
N/i7n)
vol(
0
) <2-
N/(2
"
)+
"<
c
^=2-
(
"
+1)(c>+n3
<vol(P),
where the last inequality follows from (3.1.35). The equality above is, in fact, the
defining equality for N. This proves our claim.
The reader will have noticed that most of the estimates in the proofs above
are quite generous. By a somewhat more careful analysis one can improve all
crucial parameters slightly to obtain a smaller upper bound N on the number of
iterations of the ellipsoid method. Since our main point is that the upper bound
is polynomial we have chosen a short way to achieve this. As far as we can see,
however, the order of magnitude of N
9
which is 0(n
2
(C,d)), cannot be improved.
Implementation Problems and Polynomiality
To estimate the running time of the basic ellipsoid method (3.1.32) in the worst
case, let us count each arithmetic operation as one elementary step of the
algorithm. The initialization (a), (b), (c) can obviously be done in 0(m n)
elementary steps. In each execution of the general step (d),..., (i) of (3.1.32) we
have to substitute a^ into the systemCx < d which requires 0(mn) elementary
steps, and we have to update a* and Ak in (h), (i). Clearly (h) needs 0(n)
elementary steps while (i) requires 0(n
2
) elementary steps. The maximum number
of times the general step of (3.1.32) is executed is bounded from above by
N = 2n((2n +1)(C) +n{d) - n
3
) =0(n
2
(C,d)). Since P is a polytope we have
m > n, and thus the total number of elementary steps of the basic ellipsoid
method is 0(mn
3
(C
9
d)). So we have found a polynomial upper bound on the
number of elementary steps of the basic ellipsoid method.
However, there are certain problems concerning the implementation of some
of the elementary steps. We take a square root in step (c) to calculate JR, SO we
may obtain an irrational number. One can take care of this by rounding R up
to the next integer. But, in fact, we only need the rational number JR
2
in the
initialization of Ao, so we do not have to compute R at all. A more serious
problem comes up in the general step. The vector b calculated in (g) is in general
irrational, and so is a*+i. Since irrational numbers have no finite representation in
binary encoding, we are not able to calculate the center a*+i exactly. Thus, in any
implementation of the ellipsoid method we have to round the coefficients of the
entries of the center of the next ellipsoid. This causes difficulties in our analysis.
Namely, by rounding a^\ to some vector 3*+i 6 Q", say, we will translate the
ellipsoid Ek+\ slightly to the ellipsoid Ek+i '= E(Ak+u3k+i)- Recalling that Ek+\
is the ellipsoid of minimum volume containing the halfellipsoid E'(Ak,ak,c) -
3.1 Geometric Background and an Informal Description 81
cf. (3.1.27) - we see that Ek+\ does not contain '(^,^,c) any more. So it
may happen that the polytope P c E'iA^a^c) is not contained in fc+i either.
And therefore, our central proof idea of constructing a sequence of shrinking
ellipsoids each containing P is not valid any more.
There is a further issue. Observe that the new matrix Ak+\ calculated in (i)
is rational, provided Ak and c are. But it is not clear a priori that the entries of
Ak+i do not grow too fast.
All these difficulties can be overcome with some effort. We will describe
here the geometric ideas behind this. The concrete mathematical analysis of the
correctness and implementability of these ideas will be given in Section 3.2.
We have seen that rounding is unavoidable in the calculation of the center
afc+i- We will do this as follows. We write each entry of ak+\ in its binary
representation and cut off after p digits behind the binary point, where p is to
be specified. In other words, we fix a denominator 2
P
and approximate each
number by a rational number with this denominator. To keep the growth of the
encoding lengths of the matrices Ak+\ under control, we apply the same rounding
method to the entries of Ak+\. As remarked before, rounding of the entries of the
center results in a translation of the ellipsoid. By rounding the entries of Ak+\
we induce a change of the shape of the ellipsoid in addition. The two roundings
may produce a new ellipsoid which does not contain P. Moreover, by rounding
a positive definite matrix too roughly positive definiteness may be lost. So we
also have to take care that the rounded matrix is still positive definite. It follows
that we should make p large enough, subject to the condition that all numbers
coming up during the execution of the algorithm are of polynomial encoding
length.
We still have to find a way to keep P inside the newly calculated ellipsoid.
Since we cannot move P, we have to do something with the new ellipsoid. One
idea that works is to maintain the (rounded) center and to blow up the ellipsoid
obtained by rounding the entries of Ak+\ in such a way that the blow-up will
compensate the translation and the change of shape of the Lowner-J ohn ellipsoid
induced by rounding. The blow-up factor must be so large that the enlarged
ellipsoid contains P. Clearly, we have to blow up carefully. We know from
(3.1.28) that the shrinking rate is below 1; but it is very close to 1. In order to
keep polynomial time termination, we have to choose a blow-up factor that on
the one hand gives a sufficient shrinking rate and on the other, guarantees that
P is contained in the blown-up ellipsoid. This shows that the blow-up factor and
the number p determining the precision of the arithmetic influence each other,
and they have to be chosen simultaneously to achieve all the goals at the same
time.
It turns out that appropriate choices of N, p, and the blow-up factor <J can
be made, namely if we choose
(3.1.37) JV :=50(n+l)
2
<C,<i),
p :=8N,
4(n+l )
2
'
82 Chapter 3. The Ellipsoid Method
we can make all the desired conclusions. These modifications turn the basic
ellipsoid method (3.1.32) into an algorithm that runs in polynomial time.
From the practical point of view these considerations and modifications
seem quite irrelevant. Note that the ellipsoid method requires problem-specific
precision. But usually, our computers have fixed precision. Even software that
allows the use of variable precision would not help, since the precision demands of
the ellipsoid method in this version are so gigantic that they are hardly satisfiable
in practice. Thus, in a computer implementation of the ellipsoid method with
fixed precision it will be possible to conclude that one of the calculated centers is
contained in P, but by stopping after N steps we cannot surely declare P empty.
To prove emptiness, additional tests have to be added, based for instance on the
Farkas lemma.
By looking at the formulas we have stated for Lowner-J ohn ellipsoids of
various ellipsoidal sections - see (3.1.11), (3.1.12); (3.1.16), (3.1.17); (3.1.19),
(3.1.20) - one can immediately see that a speed-up of the shrinking can be
obtained by using deep or other cuts. There are many possibilities to "play" with
the parameters of the ellipsoid method. To describe some of them let us write
the basic iteration of the ellipsoid method in the following form
(3.1.38) a
k
+
{
:a
k
- p A
k
c,
y/C
1
A
k
C
1
T
(3.1.39) A
k
+i : a{A
k
- 1 A
k
cc
l
A
k
),
where "" means cutting off after the p-th digit behind the point in the binary
representation of the number on the right hand side. Following BLAND, GOLDFARB
and TODD (1981) we call p the step parameter (it determines the length of the
step from a
k
in the direction of b to obtain a
k
+\)
9
<x the dilatation parameter,
r the expansion parameter and C the blow-up parameter (this is the factor used
to blow up the ellipsoid to compensate for the rounding errors). The ellipsoid
method in perfect arithmetic (no rounding) as stated in (3.1.32) is thus given by
(3.1.40) pr-J -j,
ff:
=-^,
t:
--2- :=1.
It is a so-called central-cut method since it always uses cuts through the center
of the current ellipsoid. The ellipsoid method with rounding and blow-up, i. e.,
the polynomial time version of (3.1.32) is thus defined by
i 2 o 1
(3.1.41) p :=- , <r := -, x :=, :=1 +
n+r ' n
2
-V ' n +1' * ' 4(+l )
2
'
If c
T
x < y is the violated inequality found in (f) of (3.1.32), then defining a :=
(c
T
ak y)/y/c
T
AkC as in (3.1.13) and setting
(3.1.42) P . - - ^- , ' - - - ^n -
T
-
=
( n+l ) ( l +a) ' * "=*
3.1 Geometric Background and an Informal Description 83
we obtain the deep-cut ellipsoid method (in perfect arithmetic). Note that since
c
T
cik > y, the hyperplane {x \ c
T
x = y} is indeed a deep cut, and so the Lowner-
J ohn ellipsoid of E'(Ak,ak,c,y) - see (3.1.15) - which is given through formulas
(3.1.38), (3.1.39) (without rounding), and (3.1.42) has indeed a smaller volume
than that of E'(Ak,ak,c) used in (3.1.32).
The use of deep cuts will - due to faster shrinking - in general speed up the
convergence of the ellipsoid method. But one can also easily construct examples
where the standard method finds a feasible solution more quickly. However,
the use of deep cuts does not seem to change the order of magnitude of the
number N of iterations of the general step necessary to correctly conclude that
P is empty. So from a theoretical point of view, deep cuts do not improve the
worst-case running time of the algorithm.
Using a number a in (3.1.42) with \/n < a <0 we obtain a shallow-cut
ellipsoid method. Although - from a practical point of view - it seems ridiculous
to use a shallow-cut method, since we do not shrink as much as we can, it will
turn out that this version of the ellipsoid method is of particular theoretical
power. Using this method we will be able to prove results which - as far as we
can see - cannot be derived from the central-cut or deep-cut ellipsoid method.
Some Examples
The following examples have been made up to illustrate the iterations of the
ellipsoid method geometrically. Let us first consider the polytope P ^ R
2
defined by the inequalities
(1) x\ X2<2
(2) 3x
2
< 4
(3) -2*i +2x
2
< 3.
This polytope is contained in the ball of radius 7 around zero. To find a point in
P, we start the basic ellipsoid method (3.1.32) with E(A
0
,ao) where
^
0 =
(
4
o 49)'
ao =
( o ) '
see Figure 3.5. The center a
0
violates inequality (1). One iteration of the algorithm
yields the ellipsoid E(A
u
a\) also shown in Figure 3.5. The new center a\ violates
(2). We update and continue this way. The fifth iteration produces the ellipsoid
E(A
5
,a
5
) displayed in Figure 3.6. In the 7-th iteration the ellipsoid E(A
l9
a-j)
shown in Figure 3.7 is found. Its center a
7
= (1.2661,2.3217)
r
is contained in
P. The whole sequence of ellipsoids E(AO,OQ)
9
..., E{A
1
,a
1
) produced in this
example is shown in Figure 3.8.
84 Chapter 3. The Ellipsoid Method
Figure 3.5
Figure 3.6
3.1 Geometric Background and An Informal Description 85
Figure 3.7
Figure 3.8
86 Chapter 3. The Ellipsoid Method
The pictures of the iterations of the ellipsoid method show clearly that in
an update the ellipsoid is squeezed in the direction of c while it is expanded
in the direction orthogonal to c. If many updates are done with one and the
same vector c the ellipsoids become "needles". To demonstrate this effect, let us
consider the polytope P c R
2
defined by
17 18
20"
X l
- 20
1 1
- - < *
2
< - .
Starting the basic ellipsoid method with E(Ao,ao) = S(0,1), we make five it-
erations until the center a
5
= (211/243,0)
r
of the fifth ellipsoid E(A
5
,a
5
) is
contained in P. The six ellipsoids E(Ao,ao), ..., E(As,as) of this sequence are
displayed in Figure 3.9 (a). If the ellipsoid method receives "flat" polytopes as
its input, it is likely that the algorithm produces extremely flat ellipsoids, say of
several kilometers length and a few millimeters width. This inevitably leads to
numerical difficulties in practice. In such cases, some variants of the ellipsoid
method frequently perform better empirically. For instance, the deep-cut ellipsoid
method finds a feasible point of the polytope P defined above in one iteration.
This iteration is shown in Figure 3.9 (b). But there is no general result quantifying
this improvement in performance.
(a)
Figure 3.9
(b)
*3.2 The Central-Cut Ellipsoid Method
We shall now give a description and analysis of the version of the basic ellipsoid
method (3.1.32) where arithmetic operations are performed in finite precision
and the errors induced by rounding are compensated for by blowing up the
3.2 The Central-Cut Ellipsoid Method 87
"rounded" Lowner-J ohn ellipsoid. This section provides proofs of the claims
about this method made in the previous section. In particular, the polynomial
running time is established. Moreover, we do not restrict ourselves to the case
of an explicitly given polytope, but we treat the general case of a circumscribed
closed convex set given by a certain separation oracle. Our main result of this
section can be stated as follows.
(3.2.1) Theorem. There exists an oracle-polynomial time algorithm, called the
central-cut ellipsoid method, that solves the following problem :
Input: A rational number s > 0 and a circumscribed closed convex set (K; n, R)
given by an oracle SEP* that, for any y e Q
M
and any rational number 5 > 0,
either asserts that y e S(K,S) or finds a vector c e Q" with ||e||oo =1 such that
c
T
x < c
T
y +5 for every xe K.
Output: One of the following:
(i) a vector ae S(K,e),
(ii) a positive definite matrix A e Q
nx
" and a point a e Q" such that K c E(A
y
a)
and\o\(E(A,a)) < e.
Whenever we speak of the ellipsoid method without referring to a special
version we will mean the central-cut ellipsoid method, to be described in the proof
of Theorem (3.2.1). This method specifies a sequence of ellipsoids Eo,E
u
..., E
N
(i. e., a sequence of positive definite matrices AQ,A\, ...
9
AN, and a sequence of
centers ao,a\, ..., a
N
, with Ek =E(Ak,ak), k = 0, ..., N), that contain the given
set K, such that either at least one of the centers a^ satisfies a^ e S(K,s) (so
alternative (i) of (3.2.1) is achieved), or the last ellipsoid E
N
has volume at most
e.
Proof of Theorem (3.2.1). The proof will be given in several steps. We first
describe the method, then prove its correctness assuming that several lemmas
hold. Finally the truth of the lemmas will be established.
So let numbers n, R, e and an oracle SEP^be given as required in the theorem.
Without loss of generality e < 1.
I. For the precise description of the algorithm we need the following parameters:
(3.2.2) N :=\5n\ loge| +5n
2
\ log(2*)|"|,
(3.2.3) p \= 8AT,
(3.2.4) 5 :=2~
p
.
The integer N is the maximum number of iterations of the central-cut ellipsoid
method, the rational number 8 is the error we allow the oracle SEP* to make, and
the integer p is the precision parameter for representation of numbers. We assume
throughout the algorithm that all numbers occurring are represented in binary
form and are rounded to p digits behind the point. Clearly, for every rational
number given by a numerator and denominator, this binary approximation can
be easily computed.
88 Chapter 3. The Ellipsoid Method
We initialize the procedure by setting:
(3.2.5) a
Q
:=0,
A
0
:=K
2
/,
so that
0
=S(0,R) and hence K c
0
.
Assume a
k
, A
k
are found for some k > 0. If /c =N, then the ellipsoid ^ =
E(A
N
,a
N
) has the property required in (ii) of (3.2.1) (we shall prove this later),
and we stop.
If k < N, we call the oracle SEP^with y =a
k
and the error parameter 6
defined in (3.2.4).
If SEP* concludes that a* e S(X,<5), then by the choice of <5, ak e S(K,e)
9
and we stop having achieved (i) of (3.2.1).
If SEP* gives a vector c e Q
n
with ||c||oo = 1 and c
T
x < c
T
ak +(5 for all
x e X, then we do the following computations:
1 A
k
c
a
k
+i : ^
r
. :,
2w
2
+ 3 / . 2 A K C ^A
where the sign "" in (3.2.6), (3.2.7) means that the left hand side is obtained by
cutting the binary expansions of the numbers on right hand side after p digits
behind the binary point. This finishes the description of the central-cut ellipsoid
method.
II. To prove the correctness of the algorithm, we establish the following facts.
(Recall that for a vector x, ||x|| denotes the Euclidean norm, and for a matrix A,
\\A\\ denotes the spectral norm (0.1.16).)
(3.2.8) Lemma. The matrices AQ
9
A\
9
... are positive definite. Moreover,
\\a
k
\\<R2\ M*||<*
2
2\ and \\A~
k
l
\\ < R~
2
4
k
.
(3.2.9) Lemma. X c E
k
for k = 0,1,...
(3.2.10) Lemma. vol(
fc+
i)/ vol(
fc
) <e~
l/
^ for k = 0,1,...
We shall prove these lemmas in III, IV, and V below.
It follows from Lemma (3.2.8) that all the formulas on the right hand sides
of (3.2.6), (3.2.7) are meaningful (no division by 0) and that the intermediate
numbers (entries of a
k
and A
k
) do not grow too large, i. e., have polynomial
encoding lengths. This shows that all the arithmetic operations can be carried
out in polynomial time.
If the algorithm stops with a
k
e S(K,e)
9
then of course we have nothing to
prove. If it stops with k =N, then by Lemma (3.2.9), E
N
indeed contains K.
Moreover, by Lemma (3.2.10) the volume of EN satisfies
vol(E
N
)<e-
N/{5n)
\ol(E
0
).
(3.2.6)
(3.2.7)
3.2 The Central-Cut Ellipsoid Method 89
Eo is the ball around zero with radius R, so EQ is contained in the hypercube
Q = {x e 1R
W
| R < Xii < R
9
i = 1, ..., n). From the very rough estimate
vol(
0
) <vol(g) =(2R)
n
we get
(3.2.11) vo\(E
N
) < e-
N/{5n)
{2R)
n
< 2~
N/{5n)
(2R)
n
< e.
The last inequality in (3.2.11) in fact is the inequality from which the value of
N is derived. So the truth of this inequality directly follows from the choice of
N. This finishes the proof of Theorem (3.2.1) subject to the correctness of (3.2.8),
(3.2.9), (3.2.10), which we show now.
III. Proof of Lemma (3.2.8). We prove the lemma by induction on k. Since
ao =0 and since the largest eigenvalue of Ao is R
2
, all the statements of (3.2.8)
are clearly true for k = 0. Assume that they are true for k > 0. Let a*
k+l
, A*
k+l
be
the right hand sides of (3.2.6) and (3.2.7) without rounding, i. e.,
(3.2.12) a*
k+l
: =a
k
- JL ,
n + 1 y/c
T
A
k
c
n
,
n
, ,. 2M
2
4-3 (
A
2 A
k
cc
T
A
k
\
Then note first that
(3-2.14)
W +i r
.
=
_^_(^
+
-l
I
_^L),
which is easy to verify by computation. Thus, (A*
k+X
)~
l
is the sum of a positive
definite and a positive semidefinite matrix, and so it is positive definite. Hence
also A*
M
is positive definite.
Equation (0.1.17) immediately implies that for positive semidefinite matrices
A and B, \\A\\ < \\A +2*|| holds. Using this, the fact that A*
k+X
is positive definite,
and the induction hypothesis, we have:
(3.2.15) K
+
i l l =
2n
2
+3 ii 2 A
k
cc
T
A
k
2n
2 A
k
n+1 c
T
A
k
c
Further, since each entry of A
k
+i differs from the corresponding entry of A*
k+l
by
at most 2~
p
(due to our rounding procedure) we have from (0.1.23)
(3.2.16) \\A
k+1
-Al
+{
\\ < \\A
M
- ^
+1
| |
ma
x < n2-'.
So (3.2.15), (3.2.16), and the choice of p give
(3.2.17) \\A
M
|| < \\A
M
- A*
M
|| + \\Al
+1
\\ < n2'
p
+ jR
2
2
k
< R
2
2
k+l
.
90 Chapter 3. The Ellipsoid Method
This proves the second claim of Lemma (3.2.8).
Moreover, setting Q :=A
l
k
/2
, using formula (3.2.12) and the definition of the
spectral norm (0.1.16) we obtain
mm w* a\\-
l llAkCl]
-
1
<P^-
l
h
cT
Q
T
)MQc)
(3.2.18) |
aw
-*|__-___y___^
CTQTQC
n+1 n+1
Our rounding procedure and (0.1.7) give
(3.2.19) \\a
k
+\-a
M
\\ < M\a
k
+i -a
k+x
U < y/n2~
p
;
and therefore, by the induction hypothesis, the choice of p, and the inequalities
(3.2.18) and (3.2.19) derived above we get
(3.2.20) \\a
M
\\ < \\a
M
-a
M
\\ + \\a
k+l
-a
k
\\ +||a*||
<v^2~
p
+-^-rR2
k
-
{
+R2
k
n+1
<R2
M
.
This proves the first claim of (3.2.8). Finally, we observe that
(3.2.2.)
ll(
^,,-.
|l:S
^L(M-.
|l +
-l
T
lg)
2n
2
/.. . ,.. 2
<
(l l Vl l + (MiT'll)
2
2
+ 3
3R'
2
4
k
.
(The first inequality above follows from (3.2.14). To get the second inequality,
note that (0.1.16) immediately yields \\cc
T
\\ =c
T
c. Setting Q =A
1
/
2
, by (0.1.18)
W6haVe
l*
r
ll c*c _ _
1 | | 2
,_,
tt~W&c*
lQ
~
r
~
Ui;
The last inequality in (3.2.21) follows from n > 2 and our induction hypothesis.)
Let XQ denote the least eigenvalue of A
k
+\ and let y be a corresponding
eigenvector with ||t>|| =1. Then by (3.2.16), (3.2.21), and (0.1.17), (0.1.23), and the
choice of p:
(3.2.22) XQ =v
T
A
k+
iv =v
T
A*
M
v +v
T
(A
M
- A*
k+l
)v
*\\K+ir
l
\r
l
-\\*k+i-Ai
+
j
> ^R
2
4~
k
-n2-
p
> R
2
4-
+l)
.
FromAo >0 we can conclude that A
k
+\ is positive definite. Moreover, by (0.1.18)
and (3.2.22),
WA^W = X,
1
< R~
2
4
k+l
.
This proves the third assertion of (3.2.8).
3.2 The Central-Cut Ellipsoid Method 91
IV. Proof of Lemma (3.2.9). By induction on k. The claim holds by construction
for k = 0. Suppose the claim is true for k, and let a
k+l
and A*
k+l
be the vector
resp. matrix defined in (3.2.12) and (3.2.13) in the proof of the previous lemma.
Take any x e K. We have to prove that
(3.2.23) (x - a
M
)
T
A^
{
(x - a
M
) < 1.
We shall estimate the left-hand side of (3.2.23) in several steps. Using (3.2.14) we
get
(3.2.24) (x - a
k+{
)
T
(Al
+l
)-
{
(x - a
M
) =
In
2
/ 1
(x-a
k
-\ ,
k
}
/ i 2 cc
T
\ ( 1 A
k
c \
In
2
({x-a
k
)
T
A
k
l
(x-a
k
)+
2n
2
+ 3
|
1
|
2 c
T
(x-a
k
)
|
2 (c
T
(x-a
k
))\
1
|
2 c'(x-a
k
)
|
2 (c
T
(x-a
k
)Y
n
2
1 n 1 y/c
T
A
k
c n 1 c
T
A
k
c
By induction hypothesis, we know that K E
k
. So x belongs to E
k
, and thus
the first term in the last formula of (3.2.24) above is at most 1. Setting
(3-2.25) t :=
C
^f^,
Vc
1
A
k
c
we therefore obtain
(3.2.26) (x-a'
k+l
)
T
(Al
+l
)-
l
(x-a
k+l
) < ^ - ^ ( - ^ + -^t(t + 1)) .
To estimatet(t+\), we proceed as follows. Using the fact that Ak can be written as
QQ, where Q = A
k
, we can bound t from above employing the Cauchy-Schwarz
inequality (0.1.26):
\c
T
(x-a
k
)\ = \c
T
Q(Q-
l
(x-a
k
))\
^\\c
T
Q\\\\Q-
{
(x~a
k
)\\
= Vc
T
QQc V(x-a
k
)
T
Q-iQ-i(x-a
k
)
= y/c
T
A
k
c y (x - a
k
)
T
A
k
l
(x - a
k
),
and hence, since xe E
k
92 Chapter 3. The Ellipsoid Method
The oracle SEP*: guarantees that c (x a
k
)<S, and so
c
r
(x a
k
) S
t= ; <
<Sy/\\A^\\<5R-
{
2
k
.
"
/
^^
C
\\c\\ VWll"
1
Using this estimate and (3.2.27), we can conclude
r(+l) <2SR-
{
2
N
.
Substituting this upper bound for t(t+ 1) in (3.2.26), we get
(3.2.28) ( x - ;
+1
)
r
( 4
+1
^^
<
2n
\ +ASR-
l
2
N
.
2n
4
+ n
2
- 3
The rest of the proof is standard error estimation:
A :=|(x - a
k+i
)
T
A^l
x
(x - a
M
) -{x- a
k+l
f (A*
k+1
)~
l
(x - a*
M
)\
< \(x-a
k+l
)
T
A
k
l
{
(al
+l
- a
k
+i)\ + \(a
k+l
- a
M
)A
k
l
{
{x - a[
+l
)\
+ |(x - a
M
)
T
(Ail
x
- (Al
+{
)-
{
)(x - a
M
)\
< ||x-a
fc+1
|| WA^lJ \\a*
k+l
- a
k+l
\\ + \\a*
k+l
- a
k+l
\\ \\A
k
l
x
\\ \\x-a*
k+l
\\
+ ||x- ^
+1
||
2
||^
1
|| MA*
k+l
r
l
\\ \\A
m
M
-A
M
\\.
To continue the estimation, we observe that by Lemma (3.2.8), by the choice of
p, and by the facts that x e S(0,R) and k < N - 1 :
II* - *+i || <||x|| +110*+, || <R + R2
k+l
< R2
N+l
,
\\x - a*
k+l
1| <||x - a
M
|| + ||a
A+
i - a'
M
|| <R + R2
k+l
+ v^2"" < R2
N+l
.
So again by (3.2.8) and by (3.2.21), we conclude:
(3.2.29) A < (R2
N+l
)(R-
2
4
N
)(V^2-
p
) + {^2~
P
){R-H
N
){R2
N+x
)
+ {R
2
2
2N+2
)(R-
2
4
N
)(R-
2
4
N
)(n2-
p
)
< nR-
i
2
w+2
-
p
+ nR-
2
2
6N+2
-P.
Now we can put the estimates (3.2.28) and (3.2.29) together to get (3.2.23):
(x-a
k+
i)
T
A^ix-ak+i) ^
< |(x - a
k+
{)
T
A^ix - fl
fc+
i) - (x - al^Al^-^x - a'
k+i
)\
+ (x-a'
k+l
)
T
(A'
k+i
r
l
(x-a'
k+l
)
<
2n
\ +46R~
l
2
N
+nR-
1
2
3N+2
-? + nR-
2
2
6N+2
-
2rr -f n
z
3
<1,
where the last inequality follows from the choice of p.
3.2 The Central-Cut Ellipsoid Method 93
V. Proof of Lemma (3.2.10). As mentioned in (3.1.4), the volume of an ellipsoid
E(A,a) c R" is known to be y/dct(A) vol(S(0,1)). Hence we obtain
G 2 3 m
vol(fc

i)
=
tet(A
M
)
=
/det(x;
+1
) det(A
k+l
)
K
'' ' vo\(E
k
) V det(40 V det(>l
fc
) V
d
et(^
+1
)'
where /4
+1
is the matrix defined in (3.2.13). To estimate the first factor on the
right hand side of (3.2.30), write A^ = QQ where Q = A
k
and use the definition
of
4t+i
:
^ ^ -
r
= d e t
( e
A
M
Q )=(-&-) ^-^J^QQJ-
Since Qcc
T
Q/c
T
QQc has rank one and trace one, the matrix in the last determi-
nant has eigenvalues 1, ..., 1,1 2/(n +1). So
(3-2-31)
d
~P4 =(
2
4
1
)"
n
-^ * e
V{2n)
e-
2ln
=<r
UW
-
v y
det(/lk) V 2M
2
/ n-fl
To obtain the last estimate we have used the well-known facts that 1 +x < e
x
for all x e 1R and (1 +^)
n
> e
2
, for n > 2 - cf. POLYA and SZEGO (1978), I. 172.
To estimate the second factor of (3.2.30) write it as follows (and recall
inequality (3.2.21) and the fact that detfl < ||B||
n
):
(3.2.32) J ^
1 =det
<
7
+(4Ui)~Wi -A*
M
))
aelA
k+i
<\\I + (Al
+i
r
l
(A
M
-Al
+1
)f
<(\\i\\ + HAi
+l
r
{
\\\\A
k+l
-Ai
+l
\\r
< (1 + (R-
2
4
k+l
)(n2-
p
))
n
< e
n
2
2
2N
~pR-
2
< e
1/{{0n
\
where the last inequality follows from the choice of N and p. Thus, from the
estimates (3.2.31) and (3.2.32) we get
vol(E
fe+
i) /deti4;
+1
detA
M <
I/(
4
*)+I/(20K)
=
-\/{Sn)
vol(
fc
) ~V dctAfc V
deM
fe+i ~
This finishes the proof of Lemma (3.2.10).
Thus the proof of Theorem (3.2.1) is complete.
94 Chapter 3. The Ellipsoid Method
(3.2.33) Remark. Suppose that, instead of the oracle SEP* in the input of
Theorem (3.2.1), we have an oracle SEP*,*, (for some fixed subset K\ c K),
which is weaker than SEP* in the following sense: for any y e <Q
n
and any
rational 5 > 0, SEP*,*, either asserts that y e S(K
9
3) or finds a vector c e Q
n
with ||c||oo =1 such that c
T
x < c
T
y+S for every x e K\. Then we obtain the same
conclusion as in (3.2.1) except that we can only guarantee that K\ is contained
in(/4,a).
(3.2.34) Remark. For technical reasons, the "separation" oracle used in Theorem
(3.2.1) is slightly stronger than a weak separation oracle. However, for well-
bounded convex bodies (where we know an inner radius for the convex set), any
weak separation oracle can be turned into one necessary for Theorem (3.2.1).
This is immediate from the following lemma.
(3.2.35) Lemma. Let (K\n
9
R,r) be a well-bounded convex body, ceR" with
||c||oo = 1, and y,(5 e R with r > 3 > 0. Suppose that c
T
x < y is valid for
S(K,-S). Then
T
2RS r-
c x <y H yjn For all xe K.
r
Proof. Let xo be a point in K maximizing c
T
x over K. By definition (2.1.16), there
is a point ooeR" with S(ao,r) K. Consider the function f(x) := x +(l )xo.
Set a := /(ao), then f(S(ao,r)) =(a,<5), and moreover, S(a,5) is contained in
conv({xo} U S(ao,r)). Since xo e X, and S(ao,r) c K, S(a,5) is contained in K
by convexity. Hence a e S(K,d), and so we know that c
1
a < y. Now note
that xo = a+ j(xo ao). Thus in order to estimate C
T
XQ, we have to find a
bound on c
T
(xo oo)- Since xo,ao e X and X S(0,K), we can conclude that
||JCO aoll ^ 2R, and since ||c||oo = 1, we know that ||c|| < y/n. Putting this
together and using the Cauchy-Schwarz inequality (0.1.26) we get:
T T< 0 Of O d r-
c
1
xo <c (fl-h~(xo flo)) <7 +- ^ (xo flo) <y +-||c||||xo ooll - y+-Vn2R,
and the claim is proved. D
^3.3 The Shallow-Cut Ellipsoid Method
We have already mentioned before that the central-cut ellipsoid method as
described in the previous section does not make full use of the geometric idea
behind it. It has been observed by many authors that, for instance, using deep
cuts can speed up the method (see SHOR and GERSHOVICH (1979), and BLAND,
GOLDFARB and TODD (1981) for a survey). A deeper idea due to YUDIN and
NEMIROVSKI! (1976b) is the use of shallow cuts. These provide slower (though
still polynomial time) termination but work for substantially weaker separation
oracles. This method will allow us to derive (among other results) the polynomial
3.3 The Shallow-Cut Ellipsoid Method 95
time equivalence of the weak membership (2.1.14) and weak separation problems
(2.1.13) for centered convex bodies.
To formulate this method precisely, we have to define a shallow separation
oracle for a convex set K. Before giving an exact definition, we describe the
geometric idea on which the shallow-cut method is based. In the central-cut
ellipsoid method we stop as soon as we have found a point almost in the convex
set K. Now we want to find a point deep in K - even more, we are looking for an
ellipsoid E(A,a) containing K such that the concentrical ellipsoid E((n+ l)~
2
A,a)
is contained in K. The method stops as soon as such an ellipsoid E(A
9
a) is found.
If an ellipsoid E(A,a) does not have this property, then E((n +\)~
2
A,a) \ K is
nonempty, and we look for a halfspace c
T
x < y which contains K but does not
completely contain E((n+ \)~
2
A,a). Such a halfspace will be called a shallow cut
since it may contain the center a of E(A,a) in its interior - see Figure 3.10.
Figure 3.10
The method proceeds by determining the minimum volume ellipsoid containing
(3.3.1) E(A,a) H {x \ c
T
x < c
T
a + ^Vc
T
Ac}
and continues this way. Of course, since irrational numbers may come up, it will
be necessary to round, and therefore the Lowner-J ohn-ellipsoid has to be blown
up a little bit as in the central-cut ellipsoid method.
Note that, by (3.1.8), the right hand side c
T
a+{n+\)~Wc
T
Ac = c
T
a+(n+l)-
{
IkH^-i in (3.3.1) is the maximum value the linear function c
T
x assumes on the
ellipsoid E((n+l)-
2
A,a). So the halfspace {x e IR" | c
T
x < c
T
a+{n+ \)~Wc
T
Ac}
contains this ellipsoid and supports it at the point a +{{n + l)y/c
T
Ac)~
1
Ac.
(3.3.2) Definition. A shallow separation oracle for a convex set K R" is an
oracle whose input is an ellipsoid E(A,d) described by a positive definite matrix
A e Q"
xn
and a vector a e Q". A shallow separation oracle for K can write one
of the following two possible answers on its output tape:
96 Chapter 3. The Ellipsoid Method
(i) a vector c e Q
n
, c 0, so that the halfspace H := {x e R
n
| c
r
x <
c
r
a +( +1)
_1
Vc
T
Ac} contains KnE(A, a) (a vector c with this property is
called a shallow cut for K and E(A
9
a))
t
(ii) the assertion that E(A,a) is tough.

At least two remarks are necessary to explain this definition. In answer
(i), the inequality c
T
x < y with y = c
T
a +-^ Vc
T
Ac defining the halfspace H
containing K n E(A
9
a) has an irrational right hand side in general. But note
that this right hand side y is not written on the output tape. The oracle only
confirms that H contains K C\ E(A,a). In answer (ii) we have used the yet
undefined word "tough". Loosely speaking, the word "tough" stands for "cutting
is impossible". "Toughness" is a parameter left open, and in every instance of a
shallow separation oracle the particular meaning of "tough" has to be specified.
For instance, in the example described above a tough ellipsoid would be an
ellipsoid E(A,a) such that E((n+ l)~
2
A,a) is contained in K. But there are other
meaningful and interesting definitions of toughness possible.
We assume, as usual, that with each shallow separation oracle a polynomial
function < is associated such that for every input to the oracle of encoding length
at most L the encoding length of its output is at most O(L).
The aim of this section is to prove the following.
(3.3.3) Theorem. There exists an oracle-polynomial time algorithm, called the
shallow-cut ellipsoid method, that, for any rational number e >0 and for any
circumscribed closed convex set (K;n,R) given by a shallow separation oracle,
finds a positive definite matrix A e Q"
xn
and a point a e Q" such that one of the
following holds:
(i) E(A,a) has been declared tough by the oracle,
(ii) K c E(A,a) and vol(E(A,a)) < e.
D
Before giving a proof of a slightly more general version of this theorem, we
want to illustrate it by three special cases.
(3.3.4) Example. Suppose that K c R
M
, n >2, is a full-dimensional polytope
given as the solution set of a system of linear inequalities
afx <(Xi, i= 1, . . . , m,
where a, e Q", a, 6 Q for i =1, ..., m. We design a shallow separation oracle as
follows. Let E(A
9
a) be an ellipsoid given by A and a. For i =1, ..., m, determine
whether all points in the ellipsoid ((+1)~
2
4, a) satisfy ajx < a,. It follows from
(3.1.8) that this can be done by checking whether (n+ l)~
2
ajAa
x
< (oci a[a)
2
holds. If an index i is found for which this inequality does not hold, then the
oracle gives the shallow cut a, as answer. If all inequalities of the given system
are satisfied by all points in E((n +l)~
2
A
9
a), then the oracle declares E(A,a)
tough.
3.3 The Shallow-Cut Ellipsoid Method 97
If L denotes the encoding length of the inequality system ajx < a i =
1, ..., m, then we know from Lemma (3.1.33) that K c S(0, R(K)) with R(K) :=
y/nl
L
-
n2
and from Lemma (3.1.35) that vol(K) > e(X) := 2-
(n+1)L+
"
3
. So,
by running the shallow-cut ellipsoid method of Theorem (3.3.3) with input
(K;n,R(K)) and e = e(K) and with the shallow separation oracle defined above,
we will obtain an ellipsoid E(A,a) containing K such that the concentrical
ellipsoid E((n +l)~
2
A,a) is contained in K.
Example (3.3.4) applies to more general situations. Namely, if for a circum-
scribed convex set K we have a shallow separation oracle where toughness of
an ellipsoid E(A,a) means that E((n +\)~
2
A,a) K, then the shallow-cut ellip-
soid method solves the weak nonemptiness problem for K with the additional
advantage that it gives a point deep inside K.
(3.3.5) Example. The central-cut ellipsoid method can be simulated by the
shallow-cut ellipsoid method, and Theorem (3.2.1) is a consequence of Theorem
(3.3.3). In fact, suppose that we have an oracle SEP^ as in (3.2.1) for a
circumscribed closed convex set (K;n,R) and that a positive rational number
e >0 is given. Then we can design a shallow separation oracle for K as follows.
Let an ellipsoid E(A,a) be given by A and a. Compute a positive strict lower
bound i for the square root of the least eigenvalue X of A. Let 5' :=min{a,ei}
and 5 := (n +1)
-1
<5'. Call the oracle SEP*; for K with input y :=a and error
parameter S. If the oracle SEP#asserts that y e S(K,S), then we declare the
ellipsoid E(A,a) tough. If SEP* finds a vector C G Q " with ||e||oo = 1 and
c
T
x < c
T
y +<5 for all x e K, then we take the vector c as output of the shallow
separation oracle. By the choice of S, the vector c is indeed a shallow cut for K
and E(A,a)
9
namely, for all x e K we have
(3.3.6) c
T
x <c
T
a + S < c
T
a + (n+ l)~
1
e
1
< c
T
a + (n + l )
- 1
^
=c
T
a +(n +l)"
1
v^llclloo <c
r
a +(n +l)"
1
v^||c||
<c
T
a + (n+iy
l
\\c\\
A
-i,
where the last inequality follows from (0.1.9). In this case, toughness implies that
the center of the tough ellipsoid is in S(K,d) and hence in S(K,e). D
(3.3.7) Example. We can also turn a weak separation oracle into a shallow
separation oracle provided an inner radius r for K is known. This follows
directly by combining Remark (3.2.33) with Example (3.3.5).
By definition (3.3.2), a shallow cut for K and E(A,a) is a vector c e Q" such
that c
T
x < c
T
a +(n +l)"
1
Vc
T
Ac for all x e K fl (^, a). The parameter (n +1)"
1
used in the right hand side of this inequality is just a convenient choice out of an
interval of possible parameters with which a shallow-cut method can be defined
and for which it works. For our applications, greater generality is not necessary.
But we will state and prove a slightly more general theorem to show what can
be done.
98 Chapter 3. The Ellipsoid Method
(3.3.8) Definition. For any rational number p with 0 < P < \/n a shallow
/^-separation oracle for a convex set K ^IRJ
1
is an oracle which, for an input a,
A, where a e Q" and A is a rational positive definite nxn-matrix, writes one of
the following two answers on its output tape:
(i) a vector c e Q
w
, c j= 0, such that the halfspace {x | c
T
x < c
T
a + pVc
T
Ac}
contains K n E(A,d) (such a vector c is called a shallow 0-cut for K and
E(A,a)),
(ii) the assertion that E(A,d) is tough.
Observe that the halfspace {x e R" | c
T
x < c
T
a +ft Vc
T
Ac} contains and
supports the ellipsoid E(P
2
A,a). Clearly a shallow separation oracle as defined
in (3.3.2) is a shallow ^-oracl e as defined above.
(3.3.9) Theorem. There exists an algorithm, called the shalIow-/?-cut ellipsoid
method, that, for any ft e Q, 0 < p < 1/n, and for any circumscribed closed
convex set (K;n, R) given by a shallow p-separation oracle, and for any rational
e>0, finds, in time oracle-polynomial inn+ (R) +(e) + \(l nP)~
l
], a positive
definite matrix A e Q
nxn
and a vector a e Q" such that one of the following
holds:
(i) E(A,d) has been declared tough by the oracle;
(ii) K c E(A
9
a) and\o\{E(A,a)) < e.
Note that the algorithm we are going to design is not polynomial in the
encoding length (p) of p. But if we choose P such that the encoding length
of the number (1 nP)~
{
is bounded by a polynomial in the encoding length
n +(.R) +(e) of the other input (e. g., if we set P :=(n+l)"
1
), then the algorithm
is truely oracle-polynomial. So Theorem (3.3.3) directly follows from Theorem
(3.3.9).
Proof of Theorem (3.3.9). As in the proof of Theorem (3.2.1) we are going
to describe a sequence of ellipsoids EQ,E\,... ,i. e., we are going to construct a
sequence of positive definite matrices Ao,Ai,... and a sequence of centers ao, a\,...
such that E
k
=E(Ak,ak). The algorithm we describe is the shallow-/?-cut ellipsoid
method. Set
(3.3.10) N
:
=|"
(1
_
5
^
) 2
1
lQ
g

l +
(1
f
W
H
fl21
lo
g(
2
*>l + I ^ d ~ " H
(3.3.11) p :=M.
We initialize the procedure by setting
ao :=0
(3.3.12) ,
Ao := R
2
I.
Assume a*, Ak are defined for some k > 0. If k =N, we stop. In this case the
ellipsoid EN contains K and has volume at most e, so alternative (ii) of (3.3.9)
is achieved. If k < N, we call the shallow /?-separation oracle with a a^ and
A=A
k
.
3.3 The Shallow-Cut Ellipsoid Method 99
If the oracle concludes that E(A,a) is tough, then E
k
has the desired property.
If the oracle gives ashallow jS-cut c, then we perform the following compu-
tations.
(3.3.13) a
k+{
:^a
k
-p
\fc
T
Akc'
(3.3.14)
Ak+l
:^A'
M
:=i:-<r(A
k
-z^f-),
where
(3.3.15) p:=
l
-
nfi
(3.3.16) a :=
(3.3.17) T :=
(3.3.18) {: =! +
B +1 '
n\\ - P
2
)
n
2
-l '
2(1 - nfi)
(n+l)(l-P)'
(1 - nfi)
2
In
2
Again "" means that the left hand side is obtained by rounding the right hand
side to p digits behind the point. (Note that without rounding and without
blowing-up (i. e., with setting :=1) the update formulas above determine the
Lowner-John-eUipsoid of E'
k
(A,a,c,y) with y := c
T
a
k
+ PVc
r
A
k
c - cf. (3.1.15),
(3.1.16), (3.1.17).)
Similarly as in the case of the central-cut ellipsoid method, to establish the
correctness of the algorithm we need the following lemmas.
(3.3.19) Lemma. The matrices A
0
, A\,... are positive definite. Moreover,
||<Zfc|| <R2
k
, ||4t|| <R
2
2
k
,and\\Ai;
l
\\ < R~
2
4
k
.
(3.3.20) Lemma. K E
k
for k = 0,1,....
(3.3.21) Lemma. vol(*+i)/vol(Eit) <
e
-<i-/
2
/(5)
for
k = 0,l,....
The first two of these lemmas can be proved along the same lines as Lemmas
(3.2.8) and (3.2.9). We will prove Lemma (3.3.21), where the crucial condition
P < l/n plays arole.
Proof of Lemma (3.3.21). As in the proof of Lemma (3.2.10) we write
G322* vol(E*
+
i)
=
/<fet(4Ui) det(A
k+i
)
' vol(
t
) V det(^k) V det(^
+1
)'
100 Chapter 3. The Ellipsoid Method
where Ak+\ is defined in (3.3.14), and we obtain for the first factor in (3.3.22)
(3.3.23) sj*^^
=
V(1-T) = C
/2

(n
-
l)/2
V^~^)
- (\ (1 ~np)
2
\ /2 / w
2
(l - ft
2
) \ ("-D/2 w(l +j?)
~ V 2n
2
J V 2 _ l J + i
The first of the three factors in (3.3.23) can be easily estimated as follows:
0
2
'
2n
2
(3.3.24) ( l +f l - y y ^' ^v w
To derive an upper bound for the last two factors in (3.3.23) take the natural
logarithm In (and recall the power series expansion of ln(l +x) and ln(l x))\
(3.3.25) I n^-^-j -j -
Tqrr
j =
= ^l(ln(l-/f
2
)-ln(l-l))+ln(l+/?)-ln(l + i)
n-l/&\/ 1
o2k
\\ & (1)* / 1
(Is(^-^))
+
E^(?-^)
fc=l '" " fc=l
-(5(i-'"))-sE^(sir-'
1
")
/ c = l / c = l
00
- 1
=
Z 2k(2fc-l )^-i
2
* "
1) (
^
) 2/ C
"
2f c(
^
) 2k_ 1 + ! )
<
- ( l - ^)
2
2n
The last inequality follows from the observation that each term of the series on
the left hand side is negative as nfi < 1. Hence the first term (1 n(})
2
/(2ri) of
this last sum is an upper bound for it.
Thus, from (3.3.24) and (3.3.25) we get
(3 3 26)
A
/
d C t
^
f c
+ ^ <
e
(\-nfl)
2
/{4n)
e
-(\-nf})
2
/(2n)
=
^-(l-n^)
2
/(4)
V detWO "
The second factor in (3.3.22) can be estimated just like in the proof of Lemma
(3.2.10), and we obtain
(3 3 27) det(A
k
+\) ^
e
(i-
n
p)
2
/(20n)
V
d e t
K+i )
Combining inequalities (3.3.26) and (3.3.27) gives the desired result. This com-
pletes the proof of Lemma (3.3.21) and, by the same argument as in the proof of
Theorem (3.2.1), also the proof of Theorem (3.3.9). D
3.3 The Shallow-Cut Ellipsoid Method 101
As mentioned above, we will only use the shallow /?-cut ellipsoid method for
P =^- in the sequel, and that is what we call the shallow-cut ellipsoid method.
Similarly, if P = ^, a shallow ^-separation oracle is called just a shallow
separation oracle. The parameters used in the shallow-cut ellipsoid method are
the following (compare with (3.3.10),..., (3.3.18) and (3.2.2),..., (3.2.7)):
N : r5n(n+l)
2
|log6| + 5n
2
(n+l)
2
|log(2K)|+log(n+l)l,
p := SN
9
_ 1
n
3
(K +2)
G
(n+l )3(- l )'
2
1 :
" n(w+l )'
b
' 2n
2
(H+l)
2
'
So, in particular one can see that the number N of iterations of the shallow-cut
ellipsoid method is about (n + l)
2
times as large as the number of iterations of
the central-cut ellipsoid method. This, of course, matters for practical purposes,
but is of no significance if one is only interested in polynomial time solvability.
Chapter 4
Algorithms for Convex Bodies
We shall now exploit the ellipsoid method (the central-cut and the shallow-cut
version) described in Chapter 3. In Sections 4.2, 4.3, and 4.4 we study the
algorithmic relations between problems (2.1.10),..., (2.1.14), and we will prove
that - under certain assumptions - these problems are equivalent with respect to
polynomial time solvability. Section 4.5 serves to show that these assumptions
cannot be weakened. In Section 4.6 we investigate various other basic questions
of convex geometry from an algorithmic point of view and prove algorithmic
analogues of some well-known theorems. Finally, in Section 4.7 we discuss to
what extent algorithmic properties of convex bodies are preserved when they are
subjected to operations like sum, intersection etc.
As in Chapter 3, we will assume in the proofs that n > 2, if the one-variable
case is trivial.
4.1 Summary of Results
In Chapter 2 we have introduced five fundamental problems concerning con-
vex sets: the weak optimization problem (WOPT) (2.1.10), the weak violation
problem (WVIOL) (2.1.11), the weak validity problem (WVAL) (2.1.12), the
weak separation problem (WSEP) (2.1.13), and the weak membership problem
(WMEM) (2.1.14). Moreover, as a special case of WVIOL, we have mentioned
the weak nonemptiness problem (WNEMPT).
In Sections 4.2, 4.3, and 4.4 we study the algorithmic relations between these
problems using the oracle concept. The idea behind this is the following. Suppose,
for instance, that we have a convex set K for which we have an algorithm that
solves the weak separation problem for K. We now want to see whether we can
solve the weak optimization problem for K using the separation algorithm as a
subroutine (oracle). Of course, what we are looking for is an algorithm solving
WOPT for K that calls the separation subroutine only a polynomial number of
times and whose further computations can be performed in a number of steps
that is bounded by a polynomial function in the encoding length (K) + (c) +(e)
of the weak optimization problem. If we can achieve this, we say that WOPT for
K can be solved in oracle-polynomial time using a separation oracle for K.
Such an algorithm for the weak optimization problem for K is not necessarily
polynomial in (K) +(c) +(e), since we did not make any assumptions on the
running time of the weak separation algorithm for K. But - and this is the
4.1 Summary of Results 103
most interesting application of such a result - if the algorithm solving the weak
separation problem for K runs in time polynomial in the encoding length of
K, then "oracle-polynomial" implies that the weak optimization problem can be
solved in time polynomial in (K) + {c) + (e) as well.
In Figure 2.2 we indicated the trivial relations between the five problems
in question. For instance, if WOPT can be solved for some convex set K in
polynomial time it is immediately clear from the definition that WVIOL can also
be solved in polynomial time. We displayed this in Figure 2.2 by an arrow from
WOPT to WVIOL. In Sections 4.2, 4.3, and 4.4 we show that many more arrows
can be added to Figure 2.2 (not only those following from transitivity). From a
weak optimization oracle for K we can derive oracle-polynomial time algorithms
for all other problems. Some more implications follow if we assume that K is
circumscribed, and in some cases additionally, that K is centered. Let us first
remark that for uniformity reasons we restrict ourselves to considering convex
bodies K only. (Most of the results also hold for bounded convex sets, as the
proofs show.)
Figure 4.1 summarizes the results of Sections 4.2, 4.3, and 4.4. Unbroken lines
correspond to the trivial implications already contained in Figure 2.2. Broken
lines represent new implications derived in this chapter.
WOPT
WVIOL 1 < itHl*. J WSEP
WVAL WMEM
Figure 4.1
The implications represented in Figure 4.1 by unbroken lines are valid for
any convex body K. To derive the implications represented by broken lines we
assume that we know a radius JR so that K ^ S(0,R) (lines labeled with R),
and, in some cases, that we know an inner radius r and a center ao (lines labeled
with R
9
r
9
ao). The only exception is the broken line from WOPT to WSEP. We
can derive this implication for any convex body. Moreover, the arrows carry the
additional information where a proof of the corresponding implication can be
found. It is clear that, from the implications given in Figure 4.1, many more
implications can be derived by transitivity.
104 Chapter 4. Algorithms for Convex Bodies
For instance, if a convex body K is given by a weak violation oracle and
an outer radius R then the weak optimization problem for K can be solved
in oracle-polynomial time. The information along the arrow from WVIOL to
WOPT states that this result can be found in Remark (4.2.5). If a circumscribed
convex body K is given by a weak separation oracle and an outer radius R then
we show in Theorem (4.2.2) that the weak violation problem for K is solvable
in oracle-polynomial time. The proof uses the central-cut ellipsoid method.
By transitivity it follows that if for a circumscribed convex body K the weak
separation problem can be solved in polynomial time, the weak optimization
problem can be solved in polynomial time. (We consider this as one of the most
important results in this book.) Similarly, if a convex body K is given by a
weak optimization oracle then the weak separation problem for K is solvable in
oracle-polynomial time. This result is shown in Theorem (4.4.7).
The arrows from WMEM to WVIOL and further to WOPT show that for
centered convex bodies given by a weak membership oracle the weak optimiza-
tion problem can be solved in oracle-polynomial time (see Theorem (4.3.2) and
Corollary (4.2.5)). This result, due to Yudin and Nemirovskil, is surprising, be-
cause - at first sight - it does not seem apparent that a point almost optimizing
a linear function over K can be found just by testing weak membership in K
a polynomial number of times. For the derivation of this result the use of the
shallow-cut ellipsoid method was necessary.
We do - of course - not claim that the (nontrivial) results shown in Figure
4.1 can only be derived from the ellipsoid method. For instance, Theorem (4.2.2),
i. e., the arrow from WSEP to WVIOL can also be shown using the new "simplex
method" due to YAMNITSKI and LEVIN (1982). We were not able to prove Theorem
(4.3.2), i. e., the arrow from WMEM to WVIOL, using the central-cut ellipsoid
method only. Our proof method only worked with the shallow-cut ellipsoid
method, and probably, with a shallow-cut version of the new "simplex method"
the same result can be obtained. Maybe there is a smart way to get Theorem
(4.3.2) from the central-cut ellipsoid method or something even simpler. But we
were not able to find such a proof.
In Section 4.5 we give some negative results showing that the assumptions
made in the results of Sections 4.2, 4.3, and 4.4 cannot be weakened further. To
illustrate the proof ideas we present here an example of this type. We show that
we cannot derive an oracle-polynomial time weak optimization algorithm from a
weak membership oracle, even if we know an outer radius R and an inner radius
r (but not a center ao).
Suppose that somebody claims he has such an algorithm. We volunteer to
play the role of the oracle for a well-bounded convex body (K;1,R,1) and
challenge him to maximize the linear objective function 1 x over K in the weak
sense with e =1. To the first R queries, we answer "no x is not in K". Note that
this is a valid weak (even strong) membership oracle for some K, since after R
questions there will be still a subinterval K c [R,R] of length 2 not containing
any point asked for so far. So to solve the weak optimization problem he has
to ask more than R questions. Since R is exponential in the encoding length of
(K; 1
9
R
9
1) and e =1, his algorithm has to take exponential time.
In Section 4.6 we show that some other algorithmic problems on a well-
4.2 Optimization from Separation 105
bounded convex body can be solved in oracle-polynomial time, if we have a
weak separation oracle for this convex body. Among these problems are those
of finding an approximation of the Lowner-J ohn ellipsoid - cf. Theorem (3.1.9)
- and of approximating the diameter and width of a convex body. The results
use again the shallow-cut ellipsoid method.
Finally, in Section 4.7, we study how algorithmic properties of convex bodies
K\ and K
2
behave under operations like the sum K\ +K
2i
the convex hull
conv(Ki U K
2
) of the union, and the intersection Xi fl K
2
, and under taking
polars, blockers and anti-blockers. Basically, the polynomial time solvability of,
say, the optimization problem is preserved by these operations, but the exact side
conditions sometimes need a careful study.
*4.2 Optimization from Separation
We shall now show that, under reasonable assumptions, the fundamental prob-
lems concerning convex bodies introduced in Chapter 2 are equivalent with
respect to polynomial time solvability. A main result of this book is that, for
circumscribed convex bodies, we can derive a good weak optimization algorithm
from a weak separation oracle. Our basic tool will be the central-cut ellipsoid
method described in Chapter 3. The theorem to be described, can be stated in
short-hand notation by:
(4.2.1)
WSEP,R WVIOL
Here R means that if we know a radius R such that the convex body is contained
in S(0, R), then we can derive an oracle-polynomial time weak violation algorithm
from a weak separation oracle. To state the result formally:
(4.2.2) Theorem. There exists an oracle-polynomial time algorithm that solves
the weak violation problem for every circumscribed convex body (K;n,R) given
by a weak separation oracle.
Proof. We describe the algorithm. An instance of the weak violation problem is
given by the following input: a circumscribed convex body (K;n,R) given by a
weak separation oracle SEP*, a vector c e Q", and rational numbers y
9
a with
s > 0. Without loss of generality we may assume ||c||oo =1. Set
K' : =K n{xeR" | c
T
x > y}
9
We design an oracle SEP K'JS(K'
9
-^) in the sense of Remark (3.2.33) as follows.
Suppose y e Q" and a rational number S > 0 are given. We first check
whether
(4.2.3) c
T
y > y +<5
106 Chapter 4. Algorithms for Convex Bodies
holds. If the answer is no, then we let SEPK'^K',-^) give c as its output. If the
answer is yes, call SEP* with the input y and S\ :=min{e',c)/n}. If SEP* gives a
vector d with H^Hoo =1 and d
T
x < d
T
y + S for x e S(K
9
S\), then SET*
K
<
i
s(K'-

')
can give the same output (since S(K\e
f
) ^ S(K,S\)). If SEP* asserts that
y e S(K
y
S{), then SEP/C^K ',- ^ can assert that y e S(K',S) (since, if y e S(K,S\)
satisfies (4.2.3), then y e S(K\5)). This describes SEP
K
\s(K-e?)>
We now run the central-cut ellipsoid method with input oracle SEP
K
\s(K'-e?),
e\ :=minje', (s'/ri)
n
}, and R.
The output will be either a point y e S(K\s\) or an ellipsoid E containing
S(K'
9
e') of volume at most ei. In the first case, y e S(K,e) and c
T
y >y \\c\\e\
>y e. Thus y satisfies (2.1.11) (ii).
In the second case, we show that c
T
x < y 4- e for all x e S (X, e). Suppose to
the contrary that x e S(K,e) and c
T
x > y +e. Then S(x,e/n) c K\ and hence
S(x,s') s S(K'
9
-eT) c . However,
vol(JE) <ei <vol(S(x,e
/
)),
which is a contradiction.
Using binary search one can easily see the following implication:
(4.2.4)
WVIOL, R WOPT
That is:
(4.2.5) Remark. There exists an oracle-polynomial time algorithm that solves
the weak optimization problem for every circumscribed convex body (K;n,R)
given by a weak violation oracle.
Combining Theorem (4.2.2) and Remark (4.2.5) we get the following impli-
cation, which, from the optimization point of view, has a number of significant
consequences:
WSEP,K WOPT
(4.2.6)
That is:
(4.2.7) Corollary. There exists an oracle-polynomial time algorithm that solves
the weak optimization problem for every circumscribed convex body (K;n,R)
given by a weak separation oracle.
By looking into the details of the ellipsoid method, a more direct algorithm
can be obtained to maximize a linear objective function c over a circumscribed
convex body (K; n, R) given by a weak separation oracle. Informally, this method
does the following.
4.3 Optimization from Membership 107
Given some e > 0, it constructs a sequence of ellipsoids that do not necessarily
contain S(K,e) but do include the set of optimal points. If the center of the
current ellipsoid is not in S(K,e) we cut like in the central-cut ellipsoid method.
Whenever the center of the current ellipsoid is in S(K,e), then we use the
objective function as a cut. Consider those ellipsoid centers among the first t that
are in S(K,s) and let c
t
be the maximum of their objective function values. If
c
op
t denotes the optimum value of the optimization problem over K, then
' ' '
ptl
" e||c||
This method is called thesliding objective function technique - see BLAND, GOLD-
FARB and TODD (1981) or GROTSCHEL, LOVASZ and SCHRIJVER (1981) for details.
*4.3 Optimization from Membership
We prove now an important theorem due to YUDIN and NEMIROVSKII (1976b). It
states that one can derive an oracle-polynomial time weak violation algorithm
from a weak membership oracle for a convex body K, if one knows ao,r
9
R such
that % r ) c K c S(0,R). In our notation:
WMEM,R,r,oo
WVIOL
(4.3.1)
That is:
(4.3.2) Theorem. There exists an oracle-polynomial time algorithm that solves
the weak violation problem for every centered convex body (K; n, R
9
r, ao) given
by a weak membership oracle.
The natural approach to derive such an algorithm would be to derive a
weak separation algorithm from the weak membership oracle and then to apply
Theorem (4.2.2). There is, however, no direct way known at present to solve the
weak separation problem in oracle-polynomial time using a weak membership
oracle. As we shall see, Theorem (4.3.2) combined with a polarity argument
implies that for a centered convex body given by a weak membership oracle,
the weak separation problem can be solved in oracle-polynomial time. But this
algorithm would involve the ellipsoid method for solving the weak violation
problem and again the ellipsoid method to solve the weak separation problem.
It is surprising that this back-and-forth argument has to be used, and it may
be that a better understanding of the connection between membership and
separation will lead to an algorithm that solves the weak separation problem in
oracle-polynomial time using a weak membership oracle but not the ellipsoid
method.
We shall, however, derive in Lemma (4.3.4) a "very weak" separation algo-
rithm from a membership oracle (not using the ellipsoid method) which turns out
to be the key to applying the shallow cut ellipsoid method to this problem. As a
preparation we prove a simple lemma which shows that any weak membership
algorithm can be used to strengthen itself.
108 Chapter 4. Algorithms for Convex Bodies
(4.3.3) Lemma. There exists an oracle-polynomial time algorithm that, for any
centered convex body (K;n,R,r, a) given by a weak membership oracle, for any
vector y eQ" and any positive rational number S, either
(i) asserts that y e S(K,3), or
(ii) asserts that y K.
Proof. Let (K;n,R,r,a), y e Q", and 3 e Q, 3 >0 be given as above. If ||y a\\ >
2R, then y # K. So we may assume that \\y a\\ < 2R. Call the weak membership
oracle for K with
If it answers that y
r
belongs to S{K,3') then, since
\\y-y'\\ = ^\\y-a\\<
d
-,
we know ye S(K,3' + 3/2) <=S(K,3).
If the weak membership oracle answers that y
r
$ S(K,3
f
), then we assert
that y 4 K- For, suppose by way of contradiction that y e K. Then, since K is
convex and S(a,r) is contained in K, we know that S(y',3r/(4R)) c K. But this
contradicts the conclusion of the membership oracle.
The next lemma establishes a further (non-ellipsoidal) separation algorithm.
(4.3.4) Lemma. There exists an algorithm that, for a point y e Q", for any two
rational numbers 0 <3, P < i, and for any centered convex body (K;n, R, r, a)
given by a weak membership oracle, either
(i) asserts that y e S(K,3), or
(ii) finds a vector ceQ" such that c0 and for every x e K,
c
T
x<c
T
y + (3+p\\x-y\\)\\cl
The running time of the algorithm is oracle-polynomial in \l/ff\, (K), (y), and
(5).
Note that an oracle-polynomial time weak separation algorithm for K could
be obtained if the running time of the algorithm of (4.3.4) could be improved to
be oracle-polynomial in (/?) rather than in [1//9].
Proof. Let (K;n,R,r,d), y, 3, ft, be given as above. If ||j; a\\ > 2R then
c :=(ya)/\\y a\\ satisfies c
T
x < c
T
y for all x e K and therefore (ii) is satisfied.
So we may suppose in the following that \\y a\\ <2R.
Call the algorithm of Lemma (4.3.3) with input K, y, and 3. If the algorithm
concludes that y e S(K,3), then we are done.
4.3 Optimization from Membership 109
Assume the algorithm concludes y & K. Set
a r C t g
( ^ ) '
rd
R+r'
AnR'
16n
4
'
(To facilitate understanding the idea, we shall do real calculations and ignore the
problems arising from rounding. We believe that the reader is convinced by the
calculations of Chapter 3 that these roundings can be made precise, but also that
he has enough from this.)
By binary search we find two points v and v\ say, on the line segment ay
between a and y such that v
f
is between a and v, \\v v'\\ < S\/(2n), v & K, but
v
f
eS(K,i). Then for the point
^^( r +eO^ar - ny + ^+fiOfl)
we have S(v",r\) ^K (since otherwise there exist d e R
n
and yeR such that
||d|| = 1, d
T
x < y for all x e K, and d
T
v" > y n; but then d
T
v < y + E\ and
d
T
a <y-r
9
implying d
T
v" = (r + ei)
_1
((r - r
{
)d
T
v
f
+ (r
{
+ e
{
)d
T
a) <y- r
{
).
Note that (using elementary geometry again)
(4.3.5) (I, -,"11 <^+ l|,'-,"|l = +^i V-
f l
|| <*1.
In In r r\ n
Without loss of generality we may assume that v" =0.
Let H be the hyperplane perpendicular to v and going through the point
(cos
2
OL)V. Let v\, ..., v
n
be the vertices of a regular simplex in H with center in
(cos
2
a)i? such that the angle between v and i>, equals a, for i = 1, ..., n. (Note
that in real arithmetic such points are easy to construct. The rounding (which
we do not consider here) has to be done with some care so that the subsequent
estimates still hold.) Thus
IMI^cosoONI.
For each of the points t? run the algorithm of Lemma (4.3.3) with error parameter
ei. Assume first that the algorithm concludes that one of the vectors v\, ...,v
n
is not in K, say v\ i K. Then perform the construction of the regular simplex
described above again, now using v\ as the point v, and repeat the calls of the
algorithm of Lemma (4.3.3). Suppose we have iterated this step p times. Since
|| n|| =(cos a) ||t; || it follows that after the p-th iteration we have a vector v K
with ||F|| <(cos a)
p
||i;|| <(cosa)
p
R. But since S(0,ri) e K, this can only happen
as long as
(cos(x)
p
R > n, i. e.,
a :=
Si :=
r\ :=
ei :=
110 Chapter 4. Algorithms for Convex Bodies
^ | l n( */ ri ) |
|lncosa|
where In denotes the natural logarithm. Using the inequality ln(l +x) <x for all
x, we get
In cos a =^ln cos
2
a
=^ln(l sin
2
a)
<^sin
2
a
(jg/(4n
2
))
2
2(1 +(i^/(4n
2
))2)
~ 34n
4
It follows that after a number of iterations that is polynomial in n, (r), (R) and
\l/p] we find that the algorithm of Lemma (4.3.3) concludes with tJi, ...,v
n
e
S(K,s\), where the vectors v\, , v
n
have been constructed from a vector v 4 K.
We claim now that
loo
satisfies (ii) of Lemma (4.3.4).
First we show that for all x 6 K
(4.3.6) c
r
x<0||x||+(5i .
Consider any xeK. Set
v\ :=Vi, i =1, ..., n and
ei +n
1
n
1=1
Note that, by construction, w =yv for
y :=(cos
2
a)ri/(ei +r\) =cos
4
a.
Similarly as before, since 5(0, n) ^K, it follows that uj eX for i =1, ..., n. Let
us represent x in the following form
(4.3.7) x =Xv +M
where u
r
y =0.
Case 1. X < 1. Then by (4.3.5)
,T iT- ^ T- "
V
\2
c
1
x = Xc
J
v <c
J
v = ~ - < n\\v\\ < n\\v\\ < <5i < p\\x\\ + <5i
II ^ II00
which gives (4.3.6).
4.3 Optimization from Membership 111
Case 2. X > 1. Then we transform (4.3.7) into the following form
Let z denote the point determined by either side of (4.3.8). Looking at the right
hand side of (4.3.8) we see that v is a convex combination of z and x, i. e., v is a
point on the line segment connecting z to x, and since x e K and U ^ K it follows
that z ^ K. On the other hand, the left hand side of (4.3.8) tells us that z is on
the hyperplane through v[, ...
9
v'
n
. Since z 4 K and hence z 4 convlfj, . . . , v'
n
} it
follows that
| | z-w| | > - K- wl l = -tga||w||,
n n
where the last equation follows from the fact that the angle between w and v[ is
a. Hence
A- 1
1 M
A- l y
INI = I r z - w ^ i tga I? .
y 1 1- y n
Using (4.3.7) again we obtain
., ., rw
7
? V ,. ., A 1 y (A1)||t;|| ytga
||
X
|| = VA
2
v
T
v + u
T
u> \\u\\ > - - t g a I; = - ^-
!L1
f - 2 - =
17 n n 17
(Al)||t;|| cos
4
a- t ga (A1)||F|| cos
4
a- t ga
n 1 - cos
4
a n sin
2
a(l + cos
2
a)
>
Hence
^ (A-1)11F|| c os
2
_( A- l ) | | t ; | l 1 6 n ^ f ^ *
\\v n
Again from (4.3.7) we get
v
T
x = X\\vf <-| l"IIIMI + ||t;
TZT^ 1I I 77I U2 ^ P n -II II II , 11^112
So, by (4.3.5)
T. V
T
- ^ ll^ll ...... . Il^l'
2
c'x= 77=77-* < -Tz-r\\x +
II1?II00 n II^Hoo Halloo
<0| | x| | + w||i;||
</?NI+(5i.
This completes the proof of inequality (4.3.6) for all x e K.
Finally, to show that (ii) holds for all x e K, consider
112 Chapter 4. Algorithms for Convex Bodies
Then x' e K, since x' is the following convex combination
/
r R
(
r
\
where x is in K by assumption and (r/R)y is in K as this is a point on the
segment connecting OeX and a (r/\\y\\)y e K.
Substituting x
f
into (4.3.6) we obtain
-
r
c
T
{x-y)=c
T
x' <P^\\x-y\\+S
u
R + r R+r
and hence
c
T
(x-y) <p\\x-y\\+Si =6 +P\\x-y\\.
r
Since ||c|| >1 the proof is finished.
Now we are prepared to prove Theorem (4.3.2).
Proof of Theorem (4.3.2). Let (K;n
y
R,r,ao) be a centered convex body given
by a weak membership oracle. We design a weak violation algorithm for K. To
this end let further a vector c e Q
n
and rational numbers y, s with e >0 be given.
Let
K
f
= Kn{xelR
n
\c
T
x>y}.
We define a shallow separation oracle for K'. Let E(A, a) be any ellipsoid. First
check if c
T
a < y. If so, then the vector c and the number y are a valid output
for the shallow separation oracle for K'. Suppose now
(4.3.9) c
T
a > y.
Let Q be the positive definite matrix such that (n +\)
2
A~
X
= QQ and consider
the well-bounded convex body (QK;n,\\Q~
{
\\~
l
r,\\Q\\R,Qao). From the weak
membership oracle for K we easily get a weak membership oracle for QK. Now
we apply the algorithm of Lemma (4.3.4) for QK to the input y :=Qa e Q",
5 :=min{(w +2)-
2
,fi/||e-
1
||} and fi :=(n +2)"
1
.
If the algorithm concludes that Qa e S(QK,5) then the shallow separation
oracle for K
f
should declare the ellipsoid E(A,a) tough. Note that in this case
aeS(K
9
5\\Q-
l
\\)<=:S(K
9
e).
If the algorithm of Lemma (4.3.4) finds a vector J eQ" such that d ^0 and
d
T
x<d
T
Qa + (d+P\\x-Qa\\)\\d\\
holds for all x e QK, then this is equivalent to saying that
d
T
Qz<d
T
Qa + (d+p\\Q(z-a)\\)\\d\\
holds for all z e K. If z e E(A, a) then
\\Q(z - a)|| =y/(z-a)
T
QQ(z-a) =(n +1)\/(z - a)
T
A~\z - a) < n +1
4.3 Optimization from Membership 113
by the definition of E(A,a). Hence if z e K fl E(A,a) then
(4.3.10) d
T
Qz < d
T
Qa +((n +2)~
2
+^) ||d||
<dTQa+
(
l
-j^w)
m
-
So the halfspace d
T
Qz < d
T
Qa +(1 - l/(n +2)
2
)||d|| =: y includes K (1 (A,a).
On the other hand, this halfspace does not completely include E((n+ l)~
2
A,a) as
the vector
Q~
{
d
belongs to E((n+ l)~
2
A,a) but violates d
T
Qz < y. Hence the vector d! :=Qd and
the number y are a valid output of the shallow separation oracle.
To the convex set K' given by the shallow separation algorithm defined
above, the rational numbers e\ :=((re/(2Rn))
n
and (the given) R we now apply
the shallow-cut ellipsoid method (Theorem (3.3.3)). If the shallow-cut ellipsoid
method concludes with a tough ellipsoid E(A,a), then by the remark made above,
a e S(K,e), and so the vector a is a solution of the weak violation problem for
K by (4.3.9).
If the shallow-cut ellipsoid method concludes with an ellipsoid E(A,a) con-
taining K and volume at most s, then just as in the proof of Theorem (4.2.1) we
can assert that c
T
x < y + e for all x e S(K,e).
This proves the Yudin-Nemirovskii theorem. Combining this with Remark
(4.2.5) we obtain:
WMEM,fl,r,ao WOPT
(4.3.11)
That is:
(4.3.12) Corollary. There exists an oracle-polynomial time algorithm that solves
the weak optimization problem for every centered convex body (K;n,R,r,ao)
given by a weak membership oracle.
As an important application of this result we show that the weak constrained
convex function minimization problem (2.1.22) can be solved in oracle-polynomial
time.
(4.3.13) Theorem. There exists an oracle-polynomial time algorithm that solves
the following problem :
Input: A rational number e > 0, a centered convex body (K;n,jR,r,ao)
given by a weak membership oracle, and a convex function f :
R" ->R given by an oracle that, for every xeQ" and S > 0,
returns a rational number t such that \f(x) t\ <S.
114 Chapter 4. Algorithms for Convex Bodies
Output: A vector y eS(K,e) such that f(y) < f(x) +e for all x e S(X,-e).
Proof. Consider the following set
G(f,K) :={(x
T
j)
T
e R"
+1
| x e KJ{x) < t < B}
9
where B is computed as follows:
B :=r +max{|/(flo)|, |/(oo re,)|(i =1, ..., n)}.
A simple geometric argument shows that 6RBn/r is a lower bound on the
values of / in K. Hence
(c(/
,
K);

+1
,Z^,:,(
B
_o
p/2
))
is a centered convex body. By the definition of G(/,K), one easily derives a weak
membership algorithm for this centered convex body from the oracles given in
the theorem. So by Theorem (4.3.2), we can solve the weak optimization problem
for G(f,K) with input c = (0
r
,l)
r
. The solution to this problem yields a
solution for the weak constrained convex function minimization problem.
*4.4 Equivalence of the Basic Problems
Now we combine the results of the previous two sections with a polarity argument
to prove two further implications indicated in Figure 4.1.
Recall that the polar K* of a set K is defined as follows:
K* :={y G R
n
| y
T
x < 1 for all x e K}.
Note that, if (K;n,R,r,0) is a O-centered, convex body, then so is (X*;n,
1/r, 1/K,0); and moreover, (K*)* = K. In addition, a weak membership or-
acle for K* is essentially equivalent to a weak validity oracle for K. More
precisely,
(4-4.1) Lemma. There exists an oracle-polynomial time algorithm that solves
the weak membership problem for K
m
, where K is a O-centered convex body
given by a weak validity oracle.
Proof. Let (K;n,R,r,0) be a O-centered convex body given by a weak validity
oracle. We are going to describe a weak membership algorithm for K*. Let
y G Q* and 6 e Q, 5 >0 be given. If \\y\\ < 1/R, then y e K*. So we may assume
y 4" 0. Call the weak validity oracle for K with input c :=y, y :=1 and
rS
<
\\yi+r\\y\\+r5-
4.4 Equivalence of the Basic Problems 115
(i) Suppose the weak violation oracle for K asserts that c
T
x < 1 +e for all
xe S(K,e). We claim that this implies y e S(K,S). Namely, for every XE K,
-xeS(K,-e)
r
holds by a simple geometric argument. Hence for every xe K
v x < 1 +e.
r
Therefore,
1 r-e
By the choice of e, \\yi y\\ <S and hence y e S(K*,3).
(ii) Suppose the weak validity oracle for K asserts that y
T
x > 1 e for
some x e S(K,e). We claim that this implies that y 4 S(K*,S). Assume to the
contrary that y e S(K\-6). Then
(
I +
4>
SK
"-
Moreover, by a simple geometric argument, we have
r
xeK.
r +e
However,
V \\y\\)
y
r + e V \\
y
\\J
r
+ e
y
This contradicts the definition of polarity.
By a similar argument, we obtain the following lemma.
(4.4.2) Lemma. There exists an oracle-polynomial time algorithm that solves
the weak separation problem for K*
f
where K is a O-centered convex body given
by a weak violation oracle.
The theorem we are going to prove is
(4.4.3) I WVAL, R I > I WSEP I .
That is:
116 Chapter 4. Algorithms for Convex Bodies
(4.4.4) Theorem. There exists an oracle-polynomial time algorithm that solves
the weak separation problem for every circumscribed convex body (K; n, R) given
by a weak validity oracle.
Proof. I. First we prove the correctness of the theorem for centered convex
bodies. So let (K; n, R, r, ao) be a centered convex body. Set K := K ao- Then
(K;n,2R,r,0) is a O-centered convex body, and it is trivial to obtain a weak
validity oracle for K from one for K. By Lemma (4.4.1), the weak membership
problem for the polar K can be solved in oracle-polynomial time. Now we apply
Theorem (4.3.2) and derive that the weak violation problem for K can be solved
in oracle-polynomial time, and therefore by Lemma (4.4.2) the weak separation
problem for K = (K ) can be solved in oracle-polynomial time. Now we only
have to translate K back to K and adjust the weak separation algorithm for K
to get one for K.
II. If a circumscribed convex body (K;n,R) is given, we extend K to a convex
body K ^R
n+1
by appending an (n +l)-st coordinate and setting
K :=conv({(x
r
,0)
r
e R"
+1
| x e K} U S{e
n+u
1/2)),
where e
n
+\ denotes the (n +l)-st unit vector in R"
+1
. Clearly, (K, n +1, R +1,
1/2, e
n
+\) is a centered convex body in R
w+1
, and it is trivial to design a weak
validity oracle for K given such an oracle for K. By Part I, we can solve the
weak separation problem for K in oracle-polynomial time. Now we show that
we can derive from this a weak separation algorithm for K.
Namely, let v e Q" and a rational d > 0 be given. Set y := (y
T
,t)
T
, where
t :=<5/(10(||y||i -f #)). Call the weak separation algorithm for K with input y
and d :=t/(4Rn). If this concludes that y e S(K,<5), then a simple geometric
argument shows that y e S(K,S). Suppose that the separation algorithm finds
a vector c = (c
T
,y)
T
e Q
n+1
such that ||c||oo = 1 and c
T
x < c
T
y +3 for each
x e S(K,-S). Then by Lemma (3.2.35),
(4.4.5) c
T
x<c
T
y + d+4RSn
for all 5c e K. In particular, this holds for all x =(x
7
,0)
r
where x e K, i. e.,
c
T
x < c
T
y +yt +J +4#<5.
Inequality (4.4.5) also holds for x =e+i, and hence y < c
T
y +yf +5 +4R(5n.
This implies that
l | c| l oo
-
mi n
{
1
'2ifk}-
Set d :=c/||c||oo. Then for every x e K we obtain
A A.
,r .r yt + 8 +4RSn
jT
d
T
x < d
T
y + <d
T
y +(5.
Iklloo
So d is a valid output of the weak separation algorithm for K.
4.4 Equivalence of the Basic Problems 117
The above theorem implies that for a circumscribed convex body, given by a
weak optimization oracle, the weak separation problem can be solved in oracle
polynomial time. Our next result shows that we do not even need the outer
radius for this implication:
WOPT WSEP
(4.4.6)
That is:
(4.4.7) Theorem. There exists an oracle-polynomial time algorithm that solves
the weak separation problem for every convex body given by a weak optimization
oracle.
Proof. Let K c R" be a convex body given by a weak optimization oracle
WOPT, and let the input yeQ" and S > 0 for the weak separation problem for
K be given.
We first call WOPT 2n times with input e :=3/2 and c :=e i =1, ..., n.
If WOPT ever answers that S(K, e) is empty, then any vector with maximum
norm 1 will be a valid answer for the weak separation problem. Otherwise we
obtain a box that contains S(K,~(5/2), and z e S(K,s), and hence we obtain an
R' > 0 such that S{K,-3/2) c S(0,K') and S(0,R
f
) n K 0. By the General
Assumption (1.2.1), the encoding length of R
f
is bounded by a polynomial in n
and (3). Let R := 3R'. By a simple geometric argument one can prove:
Claim. Either S(K,3) is empty or K S(0
9
R). (However, we do not know
which case occurs!)
We set K' :=K DS(0,R). (K';n,R) is a circumscribed convex body. Now we
design a weak optimization subroutine for K
r
. For any input d e Q" and s
f
> 0
we call WOPT with input c :=c
r
and e :=min{<5,e710}. We may assume that
WOPT does not give the answer S(K
9
e) is empty, nor does it give a y' e S(K,s)
such that ||/1| >R+8, because in both cases we can conclude that S(K, d) =0,
and thus the answer to the weak separation problem for K is trivial. So WOPT
returns / e 5(X,e) D S(0,R +e) such that c
T
x < c
T
y' +e for all x e S(K,-e).
Since S(K
9
e) H S(0,R + e) <=S(K', lOe) and S(K',-e) S(K,-e), / is a valid
output for the weak optimization problem for K'.
By the remark above we can solve the weak separation problem for (K'\n,R)
and the given input y,d in oracle-polynomial time. Note that S(K\S) S(K,S)
and by the claim S(K
f
, <5) = S(K
9
3), and hence the output for the weak
separation problem for K' is also valid for K.
We close this section by proving an implication showing that it is justified to
assume the knowledge of a center OQ in Theorem (4.3.2), because such a center
can be derived from a weak optimization oracle and an inner radius r:
(4A8) |WOPT,r
r,ao
That is:
118 Chapter 4. Algorithms for Convex Bodies
(4.4.9) Theorem. There exists an oracle-polynomial time algorithm that, for
any given convex body K, specified by a weak optimization oracle, and for any
given inner radius r, constructs a vector ao and a rational number r' > 0 so that
S{a*S)ciK.
Proof. Let K c ]R" be a convex body given by a weak optimization oracle and
an inner radius r. In the proof of (4.4.7) we saw that we can derive an outer
radius JR from this. To determine a ball S(ao,r
f
) contained in K, let
\8nRJ
SnR
First give the input c := 0, e to the oracle, yielding a vector y$e S(K
9
e).
Next determine yu ->.,y
n
inductively as follows. If y
0
, ...,yj-\ have been
found (1 <j < n), choose any nonzero vector c with c
T
yo = c
T
y\ = ... = c
T
yj-i
and || c || oo =1. Give the inputs c,e and c,e to the oracle. It gives us vectors y'
and y" in S(K,e) so that c
T
y" e< c
T
x < c
T
y
f
+e for all x in 5(K,-e). Let
yj :=y
f
if c
7
y
f
c
T
yo > c
T
yo c
T
y"\ let y
;
- :=y
n
otherwise. Since K contains a
ball of radius r, S(K, e) contains a ball of radius r s. So
d(y
j9
arr{j>o, .. , yj-\}) >r - 2e.
Therefore, the induction hypothesis implies that the j -dimensional volume of
conv{y
0
, . , yj} is at least (r - s)
1
/j!.
On the other hand, for each j = 0, ..., n, the (n l)-dimensional volume
of conv{>>o, ...,#_i , #+!, ...,}>} is at most (2(R+r))
n
9
since ||^
0
|l, -, \\y
n
\\ <
R + < R+r. Hence taking
ao :=^TTY^
0 +
'''
+ y
^
and
t
,_}_( r-2s
1 / r - 2e \
2(tf+r)
we have S(a
0
,r
f
+e) c S(K,s), and hence S(flo,r
;
) K. D
*4L5 Some Negative Results
In this section we give some negative results showing that there are no reductions
between the basic algorithmic problems other than, and no reductions under
weaker hypotheses than, those following from Figure 4.1.
One negative result was shown already in Section 4.1, namely that one cannot
derive an oracle-polynomial time weak optimization algorithm from a weak
membership oracle, even if one knows an outer radius R and an inner radius r.
In our notation:
(4.5.1)
WMEM,^,r WOPT
4.5 Some Negative Results 119
Most of the other negative results in this section show that knowledge of an
outer radius R is quite essential.
Next we show that one cannot derive an oracle-polynomial time weak vio-
lation algorithm from a weak validity oracle, even if one knows a ball S{ao,r)
contained in the convex body. In short-hand notation:
(4.5.2)
WVAL,r,a
0 ++
WVIOL
Proof. Suppose, to the contrary, that one can derive such an algorithm. Let
n =2, a
0
=(0,0)
r
, r = 1. We give the input c = (0, \)
T
, y =3, e =0.2 to the
algorithm. In executing the algorithm, the weak validity oracle turns out to give
the following answers, for input c = (c\,C2)
T
,y,e:
(i) if ||c|| >y, or if c\ > 0, or if ci =0 and 5c2 > % it asserts that c
T
x >y I
for all x in S(K
9
e);
(ii) otherwise, it asserts that c
T
x < y +s for all x in S(K,e).
Note that these answers are consistent with
K=conv(S(a
0
,r)U{a,5)
r
})
for arbitrary large X. It follows that any output for WVIOL derived from this is
unfounded.
Next we show that one cannot derive an oracle-polynomial time algorithm for
the weak optimization problem from an oracle for the weak violation problem,
even if one knows a ball S(ao,r) contained in the convex body. In short-hand
notation:
(4.5.3)
WVIOL, r,a
0
-+ WOPT
Proof. Suppose, to the contrary, that one can derive such an algorithm. Let
n =1, a
0
=0, r =1. We give the input c = 1, e =1 to the weak optimization
algorithm. In executing the algorithm, the weak violation oracle turns out to give
the following answers to the input c, y, e:
(i) if c 4" 0, it asserts that x := y/c belongs to S(K,e) (it satisfies c
T
x > y S);
(ii) if c = 0, y > 0 it asserts that c
T
x < y +e for all x in S(K,~e);
(iii) if c =0, y < 0, it asserts that x :=0 belongs to S{K, e) (with c
T
x >y e).
It is clear that no conclusion can be drawn with respect to the weak optimization
problem.
One cannot derive an oracle-polynomial time weak membership algorithm
from a weak violation oracle, even if one knows a ball S(ao,r) contained in the
convex body:
(4.5.4)
WVIOL, r,a
0
WMEM
120 Chapter 4. Algorithms for Convex Bodies
Proof. Suppose, to the contrary, that one can derive such an algorithm. Let
n = 2, a
0
= (0,0)
r
, r = 1. We give the input y = (8,0)
r
, S = 1 to the weak
membership algorithm. In executing the algorithm, the weak violation oracle
turns out to give, for any input c =(c\
9
c
2
)
T
, y e Q, e > 0, answer (ii), with y' a
vector satisfying: / e 2
2
, c
T
y
f
> y
9
\\y' z||oo <1, where
2 : =
1
ci-hc
2
v
/
2Vyv
/
2y
(Note that the encoding length of y' is bounded by a polynomial in the encoding
lengths of c, y, and , since if c =^ with d e Z
2
, ^eZ, then
||/ ||oo<l + I M|oo=l +
=1 +
\y\V2
\c\+c
2
y/2\
q
2
yV2(ci c
2
y/2)
=1 +
\y\y/2\c
x
- c
2
y/2\
\c\-2c\\
d\~2d\
^1 +|^
2
y V5(ci - c
2
V2)|.)
Observe that c
T
z =y and that z e C :={(xi,X2)
r
| x
2
=xi\/2}. It is clear that
no conclusion can be drawn with respect to (8,0)
r
.
One cannot derive an oracle-polynomial time weak separation algorithm from
a weak membership oracle, even if one knows a ball S (ao, r) contained in the
convex body:
(4.5.5)
WMEM,r,flo -h WSEP
Proof. Suppose, to the contrary, that one can derive such an algorithm. Let
n = 2, fl
0
=(0,0)
r
, r =1. We give the input y = (0,3)
r
, S =0.2 to the algorithm.
In executing the algorithm, the weak membership oracle turns out to give the
following answers for input y = (y\,y
2
)
T
,S:
(i) if y
2
< 1, then it asserts that y e S(K,d);
(ii) if y
2
> 1, then it asserts that y S{K,S).
Clearly, the conclusion that y belongs to S(K
9
d) cannot be drawn. The algorithm
neither can give a vector c e Q" with ||c||oo = 1 and c
T
x < c
T
y +S for all x
in S(K,S). Indeed, since the oracle has been asked only a finite number of
times, there exists a vector d so that d
T
y < 1 for all y asked to the algorithm
with y
2
< 1, and d
T
y > 1 for all y asked to the oracle with y
2
> 1, and so that
\\d\\ = 1 and d c. Hence it can be the case that K = {x \ d
T
x < 1} D S(0,R),
for arbitrary large R. If R is large enough, there exists an x in S(K,S) with
c
T
x > c
T
y +<5, contradicting the output of the algorithm.
One cannot derive an oracle-polynomial time weak validity algorithm from a
weak separation oracle, even if one knows a ball S(ao,r) contained in the convex
body:
(4.5.6)
WSEP, r,a
0
WVAL
4.5 Some Negative Results 121
Proof. Suppose, to the contrary, that one can derive such an algorithm. Let
n =2, a
Q
= (0,0)
r
, r = 1. We give the input c = (0, l )
r
, y =3, = 1 to the
algorithm. In executing the algorithm, the weak separation oracle turns out to
give the following answers, for input y = {y\,yi)
T
:
(i) if \\y\\ < 1, or if \y
2
\ < 1, y
{
< 0, it asserts that y e S(K,d);
(ii) otherwise, it gives some c = {c
u
c
2
)
T
separating y from S((0,0)
r
, 1) with
c
x
>0.
It is clear that from these answers no conclusion with respect to the validity of
c
T
x < y + e can be drawn, since K could be equal to {x e R
2
| c
T
x < \\c\\ for
each c that has been given as answer by the oracle } f) S(0,R) for some large
R, or equal to convjy e R
2
| y has been asked to the oracle leading to output
(i)}.
One cannot derive, in oracle-polynomial time, a vector ao and a rational
r' > 0 such that the convex body K contains S(ao,r
r
), from a weak separation
oracle for K, even if one knows some inner radius r for K in advance:
(4.5.7)
WSEP,r
r,ao
Proof. Let n = 1, r = 1, and suppose the weak separation oracle answers, for
any y e Q, S > 0, that x < y for all x in K. We cannot conclude with any ao
belonging to K.
Similarly for a weak violation oracle:
(4.5.8)
WVIOL,r - h
r,a
0
Proof. Let n =2, r =1, and suppose the weak violation oracle gives, for input
c (ci>ci)
T
e Q
2
, y e Q, e >0, a vector y in S(K,s) with c
r
y *>y +e, where
y is some rational vector in 5(z,e), z being the point of intersection of the lines
{x | c
T
x = y + 2e} and {x = (xi,*2)
r
I *2 =xiv^}. Even if one knows that
K contains a ball of radius r, one cannot determine, from a finite number of
answers, a ball S(oo,r') contained in K.
Note that (4.5.7) and (4.5.8) imply
(4.5.9)
and
WSEP,r WOPT
(4.5.10)
WVIOL,r - h WOPT
because of (4.4.8).
122 Chapter 4. Algorithms for Convex Bodies
Finally, we show that one cannot derive, in oracle polynomial time, a rational
number r > 0 such that the convex body K contains a ball of radius r, from a
weak separation oracle for K, even if one knows a radius R with K c S(Q,R):
(4.5.11) | WSEP,fl | -f* [7) .
Proof. Let n = 1, R = 2, and suppose the oracle turns out to answer, for any
input y eQ, 6 >0:
(i) if y < A/2, that x > y 3 for all x in K,
(ii) if y > A/2, that x < y + 5 for all x in K.
It is clear that one cannot make any conclusion about the inner radius of K.
*4.6 Further Algorithmic Problems for Convex Bodies
We shall now investigate some further basic questions of convex geometry from
an algorithmic point of view. Our main tool will be an algorithmic version of
the Lowner-J ohn theorem (3.1.9). Results of this type have also been obtained
by GOFFIN (1984).
(4.6.1) Theorem. There exists an oracle-polynomial time algorithm that, for any
well-bounded convex body (K;n,R
9
r) given by a weak separation oracle, finds
an ellipsoid E{A,d) such that
E(^A,a)^KzE{A,a).
Proof. We shall only describe the underlying simple geometric idea of the al-
gorithm, supposing that all calculations with real numbers can be carried out
exactly. One could take the necessary rounding into account just like in the
shallow-cut ellipsoid method and this would not lead to substantial additional
difficulties.
We derive a shallow separation oracle from the given weak separation oracle
as follows. Let E =E(A,a) be any ellipsoid. Determine the axes of E; more
precisely, compute a system of orthonormal eigenvectors v\, ...
9
v
n
with corre-
sponding eigenvalues k\, ..., A
n
. Then a y/Xlvu i =1, ..., n are the endpoints
of the axes. Run the separation oracle for each of the points a ^yV^^i - If we
obtain a separating hyperplane for one of these points, this yields a shallow cut
for E. If all these points turn out to belong to K then we declare E tough.
Let us remark that for a tough ellipsoid E(A,a), the ellipsoid E{-r^iA,a)
is not necessarily contained in K. However, the smaller concentrical ellipsoid
(
w(w
|
1)2
y4,a) is contained in the convex hull of the points a ~^i /I /r i =
1, ..., n, and therefore in K.
Using this shallow separation oracle we run a shallow-cut ellipsoid algorithm
with P =~y, e = ()" and the given R. This gives us an ellipsoid E(A,a) 2 K.
Since s < vol(K), the second possibility of Theorem (3.3.3) is ruled out, and hence
E(A,a) is tough. By the remark above, this implies that E( *
t
^>l,fl) ^ K. O
4.6 Further Algorithmic Problems for Convex Bodies 123
(4.6.2) Remark. In the proof above we called the weak separation oracle for
In points on the surface of the ellipsoid E((n +\)~
2
A,a). By calling it for more
than In but still polynomially many points, we could find in polynomial time an
ellipsoid E(A,a) such that
E(cn-
3
A,a) c K c E(A,a)
for every fixed positive c and n large enough. However the degree of the
polynomial will depend on c.
By the Lowner-J ohn theorem there exists an ellipsoid E (A, a) with E (n~
2
A, a)
K ^E(A, a). We do not know how much the factor n~
3
obtained above can
be improved algorithmically if the convex body is given by a weak separation
oracle.
For special classes of convex bodies Theorem (4.6.1) can be improved. A set
K c R
n
is called centrally symmetric with respect to a e R" if x e K implies
2a x e K. K is called just centrally symmetric if K is centrally symmetric with
respect to the origin.
(4.6.3) Theorem. There exists an oracle-polynomial time algorithm that, for
any well-bounded, convex body (K;n,R,r) centrally symmetric with respect to
A GQ" that is given by a weak separation oracle, finds an ellipsoid E(A,a) with
E(M^r
}
^)^K^E(A
9
a).
D
(4.6.4) Theorem. There exists a polynomial time algorithm that, for any well-
bounded convex body (P ;n
9
R,r) given as the solution set of a system of linear
inequalities Bx < b, where B e Q
mxn
and b e d^
1
, finds an ellipsoid E(A
9
a) with
E^^Aa) ^P^E(A,a).

(4.6.5) Theorem. There exists a polynomial time algorithm that, for any well-
bounded, centrally symmetric, convex body (P;n,R,r) given as the solution set
of a system of linear inequalities -b<Bx<b,Be Q
mx
", 6eQ, finds an ellipsoid
E(A,0) with
E^A
9
6) c:P^E(A,0).

124 Chapter 4. Algorithms for Convex Bodies
(4.6.6) Remark. J ordan proved - cf. J OHN (1948) - that for a convex body X,
centrally symmetric with respect to a, there exists an ellipsoid E(A
y
a) such that
E(iA,a) ^K^E(A
y
a).
Again we do not know whether the factor (n(n +l))"
1
obtained in Theorem
(4.6.3) can be improved algorithmically to a factor closer to the theoretically best
possible factor 1/n in J ordan's theorem.
However, if our convex body is a polytope given as the solution set of a system
of linear inequalities, then asymptotically the factors given in the Lowner-J ohn
theorem and in J ordan's theorem can be achieved algorithmically, as the last two
theorems show.
We sketch the proof of Theorem (4.6.5) which contains the essential ideas
needed in the proofs of Theorems (4.6.3) and (4.6.4).
Proof of Theorem (4.6.5). The idea of the proof is to use parallel cuts instead
of shallow cuts. We construct a sequence of ellipsoids E
k
:=04^,0), including
P, as follows. Let EQ be equal to 5(0,/?). Suppose in the Ac-th iteration we
have constructed Ek. Then we check whether (- 7=^,0) is contained in P
- cf. Remark (3.3.4). If not, let y e E(-^A
k
,0) \P, and let a
T
x <abe an
inequality in the system defining P violated by y. Then a
T
x > a is also a valid
inequality for P. Choose as the next ellipsoid Ek+\ the Lowner-J ohn ellipsoid of
E
k
n{xeJR.
n
\-OL< a
T
x < <x} - see (3.1.18) - (3.1.20). Then we have
VOl(flfc+l) < -l/(5.')
vol(
k
) -
This inequality guarantees that the algorithm terminates in polynomial time.
D
(4.6.7) Remark. In Theorems (4.6.4) and (4.6.5) we could - alternatively -
consider polytopes given as the convex hull of finitely many points and reach the
same conclusions. In the case of Theorem (4.6.5) this follows easily by polarity. In
the case of Theorem (4.6.4) an algorithm by LENSTRA (1983) can be used.
The algorithms above can be viewed as methods to make aconvex body
round in the following sense.
(4.6.8) Corollary, (a) There exists an oracle-polynomial time algorithm that, for
any well-bounded, convex body (K;n
9
R,r) given by a weak separation oracle,
finds an affine transformation Q :x*-+Tx + t (T eQ
wxn
,t e Q
rt
) such that
S
(^)^Wc5(0,l).
If, in addition, K is centrally symmetric then the algorithm achieves
4.6 Further Algorithmic Problems for Convex Bodies 125
(b) There exists a polynomial time algorithm that, for any well-bounded, convex
body (P ; n, R, r) given as the solution set of a system of linear inequalities, finds
an affine transformation Q such that
s(a^)s(j(K)cs(fti).
If, in addition, P is a centrally symmetric polytope, the algorithm obtains
s ( 0 , ^ ) e
G
( x ) eS( 0, 1) .

These results have a further interpretation for normed linear spaces. If we
speak about a given norm on R", we shall assume that there is a weak norm
oracle (i. e., an oracle that, for every xeQ" and every rational e >0, produces
a rational number Y\ such that \N(x) rj\ < e) and that two rational numbers
ci,C2 >0 are given such that for all x e R",
ci||x|| < N(x) < C2\\x\\.
The next corollary asserts that for every given normN on R" an ellipsoidal norm
can be computed in polynomial time that is "close" to N.
(4.6.9) Corollary. There exists an oracle-polynomial time algorithm that, for
any given norm N on R", computes a linear transformation Q oflR" such that
for all x e R",
\\Qx\\<N(x)< y/n(n+l)\\Qxl
Proof. Let K = {x e R" \ N(x) < 1}. Then K is a centrally symmetric convex
body and
S(0,)<=K: S(Q,).
Further, we have a trivial weak membership algorithm for K. Hence by The-
orems (4.3.2) and (4.4.4) we can design a weak separation algorithm for K.
So by Theorem (4.6.8) (a), we can compute in oracle-polynomial time a linear
transformation Q of R
n
such that
s
('^fen)

^)^(o,i).
Then, if x e K, then Qx e Q(K) and so ||Qx|| <1. Since for any nonzero x e R",
j^x e K, we have 1 >\\Q(j^x)\\ =^\ \ Q(x)\ \ , and so \\Qx\\ < N(x). Similarly
we obtain that N(x) < y/n(n+ 1) \\Q(x)\\.
126 Chapter 4. Algorithms for Convex Bodies
(4.6.10) Remarks.
(a) As described above, the algorithm to compute the ellipsoidal norm ||Qx||
involves three ellipsoid algorithms inside each other (two to obtain separation
from membership and one more to calculate Q). With a little care one could
combine these into a single shallow-cut ellipsoid method.
(b) The upper bound ci for J V(x)/||x|| need not be given in advance. One can
easily compute it from the norm oracle. In fact,
c
2
:=[(iV(e
1
) +...+i V(^))h
is a suitable choice. On the other hand, if n > 3 then no lower bound at all can
be computed for J V(x)/||x|| from an oracle to evaluate N(x). For n =2,
c, :=\ max{N (e, ^} e
2
),N (e
2
gj e,) }
is a suitable choice. We shall not, however, go into the details of this rather
special technical question here.
Instead of finding the Lowner-J ohn ellipsoid of a convex body K it may be
more natural to look for the smallest ball including K and for a largest ball
contained in K. These problems are related to two further problems, namely, to
determining the width and the diameter of K.
For a set K R" we denote by R(K) and r(K) the radii of the smallest
circumscribed ball and a largest inscribed ball, respectively. The following two
inequalities are well known from classical geometry.
(4.6.11) Theorem. For every convex body K ^]R/^
\ diam(K) <R(K) < -= diam(K),
and
^ width(X) <f(K) < \ width(X).

Algorithmically the following can be achieved.
(4.6.12) Theorem. There exists an oracle-polynomial time algorithm that, for
any well-bounded, convex body (X;n,R,r) given by a weak separation oracle,
finds two points x,y e K and a ball S(a,p) including K such that
p< ^Wx-yl
(Note that obviously p >\ \\x y\\)
4.6 Further Algorithmic Problems for Convex Bodies 127
Proof. For each 1 <i < n, maximize the objective functions ejx and ejx over
K. Let xi and x\ be the optimum solutions respectively, and suppose, e. g., that
||*i - *i II >\\xt - x\\\ (1 <i < n). Set x :=x\ and y :=x\. Let
p :=^l l ^i - ^i II-
Then X c 5(a,p), which is easy to check.
(4.6.13) Theorem. There exists an oracle-polynomial time algorithm that, for
any well-bounded, convex body (K;n,R,r) given by a weak separation oracle,
finds two parallel hyperplanes c
T
x = y\, c
T
x =y
2
and a ball S(a,p') contained
in K such that for all xe K,y\ < c
T
x < y
2
and
, 7 2 - 7 i
2(n+l)
>
/S|kir
Proof. By Theorem (4.6.1), we can find in oracle-polynomial time an ellipsoid
E(A,a) such that
E{dftA,a)^K^E(A,a).
Let c be an eigenvector of A belonging to its smallest eigenvalue k. (Note that
c and k can be computed in polynomial time using well-known techniques from
numerical analysis.) Let
H
' (m-l )Vn'
Then S(a,p') c K. Furthermore, let
yi
=c
T
a-k\\c\\
y
2
=c
T
a + k\\c\\.
Then obviously the requirements of the theorem are satisfied.
There are many other geometric parameters of convex bodies that are not
well studied from an algorithmic point of view. For example, from Theorem
(4.6.1) we get an estimate for the volume of a convex body K with relative error
approximately m
n
. This error is not as bad as it looks in the sense that one
can prove that no oracle-polynomial time algorithm can compute the volume of
every well-bounded, convex body given by (say) a separation oracle with relative
error less than (cn)
n/2
where c is some constant - see ELEKES (1986) and BARANY
and FUREDI (1986). But it is not known, for example, whether the volume of a
polytope given as the convex hull of a set of vectors is computable in polynomial
time. Further open algorithmic problems are the determination of the center of
gravity and the surface area etc. of a convex body.
128 Chapter 4. Algorithms for Convex Bodies
*4.7 Operations on Convex Bodies
There are many operations that make new convex bodies from others (intersec-
tion, sum, projection, convex hull, polar etc.). In this section we shall study the
preservation of algorithmic properties by some of these operations. We restrict
our investigation here to well-bounded convex bodies.
The Sum
The sum of two convex sets Ki,K
2
^lR
n
is defined as
K
{
+K
2
:={xi -hx
2
eJR
n
\x
{
e K
u
x
2
e K
2
}.
The difference K\ K
2
is defined analogously. If (Ki;n
9
R\
9
r{) and (K
2
;n,R
2i
r
2
)
are well-bounded convex bodies then
{K
1
+K
2
;n
9
Ri^R
29
ri+r
2
)
is also a well-bounded convex body. Moreover, if we have weak optimization
oracles for K\ and K
2
then the weak optimization problem for K{ +K
2
can be
solved easily. In fact, given ceQ" and a rational e >0 (we may assume that
||c||oo =1), then set e, =min{ri,ri/(8njR,)}, i =1,2. We call the weak optimization
oracles for K
t
with input c and e,. This gives us vectors y\ and y
2
such that
y
t
e S(K,-,e,-) and for all x, e S(K
i5
e,-) we have c
T
Xi < c
T
yi+i. Hence by Lemma
(3.2.25) we have that for all x
t
e K
i9
c
T
x
t
< c
T
yt -f ,- +2Ri
ix
/n/ri < c
T
y
t
+a/2.
We claim that y :=y\ +y
2
solves the weak optimization problem for K\ +K
2
and
the given input. For, trivially y e S(K[,s\) +S(K
2
,e\) ^5(X,a), and moreover,
letting xe Ki + K
2
, then there are x\ e K\ and x
2
e K
2
with x x\ + x
2
and so
c
T
x =c
r
xi +c
T
x
2
< c
T
y\ +e/2 +c
r
^
2
+e/2 =c
T
y +e.
In view of the results of the previous section, this implies that if we have a
weak violation (separation) oracle for K\ and K
2
, then the weak violation (weak
separation) problem for J^i +K
2
can be solved in oracle-polynomial time.
It is not difficult to show that weak validity oracles for K
{
and K
2
yield an
oracle-polynomial weak validity algorithm for K\ +K
2
. Namely, given a rational
inequality c
T
x < y and a rational > 0, we can use binary search to find rational
yx and y
2
such that c
T
x
t
< y, is valid for all x, e Ki but there exist y
t
e S(K
i9
e/2)
such that c
T
yi > y, e/2. Now if y > y\ +y
2
then c
T
x < y is valid for all x e K.
If y < y\+y
2
then >>i-h>>2 e S(Ki+K
2
,e) satisfies c
T
(y
x
+y
2
) > y\+y
2
-e > y-e.
It is impossible to derive an oracle-polynomial algorithm for the weak mem-
bership problem for K\ +K
2
, given weak membership oracles for well-bounded
convex bodies K\ and K
2
. This follows by the same arguments as given in Section
4.1. For centered convex bodies, however, such a derivation can be made using
Yudin and Nemirovskifs theorem.
4.7 Operations on Convex Bodies 129
The Convex Hull of the Union
Now we study conv(Xi U K
2
). The results will be very similar to the results
concerning K\ +K
2
. Let (Ki?; n, R
i9
r*), i = 1,2, be two well-bounded convex
bodies. Then
(conv(Xi U K
2
;n,max{Ki,R
2
},max{ri,r
2
})
is a well-bounded convex body. If we have weak optimization (validity) oracles
for K\ and K
2i
then we can solve the weak optimization (validity) problem for
conv(Ki U K
2
) trivially. Hence by the results of the previous sections the same
holds for weak separation and violation oracles. To solve the weak membership
problem for conv(Ki U K
2
) using weak (or even strong) membership oracles for
K\ and K
2
is again impossible in oracle-polynomial time.
The Intersection
The problem with the intersection of two convex bodies K\ and K
2
is that
K\ fl K
2
need not be a convex body at all, and even if it is, we may not be able to
compute a radius of a ball inside K\ fl K
2
in polynomial time. So let us assume
that we also know a rational number r
3
such that K\ fl K
2
contains a ball with
radius r
3
. Set fl
3
=min{R\,R
2
}. Then
(K
l
nK
2
;n
9
R
39
r
3
)
is a well-bounded convex body.
First we show that given weak membership oracles for K\ and K
2
we can
solve the weak membership problem for K\ C\K
2
in oracle-polynomial time quite
simply. Let y e Q" and S e Q, 3 > 0 be given. Let 6' :=Sr
3
/(2R
3
). Call the weak
membership oracles for K\ and K
2
with input y and S
f
. If they conclude that
y 4 S(Ki,S') for i =1 or 2 then clearly v i S(K
{
HK
2
, -S). Suppose the oracles
conclude that v e S{K
h
5
f
) for i = 1,2. Then we claim that y e S(K
{
fl K
2
,d).
For, let S{ao,r
3
) e K
{
fl X
2
. We are going to show that
S' r
3
z :=; a
0
+-77 y e K
{
0 K
2
.
We first prove that 2 e K
{
. Since y e S{K
u
d') there exists a point y
{
e K\ such
that ||y-yi || <<5'. Then
ao+^(y- yi )eS(f l o,r
3
)sXi .
And so by the convexity of K\
is in Ki. Similarly z e K
2
. So z e Ki D K
2
. Since ||z - y|| =^'||z - ao||/r
3
^
25'R
3
/r
3
=S, this implies that y e S(X, fl K
2
,5).
130 Chapter 4. Algorithms for Convex Bodies
The same argument shows that if we have weak separation oracles for K\ and
K
2
we can solve the weak separation problem for K\ D K
2
in oracle-polynomial
time. By the results of the previous sections this implies that the same holds for
weak optimization, violation and validity.
The somewhat disturbing hypothesis that K\ f)K
2
contains a ball with radius
r
3
can be checked in the following sense.
(4.7.1) Theorem. There exists an oracle-polynomial time algorithm that, for any
two well-bounded, convex bodies (K,-; n, JR,-, r,-), i 1,2, given by weak separation
oracles and for any given rational number r
3
> 0, either
(i) asserts that K\ D K
2
contains a ball with radius r
3
, or
(ii) finds a vector c e Q
w
with ||c||oo = 1 and a number y e Q such that
c
T
x < y for all x e S(K\,s) and c
T
x > y for all x e S(K
2j
e) where
e = 9nr
3
(R
l
/r
{
+R
2
/r
2
).
(I. e., we find a hyperplane almost separating K\ from K
2
.)
Proof. Let us consider the convex body (K\ K
2
;n,R\ +R
2
,r\ -f r
2
). We can
solve the weak separation problem for K\ K
2
in oracle-polynomial time by the
first part of this section. Solve the weak separation problem for K\K
2
In times
with inputs y = |e, and S =r
3
, for i =1, ..., n.
Case 1. We find that for all i = 1, ..., n and for all choices of the sign the vector
eet/4 belongs to S(K\ K
2y
r
3
).
Thus S(0,e/(4v/w)) S{K
X
-K
2
,r
3
). Weclaim that S{K
u
-r
3
)f)S(K
2
,-r
3
) 0.
This is clearly equivalent to the conclusion that K\ D K
2
contains a ball with
radius r
3
.
Suppose by contradiction that S(K
u
-r
3
) fl S(K
2
,-r
3
) =0. Then S(K
u
-r
3
)
and S(K
2
, r
3
) can be separated by a hyperplane c^x = yo where ||colloo =1- By
Lemma (3.2.35) CQX < y$ + 2R\r
3
<Jn/ri for all x e K\ and c^x > yo 2R
2
r
3
^/n/r
2
for all x 6 K
2
. But we know that e/(4v/w||co||)co e K\K
2
and so e/(4
v
/w|ko||)co =
y\ ~yi for certain y
t
e K
h
i =1,2. Hence e/(4y/h\\co\\)c^co =c$y\ -c\y
2
< 2r
3y
/n
(Ki/ri +R
2
/r
2
) < e/(4y/n). On the other hand:
e CQCQ
e
II II

4y/n ||co|| 4^/n ~~4y/n'
which is a contradiction.
Case 2. For at least one of i e {1, ..., n} and at least one choice of the sign we
obtain an almost separating hyperplane, i. e., we obtain a vector c e Q
n
, IMU =1
such that (say) c
r
(ee,/4) >c
T
xr
3
for all x e S(KiK
2i
r
3
). Compute a number
y such that \y max{c
r
x | x e Ki}| <e/4. Then trivially c
T
x < y +e/4 e for
all x G S(Ki,-e). On the other hand, c
T
x < c
T
(sei/4) +r
3
< e/2 for all
x e 5(Xi X2,r
3
) and hence by Lemma (3.2.35)
T ^ r-R\+Ri e ^ R
{
R
2
^ 3
c
T
x < - +2 ^ r
3
<- -f In (- +)r
3
<- e
2 T\ -f- r
2
1 r
2
r
2
4
for all xeK
{
- K
2
.
4.7 Operations on Convex Bodies 131
Let x
2
e K
2
be arbitrary and let xi be a vector in K\ maximizing c
T
x over
K\. Then x\ x
2
e K\ K
2
and so
c (x
{
- x
2
) < - .
4
Hence
3 e 3
c
r
*2 ^
c r
* i T^^'y T -> &>y e.
4 4 4
Thus for all x
2
G S(K
2
,e) we have
c
r
*2 >y + =}>.
n
By combining Theorem (4.7.1) with the observations made before, we can
conclude that we can either weakly optimize over K\ fl K
2
or weakly separate
K\ and K
2
.
(4.7.2) Corollary. There exists an oracle-polynomial time algorithm that, for any
two well-bounded convex bodies (K,-; n, R,-, r,-), i = 1,2, given by weak separation
oracles, for any vector c e Q", and any rational number e > 0, either
(i) finds a vector >>eQ" such that y e S(K\ fl K
2
,E) and c
T
x < c
T
y -f for all
xeS(K
{
r\K
2
,-s), or
(ii) finds a vector d e Q
n
, ||d||oo = 1, and a number yeQ sue/? tf?a
d
T
x < y for all x e S(Kue)
and
d
J
x>y for all x e S (K
2
, -e).

Polars, Blockers, Antiblockers
Recall that in Section 0.1 we have defined the polar, blocker and antiblocker of
a set K cR " as follows:
K* :={y e WC
1
\ y
T
x < 1 for all x e K},
bl(X)
abl(K)
= {y e 1R" | y
r
x > 1 for all x e K}
9
= x*nKj..
Also recall the notions "up-monotone" and "down-monotone" in J R".
We have seen in Section 4.4 that, if K is a 0-centered convex body, then
K* is also a 0-centered convex body. Furthermore, the separation, optimization
etc. problem for such K and K* are equivalent. We are going to derive similar
results for the blocker and antiblocker.
132 Chapter 4. Algorithms for Convex Bodies
It is easy to see that if (K;n,R,r) is a well-bounded convex body down-
monotone in R+ then (abl(X);n, 1/r, 1/nR) is a well-bounded convex body
down-monotone in R+. Furthermore, along the lines of the proof of Lemma
(4.4.1) one can show that if K is given by a weak violation oracle, then the weak
separation problem for abl(K) can be solved in oracle-polynomial time. From
this we can conclude that the separation, optimization etc. problem for K and
abl(K) are polynomially equivalent.
It is clear that similar results can be worked out for the blocker of a set
up-monotone in R". Of course, the machinery developed so far does not work
directly, since nonempty up-monotone sets are not bounded. One could get
around this difficulty by intersecting the set and its blocker with large balls. We
do not go into the details here. For polyhedra the results are elaborated in
Chapter 6.
Chapter 5
Diophantine Approximation and Basis Reduction
As mentioned in Chapter 1, combinatorial optimization problems can usually
be formulated as linear programs with integrality constraints. The geometric
notion reflecting the main issues in linear programming is convexity, and we have
discussed the main algorithmic problems on convex sets in the previous chapters.
It turns out that it is also useful to formulate integrality constraints in a geometric
way. This leads us to "lattices of points". Such lattices have been studied (mostly
from a nonalgorithmic point of view) in the "geometry of numbers"; their main
application has been the theory of simultaneous diophantine approximation, i. e.,
the problem of approximating a set of real numbers by rational numbers with
a common small denominator. We offer an algorithmic study of lattices and
diophantine approximation.
The main result derived here is an algorithm to approximate a set of numbers
by rational numbers with a common small denominator. We have seen previously
that the ellipsoid method gives only approximate solutions in various applica-
tions; often the exact solutions can be obtained by appropriate "rounding". Thus,
the problem of "rounding", that is, of approximating real numbers by rational
numbers with small denominator, arises naturally. It is still somewhat surprising
that often a straightforward rounding is not sufficient, and quite involved tech-
niques of simultaneous diophantine approximation are needed. Applications of
this sort will occur in Chapter 6.
In the first section of this chapter we give a quick survey of the classical
algorithm of expanding a number into a continued fraction. This can be used to
find, for a given real number, the best rational approximation with a denominator
bounded by a prescribed integer (this algorithm was referred to in Section 1.3). In
Section 5.2 we consider the problem of simultaneous diophantine approximation.
Existence theorems for such rationals and good estimates on their denominators
are well known in number theory; the important new point here is that there
exists a polynomial time algorithm to solve this problem - at least in a sense
(LENSTRA, LENSTRA and LOVASZ (1982)).
In Section 5.3 we describe the algorithm of Lenstra, Lenstra, and Lovasz. Since
Minkowski, a main tool in the study of diophantine approximation problems is
the geometry of numbers, the theory that investigates the intersections of point
lattices with convex sets. The algorithm described here is based on finding a
"reduced basis" in an appropriate lattice.
In Section 5.4 we discuss some algorithmic problems concerning lattices. It
seems that the algorithmic theory of lattices is less developed than the algorithmic
134 Chapter 5. Diophantine Approximation and Basis Reduction
theory of convex sets, even though some features are quite analogous. This section
is only a first step in this direction. It will not be needed in the rest of the book.
Let us conclude this introduction with a general remark. There are two
branches of mathematics dealing with lattice points in various convex bodies:
integer linear programming and the geometry of numbers. There is, however,
surprisingly little connection between these two fields. It seems that the methods
of either one of them have little use for the problems in the other field. We
certainly cannot claim to have established a connection; but possibly Lenstra's
work and the other algorithms in this book lay the first planks to build a bridge
between these two flourishing branches of mathematics.
5.1 Continued Fractions
It may be instructional to survey first what may be considered as a 1- or 2-
dimensional version of the basis reduction algorithm to be discussed later - the
technique of continued fractions. The classical books on continued fractions are
PERRON (1913) and KHINTCHINE (1956) but this method is treated also in many
books on number theory (e. g., NIVEN and ZUCKERMAN (1980)) or approximation
theory (e. g., NONWEILER (1984)). Its main algorithmic application will be the
solution of the following problem.
(5.1.1) Best Approximation Problem. Given a rational number a and a positive
integer N, find a rational number a' with denominator at most N such that
|a a'| is minimum.
This problem can be formulated as a decision problem as follows.
(5.1.2) Diophantine Approximation Problem. Given a rational number a, a
positive integer N and a positive rational number e, decide whether there exists
a rational number cd with denominator at most N such that |a a'| <e.
The following classical result of DIRICHLET (1842) gives a sufficient condition
for the solvability of (5.1.2).
(5.1.3) Theorem. Given a real number a and 0 <s < 1, there exist integers p
and q such that 1 <q < l/e and |a p/q\ < e/q.
Proof. Consider a circle with circumference 1. Let k :=[l/e\. Starting from
a point OQ on the circle move clockwise distances a, 2a, ..., ken on the circle
to get points ao,fli,tf2, ->
a
k' Since we have k +1 points, two of these, say
0, and ty, i <j \ have distance d < l/(/c4-l) (measured on the circle). This
means that jet d icz is an integer, say p. Thus for q :=j i we have
\qa-p\ = d< l/(k+ 1) < and q <k< l/e. D
5.1 Continued Fractions 135
This application of the pigeon hole principle is "constructive", but it does
not yield a polynomial algorithm to find p and q. In fact, the running time is
polynomial in 1/e but not in (e), i. e., the pigeon hole principle gives a fully
polynomial approximation scheme. Continued fractions, which we describe now,
give an algorithm polynomial in the encoding length.
Let ao
5
0i>02> > ty be integers, all positive, except perhaps a$. An expression
of the following type
(5.1.4) a
0
+
l

a
2
-\
1
is called a (finite) continued fractional t is usual to abbreviate the expression (5.1.4)
by (ao,fli, ..., aj) or ao +ljfli +ljfl2 + +lja,. Since () denotes the encoding
length in our book we will use the second notation. Clearly, r_=ao+ljai-f U
a
2+-
+\\aj is a rational number. (The notation ao + \\a\ +U2 +... +Ija/ is also
meaningful if OQ G IR and a\, ...
9
aj are positive real numbers. We shall use
this, however, only in one proof.) Conversely, every rational number can be
represented by a continued fraction. This can be constructed by the following
algorithm:
Let a =o e Q be given. Set ao := |_
a
oJ and ai :=l/(an ao). Going on
similarly, set for i =1,2,...
a
t
:=|_a,-J.
If a, =a, we stop; otherwise, we let
1
The sequence (ao,ai,a2,...) defined this way is called the continued fraction
expansion of the number a.
It follows immediately from the definition that a
t
< a, < a, +1 and so
a,-
+1
=_l/(a,- flf) > 1. Thus a
i+{
> 0 for i > 0. By induction, a =OQ +l}a\ +
... +Uai_i 4- lja/. Hence, if the procedure terminates after the i-th step then
a =a
0
+Lffli +... +lja,-. Conversely, if, say, a =p/<? with p and <? coprime, q > 0,
then ai,a
2
,... are also rationals, and it follows trivially from the algorithm that
if an = pt/qi > 0 and a
{
0 then p, +q
t
> p
i+
\ +g,+i >0. So in this case the
algorithm must terminate with a
m
=a
m
for some m ^_0. _
Let a be an arbitrary rational number and a
0
+IJ aH- +W
a
m its continued
fraction expansion. The rational numbers p
k
:=OQ +ljai +... +Ijau (0 <k <m)
are called the convergents of a.
In practice, when determining the continued fraction expansion of a number a,
it is convenient to compute the numerators and denominators of its convergents
136 Chapter 5. Diophantine Approximation and Basis Reduction
ft along with a
k
and a&. In fact, we can compute, along with the a,'s, two
auxiliary sequences gk and hk by the recurrence
(5.1.5)
g-1
gi
hi
=0, g_! :=1, /L
2
:=1, *_, :=0,
= fligi-i +gi-2 (i = 0,1, ..., m),
=a
(
7ii_i +fy_
2
(i =0,1, ..., m) .
It is obvious from the definition of hi that 1 =h$ < h\ < hi < ... <h
m
, and
also that hk > JF^, where Fk is the /c-th Fibonacci number (i. e., F
0
:=0, Fi :=1,
F
k
:=jp
fc
_! +Fk-i,k > 2). So hk grows exponentially.
The following identities are easily proved by induction on k:
(5.1.6) Lemma.
(a) ft = ? ;
(b) gk+ihk - gkhk+i = ( ~ l )
j

A consequence of Lemma (5.1.6) is that the integers gk and hk defined in
(5.1.5) are coprime. So for a =p/q, p and q coprime, we have a =p
m
for some
m, which implies p = g
m
and q = h
m
. Fromq = h
m
> F
m
= - ^( t
1
^)
we can derive m =O(log^r). These considerations yield:
V5
(
l ^
n
(5.1.7) Theorem. The continued fraction expansion of a rational number can
be found in polynomial time. O
Next we discuss how well the convergents ft of a rational number a ap-
proximate a. First we show that they are alternately smaller and larger than
(5.1.8) Lemma. Let 0 <k < m. Then ft <a ifk is even and ft >a ifk is odd.
Proof. Consider f(x) :=ao +\\a\ -f ... -f- l/a^-i +ljx. Then / is a monotone
function of x for x > 0 (increasing if k is even and decreasing if k is odd).
By definition, f(ak) = ft and f((Xk) = a. Since 0 < a^< a^, the assertion
follows.
We are now able to show how continued fractions can be used to find p and
q in Dirichlet's theorem (5.1.3). Let k be the largest index such that hk < 1/e.
From Lemmas (5.1.6) and (5.1.8) we get:
|a-ft|<|ft
+1
-ft| =
\gk+ih -gkhk+i\
=
1
ftfcftfc+i h
k
hk+\
We need a little more work to find a best aproximation. This algorithm is due to
KHINTCHINE (1956).
5.1 Continued Fractions 137
(5.1.9) Theorem. The Best Approximation Problem (5.1.1) is solvable in time
polynomial in (N) and (a),
Proof. Let us compute the continued fraction expansion a
0
+l M + +ll
a
m of a.
Consider the largest subscript i with h
t
<N. Since h
t
> F we have i =O(logiV).
Next, let j = [{N - fc,-_i)/h,J ; so
(5.1.10) fa,--i +jfc,- <N < hi-! +(/ +l)fc*.
Clearly,; <a
M
, as /E,-_I +a,-+ife,- =h
i+i
> N.
We claim that
r -
g i
nr r -
gi
~
l + j g i
r
x
= or r
2
= -
is the solution of the Best Approximation Problem (5.1.1).
Suppose i is even. Then by Lemma (5.1.8) r
{
< a and, moreover, it follows
from the definition that a
i+
\ is the biggest integer t such that (fg, +g,_i)/(r/ii +
hi-i) > a. Since; <a
i+
[ we have a <r2, thus
r\ < a <r
2
.
(Note that in case i is odd we similarly have r
2
< a <r\) Let p/g be any rational
number with r\ < p/q < r
2
. Then
P _
r
Pk -giq
>
J_
<?
1
4/1, ~ qhi
and similarly
Hence
r
2
- - >
<7 q(hi-\+jhi)'
(5.1.11)
r 2
_
r i
> - ^_ + _ _ _ J _ ^
(
^
+
^ .
On the other hand, we have by Lemma (5.1.6),
From (5.1.11), (5.1.12) and (5.1.10) we obtain that
q>h
i
-
l
+(j + \)h
i
>N.
The result follows similarly for i odd. So indeed any rational number closer to a
than r
x
and r
2
has denominator larger than N. O
138 Chapter 5. Diophantine Approximation and Basis Reduction
5.2 Simultaneous Diophantine Approximation:
Formulation of the Problems
In some applications, we shall have to approximate certain numbers ai, ..., a
by rationals with a common denominator q. Note that this is trivial if we allow
an error of l/(2q) in each approximation; but one can do better if only an upper
bound on q is prescribed.
The following classical theorem of DIRICHLET (1842) guarantees that the
simultaneous approximation problem has a solution in which q, and hence
Pu , Pn, are not too large.
(5.2.1) Theorem. Given any real numbers ai, ..., a and 0 <e < 1, there exist
integerspi, ..., p,q such that |a, p
t
/q\ < s/q fori =1, ..., n and 1 <q < e~
n
.
Proof. Let a :=(ai, ..., a)
r
and m :=[e~
n
\. Consider the set S of all points in
R
n
of the form
kd +z, z e TL
n
, 0 <k < m.
Draw about each point v e S the open cube
{xeR"| ||x-i;||
Q0
<fi/2}.
If these cubes were disjoint then the density of their union would be (m-\-\)z~
n
> 1,
which is impossible. So there are two such cubes which intersect, i. e., there are two
different points in S, say fcia+zi and /c2<x-f z
2
, such that ||fcia-f-zi k
2
OLz
2
||oo <s.
As < 1, we have k\ k
2
, say k\ < k
2
. Then q := k
2
k\ and p :=z\ z
2
=
(Pi, , Pn)
7
satisfy the requirements of the theorem. D
Unfortunately, no polynomial time algorithm is known to find such p\, ..., p
n
and q with denominator q < s~
n
(even though we know by Dirichlet's theorem
that such solutions do exist). In the next section we shall describe an algorithm
which does find a simultaneous approximation in polynomial time, but the upper
bound on the denominator is 2"
(n+1)/4
e~".
Similarly as in the case of n =1, we can ask for the best possible approxima-
tion of several given numbers by rationals with a common small denominator.
Formulated as a decision problem, we can state this as follows.
(5.2.2) Simultaneous Diophantine Approximation Problem. Given rationals
<x\, ..., a, e >0, and an integer N > 0, decide if there exist integers pi, ..., p
n
and an integer q > 0 such that q < N and |ga, p,| <e for i =1, ...,.
This problem is c/T^-complete (LAGARIAS (1982)). However, a weaker problem
will be solved in the next section. (Note that Dirichlet's theorem says that the
answer to this problem is "yes" if N > e~
n
).
A closely related number theoretical problem is the following.
5.3 Basis Reduction in Lattices 139
(5.2.3) Small Linear Form Problem. Given rationals OL
U
...,<*
n
, > 0, and
an integer N > 0, find integers p
u
..., p
n
, not all 0, such that |p,-| < N for
i =l , ..., n and \OL\P\ +... +a/? | <e.
(It would be easy to formulate a common generalization of problems (5.2.2)
and (5.2.3) by asking for several linear forms to be simultaneously small, but
we postpone this to the next section, where point lattices provide a convenient
framework for these algorithmic problems.)
Again we may want to find p
u
..., p
n
here that are not too large. DIRICHLET
(1842) proved the following analogue of Theorem (5.2.1):
(5.2.4) Theorem. Given any real numbers ai, . ..,a, and 0 < s < 1, there
exist integers po,P\, ..., p
n
, not all 0, such that \p
t
\ < e~
{/n
for i =1, ..., n and
|po +aipi +... +oc
n
p
n
\ <s. D
However, problem (5.2.3) is >^-complete (even if we restrict (5.2.3) to N =1,
8=1/ 2 and a, integer, as the so-called subset sum problem can be reduced to
this - see Section 7.6). But in the next section we formulate an algorithm which
solves a somewhat weaker problem which is, however, still sufficient for most
number-theoretic applications. (Again, note that by Theorem (5.2.4) the answer
to (5.2.3) is always yes if N is large enough.)
Let us conclude with the remark that in problems (5.2.2) and (5.2.3) we
could replace the hypothesis that ai, ..., a
n
are rational by the hypothesis that
(ai, ..., oc
n
)
T
is a polynomially computable vector. This observation brings these
problems closer to the number-theoretic applications (where the a, are algebraic
numbers or numbers like e, n, etc.), but it does not add to the algorithmic
aspects. Namely, if ai, ..., a
n
are irrational then we compute a rational approx-
imation first (not necessarily with the same denominator), and then compute a
simultaneous approximation or small linear form of this approximation.
5.3 Basis Reduction in Lattices
A lattice in R" is any set of the form
(5.3.1) L =L(6i, ..., b
n
) =I Y^kibt \ k e Z, i =1, ..., n \
where {fci, ..., b
n
} is a basis of R". We say that {bu , K} is a basis of L.
In this book we do not go into the detailed study of lattices; we shall only
address the problem of finding a "decent" basis in this section, and discuss a few
other elementary problems in the next. For more information on lattice geometry,
consult CASSELS (1959) or LEKKERKERKER (1969).
Clearly, a lattice L may have several bases. If {fri, ..., b
n
) is a basis of L
and if A = (^y)",
=1
is any integral matrix with determinant 1 then {b\, ..., b'
n
}
140 Chapter 5. Diophantine Approximation and Basis Reduction
defined by
n
(5.3.2) 6{: =<i ^ (i =l ,...,ri )
7=1
is another basis of L. It is well known that all bases of the lattice (5.3.1) arise
by such a transformation. Hence | det(&i,..., b
n
)\ is independent of the choice of
the basis {b\,..., b
n
} for the lattice L. We set
detL :=|det(6i ,...,M.
Geometrically speaking, det L is the (common) volume of each parallelepiped
that has its vertices in L but no other point in common with L.
Of the many possible bases of a lattice, one would like to select one that is
in some sense nice or simple, or "reduced", which is the term used in this area.
There are many different notions of "reduced" bases in the literature. One of
them consists of requiring that all of its vectors be short in the following sense.
(5.3.3) Minimum Basis Problem. Given linearly independent vectors ai ,..., a
e Q", find a basis {bu ..., b} of the lattice L(ai ,..., a
n
) such that \\b\ || ... \\b
n
||
is minimal
This problem is J ^-hard (LOVASZ, unpublished).
One may ask why do we consider the product, and not, say, the sum of the
norms of basis vectors. An explanation is that the product is closely related to
the determinant of the lattice. In fact, it follows from Hadamard's inequality
(0.1.27) that for any basis b\,...
9
b
n
,
\\b
{
\\-...-\\b
n
\\>detL.
On the other hand, HERMITE (1850) proved the following.
(5.3.4) Theorem. Every lattice L in R" has a basis {b\, ...,b
n
} such that
I I M-.-.-I I M <cdetL,
where c
n
is a constant that depends only on n.
The best known value of c
n
, for large enough n, is about 1.43(0.97n)
n
rc
1/4
.
One might try to find short linearly independent vectors one after one. This
leads to the theory of successive minima, developed by Minkowski. We do not
want to go into the details of this, but we formulate the first problem suggested
by this approach:
(5.3.5) Shortest Lattice Vector Problem. Given linearly independent vectors
a\,..., a
n
Q
n
, find a nonzero vector v e L(ai ,..., a
n
) with \\v\\ minimal.
The following classical theorem of Minkowski gives essential information
about the shortest vector in different norms.
5.3 Basis Reduction in Lattices 141
(5.3.6) Minkowski's Theorem. IfK^lRJ
1
is a convex body centrally symmetric
with respect to the origin, and L gR" is a lattice such that
vol(K)>2"detL,
then K contains a lattice point different from the origin.
In other words, the shortest nonzero lattice vector in any vector normN is
not larger than 2(detL/vol(5))
1/n
, where S ={xeR"| N(x) < 1} is the "unit
ball" of the norm N.
(5.3.7) Exercise. Derive Dirichlet's theorems (5.2.1) and (5.2.4) from Minkowski's
theorem.
Applying Minkowski's theorem to the Euclidean norm we obtain:
(5.3.8) Corollary. In every lattice L in 1R", there exists a vector v =fi 0 such that
\\v\\ < cvWdet L,
where c is a constant.
The best value of c known is about 0.3196, for large enough n.
It is not known whether the Shortest Lattice Vector Problem (5.3.5) is N0>-
hard or not; quite probably it is. It is known to be J ^-hard if the Euclidean
norm is replaced by the maximum norm(VAN EMDE BOAS (1981)).
There is a related, but essentially different problem:
(5.3.9) Nearest Lattice Vector Problem. Given n linearly independent vectors
a\
9
..., a
n
e Q
w
, and a further vector b e Q", find a vector v e L(i,..., a
n
) with
\\b v\\ minimal.
This problem is known to be J ^-hard for any norm(VAN EMDE BOAS (1981)).
Unfortunately, none of the known proofs of the above mentioned results
(5.3.4), (5.3.6), (5.3.8) is constructive in the sense of a polynomial time algorithm.
We shall develop an algorithm which will construct short vectors in polynomial
time - but the bounds we obtain will be worse. It is an outstanding open problem
to find a polynomial time algorithm to construct a basis with the property in
Theorem (5.3.4) and a vector v with the property in Corollary (5.3.8), with the
best possible values of c
n
and c. However, if we allow larger values (depending
on n) instead of c
n
and cy/ii, then these problems are polynomially solvable. This
result, due to A. K. Lenstra, H. W. Lenstra, J r., and L. Lovasz is the main topic
of this section.
We shall define a rather technical notion of "reducedness" and then show
that a reduced basis in this sense, on the one hand, is polynomially constructive
and at the same time, satisfies Theorem (5.3.4) (with a somewhat poor c
n
).
142 Chapter 5. Diophantine Approximation and Basis Reduction
Recall from Section 1.4 that the Gram-Schmidt orthogonalization (fc*, ..., b*
n
)
of an ordered basis (b\, ..., b
n
) of R" satisfies
(5.3.10) bj^inti (/ = !,...,),
i =i
and that in this formula fijj = 1. A connection between the Gram-Schmidt
orthogonalization and our problems is shown by the following lemma.
(5.3.11) Lemma. Let L be a lattice in R
rt
, (b\
9
..., b
n
) an ordered basis of L,
and (b], ...,b*
n
) the Gram-Schmidt orthogonalization of {b\
y
..., b
n
). Then for
any non-zero vector b in L,
||fr||>min{||fr;i|, ...,||6;||}.
Proof. By definition,
n
b = Y,
Xih

i =i
where k
t
e TL. Let k be the last subscript with fa ^0. Substituting for 6, by
(5.3.10) we obtain
/=i
where k*
k
=fa is a nonzero integer. Thus
k
I I 6 I I
2
=5 ] W
2
I I * * I I
2
^
A
* I I ^I I
2
^I I ^I I
2
'
i =l
which proves the Lemma.
The key of our algorithmic approach is the following technical definition. Let
L be a lattice, (b\
9
..., b
n
) an ordered basis of L, and (b\, ...,b*
n
) its Gram-
Schmidt orthogonalization; let the number /iy be defined by (5.3.10). We say that
the basis (b\, ..., b
n
) is reduced, if the following two conditions hold:
(5.3.12) (i) \fAji\ < - for every 1 <i <j < n ;
(ii) I I 6 ;
+ 1
+
W + W
&; I I
2
^ ^ I I 6 ; I I
2
fo
r
y = i , . . . , - 1 .
The first of these conditions is rather natural - it means that the basis is
reasonably "almost orthogonal". The mysterious looking second condition can
be illuminated as follows. Since the Gram-Schmidt orthogonalization depends on
the order of the basis elements, its vectors change if bj and bj+\ are interchanged;
in fact b* and b*
+l
will change. Now the new b* is the vector b*
+l
+ fij+\jbj,
so (5.3.12) (ii) says that by interchanging bj and fy+i, the length of b* does not
drop too much. The choice of 3/4 as the allowed factor of decrease is arbitrary:
any number between 1/4 and 1 would do just as well. The most natural choice
(giving the best values in Theorem (5.3.13) below) would be 1 instead of 3/4; but
we could not guarantee the polynomiality of the resulting algorithm.
5.3 Basis Reduction in Lattices 143
(5.3.13) Theorem. Let L be a lattice in R" and (bu -,b
n
) a reduced basis of
L. Then the following are true:
(a) Hbtll <2^-
1)/4
A/detL ;
(b) ||fr!|| ^"-^mi nf l l &l l :beL,b=/=0} ;
(c) HM-. . . -IIM <2/
2
detL.
Proof. By property (ii) of (5.3.12) in the definition of a reduced basis, we have
\\\b]\\
2
< \\b]
+{
+m
+lJ
b;f = iifr;
+1
ii
2
+^
+1
,iifo;n
2
.
By property (i), we have |/?
+1
. <1/4, and thus
iifr;
+
j
2
>iii&;ii
2
( i < j < n - i ) .
Hence it follows by induction that
(5.3.14) ||^;||
2
>2^||^|I
2
(l<i<j<n).
In particular,
iib;ii
2
>2
1
->ii^ii
2
= 2
1
->n^ii
2
.
Multiplying this inequality for i= 1, ...,, we obtain
iift;ii
2
-...-iiii
2
^2-0|i*iii
2
".
But the left hand side is just (detL)
2
, from which (a) follows.
To prove (b), notice that (5.3.14) implies
min ||b;||>2-^-
1
)
/2
||6
1
||
l<j<n
J
and since by Lemma (5.3.11) the left hand side is a lower bound on any ||fr||
(beL,b=0), (b) follows.
Finally, using property (5.3.12) (i) of reduced bases,
So by (5.3.14),
7 - 1
(5.3.15) ||M
2
< (l+H'^lliJ I^^Ifc;!
2
.
i = l
Multiplying this for; =1,2, ..., w, we obtain
| | 6
1
| |
2
-. . . MI^JI
2
<2^| | ^| |
2
'. . . '| l^ll
2
= 2(detL)
2
,
from where (c) follows. D
144 Chapter 5. Diophantine Approximation and Basis Reduction
(5.3.16) Theorem. There is a polynomial time algorithm that, for any given
linearly independent vectors a\, ...,a
n
in Q
n
, finds a reduced basis of the lattice
L(aj, . . . , a) .
Let us remark that, in contrast to the ellipsoid method, the algorithm given
below is reasonably efficient in practice.
Proof. Without loss of generality, assume that a\, ..., a
n
are integral. We shall
transform the given basis until both conditions in the definition of reduced bases
are satisfied. So start with an ordered basis (b\, ...,b
n
) :=(a\
9
...,a). Let
(b], ..., b*
n
) be the Gram-Schmidt orthogonalization of this basis, and let the
coefficients /*,-,be defined by (5.3.10).
Step (I): For j = 1,2, ..., n, and, given j , for i = 1,2, ..., j 1, replace bj by
bj \iiji\bi, where f^-J is the integer nearest to ^,-.
It is clear that this procedure does not change the Gram-Schmidt orthogo-
nalization (&*, ..., b*
n
) of the basis. Hence, after executing step (I) for a certain y,
the new ///, will satisfy |/jy,-| < 1/2 for all i =1, ... ,j 1, and executing the step
for higher j will not spoil this property. If all pairs (/, i) are treated, (i) of (5.3.12)
is achieved and we go to Step (II).
Step (II): If there is a subscript j violating (ii) of (5.3.12) then interchange bj
and bj+i and return to Step (I).
To analyse this step, let (c\, ..., c*) be the Gram-Schmidt orthogonalization
of the resulting basis. As remarked before, c* = b* unless i=j or j -I-1. Further,
c* = bj
+l
+fij+\jbj and the fact that (ii) fails for j means just that
\\c'jf<l\\b]\\
2
.
The formula for c*
+{
is somewhat more complicated and we do not need it
explicitly. But from
iic;n
2
-. . . -iic;ii
2
= i i ^i i
2
-. . . -i i b;i i
2
= (detL)
2
it follows that iic;n
2
. iic;
+1
n
2
= n&;n
2
n*;
+1
n
2
. s o i i c; n
2
^
+ 1
) | k;
+ 1
i i
2
^> <
|||b*||
2(
"~
;+1)
||Z)*
+1
||
2(n_y
\ To estimate how many steps have to be carried out
before a reduced basis is obtained (if at all), let us study the quantity
>:=iife;ii
2n
ii^ii
2,
"-
,)
-.-.-iift;ii
2
.
By the remarks above, Step (I) does not change the value of D, while Step
(II) decreases it by a factor <3/4. We get by elementary linear algebra that
||6;il
2
-...-|6;il
2
= det((6
v
r
6^.
I
)
and hence
w
(5.3.17) D = ]^[det((fr
v
r
^4
=1
).
5.3 Basis Reduction in Lattices 145
Since the vectors b\, ...,b
n
clearly remain integral during the procedure, D is an
integer and hence D > 1.
At the beginning, we have
Do := Kll
2
"ll;il
2(
'
,
-
,)
Kl l < \\a
l
f
n
\\a
2
\\
2
^-...-\\a
n
\\
2
^(||flil|-...-||fl||)
2
".
So the number of times Step (II) has to be carried out is at most
which is polynomial in the encoding length of the input. Between two executions
of Steps (II) there is only one execution of Step (I), with 0{n
3
) arithmetic
operations, so we obtain that the total number of arithmetic operations in this
algorithm is polynomial.
We shall have to show that the numerators and denominators of the numbers
occuring do not grow too large, i. e., their encoding lengths remain polynomial.
First, it follows by (5.3.17) and by the definition of b* that Db* is an integral
vector. In Step (II),
max{||c;|| | 1 <i < n) < max{||b;|| | 1 <i < n}
9
since c* = b* if i ^j,j +1, ||cj|| < ||b*|| by the condition on this step and
||c*
+1
|| <||b*|| since c*
+1
is the "component" of b* perpendicular to c*. Hence in
any step,
max{||ft;i| | \<j <n} <max{||a;|| | 1 <j <n}
< max{||fl/|| | 1 <j < n) =: AQ.
So every entry of b* is a rational number whose denominator is a divisor of D
and whose numerator is at most A
0
D. Thus the vectors b* remain "decent".
We still need to estimate the vectors bj. These are integral. After one execution
of Step (I) is finished, we have
(5.3.18) ||fc;||
2
=* Wl l
2
* Z
l|fe
'*"
2
^" '
A
-
Step (II) does not change the vectors bj (only permutes them). Finally, if during
Step (I) bj is replaced by bj - \Hji]bj, then we have
\\fiji\\<2\fiji\^2D\\bj\\,
146 Chapter 5. Diophantine Approximation and Basis Reduction
and so
l l ^-r^-J M <HM +M HMI ^WbjW+iDWbtW \\bj\\.
Now by the time we are changing fy, the vector bi is "settled" (i. e., it will not
be changed until the end of this step (I)), so we already have ||fe,|| <y/nA
0
from
(5.3.18). Hence
\\bj ~ \liji\b,\\ < \\bj\\(l + 2yftDA
0
) < 2nDA
0
\\bjl
and since bj is changed at most j \<n times, it follows that \\bj || never exceeds
(2nDA
0
)
n
-y/n-Ao.
This proves that no entry of any b, ever exceeds this bound, and so the number
of its digits remains polynomial.
This completes the proof of Theorem (5.3.16).
If we replace the "technical factor" 3/4 in the definition of reduced basis
(5.3.12) (ii) by a number close to 1, we could improve the exponential factors
2(-i)/4
etc m
Theorem (5.3.13) to (4/3-h s)
(w
~
1)/4
etc. Moreover, a reduced basis
could still be found in time polynomial in (a\) +... +(a
n
) +1/e. So this is
still polynomial for every fixed e. A more substantial improvement was found
by SCHNORR (1985). He showed, using a technically quite a bit more involved
refinement of the above method, that the exponential factors 2
(n
~
1)/4
etc. can be
replaced by (1 +fi)
(n
~
l)/4
for every fixed 6 >0.
We give some applications of Theorems (5.3.13) and (5.3.16) to diophantine
approximation problems.
(5.3.19) Theorem. There exists a polynomial time algorithm that, given rational
numbers OL\, ..., a, and0 <e <1, computes integers p\, ...,p
n
, and an integer
q such that
I <q< 2
n(w+1)/
V"
and
\<*i<I-Pi\ <
e
(i =1, ..., w).
In view of Dirichlet's theorem (5.2.1), this result is quite unsatisfactory because
of the large factor 2
n(w+1)/4
in the upper bound for q. Note, however, that for
n fixed and e -> 0 the order of magnitude of q is best possible - see SCHMIDT
(1980). Also, this result will suffice for the applications in this book.
Proof of (5.3.19). Let e
t
= (0, ..., 0,1,0, ..., 0)
r
e R
rt+1
(i = 1, ..., n) and a =
(ai, ..., a,2-
n(w+1)/
V+
1
)
7
\ Let L s R
n+1
be the lattice generated by {e
u
...,
e
n
,a). Then trivially
detL = 2-"
(
"
+1)/
V
+1
.
By Theorem (5.3.16), we can find a reduced basis in L in polynomial time, and
by Theorem (5.3.13) (a), the first vector ?i of this basis satisfies
(5.3.20) || ft ill <2
n/4 n
\/tetL = s.
5.3 Basis Reduction in Lattices 147
Let us write bi = p\e
{
4- ... +p
n
e
n
- qa with p
u
..., p, q e TL. Since e < 1, q is
nonzero, so we may assume that q > 0. Then the i-th coordinate of b\ is p
{
qcLi
for i = 1, ..., n and is 2-
n
^
n+
^
4
e
n+1
q for i: =n +1. Thus we have from (5.3.20)
|p/ - qocA <e (i =1, ..., n)
and
2-
n(n+1)/
V
+1
<7<8, i.e., ^<2
W(M+1)/
V".
D
It may be worthwhile to specialize property (5.3.13) (b) of reduced bases as
well :
(5.3.21) Theorem. There exists a polynomial time algorithm that, for any given
rational numbers OL\, ..., a, e >0, and any given integer N > 0, either
(a) asserts that the Simultaneous Diophantine Approximation Problem (5.2.2)
has no solution for the given input, or
(b) finds integers p\
9
..., p
n
and an integer q such that
\a
t
q - pt\ < 2
n/2
sVn +1, i = 1, ..., n and 0 <q < 2
n/2
Ny/n+l.
Proof. Let e\, ...,e
n
e R
n+1
be as in the proof of Theorem (5.3.19), and let a :=
(a, ..., a, e/N)
T
. Let L be the lattice generated by {e\, ..., e
9
a}. If p\, ..., p'
n
, q'
is a solution of the simultaneous diophantine approximation problem, then
p\e\ +... +p
r
n
e
n
q'a is a nonzero vector in L of length less than e,\Jn+ 1.
So with the basis reduction algorithm we can find in L a vector b\ ^ 0 with
||&i || <2
n/2
e
v
/
H+1. Write b\ = pie
{
+... +p
n
e
n
- qa with pu ...,p
n
,qe Z. If
q ^0, then p
u
..., p,g is a valid output for (b). If q = 0, then we must have
2
n/2
e\/n +1 > 1 and so g = 1 and p
t
= [a/J, i = 1, ..., n is a valid output for
(b).
In a similar way we obtain the following results.
(5.3.22) Theorem. There exists a polynomial time algorithm that, for any given
rational numbers aj, ..., a, and 0 <s < 1, computes integers p\, ..., p
n
, not all
0, sue/? tf?ar |ipi +... +a
n
p
n
| <e and \
Pi
\ < 2<"+
1
>/V
1/n
. D
(5.3.23) Theorem. There exists a polynomial time algorithm that, for any given
rational numbers ai, ..., a, e >0, ant/ a/37 given integer N > 0, e/YAer
(a) assert f/?af /?e S/77a// linear FO/TU Problem (5.2.3) Aas /20 solution for the
given input, or
(b) finds integers p
u
, Pn, not all 0, such that
|aPf| <2
n/
W^TT, |pj| <2"
/2
JVV^TT(f = 1, ...,n).

148 Chapter 5. Diophantine Approximation and Basis Reduction
It is easy to modify the basis reduction algorithm described above, replacing
the Euclidean norm || || by any other ellipsoidal norm\\X\\A = Vx
T
A~
l
x defined
by a positive definite matrix A. But in fact the algorithm can be extended to an
arbitrary norm with the help of the results in Section 4.6.
(5.3.24) Theorem. There exists an oracle-polynomial time algorithm that, for
any given set of n linearly independent vectors {a
u
..., a
n
) ^Q" and for any
given norm N on R" (specified as usual by a weak norm oracle and two rational
numbers r,R > 0 such that r\\x\\ < N(x) < R\\x\\ for all x e R"j, finds a basis
b\, ...,b
n
of the lattice L = L(a\, ...,a
n
) with the following properties:
(a) N(b
x
) < 2
{n
~
l)/4
C
l
N
/n
(n +l )\/detl ,
(b) N(b
{
) < 2
(n
"
1)/2
(n +1) min{N(fe) | b e L,b + 0},
(c) N(b
{
)'...-N(b
n
) < (n-f i r2
n
^-^
4
C
N
detL .
(Here C#is the ratio of the volumes of the unit balls with respect to the
Euclidean norm and the norm N.)
Proof. By Corollary (4.6.9) we can construct a linear transformation * in oracle-
polynomial time such that
||Ox|| <N(x)<(n+ l)||*x||.
Applying Theorems (5.3.13) and (5.3.16) to the lattice L! =Q>L we obtain, in
oracle-polynomial time, a basis {b\, ..., b'
n
) of <DL such that
(a') ||6; || <2<"-
1
>/
4
^detZ
7
= 2<
w
-^Vl
det<
&l * v^eFZ,
(b') 11^|| <2^~
1
^
2
min{||fe'|| | V e L\ V 0},
(C) ||fe
,
1
||-...-||fe;i|<2G)/
2
|detO|-detL.
Write bi :=0
_1
fe-. Then {fei, ...,fe} is a basis of L and has the following
properties:
(a") N(bi) < (n +1)11*6! || =(n 4-1)^, || <2<
n
~
1
>/
4
(n +l)^/ifet\ </fetL,
(b") N(b
{
)<(n+l)\\b[\\ <2^-
1
)
/2
(-fl)min{||fe
,
|| |fe'eL',fe'^0}
< 2
{n
~
1)/2
(n +1) min{N(fe) | b e L
9
b + 0},
(O iv(feo-...-iv(fe
n
)<(n +iriife;ii...iife;ii
<(n+l)"2(2)/
2
|det<D|detL.
To conclude, we only have to estimate det <b. From the definition of * we know
that the unit ball K of N satisfies Q>(K) c 5(0,1) and hence |det0>| <C
N
. This
proves the theorem. D
The fact that a vector b\ with property (5.3.24) (a) can be found may be
viewed as a polynomially constructive form of Minkowski's theorem (5.3.6):
5.3 Basis Reduction in Lattices 149
(5.3.25) Corollary. There exists an oracle-polynomial time algorithm that, for
any lattice L, specified by n linearly independent vectors c*i, ..., a
n
e Q", and
for any well-bounded convex body (K; n, R, r), specified by a weak membership
oracle, such that K is centrally symmetric with respect to 0 and
2
n( n- l ) / 4 n/2
finds a non-zero lattice point in K.
Proof. Consider K as the unit ball of a vector normN. The lattice vector b\
found in Theorem (5.3.24) satisfies N(b
x
) < 1 by (5.3.24) (a).
Basis reduction, in particular in the form of the diophantine approximation
procedure, has other applications in number theory. For instance, it can be used
to obtain the factorization of a polynomial / e Q[x] into irreducible factors
(LENSTRA, LENSTRA and LOVASZ (1982)). ODLYZKO and TE RIELE (1985) used
the basis reduction algorithm to disprove a long-standing conjecture in number
theory, the so-called Mertens conjecture. Their approach involved basis reduction
in a 70-dimensional space. The basis reduction algorithm was also successfully
used for breaking certain encryption schemes in cryptology - cf. Section 7.6. The
next section contains further applications of this algorithm, mostly in conjunction
with the ellipsoid method.
The basis reduction algorithm described above can also be used to find an
"approximately nearest" lattice point (cf. problem (5.3.9)). The following result
is due to BABAI (1986):
(5.3.26) Theorem. There exists a polynomial time algorithm that, for any n
given linearly independent vectors a
{
, ..., a
n
e Q" and for any given further
vector b e Q", finds w e L(ai, ..., a
n
) such that
\\b -w\\< 2
(
"
/2)
-
1
min{||fc -v\\\ve L(a
{
, ..., a
n
)}.
Proof. We start with finding a reduced basis (b\, ...,b
n
) in L(a\, ...,#), by
Theorem (5.3.16). Let (b\, ...,b*
n
) be the Gram-Schmidt orthogonalization of
(b\
9
..., b
n
). Next we find a lattice vector w e L(a\, ...,a
n
) such that we have
(5.3.27) b - w =k
t
b*
t
, \ki\ < j (' =1, , n).
i = l
This can be achieved by working "down" on the indices n,n 1,... : First, we
write
i =i
Then we subtract [^-1^
to
S
et a
representation
n
f = l
150 Chapter 5. Diophantine Approximation and Basis Reduction
where \X^\ <1/2. Next we subtract r^i -J V-i etc. (The procedure is essentially
the same as Step (I) of the proof of Theorem (5.3.16).)
Now we claim that if w satisfies (5.3.27) then it is an "approximately nearest"
lattice vector in the sense formulated in the theorem. For, let v be any other
lattice vector and write
b-v = YjVi
b
l
i =i
Let k be the largest index such that nu. ^ h- Then
k
v w
i =l
=YJ^
1
~ vM e L
and hence it follows that Afc \ik is a nonzero integer, in particular \X^ /x*| >1
and hence |/i^| >1/2. So
1 2
^ %\b\t + \}b\f
i=k+\ ' i=fc+l
it>-Mi
2
> X M
2
P>;II
2
+^; I I
2
= J Wi i
2
+zi i *;
and so
k
2
\
w
-bf< J^W + Jj X
i=*+l i=l
f=A:+i \ i =l
<2 * ~
2
| | i ; - &| |
2
<2 "-
2
| l t ; - M
2
.
D
*5.4 More on Lattice Algorithms
It appears that the algorithmic theory of lattices in Q" is less developed and
understood than the algorithmic theory of convex bodies. We discuss a few
questions that can be answered by the methods developed above. The questions
are lattice analogues of the oracle results for convex sets in Chapter 4.
Let L be a lattice in R". Its dual lattice V is defined as follows:
(5.4.1) L* = {xelR
n
\ x
T
y eTL for all y e L).
It is easy to see that L* is a lattice. Furthermore, if (b\
9
..., b
n
) is any basis of L
then the vectors c\, ..., c
n
defined by
(5.4.2) cJb^W
iU
=J.
v
' ' l 0 otherwise
5.4 More on Lattice Algorithms 151
form a basis of V. We shall call (c
u
..., c
n
) the dual basis of (b
u
..., b
n
). It
follows that V* = L and det L det V = 1.
A lattice may be viewed as "nicely described" if a basis of it is known. Often,
however, we have other descriptions. A general form of a definition of a lattice
L is an oracle which checks, for any b e Q", whether or not b e L, and if not,
gives a vector c e Q" such that c e V and b
1
c$TL. Such an oracle will be called
a separation oracle for L.
One may also want to define an analogue of a violation oracle for lattices;
this is, however, just a separation oracle for the dual lattice.
Similarly as in the case of convex bodies, we need a technical hypothesis
about the lattices we consider. A well-described lattice is a triple (L;n, T) where
L is a lattice in Q", and T e N is an upper bound for all denominators of entries
of vectors in L and V. If L is given by n linearly independent vectors, then
an integer T can be easily computed in polynomial time such that (L;n, T) is a
well-described lattice. But if the lattice is given by a separation oracle, then it
is necessary to make some assumption on its arithmetical nature. The encoding
length of {L;n, T) is n + (T).
(5.4.3) Theorem. A basis of a well-described lattice (L;n, T) given by a separa-
tion oracle can be found in oracle-polynomial time.
Proof. We use the following notation. Let a\, ..., a* e R
n
. Then we set
(5.4.4) A(ai, ...,**):= (det((^)*,
=1
))
1/2
.
Geometrically, A(a\, ..., a
k
) is the /c-dimensional Lebesque measure of the par-
allelepiped spanned by a\, ..., a
k
. Note that in the case when k =n, we have
(5.4.5) A(<ii, ..., a
n
) =| det(ai, ..., a
n
)\.
In the algorithm that follows, many of the complications arise from the fact
that we have to control the encoding lengths of the numbers that occur. A similar
situation comes up in the related algorithm of KANNAN and BACHEM (1979).
We shall maintain a list C ={c\, ..., c
k
) of linearly independent vectors in
V. At each "step" we either increase \C\ or keep \C\ invariant but decrease
A(ci, ..., c
k
). There is some difference between the cases k < n and k =n, and
accordingly, we distinguish two phases.
Phase 1. k < n. Compute a vector b = (flu ..., p
n
)
T
e Q" such that b
T
c
x
=... =
b
T
c
k
= 0 but b 0. We may assume without loss of generality that the largest
denominator M of the entries f}
u
..., f$
n
satisfies T < M < 2T (find first an
integral vector b with the desired properties and then divide by an appropriate
power of 2).
Let Q be a common denominator of the entries of ci, ..., c
k
, and define 5
t
:=
Pi ~ QlPi/QL and d :=(S
u
..., S
n
)
r
. Then we have
d
T
cj=bTcj-%Qcv[%\eZ,
i =i ^
152 Chapter 5. Diophantine Approximation and Basis Reduction
denoting c
}
: (cy, ..., c
n
j)
T
. Furthermore, since the largest denominator in d
(which is the same as the largest denominator in fc) is larger than T, we have
that d 4 L. So if we call the separation oracle with input d, it gives us a vector
c e V such that d
T
c 4 TL.
We now check whether c is linearly independent fromc\, ..., c^.
Case 1. The vector c is linearly independent from c\, ...,c/c. Then we add
Ck+\ :=c to the list C. This step is called an extension step.
Case 2. The vector c is linearly dependent fromc\, ..., c^. Then we can write
k
C =
X^
C
'"' ^
E
Q
Consider
k k
Then d e L* and furthermore,
d
T
c-d
T
c' = Y
d
\W
r
CieZ
i =l
and so d
T
c
f
4 Z. Hence it follows that for at least one i (1 <i < k), A, |"AJ ^
0. Consider the largest such i. Then c\
9
..., Ci_i,c',c,-
+
i, ...,Cfc are linearly
independent and for all i <j <fc
A(Cl, . . . , C;_i,c',C
i+
i, . . . , C; ) = |A,'~ [J.J|A(Ci, . . . , Cj)
< ~A(Cl, . . . , Cy).
Now replace c, by c'. This step is called an exchange step.
Thus in the case k < n, we could either extend C to a system of /c +1
linearly independent vectors in V or else exchange a vector so that A(ci, ..., c&)
decreases by a factor < 1/2.
Phase 2. Suppose that /c =n. Then consider the vectors 6, defined by frfc, =<5y
(i. e., the basis of Q
w
dual to {c
u
. , c}). Check whether fc, e L for r =1, ...,.
Case 1. Suppose that fc, e L for i =1, ..., n. Then b\, , b
n
is a basis of L. To
show this, let a e L and write
n
a = V a,fc, ( with a, e Q, / =1, ..., w).
Then a, = a
r
c, 6 Z and so indeed every vector of L is an integer linear
combination of fci, ..., fc. So in this case we stop.
5.4 More on Lattice Algorithms 153
Case 2. Suppose that b
x
4 L for some i. Then the separation oracle gives a
vector c e V such that bjc 4 ^- From here, we go on like in phase 1 and obtain
a new list C such that A(<?i, ..., c
n
) decreases by a factor < 1/2. We call this
operation aphase 2 exchange step.
This completes the description of the algorithm.
We have to prove that it terminates in a polynomial number of steps and also
that the encoding lengths of the numbers occurring are bounded by a polynomial
in n and (T). The proofs of these two facts are somewhat intertwined.
We know by the General Assumption (1.2.1) about oracles that there exists a
polynomial >such that for any vector b e Q" with b 4 L the separation oracle
gives a vector c e V such that c
T
b 4 % and (c) <0((Z?)). Without loss of
generality, <b(x) > x for all x > 0.
First we estimate the vectors d used in phase 1. The numbers 5
t
satisfy \St\ <
Q < T
n
and the denominator of Si is at most 2T. Hence
(St) < {IT) +{IT T
nl
) < 2n
2
{T\
and so
{d)<2n\T).
Note that this bound holds uniformly for all vectors d that occur. Hence by the
definition of <I>, we have for any output c of the separation oracle
(c)<(D^))<(D(2
3
(r))=:^
and so
Ikll <2*
Thus at an extension step, we get
< Q
+ 1
> <
and so
lk*
+
ill<2
4
'.
Next we show by induction on k that, at any stage of the algorithm,
(5.4.6) A(ci, ...,c,)<2
f cl F
.
Suppose first that c* was just added. Then c
k
is an output of the separation
oracle and so ||c*|| <2*. Thus by induction,
A(ci, ...,c
fc
) <A(ci, ...,c
f c
-i )' IkfcH
<
2
(fc-l)T.
2
4>
=2
/c4>
Further extension steps or exchange steps of either phase cannot increase
A(ci, . . . , c
k
).
154 Chapter 5. Diophantine Approximation and Basis Reduction
We have, from the definition of Q, that A(Qci, ..., Qc
k
) e TL and hence
Q
k
A(d, ..., c
k
) =A(Gci, ..., Qc
fc
) >1.
Therefore
(5.4.7) A(d, ..., c
k
) > Q~
k
> T~
n2
K
It follows from inequalities (5.4.6) and (5.4.7) that between two extension steps,
the number of exchange steps is at most
\og
2
{2
kxv
/T~
n2k
) = W + n
2
k\og
2
T < 2k*V < 2n*.
A similar bound holds for the number of exchange steps in phase 2. Hence it
follows that the total number of steps is at most 2n
2x
.
Finally, we have to show that the encoding length for the vectors in C remains
bounded by a polynomial in n and (T). This is clear for those vectors which are
included in C as the result of an extension step. To handle exchange steps, note
the following: at an exchange step, the value max{||c|| \ c e C} increases by a
factor <n. In fact, the new vector d to be included in C can be written as
k
c' = 2>-rA,j)
Cl
-
and thus
k
i k' i i ^^i ^- rAj i - i i ^- i i
i =i
<k -maxdlCjH | 1 <i < k}
^wmax{||c
f
|| | 1 <i < fc}.
Hence it follows by induction that any vector c' inserted in C after t steps satisfies
||c'|| <n'2* < n
2
"
2
^*.
Since c' el ' , the denominators of the entries of d are bounded by T, and hence
{c')<n{(T) + {T'n
2n2x
2
X
))
<2n(T) + 4n
3y
.

(5.4.8) Corollary. For any given a\, ...,a
m
e Q", a basis of the lattice
L(ai, ..., a
m
) can be found in polynomial time.
Proof. We may assume without loss of generality that L = L(ai, ..., a
m
) is a
full-dimensional lattice. Then a separation algorithm for the dual lattice V can
be designed easily. In fact, to check whether b e L* it suffices to evaluate the
5.4 More on Lattice Algorithms 155
numbers b
T
a
u
..., b
T
a
m
. If all these numbers are integral, then b e V. If b
T
a
t
is not integral for some i e {1, . ..,m} then a
{
e L is a valid output for the
separation algorithm.
Moreover, if Q is the least common denominator of the entries of a\, ..., a
m
then the denominator of any entry of any vector in L is a divisor of Q. Moreover,
if fli, ..., a
n
are linearly independent (say) then the denominator of any entry of
any vector in V is a divisor of Q
n
det(#i, ..., a
n
). So if we take
T :=max{Q,Q
n
det(a
u
...,a
n
)}
then (L*; n, T) is a well-described lattice.
Hence Theorem (5.4.3) implies that bases of L and V can be constructed in
polynomial time.
As an application of this, we obtain that a system of linear diophantine
equations can be solved in polynomial time (VON ZUR GATHEN and SIEVEKING
(1976), FRUMKI N (1976a,b)).
(5.4.9) Corollary. There exists a polynomial time algorithm that, for any given
vectors a\, ...,a
m
, c e Q
m
, decides whether c e L(ai, ..., a
m
), i. e., whether the
system of linear diophantine equations
x\a\ +... +x
I
a
m
=c
is solvable in integers, and that finds a solution of this equation if one exists.
(5.4.10) Corollary. For any matrix A e Q
mxn
, a basis for the integral solutions
of the system Ax = 0 can be found in polynomial time.
As an application of the basis reduction algorithm, we give an algorithm
to transform a matrix into Hermite normal form. The first polynomial time
algorithm to achieve this has been designed by FRUMKIN (1976c).
Let A be a nonsingular mxm-matrix. Recall from Section 1.4 that the Hermite
normal form of A is an mxm-matrix H = {h^) obtained from A by elementary
column operations (i. e., by adding a column to another, or multiplying a column
by 1) with the following properties:
(5.4.11) hij=0 if j>U
(5.4.12) 0 <hij < h
u
if ; <i,
and that the Hermite normal form of A is unique.
156 Chapter 5. Diophantine Approximation and Basis Reduction
(5.4.13) Theorem. The Hermite normal form of a nonsingular rational matrix
A can be obtained in polynomial time.
Proof. Without loss of generality assume that A is integral. Let
M :=2\detA\.
Let us multiply the i-th row of A by M
n
~\ i = 1, ..., n, to get a matrix A'. Let
L be the lattice generated by the columns of A'.
Construct a basis {b\, ..., b
n
} of L such that
(5.4.14) H&ill ...||&
B
|| ^2H3dctL = 250Af|deti4|
using the algorithm of Theorem (5.3.16). We claim that {b\, ...,&} can be
reordered so that we get a lower triangular matrix.
Since
|det(6i, ...,b
n
)\=detL=f=0,
there exists a reordering of this basis so that bn ^ 0, for i = 1, ..., n. We claim
that if 1 <i < j < n then by =0. Suppose there are ij with 1 <i < j < n such
that bij ^ 0; then
iiM ...MM=uMri
| | M >
i^i-ri
16
**
1
^
Mni
Y\
Mnk
Hi krt k&
n
>M Y\
M
*
k
k=\
= M
+1
.
This contradicts (5.4.14).
So we have transformed A\ and of course also A
9
into a lower triangular
form. Condition (5.4.12) can be easily achieved for / =n,n 1, ..., 1.
Chapter 6
Rational Polyhedra
In most combinatorial (and real world) applications the convex sets one encoun-
ters are polyhedra. Often these polyhedra have "simple" vertices and facets. It
turns out that the knowledge of such additional information on the convex sets
in question extends the power of the ellipsoid method considerably. In particular,
optimum solutions can be calculated exactly, boundedness and full-dimensionality
assumptions can be dropped, and dual solutions can be obtained. In the case of
explicitly given linear programs this was the main contribution of Khachiyan to
the ellipsoid method. If the linear programs are given by some oracle - which
is often the case in combinatorial optimization - then these additional goals can
still be achieved, albeit with more involved techniques. In particular, we have to
make use of the simultaneous diophantine approximation algorithm described in
Chapter 5.
As we did before, in the proofs we assume that n > 2, if the one-variable case
is trivial.
6.1 Optimization over Polyhedra: A Preview
In Chapters 3 and 4 we have seen how the ellipsoid method can be used to solve
various algorithmic problems concerning convex sets. These results, however,
had some limitations. First, we could only solve the problems in an approximate
sense, that is, we could only treat the weak versions of the problems. Second, we
had to make various restrictions on the convex sets in question: they had to be
bounded and, for many results, also full-dimensional in a very explicit sense. We
showed that these restrictions cannot be removed in general.
Most (although not all) applications of the ellipsoid method in combinatorial
optimization concern, however, polyhedra which have integral or half-integral
vertices, or at least vertices whose entries are rational numbers with relatively
small encoding length. On the other hand, boundedness and full-dimensionality
are not always natural conditions (although often they can be guaranteed by
ad hoc methods). The aim of this chapter is to discuss versions of the previous
results which show that if we know an upper bound on the encoding lengths of
the vertices or facets of a polyhedron then the solvability of the weak problems
implies the solvability of the strong problems in polynomial time. We shall also
see that the conditions on boundedness and full-dimensionality can be dropped.
Let us preview some of the results of this chapter concerning optimization
problems. The most important one is:
158 Chapter 6. Rational Polyhedra
- Linear programs can be solved in polynomial time.
This theorem, due to KHACHIYAN (1979), is stated in (6.4.12). In fact, an
optimum vertex solution can be found in polynomial time, if such a solution
exists, as is shown in Remark (6.5.2). These results will be strengthened in various
ways. One of them was developed by TARDOS (1986) who showed (see (6.6.3)):
- Any linear program maix{c
T
x \ Ax < b} can be solved by a polynomial time
algorithm, which only performs a number of elementary arithmetic operations
bounded by a polynomial in (A).
This result sharpens Khachiyan's since here the number of elementary arith-
metic operations is independent of the encoding lengths of b and c. Tardos'
result, for instance, implies that network flow problems can be solved in strongly
polynomial time.
Most of the effort in this chapter is spent on extending Khachiyan's result in
another direction. Roughly speaking, one of the main outcomes is the following:
- There exists a polynomial time algorithm that, for any polyhedron P c]R
n
and for any c e Q", solves max{c
r
x | x e P}, provided the following two
conditions are satisfied:
(i) the strong separation problem for P can be solved in polynomial time;
(ii) a number cp e N is given such that P can be defined by linear inequalities
each having encoding length at most cp.
(Again, this result can be sharpened in the way Tardos' result sharpens Khachi-
yan's - see (6.6.5).) This result follows from Theorem (6.4.9), one of the central
theorems of this book, which reads as follows:
- Any one of the following three problems:
- strong separation,
- strong violation,
- strong optimization,
can be solved in oracle-polynomial time for any "well-described" polyhedron
given by an oracle for any of the other two problems.
The term "well-described" will be defined in (6.2.2) - it amounts to knowing
an upper bound <p as in (ii) above.
Moreover, we will show that for a linear programmax{c
T
x \ x e P} optimum
dual solutions can be found in oracle-polynomial time if conditions (i) and (ii)
above are satisfied. For precise statements see (6.5.14), (6.5.17), and (6.6.5).
In the remaining part of this first section we illustrate how the results men-
tioned above can be achieved by combining the methods of Chapter 5 with the
general results on the ellipsoid method. The subsequent sections contain the
details which are often quite elaborate. So let us make some remarks about the
additional goals and difficulties one by one.
6.1 Optimization over Polyhedra: A Preview 159
(6.1.1) How can we solve the strong problems if we know how to solve the weak
ones, i. e., how can we obtain exact solutions from approximations?
If we know how to solve, say, the weak optimization problem over a polyhedron
P, i. e., if we know how to find a vector "almost in P" that "almost" maximizes
a given linear objective function over P, then it is a natural idea to obtain the
maximizing vertex by rounding. This is indeed the approach we shall take; in
fact, this is the path Khachiyan took when he applied the ellipsoid method to
linear programming. The rounding has to be carried out with some care though.
Namely, if there is a vertex that is not optimal, but nearly optimal, then the
solution to the weak optimization problem found by the ellipsoid method may be
very close to this "near-optimal" vertex and rounding may not take us to the true
optimum. This difficulty could be overcome by perturbing the objective function,
and this method was used, e. g., in GROTSCHEL, LOVASZ and SCHRIJVER (1981).
But a more elegant way is the use of simultaneous diophantine approximation
for the rounding. Since this method is also used in the handling of non-full-
dimensionality, where it seems to be vital, we shall discuss it in connection with
the next question:
(6.1.2) How can we handle polyhedra that are not full-dimensional?
This question is harder than passing from weak to strong solutions, and no
"elementary" trick is known to solve it. The method which we follow depends
on how the polytope is given. For the purposes of this introduction, we shall
consider just two oracles: separation and violation.
Assume first that P is a polytope in R" given by a strong separation oracle
and assume that we know that all the vertices of P are {0, l}-vectors. Let us
consider the first "bad" case, i. e., when P is (n l)-dimensional. Then P is
contained in a unique hyperplane H. It can easily happen that the separation
oracle returns separating hyperplanes parallel to H unless a vector in H is fed to
it. So we must determine this hyperplane along the lines in order to make sure
that we get nontrivial information concerning P.
Conversely, if we can determine H in polynomial time then the problem
is reduced to a full-dimensional instance and we can use the methods of the
previous chapters. Thus our goal is to find the hyperplane H in polynomial
time. (More generally if we do not make any assumption on the dimension of
P, then our goal is to determine the affine hull of P. But to give the idea of our
approach, we will stick to the case of (n l)-dimensional polyhedra.)
The algorithm which achieves this was described in GROTSCHEL, LOVASZ and
SCHRIJVER (1984a). It consists of a combination of the ellipsoid method with
diophantine approximation. First, let us run the ellipsoid method as if we were
trying to find a vector in P. So we obtain a sequence of ellipsoids including
the polytope whose volume decreases by a fixed factor at each step. If P is
full-dimensional then this sequence is finite. In fact it is not too difficult to show
that vol(P) > 1/n!, and from this, one can see that the procedure terminates in
polynomial time. But if P is not full-dimensional, the centers of the ellipsoids
will never belong to P unless by "accident", and so the sequence generally will
160 Chapter 6. Rational Polyhedra
not terminate. (If this "accident" happens then we perturb the center a little to
move it out of P.)
Now the sequence of ellipsoids whose volumes tend to 0 but which all include
P must become very "flat" in the direction perpendicular to H\ that is, for
any of these ellipsoids, the symmetry hyperplane belonging to the shortest axis
must be very close to H. So we could try to find H by rounding the equation
of this symmetry hyperplane. It turns out that just straightforward rounding
would not be enough, but if we apply the more involved techniques of Chapter
5 (simultaneous diophantine approximation), then we can indeed recover H.
The argument runs as follows. Assume that the hyperplane H is described by
the equation a
T
x = a. We want to determine a and a. One thing we do know a
priori is that the vertices of P span H and these vertices are {0, l}-vectors.
Now we compute an ellipsoid E of volume less than 2~
n
(3n)~
2n
including P
by the ellipsoid method and determine its shortest axis. Let v be the center of
E and let w be the unit vector parallel to the shortest axis of E. The length of
this shortest axis is less than a := 2~~
n
~
l
(3n)~
n
~
{
by a simple computation. The
hyperplane H' defined by the equation w
T
x = w
T
v will be a good approximation
of H. More exactly, if u is any vector in E (in particular, if u is any vector in P)
then we have
|w
r
w w
T
v\ =\w
T
(u v)\ < s.
To recover H from this hyperplane, let us approximate the vector (w
T
, w
T
v)
T
us-
ing simultaneous diophantine approximation, and find an integral vector (p
T
,n)
T
(p e R", n e R) and a positive integer q such that
1
T
1
\\qw-p\\oo < j^> \qw'v-n\ <
and
0<4<2"
2
(3n)
w+1
.
We claim that the hyperplane defined by the equation p
T
x = n contains the
polytope P. For, let z be any vertex of P. Then z is a {0, l}-vector and so
\p
T
z - n\ < \qw
T
z - qw
T
v\ +(||z||i +1)
3n
<q\w
T
z - w
T
v\ + (n +1)
<q2-
n2
-
{
(2n)-
n
-
1
+y(n +1) <1.
Since the left hand side is an integer, this proves the assertion. So we have found
the hyperplane containing P.
The case when P is given by a strong violation oracle can be reduced to
the case when it is given by a strong separation oracle by a certain polarity
construction. But in this section we describe another way to get around non-full-
dimensionality in this case, which is much easier.
Again, it suffices to show how to find the affine hull of a polyhedron P given
by a strong violation oracle. The algorithm to achieve this was described (in a
somewhat different context) by EDMONDS, LOVASZ and PULLEYBLANK (1982).
6.1 Optimization over Polyhedra: A Preview 161
At any stage of the algorithm, we shall have a list of affinely independent
vectors a
u
...,a
k
and a list of linearly independent hyperplanes Hi, ..., H/ such
that ai, ..., ait e P and Hi H/ 2P . First, suppose that k + l <n. Then
we compute a hyperplane H = {x e R
n
| c
7
x =y} that contains all the vectors
au ...,a
r
and is linearly independent of the hyperplanes ifi, ...,///. (This is
elementary linear algebra.) Next, we call the strong violation oracle for both
inequalities
c
T
x < y and c
T
x > y.
If both are satisfied for all x e P, then we have H ^P and so we can append
H to our list of hyperplanes as if/
+
i. If, on the other hand, the oracle returns
a vector a e P that violates one of these inequalities, then this vector can be
appended to the list of vectors in P as ak+\. So in each case we were able to
increase k -f / by 1.
Eventually we reach k +/ =n +1. Then we have the affine hull of P (in fact,
we have both a spanning set and a system of equations describing it).
(6.1.3) How can we handle unbounded polyhedra ?
This is usually easy: since we know an upper bound on the encoding length
of the vertices, all the vertices lie inside a cube which we can calculate. In the
"combinatorial" case, when all vertices are {0, l}-vectors, this could be the cube
Q :={x e JR" | 1 <x
x
< 2, i = 1, ..., n}. Then we replace the polyhedron P by
its intersection with this cube, and this reduces the problem to the bounded case.
There is a technical point here: the polyhedron in R", n > 2, defined by, say
xi >10
100
has {0, l}-vertices (since it has no vertices at all), but by intersecting
it with the cube Q we get the empty set; and we loose all information about the
polyhedron itself. So, if we say that a polyhedron has {0,1}-vertices, we tacitly
assume that it intersects the unit cube (this is for the purposes of this preview;
the precise definition of vertex-complexity, to be given in the next section, takes
care of this difficulty).
To be more specific, assume that P is a polyhedron with {0, l}-vertices given
by a strong separation oracle and that we want to maximize a linear objective
function c
T
x over P. Let P' be the intersection of P with the cube Q. Then it is
trivial to design a strong separation algorithm for P'. Now let us optimize c
T
x
over P'. By perturbing c a little, if necessary, we may assume that the optimum
is attained at a unique vertex v of P
f
. Now if v is a vertex of P then it also
maximizes our objective function over P. If, on the other hand, v is not a vertex
of P, then it lies on the boundary of Q and from this it follows that c
T
x is
unbounded on P.
(6.1.4) Can we solve other problems with these methods?
The remarks above indicate the methods that are used to exploit our two
fundamental geometric algorithms, the ellipsoid method and diophantine ap-
proximation, for the solution of some basic questions concerning polyhedra. We
employ these techniques in Sections 6.2, ..., 6.7 to solve a number of further
interesting algorithmic problems concerning polyhedra. To mention a few, we
162 Chapter 6. Rational Polyhedra
prove that the affine hull and the lineality space of a polyhedron can be computed
in polynomial time, and we design a strong separation algorithm for the recession
cone. We can find a vertex of a polyhedron P, if there is any, and decide whether
or not two vertices are adjacent, in polynomial time. One can do Caratheodory's
theorem algorithmically: given a poly tope P by a strong separation oracle, a
bound on its vertex-complexity, and a vector y e P, we can find a representation
of y as a convex combination of at most dimP +1 vertices of P.
The polar of this last result is of particularly great importance in combinatorial
optimization. Suppose that the polyhedron P is given by a strong separation
oracle. Then we may view this as a system of linear inequalities (all valid
inequalities ever returned by the separation oracle), which is, however, not
explicitly given. So optimizing a linear objective function over P is a linear
program with this implicit constraint set. From the above we know that we
can find an optimal primal solution for this problem in polynomial time. But
using the above-mentioned algorithmic version of Caratheodory's theorem and
polarity, we obtain a polynomial-time procedure to find an optimal dual solution
as well. This result can be strengthened as follows. Suppose that y :=max{c
r
x |
x e P} is finite. Then we can find inequalities afx < cc\, ..., a\x < a/c and
positive rationals k\, , h in polynomial time such that c = X\a\ +... +A/^,
y =X\OL\ +... +kkdk and the inequalities ajx < a, are either implicit equations
or define facets of P.
In Section 6.6 we show that a combination of simultaneous diophantine
approximation and the ellipsoid method runs in strongly polynomial time for
a number of interesting linear programs. In particular, the results of Section
6.6 yield that these techniques can be used to design strongly polynomial time
algorithms for almost all of the combinatorial optimization problems discussed
in Chapters 7-10. Finally, in Section 6.7 we derive from our two basic geometric
algorithms the result of H. W. Lenstra, J r., that, for any fixed number of variables,
integer linear programs can be solved in polynomial time.
*6.2 Complexity of Rational Polyhedra
In Chapter 3 we restricted ourselves to bounded sets. This assumption will be
removed in the case of polyhedra. (We could remove the boundedness assumption
also for general convex sets but too many pathologies and technical difficulties
would creep in; for instance a linear objective function could have a finite
supremum but no optimum.) To cover the unbounded case we have to modify
the definition of the strong optimization problem.
(6.2.1) The Strong Optimization Problem for Polyhedra. Given a polyhedron
P c R
n
and a vector c e Q", either
(i) assert that P is empty, or
(ii) find a vector y e P maximizing c
T
x over P, or
(iii) find a vector z e rec(P) such that c
T
z > 1 (i. e., a direction in which c
T
x is
unbounded over P).
6.2 Complexity of Rational Polyhedra 163
The strong versions of the other problems do not need any modification for
the unbounded case. The weak versions will be discussed later.
Analogous to our definitions of various convex bodies (2.1.16) we now intro-
duce the notion of "well-describedness" of polyhedra.
(6.2.2) Definition. Let P ^R
n
be a polyhedron and let cp and v be positive
integers.
(a) We say that P has facet-complexity at most cp if there exists a system of
inequalities with rational coefficients that has solution set P and such that
the encoding length of each inequality of the system is at most cp. In case
P = R" we require cp > n -h 1.
(b) We say that P has vertex-complexity at most v if there exist finite sets V, E
of rational vectors such that P = conv(F) +cone(E) and such that each of
the vectors in V and E has encoding length at most v. In case P =0 we
require v >n.
(c) A well-described polyhedron is a triple (P; n, cp) where P ^R" js a polyhedron
with facet-complexity at most cp. The encoding length (P) of a well-described
polyhedron (P ; n, cp) is cp + n.
It is obvious that if a polyhedron P ^R" has facet-complexity at most cp
and vertex-complexity at most v then
cp > n +1 and v >n.
In the sequel we will frequently encounter polyhedra P for which we know an
upper bound cp on the facet-complexity but for which we do not have explicitly a
systemAx < b defining P. Even if we know a system defining P, its inequalities
may not necessarily have encoding length at most cp. But if we turn this system
into a standard representation of P - as defined in Section 0.1 - we obtain a
system with small encoding length of each inequality resp. equation.
(6.2.3) Lemma. Let P ^R" be a polyhedron with facet-complexity at most cp.
Then each inequality in any standard description of P has encoding length at
most 35n
2
cp.
Proof. We may assume that P = {x e R" | Cx =d, Ax < b) is a representation of
P such that each equation and inequality has encoding length at most cp. We may
also assume that aff(P) ={x \ Cx =d}, C has full row rank m, the submatrix F
of C consisting of the first m columns is nonsingular and each inequality in the
systemAx < b defines a facet of P.
Let P ={X G R " | (I,C')X =d\A'x < b'} be any standard representation of
P. Then
(I,C') = F-
l
C, d' = F~
{
d,
A' = A-AC
T
(CC
T
)~
{
C, b' = b-AC
T
(CC
T
y
l
d.
Using the formulas for the encoding length in (1.3.5) the result follows. D
164 Chapter 6. Rational Polyhedra
The reader may wonder why we do not use vertex-complexity in the definition
of well-described polyhedra. The next lemma shows that from the point of view
of polynomial algorithms both measures of complexity are equivalent.
(6.2.4) Lemma. Let P <^W be a polyhedron.
(a) If P has facet-complexity at most <p, then P has vertex-complexity at most
4n
2
(p.
(b) If P has vertex-complexity at most v, then P has facet-complexity at most
3n
2
v.
Proof, (a) Suppose that P has facet-complexity at most cp, i. e., there are
inequalities ajx < b\ (a, e Q", h-
x
e Q, i = 1, ..., m) defining P such that each
inequality has encoding length at most (p.
It is well known that there exist finite sets F , cQ" with P =conv(K) +
cone() such that every nonzero entry of every vector in V U E is the quotient
of two subdeterminants, of order at most , of the matrix
(
dx
Let D = I I ) be a square submatrix of C, k < n. Then by Lemma (1.3.4) (b)
(detD) <2(D) <2ncp.
Thus every entry of every vector in V U E has encoding length at most 4ncp and
hence every vector in V U E has encoding length at most 4n
2
cp.
(b) Suppose that P has vertex-complexity at most v. If P = 0 or P = {0}
the assertion is trivial. In any other case v > n + 1. Let us assume first
that P is full-dimensional. Choose finite sets of vectors ^, c Q" such that
P =conv(F) +cone() and every vector in V U E has encoding length at most
v. Every facet of P determines a hyperplane given by a linear equation of the
form
/ 1 1 ... 1 0 ... 0 \
det
J Cj
= 0,
v\ ... v
k
e
x
... e
n
-
k
\Xn I
where v\, ..., Vk e V and e\, ..., e
n
-k e E. Expanding the determinant by the
first column, we get
n
*~ \-\y det(Di)xi = -det D
0
i<
where D
t
is the matrix obtained by deleting the (i-f l)-st row from the matrix
1 ... 1 0 ... 0 \
(
D =
v\ ... v
k
e\ ... e
n
-k
6.2 Complexity of Rational Polyhedra 165
Using Lemma (1.3.4), we estimate the encoding length of this equation as follows:
n n
^(detA-)<X(
2
<A-)-"
2
)
i=0 i=0
<2n(D)-(n+l)n
2
< 2n(nv +In) - (n +\)n
2
= 2n
2
v-n
2
{{n+l)-4).
The last expression is clearly at most 3n
2
v.
Second, if P is not full dimensional, then consider the polyhedra P +S,
where Si, ..., S2 are the 2" simplices of R" spanned by the zero vector and n
linearly independent vectors of the vectors (0, ..., 1, ..., 0)
r
. Obviously for
every i, P +S
t
is a full-dimensional polyhedron with vertex-complexity at most
v +1. By the previous part of the proof, P +S; has facet-complexity at most
2n
2
(v - hi ) - n
2
((n +1) - 4) =2n
2
v - n
2
((n +1) - 6) and as v >n + 1 >3, this is
at most 3n
2
v. Since
T
P = P|(P+S
t
)
i =l
it follows that P has facet-complexity at most 3n
2
v.
The following two lemmas show that bounded full-dimensional well-described
polyhedra may be viewed as well-bounded convex bodies.
(6.2.5) Lemma. Let P be a polyhedron with vertex-complexity at most v.
Then all vertices of P are contained in the ball S(0,2
V
). If P is bounded then
P c=S(0,2
v
).
Proof. Trivial.
(6.2.6) Lemma. Let P c R" be a full-dimensional polyhedron with facet-
complexity at most (p. Then P contains a ball with radius 2~
ln<p
. Moreover, this
ball is contained in S(0,2
5
"
2
^).
Proof. By Lemma (6.2.4) (a), P has vertex-complexity at most v :=4n
2
(p. So
there are (minimal) sets V,E ^Q" such that P = conv(K) +cone() and each
vector in V U E has encoding length at most v.
By the full-dimensionality of P there exist an affinely independent subset
{v
u
..., v
k
} of F and a linearly independent subset {e\, ...,e
t
} of E such that
k +1 = n +1 and the vectors v
u
. , v
k
, v\ 4- e
u
, v\ -f e
t
span an n-dimensional
simplex.
Consider the barycenter c of this simplex, i. e.,
166 Chapter 6. Rational Polyhedra
Clearly, c is an interior point of P. We claim that the ball S(c
y
2~
7n <p
) is contained
in P. To prove this we show that the distance of c from every facet of P is at
least 2~
lnZ(p
. So, let a
T
x < b define a facet of P which we may assume to have
encoding length at most (p. Multiplying thte inequality with the product of the
denominators of the coefficients of a and b gives an inequality a
T
x < b with
integral coefficients and encoding length at most ncp. The distance of c from this
facet is
b~a
T
c
Ml '
Here b a
T
c is a positive rational number whose denominator is at most the
least common denominator of the coefficients of c (as b and a are integral), which
in turn is at most (n +1) times the least common denominator of the entries of
v\, .. ., Vk, e\, ...
y
e
t
. This denominator is at most 2<
rt+1)v
. Therefore,
b-a
T
c>2-
{n+l)v
/(n+l).
Since furthermore
|| a || < 2
(a)
< 2
n<p
,
we get that the distance of c from the facet defined by a
T
x < b is at least
2~(n+i)v-n<p u
n
_|_ \\ 2
-4
(
n+1
)"
2<
P
-m
P/(n +1) >2~
ln3(p
.
To prove the second assertion of the Lemma, observe that
||c|| <2max{|M|, \\ej\\ \ 1 <i < k
9
1 <j < t) < 2 2\
So, S(c,2-
7
"
3
^) is contained in 5(0,2
V+1
+2~
ln
^) s 5(0,2
5
"^). D
The above estimates can be improved considerably, but we have chosen a
quick and rather straightforward way to derive polynomial bounds. The main
trick to make use of the rationality hypothesis is summarized in the following
lemma.
(6.2.7) Lemma. Let P ^R" be a. polyhedron with facet-complexity at most cp
and let y e Q" be a vector whose entries have common denominator at most q.
Suppose that
yeS(P,-2-
2
*).
Then y e P.
Proof. Let a
T
x < b be any valid inequality for P with encoding length at most
<p. Then the hypothesis that y e S(P
y
2~
2cf>
/q) and Lemma (1.3.3) imply
a
T
y-b<-2-
2<p
\\a\\ < -2~*.
q 4
But a
T
y b is a rational number with denominator at most q2
q>
. Hence
a
T
y< b.
6.2 Complexity of Rational Polyhedra 167
The following polar form of Lemma (6.2.7) is proved in the same way.
(6.2.8) Lemma. Let P be a polyhedron with vertex-complexity at most v and
let a
T
x <b be an integral inequality such that
a
T
x<b + 2~
v
-
{
is valid for P. Then a
T
x <b is also valid for P.
Lemma (6.2.7) says that if a point close to a polyhedron has small enough
encoding length, then it is in fact contained in the polyhedron. What we describe
next is that, if a point is close to a polyhedron, then we try to round it to a nearby
point with sufficiently small encoding length, which would therefore belong to the
polyhedron. This can be achieved with the method of simultaneous diophantine
approximation derived in Chapter 5.
It is interesting to notice that this rounding procedure is independent of the
polyhedron (it only depends on the complexity of the polyhedron). Similarly,
almost valid inequalities can be rounded to valid ones.
(6.2.9) Lemma.
(a) Let v e 1R" and cp be a positive integer. Suppose q e TL and weF satisfy
H^i; w|| <2
- 3
* and
0<q< 2
4
T
Then -w is contained in every polyhedron P of facet-complexity at most cp
for which veS(P,2-
6n
v).
(b) Let a e R", feelR and let v be a positive integer. Suppose that q eZ, c eZ"
and de% satisfy
\\
q
a-c\\ + \qb-d\<2-
3v
and
0<q< 2
4m
.
Then the inequality c
T
x < d is valid for every polyhedron P of vertex-
complexity at most v for which a
T
x <b + 2~
6nv
is a valid inequality
Proof, (a) By Lemma (6.2.7) it suffices to show that we S(P, ft-
1
*). This is
clear since
rf(-w,P)< ||-w-i i +d(t?,P)
< -2~
3<p
+ 2~
6n(f>
~ q
< -2~
2<p
.
q
(b) Follows similarly from Lemma (6.2.8).
168 Chapter 6. Rational Polyhedra
(6.2.10) Remark. In part (a) of Lemma (6.2.9), for every rational vector v and
every positive integer cp, the number q and the vector w can be found in time
polynomial in cp and (v) by the algorithm of Theorem (5.3.19). A similar remark
applies to (b) of (6.2.9).
The previous lemma gives a "rounding" procedure that assigns to each vector
v a "rounded" vector ^w, w e TL
n
, with "small" denominator q such that, if v
lies in, or near, any polyhedron with low facet complexity, then the vector -w
belongs to the polyhedron.
Sometimes it is more desirable to round so that points outside the polyhedron
should stay outside. Such a procedure was given by FRANK and TARDOS (1987).
It solves the following two problems.
(6.2.11) Given a vector yeQ" and a natural number q>, find a vector z e flj"
with the following properties:
(i) for each inequality c
T
x < y, with encoding length at most cp, we have c
T
y < y
if and only ifc
T
z < y, and
(ii) the encoding length ofz is at most 44n(n +l)
2
<p.
(6.2.12) Given a rational inequality c
T
x < y in n variables, and a natural
number v, find a rational inequality a
T
x < a, in n variables, with the following
properties:
(i) for each y in Q" with encoding length at most v, we have c
T
y < y if and
only ifa
T
y < on;
(ii) the encoding length of a
1
x < a is at most 22(n +l)
3
(v +4).
Frank and Tardos showed that these two problems are polynomially solvable.
(6.2.13) Theorem. There exist polynomial time algorithms to solve problems
(6.2.11) and (6.2.12). Moreover, the number of elementary arithmetic operations
performed by these algorithms is polynomial in cp (v, respectively).
Proof. I. We first consider problem (6.2.11) for the case where we restrict (i) to
inequalities c
T
x < y with y = 0. Let a vector yeQ" and cp e N be given. Define
K := 2
7
T
Determine vectors zi,z
2
,... successively as follows. First set z\ :=y. Suppose
z\, ..., z, have been found. If z
t
^ 0, let
(6.2.14) v:=-- I T ^ - Z . I .
(Here [ J means the componentwise round-down. Note that v can be determined
by 14n
2
cp comparisons through binary search.)
6.2 Complexity of Rational Polyhedra 169
By the algorithm of Theorem (5.3.19) we can find u
t
e Z
n
, q
{
e Z so that
(6.2.15) ||
i ;
_ l .
M
. ||
o o <
I . 2- ^
It Qi
\<qt< 2
4n(p
.
(Note that i/,, q
t
can be found in time polynomially bounded by (v) and <p, and
that (v) is polynomially bounded by (p.)
Set
(6.2.16) 2/
+
i :=2/ M/.
If z, =0, stop. Otherwise repeat with i :=j +1.
Since z,-+i has at least one more 0-component than z, has, as one easily derives
from (6.2.14), (6.2.15), and (6.2.16), the algorithm stops after k < n iterations. Let
z\, ..., z
k
be the sequence generated. Note that by (6.2.16),
(6.2.17) y = MI H u
2
+... H u
k
.
41 12 Qk
We claim that
(6.2.18) z :=2-
gn(p
u
{
+2~
16mp
u
2
+... +2-
8fc
^
M/c
is a vector as required.
To show this, choose c e Q" with encoding length at most cp, so that c
r
y <0.
If
c
T
u
{
= ... =c
r
u
fc
=0, then (6.2.18) implies c
T
z < 0.
If c
T
u
t
=fi 0 for some i, choose the smallest such i. We show that c
T
U[ < 0.
Indeed, since by (6.2.16)
Halloo 11*2 llao l ki - l ||oo
Zi=y
M
l "2 - Mi -l ,
q\ 12 <li-\
and since c
T
y < 0, c
r
wi =... =c
r
U;_i =0, we know c
T
z
t
< 0. Then
c
r
u/ =c
T
(ui - q,-i;) +qiC
T
(v - z
f
) +g^z,- <
<l|c|| IN - wll +* ||c|| lit; - z,|| <T ' I'* +2<"* 2* J <2~*.
/c
Since M, is integral and (c) <(?, it follows that c
T
u
t
< 0. As c
T
u
t
^0 we know
c
T
ut < 0. Hence even
c
T
u
t
< -2"*.
Therefore, by (6.2.18),
C
T
Z = 2
-*
in
c
T
u
i
+2-*
(,
"
+1)n
*c
r
f<
l
-
+
i +... + 2~
8
^c
r
u,
<
_2-%in<P2-<p i
rt
. 2-
8
0'
+1
)"^2
5
"
(/>
<0
(using |c
r
tt,| <||c||, \\uj Boo <2" 3, <2" 2""" < 2
5
"*).
170 Chapter 6. Rational Polyhedra
So, if c
T
y < 0 then c
T
z < 0; and if c
T
y < 0 then c
T
z < 0. Similarly, if
c
T
y > 0 then c
T
z > 0. Hence c
T
y <0 iff c
T
z < 0.
One easily checks that each component of z has encoding length at most
22n
2
(p.
II. We next consider problem (6.2.11) for general y. Let y e<Q
n
and (peNbe
given. With I. applied to (y
T
, 1)
T
e Q
n+1
, we can find a vector (z
r
, k)
T
e Q
n+1
so
that for each linear inequality c
T
x < y of encoding length at most cp we have:
c
T
y y < 0 iff c
T
z ky < 0, and so that each component of (z
T
,k)
T
has encoding
length at most 22(n +l)
2
<p. Since 0
T
y 1 <0, this implies 0
T
z k < 0, and thus
k > 0. Then z := k~
l
z has the following property: for each inequality c
T
x < y of
encoding length at most cp, c
T
y < y holds if and only if c
T
z < y holds.
Moreover, for each component of z the encoding length is at most 44(n+\)
2
(p.
Hence z has encoding length at most 44n(n +l)
2
<p.
III. Finally we consider problem (6.2.12). Let be given an inequality c
T
x < y
in n variables and v e N. We apply I. to the vector (c
7
\y)
T
e Q
m+1
and q> =v +4.
We obtain (a
T
,(x)
T
e Q
n+1
such that
(i) for each vector (z
T
\k)
T
e Q"
+1
of encoding length at most v +4 we have
c
T
z < ky if and only if a
T
z < ka;
(ii) each component of (a
T
\OL)
T
has encoding length at most 22(n-\- l)
2
(v +4).
Property (i) gives that for each vector z e Q
n
with encoding length at most v,
we have c
T
z < y if and only if a
T
z < a. Property (ii) gives that the inequality
a
T
x < a has encoding length at most 22(n +l)
3
(v +4).
One of the main applications of the technique described above is the following
consequence of the algorithm for problem (6.2.12).
(6.2.19) Corollary. There exists a polynomial time algorithm that, given a vector
c e Q" and a natural number v, computes a vector aeQ" with the following
properties:
(i) for each polyhedron P ^IR" with vertex-complexity at most v, the objective
functions c
T
x and a
T
x are optimized by the same vectors in P, and
(ii) <a)<88(n+l )
3
(v +l).
Moreover, the number of elementary arithmetic operations the algorithm
performs is bounded by a polynomial in v.
*6.3 Weak and Strong Problems
We shall now show that for bounded, full-dimensional, well-described polyhedra
the weak and strong versions of the five basic problems introduced in Section 2.1
are polynomially equivalent - with the exception of the membership problem,
where some additional information is needed. Remark (6.2.10) gives the following
direct corollary.
6.3 Weak and Strong Problems 171
(6.3.1) Corollary. There exists an oracle-polynomial time algorithm that, for any
well-described, full-dimensional polyhedron (P ; n, cp) given by a weak nonempti-
ness oracle, solves the strong nonemptiness problem, i. e., for every such polyhe-
dron P a point in P can be found in oracle-polynomial time.
The next theorem is a major result. It shows that, for well-described, full-
dimensional polytopes, oracle-polynomial time algorithms for the strong problems
(2.1.1),..., (2.1.5) can be derived from oracles for the weak problems (2.1.10),
(2.1.14).
(6.3.2) Theorem.
(a) There exists an oracle-polynomial time algorithm that, for any bounded,
full-dimensional, well-described polyhedron (P; n, (p) given by a weak opti-
mization (violation, validity, separation) oracle, solves the strong optimization
(violation, validity, separation) problem.
(b) There exists an oracle-polynomial time algorithm that, given any bounded,
full-dimensional, well-described polyhedron (P;n,(p) specified by a weak
membership oracle, and given any interior point do e P, solves the strong
membership problem.
Proof, (a) 1. First we prove that weak optimization yields strong optimization.
Let c e Q" with c ^0 be given. Call the weak optimization oracle for P with
input c and e, where
2-18M<C)-24HV
By the choice of e, S{P,s) ^0, and so the oracle gives an "almost optimal"
point v. Using the simultaneous diophantine approximation algorithm described
in Chapter 5, find an integer q and an integer vector w such that
||^i7 w| | <2~
9{c)
-
24n2(p
0 <q < 2
9n
^
+24n3(p+n2
.
Then v, q, w and P satisfy the hypothesis of Lemma (6.2.9) (a), and hence ^w is
in P. Moreover, let M :=max{c
r
x \ x e P}. Then v, q, w and the hyperplane
c
T
x = M also satisfy the hypothesis of this lemma and hence c
T
(^w) = M, i. e.,
^w is a solution of the strong optimization problem.
2. Second, we show that weak validity yields strong validity. Let cs<Q
n
and
yeQbe given. Call the weak validity oracle with c and
/ := y +
fi
(2+||c||
1
),
e : = 2
-<<My>-4
2
9(3 + Hdl ^
4
"
3
V-
If it concludes that c
T
x > y' - s for some x e S(P,s) then there exists anx' eP
such that Hx-x'H <e. So c
T
x' > c
T
x- \\c\\
{
e > y'-e- \\c\\
x
e > y. Hence c
T
x < y
is invalid for P.
172 Chapter 6. Rational Polyhedra
If the oracle concludes that c
T
x < y' + e for all x e S(P,e), then consider
any vertex v of P. By Lemma (6.2.6), P contains a ball S(ao,2~
ln (p
), and by
Lemma (6.2.5), \\a
0
-v\\ < 2
5
***
1
. Let
x ^v + el^iao-v).
Then S(x,e) is contained in P, and hence x is in S(P,e). Therefore
c
T
v y =c
T
(v x) -h (c
T
x y') -f (y' y)
< ||c|| ||i ;-x||+fi + fi(2+||c||i)
= \\c\\s2
ln
^\\a
0
-v\\+8(3 + \\ch)
<
e
(2
7w
^
+5
"
2
^
1
||c||+3 +||c||
1
)
<2-<
c
>-^>-^>.
Since the left hand side is a rational number with denominator at most
2{c)+ii)+*n <p
?
jt follows that c
T
v < y. As the vertex v is arbitrarily chosen,
the inequality c
T
x <y is valid for P.
3. It follows by similar arguments that weak violation yields strong violation.
4. To show that weak separation yields strong separation turns out to be
more difficult in the sense that we have to use a more complex tool. Let y e Q"
be given. First we use Corollary (4.2.7) and Theorem (4.4.9) to find a point ao in
the interior of P. Without loss of generality assume that ao = 0. Let P * be the
polar polyhedron of P. The weak separation oracle for P yields a weak violation
oracle for P*. By part 2 of this proof this yields a strong violation algorithm for
P * which in turn yields a strong separation algorithm for P.
(b) The proof could be done analogous to part 4 above. A more direct proof is
the following.
Let y e Q
w
be given. We may assume y =fc ao. Define
Choose any rational point y
!
^ y on the line segment connecting ao and y such
that ||y- / || <e/2. Set
c':=min{!,2-<>'>-
2
*}.
Call the weak membership oracle for P with input y
f
and e'. If the oracle
concludes that y
f
e S(P,e') then y e S(P,s) and so by Lemma (6.2.7) y e P.
Suppose the oracle concludes that y
f
4 S{P,e
r
). Then there exists an inequality
a
T
x < b valid for P with encoding length at most cp such that / has distance
at most e! from the halfspace H ={x \ a
T
x > b}. Since H has facet-complexity
at most <p, by Lemma (6.2.7), y' e H. Hence y' is not in the interior of P which
implies that y 4 P' D
(6.3.3) Remark. The hypothesis that P be full-dimensional is essential. It is
easy to verify that if P is not full-dimensional then for any of the weak problems
(2.1.10),...,(2.1.14) we can design an oracle that does not distinguish P from the
empty set, since S(P,e) is empty.
6.3 Weak and Strong Problems 173
(6.3.4) Remark. The hypothesis that P be bounded is, on the other hand, not
always essential if we extend the definition of the weak versions of our problems
appropriately. We illustrate this by the example of the optimization problem.
The weak optimization problem for a (not necessarily bounded) polyhedron P
is as follows. Given a vector c e Q
n
and a rational number e >0, either
(6.3.5) (i) assert that S(P,e) is empty, or
(ii) find a vector y e S(P,e) such that
c
T
x <c
T
y + E for all x e S(P,~e) C\ 5(0, l/e), or
(iii) find a vector z such that
j-z e 5(rec(P),e) and c
T
z > 1.
II
2
II 00
To motivate the occurence of the ball 5(0,1/e) in (ii) of (6.3.5) let us point
out that the condition x e 5(P, e) fl 5(0,1/e) can be interpreted as "x is deep
in P " in the sense that x is also separated from infinity. It may be instructive to
verify that the use of the ball 5(0,1/e) is necessary to maintain the "continuity"
of the output as sketched in Chapter 2.
One can now show similarly as in Theorem (6.3.2) that for full-dimensional,
well-described polyhedra weak and strong optimization are polynomially equiv-
alent. One can modify the definitions of weak violation, weak validity, and weak
separation in a similar spirit and obtain analogous results.
Dropping the boundedness assumption for the membership problem with
given interior point no modification is needed in the definition, nor in the
statement and the proof of part (b) of Theorem (6.3.2).
(6.3.6) Remark. The hypothesis in part (b) of (6.3.2) that an interior point of
P is given cannot be dropped. Suppose we have a weak membership oracle
for a polyhedron P ^R" (which we do not know) and we know that P has
vertex-complexity In. We wish to decide whether OeP. Suppose the oracle gives
a negative answer whatever we ask. If we ask less than 2
n
questions, then there
exists a unit cube H with {0,+l, l}-vertices containing zero as a vertex whose
interior has never been hit by our questions and therefore all the answers given
by the oracle have been legitimate for P = H. But they were also legitimate
for P = conv{x e H | x a vertex of H,x ^0}. Thus it is impossible to decide
whether 0 e P in less than 2
n
calls on the oracle.
A similar construction can be given to show that even in dimension two it
may be necessary to call the oracle a number of times exponential in the given
vertex-complexity of the polyhedron.
(6.3.7) Remark. In part 4 of the proof of Theorem (6.3.2) showing the equiv-
alence of weak and strong separation the ellipsoid method was used. One may
wonder whether a proof with a more elementary rounding trick could be given
(as in the other parts of the proof). We will now show that it is just as difficult to
derive strong separation from weak separation as it is to derive strong nonempti-
ness from weak separation. (Note that the latter includes solving a set of linear
inequalities and so also linear programming.)
174 Chapter 6. Rational Polyhedra
More precisely, we shall show by an elementary construction that if we
have an oracle-polynomial algorithm to solve the strong separation problem for
full-dimensional well-described polytopes given by some weak separation oracle,
then this can be used to solve the strong nonemptiness problem for such convex
bodies.
Let a full-dimensional well-described polytope (P; n, q>) be given by a weak
separation oracle. By hypothesis we may as well assume that we have a strong
separation oracle for P. Consider the polytope P' c R
w+1
defined by
p' = {(Ax
T
,A)
T
eJR.
n+l
|0< A< l ,xeP}.
Then the weak separation problem for P' can be solved in oracle-polynomial
time as follows.
Let a point (y
T
,n)
T
e Q"
+1
and a rational number 3 > 0 be given. If
fx < 0 then x+\ >0 is valid for P' and weakly separates y from P'. If fi > 1
then the same holds for the inequality x
n
+\ < 1. If 0 < fi < 1 then we call
the strong separation oracle for P with input -y. If the oracle concludes that
-y e P then we conclude that (y
T
,iu)
T
e S(P',S). If the oracle gives a vector
c G Q" such that ||c||oo = 1 and c
T
x < c
T
-y for all x e P then the vector
(c
r
, -c
T
y)/ma.x{l,\^c
T
y\} =: d is a valid output for the weak separation
problem for P'.
Apply now the hypothesized strong separation algorithm to test whether the
origin is in P'. It of course concludes with "yes" since P ^=0. Consider those
points for which the weak separation oracle for P' has been called. We claim
that for at least one of these points the oracle must have concluded that it was
"near to P"\ For, otherwise all answers of the oracle would have been legitimate
also for the polyhedron
P" :={{Xx
T
,X)
T
eR"
+1
|
X
- <l< l ,xeP}
which however does not contain zero. But, if the answer is that (y
7
\n)
T
is "near
to P"' then -y P and so the strong nonemptiness problem for P can be
solved.
* 6.4 Equivalence of Strong Optimization and Separation
In this section we shall prove one of the fundamental results of this book, namely
that for well-described polyhedra (boundedness and full-dimensionality are not
assumed) the strong optimization problem and the strong separation problem are
equivalent with respect to polynomial time solvability. As a first step, we show
that, for well-described polyhedra, strong separation yields strong nonemptiness.
(6.4.1) Theorem. The strong nonemptiness problem for well-described polyhedra
given by a strong separation oracle, can be solved in oracle-polynomial time.
Proof. I. We first show the existence of a subroutine.
6.4 Equivalence of Strong Optimization and Separation 175
(6.4.2) There exists an oracle-polynomial time algorithm ELL" that, for any
well-described bounded polyhedron (P ;n, <p) given by a strong separation oracle,
either
(i) gives a nonzero vector peZ
n
and a natural number d such that
P <={x e Q
n
| p
T
x = d}
9
or
(ii) gives a vector x in P.
Indeed, let (P; n, cp) be a well-described bounded polyhedron, given by the
strong separation oracle SEP. Let v :=4n
2
<p, which is an upper bound on the
vertex-complexity of P. Apply the central-cut ellipsoid method (3.2.1) to P, with
R := 2\
e :=2-
12
"\
and the given strong separation oracle SEP. If the central-cut ellipsoid method
concludes with a vector y such that y e S(P,e), then we next obtain a vector x
in P by applying the simultaneous diophantine approximation algorithm to y.
With this algorithm we find an integer vector p eZ
n
and an integer q such that
\\y -
L
' p\\ < i2"
7n2v
, and 1 <q < 2
n2+7n
'
v
.
The vector x :=- p belongs to P by Lemma (6.2.7). (In fact, if the central-
cut ellipsoid method concludes that y e S(P,), then y itself is in P, since the
separation oracle is strong.)
The other possible outcome is an ellipsoid E = E(A,d), with volume at most
e, and containing P. Hence
(6.4.3) deM = ( ^y <n
2
" e
2
<2-
2 2
" \
where V
n
denotes the volume of the n-dimensional unit ball. (Recall that
V
n
> n~\)
Now we can find a vector u with u
T
Au < 2
20nv
, IMU = 1 as follows.
(Comment: we could find such a vector by computing an eigenvector belonging
to the smallest eigenvalue of A. However, to avoid discussions on polynomiality
and rounding, we describe a different method.) By (6.4.3),
det^"
1
) >2
22n2v
and hence the largest eigenvalue of A'
1
is at least 2
12n
\ Therefore, tr^"
1
) > 2
22m
(as A~
l
is positive definite). We may assume without loss of generality that the
maximum element of the main diagonal of A'
1
is in position (1,1). Then
X := (A-% > n~
l
- tr(A-
{
) > n'
x
2
22nv
> 2
20nv
.
Let v be the first column of A~\ and let u :=\ v. Then
(6.4.4) u
T
Au =1 v
T
Av = 1 (A^n =2T
l
< 2'
20n
\
176 Chapter 6. Rational Polyhedra
Moreover, u\ =(A~
x
)\\/X = 1, and hence ||||oo = 1 (as A~
l
is positive definite).
Thus we have found the desired u, with, without loss of generality, u\ =1.
Let P :=u
T
a. Then for each x in P (using the Cauchy-Schwarz inequality
(6.4.4), and the fact that P c E):
- I OHV
(6.4.5) \u
T
x - fi\ =|n
r
(x - a)| <(w
r
/4u)
1/2
((x - a)
7
^"
1
(x - a))
1/2
<2
With the simultaneous diophantine approximation algorithm (5.3.19) applied to
MI, ..., w, ji we can find an integral vector p =(pi ,..., p)
r
and integers <i and q
such that
||p- ^||<2-
4v
,
1 <q < 2
(rt+1)(
"
+2)/4
2
4(
"
+1)v
<2
7nv
Then p = 0, as pi >1, since
Pi ><?wi - | p i - g wi | > # - 2 ~
4 v
>0 ,
as wi =1. For each vertex x in P (cf. (6.4.5)), we have
\p
T
x -d\< \(p - qu)
T
x\ +\q(u
T
x - p)\ + \qfi - d\
<\\p-qu\\'\\x\\ + \q{u
T
x-p)\ + \qp-d\
^4v
m
jx , jlnv
#
^lOnv , ^4v
<2~
v
.
However, as p and d are integer, and x has encoding length at most v, p
T
x d is
a rational number with denominator at most 2
V
. Hence p
r
x =d for all vertices
x of P, and hence for all vectors JC in P.
It is easily checked that the above procedure is an oracle-polynomial time
algorithm.
II. The algorithm ELL" is a subroutine for the following algorithm, which
is almost as required by the theorem, except for the restriction to bounded
polyhedra.
(6.4.6) There exists an oracle-polynomial time algorithm ELL' that solves the
strong nonemptiness problem for well-described polyhedra given by a strong
separation oracle.
Indeed, let (P; n, cp) be a well-described polyhedron, given by a strong separa-
tion oracle SEP. Let v :=4n
2
(p. We apply the following iteration step repeatedly,
starting with k = 0. Suppose we have found linearly independent integer vectors
ci, ..., Ck and integers d\
9
..., dk such that
(6.4.7) P ^{x | c\x = d
u
..., c\x = d
k
).
6.4 Equivalence of Strong Optimization and Separation 177
Without loss of generality, assume that we can write
c{
=(C,,C
2
),
where C\ is a nonsingular matrix of order k. Let
Vdfc
If fc =n, then C^
l
d is the only possible vector in P. By giving this vector to the
separation oracle, we see whether P is empty. So let k < n.
Let the polyhedron Pk be the projection of P arising by forgetting the first k
coordinates, i. e.,
P
k
= {ye Q"~
fe
| p ) 6 P for some y e Q
fe
}.
By (6.4.7), j / e P* if and only if {{C^d - C^
l
C
2
y)
T
,y
T
)
T
e P. Moreover, all
vertices of Pk have encoding length at most v.
We describe a strong separation oracle SEP^for P
k
. If w e Q"~* is given,
apply SEP to the vector
z :=((C^d-C;
{
C
2
w)
T
,w
T
)
r
.
If SEP answers that z is in P, then w belongs to P*. If SEP gives a vector a such
that a
T
x < a
T
z for all x in P, decompose a
T
= (aj,aj), with a\ and a
2
vectors
of length k and n k
9
respectively. Then
{al-a\C^Ci)y < {a\ -a{C^C
2
)w
for all y in P
fc
, and SEP* gives the vector a
2
- (flfCf
l
C2)
r
as answer.
Now apply the algorithm ELL" of Part I to the well-described polytope
(Pk;n-/c,3n
2
v), with the strong separation oracle SEP*. Then ELL" will produce
one of the following two answers (i), (ii).
(i) ELL" gives a nonzero integral vector c
k+l
e TL
nk
and an integer d
k
+\ such
that P
k
^{ye Q""* | c
T
k+{
y = d
k+x
).
(Defining c[
+1
:=(0, ..., 0,c[
+1
) e Z
n
, we have P c {* e Q" | c[
+1
x =4+i},
and therefore we can start the iteration anew, with k replaced by k +1.)
(ii) ELL" gives a vector y in P
k
.
(Then the algorithm ELL' will give the vector ((Cf
1
*/- C^
x
C
2
y)
T
,y
T
)
T
as
an element of P.)
This describes the algorithm ELL'.
178 Chapter 6. Rational Polyhedra
Note that throughout the iterations the vertex-complexities of the polyhedra
Pk remain uniformly bounded by v, and thus, the encoding lengths of the c
{
and
di are uniformly bounded by a polynomial in v. This implies that the running
time of the whole algorithm is oracle-polynomially bounded.
III. Finally, the unbounded case is easily reduced to the bounded case. If a
well-described polyhedron (P;n, cp) is given let
P
!
:= P n {x e Q
n
| -2
4n2
<
Xi
< 2
4n2(p
for i =1, ..., n}.
Then P = 0 if and only if P' ^ 0, by Lemma (6.2.4). Moreover, a separation
oracle for P
f
is easily derived from a separation oracle for P. So applying
ELL' to the well-described bounded polyhedron (P';n,5n
2
(p) gives the required
result.
(6.4.8) Lemma. The strong separation problem for rec(P), where (P ;n, cp) is a
well-described polyhedron given by a strong separation oracle, can be solved in
oracle-polynomial time.
Proof. By Theorem (6.4.1) we can solve the strong nonemptiness problem for
P in oracle-polynomial time. If P is empty, then rec(P) = {0} and the strong
separation problem for rec(P) is trivial.
Suppose that we find a point XQE P. Then let y e Q
n
be a given point. Define
j y _ 2+
2<
/>+<>' >+<
x
o>
and call the strong separation oracle for P with input xo + Ny.
First, if the separation oracle for P gives a vector c e Q
n
such that c
T
x <
c
T
(xo + Ny) for all x e P, then for all z e rec(P), c
r
(x
0
+ Nz) < c
T
(xo+Ny) and
so c
T
z < c
T
y. Thus c is a valid strong separation for rec(P) and y.
Second, suppose that the separation oracle for P confirms that xo +Ny is in
P. We show that y is in rec(P). To this end, let a
T
x <a be a valid inequality for
P of encoding length at most cp. Then in particular we have
a
r
(xo-f-Ny) <a
or
a
T
y < (<x-a
T
x
0
).
Here a
T
y is a rational number with denominator at most 2
(iH
~^while the right
hand side is at most
jf(\\ + IMIIIxoll) <1(2*'-
1
+2"-
1
2
(x
>) <2-^">.
Hence a
T
y < 0 which shows that y e rec(P). O
We are now prepared to prove one of the main theorems of this book.
6.4 Equivalence of Strong Optimization and Separation 179
(6.4.9) Theorem. Any one of the following three problems:
- strong separation,
- strong violation,
- strong optimization,
can be solved in oracle-polynomial time for any well-described polyhedron given
by an oracle for any of the other two problems.
Proof. I. Suppose first that (P; n, cp) is given by a strong separation oracle. To
show that the strong optimization problem is solvable in oracle-polynomial time,
let c e<Q
W
be a vector.
Run the algorithm of Theorem (6.4.1). If it concludes that P is empty, then
we are done. Suppose it finds a point x
0
e P.
Next we run the strong nonemptiness algorithm of Theorem (6.4.1) for rec(P)H
{x | c
T
x =1} using the strong separation algorithm for rec(P) given by Lemma
(6.4.8). If it gives a vector z e rec(P) 0 {x | c
T
x = 1} then the optimization
algorithm asserts that z e rec(P) and c
T
z > 1. Otherwise we know that c
T
x is
bounded on P from above - in fact c
T
x < N, where
ft .__ 2<
C
)+
4
"
2<
P
>
Define
1
For every rational y we can decide in oracle-polynomial time whether the poly-
hedron
P
y
:=P H{x\y <c
T
x<N}
is empty by Theorem (6.4.1). So by binary search we can find a rational number
y e [c
T
x
0
,N] such that P
y
is nonempty but P
y+
is empty. By the method of
continued fractions find a rational number r =p/q such that
' "- ?' < 23^'
0<q
*
2N
-
We claim that
max{c
r
x | x e P} =r.
In fact, the left hand side is a rational number s/t with 0 <t < N and with
Hence
D S, 1 1
- - - < < .
q t Nq qt
Thus p/q = s/t.
Now the strong nonemptiness algorithm applied to P
r
gives a vector y e P
maximizing c
T
x on P.
180 Chapter 6. Rational Polyhedra
II. Obviously, a strong optimization oracle for P yields an oracle-polynomial
strong violation algorithm for P.
III. Suppose we have a strong violation oracle for (P;n, cp). We are going to
design a strong separation algorithm for P. Consider (the so-called y-polar of P)
Q :={(2
r
,l )
r
eR"
+1
| z
T
x < X f oral l xeP}.
Then (<2;n-f l,4n
2
<p +3) is a well-described rational polyhedron. Moreover, the
strong violation oracle for P yields a strong separation algorithm for Q. By parts
I and II this yields a strong violation algorithm for Q which in turn yields a
strong separation algorithm for P.
We leave it to the reader to check that all the above algorithms are oracle-
polynomial.
(6.4.10) Remark, (a) It is clear that if the polyhedron is not full-dimensional
then a strong membership oracle is not sufficient to solve any of the three
equivalent problems mentioned in Theorem (6.4.9) in oracle-polynomial time.
Similarly, for unbounded polyhedra a strong validity oracle does not yield oracle-
polynomial algorithms for these other problems.
(b) In the special case where P is a cone, the strong violation problem for P
is obviously the same as a strong separation problem for the polar cone P*.
So a strong separation algorithm for P yields a strong separation algorithm for
P\
(6.4.11) Remark. In case we know in advance that the well-described polyhedron
(P;n,cp) is nonempty, the algorithm described in the proof of Theorem (6.4.1)
works even if we replace the strong separation oracle for P by the following
weaker separation oracle: Given y e Q", the oracle may conclude that y e P,
or it may provide a vector c e Q" such that c
T
y > c
T
x for all x e P, and such
that in case y P, c
T
y > c
T
x holds for all x e P. So the oracle may provide us
with a "separating hyperplane" even if y e P. This implies that for nonempty
well-described polyhedra we can relax the strong separation oracle in Theorem
(6.4.9) similarly. This technical variation will play an important role in Chapter
10.
At this point we want to remark that Theorem (6.4.9) yields Khachiyan's
result on the polynomial time solvability of linear programming problems. We
should not go on without mentioning that this result, in fact, was the starting
point of most of the research presented in this book.
(6.4.12) Theorem. For any A e Q
mxn
, b e Q"
1
, and ceQ", the linear program
max c
T
x
Ax <b
can be solved in polynomial time.
6.5 Further Problems for Polyhedra 181
Proof. The strong separation problem for P := {x | Ax < b] can be solved
trivially in polynomial time by checking whether a given vector y e Q" satisfies
Ax < b or not. So the strong optimization for P can be solved in polynomial
time by Theorem (6.4.9).
This result was extended to convex quadratic programming by KHACHIYAN,
KOZLOV and TARAZOV (1980).
*6.5 Further Problems for Polyhedra
There are many other algorithmic problems concerning polyhedra which one
often encounters. In this section we show that many of these problems (finding
the dimension, the affine hull, a vertex, dual solutions to linear programs etc.)
can be solved in oracle-polynomial time given an oracle for one of the three
equivalent basic problems discussed in Theorem (6.4.9). First we settle some of
these problems for polytopes.
(6.5.1) Lemma. There exists an oracle-polynomial time algorithm that, for
any nonempty, well-described poly tope (P; n, cp) given by a strong optimization
oracle, finds a vertex of P.
Proof. Find successively
c\ :=max{xi | x e P},
ci :=max{x2 | x e P,xi = c\),
c
n
:=max{x | xeP,xi =c
u
., *_i =c_i}.
Then (a, ..., c
n
)
T
is a vertex of P.
(6.5.2) Remark. If we want to find an optimum vertex solution of the optimiza-
tion problem max{c
r
x | x e P}, where P is a polytope, then we can find first
the optimum value y and then find a vertex of the polytope P f! {x | c
T
x = y}.
A more direct way is to "perturb" the objective function, i. e., replace c by
c :=c +(e,e
2
, ..., e
n
)
T
where e is small enough, such that the optimum of c
T
x
over x e P is attained at a single vertex of P that also maximizes c
T
x over P.
Another application of the perturbation idea is the following one solving
a multiobjective linear programming problem. Suppose we have a strong op-
timization oracle for P and let c,c e Q". Let F be the face of points of P
maximizing c
T
x over P. Then we can maximize the objective function c
T
x over
F by maximizing the objective function (c + ec)
T
x over P for an appropriately
small e >0. d
The following lemma is due to EDMONDS, LOVASZ and PULLEYBLANK (1982):
182 Chapter 6. Rational Polyhedra
(6.5.3) Lemma. There exists an oracle-polynomial time algorithm that, for
any nonempty, well-described poly tope (P ; n, (p) given by a strong optimization
oracle, determines the afhne hull of P. Specifically, the algorithm finds affinely
independent vertices VQ,V\, ..., Vk ofP and linearly independent equations c\x =
y
u
..., c
T
n
_
k
x =y
n
_
k
valid for P.
Note that such vertices and equations necessarily satisfy
aff(P) =aff({i>
0
, n k}) ={^R"| cjx =y
i9
i =1, ..., n - k}.
Proof. First find any vertex vo of P with the algorithm of Lemma (6.5.1).
Suppose we have found affinely independent vertices vo, ..., vi (i > 0) of P
and linearly independent equations cfx = y\, ..., cjx = yj (j > 0) valid for P.
In the beginning we have i = 0, j = 0. If i +j < n then we find a basis of
the subspace orthogonal to aff({i;o, ..., t?f}) and pick any element c of it linearly
independent fromc\, ..., c
}
. Determine a vertex v
r
maximizing c
T
x over P and
a vertex v" minimizing c
T
x over P. If c
T
v' = c
1
v" then we set c
;
-+i :=c and
y
7+
i :=c
T
v
r
. If c
T
v' > c
T
v" then at least one of v
r
and v" is not in arT({i>o, . , t;,-})
and we can choose this vertex as i?
f+
i.
As soon as i+j =n we are finished.
(6.5.4) Remark, (a) Note that the encoding length of the equations cjx y\
found in (6.5.3) is bounded by a polynomial in <p and n.
(b) Lemma (6.5.3) also immediately yields the dimension of P. Moreover,
v := TT(I;O + ... +I>*)
k +1
is a point in the relative interior of P.
It is now easy to extend the results above to the case of general polyhedra.
(6.5.5) Theorem. There exists an oracle-polynomial time algorithm that, for any
nonempty, well-described polyhedron (P ; n, q>) given by a strong optimization ora-
cle, determines a system of linearly independent equations cfx = y\, ..., c^x = y
m
such that
aff(P) ={x G R" | c[x =y
u
..., c
T
m
x =y
m
}
and a system of affinely independent points VQ,V\, ..., v
n
-
m
such that
aff(P) =afT({i;o, ...,-}).
Moreover, the algorithm constructs a point in the relative interior of P.
Proof. Find such a system (resp. point) for
P n {x | ||x||* <2
5
"
2
*}
using the algorithm of Lemma (6.5.3) (resp. Remark (6.5.4) (b)).
6.5 Further Problems for Polyhedra 183
(6.5.6) Theorem. There exists an oracle-polynomial time algorithm that, for
any nonempty well-described polyhedron (P ;n,cp) given by a strong separation
oracle, finds linearly independent vectors spanning the lineality space of P.
Proof. By Lemma (6.4.8) we can solve the strong separation problem for rec(P)
and hence also for lineal(P) =rec(P)D(-rec(P)) in oracle-polynomial time. The
result then follows from Theorem (6.5.5).
(6.5.7) Theorem. There exists an oracle-polynomial time algorithm that, for any
nonempty well-described polyhedron (P; n, cp) given by a strong optimization
oracle, finds a vector contained in some minimal face ofP. In particular, ifP is
pointed the algorithm obtains a vertex.
Proof. Without loss of generality we may assume that P is pointed; for otherwise
we can replace P by P D (lineal(P))
1
. By Lemma (6.4.8), Remark (6.4.10) (b)
and Theorem (6.5.5) we find a vector c in the interior of (rec(P))*. Then the face
of P maximizing c
T
x over P is a polytope, and we can find a vertex of it by
Lemma (6.5.1).
(6.5.8) Theorem. There exists an oracle-polynomial time algorithm that, for any
given well-described polyhedron (P ; n, cp), specified by a strong separation oracle,
and for any given vector xo e P, solves the strong separation problem for the
smallest face ofP containing XQ.
Proof. Let
Q :={(z
r
,l )
r
el R
n+1
\z
T
x<X for all x e P,z
T
x
()
=X}.
Then the strong separation problem for Q can be solved in oracle-polynomial
time, since the strong violation problem for P can be solved in oracle-polynomial
time by Theorem (6.4.9). Thus we can find a point (c
T
,y)
T
in the relative interior
of Q. Then the minimal face containing xo is
P f){x | c
T
x = y}
for which the strong separation problem is trivially solvable.
(6.5.9) Corollary. There exists an oracle-polynomial time algorithm that, for
any well-described polyhedron (P ;n, cp) given by a strong separation oracle, and
for any c e Q
n
, either
(i) finds a system Cx = d such that {xeJR.
n
\Cx = d) is a minimal face of the
face of optimum solutions ofmaxc
T
x, xeP, or
(ii) asserts that P is empty or that c
T
x is unbounded over P. O
(6.5.10) Corollary. There exists an oracle-polynomial time algorithm that, for
any well-described polyhedron (P ; n, cp) given by a strong separation oracle, and
for any two rational vectors x
u
x
2
e P, decides whether x\ and x
2
are vertices of
P, and if this is so, whether x\ and x
2
are adjacent on P.
184 Chapter 6. Rational Polyhedra
Next we prove an algorithmic version of Caratheodory's theorem.
(6.5.11) Theorem. There exists an oracle-polynomial time algorithm that, for
any well-described polyhedron (P;n,cp) given by a strong optimization oracle
and for any rational vector yo e P, finds affinely independent vertices xo, ... , x&
of P and positive rational numbers Ao, ..., h with 1
0
-f X\ -f ... +h = 1 such
that y
0
=/lo*o + +h*-k-
Proof. By the algorithms described in Theorems (6.5.8) and (6.5.7) we first find
a vertex xo of the smallest face Fo of P containing y. If yo = xo we are done.
If y
0
^*o then draw a semifine starting at xo through yo and let y
t
be the
last point on this semifine contained in P. Similarly as above we find a vertex
xi of the smallest face F\ of P containing yi, and so on. If y F x
t
are found
and y, ^*;, we draw the semifine starting in x, through y, and determine the
last point, say y,+i of this semifine contained in P. Let x,-+i be any vertex of the
smallest face F/+i of P containing y
i+
\. The procedure stops if x, =y,.
Since for all i > 0, y, & Fi+i
afl
d
so x
t 4 Ft+i t>
ut
^/-Hi
?
x
i+2
5
--- e F
i+
\, the
vectors xo,xi,... are affinely independent. Hence the procedure stops in k < n
steps. Clearly, yo e conv{xo, xi, ..., x*}. Since xo, ..., xjt are affinely independent,
the X{ can be found by elementary linear algebra.
Since each vector y/ is the unique point of intersection of affine subspaces
spanned by yo and vertices of P the encoding length of y, can be bounded by a
polynomial of n and cp.
(6.5.12) Corollary. There exists an oracle-polynomial time algorithm that, for
any well-described, pointed, convex polyhedral cone (P ;n, cp) given by a strong
optimization oracle and for any rational vector yo e P, finds linearly independent
vectors xi, ..., Xk contained in extremal rays ofP such that yo = x\ 4-... +Xfe.
Proof. We may assume that yo ^0. By Remark (6.4.10) and Theorem (6.5.5) we
can find in oracle-polynomial time a vector c in the interior of the polar cone
P\ Then
P' :=P n{x\c
T
x = c
T
y
0
]
is a polytope containing yo- By Theorem (6.5.11) we can find affinely independent
vertices v\
9
...,Vk and positive rationals k\, .., h such that X\ +... +^ =1
and yo =k\v\ +... +kkVk- Take x,- :=/l^,-, i = 1, ..., k. D
(6.5.13) Corollary. There exists an oracle-polynomial time algorithm that, for
any well-described, pointed polyhedron (P \n,<p) given by a strong optimization
oracle and for any rational vector yo e P finds the following:
(i) vertices xo, ...,x
t
,t> 0, ofP,
(ii) positive rationals Ao,Au > h with h + +h =1,
(iii) vectors yu ..., y
s
> s > 0, in extremal rays of rec(P) such that xi xo, ...,
Xt xo,yu -, ys are linearly independent and
yo =>*o*o +... +X
t
x
t
+ y\+... + y
8
.
6.5 Further Problems for Polyhedra 185
Proof. Consider the set
C :={(Ax
r
,A)
r
GR"
+1
|xGP}U{(x
r
,0)
r
eR"
+I
|xGrec(P)}.
Then it is well-known that C is a pointed polyhedral cone (sometimes called
the 1-homogenization of P) whose extremal rays are generated by the vectors
(v
T
, \)
T
where v is a vertex of P and by (e
T
,0)
T
where e is a nonzero vector in
an extremal ray of rec(P). The optimization problem for C is easily reduced to
the optimization problem for P.
Thus we can apply Corollary (6.5.12) to (y
9
l )
r
e C, which gives the required
decomposition.
The case of nonpointed polyhedra P can be reduced to the pointed case by
intersecting P with an affine subspace that contains y
0
and is orthogonal to the
lineality space of P. The results are somewhat tedious to formulate and therefore
omitted.
Now we turn to the problem of finding "dual" solutions to the "linear
program" max{c
r
x | x e P}, where P is a nonempty polyhedron given by
a strong separation oracle and where the maximum exists. Since no system
defining P is given explicitly, the set of dual variables is not well-defined. To
begin with, let us consider every inequality valid for P as a constraint and
define accordingly an optimum dual solution as an assignment of positive scalars
Ai, ..., Ik to a finite number of valid inequalities a[x < oc\, ..., a[ < (Xk such
that X\a\ -f... -f Afctf/c =c and X\cc\ -f... +Xk&k =max{c
r
x | x e P}. If a\, ..., a^
are linearly independent we call the optimum dual solution basic. An optimum
dual solution in this general sense can be found trivially by setting X\ :=1,
a\ := c, and oc\ :=max{c
r
x | x e P}. To get nontrivial results we shall restrict
the family of valid inequalities to be considered.
Two ways of doing this seem meaningful for our purposes: We restrict the
valid inequalities ajx < a<to such inequalities where a
x
is an output of the
strong separation oracle, or to inequalities in a standard representation of P -
see Section 0.1 - where each equation is considered as a pair of inequalities. In
the first case we shall say that the dual solution is an optimum dual solution with
oracle inequalities, in the second that it is an optimum standard dual solution.
(6.5.14) Theorem. There exists an oracle-polynomial time algorithm that, for
any well-described polyhedron (P ;, cp) given by a strong separation oracle and
for any c e Q", either
(i) finds a basic optimum standard dual solution, or
(ii) asserts that the dual problem is unbounded or has no solution.
Proof. First we run the algorithm of Corollary (6.5.9) with input P and c. If
it asserts that P is empty or c
T
x is unbounded over P we can assert that
the dual problem is unbounded or has no solution. So we may assume that
max{c
r
x | x e P} exists. We set y :=max{c
r
x | x e P} and assume, to begin
with, that P is full-dimensional. Consider the polyhedral cone
Q := {(z
T
^)
T
e R
M+1
| z
T
x < X for all x e P}.
186 Chapter 6. Rational Polyhedra
Since P is full-dimensional, Q is pointed. Moreover, (c
T
,y)
T
e Q. Thus by
Corollary (6.5.12) we can find linearly independent vectors (a{, a\)
T
', ..., {a[, <Xk)
T
contained in extremal rays of Q such that a\ +... 4- a* = c and ai -h... +a& =y.
It is easy to see that every extremal ray of Q either determines a facet of P or is
generated by (0,0, ..., 0, l )
r
. Because of the definition of y this latter ray does
not occur.
Assume now that P is not full-dimensional. Choose a vector p e P. We
first determine the afflne hull of P via Theorem (6.5.5). Then we can find Co
and Go such that c = Co +OQ, CQ is in the linear space L = aff(P) {p}, and
ao is orthogonal to L. P {p} is a full-dimensional polyhedron in L. Using
the method described above we find a basic optimum standard dual solution for
max{c^x | x e P {p}}. This basic optimum dual solution together with the
equations from (6.5.5) yield the desired dual solution.
Now we want to find dual solutions with inequalities that are outputs of the
separation oracle. However, such a dual solution does not always exist, not even
in the full-dimensional case. For instance, if c
T
x < y defines a facet of P, then
the existence of a dual solution as above would imply that a positive multiple of
c would occur as an output of the separation oracle. This cannot be expected
in general, as for any input y $ P to the separation oracle there is enough play
in it to give as output a separating hyperplane not parallel to any facet. But if
we know in advance an upper bound cp on the encoding length of the vectors
returned by the separation oracle (which is the usual case in our combinatorial
applications) we can find a dual solution in the above sense, even if P is not
full-dimensional.
(6.5.15) Lemma. There exists an oracle-polynomial time algorithm that, for any
vector c e Q
n
and for any well-described polyhedron (P ; n, cp) given by a strong
separation oracle where every output has encoding length at most cp, either
(i) finds a basic optimum dual solution with oracle inequalities, or
(ii) asserts that the dual problem is unbounded or has no solution.
Proof. We first check whether P is empty or c
T
x is unbounded over P with the
algorithm of Corollary (6.5.9). If one of these cases occurs we assert (ii).
Otherwise, let <p' :=6n
2
cp. We apply the ellipsoid method of Theorem (6.4.9)
to (P;n,cp
f
) with the given separation oracle to find y :=max{c
r
x | x e P}.
Let b\, ..., b^ be the outputs of the separation oracle that occured during the
execution of the ellipsoid method. Now we can find, again with the ellipsoid
method, rational numbers /?i, ...,ftv such that fo =max{bfx | x e P}. Let
P' :== {x e R" | b{x < /?i, ..., bjjx < /?#}. Then P' has facet-complexity at most
cp
r
. Let y
f
=max{c
r
x | x e P'}. We claim that y y
f
.
Since P p' we know that y < y
r
. On the other hand, if the ellipsoid
method concludes that y = max{c
T
x \ x e P} only using the inequalities bfx <
Pi, ...ybftX < fin and the fact that P has facet-complexity at most cp', it
necessarily has to conclude that y =max{c
T
x \ x e P'} when applied to (P',n,(p
f
).
So y = / .
6.5 Further Problems for Polyhedra 187
Now
maxc
r
x
b[x < ft
blx <fty
is an explicitly given linear program for which we can find a basic optimum
solution of the (explicitly given) dual program
min{7ii/?i +... + n
N
p
N
| 7Ci, ...,n
N
>0,nibi+... + n
N
b
N
= c]
with the ellipsoid method. This is a basic optimum dual solution with oracle
inequalities for the original problem as required.
Now we show that any strong separation oracle for (P ; n, cp) can be modified to
a strong separation oracle that always gives facet defining inequalities or implicit
equalities as output. More precisely, we can derive a strong facet-separation
oracle in the following way.
(6.5.16) Theorem. The following problem can be solved in oracle-polynomial
time for any well-described polyhedron (P;n,<p) given by a strong separation
oracle:
Given y e Q
w
, decide whether y is in P. Ify is not in P, find a valid inequality
a
T
x < a such that a
T
y > a and P D {x | a
T
x =a} is a facet of? or is equal
to P itself
Moreover, if the outputs of the strong separation oracle have encoding length at
most cp, we can require that the output vector a is an output of the oracle itself
Proof. We may assume that P is nonempty. Call the separation oracle with the
given y e Q". If it concludes that y is in P we are done.
Suppose it returns a vector C G Q " such that c
T
x < c
T
y for all x e P.
Determine y :=max{c
r
x | x e P}. Then c
T
x < y is a valid inequality and so by
Theorem (6.5.14) we can find valid inequalities a[x < OL\, ..., a[x < a
k
such that
P fl {x | ajx =a,} is either P itself or a facet of P and such that a
{
+... +a
k
=c
and ai +... +a* < y < c
T
y. Hence for at least one i e {1, ..., k} we have
a,- <aTy and hence for every x e P, ajx < a, < ajy.
Suppose now that the outputs of the separation oracle have encoding length
at most cp. Then by the above we can find a valid inequality a
T
x < a violated by
y such that P fl {x | a
T
x =a} is equal to P or is a facet of P. Then with Lemma
(6.5.15) we can find valid inequalities bfx < ft, ...,fr[x < ft and positive
rationals 7ri, ..., n
k
such that n\b\+... + n
k
b
k
= a and rcift +... +n
k
Pk =a and
such that each b
t
occured as output of the separation oracle. Clearly, as a
T
y > a,
there exists an i e {1, ..., k} with bjy > ft. Now again, P fl {x | bjx =ft} is
equal to P or is a facet of P, since P H {x | a
T
x = ex.} c p n {x | bjx = ft}.
Using Theorem (6.5.16) we can strengthen Lemma (6.5.15) so that the positive
dual variables correspond to facet-defining inequalities and implicit equalities
only.
188 Chapter 6. Rational Polyhedra
(6.5.17) Theorem. There exists an oracle-polynomial time algorithm that, for
any vector c e <Q" and for any well-described polyhedron (P; n, (p) given by a
strong separation oracle where every output has encoding length at most cp, either
(i) finds a basic optimum dual solution with oracle inequalities such that each
inequality defines either a facet or an implicit equation ofP, or
(ii) asserts that the dual problem is unbounded or has no solution.
Proof. Combine Lemma (6.5.15) and Theorem (6.5.16).
Analogously to the results in Section 4.7, various operations on polyhedra
preserve the existence of polynomial time algorithms:
(6.5.18) Exercise. Let (P ;n,<p) and (Q',n,xp) be well-described polyhedra given
by strong separation oracles. Prove that the strong separation (optimization,
violation) problem is solvable in oracle-polynomial time for each of the following
well-described polyhedra:
(a) (P nQ;n
9
msix{(p,y)})
f
(b) (P+e;n,24n
4
((? +T/;)),
(c) (conv(P U 0;n, 12n
4
max{(/>,ip}),
(d) (P*;nAn
2
cp),
(e) (bl(P);,4nV),
(f) (abl(P);n,4n
2
(p).
Finally let us turn to a special nonlinear optimization problem. The problem
of minimizing a convex function can also be solved in a strong version for
rational polyhedra. A polyhedral (or piecewise linear) function is a function which
is the maximum of a finite number of linear functions. We say that the encoding
length of a polyhedral function is at most * if each of these linear functions has
encoding length at most
y
.
(6.5.19) Theorem. The following problem can be solved in oracle-polynomial
time:
Input: A well-described polyhedron (P ;n,(p) given by a strong separation oracle
and a polyhedral function f : Q" ->Q of encoding length at most *F given by an
oracle that for any xeQ" returns f(x).
Output: A vector x* e P minimizing f over P.
Proof. Exercise.
*6.6 Strongly Polynomial Algorithms
The ellipsoid method solves linear programs in polynomial time. This means that
it solves any given LP-problem
max{c
r
x | Ax < b}
in at most p((A,b,c)) binary operations, for some polynomial p. Although
such an algorithm is by definition "efficient", it can have some drawbacks. In the
6.6 Strongly Polynomial Algorithms 189
ellipsoid method the encoding lengths of the input numbers influence the number
of arithmetic steps to be performed. This does not conflict with the definition of
polynomiality, but it would be nicer, if the encoding lengths of the input numbers
only influenced the numbers to which these arithmetic operations are applied
and if the number of arithmetic operations could be bounded polynomially by
the problem dimensions (i. e., by the number of rationals in the input). An
algorithm with these properties is called strongly polynomial (see Section 1.3).
More precisely, an algorithm is strongly polynomial if:
(a) it consists of the (elementary) arithmetic operations:
addition, subtraction, comparison, multiplication and division;
(b) the number of times such operations are performed is polynomially bounded
in the dimension of the input;
(c) the encoding lengths of the numbers occurring during the algorithm are
polynomially bounded in the encoding length of the input.
MEGIDDO (1983) showed that any linear program with n variables and m con-
straints, such that each of the constraints, and the objective function, has at most
two nonzero coefficients, can be solved in 0(mn
3
log n) arithmetic operations.
Another interesting result was obtained by TARDOS (1985, 1986), who showed
that any linear program max{c
r
x \ Ax < b} can be solved in at most p{(A))
arithmetic operations on numbers of size polynomially bounded by (A
9
b
9
c),
where p is a polynomial. Thus the encoding length of b and c do not contribute
to the number of arithmetic steps. In particular, there is a strongly polynomial
algorithm for the class of LP-problems where A is a {0,l}-matrix. This class
includes network flow problems - see Section 7.1 - and also multicommodity flow
problems - see Section 8.6. Therefore, Tardos' result answers a long-standing
open question asked by EDMONDS and KARP (1972).
FRANK and TARDOS (1987) extended this result to "nonexplicit" linear pro-
grams, and showed thereby the strongly polynomial time solvability of most
polynomially solvable combinatorial optimization problems.
First we will prove Tardos' results, using simultaneous diophantine approxi-
mation, in particular the Frank-Tardos rounding procedures (6.2.13). We remark
that Tardos' algorithm avoids the use of diophantine approximation - of course
at the expense of more subtle considerations. The heart of the procedure is the
following lemma.
(6.6.1) Lemma. Let A e Q
mxn
, b
9
b e Q
w
and c
9
c e Q" be given. Assume that
for each linear inequality p
T
y <n (pe Q"
1
, n e <Q) with encoding length at most
I2m
2
(n +m)
2
((A) + m + 2) we have p
T
b < n if and only if p
T
b < n. Similarly
assume that for each linear inequality r
T
x < p (r e Q", p e Qj with encoding
length at most 12n
2
(n +m)
2
((A) +n +2) we have r
T
c < p if and only ifr
T
c < p.
(a) For each optimum solution x of the program max{c
r
x \ Ax <b} there exists
an optimum solution x of the program max{c
r
x \ Ax <b] such that for all
1 <i <m Ai.x = hi iffAi.x =b,-.
(b) For each optimum solution y of the dual program min{b
T
y | A
T
y =c,y > 0}
there exists an optimum solution y ofmin{b
T
y | A
T
y =c,y > 0} such that y
and y have the same support.
190 Chapter 6. Rational Polyhedra
Proof. We prove (a) and (b) simultaneously. We may assume that the matrix
A has the form A = (
A
) and that b = [
r
) such that A\x = Si, A
2
x < S2.
\MJ \b
2
J
Consider the polyhedron
P :={(x
T
9
zf,z%)
T
eWL
n
+
m
\A
x
x-z\ =0, A
2
x-z
2
<0}.
Then (x
T
,b
T
)
T
e P, and moreover, since (x
T
,b
T
)
T
satisfies each inequality in the
definition of P with strict inequality, (x
T
,b
T
)
T
is in the relative interior of P. It
also follows that the definition of P contains no implicit equations. Let
P': ={zGR
m
|3xGR" such that {x
T
,z
T
)
T
e P}.
It follows from the definition that b is in the relative interior of P
r
. Since the
vertex-complexity of P
r
is not larger than the vertex-complexity of P we obtain
from Lemma (6.2.4) that the facet-complexity of P
f
is at most l2m
2
(n + m)
2
((A) +
m 4- 2). By the hypothesis of the lemma, b is also in the relative interior of P'.
Hence there is a vector x e R" such that (x
T
,b
T
)
T
is in the relative interior
of P, i. e., A\x = b\ and Ajx < b
2
where b = (6f,6f)
r
corresponds to the
partition of S. By the same projection argument we can find a vector J e R
m
such that A
T
y =c, y > 0, and y has the same support as y. It follows from the
Complementary Slackness Theorem (0.1.50) that x and J form a pair of optimum
primal and dual solutions for max{c
T
x | Ax < b).
(6.6.2) Remark. Note that Lemma (6.6.1) implies that if one of the two linear
programs max{c
r
x \ Ax < b} and max{c
r
x \ Ax <b) has an optimum solution
so does the other. By considering the objective function c = c = 0, we see that if
one of these linear programs is infeasible so is the other. Hence if one of them is
unbounded so is the other.
Now we can prove a result due to TARDOS (1986).
(6.6.3) Theorem. There exists a polynomial time algorithm that, for any given
A e (Q
mxn
, b e Q"
1
, c e Q", solves the linear program max{c
T
x \ Ax < b}. The
number of elementary arithmetic operations used by the algorithm is bounded
by a polynomial in (A). The algorithm finds an optimum vertex solution if one
exists.
Proof. Using the algorithm of Frank and Tardos - see Theorem (6.2.13) - for
Problem (6.2.11), we find vectors c and b with the properties required in Lemma
(6.6.1) such that
(S) <528m
3
(m +l)
2
(n +m)
2
{(A) +m +2),
(c) < 528n
3
(M +l)
2
(n +m)
2
((A) +n +2).
6.6 Strongly Polynomial Algorithms 191
So the encoding lengths of b and c are bounded by a polynomial in (A). Thus
we can solve the linear program
max{c
r
x | Ax < b]
in time polynomial in (A) by the ellipsoid method.
If this linear program is infeasible or unbounded, we are done by Remark
(6.6.2). Otherwise we use the algorithm of Theorem (6.5.7) to find a vector x that
is on a minimal face of the optimum face. This can be done in time polynomial
in (A,b,c) and hence in (A). We partition A and b such that A\x = b\ and
A
2
x < b
2
. Let b =(bf,^)
7
be the corresponding partition of b.
Claim. Every solution of A\x =b\ is an optimum solution of max{c
T
x | Ax < b).
Proof. By Lemma (6.6.1) (a) there is an optimum solution x of this LP such
that A\x = b\ and A
2
x < b
2
. By complementary slackness, it suffices to show
that every solution of A\x =b\ satisfies Ax <b. Suppose not. Then there is a
vector y satisfying Ay < b, A\y = b\ and at least one of the inequalities A
2
y < b
2
with equation. Using Lemma (6.6.1) (a) again, there is an optimum solution x*
of max{c
7
x | Ax < b] satisfying A\x* = b\ and satisfying at least one of the
inequalities A
2
x* < b
2
with equation. So x* is contained in a smaller face than x,
which contradicts the choice of x. This proves the claim.
Using Gaussian elimination, we find a solution of the equation systemA\x =
b\. This is an optimum solution of max{c
r
x \ Ax <b} which lies on the minimal
face. In particular, if the set of feasible solutions is pointed, it is a vertex
solution.
(6.6.4) Corollary. There exists a strongly polynomial time algorithm for rational
LP-problems with {0, 1} -constraint matrix.
In this section we have so far considered explicitly given linear programs only.
We shall now give a general result about optimization problems for polyhedra
and their dual problems in "strongly polynomial" time. More exactly, we show
that the number of elementary arithmetic operations to solve an optimization
problem over a well-described polyhedron and to solve its dual problem does not
depend on the encoding length of the objective function.
(6.6.5) Theorem. There exist algorithms that, for any well-described polyhedron
(P; n, cp) specified by a strong separation oracle, and for any given vector c e Q",
(a) solve the strong optimization problem max{c
r
x \ xe P}, and
(b) find an optimum vertex solution ofmax{c
T
x \ c e P} if one exists, and
(c) find a basic optimum standard dual solution if one exists.
The number of calls on the separation oracle, and the number of elementary
arithmetic operations executed by the algorithms are bounded by a polynomial
in (p. All arithmetic operations are performed on numbers whose encoding length
is bounded by a polynomial in <p-{- (c).
192 Chapter 6. Rational Polyhedra
Proof. Using the algorithm of Lemma (6.2.19) we can find a vector ce(Q" such
that
(c) < 88(n +l)
3
(4n
2
<p +1) <400<p
6
and the objective functions c
T
x and c
T
x are maximized by the same vectors in
P. Now we solve max{c
r
x \ xe P} using the algorithm of Theorem (6.4.9). The
size of the input to this algorithm is bounded by a polynomial in cp
y
and hence
so is its running time. The output of this algorithm is also a valid output for
max{c
r
x | x e P}. This solves (a). By Remark (6.5.2) we can find a vertex solution
of max{c
r
x | x e P}, if any. This is also a vertex solution of max{c
T
x \ x e P}.
To get an optimum dual solution (if there is any), we have to round c a little
more carefully. Using the algorithm of Theorem (6.2.13) for Problem (6.2.12), we
find a vector ceQ" such that
(i) for each y e Q" with encoding length at most 105n
4
(p, we have c
T
y <0 if
and only if c
T
y < 0,
(ii) <c)<4620n
5
(n+l )V
Now we find a basic optimum standard dual solution for max{c
r
x \ x e P},
say Ai, ..., Afc > 0 and afx < OL\, ..., a\x < a^. So c = k\a\ + ... -f X^a^ e
cone{#i, ..., cik}. Since by Lemma (6.2.3) cone{ai, ..., a/J has vertex-complexity
at most 35n
2
(p, by Lemma (6.2.4) it has facet-complexity at most 105n
4
<p- Hence
by (i), the vector c is in this cone. Since the vectors a, are linearly independent,
we can use Gaussian elimination to determine scalars ji\, ..., ju/c >0 such that
c = /iiai +... +/^a/c. By complementary slackness, fi\, ..., ^ and the inequalities
afx < oci, ...,a[x < VL^ form a basic optimum standard dual solution. It is
obvious that the running times are as claimed.
An important application of this theorem will be that one can turn many
polynomial time combinatorial optimization algorithms into strongly polynomial
algorithms. For, consider a class of polyhedra defined, e. g., by graphs. If we
can solve the optimization problem max{c
r
x | x e P} for each polyhedron P in
this class in time polynomial in (c) and in the encoding length of the associated
graph, then we can also solve the optimization problem in strongly polynomial
time, i. e., with an algorithm in which the number of arithmetic operations does
not depend on (c).
*6.7 Integer Programming in Bounded Dimension
Recall from Section 0.1 that the linear diophantine inequalities problem is as
follows :
(6.7.1) Linear Diophantine Inequalities Problem. Given a system of linear
inequalities
(6.7.2) afx <bi (i =1, ..., m),
6.7 Integer Programming in Bounded Dimension 193
where a, e Q
w
, b
{
e Q, either find an integral solution or conclude that no integral
solution exists.
In this section we show that this problem is solvable in polynomial time for
every fixed n, a celebrated result due to LENSTRA (1983). The approach given
here is described in GROTSCHEL, LOVASZ and SCHRIJVER (1984a).
First we solve the following problem.
(6.7.3) Given a system of linear inequalities (6.7.2), either
(i) find an integral solution x of'(6.7.2), or
(ii) find a vector c e Z
n
\ {0} such that c
T
(x - x') < n(n +1)2*
+1
for any two
(not necessarily integral) solutions x, x' of'(6.7.2).
Roughly speaking, by solving this auxiliary problem (6.7.3) we either find a
solution of the integer programming problem or find a direction in which the
solution set is "flat". The important thing about (6.7.3) is that it can be solved
in polynomial time even for varying n.
(6.7.4) Theorem. Problem (6.7.3) can be solved in polynomial time.
Proof. I. First we show that the problem can be reduced to the case when the
solution set P of (6.7.2) is bounded. Let cp be the maximum encoding length for
the inequalities in (6.7.2). Then the vertex-complexity of P is at most v =4n
2
(p.
Consider the inequality system
(6.7.5) ajx <b
t
(i = 1, ...,m),
||x||
00
<2
2v+1
n(n+1)2*.
Suppose we can solve problem (6.7.3) for this system of linear inequalities. If the
output is an integral solution, then we are done. Suppose that the output is an
integral vector c 0 such that y < c
T
x < y +n(n +1)2 ^)
+1
for some yeQ and
for all solutions x of (6.7.5). Then we claim the same is true for all solutions of
(6.7.2). In fact, every solution of (6.7.2) can be written in the form
k b
x = ^ M +2]M/W/,
i =l ; =1
where A
i9
pj > 0, X^ = *>
and v
>>
e p
>
U
J
e rec
(
p
)
and
("A^) ^
v
-
T hen
\\vi\\ < 2
V
and hence
k
x :=V kvt
i =i
is a solution of (6.7.5). So
y <c
T
x <y +n(+l)2iG)
+1
.
194 Chapter 6. Rational Polyhedra
Furthermore, we claim that c
T
u
{
= 0. Suppose not; then \c
T
ui\ > 2
v
, say
c
T
Ui > 2~
v
. Consider the vector
x" :=x' + 2
x
n(n+\)2^
+{
Ui.
Then
c
T
x" >y+ n(n+l)2*
+
\
which is a contradiction since x" is a solution of (6.7.5). This contradiction proves
that c
T
Ui; =0 for all i and hence
y <c
T
x <y + n{n + 1)2^G)+
1
as claimed.
II. So we may assume that P ^S(0,2
V
), where v :=4n
2
(p. Let us define a
shallow separation oracle for P as follows. Given an ellipsoid E{A, a), check
whether P contains the concentrical ellipsoid E{(n+ l)~
2
A,a). This can be done
by checking, for / =1, ..., m, whether (n +\)~
2
aJAa
t
< (bi a]a)
2
holds. If so,
declare E(A,a) "tough". If not, then for any index i violating it, the inequality
ajx < bi is a shallow cut.
Apply the shallow-cut ellipsoid method with this shallow separation oracle,
with R =2
V
and e = 1.
Case 1. The output is an ellipsoid E(A,a) containing P, of volume at most 1.
Then consider the norm N(x) :=y/x
T
Ax. By Theorems (5.3.16) and (5.3.13),
we find a vector c e Z
n
such that N(c) < 2<"-
,
>/
4
(det,4)
1/(2
"> <2
{n
-
X),4
V~
{/n
<
n
.
2
( - i ) / 4_
Hence for any vector x e P, we have c
T
(x a) < (c
T
Ac)((x a)
T
A~
l
(x a)) <
n
2
2
(n-D/2
< n
(
n +
j ). 2C)/
2
. So c is a vector satisfying (b) of (6.7.3).
Case 2. Suppose the shallow-cut ellipsoid method ends up with a tough ellipsoid
E(A,a). Consider the norm N(x) :=Vx
T
A~
l
x. By Theorems (5.3.16) and (5.3.13),
we find a basis {b\
9
..., >} of Z
n
such that
N(b
{
)-...-N(b
n
) <2^")(det^-
1
)5.
Write
& = /_, hbi
i=\
and consider the vector
i =l
If a' e P we are done, so suppose that d' $ P. Then a' is not contained in the
concentrical ellipsoid E((n +l)~
2
,4,a), and hence N{d a)>(n+ l )
- 1
. But
\ i =i / 1=1
6.7 Integer Programming in Bounded Dimension 195
Hence there is an index i, 1 <i < n, so that N(bi) > (n(w +l ))
- 1
. Without loss of
generality, assume that i = n.
Define an integral vector c by
c
T
x = det(b
u
. . . , V i , 4
Then for any x e P, we can estimate c
T
(x a) as follows. Write A~
x
= B
T
B.
Then
\c
T
{x-a)\ =|det(B&!, ..., Bb
n

u
B{x -<i))|(deM)5
^N(6i)...iV(6
B
_-i)^(x-a)(dety4)5
< 2H3(det/l -
1
)3~l --(dety4)5
AT(0
n
)
<n(rc +1)2H").
So c is a vector satisfying (b) of (6.7.3).
Let us mention that, with the methods of BABAI (1986) and LOVASZ (1986)
the factor 22 could be improved to c
n
, where c is some positive contstant -
cf. also Theorem (5.3.26).
We are now able to derive the main result of this section, the theorem of
LENSTRA (1983).
(6.7.6) Theorem. For each fixed integer n > 1, the linear diophantine inequalities
problem (6.7.1) for n variables can be solved in polynomial time.
Proof. By induction on n. Let us run the algorithm of Theorem (6.7.4) first, with
the given system of inequalities as input. If its output is an integral solution, we
are done. Suppose that its output is an integer vector c =/= 0 such that c
T
{x\ xi) <
n(n -I- 1)2H")
+1
for any two solutions x\ and xi of (6.7.2). Let
y\ = min{c
r
x | x satisfies (6.7.2)}
and
y
2
= max{c
r
x | x satisfies (6.7.2)}.
For every integer k with j \ < h < 72, consider the diophantine inequalities
problem for the system of linear inequalities (6.7.2) joined with
(6.7.7) c
T
x = k.
We can transform the system (6.7.2), (6.7.7) by eliminating one of the variables
to a form
(6.7.8) A
k
x < h
where A
k
e Q
(n
~
1)xw
and b
k
e Q
m
. Now it is clear that (6.7.2) has an integral
solution if and only if (6.7.8) has an integral solution for at least one /c, y
{
<
196 Chapter 6. Rational Polyhedra
k < )>2- Thus to solve (6.7.2) it suffices to solve at most [y
2
yij +1 <
2n(n + 1)2
5
W
+1
+l diophantine inequalities problems with n 1 variables. By the
induction hypothesis, these can be solved in polynomial time. Since n (and thus
2n(n +1)2
5
W
+1
) is a constant, it follows that (6.7.2) can be solved in integers in
polynomial time.
We have to point out that we omitted an important detail: one must show
that the encoding length for (6.7.8) is bounded by a polynomial of the encoding
length of (6.7.2), uniformly for all k with y\ <k < y
2
. This is, however, easily
checked.
By the same method one can prove the following theorems.
(6.7.9) Theorem. There exists an oracle-polynomial time algorithm that, for any
well-bounded convex body (X;n, R,r) given by a weak separation oracle, either
(i) finds an integral point xe K
3
or
(ii) finds a nonzero integral vectorceP such that \c
T
x c
T
x'\ < n
3
2^^
+l
for
any two vectors x, x
f
e K.

(6.7.10) Theorem. For any fixed integer n>\, there exists an oracle-polynomial
time algorithm that, for any well-bounded convex body (K;n,R,r) given by a
weak separation oracle, and for any rational number e > 0, either finds an
integral point in S(K,e), or concludes that K contains no integral point.
Finally, Lenstra's theorem (6.7.6) immediately yields - via binary search - the
following important corollary for integer programming.
(6.7.11) Corollary. For any fixed integer n > 1, the integer linear programming
problem max{c
T
x \ Ax < b, x integral} in n variables can be solved in polynomial
time.
A similar corollary for the integer linear programming problem over well-
described polyhedra (P;n, cp) can be derived from Theorem (6.7.10).
One may wonder whether the polynomial time algorithms for the integer
programming problems discussed above may be modified to run in strongly
polynomial time. However, in our model of strongly polynomial computation
even such a simple problem as "Given an integer a, find an integral solution of
2x =a" cannot be solved in strongly polynomial time, i. e., the parity of an integer
a cannot be decided in a fixed number of elementary arithmetic operations.
Chapter 7
Combinatorial Optimization:
Some Basic Examples
In the remaining part of this book we apply the methods developed in the
first part to combinatorial optimization. In this chapter we give some illumi-
nating examples to explain the basic techniques of deriving polynomial time
algorithms for combinatorial optimization problems. These techniques are based
on combining the ellipsoid method and basis reduction with results from the field
called "polyhedral combinatorics", where combinatorial optimization problems
are formulated as linear programs. Chapter 8 contains a comprehensive survey
of combinatorial problems to which these methods apply. Finally, in the last two
chapters we discuss some more advanced examples in greater detail.
7.1 Flows and Cuts
A well-known problem, with many real-world applications, is the maximum flow
problem. An instance of this is given by a directed graph D = (V,A), a. "source"
r e V, a "sink" s e V \ {r}, and a "capacity function" c : A ->Q+. We want to
send through this "capacitated network" a maximum amount of "flow" from r
to s such that, for any arc, the flow going through it does not exceed its capacity.
Here a flow should satisfy the conservation law, i.e., in any node v.r,s the total
flow entering v is equal to the total flow leaving v. The value (or amount) of flow
means the "net flow" leaving the source r, that is the total flow leaving r minus
the total flow entering r. Because of the conservation law this is equal to the net
flow entering the sink s.
Recall that, for a set W of nodes, we denote the set of arcs of D entering
W by S~~(W) and leaving W by S
+
(W), while we write 5~(v) and S
+
(v) instead
of S~({v}) and 5
+
({v}). Moreover, if x e IR/
4
and A! A is a set of arcs, then
x{A!) :=Y,aeA
,x
a- Using this notation we can formulate the maximum flow
problem as a linear programming problem as follows.
(7.1.1) max x(S+(r))-x(S-(r))
x(S-(v))-x(S
+
(v)) =0 for all v e V \ {r,s},
0 < x
a
< c
a
for all ae A.
Every vector x e R
A
satisfying the constraints of (7.1.1) is called an (r,s)-flow
subject to c or just a flow (fromr to s), and its value is x(3
+
(r)) - x(d~(r)). FORD
and FULKERSON (1957) devised an algorithm to solve this max-flow problem,
198 Chapter 7. Combinatorial Optimization: Some Basic Examples
which DINITS (1970) showed to be implementable as a strongly polynomial time
algorithm. The polynomial time solvability also follows directly from Khachiyan's
version of the ellipsoid method for linear programming, since the linear program
(7.1.1) can be set up in time polynomial in the encoding length of the input data
V, A, c, r, s. (Khachiyan's method does not directly give strong polynomiality,
but indirectly it follows with Tardos' method - see Corollary (6.6.4).)
If the capacities c
a
are integral, it turns out that Ford and Fulkerson's
algorithm gives an integer valued optimum flow x. So the Ford and Fulkerson
algorithm solves at the same time the integer linear programming problem
obtained from (7.1.1) by adding the condition
(7.1.2) .x
a
eZforal l a e A.
It also follows that, if the capacities are integers, adding (7.1.2) to (7.1.1) does not
make the maximum value smaller. This is a prime example of an integer linear
program in which the integrality conditions turn out to be superfluous. In fact,
Ford and Fulkerson showed that the feasible region of (7.1.1) is a polytope with
integral vertices if the capacities are integral. Since we can find a vertex solution
with the ellipsoid method we can therefore also find an integer solution to (7.1.1)
with the ellipsoid method.
Let us now consider the dual program of (7.1.1). By introducing variables y
a
for all a e A and z
v
for all v e V we can write the dual as follows:
(7.1.3) min ^T c^
aeA
z
w
z
v
+ y
a
> 0 for all a = (v, w) e A,
Zr = 1,
z
s
= 0,
y
a
> 0 for all aeA.
We want to show that this dual program has a combinatorial interpretation
which yields one of the central min-max relations in combinatorial optimization,
the max-flow min-cut theorem.
If W is a node set with r e W and s 4 W, then it is common to call the arc
set S
+
(W) (= b~{V \ XV)) a cut separating r from 5, or just an (r,s)-cut. The
name derives from the fact that if the arc set 6
+
{W) is removed fromD, then all
the links from r to s are cut and there is no way to send flow of positive value
from r to s. Since every (r,s)-flow x satisfies the capacity constraints, we have
x(S
+
(W)) < c(S
+
(W)) for all cuts b
+
(W) separating r from s. For all (r,s)-cuts
we have x(S
+
(W)) x(S~(W)) = x(S
+
(r)) x(S~(r)) from the conservation law,
thus the maximum flow value through the capacitated network is not larger
than the minimum capacity of a cut separating r from s. To see that these two
quantities are equal, we construct an (r,s)-cut whose capacity is equal to the
maximum value of a flow as follows.
Let y
a
, aeA, and z, v e V, be an optimum solution (possibly fractional) to
(7.1.3) and let x be an optimum solution to (7.1.1), i. e., an optimum flow. Next
let V := {i? e V | z
v
> 0}. If a = (v,w) e 8+{V
f
) then y
a
> z
v
- z
w
> 0, and
7.1 Flows and Cuts 199
hence by the Complementary Slackness Theorem (0.1.50) we have x
a
=c
a
. If
a = (v, w) 6 S~(V
f
), then z
w
z
v
+y
a
> z
w
z
v
> 0, and so again by complementary
slackness x
a
= 0. Therefore
c(6
+
(V')) = x(S
+
(V
f
)) - x(S-(V')) = x(8+(r)) - x(5~{r)),
which is the net amount of flow leaving r. So 5 + {V) is a cut separating r from
s with capacity equal to the maximum value of a flow from r to s. Thus we
have the following famous result due to FORD and FULKERSON (1956) and ELIAS,
FEINSTEIN and SHANNON (1956).
(7.1.4) Max-Flow Min-Cut Theorem. The maximum value of a flow from r to
s subject to the capacities is equal to the minimum capacity of a cut separating
r from s.
The (constructive) argument above shows that if we have an optimum solution
to (7.1.3) we can find a minimum capacity cut separating r from 5 in polynomial
time. As we can find an optimum solution to (7.1.3) with the ellipsoid method, it
follows that we can find a minimum capacity cut in polynomial time. Actually,
also the maximum flow algorithm of Ford and Fulkerson yields, as a by-product,
a minimum cut.
Note that every cut separating r from s defines a feasible {0, l}-solution of
(7.1.3), and a minimum cut defines an optimum solution. Thus (7.1.3) always
has an integral optimum solution. So, similarly to (7.1.1), adding integrality
conditions to (7.1.3) does not change the optimum value.
The example of flows and cuts discussed above is an instance of a more
general phenomenon: total unimodularity of matrices. A matrix M is called
totally unimodular if every square submatrix of it has determinant 0, +1, or 1.
In particular, each entry of M is 0, +1, or - 1. There are quite a number of
useful characterizations of totally unimodular matrices - see SCHRIJVER (1986)
for a survey. For our purposes, the following observation - due to HOFFMAN and
KRUSKAL (1956) - is of special interest.
(7.1.5) Theorem. IfM is a totally unimodular matrix and b is an integral vector,
then for each objective function c the linear programming problem
max{c
r
x | Mx < b}
has an integral optimum solution (provided the maximum is Unite).
Proof. If the maximum is finite, M has a submatrix M' with full row rank so that
each solution of M'x = b' is an optimum solution of the linear program (here
V denotes the sub vector of b corresponding to M'). Without loss of generality
M' =(Mi,M
2
) with Mi nonsingular. Then
* - (V)
is an optimum solution, which is integral, since M^
{
is an integer matrix by the
total unimodularity of M. ^
200 Chapter 7. Combinatorial Optimization: Some Basic Examples
If M is totally unimodular then the matrices M
T
, M, (M,M), (7,M),
(/,/,M,M), and M~
{
(if M is nonsingular) and all submatrices of M are also
totally unimodular. Theorem (7.1.5) thus yields that each of the following linear
programs has integral optimum solutions (for integral vectors /, u, b, b', and c)
(7.1.6) max{c
r
x | Mx < b,x > 0} =min{y
T
b | y
T
M >c
T
,y> 0},
max{c
r
jc | Mx =b,x > 0} =min{y
T
b | y
T
M > c
T
),
max{c
T
x | b
f
< Mx <b, / <x < u).
This implies that the constraint systems of all linear programs in (7.1.6) are
totally dual integral and thus totally primal integral - see Section 0.1. Note
also that Theorem (7.1.5) implies that each face of P := {x \ Mx < b} contains
integral vectors. (Polyhedra with this property are called integral.) So if P
has vertices, all vertices are integral. Therefore, if the linear program stated in
Theorem (7.1.5) has a finite optimum solution and the polyhedron P has vertices
(this is equivalent to: M has full column rank) then we can find an integral
optimum solution with the ellipsoid method. (If P has no vertices we can also
find an optimum solution by adding appropriate upper and lower bounds on
the variables. More generally, for any integral polyhedron P we can proceed in
polynomial time, as follows. We find a system of equations Cx d determining a
minimal face of the optimum face with the algorithm of Corollary (6.5.9). Then
we can find an integral vector in this minimal face with the algorithm of (1.4.21).)
Totally unimodular matrices come up in some combinatorial problems. A
prime example is the incidence matrix M of a digraph D = (V, A). M is a matrix
whose rows are indexed by the nodes and whose columns are indexed by the
arcs of D. An entry M
va
of M is equal to 1 if v is the head of a, is equal to
1, if t? is the tail of a, and is 0 otherwise. Note that the matrix of the equation
system in (7.1.1) is obtained from the incidence matrix of D by deleting the rows
corresponding to the source r and the sink s. Then Theorem (7.1.5) gives that, if
the capacities are integral, the optimum flow can be chosen to be integral.
For an undirected graph G =(V,E), the incidence matrix M has || columns
and | V | rows, and an entry M
ve
is equal to 1 if node v is an endnode of edge
e, and is 0 otherwise. If G contains an odd cycle, then the incidence matrix of
this cycle is a nonsingular square submatrix of the incidence matrix of G with
determinant +2 or 2. In fact, it is easy to see by induction that the incidence
matrix M of a graph G is totally unimodular if and only if G contains no odd
cycle, i. e., if and only if G is bipartite. This observation goes back to EGERVARY
(1931).
Another interesting class of totally unimodular matrices consists of those
matrices that have the consecutive-ones-property. These are matrices A in which
every row At. looks like At. = (0, ..., 0,1, ..., 1,0, ..., 0), i. e., there are at
most three strings of equal numbers, the first string is a string of zeros which is
followed by a string of ones which is followed by a string of zeros. (Some of the
strings can be empty.)
SEYMOUR (1980a) gave a characterization of totally unimodular matrices
showing that all totally unimodular matrices arise by applying certain operations
7.2 Arborescences 201
to incidence matrices of digraphs and to two special 5 x 5-matrices. This char-
acterization can be used to determine in polynomial time whether a matrix is
totally unimodular or not. Thus, totally unimodular matrices are algorithmically
"well under control". The fastest method for testing total unimodularity known
at present is the algorithm of TRUEMPER (1987).
7.2 Arborescences
The example of maximum flows and minimum cuts (or more generally, of
totally unimodular matrices) is not typical for the combinatorial applications
of the ellipsoid method. These problems can be formulated as explicit linear
programs and therefore their polynomial time solvability follows already from
the polynomial time solvability of explicitly given linear programs. So in these
cases the power of the ellipsoid method as described in the foregoing chapters
is not fully exploited. In this and the next sections we shall see some more
illustrative examples.
Let D =(V,A) be a digraph, let r e V be a fixed node, called the root. A set
A' of arcs is called an arborescence rooted at r or an r-arborescence if the arcs
in A' form a spanning tree of D and every node different fromr is the head of
exactly one arc inA!. So for every node s e V, A' contains a unique directed path
fromr to s. A set C c A is called a cut rooted at r, or an r-cut, if C =S~(V) for
some nonempty subset V of V \ {r}. Note that an r-cut may contain another
one as a subset, and sometimes we will consider (inclusionwise) minimal r-cuts.
The arborescences and minimal cuts rooted at r are related by the following
so-called blocking relation. The r-arborescences are exactly the (inclusionwise)
minimal sets intersecting all r-cuts, and conversely: the minimal r-cuts are
exactly the minimal sets intersecting all r-arborescences. We shall elaborate on
this relation in a general setting in Section 8.1.
Let a digraph D = (V,A) with root r e V and a "length" c
a
> 0, for every
arc a, be given. The shortest r-arborescence problem is to find an arborescence
A! rooted at r such that c(A') :=J^, c
a
is as small as possible. Polynomial
time algorithms for this problem have been designed by CHU and Liu (1965),
EDMONDS (1967a) and others. To apply the ellipsoid method to this problem, we
have to find a linear programming formulation of it.
To this end, we associate with every arc a e A a variable x
a
. Let IR/
4
be the
vector space of mappings fromA into R. As usual, we view the elements of 1R/
4
as vectors whose components are indexed by the elements of A, For each subset
B c ^we define its incidence vector x
B
= (Xa)aeA eR'
4
by
B
_ f 1 if a e B
la
~ { 0 if a B.
The length function c : A -+Q+ is also an element of R-
4
, and for every
r-arborescence , c(B) = c
T
i
B
.
First we formulate our problem as an integer linear program. So we are
looking for a set of inequalities whose integral solutions are exactly the incidence
202 Chapter 7. Combinatorial Optimization: Some Basic Examples
vectors of r-arborescences. The observation that each r-arborescence intersects
each r-cut suggests the following integer linear programming formulation:
(7.2.1) min c
T
x
x(S-(W))>\ for all 0 W c v \ {r},
0 <x
a
< 1 for all ae A,
x
a
integer for all ae A.
Since every r-arborescence intersects every r-cut, the incidence vector of any
r-arborescence is a feasible solution for (7.2.1). Conversely, if x* is an optimum
solution for (7.2.1) then the set {a e A \ x*
a
= 1} contains an r-arborescence,
since it is a set intersecting all r-cuts. Hence x* > x
B
for some r-arborescence B.
In fact, x* must be equal to %
B
since otherwise c
T
x* > c
T
x
B
(as c is positive)
contradicting the fact that x* attains the minimum of (7.2.1). Therefore, the
minimum of (7.2.1) is achieved by the incidence vector of an r-arborescence, and
thus, (7.2.1) is equivalent to the shortest r-arborescence problem.
EDMONDS (1967a) showed that one may skip the integrality condition in
(7.2.1) without changing the minimum. That is, (7.2.1) has the same optimum
value as the following linear programming problem
(7.2.2) min c
T
x
x{S-(W))>\ for all 0 W <=V \ {r},
0 <x
a
< 1 for all ae A.
In other words, Edmonds showed that the feasible region of (7.2.2) is exactly the
polytope
ARB(D) :=conv{#
5
e R/
4
\ B contains an r-arborescence }.
So we could try to solve (7.2.2) (and hence (7.2.1)) with LP-techniques.
However, just to write down the linear program (7.2.2) takes exponential time
and space. Yet the ellipsoid method applies, since we can solve the strong
separation problem for the polytopes ARB(D) in polynomial time.
To see this, let y be a vector in Q*
4
. We first test whether 0 <y
a
< 1 for
all a e A. This clearly can be done in polynomial time, and if one of these
inequalities is violated we have a hyperplane separating y from ARB(D). If y
satisfies 0 <y
a
< 1 then we continue as follows. Consider y as a capacity function
on the arcs of D. For every node s^rwe determine an (r,5)-cut C
s
of minimum
capacity. In Section 7.1 we saw that this can be done in polynomial time, e. g.,
with the Ford-Fulkerson algorithm or the ellipsoid method. Now it is easy to see
that
min{y(C
s
) \seV\ {r}} =min{y(<T(W0) I 0 * W c V \ {r}}.
So by calculating \V\ 1 minimum capacity (r,s)-cuts, we can find a minimum
capacity r-cut, say S~(W*). If y(S~(W*)) > 1, all r-cut constraints of (7.2.2)
are satisfied, and hence we conclude that y belongs to ARB(D). Otherwise, the
7.3 Matching 203
inequality x(S~(W*)) > 1 is violated by y and a separating hyperplane is found.
As the vertices of ARB(D) are {0,1}-vectors, by Theorem (6.4.9) we know that
the class of problems (7.2.2) can be solved in polynomial time, and since we can
find an optimum vertex solution of (7.2.2) by Lemma (6.5.1) we thus can find the
incidence vector of an optimum r-arborescence in polynomial time.
The above shows that from the polynomial time solvability of the minimum
capacity r-cut problem we can derive the polynomial time solvability of the min-
imum length r-arborescence problem, using the ellipsoid method and polyhedral
combinatorics. In Chapter 8 we shall see that this derivation can also be made
the other way around: From the polynomial time solvability of the minimum
length r-arborescence problem the polynomial time solvability of the minimum
capacity r-cut problem follows. This is essentially due to the equivalence of the
strong optimization problem and the strong separation problem for polyhedra
- see Chapter 6. It is a special case of a more general duality relation between
certain combinatorial optimization problems where the polynomial solvability
of one class of combinatorial optimization problems follows from that of the
class of dual problems, and conversely. This duality phenomenon is often based
on the theory of blocking and antiblocking polyhedra - see Section 8.1 and
Chapter 9. Other examples are the duality of the shortest (r,s)-path problem and
the minimum capacity (r,s)-cut problem, of the shortest directed cut covering
problem and the minimum capacitated directed cut problem, and of the weighted
matching problem and the minimum capacitated odd cut problem. The last pair
of problems is considered in the following section.
7.3 Matching
In the foregoing section we demonstrated one major approach to handle a com-
binatorial optimization problem. The problem was formulated as an integer
linear program in which the integrality stipulations turned out superfluous. How-
ever, most combinatorial optimization problems have a "natural" integer linear
programming formulation where skipping the integrality conditions does change
the optimum value. This can always be repaired by adding some additional
inequalities, called "cutting planes". But in many cases these extra constraints
are difficult to describe explicitly. What is even worse for our purposes, it is
usually hard to check whether a given point satisfies them. This prohibits the
use of the ellipsoid method for deriving the polynomial time solvability of many
combinatorial optimization problem. (We will make some further comments on
this matter in Section 7.7.) In this section, however, we shall give an example
where this approach does work.
Let G =(V,E) be an undirected graph with an even number of nodes. An
edge set M is called a perfect matching if every node of G is contained in
exactly one edge in M. The problem whether a given graph contains a perfect
matching is a classical problem in graph theory. For the bipartite case it has been
solved by FROBENIUS (1917).
204 Chapter 7. Combinatorial Optimization: Some Basic Examples
(7.3.1) Frobenius' Marriage Theorem. A bipartite graph G with bipartition A,
B of the node set V has a perfect matching if and only if\A\ \B\ and each
X c A has at least \X\ neighbours in B.
It is not difficult to derive this result from the Max-Flow Min-Cut Theorem
(7.1.4). The general case was characterized by TUTTE (1947).
(7.3.2) Tutte's Perfect Matching Theorem. A graph G has a perfect matching if
and only if for each X ^ V the graph G X has at most \X\ components with
an odd number of nodes.
In combinatorial optimization, besides the existence of perfect matchings one
is interested in finding an optimum perfect matching.
Given, in addition to G, a weight function c : E -* Q, the minimum weighted
perfect matching problem is to find a perfect matching M in G of minimum
weight c(M). EDMONDS (1965b) designed a polynomial time algorithm for this
problem. We show here that the polynomial time solvability also follows from
the ellipsoid method.
The perfect matching problem is easily seen to be equivalent to the integer
linear programming problem
(7.3.3) min V c
e
x
e
eeE
x(S(v)) = \ for all veV,
x
e
>0 for all eeE,
x
e
e TL for all eeE.
Here 3 (v) denotes the set of edges incident to v.
Note that the matrix of the equation system of (7.3.3) is the incidence matrix
of G. We have mentioned in Section 7.1 that this matrix is totally unimodular if
and only if G is bipartite, thus:
(7.3.4) IfG is bipartite, then we can drop the integrality conditions from (7.3.3).
In general, however, we cannot simply drop the integrality constraints without
changing the optimum value. E. g., if G is the graph shown in Figure 7.1 with
weights as indicated, then (7.3.3) has optimum value 4 while its "LP-relaxation"
(i. e., the program (7.3.3) without integrality stipulations) has optimum value 3.
Figure 7.1
7.3 Matching 205
To apply LP-techniques to the solution of the perfect matching problem, we
have to study the so-called perfect matching polytope PM(G) of G, which is the
convex hull of the incidence vectors of perfect matchings in G, i. e.,
PM(G) :=conv{*
M
e IR
E
| M perfect matching in G}.
So PM(G) is equal to the convex hull of the feasible solutions of (7.3.3). It is
clear that min{c
r
x | x e PM(G)} is equal to the minimum weight of a perfect
matching in G. To write (7.3.3) as a linear program, we need to describe PM(G)
by a system of linear inequalities. This was done by EDMONDS (1965b):
(7.3.5) Edmonds
9
Perfect Matching Polytope Theorem. The perfect matching
polytope PM(G) ofa graph G =(K, E) is determined by the following inequalities
and equations:
(i) x(S(v))= 1 for all veV,
(ii) x(S(W)) > 1 for all W c V with \W\ odd,
(iii) x
e
> 0 for all e e E.
(The sets 6(W) ={ij e E \ i e WJ e V \ W) are called cuts, and the sets
6(W) with \W\ odd are called odd cuts; therefore, the inequalities (ii) are called
odd cut constraints.)
Proof. Let P be the polytope defined by the constraints (i), (ii), and (iii). It is
clear that the incidence vectors of the perfect matchings of G satisfy (i), (ii), and
(iii), hence PM(G) ^p.
To show P c PM(G), suppose to the contrary that G = {V,E) is a graph
such that P PM(G), and moreover, that \V\ +1| is as small as possible. Then
P must have a vertex x, say, that is not in PM(G).
Our assumption implies that 0 <x
e
< 1 for all e e E, since otherwise we
could delete from G the edge e, and, if x
e
= 1, also the two endnodes of e
and obtain a smaller counterexample. Moreover, G has no isolated nodes, as
they could be removed; also G has no node of degree 1, since then the edge e
containing this node would have x
e
=1 by (i). Finally, not all nodes of G have
degree 2 as this would imply that G is the disjoint union of cycles for which the
theorem obviously holds. It follows that || > \V\.
As x is a vertex, there are |E| linearly independent constraints among (i), (ii)
which are satisfied by x with equality. Hence there is a subset W c V of odd
size such that x(6(W)) = 1, \W\ > 3, and \V \ W\ > 3. Now we contract V \ W
to a single new node, say u, to obtain G
r
= (W U {u},E'). Define x
r
e Q

' by
x'
e
:= x
e
for all e e E{W), and x'
wu
:=Y.
ve
v\W^E
X

f or a11 w e w
- (
We cal 1
*'
the projection of x on G') It is easy to see that x' satisfies (i), (ii), and (iii) with
respect to G'. As G is a smallest counterexample, we know that x' e PM(G') and
thus x' is a convex combination of incidence vectors of perfect matchings M' in
G', say x
l
=
M
, X
M
>x
M
'
Similarly, by contracting W to a single neyy node, say U we obtain a graph
G" = ((V \ W) U {t},E") and a vector x" G Q

', which by the same reasoning is


206 Chapter 7. Combinatorial Optimization: Some Basic Examples
contained in PM(G"). Let x" = Y^M" ^M"X
M
\ where M" ranges over all perfect
matchings in G".
Now for each perfect matching M in G with \M C\8(W)\ = 1, let M' and M"
denote the associated perfect matchings in G' and G" obtained by contraction.
Then
eed{W) M perfect matching
e
with MC\5{W)={e}
We leave it to the reader to show that this equality holds and that it represents
x as a convex combination of incidence vectors of perfect matchings in G. This
contradicts our assumption that x is not in PM(G).
This theorem can be used to obtain a good characterization of those graphs
having a perfect matching. Namely, a graph G has no perfect matching if and
only if its perfect matching polyhedron PM(G) is empty. By the Farkas lemma
(0.1.41) this is equivalent to the existence of real numbers ("multipliers") X
v
(v e V) and \iw >0 (W ^V and \W\ odd) such that for each edge e e E
(7.3.6) ko + iiw < 0,
veV W^V
eed(v) eed(W),\W\odd
but
(7.3.7) 2, + / ^>0.
yeK W^V\W\ odd
How does this condition relate to Tutte's, given in (7.3.2)? If Tutte's condition is
violated then such multipliers are easily obtained as follows. Suppose there exists
a Tutte-set, i. e., a set X ^y such that G X has odd components W\
9
..., W
t
with t >|X|. Then we set
X
v
:=1 if i? G X,
/i^. := 1 for i =1, ..., r,
and set all other multipliers equal to zero. Then the conditions (7.3.6) and (7.3.7)
are satisfied. Conversely, from any solution of (7.3.6) and (7.3.7) we can obtain a
Tutte-set. However, the argument is quite complicated and we omit it.
Edmonds' perfect matching polyhedron theorem (7.3.5) immediately implies
that the minimum perfect matching problem (and thus also the integer linear
program (7.3.3)) is equivalent to the linear programming problem
(7.3.8) mi nc
r
x
(i) x(S(v))= 1 for all veV,
(ii) x(S(W)) > 1 for all W K, \W\ odd,
(iii) x
e
> 0 for all e e E.
7.3 Matching 207
So the odd cut constraints give us the cutting planes to be added to (7.3.3) to
transform (7.3.3) to a linear program. As in the previous section, we cannot view
this as an explicit linear program since there are exponentially many constraints.
But again the ellipsoid method can be applied if we have a polynomial time
algorithm to test the constraints. Such an algorithm indeed exists.
For a given point y e Q

, we can check (i) and (iii) in polynomial time by


substitution. So we may assume that y satisfies (i) and (iii). Then the problem
to check (ii) can be formulated as follows. Consider the values y
e
, e e E, as
capacities on the edges of G. The task is to decide whether there is an odd cut
S(W) of capacity y(S(W)) less than 1. This is clearly equivalent to finding a
minimum capacity odd cut. A polynomial time algorithm to solve this problem
was first designed by PADBERG and RAO (1982). It is convenient to describe an
algorithm which solves a more general problem.
Let a graph G = (V,E) be given and a set 0 + T V with \T\ even. A T-cut
is a set of edges of the form d(W) with \T f! W\ odd. Thus odd cuts are just
K-cuts (if | V | is even, what we have assumed for the perfect matching problem).
Now the more general problem, called minimum weighted T-cut problem, is:
"Given a capacity function y : E ->Q
+
on the edges of G, find a minimum
capacity 7-cut".
First we remark that one can find in polynomial time a minimum capacity
cut 3(U) with U fl T 0 and T \ U + 0, i. e., a cut separating T. To see this, we
transform G into a digraph D replacing each edge ij e E with capacity y
t
j by two
arcs (ij) and (j,i) both with capacity y
t
j. Then we run the algorithm to find a
minimum (r,s)-cut in D for all pairs r,se T,r ^s, described in Section 7.1. This
way we get a minimum capacity cut in D separating T, which by construction
yields a minimum capacity cut in G separating T, say S(U).
If \T fl U\ is odd, we are done. So let us suppose that \T fl U\ is even.
(7.3.9) Lemma. There exists a minimum capacity T-cutS{W) in G with U e W
orW c[ / .
Proof. Let d(W) determine any minimum capacity T-cut. As \W fl T\ =
\W (1 T 0 U\ +\W fl T fl (V \ U)\ is odd, we may assume that \W'nT(MJ\
is even (otherwise replace U by its complement and note that the statement of
the lemma is invariant under taking the complement of U). Furthermore, since
\U fl T\ =\U fl T n W'\ +\U fl T fl (V \ W')\ is nonzero we may assume that
\U D T n W'\ is nonzero (otherwise replace W by its complement). Note that
1(1/ u W) n T\ = \u n T\ + \w n T\ - \u n w n n
is odd. The following inequality is easy to verify:
(7.3.10) y(S(U U W')) + y(d(U 0 IV')) < y(S(U)) + y(8{W)).
But
y{d{UUW'))>y{d{W%
since S(W) is a minimum capacity T-cut, and
y(d(Uf)W'))>y(S(U)),
208 Chapter 7. Combinatorial Optimization: Some Basic Examples
since S(U) is a minimum capacity cut separating T. Hence we must have equality
in (7.3.10) and the two subsequent inequalities. In particular, this shows that
W \ U U W determines a minimum capacity T-cut.
This lemma shows that, if | T f! U | is even, then the problem of finding a
minimum capacity T-cut in G can be reduced to two smaller problems. Namely,
let G' and G" be the graphs obtained from G by contracting U and V \U
9
respectively, let T :=T\U
9
T" :=TCMJ, and let y' and y" be the corresponding
projections of y on G and G". Find a minimum capacity 7"-cut in G and a
minimum capacity r"-cut in G". By Lemma (7.3.9) the smaller of these two cuts
will correspond to a minimum capacity T-cut in G.
This defines a polynomial time algorithm inductively. In fact, let p((y)
y
\V\)
be a polynomial upper bound on the time needed to find a minimum capacity cut
S(U) separating T together with the time needed to carry out the contractions.
We showed above that such a polynomial exists. Then it follows by induction on
\T\ that the whole algorithm needs at most (\T\ l)p((y), \V\) time.
This completes the description of the algorithm for finding a minimum
capacity 7-cut. It shows in particular that we can find a minimum capacity odd
cut in polynomial time. Therefore, we can solve the separation problem for the
perfect matching polyhedron in polynomial time. And hence, by the ellipsoid
method, the weighted perfect matching problem can be solved in polynomial
time.
Moreover, we can also decide in polynomial time whether a given graph has
a perfect matching. If the answer is yes, we can actually find a perfect matching,
i. e., a vertex of PM(G). If the answer is no, then the methods of Chapter 6 yield
a solution of (7.3.6), (7.3.7). (One can use this solution to obtain a Tutte-set in
polynomial time, but this procedure is rather involved.)
7.4 Edge Coloring
There are some combinatorial optimization problems that do not have a natural
formulation as an optimization problem over nice polytopes. One class of
examples consists of coloring problems. As an illustration, we consider the edge
coloring problem for graphs.
Let G =(V,E) be a graph. An edge coloring of G is a coloring of the edges
of G so that no two adjacent edges have the same color. Equivalently, an edge
coloring is a partition of the edge set into matchings (since clearly all edges with
the same color form a matching). The edge coloring number (or chromatic index)
y(G) is the minimum number of colors in any edge coloring of G.
It is again a classical problem of graph theory to determine y(G). HOLYER
(1981) proved that this problem is J ^-complete. Clearly, the following inequality
holds between the maximum degree A(G) and the chromatic index y(G) of any
graph:
(7.4.1) A(G) <y(G),
7.4 Edge Coloring 209
and the triangle K
3
shows that strict inequality may occur. On the other hand
VIZING (1964) proved that for every simple graph G:
(7.4.2) y(G) <A(G) +1.
So, for a simple graph G, y(G) is either equal to A(G) or equal to A(G) +1 (this
makes Holyer's result surprising). KONIG (1916) showed that for bipartite graphs
equality holds in (7.4.1).
(7.4.3) Konig's Edge Coloring Theorem. If G is a bipartite graph then the
maximum degree A(G) is equal to the edge coloring number y(G).
Since the maximum degree A(G) of a graph can be computed trivially, the edge
coloring number y(G) of a bipartite graph G can be determined in polynomial
time. Konig's original proof of (7.4.3) (using alternating path techniques) also
provides a polynomial time algorithm to find an explicit optimum edge coloring.
To formulate the edge coloring problem for bipartite graphs as a linear
program over a polyhedron is not immediate. In order to explain the difficulty let
us first formulate the maximum degree problem as a linear program (even though
this problem is trivial). The problem is to find a maximum cardinality star in
a graph G = (V,E). (A star is an edge set in which all edges have a common
endnode.) It is easy to see that for a bipartite graph the incidence vectors of stars
are just the integral solutions of the following system of linear inequalities:
V x
e
< 1 for all matchings M c E.
eeM
x
e
> 0 for all e e ,
So the maximum degree in a bipartite graph G is the optimum value of the
integral solutions of the following linear program
(7.4.4) maxi
r
x
V x
e
< 1 for all matchings M c
?
eeM
x
e
>0 for all e e E.
The dual of (7.4.4) is
(7.4.5) mmy
T
t
V y\i > 1 f
r a
H e e E,
Mae
y>M > 0 for all matchings M E.
Note that every edge coloring of G yields an integral solution of (7.4.5). So if we
denote the common optimum value of (7.4.4) and (7.4.5) by /z, then we have
A(G) <A* <V(G).
210 Chapter 7. Combinatorial Optimization: Some Basic Examples
Konig's edge coloring theorem (7.4.3) implies that for bipartite graphs we
have equality above. Equivalently, for bipartite graphs, (7.4.4) and (7.4.5) both
have optimum solutions which are integral. By a similar argument we can show
that for bipartite graphs, the feasible region of (7.4.4) has only integral vertices.
This is not true for the feasible region of (7.4.5). Consider the bipartite graph G
of Figure 7.2. The four matchings {a,c,e}, {a,d,f}, {6,c,/}, {b,d,e} of G taken
with coefficient \ and all other matchings of G with coefficient 0 form a vertex
of the feasible region of (7.4.5) for G.
Figure 7.2
Let us see what the general results obtained by the ellipsoid method give us in
this situation.
Suppose G is a bipartite graph. First of all, we can maximize any linear
objective function c
T
x over the feasible region of (7.4.4) by inspecting the sets
8(v)
9
v e V(G). Hence, by the general methods developed in Chapter 6 we can
find a basic optimum solution of the dual problem (7.4.5). Unfortunately, this
basic optimum solution need not be integral. Even though we do know that
there is a basic integer optimum solution for (7.4.5), we do not know a general
method to find it.
But in this special case (and some other cases that we will describe later) we
can find additional properties of the linear programs which enable us to construct
an optimum integral solution from an optimum solution. Here is one such trick:
Let y be any optimum solution of (7.4.5), and let M be a matching of G
with y
M
> 0. Then by complementary slackness - see (0.1.50) - M intersects
each maximum size star, as each such star gives an optimum solution for the
primal problem (7.4.4). So A(G M) = A(G) 1. Deleting M and repeating this
procedure we obtain a collection of A(G) matchings partitioning the edges of G,
i. e., we obtain in polynomial time a minimum edge coloring of the bipartite
graph G.
7.5 Matroids
Matroids are combinatorial abstractions of linear dependence in vector spaces
and of certain aspects of graphs. They appear to become more and more
central objects in combinatorics, especially in combinatorial optimization and
combinatorial geometry. For an introduction to the subject we recommend
7.5 Matroids 211
WELSH (1976), and for applications, see BIXBY (1982), IRI (1983), and RECSKI
(1988). Here we discuss only some polyhedral and optimization aspects of
matroids.
A matroid is a pair (, J) where is a finite set and / i sa set of subsets of
E satisfying
(7.5.1) QeJ,
(7.5.2) IfT eJ andS ^T then S eJ?,
(7.5.3) If S, T eJ and \T\ > \S\ then there exists an element teT\S such
that SU{t}e Jf.
The elements of J> are called the independent sets of the matroid. Three standard
examples of matroids are the following.
(7.5.4) Linear Matroids. is a finite set of vectors in a linear space and / is
the collection of linearly independent subsets of E. In this case axiom (7.5.3) is
equivalent to the Steinitz exchange property.
(7.5.5) Graphic Matroids. E is the set of edges of an undirected graph G and J
is the collection of all forests in G.
(7.5.6) Transversal Matroids. Let G = (V,E) be a bipartite graph with biparti-
tion {U, W). Let J be the collection of subsets of U covered by some matching
in G. Then (U,^) is a matroid.
A simple special case is obtained when all degrees in U are 1. Then the
components of the bipartite graph are stars which induce a partition {U\, ..., Uk}
of U, and U' U is independent if and only if \U' PI Ui\ < 1 for i = 1, ..., fc.
These matroids are called partition matroids.
If (, J) is a matroid and F c E, then all maximal independent subsets of F
have the same cardinality, by (7.5.3). These maximal independent subsets of F
are called the bases of F, and their cardinality is called the rank of F, denoted
by r(F). The rank function has the following properties.
(7.5.7) r(0) =0,
(7.5.8) S <=r implies r(S) < r(T),
(7.5.9) r{S) < |S | for all S <=,
(7.5.10) r(S UT) + r(S fl T) < r(S) + r(T) for all S,T c E.
Note that S e J if and only if r(S) = \S\
9
so a matroid is uniquely determined
by its rank function. Property (7.5.8) is called monotonicity, property (7.5.9)
subcardinality, and property (7.5.10) submodularity. One can show that every
integer valued function r : 2
E
->TL that satisfies (7.5.7) - (7.5.10) is the rank
function of a (unique) matroid. (An example of a submodular function that
212 Chapter 7. Combinatorial Optimization: Some Basic Examples
does not satisfy (7.5.8) and (7.5.9) is the function / : 2
V
- R that associates
with every node set W ^V of a graph G = (V,E) with edge capacities c
e
,
e e E, the capacity f{W) :== c(S(W)) of its cut.) Generalizing the well-known
techniques of deleting and contracting edges of a graph we define deletion and
contraction of an element e e E in a matroid (E, J) as follows. Deletion of e
results in the matroid (E \ {e},JV\ 2
E
^). Contraction of e results in the matroid
(E \ {e},{S \{e} \ e e S 6 J}) if {e} e J, and in the matroid (E \ {e},J) if
{e} $ J'. Deletion leaves the rank function on subsets of E \ [e] unchanged, while
contraction of e yields the following rank function:
r'(F):=r(FU{e})-r({e}), F ^E\{e}.
These operations are very helpful in inductive proofs.
Matroids are important for combinatorial optimization, since a maximum
weighted independent set can be found by a very elementary algorithm, called
the greedy algorithm. Let {E
9
J) be a matroid and c : E -+ Q
+
be a weight
function. The problem is to find an independent set of maximum weight. The
following method works.
(7.5.11) Greedy Algorithm.
(i) Choose an element e\ e E such that {e\} e J and c(e\) is maximal.
(ii) Assuming thate\, . . . , e, are chosen, choosee
i+
i in E \{e\, ..., e
t
} such that
{e\
9
..., j+i} e / and c(e
i+
\) is maximal.
(iii) Repeat (ii) until no such e
i+
i exists.

(7.5.12) Theorem. The greedy algorithm ends up with a set {e\
y
..., e
r
) e J of
maximum weight
Proof. By axiom (7.5.3) it is clear that the greedy algorithm produces a basis of E.
So r =r{E). Suppose that the greedy algorithm does not work, i. e., that there is
a set {/i,..., f
t
} e J with larger weight than the greedy solution. As r =r(E) we
have t < r. Without loss of generality let c(f) > ... > c{f
t
). As c({f\,..., f}) >
c({e\,..., e
r
}) there is an index j , 1 <j < t with c(f) > c(ej). By axiom (7.5.3)
applied to {/i,...,//} and {e\
9
..., ^_i} there is an index / with 1 <i < j such
that f $ {e
u
, ej-i} and {e
u
. . . , e
HU
fi] 6 J. But c{f) > c(fj) > c(ej)
9
which
contradicts the choice of e
}
. D
It can be shown that matroids are exactly those structures (,</) satisfying
(7.5.1) and (7.5.2) for which the greedy algorithm gives a maximum independent
set in J for every weight function c : E -* Q+.
To discuss the running time of the greedy algorithm we should first understand
how a matroid is given. Clearly, if it is given by listing all its independent
sets, it is trivial to find an optimum independent set by scanning through this
list. This trivial algorithm is polynomial (even linear) in the encoding length.
In our examples (7.5.4), (7.5.5), (7.5.6), however, the matroids are given in a
7.5 Matroids 213
much more compact form, viz. by a matrix, a graph, and a bipartite graph,
respectively. Then enumerating all independent sets would of course require
running time exponential in the encoding length of this compact input. The
greedy algorithm, however, works in polynomial time, given that any set can be
tested for independence in polynomial time.
This is indeed the case in our examples. For linear matroids (7.5.4) we need
to check whether a set of vectors is linearly independent, and this can be done by
Gaussian elimination. For graphic matroids (7.5.5) we can decide by depth-first
search whether a set contains no cycle (i. e., is a forest), and for transversal
matroids (7.5.6) we can test whether a subset of U is covered by some matching
with the help of the maximum flow algorithm of Section 7.1 or the matching
algorithm of Section 7.3.
One might think that to describe a matroid by listing all its independent sets
is an uneconomical way to do. But in general one cannot do much better. It
is known that there are at least 2
2
" matroids on n elements, and so for any
encoding there would be n-element matroids with code length at least 2
n/2
.
So, to get nontrivial algorithmic results about matroids we define the encoding
length of a matroid as the number of the elements of E. In the running time of
a matroid algorithm we count an independence testing as one step. That is, we
assume that the matroid is given by some oracle that can be asked if a given set
is independent or not. In this model the greedy algorithm is oracle-polynomial.
As in the previous sections we can formulate the matroid optimization prob-
lem in terms of polyhedra. For any matroid M = {E,J>) let IND(M) be the
convex hull of the incidence vectors of independent sets of M, i. e.,
IND(M) :=conv{/ eWL
E
\I eJf}.
IND(M) is called the matroid polytope of M. Then the matroid optimization
problem is equivalent to finding max{c
r
x | x e IND(M)}. Of course, we
know how to solve this (by the greedy algorithm), but yet it will be interesting
to formulate this problem as a linear programming problem. The following
inequalities, for vectors x e R

, are trivially satisfied by the incidence vectors of


the independent sets of M :
(7.5.13) x
e
>0 for all eeE,
(7.5.14) x(F) < r{F) for all F E.
EDMONDS (1970, 1971) proved that these inequalities suffice:
(7.5.15) Theorem. For every matroid M = (E,J), IND(M) is the set of all
vectors x e R

satisfying (7.5.13) and (7.5.14).


Proof. Without loss of generality we may assume that each singleton {e} is
independent in M. Then IND(M) contains all unit vectors and the zero vector -
hence IND(M) has full dimension ||.
Let a
T
x < b be an inequality defining a facet of IND(M). We want to show
that a
T
x < b is a positive multiple of one of the inqualities (7.5.13) or (7.5.14).
214 Chapter 7. Combinatorial Optimization: Some Basic Examples
Suppose first that a
e
< 0 for some e e E. If there is a set / e J with eel
and a
T
x
l
=b, then J := I \ {e} e J and a
T
x
J
> b which contradicts the validity
of a
T
x < b. Hence x
e
=0 holds for all points of the facet IND(M) fl {x e R

|
a
T
x =6}. Thus, this is the same facet as IND(M) H {x \ x
e
= 0}, which implies
that a
T
x < b is a positive multiple of x
e
<0.
Suppose now that a
e
> 0 for all ee, and set F :={e e E \ a
e
> 0}. We
claim that a
T
x < b is a positive multiple of x(F) <r(F). To prove this we show
that if / e J and a
r
/
7
=b then y}(F) r(F), i. e., / fl F is a basis of F. For,
suppose there is an element f e F \I such that /' :=(/ fl F) U {/} e J'. Then
a
r
/
7
=a
1
x
1
+
a
f>
aT
l
l
= b, contradicting that a
T
x < b is a valid inequality
for IND(M).
Now that we have a description of IND(M) by linear inequalities we could
try to replace the greedy algorithm by the ellipsoid method. But there is no
obvious way known to check whether a vector y e d^ satisfies the inequalities
(7.5.13) and (7.5.14).
We can, however, use the ellipsoid method the other way around: since we
can solve the strong optimization problem for IND(M) in polynomial time by the
greedy algorithm, we can also solve the strong separation problem for IND(M)
in polynomial time - see Theorem (6.4.9). That is, we can test in polynomial time
whether a given nonnegative vector yeQ

satisfies y(F) < r(F) for all F ^ E.


This algorithm for testing membership in IND(M), resulting from the ellipsoid
method, is far from being practical - it shows just the polynomial solvability
of this problem. CUNNINGHAM (1984) designed a direct combinatorial algorithm
for the separation problem for matroid polytopes based on augmenting path
techniques.
The above can be extended considerably by considering intersections of ma-
troids. Many combinatorial structures can be viewed as the common independent
sets (or common bases) of two matroids. For instance, the set of r-arborescences
in a digraph D = (V
9
A) is the set of common bases of the graphic matroid of the
underlying undirected graph of {V,A \ d~(r)) and the partition matroid coming
from the partition {S~(v) \ v e V \ {r}} of A \ S~(r). Furthermore, matchings in
a bipartite graph are the common independent sets of two partition matroids.
If Mi =(E^i) and M
2
=(E,J
2
) are two matroids on the same ground set E,
their intersection is the pair M\ fl M2 :={E,J\ H^)- In general this intersection
is not a matroid; nevertheless, as was detected by Edmonds, two nice properties
are maintained: the polynomial time solvability of the optimization problem over
J\ fl J1 and the linear description of the associated polytope. Let us consider
the polytope associated with the intersection of two matroids, defined as follows:
IND(Mj fl M
2
) :=conv{*
7
| / e J
x
fl J
2
}.
EDMONDS (1970) proved the following theorem.
(7.5.16) Theorem. Let M\,Mi be two matroids on the same ground set E. Then
IND(Mj HM
2
) =IND(Mj) fl IND(M
2
),
7.5 Matroids 215
/. e., IND(Mi H M
2
) is determined by the inequality system
(i) x
e
> 0 /or a// e e E,
(ii) x(F) < min{n(F),r
2
(F)} /bra/7 F c ,
w/?ere r
f
/s /7?e rank function ofM
u
i = 1,2.
Proof. Clearly IND(M, H M
2
) c IND(M0 H IND(M
2
). To show the reverse
inclusion, we use induction on ||. For E =0, the theorem is trivial. So let ^0
and let y be a vertex of the polytope IND(Mi) H IND(M
2
). We prove that y is
integral, which clearly implies that y e IND(Mi HM
2
).
We first show that y has at least one integral component. We may assume
y > 0. Let 3T
{
:= {S ^ E \ y(S) =r
t
(S)}, i =1,2. Then note that ^, and ^
2
are
closed under union and intersection, since, if S, T e 2r
x
, then by (7.5.10):
ri(S) +r,(r) > r,(S H T) +r
t
(S UT) > y(S fl T) +y(S U T)
= y{S)+y{T) = riW + rtCT)
and so we must have equality throughout. We define two equivalence relations
~z (i = 1,2) on E as follows:
e ~,- / if either e = /, or there is no subset S c with S e ^, and
|sn{,/H =i.
Let Ai, ...
9
Ak be the equivalence classes of ~i and let B\, . . . , 5/ be the
equivalence classes of ~
2
. If 5 e&~u then S is the union of classes A\. Similarly,
if S e ^"
2
, then S is the union of classes Bj.
Since y is a vertex of the polytope defined by the inequalities (i) and (ii)
having no 0-component, it is the unique solution of equations of the form
x(F) = min{ri(F),r
2
(F)}. By our definitions, y is therefore the unique solution
of the equations
x(S)=r
x
(S), S e n
x{S) = r
2
(S)
9
Se3T
2
.
It follows that the normal vectors of these equations, i. e., the incidence vectors
X
s
, Sef i U 9~
ly
span R

; and since / , SeJ j U n is the sum of vectors x


Aj
or x
Bj
by the remark above, the vectors {x
Al
I i =1, . , k] U {x
Bj;
I j =1, .. , /}
also span R

. This implies that k + l >\E\, and in fact, strict inequality must


hold as x
M
+ +X
Ak
= X
Bl
+ +X
8
'-
Without loss of generality we may assume that k > |E|. Then one of the
classes A
t
must be a singleton, say A\ = {/}. Let
U :=U{S6^i l / ^S} and
F :=n{5e,Ti \feS}.
Since ^i is closed under union and intersection, U and V are also in n
Moreover, K \ 1/ ={/}. Namely, eeF \ [ / implies that for every set S eF
u
e G 5 if and only if / e S, and this means, e ~\ f. But since 4i ={/} there is no
216 Chapter 7. Combinatorial Optimization: Some Basic Examples
no element e j^f with e ~\ f. Therefore, we get U U {/} =U U V, and since U
and V are in ST
X
, U U {/} e^j . Hence
y, = y(U U K) -y(U) =r,(C/ U K) - r,((/);
and thus )>/ is an integer. Therefore, y has at least one integral component, say
y/
9
which clearly is either 0 or 1.
If y/ =0 then delete / fromM\ and M
2
to obtain M[ and M 3. The vector y'
obtained fromy by projecting y onto R

^^ is a vertex of IND(M[) H IND(M2).


So, by the induction hypothesis, y' is integral. Thus y is also integral.
If yf = 1 we conclude similarly by contracting / in the matroids M\ and
M
2
.
From this theorem one can derive the following important formula.
(7.5.17) Corollary. Let M\ = (E,J\) and M
2
={E,J
2
) be two matroids, with
rank functions r\ and r
2
, respectively. Then
max{|/| 1/ 6/ ^/ 2}= minjr^S) +r
2
(E \ S) \ S c E}.
D
Polynomial time algorithms to find a maximum weight common independent
set of two matroids were given by EDMONDS (1979), FRANK (1981a), and LAWLER
(1975). These algorithms are much more involved than the greedy algorithm.
Here we show that polynomial solvability of this problem also follows from the
ellipsoid method and the greedy algorithm.
In fact, we mentioned before that the strong separation problem for matroid
polytopes is solvable in polynomial time using the greedy algorithm and the
ellipsoid method. Therefore, we can solve the strong separation problem for the
intersection of two matroid polytopes. So by the ellipsoid method again we can
solve the optimization problem for the intersection of two matroid polytopes in
polynomial time - see Exercise (6.5.18). As we have shown in Theorem (7.5.16),
the convex hull of the incidence vectors of the common independent sets of two
matroids is equal to the intersection of two matroid polytopes, we can find a
maximum weight common independent set of two matroids in polynomial time
(as we can find an optimum vertex of IND(Mi H Mi)).
By the same procedure, we can optimize over the intersection of three or more
matroid polytopes. Alas, the vertices of such an intersection are generally not
integral, i. e., there is no extension of Theorem (7.5.16) to three or more matroids.
Actually, the problem of finding a maximum cardinality common independent
set of three matroids (even of three matroids as simple as partition matroids) is
J ^-complete. One such example is the asymmetric traveling salesman problem
which can be represented as the intersection of two partition matroids and a
graphic matroid.
We now give some examples of matroid polyhedra. First, consider the
graphic matroid (7.5.5) of a graph G =(V,E). By Theorem (7.5.15), the convex
hull of the incidence vectors of all forests of G, called the forest polytope of G,
7.5 Matroids 217
is the polytope defined by the nonnegativity constraints (7.5.13) and the rank
inequalities (7.5.14). In the graphic matroid on , the rank of a set F c is the
maximum number of edges of a forest contained in F, i. e.,
r(F) = \V\- number of components of (V, F).
We show that the system
(7.5.18) x
e
> 0 for all e e ,
x(((^)) < \W\~\ for all 0 ^W c K
is a complete linear description of the forest polytope. First of all, each of
the inequalities (7.5.18) is implied by the system given in Theorem (7.5.15),
as r{E{W)) < \W\ \. Conversely, given a rank inequality x(F) < r(F), let
(Fi ,Fi ), ..., (Vk,Fk) be the components of {V,F). Then
x(F)=x(F
]
) + ... + x(F
k
)<x(E(V
l
)) + ... + x(E(V
k
))
(\V
{
\-l) + ... + (\V
k
\-l) = \V\-k = r(F)
holds for each vector x satisfying (7.5.18). So x(F) < r(F) is implied by (7.5.18).
Since we can optimize over (7.5.18) in polynomial time with the greedy algorithm
we can solve the strong separation problem for (7.5.18) in polynomial time. (A
combinatorial algorithm for this problem based on flow techniques has been
designed by PADBERG and WOLSEY (1984).)
Second, let D = (V,A) be a digraph and, for every node v e V, let a
nonnegative integer b
v
be given. Call a set B c A independent if \B H 5~(v)\ < b
v
for all v e V. These independent sets form a partition matroid on A - cf. (7.5.6).
It is easy to see that for a complete description of the convex hull of all incidence
vectors of this partition matroid on A, the following inequalities suffice
(7.5.19) 0 <x
a
< 1 for all a e A,
x(S-(v))< b
v
for all veV.
So the separation problem for the polytope associated with the partition matroid
defined above and a given vector y can be solved by substituting y into the
inequalities (7.5.19).
We shall now intersect these two matroid polyhedra. Let D = (V,A) be a
digraph and let r e V be a vertex, called the root. We may assume that r is
not entered by any arc. Let b
v
= 1 for all v e V. Consider the forest matroid
on A (induced by the underlying graph of D) and the partition matroid defined
by the vector b e WL
V
. Theorem (7.5.16) then implies that the convex hull of the
incidence vectors of the sets independent in both matroids is given by
(7.5.20) (i) x
a
> 0 for all a e A,
(ii) x(S-(v))< 1 for all v e V \ {r},
(iii) x(A(W)) < \W\ - 1 for all 0 ^ IV ^ V.
218 Chapter 7. Combinatorial Optimization: Some Basic Examples
The vertices of this polytope are the incidence vectors of all branchings in
D. To obtain the convex hull of the r-arborescences we may simply set the
constraints (ii) of (7.5.20) to equality; namely, by this we obtain a face of the
polytope defined by (7.5.20) whose vertices are integral (since the polytope is
integral) and which are incidence vectors of branchings in which every node
except r is entered by exactly one arc. These arc sets are the r-arborescences
in D. Now we observe that the inequalities x{A(W)) < \W\ 1 with r e W
are superfluous, namely in this case x(A(W)) < ^
JV&
[y^^
r
Moreover, if 0 4
1
W ^V \ {r} then we can transform inequality (iii) as follows:
x{A{W)) < | W\ - 1 <^=> x(A(W)) - ]T x(S-(v)) < - 1 <=^> x(3-{W)) > 1.
veW
Therefore, we can conclude that the convex hull of the incidence vectors of all
r-arborescences in D is given by
(7.5.21) x
a
> 0 for all a e A,
x(S-(v))= 1 for all VG V \{r},
x{5~(W)) > 1 for all 0 ^W <=V \ {r}.
Again, we can optimize over this polytope in polynomial time, and we can solve
the strong separation problem for (7.5.21) in polynomial time.
We leave it to the reader to explore the relation of the polytope (7.5.21) to
the polytope (7.2.2), in particular to derive from the integrality of (7.5.21) the
integrality of (7.2.2).
7.6 Subset Sums
Most of the polynomial time combinatorial optimization algorithms we have
treated in this chapter were obtained using just the ellipsoid method. In Chapter 6,
the main role of basis reduction was in handling non-full-dimensional polyhedra.
Typically, the polyhedra occurring in combinatorial optimization are, however,
either full-dimensional or can easily be transformed into such polyhedra. In
fact, in GROTSCHEL, LOVASZ and SCHRIJVER (1981) a number of combinatorial
applications were derived using rounding procedures not more sophisticated than
continued fractions. (To obtain strongly polynomial algorithms, however, the use
of basis reduction seems much more essential.) In this section we illustrate that
basis reduction can sometimes be used directly in designing polynomial time
algorithms in combinatorial optimization. This application is due to LAGARIAS
and ODLYZKO (1983).
Let us start with a story. Assume that a small company sends out bills for
amounts a^ai, ..., a
m
respectively. After a month, they get a report from their
bank that a total amount of b has been transferred to their account. Since this
is less than the total outstanding amount, they want to write letters to those
7.6 Subset Sums 219
costumers who have not paid. But the bank does not tell which of the amounts
a, have arrived, and the company tries to figure this out by trying to find a subset
of the numbers a
t
that adds up to b.
Of course, there may be several solutions (the most trivial way in that this
can happen is when two of the a
f
's are equal), and then finding this subset does
not definitely indicate whom the company should urge. But if the numbers a,
are large compared with n and sufficiently random then - as we shall see - it is
unlikely that two subsets of them would sum up to exactly the same amount.
Mathematically, the problem is the following:
(7.6.1) Subset Sum Problem. Given n positive integers a\, ..., a
n
, and a positive
integer b, find a subset {i
u
.., ik] of {I, ..., n) such that
a
h
+... +a
ik
=b.
Another way to put this is that we are looking for a nontrivial {0, l}-solution
to the following equation:
(7.6.2) a\X\ +... +a
n
x
n
by=Q.
Problem (7.6.1) is known to be >"^-complete - see GAREY and JOHNSON (1979).
This seems to be of little help to the company. But the company can try to make
use of some special features of the problem. First of all, we know:
(7.6.3) Equation (7.6.2) has a nonzero {0,1} -solution.
To locate the customers who have paid it is essential to be sure that (7.6.2)
has a unique nontrivial {0, l}-solution. In fact, if the a, are large and random
the subsequent Lemma (7.6.5) shows that the company may even expect the
following stronger condition to hold:
(7.6.4) Equation (7.6.2) has a unique nonzero {0,1}-solution, and every nonzero
integral solution of (7.6.2) that is not a multiple of this unique solution
has at least one component whose absolute value is at least 2
n
.
(7.6.5) Lemma. Let {i
u
...,i
k
} ^ {U .-,*} be nonempty and let N be a posi-
tive integer. Suppose that the integers a
x
(i = 1, ..., n) are chosen independently
and uniformly from {I, ..., N} and let b := a
h
+... + a
k
. Then (7.6.4) is satisfied
with probability larger than 1 - 2
{n+2)n
/N.
Proof. By the choice of b, (7.6.2) has a nonzero {0, l}-solution (x
u
x
2
, ..., x,y)
T
,
say. Suppose (7.6.2) has a solution violating (7.6.4), i. e., there is a nonzero integral
vector (*!,..., x
n
,y)
T
satisfying (7.6.2) and |x,| <2
n
(i = 1, ..., ), \y\ < 2
n
that
is not a multiple of (xi, ..., x
n
,y)
T
. Then
_ ._ f Xi-y if ie {i
u
, h},
Xi
'"" 1 Xi otherwise
220 Chapter 7. Combinatorial Optimization: Some Basic Examples
gives a nonzero vector (xi, ..., x
n
)
T
satisfying
(7.6.6) a{x\ +... +a
n
x
n
= 0
and
(7.6.7) -2
n+i
<x
i
<2"
+1
.
Consider now any fixed nonzero integral vector x :=(xi, ..., x
n
)
T
. Since the a,-
are chosen uniformly and independently from {1, ..., N}
9
trivially the probability
that the a* satisfy (7.6.6) is not larger than 1/N. Since the number of integral
vectors satisfying (7.6.7) is smaller than 2
(n+2)n
, it follows that the probability that
(7.6.6) has a solution satisfying (7.6.7) is smaller than 2^
2)n
/N. This implies the
statement of the lemma.
The significance of assumption (7.6.4) is not only that it is satisfied with high
probability (if N is large enough) but also that, if it is satisfied, the subset sum
problem can be solved in polynomial time, using basis reduction:
(7.6.8) Lemma. There exists a polynomial time algorithm that, forgiven positive
integers a\, ..., a
n
, and b, either
(i) supplies a nonzero integral solution of (1.6.2) where all components have
absolute value less than 2
n
, or
(ii) proves that the subset sum problem has no solution.
In particular, if (7.6.4) is satisfied the algorithm solves the subset sum problem.
Proof. For n = 1 the problem is trivial. So assume n > 2. First, consider the
integral vectors (xi, ..., x
n
,y)
T
that satisfy equation (7.6.2). These form a lattice
L. Using the polynomial time algorithm of Corollary (5.4.10) we can construct
a basis of L. Next we run the algorithm of Theorem (5.3.16) to find a reduced
basis (fei, ..., b
n
,b
n+
\) of the lattice L.
We consider 2 cases.
Case 1: ||fci||oo <2
n
. So we can conclude with (i).
Case 2: HMoo >2". By Theorem (5.3.13) (b), \\b
x
\\ < 2
n/2
min{\\b\\ \beL,b^0}.
Hence min{||fc|| | b e L,b =fi 0} >2
n/2
> y/n + 1. This shows that L contains no
nonzero {0, l}-vector, and thus we can conclude with (ii).
In particular, if (7.6.4) is satisfied, the vector b\ yields a solution for the subset
sum problem.
Combining these two lemmas, we immediately have the following theorem
due to LAGARIAS and ODLYZKO (1983).
(7.6.9) Theorem. There exists a polynomial time algorithm that finds a solution
of the subset sum problem (7.6.1) with probability at least 1 2^
n+2)n
/N, if the given
integers a\, ...,a
n
are chosen independently and uniformly from {1, ...,N}
and if the given integer b is chosen such that the subset sum problem has a
solution.
7.7 Concluding Remarks 221
The condition (7.6.4), which guarantees the success of the algorithm of Lemma
(7.6.8), seems, even in the case of the introductory example, rather strong and
somewhat artificial. But exactly this condition is satisfied if one tries to break
so-called knapsack-based cryptosystems with high redundancy rate. The methods
sketched in this section imply that most such cryptosystems are insecure in some
sense.
For instance, the basis reduction method was employed by ADLEMAN (1983)
to break the single iteration Graham-Shamir scheme, by ADLEMAN (1983) and
LAGARIAS (1984) to attack doubly iterated Merkle-Hellman schemes, by LAGARIAS
and ODLYZKO (1983) to cryptoanalyse Merkle-Hellman und Graham-Shamir
schemes with low information rate and by BRICKELL (1985) to show the insecurity
of the iterated Merkle-Hellman, iterated Graham-Shamir schemes and Shamir's
ultimate knapsack scheme.
7.7 Concluding Remarks
In this chapter we have discussed several problems that illustrate some of the
standard techniques that are used to apply the ellipsoid method and diophantine
approximation to combinatorial optimization problems. The framework of this
approach can be described as follows. Most combinatorial optimization problems
can be transformed into the following form:
Given a finite set S of vectors in R" and a linear objective function c, find
a vector x e S maximizing c
T
x over S.
There is of course a trivial finite algorithm to solve this problem: Scan all
elements of S. To do better we have to assume that S is structured, i. e., that
S is encoded in much less space than the encoding length of S. For instance, S
may be the set of incidence vectors of r-arborescences, r-cuts, perfect matchings,
odd cuts etc. in a digraph or graph; so in these cases 5 is given by specifying
this digraph or graph (plus an expression (name) of bounded length like "perfect
matchings in", "odd cuts in" ...).
Our starting point for investigating these problems from a polyhedral point
of view and for applying the ellipsoid method is the observation that
max{c
r
x | x e 5} =max{c
r
x | x e conv(S)}.
The set conv(S) is a poly tope, and hence it can be described by a finite system
of linear inequalities
(7.7.1) a?x<b
h
i =l, ...,m.
So our combinatorial optimization problem is equivalent to the linear program
(7.7.2) max c
T
x
ajx <b
h
i= 1, ...,m.
222 Chapter 7. Combinatorial Optimization: Some Basic Examples
It may happen in some very fortunate cases that such inequalities can be easily
found and listed as in the case of perfect matchings of bipartite graphs - cf. (7.3.4).
In other cases, m is exponentially large but the system still has a nice
characterization in the sense that there is a polynomial time algorithm to test
whether a given point satisfies all inequalities, and if not, to find a violated
inequality. Then the ellipsoid method can be applied to solve the combinatorial
optimization problem in polynomial time. In this approach the combinatorial
difficulties are concentrated on finding the set of inequalities describing conv(S).
Historically, such systems of inequalities were frequently derived as by-products
of polynomial time algorithms. As we saw before, often there are fairly short
direct proofs of such polyhedral characterizations. The ellipsoid method shows
that the implication can be turned around and that a polyhedral characterization
can directly give the polynomial solvability of a problem.
Sometimes, dual solutions of (7.7.2) are of combinatorial interest, e. g., they
may give a Tutte-set as in Section 7.3. We have also seen an example where
certain integral dual solutions are of primary interest, namely the edge colorings
of bipartite graphs in Section 7.4. If the primal problem can be solved in
polynomial time, the general methods of Chapter 6 enable us to find basic
optimum dual solutions in polynomial time. However, these basic dual solutions
may not be integral, even if integral optimal dual solutions exist. So they
may not correspond to the desired combinatorial structures (like Tutte-sets or
edge colorings). No general method is known to obtain integral optimum dual
solutions, but in many cases special properties of the problem may be used to
construct such solutions from any optimal dual solution.
In most cases the original linear program (7.7.2) is also beyond control in
various respects:
- There is (usually) no (nontrivial) characterization of a linear system known
describing conv(S).
- The problem of deciding whether an inequality belongs to such a system is
often at least as hard as the original optimization problem.
- Sometimes, even if such a system of inequalities is known, deciding whether a
point satisfies all these inequalities is not the least bit easier than the original
problem.
But even in such cases the methodology described before might be quite
helpful - even for practical purposes, a matter we were not concerned too much
about yet. The idea behind this approach is the following.
Quite frequently it is possible to determine some large classes of inequalities
that define facets of conv(S) and for which one can check in polynomial time
whether a given point satisfies them or not. Thus, using the ellipsoid method,
one can optimize over these inequalities in polynomial time - theoretically.
It is known that the ellipsoid method is not the most efficient algorithm in
practice. So one simply replaces the ellipsoid method by the simplex method
(or whatever linear programming algorithm one prefers) and proceeds in the
same manner by iteratively adding cutting planes. That is, one chooses some
classes of valid inequalities for conv(S), all facet defining if possible, for which
the separation problem is solvable in polynomial time. If no polynomial time
7.7 Concluding Remarks 223
separation algorithms exist (or if they are too time consuming), well-designed
and fast separation heuristics may also do. Then one chooses an initial linear
programming relaxation, finds an optimum vertex solution, and checks whether
the optimum solution is in S. If not, one searches the chosen classes for
inequalities violated by the present optimum, adds them to the linear program
and continues until a point is found that optimizes the given objective function
over the inequalities considered. If the point is in S the problem is solved. If
it is not in S, usually a very good bound on the optimum value of the original
problem is obtained.
There are a number of hard combinatorial optimization problems where
the known classes of facet defining inequalities are rather good approximations
of conv(S), so that in practical computations optimum solutions over these
inequalities often turn out to be in S. Even if the solutions obtained this way
are not in conv(S) they may be very helpful in a branch-and-bound framework
- see GROTSCHEL (1982), PADBERG and GROTSCHEL (1985). These methods are
not polynomial, but they work reasonably well in practice.
Inspired by this practical experience one may even go back to the starting
point and use these ideas to solve problems known to be in &> with nonpolyno-
mial cutting plane techniques. This has for instance been done in GROTSCHEL and
HOLLAND (1985) for the perfect matching problem. The simplex method is used
to solve the linear program (7.3.3) (without integrality conditions). If the solution
is integral, one terminates. Otherwise separation heuristics and, if these fail, the
separation algorithm of PADBERG and RAO (1982) for this problem - cf. Section
7.3 - is used to find violated odd cut constraints. These are added to the present
LP, and the simplex method is called again, etc. This method is guaranteed to
terminate in finite (but not in polynomial) time. Practical computational experi-
ence has shown that for large problems, say at least 300 nodes, this cutting plane
method is compatible with the best known combinatorial algorithms. Whether
for other combinatorial optimization problems such cutting plane algorithms are
also competitive with the best combinatorial methods remains to be explored.
The significance of the ellipsoid method in combinatorics is not in suggesting
alternative techniques to efficient algorithms. Rather, one can prove the existence
of a polynomial time algorithm for many problems by the techniques described
above quite easily. This points out those problems for which the search for
practically efficient (combinatorial and not ellipsoidal) polynomial time methods
should start. We shall give a number of examples in subsequent chapters
where the only polynomial time algorithms known to date use the ellipsoid
method (minimization of submodular functions, finding maximum stable sets
and minimum colorings of perfect graphs). Here a field of research is opened,
namely, finding "really good" combinatorial algorithms for these problems.
One way to view the techniques described in this chapter is that the ellipsoid
method reduces one combinatorial problem to another one. Examples, already
mentioned, are the reduction of the minimum r-arborescence problem to the
minimum r-cut problem, the reduction of the minimum perfect matching problem
to the minimum odd cut problem, etc. The ellipsoid method can again be applied
to reduce the minimum r-cut problem to the minimum r-arborescence problem,
and the minimum odd cut problem to the minimum perfect matching problem,
224 Chapter 7. Combinatorial Optimization: Some Basic Examples
etc. It is thus a matter of taste for which of these problems one wants to
design a polynomial time algorithm. The ellipsoid method automatically yields a
polynomial time algorithm for the other.
To go further, one might think of using the ellipsoid method as a unifying
procedure that - supplemented with trivial transformations - reduces any poly-
normally solvable combinatorial optimization problem to a "basic problem" for
which a very simple polynomial time algorithm is known. As we shall see in
Chapter 10, one such "almost basic problem" is the polymatroid optimization
problem, which can be easily solved with the greedy algorithm. We shall show
that quite a large number of combinatorial optimization problems can be reduced
to this problem using the ellipsoid method and simple transformations.
* Chapter 8
Combinatorial Optimization: A Tour d'Horizon
In Chapter 7 we have introduced several basic combinatorial optimization prob-
lems, and we have shown in detail how the ellipsoid method and basis reduction
together with polyhedral information about these problems can be used to design
polynomial time algorithms. In this chapter we give an overview about combi-
natorial optimization problems that are solvable in polynomial time. We also
survey important theorems that provide polyhedral descriptions of the polytopes
associated with these problems. We indicate how these results can be employed
to derive polynomial time algorithms based on the ellipsoid method and basis
reduction. The results of this chapter are presented in a condensed form, to cover
as much material as possible.
For most of the problems considered, the strongly polynomial time solvability
of the problems follows directly from Theorem (6.6.5). This holds for all "primal"
problems in particular. Among the "dual" problems we treat, there are a few
exceptions. Sometimes the standard procedure does not work but there are ad
hoc methods with which strong polynomiality can be derived. For instance, the
algorithm given for the arborescence packing problem (8.4.11) is not strongly
polynomial, but using a method of MADER (1983) it can be made strongly
polynomial. In a few cases our polynomial time procedures do not translate
into strongly polynomial ones, e. g., the algorithm given for the halflntegral
multicommodity cut packing problem (8.6.4) for certain types of graphs does not
seem to be modifyable into a strongly polynomial one. If we allow the operation
of rounding a number to the nearest integer among the elementary arithmetic
operations, all these algorithms can, however, be made strongly polynomial.
*8.1 Blocking Hypergraphs and Polyhedra
Many combinatorial optimization problems can be nicely treated in the following
framework, due to FULKERSON (1968, 1971) and LEHMAN (1965).
A hypergraph H is a finite set of finite sets. The elements of Utf are called
the nodes of f/, and the elements of H are called the edges of H. A clutter is a
hypergraph in which no edge contains another.
The blocker BL(tf) of a hypergraph H is the set of all inclusion-minimal
sets intersecting all edges of H. So BL(tf) is a clutter. For example, given a
strongly connected digraph D = {V,A) and r e V, the set H of all r-cuts of D
forms a hypergraph with node set A \ S~(r); its blocker BL(H) is the set of all
r-arborescences of D - see Section 7.2.
226 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
The following result is elementary. If H is a clutter, then
(8.1.1) BL(BL(//)) =H.
We shall be interested in finding an edge with minimum weight in a hy-
pergraph with nonnegative weights on its nodes. To formulate this problem
polyhedrally, we consider the dominant of the incidence vectors of the edges of
H, denoted by dmt(H), i. e.:
(8.1.2) dmt(H) = conv{/ e R
u//
| E e H} +WCf.
We can use the blocker BL(H) of H to obtain valid inequalities for the dominant
of if:
(8.1.3) (a) x
v
> 0 for all v e UH,
(b) x(F) > 1 for all F e BL(//),
where x(F) := J]
eeF
x
e
. A hypergraph H has the max-flow min-cut property
(or Q
+
-max-flow min-cut property, or Q+-MFMC property) if (8.1.3) is sufficient
to describe dmt(H). Clearly this is equivalent to saying that the polyhedron
described by (8.1.3) has integral vertices only, i. e., the system (8.1.3) is TPI. To
digest the name, the reader may work out that the hypergraph of (r,s)-cuts in
a digraph has the max-flow min-cut property. This definition is due to LEHMAN
(1965). The significance of it is that H has the max-flow min-cut property if and
only if for every weight function w : UH ->Z
+
,
(8.1.4) min{w() | e #} =max{ ]T X
F
\ X

> 0 for all F e BL(#),


FeBL(H)
Yjh < w
y
for all veUH}.
FBV
This is an immediate consequence of the duality theorem of linear program-
ming. Lehman proved the following interesting fact.
(8.1.5) Theorem. A hypergraph has the max-flow min-cut property if and only
if its blocker has.
Proof. Recall the definition of the blocker bl(5) of a set S c ]R^given in Section
0.1, and observe that the max-flow min-cut property is equivalent to the equation
(8.1.6) dmt(H) =bl(dmt(BL(tf))).
Using (8.1.1) and applying the operator bl to (8.1.6), we get
bl(dmt(BL(BL(tf)))) =bl(dmt(tf)) = bl(bl(dmt(BL(tf))))
=dmt(BL(//)).

8.1 Blocking Hypergraphs and Polyhedra 227
It will be interesting to see in the examples that follow how this simple result
implies the equivalence of rather different min-max results.
The right hand side of equation (8.1.4) is of additional combinatorial interest
if there is an integral optimal system of the 2's. In this case, the maximum can
be interpreted as a maximum packing of edges of the blocker. If this happens for
each w : \JH - Z+, the hypergraph BL(H) is said to have the Z
+
-max-flow min-
cut property (Z+-MFMC property). In other words, BL(H) has the Z+-MFMC
property if the system (8.1.3) is TDI. Lehman's theorem (8.1.5), however, does
not extend to the Z
+
-max-flow min-cut property - consider, e. g., the hypergraph
of triangles in X4.
Even if it does not have the max-flow min-cut property, the blocker of a
hypergraph H provides an integer programming formulation of the problem of
finding a minimum weight member of a hypergraph, namely, for every weight
function w : UH ->Q+,
(8.1.7) min{w() | E e H} =min{w
r
x | x(F) > 1 for all F e BL(tf),
x
e
> 0 for all e e UH, x integral}.
Then we may consider the LP-relaxation, its dual, and the associated integer
linear program, which are related as follows:
(8.1.8) min{w() \ E e H} =
= min{w
T
x\x(F) >1 for all F e BL(/f),
x >0,
x integral}
>mi n{w
r
x|x(F) >1 for all F e BL(H),
x >0}
= m3x{Zf
eBLiH)
h I T.FSBUH)
X
F*
F
^
w
'
k
F
> 0 for all F e BL(H)}
>max{X
Fe
BL(H) h I ZFEBL(H) ^ ^ ^
w

k
F
> 0 for all F e BL(tf),
X

integral for all F e BL(tf)}.


Similarly for the blocker BL(H) of H we have:
(8.1.9) min{w(F) | F e BL(H)} =
= min{w
r
x | x(E) > 1 for all E e H,
x >0,
x integral}
>min{w
r
x I x(E) > 1 for all EeH,
x >0}
228 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
X
E
>0 for all E e H}
> max{
eH
k
E
I Z
eH
^X

<w,
A

>0 for all E e //,


Af integral for all E e H}.
The first and last programs in (8.1.8) and (8.1.9) have combinatorial contents.
The first lines express the problem of finding a minimum weight edge of a clutter
or, equivalently, finding a minimum weight node cover for its blocker. The last
lines are problems of packing edges of a clutter. The two middle lines may be
viewed as fractional versions of these problems.
We know by Lehman's theorem that, if the first inequality in (8.1.8) holds
with equality for all w > 0, then so does the first inequality in (8.1.9), and vice
versa. We also know from Theorem (0.1.53) that, if the second inequality in
(8.1.8) holds with equality for all w >0 then so does the first inequality in (8.1.8).
So in this case, BL(H) has the Z+-MFMC property. Similar results hold with H
and BL(H) interchanged.
The results described above can be exploited algorithmically in the following
way. Whenever H has the max-flow min-cut property, equality holds in the first
inequality of (8.1.8), and thus, we have a linear programming formulation of the
problem of finding a minimum weight edge of a hypergraph. By the results of
Chapter 6, this linear program can be solved in polynomial time if and only if the
separation problem for the inequality system (8.1.3) can be solved in polynomial
time. Given y e R
u//
, the nonnegativity constraints here are easy to check. The
separation problem for the blocking constraints (b) of (8.1.3) is equivalent to
finding an edge F* e BL(H) of minimum weight y(F*). If y{F*) < 1, then
x(F
m
) >1 is a violated inequality, otherwise y satisfies (8.1.3). Summing up these
considerations and using Theorems (6.4.9) and (6.5.14) we obtain the following
result.
(8.1.10) Theorem. There exist oracle-polynomial time algorithms that, for any
hypergraph H with f/?eQ
+
-MFMC property given by its underlying set V =[j H
and by an oracle that, for every weight function c : V - Q+, returns a minimum
weight edge ofH, solve the following problems:
(a) given any weight function w : V Q+, find a minimum weight edge of
BL(H);
(b) given any weight function w : V - Q
+
, find edges E\, ..., E
t
of H and
positive rationals X\, ...,k
t
such that A\x
E[
+... +hx
Et
< w and such that
k\+ ... + X
t
is as large as possible;
(c) the problem in (b) with H replaced byBL(H).
If a hypergraph H has the Z+-max-flow min-cut property then (8.1.4) provides
a linear programming formulation of the problem of finding a maximum un-
packing of the edges of H. However, though the existence of an integral
optimum solution of this LP is guaranteed, the ellipsoid method may fail to find
8.2 Problems on Bipartite Graphs 229
it, and we do not know any general procedure to calculate an integral optimum
solution from a fractional one that works for all hypergraphs with the Z
+
-max-
flow min-cut property. Nevertheless, in all cases we know of, special techniques
like "uncrossing" (to be described later in this chapter - see, e. g., (8.4.5)) yield
such integral optimum solutions.
As described above for hypergraphs with the max-flow min-cut property,
there is an oracle-polynomial time algorithm to find a minimum weight edge
of a hypergraph H if and only if there is such an algorithm for the same
problem for the blocker of H. For all hypergraphs with the max-flow min-cut
property we know, the minimum weight edge problem is in fact solvable in
oracle-polynomial time. An outstanding open problem is the following: Is there
an oracle-polynomial time algorithm that, for any hypergraph H (given by an
oracle telling whether a given set belongs to H or not) with the max-flow min-cut
property and for any w : UH - Q
+
, finds a minimum weight edge?
In Section 0.1 we have not only introduced blocking polyhedra but also
antiblocking polyhedra. Analogously, one can define the antiblocker of a hyper-
graph. This notion gives rise, at least partially, to similar results as above, but is
best treated in the framework of perfect graphs, and is therefore postponed to
Section 9.2.
*8.2 Problems on Bipartite Graphs
In this section we discuss a number of optimization problems defined on bipartite
graphs that will turn out to be basic to many other combinatorial optimization
problems. They are basic in the sense that a wide range of combinatorial
optimization problems and almost all combinatorial min-max relations contain
a bipartite graph problem as a - generally nontrivial - special case. For instance,
the matching problem for bipartite graphs can be considered as a special case of
the max-flow problem, of the matching problem for general graphs, of the stable
set problem for perfect graphs, and of the matroid intersection problem.
First let us recall some definitions and notation. Let G = (K,) be a graph.
A matching is a collection of pairwise disjoint edges. The matching number of
G, denoted by v(G), is the maximum size of a matching. A stable set (clique,
respectively) is a subset S of the node set V such that each two nodes in S are
nonadjacent (adjacent, respectively). The stability number resp. the clique number
is the maximum cardinality of a stable set resp. clique in G, and is denoted by
a(G) resp. a>(G). A node covering (edge covering, respectively) is a subset W <^V
(F , respectively) such that every edge contains at least one node in W
(every node is contained in at least one edge in F, respectively). The minimum
cardinality of a node covering resp. edge covering is called the node covering
number resp. the edge covering number, and is denoted by T(G) resp. p(G). A
partition of V into stable sets (cliques, respectively) is called a coloring (clique
covering, respectively) of G. The coloring number resp. the clique covering number
is the smallest number of stable sets in a coloring resp. cliques in a clique covering
of G, and is denoted by x{G) resp. x(G). An edge coloring is a partition of E
230 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
into matchings. The edge coloring number is the smallest number of matchings
in an edge coloring of G, and is denoted by y(G). The maximum degree in G is
denoted by A(G), and the minimum degree by 5(G).
We will see that for a bipartite graph G, various relations exist between the
v(G), T(G), a(G), co(G\ p(G), *(G), x(G), y(G), A(G), 3(G), and that each of these
numbers can be computed in polynomial time (the last two trivially, of course).
First of all, for each graph G =(V,E) without isolated nodes, one has the
following obvious relations:
(8.21) v(G)<r(G),
a(G) <p(G).
In addition, we have the following identities - see GALLAI (1959):
(8.2.2) a(G) +T(G) = |H,
v(G) + p(G) = |*a
where the last equation only holds if G has no isolated nodes.
The triangle X
3
shows that strict inequalities can occur in (8.2.1). By Gallai's
identities (8.2.2), equality in one of the inequalities (8.2.1) implies equality in the
other (provided G has no isolated nodes).
Konig was one of the first to study optimization problems for graphs. The
following theorem was presented in KONIG (1931), but finds its roots in earlier
papers by FROBENIUS (1912, 1917) - see Theorem (7.3.1) - and KONIG (1915,
1916) (for an account of the history of these and related results, and for proofs
see LOVASZ and PLUMMER (1986)).
(8.2.3) Konig's Matching Theorem. IfG is a bipartite graph, then the matching
number v(G) is equal to the node covering number x(G).
This theorem combined with Gallai's identities gives another result of KONIG
(1933).
(8.2.4) Konig's Edge Covering Theorem. If G is a bipartite graph without
isolated nodes, then the edge covering number p(G) is equal to the stability
number a(G).
These two theorems of Konig are among the first in a row of useful min-max
relations. Konig's matching theorem (8.2.3) gives a good characterization of both
the matching problem and the node covering problem for bipartite graphs. That
is, these problems belong to Jf& f! Q,o-Jf@>. A similar conclusion follows from
Konig's edge covering theorem (8.2.4). This is typical for most of the min-max
relations to be dealt with in this chapter: they all yield good characterizations
for the corresponding optimization problems.
In fact, each of the optimization problems corresponding to the Konig's
theorems is in ^\ Polynomial algorithms to find explicitly a matching of maximum
8.2 Problems on Bipartite Graphs 231
size and a node covering of minimum size in a bipartite graph have been designed
by FORD and FULKERSON (1957) and HALL (1956) (running time 0(|K|
3
)), and
by HOPCROFT and KARP (1973) (0(|K|
5/2
)). In fact, the running time of the
Hopcroft-Karp algorithm is 0(\E\\V\
{/2
), as was shown by GALIL (1983). Using
the fact that also Gallai's identities are polynomially constructive, one easily
transforms these algorithms to solving the stable set and edge covering problems
for bipartite graphs.
Since cliques in bipartite graphs have size one or two, Konig's edge covering
theorem, equivalently states that, for bipartite graphs G, the stability number
a(G) is equal to the clique covering number #(G). Similarly, the clique covering
problem for bipartite graphs is polynomially solvable.
These methods and results can be extended to the weighted case. If G =(V ,E)
is a graph and w : E > Q is a weight function on the edges then we denote
the maximum weight w(M) :=Y,eeM
w
* f
a
matching M in G by v
w
(G). If
w : V ->Q is a weight function on the nodes, then we denote the maximum
weight w(S) :=
yeS
w
v
of a stable set S in G by a
w
(G).
In general, if w is some weight function and cp(G) is some graph parameter
(like T(G), CO(G) etc. as defined above) we denote the weighted version of this
parameter by cp
w
(G) (like T
W
(G), CQ
W
(G) etc.), or - if the indices become too clumsy
- we write cp(G, w) etc..
Konig's theorems have the following weighted versions.
(8.2.5) Theorem. For any bipartite graph G = (V,) and any weight function
w : E -+Z+ on the edges, the maximum weight v
w
(G) of a matching is equal to
the minimum value of^^y y
v
> where, for each node v e V', y
v
is a nonnegative
integer such that y
u
+y
v
> w
uv
for each edge uv e E.
(8.2.6) Theorem. For any bipartite graph G = (V',) and any weight function
w : V ->Z
+
on the nodes, the minimum weight T
W
(G) of a node covering is equal
to the maximum value of^eE
x
*>
wnere
> f
r each ed
B
e
ee E,x
e
is a nonnegative
integer such that x(S(v)) < w
v
for each node ve V.
(8.2.7) Theorem. For any bipartite graph G = (V,E) without isolated nodes
and any weight function w : E - Z
+
on the edges, the minimum weight p
w
(G)
of an edge covering is equal to the maximum value ofY,
VE
y }>v> where, for each
node v e V, y
v
is a nonnegative integer such that y
u
+ y
v
< w
uv
for each edge
uv eE.
a
(8.2.8) Theorem. For any bipartite graph G = (V,E) without isolated nodes and
any weight function w :V -+Z+ on the nodes, the maximum weight a
w
(G) of a
stable set is equal to the minimum value of^
eeE
x
e
, where, for each edge ee E,
x
e
is a nonnegative integer such that x(S(v)) > w
v
for each node veV.
These results contain Konig's theorems by taking all weights equal to one.
Result (8.2.5) was first stated by EGERVARY (1931). The assertions easily follow
232 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
from the total unimodularity of the node-edge incidence matrix M of the bipartite
graph G - see Section 7.1. Indeed, the four theorems above correspond to the
following four linear programming duality equations:
(8.2.9) max{w
r
x | x > 0,Mx <1} =min{l
7
>>| y > 0,y
T
M > w
T
},
mm{y
T
w \ y > 0,y
T
M > t
T
} =max{H
r
x | x > 0,Mx < w},
min{w
r
x | x > 0,Mx >1} =max{t
T
y | y > 0,y
T
M < w
T
},
max{y
r
w | y > 0,y
T
M < t
T
) =min{i
7
x | x > 0,Mx >w},
where in the last two cases the underlying bipartite graph G is assumed to have
no isolated nodes.
The total unimodularity of M yields that each of these linear programming
problems has integer optimum solutions, which implies the results (8.2.5) up to
(8.2.8). (Alternatively, results (8.2.6) and (8.2.8) can be derived directly from
Konig's theorems (8.2.3) and (8.2.4) by splitting each node v into w
v
mutually
nonadjacent new nodes.)
So each of the numbers a
w
(G), T
W
(G), V
W
(G), p
w
(G) can be defined as the
optimum value of a linear program whose constraints can be trivially constructed
from the given bipartite graph. Hence it follows that they can be computed in
polynomial time using the ellipsoid method. Note that this is a direct application
of Khachiyan's original version of the ellipsoid method. By finding vertex
solutions we can also determine maximum stable sets, minimum node coverings,
maximum matchings, and minimum edge coverings in polynomial time.
Result (8.2.8) implies that oc
w
(G) =/
W
(G) for all bipartite graphs. It is trivial
to see that also the (complementary) relation (o^{G) =#
W
(G) holds for bipartite
graphs (EGERVARY (1931)).
There are many closely related optimization problems which are important
in practical applications and which can be handled along similar lines, e. g.:
(8.2.10) Optima] Assignment Problem. Given an integral nxn-matrix {Wy), find
a permutation a of {I, ...,} such that J Xi w,^,) is as large as possible.
(8.2.11) The (Hitchcock-Koopmans) Transportation Problem. Given an integral
m x n-cost matrix (c,y), an integral "supply" vector b = (b\,..., b
m
)
T
, and an
integral "demand" vector d = {du ., d
n
)
T
, find nonnegative integers x
t
j (i =
l,...,m;j = 1,..., n), such that "
=1
x
tj
< b
t
(i = 1,..., m) and YZi
x
v ^
d
j
(j =1,..., n), and such that Y,ij cij*ij is as small as possible.
(8.2.12) The Capacitated (Hitchcock-Koopmans) Transportation Problem.
This is problem (8.2.11) where in addition integral upper bounds are given for
the Xij.
Again, good characterizations may be derived from the total unimodularity of
the corresponding matrices. A common generalization of many of these problems
is the following.
(8.2.13) Given a bipartite graph G = (V
9
E) and functions b
u
b
2
: V -+ Z,
ci,C2,w : E ->TL
9
find a vector x e Z
E
satisfying c\(e) < x(e) < c
2
(e) for each
8.3 Flows, Paths, Chains, and Cuts 233
edge e and b\(v) < x(S(v)) < b
2
(v) for each node v, such that Y,
eeE
w
(*)*(*)
is as
small as possible.
By the total unimodularity of the corresponding matrix, the optimum value
of problem (8.2.13) is equal to the maximum value of
(8.2.14) (yi(tO b
{
(v)-y
2
(v) b
2
(v)) +(zi(e) c
{
(e) - z
2
(e) c
2
(e))
9
veV eeE
where y
u
y
2
are nonnegative integral vectors in 1R*
7
and z\,z
2
are nonnegative
integral vectors in 1R

such that zy(e)-Z2(e)+Y


dVee
{y\{v)y2{v)) is equal to w(e),
for each edge eeE.
Therefore, problem (8.2.13) and its dual include the problems given by (8.2.3)
up to (8.2.12). Note that in (8.2.13) we may have negative values, and that
problem (8.2.13) can be reduced easily to the case where c\ = 0 and b\ > 0.
As a special case of the previous min-max result we obtain:
(8.2.15) Supply-Demand Theorem. Let G =(V,E) be a bipartite graph with
color classes S and T. Let b : T - R+ be a "supply function
9
] and d : S - R
+
,
a "demand function". Then this demand is "satisfiable from the supply
9
] i. e.,
there exists a function y : E -+ 1R+such that
Y
j
y(e) = d{s) forallseS,
e3s
.y(e) <b{t) for all te 7\
if and only if
d{U) < b(r(U)) for all U <=S.

Here T(U) denotes the set of nodes in T adjacent to at least one node in U.
KUHN (1955, 1956) developed a polynomial time algorithm to solve the
assignment problem. This algorithm, called the "Hungarian method", at the
same time also solves the dual of the assignment problem and has a running time
of order \V\
3
(see also MUNKRES (1957) and BALINSKI and GOMORY (1964)). With
some adaptations, this method also solves the problems (8.2.6) up to (8.2.12). In
fact, also the general problem (8.2.13) can be solved in polynomial time, viz. by
the minimum cost flow algorithm - cf. Section 8.3. In the same way as described
above these problems can be solved with the ellipsoid method in polynomial
time.
*8.3 Flows, Paths, Chains, and Cuts
We next discuss a first type of generalization of the problems on bipartite graphs
dealt with in Section 8.2, namely problems on flows, dipaths and cuts in directed
234 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
graphs, and on chains and antichains in partially ordered sets. The problems
and results treated below are in terms of directed graphs. The corresponding
problems and methods for undirected graphs mostly follow straightforwardly by
replacing undirected edges uv by two (directed) arcs (u,v) and (v,u).
One of the most important classes of combinatorial optimization problems is
formed by the so-called network flow problems. The first breakthroughs in the
theory and the applications of combinatorial optimization were obtained in this
field, and they initiated various areas of research like "polyhedral combinatorics"
and "good algorithms". The classical monograph on flow theory is FORD and
FULKERSON (1962).
We start with some easy problems and results.
Let D (V,A) be a digraph. A potential is a function </ >: V - Q. Consider
the following problem.
(8.3.1) Maximum Potential Problem. Given a digraph D = (V,A), two different
nodes r,s e V, and a length function I : A ->Q
+
, find a potential (j) such that
<f)(v) (j)(u) < 1(a) for each arc a = (u,v) e A and such that the potential difference
<f)(s) (j)(r) is as large as possible.
It is trivial to show that the optimum value of this problem is equal to the
optimum value of the following problem.
(8.3.2) Shortest Dipath Problem. Given a digraph D = (V,A), two different
nodes r,s e V, and a length function I : A -+ Q
+
, find an (r,s)-dipath in D of
minimum length.
The following (easy) theorem will turn out to be analogous to the Max-Flow
Min-Cut Theorem (7.1.4).
(8.3.3) Max-Potential Min-Work Theorem. For any digraph D = (V,A), any
two different nodes r,s e V, and any length function I : A -* Q
+
, the maximum
potential difference <f)(s) 4>(r) subject to (j)(v) (j){u) < 1(a) for each arc a =
(u,v) e A is equal to the minimum length of an (r,s)-dipath in D. Moreover, if
all lengths are integral, there exists an integral optimum potential
Proof. To see that both optimum values are equal, first observe that the optimum
value of (8.3.1) cannot be more than the optimum value of (8.3.2), and second
that defining <f>(v) :=the minimum length of an (r,i;)-dipath, for v in V, yields a
potential for which equality holds.
These results can also be derived from the total unimodularity of the corre-
sponding matrices.
If <f) is an integer potential on D = (V,A) with (f)(s) 4>(r) =t, then there exist
(r,s)-cuts Ci, ..., C
t
such that for each arc a =(u,v) the number of those i for
which arc a belongs to C, is at most <p(v) (f)(u). This then implies the following
combinatorial version of the max-potential min-work theorem, which seems to
have been first observed by FULKERSON (1968).
8.3 Flows, Paths, Chains, and Cuts 235
(8.3.4) Theorem. For any digraph D = (V,A) and any two different nodes
r,s e V, the maximum number of pairwise disjoint (r,s)-cuts is equal to the
minimum number of arcs in an (r,s)-dipath.
Both problems (8.3.1) and (8.3.2) can be solved in polynomial time by simple
algorithms, e. g., the ones by DIJKSTRA (1959), PRIM (1957), MOORE (1959), FLOYD
(1962), WARSHALL (1962).
The maximum potential problem (8.3.1) is an explicit linear program and can
hence be solved in polynomial time by Khachiyan's method as well. The shortest
(r,s)-dipath problem (8.3.2) is the dual of this linear program, namely (8.3.2) can
be written as:
r 0 i f r v ^ s,
(8.3.5) mmY
J
L^a-x{S
+
{v))-^x(S-(v)) =I - 1 if t? =r
aeA I 1 if v =S,
x
a
> 0 for all ae A .
The incidence vector of any (r,s)-di path is obviously a feasible solution of
(8.3.5). Suppose we have any opti mum solution x* of (8.3.5). We can construct
from x* an integral solution as follows. By depth-first search we can easily
find an (r,s)-di path in D =(V,A*) where A* = {a e A \ x*
a
> 0}. This di path
t>o>i>i,t;2, J ^)
sav
>
w
i
t n v
o = r, Vk = s, is a shortest (r, s)-dipath, since for the
opti mal potenti al </>* we have by compl ementary slackness - see (0.1.50) -
<t>*{vi) - (f)*{Vi-\) = l
Vl
_
lVl
, i = 1, ..., k,
and hence by addi ng these equati ons, <j>*{s) 0*(r) =l
VoVl
+l
VlV2
+ + h
k
^v
k
-
Another way to obtai n a shortest (r,s)-di path is to find an opti mum vertex
sol uti on of (8.3.5). From the total uni modul ari ty of (8.3.5) it follows that this is
the incidence vector of a shortest (r, s)-dipath.
Some of the al gori thms menti oned above allow negative lengths, provided
that no directed cycle of negative total length occurs. If we did not pose any
condi ti on like this the probl em woul d become J ^- compl ete.
When negative lengths occur we should be careful in deriving similar results
for undi rected graphs: replacing an undirected edge of negative length by two
oppositely ori ented arcs would create a directed cycle of negative length. Yet
the shortest path probl em for undi rected graphs is polynomially solvable also
if negative lengths occur, provi ded that no (undirected) circuit of negative total
length occurs. Thi s however is more difficult - see the remarks after (8.5.17).
Shortest di path al gori thms can be applied to solve several other combi natori al
opti mi zati on probl ems. The probl ems of finding a shortest directed cycle in a
di graph or a shortest circuit in a graph can be trivially reduced to the shortest
di path probl em. As a less trivial exampl e, consider the following probl em:
(8.3.6) Shortest Odd Cycle Problem. Given a digraph D = (V,A) and a length
function I : A ->Q
+
, find an odd directed cycle of minimum length.
236 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
Problem (8.3.6) can be solved by at most | V | applications of a shortest dipath
algorithm as follows. Split each node v e V into two nodes v\ and i;
2
. For each
arc (v,w) G A make new arcs (v\,W2) and (t>2,wi), both of length l
vw
. Let D
r
be
the digraph constructed this way. For each v e V, find a shortest (t;i,i?2)-dipath
in D'. The shortest among these dipaths will give us the shortest odd directed
cycle in D.
This algorithm also gives us a method to find a shortest odd circuit in an
undirected graph. The problem of finding a shortest even circuit in an undirected
graph with nonnegative edge lengths is also polynomially solvable. Namely,
this problem can be reduced trivially to || shortest odd path problems. This
latter problem can be reduced to a minimum weight perfect matching problem
by taking two copies of the graph and joining corresponding nodes by edges of
weight 0.
Because of the polynomial solvability of (8.3.6) one might expect similarly
that the even version of (8.3.6) is also easy. But at present it is not known
whether the problem of deciding whether a digraph contains an even directed
cycle is hard or easy. In fact, THOMASSEN (1985) showed that the problem of
deciding whether a digraph D = (V,A) contains an even resp. odd directed cycle
containing a prescribed arc a e A is cyf^-complete. This also implies that it is
./T^-complete to find a shortest dipath of even resp. odd length in a digraph.
As a side remark we mention that there are some open polyhedral questions
with respect to odd and even cycles, circuits and paths. Since - for nonnegative
weight functions - we can solve the shortest cycle and odd cycle problem
in digraphs and the shortest circuit, odd circuit, even circuit, odd path, and
even path problem in undirected graphs, we can minimize nonnegative weight
functions over the dominant of the convex hull of the incidence vectors of cycles,
odd cycles, circuits, odd circuits etc.. Hence by the ellipsoid method, for every
inequality c
T
x >y, c >0 valid for one of these dominants we can find inequalities
a\x > OL\, , a[x > &k defining facets of the dominant such that c =a\ +.. .-ha*
and y <ai +... +a* in polynomial time. But for none of these dominants is an
explicit description by a system of linear inequalities (let alone a list of facets)
known.
We now relate the results stated above to flow problems. Recall the following
fundamental problem of flow theory from Section 7.1.
(8.3.7) Maximum (r, s)-Flow Problem. Given a digraph D = (V,A), two different
nodes r,s e V and a capacity function c : A ->Q
+
, find an (r, s)-flow subject to c
of maximum value.
There are numerous good algorithms to solve the maximum flow problem
with which instances of tremendous sizes can be solved very quickly in practice.
As mentioned in Section 7.1, the most prominent algorithm among these is the
Ford-Fulkerson method. A polynomial implementation of this method was found
by DINITS (1970). Surveys of the state-of-the-art on theoretical efficiency can be
found in GALIL (1981) and PAPADIMITRIOU and STEIGLITZ (1982), and on practical
efficiency in GLOVER, KLINGMAN, MOTE and WHITMAN (1979), CHEUNG (1980),
8.3 Flows, Paths, Chains, and Cuts 237
TARJAN (1986). An interesting new method was recently discovered by GOLDBERG
and TARJAN (1986).
We have discussed that Ford and Fulkerson's algorithm directly also solves
the following problem:
(8.3.8) Minimum (r,s)-Cut Problem. Given a digraph D = (V,A), two different
nodes r,se V, and a capacity function c : A ->Q+, find an (r, s)-cut of minimum
capacity.
The famous max-flow min-cut theorem has already been stated in (7.1.4).
There is an alternative way of formulating this theorem. Notice that if D = (V,A)
is a digraph, r,s e V, and x is an integer (r,s)-flow of value t, then there exist
(r,s)-dipaths Pi, ..., P
t
in D such that for each arc a, the number of those i for
which arc a belongs to P; is at most x
a
. This implies:
(8.3.9) Max-Flow Min-Cut Theorem (second version). For any digraph D =
(V,A), any two different nodes r,s e V and any capacity function c : A ->2+,
the minimum capacity of an (r,s)-cut is equal to the maximum number of (not
necessarily distinct) (r,s)-dipaths such that each arc a is contained in at most c
a
of these dipaths.
This version of the max-flow min-cut theorem may be less appealing than
the original one, but there is an interesting point to make here. We have seen
that the problem of finding a minimum (r,s)-cut is equivalent to solving the
linear programming dual of the max-flow problem - cf. (7.1.1) and (7.1.3). Let
us try to treat the minimum cut problem more directly. Let S be the set of all
incidence vectors of (r,s)-cuts and consider the polyhedron conv(S) +R^, i. e.,
the dominant of conv(S). The Max-Flow Min-Cut Theorem (8.3.9) implies that
this polyhedron is determined by the inequalities
(8.3.10) x(P) > 1 for all (r,s)-dipaths P <=A,
x
a
>0 for all a e A.
And so, for c > 0, the minimum (r,s)-cut problem (8.3.8) is equivalent to the
linear program:
(8.3.11) mmc
T
x
x(P) > 1 for all (r,s)-dipaths P c A,
x(a) > 0 for all a e A.
Now the second version (8.3.9) of the max-flow min-cut theorem states that
if c is nonnegative and integral, problem (8.3.11) and its LP-dual have integral
optimum solutions.
These observations also show that the minimum cut problem can be reduced
to the shortest (r,s)-dipath problem using the ellipsoid method in a way different
from the treatment in Section 7.1. In fact, the shortest dipath problem is just
238 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
the separation problem for the polyhedron (8.3.10). So we can solve (8.3.11) in
polynomial time using a shortest dipath algorithm as separation subroutine.
Moreover, we can determine an optimum dual solution of (8.3.11) which
yields a maximum (r,s)-flow. Thus, also in this manner the ellipsoid method
gives us a (quite inefficient) polynomial time max-flow algorithm.
The second version of the max-flow min-cut theorem (8.3.9) implies a classical
theorem of MENGER (1927). Namely, if we take all capacities equal to 1 in (8.3.9)
we obtain:
(8.3.12) Menger's Theorem. For any digraph D = (V,A) and any two different
nodes r,se V, the maximum number of pairwise arc-disjoint (r, s)-paths is equal
to the minimum cardinality of an (r,s)-cut.
In turn, one can derive (8.3.9) from (8.3.12) by replacing each arc a by c(a)
parallel arcs.
Konig's matching theorem (8.2.3) is a special case of Menger's theorem. To
see this, let G (V,E) be a bipartite graph, say with color classes V\ and Vi.
Then orient the edges of G from V\ to V2, add two new nodes r and s, and
add arcs (r, v) for each v in V
u
and arcs (v,s) for each v in V
2
. Then Menger's
theorem for this directed graph gives Konig's matching theorem. Also Theorem
(8.2.6) can be derived in a similar way from the max-flow min-cut theorem. In
fact, ORDEN (1956) and HOFFMAN (1960) showed that by a direct construction
also the converse implication holds.
The pairs of problems described above (shortest path and maximum flow) are
contained in one problem, the minimum cost flow problem:
(8.3.13) Minimum-Cost Flow Problem. Given a digraph D = (V
9
A), two
different nodes r,s e V and a capacity function d : A - Q
+
, a cost function
c : A Q
+
, and a rational number t, find an (r, s)-flow x, subject to the capacity
function d, of value t, and with minimum cost Y^aeA
c
a
x
a-
The minimum-cost flow problem (8.3.13) can be solved with the famous
"out-of-kilter" method developed independently by YAKOVLEVA (1959), MINTY
(1960), and FULKERSON (1961). This algorithm works very fast in practice; for
a polynomially bounded version seeEDMONDS and KARP (1972). TARDOS (1985)
found a strongly polynomial time algorithm for the minimum cost flow problem;
another such algorithm was given by ORLIN (1987).
The minimum-cost flow problem can be conceived of as a linear programming
problem, with a totally unimodular constraint matrix. This yields a min-max
relation for the minimum cost (and a good characterization) and gives that, if t
and d are integer, there is an integer minimum-cost flow. This also shows that
(8.3.13) can be solved by the ellipsoid method in polynomial time. By taking t = 1
and d =00 (or very large), problem (8.3.13) is equivalent to the shortest dipath
problem (8.3.2). By taking c =0, the problem is equivalent to the maximum
(r,s)-flow problem (for instance, by binary search over t).
Note that, e. g., also the transportation problems (8.2.11) and (8.2.12) are
special cases of the minimum-cost flow problem. But, as ORDEN (1956) and
8.3 Flows, Paths, Chains, and Cuts 239
HOFFMAN (1960) observed, also the converse is true! (See FORD and FULKERSON
(1962) and PAPADIMITRIOU and STEIGLITZ (1982).)
A similar analysis can be made when studying flows satisfying lower bounds
instead of upper bounds. This will lead to results analogous to the above. First
consider the following problem.
(8.3.14) Minimum (r,s)-FIow Problem. Given an acyclic digraph D = (V,A),
two different nodes r,s e V such that each arc ofD is contained in some (r
9
s)-
dipath, and a "requirement" function d : A-+ <Q
+
, find an (r,s)-flow x satisfying
x > d with minimum value.
(The restrictions on D and r and s made here and below seem necessary,
as otherwise the problems may become meaningless (by unboundedness or in-
feasibility), and since arcs contained in directed cycles or not contained in any
(r,s)-dipath may be contracted or deleted.)
It is not difficult to derive from any max-flow algorithm an algorithm for
problem (8.3.14). Indeed, let xo be an integer (r,s)-flow such that x
0
>d (which
exists by the assumptions), and let M be a large number. Then the minimum (r,s)-
flow problem is equivalent to the maximum (r, s)-flow problem for the capacity
function MXQ d. Moreover, this construction yields that the optimum value
for (8.3.14) is equal to the optimum value of the following problem, where an
(r,s)-dicut is an (r,s)-cut of the form d
+
(V), with r e V\ s 4 V and d~(V
f
) =0.
(8.3.15) Maximum (r,s)-Dicut Problem. Given D, r, s, d as in (8.3.14), find an
(r,s)-dicut of maximum requirement.
Note that the following related problem is J ^-compl ete, as was shown by
KARP (1972).
(8.3.16) Maximum (r,s)-Cut Problem. Given a digraph (or graph) and two
nodes r and s, find an (r,s)-cut (or [r,s]-cut) of maximum cardinality.
By the construction described above, the Max-Flow Min-Cut Theorem (7.1.4)
gives:
(8.3.17) Min-Flow Max-Cut Theorem. For D, r, s, d as in (8.3.14), the minimum
value of an (r,s)-flow x with x > d is equal to the maximum requirement of
an (r,s)-dicut. Moreover, ifd is integer there exists an integer flow of minimum
value. O
This result can be derived alternatively from the total unimodularity of the
corresponding matrix. Since an integer (r,s)-flow in an acyclic directed graph
can always be decomposed into a sum of incidence vectors of (r,s)-dipaths, the
following theorem is equivalent to (8.3.17):
(8.3.18) Theorem. For any acyclic digraph D = (V,A), and any r, s in V
such that each arc ofD is contained in some (r,s)-dipath, the minimum number
of {r,s)-dipaths needed to cover A is equal to the maximum size of an (r,s)-
dicut.
a
240 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
It is not difficult to see that Theorem (8.3.18) is equivalent to a classical
theorem of DILWORTH (1950). Recall that a chain (antichain) in a partially
ordered set is a set of pairwise comparable (incomparable) elements.
(8.3.19) Dilworth's Theorem. If (X, <) is a partially ordered set, then the
minimum number of chains needed to cover X is equal to the maximum size of
an antichain.
One easily derives Konig's edge covering Theorem (8.2.4) and Theorem (8.2.7)
as special cases of each of the last three theorems above.
Polynomial algorithms to find maximum antichains and minimum coverings
by chains can be derived from any maximum flow algorithm.
Again, there are easier parallel problems to these results, in terms of potentials.
Consider the following problems.
(8.3.20) Minimum Potential Problem. Given an acyclic digraph D = (V ,A),
r,s e V', and a length function I : A - Q
+
, find a potential </ >: V - Q such that
(f>(v) <p(u) > 1(d) for each arc a = (u, v), and such that 0(s) (j)(r) is as small as
possible.
(8.3.21) Longest Dipath Problem. Given a directed graph D =(V,A), ^e V,
and a length function I : A - Q
+
, find an (r,s)-dipath of maximum length.
In general, this second problem is ./^-complete. (The first is just a linear
program.) However, for acyclic digraphs there is an easy, straightforward way to
solve the problems (8.3.20) and (8.3.21) in polynomial time. This method is the
basis of widely used project scheduling methods like PERT and CPM. In fact,
the optimum values of (8.3.20) and (8.3.21) for acyclic digraphs are the same:
(8.3.22) Min-Potential Max-Work Theorem. For any acyclic digraph D = (V,A),
two different nodes r,s e V, and any length function I : A ->Q+, the minimum
value of(j)(s) (j>(r), where </ >is a potential such that <j){v) (j)(u) > 1(d) for each
arc a =(w,f), is equal to the maximum length of an (r,s)-dipath. If I is integer
then there is an optimum potential that is integer.
Interpretation: l
a
is the time needed for the job represented by arc a, and
<j)(s) <f)(r) is the time needed for the total project. So by (8.3.22), the minimum
time to finish the whole project (min-potential) equals the maximum time spent
on a series of jobs (max-work).
Again, one easily derives the following equivalent theorems.
(8.3.23) Theorem. If D = (V\A) is an acyclic digraph and r, s are different
nodes ofD such that each arc ofD is contained in some (r,s)-dipath, then the
maximum number of arcs in an (r,s)-dipath is equal to the minimum number of
(r, s) -dicuts needed to cover A.
8.3 Flows, Paths, Chains, and Cuts 241
(8.3.24) Theorem. If{X, <) is a partially ordered set, then the maximum size of
a chain is equal to the minimum number ofantichains needed to cover X.
Similarly to the combination of the max-flow and the shortest path problems
to the minimum-cost flow problem, the problems above can be combined to a
"maximum-gain" flow problem.
(8.3.25) Maximum-Gain Flow Problem. Given an acyclic digraph D = (V,A),
different nodes r, s ofD such that each arc ofD is contained in some (r,s)-dipath,
a requirement function d : A - Q
+
, a gain function c : A -+ Q
+
, and a rational
number t, find an (r,s)-flow x of value t satisfying x > d of maximum gain
Y*eA c(a)x(a).
By the total unimodularity of the corresponding matrix one easily derives a
good characterization (a min-max relation) for (8.3.25). It also yields that if d
and t are integral, there is an integer optimum flow. It is not difficult to derive
the minimum (r, s)-flow problem (8.3.14) and the longest path problem (8.3.21)
for acyclic digraphs as special cases. Moreover, the maximum-gain flow problem
can be reduced to the minimum-cost flow problem (8.3.13) in the same way as
we reduced the minimum (r,s)-flow problem (8.3.14) to the maximum (r,s)-flow
problem (8.3.7). Hence, also problem (8.3.25) is polynomially solvable.
Finally, we consider the combined case of flows satisfying upper and lower
bounds, or, rather, we consider circulations. Given a directed graph D = (V,A)
y
a circulation is a function x : A ->Q+such that for each node v of D one has
(8.3.26) x(S-(v)) = x(8+(v)).
Now the following problem contains both the minimum-cost flow problem and
the maximum-gain flow problem.
(8.3.27) Minimum-Cost Circulation Problem. Given a digraph D = (V\A\
functions d
u
d
2
: A ->Q
+
and a cost function c : A - Q, find a circulation x
satisfying d
x
< x < d
2
such that J^aeA c{a)x(a) is as small as possible.
This problem reduces to the minimum-cost (r,s)-flow problem (8.3.13) in case
c > 0 and d\ has only one nonzero component. Similarly the max-gain flow
problem (8.3.25) is contained in (8.3.27).
Again a min-max relation follows from the total unimodularity of the inci-
dence matrix of D. Moreover, if d
{
and d
2
are integral such that (8.3.27) has
an optimum solution then there is an integer optimum circulation. Note that if
c = 0, (8.3.27) reduces to the existence problem for circulations - see HOFFMAN
(1960).
The minimum-cost circulation problem can be solved in polynomial time by
adapting the out-of-kilter method of Yakovleva, Minty and Fulkerson for the
minimum-cost flow problem. In fact, this algorithm also solves the following,
even more general problem.
242 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
(8.3.28) Problem. Given a digraph D = (V,A), and functions r\,ri : V ->Q
and d\,d2,c : A - Q, /md a function x : /4 -* R sac/? r/?a di < x <^2 a^d
r\(v) < x(S~(v)) x(S
+
(v)) < r2(v) for each vertex v, and such that YuaeA c(a)x(a)
is as small as possible.
Clearly, problem (8.3.28) contains many of the problems treated in this section
and in the previous section on bipartite graphs as special cases.
The total unimodularity of the incidence matrix of D gives a good charac-
terization for problem (8.3.28) and the integrality of an optimum solution, if r
t
,
r2, du and d^ are integer. Thus, problem (8.3.28) (and therefore all its special
cases) can be viewed as explicit linear programs, and hence they can be solved
with Khachiyan's version of the ellipsoid method in polynomial time. Integral
optimum solutions (given integral constraints) can be obtained by calculating
optimum vertex solutions.
*8.4 Trees, Branchings, and Rooted and Directed Cuts
In Section 8.3 we studied problems on connecting one specified pair of nodes
in a digraph by dipaths or flows. We now look at problems in which we wish
to connect several pairs of nodes at the same time. That is, instead of (r,s)-
dipaths we consider sets of arcs which connect all given pairs (rus\), ..., (r
t
,s
t
).
(This type of problems differs from the one to be treated in Section 8.6 on
multicommodity flows, where we consider sets of arcs which connect at least one
of the given pairs (r\,s\), ..., (r
t
,s
t
). As dual combinatorial objects we obtain in
this section cuts that separate at least one pair among the given pairs, whereas
in Section 8.6 on multicommodity flows, cuts are studied that separate all given
pairs of nodes.)
Arborescences and Rooted Cuts
We first study arborescences and rooted cuts, a subject to which we gave an
introduction in Section 7.2. Recall that an arborescence in a digraph D = (V\A)
is a set A' of arcs making up a spanning tree such that each node of D is entered
by at most one arc in A'. It follows that there is exactly one node r that is not
entered by any arc of A
1
. This node is called the root of A', and A
r
is called
rooted in r, or an r-arborescence.
So an r-arborescence has exactly | V \ 1 arcs, and contains a unique (r, v)-
dipath, for each node v of D. In fact, r-arborescences can be considered as the
inclusion wise minimal sets of arcs that contain (r, v) -dipaths for all v in V.
Now consider the following analogue of the shortest dipath problem (8.3.2):
(8.4.1) Shortest r-Arborescence Problem. Given a digraph D = (V,A), a node
r e V, and a length function I : A - Q, find an r-arborescence of shortest length.
Note that / may have negative values, so that the problem of finding a longest
r-arborescence is included. CHU and Liu (1965), EDMONDS (1967a), BOCK (1971),
and TARJAN (1977) designed polynomial algorithms to solve this problem. The
8.4 Trees, Branchings, and Rooted and Directed Cuts 243
fastest method to solve (8.4.1) known at present is described in GABOW, GALIL,
SPENCER and TARJAN (1986). It turned out that the the algorithms for the shortest
r-arborescence problem also solve the following dual problem:
Given a digraph D = (V,A), a node reV, and a length function I :A-^Z
+
,
find a maximum family of (not necessarily distinct) r-cuts such that no arc a
is contained in more than 1(d) of these r-cuts.
There is a difficulty with the posing of this problem since the output may
take exponential space. For example, if all lengths 1(a) are equal to the same
value L then the solution contains at least L r-cuts while the input has size
0(| V |
2
log L). Therefore, we have to encode the output more compactly by listing
only the distinct cuts together with their multiplicity. This leads to the following
formulation of the problem.
(8.4.2) Rooted Cut Packing Problem. Given a directed graph D = (V,A),r e V,
and a length function I : A - Z
+
, find r-cuts C\, ..., Ck and nonnegative integers
k\, .., kk such that for each arc aofD the sum
i fl eC
^
i 5 not m
re than 1(a)
and such that k\ +... +kk is as large as possible.
It follows from the results below that there is always an optimum solution of
(8.4.2) with at most 2\V\ 1 distinct r-cuts. The solution of (8.4.2) can therefore
be described in space polynomial in the input length of the problem. In fact,
FULKERSON (1974) showed that for nonnegative integral /, the optimum values of
(8.4.1) and (8.4.2) are equal, and hence the following theorem follows.
(8.4.3) Fulkerson's Optimum Arborescence Theorem. For any digraph D =
(V,A), any node r in V, and any length function I : A ->Z
+
, the minimum
length of an r-arborescence is equal to the maximum number of (not necessarily
distinct) r-cuts such that each arc a ofD is contained in at most 1(a) of them.
(Note that the cardinality version (/ =1) is trivial.) Fulkerson's theorem
(8.4.3) can be equivalently stated as: the clutter of r-cuts has the Z+-MFMC
property. In other words, both sides of the linear programming duality relation
(8.4.4) mi n^/
a
Xa = max ^T k
c
aeA C r-cut
x(C) > 1 for all r-cuts C ^ A, ]T k
c
< l
a
for all aeA,
C r-cut
aeC
x
a
>0 for all aeA, k
c
>0 for all r-cuts C,
have integer optimum solutions, if / 6 Z^. This in particular implies that the
solution set of the minimization problem in (8.4.4) is the polyhedron conv{/ e
IR/
4
| Br-arborescence in /)}+R+, i. e., is equal to the dominant of the convex hull
of incidence vectors of r-arborescences (see also Section 7.2). We have shown in
Section 7.2 that the minimization problem in (8.4.4) can be solved in polynomial
time using the ellipsoid method with a minimum capacity r-cut algorithm as
244 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
separation subroutine. As we can find an optimum vertex with the ellipsoid
method, we can find an integer optimum solution, and thus we can solve the
shortest r-arborescence problem (8.4.1) in polynomial time.
With the ellipsoid method, we can also find an optimum dual solution, but
we do not know a direct way to find an integer optimum solution, although
we know that integral optimum solutions to the minimization problem in (8.4.4)
exist. There is, however, an ad-hoc trick to construct an integral optimum
solution from a fractional one. The method goes as follows.
Suppose we have found an optimum fractional solution Ac,, ..., ^c
k
to the
maximization problem in (8.4.4). Without loss of generality X
c
, > 0 for i =
1, ..., k. We can trivially find nonempty subsets Si, ..., S
k
^ V \ {r} such that
C, =S~(Sj), i = 1, ..., k. From the system Si, ..., Sk of node sets we want to
construct a new system S|, ..., S
k
, ^ V \ {r} such that no two sets cross, i. e.,
such that S/ H Sj ^0 implies S/ c sj or Sj c S/. We proceed by the following
uncrossing technique. If S, H Sj = 0, S, S
7
, and Sj S,- then we set
(8.4.5) e = min{J,5-(
5|
),Aa-(s,)}, and we reset
= h-(Sj) ^
= A8-(s,ns,) +
This means, we replace the two sets S, and Sj in the system {Si, ..., Sk} by
Si U Sj
9
Si n Sj and one of the sets S S
;
, and adjust the A's such that the new A's
form an optimum dual solution. It is easy to see that after a finite number of
steps a cross-free collection S{, ..., S'
k
, ^ K is obtained with associated values
Aj, . ..J AJ J /. In fact, one can prove that 0(|K|
2
) uncrossing steps (8.4.5) suffice
to get such a collection - cf. the proof of Theorem (10.3.28). Now consider the
following linear programming problem (restricted dual):
k'
(8.4.6) max/x
5
-(s;)
]|r I*5-(s;) < L for all aeA,
aeS-{S;)
li6-iS!) >0 1= 1, ...,fc'.
Since the values Aj, ...,A
r
fc/
constructed above form a feasible solution of
(8.4.6) we know that the optimum value of (8.4.6) is the same as the optimum
value of the minimization problem in (8.4.4). Moreover, since the node sets
S{, ..., S'
k
, are crossfree, the constraint matrix in (8.4.6) is totally unimodular -
see EDMONDS and GILES (1977). This shows that (8.4.6) has an integer optimum
solution, which we can compute in polynomial time with the ellipsoid method.
This solution is of course also an integral optimum solution to the maximization
problem in (8.4.4) and therefore an optimum solution to the rooted cut packing
problem (8.4.2).
8.4 Trees, Branchings, and Rooted and Directed Cuts 245
The Shortest Dipath Problem (8.3.2) and Theorem (8.3.4) are special cases of
(8.4.1) and (8.4.3): to find a shortest (r, s)-dipath, add arcs (s
9
v) for all v in V,
with length 0, and solve the shortest r-arborescence problem.
Furthermore, the shortest r-arborescence problem is easily seen to be equiva-
lent to the following problems.
(8.4.7) Shortest Arborescence Problem. Given a digraph D ={V,A) and a length
function I : A-+Q, find an arborescence of minimum length.
A branching in a directed graph D =(V,A) is a set A! of arcs not containing
circuits such that each node of D is entered by at most one arc in A' (so the arcs
in A make up a forest).
(8.4.8) Longest Branching Problem. Given a digraph D = (V,A) and a function
I : A ->Q, find a branching of maximum length.
EDMONDS (1967a) not only designed a polynomial time algorithm to solve
(8.4.8), but also gave a complete linear characterization of the branching polytope.
He proved
(8.4.9) conv{x
B
e *L
A
| B c A branching } =
= {xeWL
A
\ (1) x(S-(v))<\ f oral l yeF,
(2) x(A(lV)) < \W\ - 1 for all 0 W c y
9
(3) x
a
> 0 for all a e A}.
This relates to the theory discussed in Section 7.5. The polytope defined by the
system of inequalities (2) and (3) is a matroid polytope, the vertices of which are
the incidence vectors of the forests in D. Since the strong separation problem for
matroid poly topes is solvable in polynomial time, and since the inequalities (1)
in (8.4.9) are easy to check by substitution, we have a polynomial time algorithm
to solve the separation problem for the inequality system (1), (2), (3). Hence,
the polynomial time solvability of the longest branching problem (8.3.8) follows
from the ellipsoid method. In fact, as we saw in Section 7.5, there is another
matroid hidden in this problem. Inequalities (1) and (3) define a polytope whose
vertices are the incidence vectors of the partition matroid on A defined by the
partition S~(v)
9
v e V - cf. (7.5.19). So the branching polytope (8.4.9) can be
viewed as the intersection of two matroid polytopes and therefore our analysis
of the 2-matroid intersection problem in Section 7.5 applies for this case.
We have seen a linear description of the convex hull of incidence vectors of
r-arborescences (Section 7.2). It is easy to derive from (8.4.9) a linear description
of the convex hull of the incidence vectors of all arborescences of a digraph D.
One can simply add the equation x(A) = n- 1 to the system (1), (2), (3) in (8.4.9)
to obtain such a characterization. This gives another possible line of attack on
the shortest arborescence problem (8.4.7) via the ellipsoid method.
Again, as we did with flows, these problems and results can be "dualized".
(8.4.10) Minimum Rooted Cut Problem. Given a digraph D = (V,A),a node r
ofD, and a capacity function c : A ->Q
+
, find an r-cut of minimum capacity.
246 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
(8.4.11) Arborescence Packing Problem. Given a digraph D = (V\A)
y
a node r
ofD, and a capacity function c : A ->7L
+
, find nonnegative integers Ai, ..., Ak
and r-arborescences Bu ..., Bk such that, for each arc a of D, the sum Y^iaeB h
is at most c(d), and such that Ai +... -f Xk is as large as possible.
EDMONDS (1973) showed that both problems (8.4.10) and (8.4.11) have the
same optimum value:
(8.4.12) Edmonds
9
Disjoint Arborescence Theorem. For any digraph D = (V,A)
and any node r of D, the minimum cardinality of an r-cut is equal to the
maximum number of pairwise disjoint r-arborescences.
Edmonds' theorem (8.4.12) is equivalent to the fact that the clutter of r-
arborescences has the 2K+-MFMC property. In other words, both sides of the
linear programming duality relation
(8.4.13) min / c
a
x
a
= max ^Ag
aeA B
x(B) > 1 for all Bestf, ]T AB < Ca for all a e A,
B3a
x
a
>0 for all aeA, X
B
> 0 for all 5 ei ,
have integral optimum solutions, if c e Z+ (where stf is the set of all r-
arborescences in D). This in particular implies that the solution set of the
minimization problem in (8.4.13) is the polyhedron conv{^
c
e 1R/
4
| C r-cut in
D} +1R+, i. e., is equal to the dominant of the convex hull of incidence vectors of
r-cuts. This last statement also follows from Fulkerson's optimum arborescence
theorem (8.4.3) via Lehman's theorem (8.1.5). However, the integrality of the
dual solution does not follow from (8.4.3) via (8.1.5). We have seen in Section 7.2
that not only the dominant but also the convex hull ARB(D) of the incidence
vectors of the r-arborescences of D can be described by a nice system of linear
inequalities. In particular one can optimize over ARB(D) in polynomial time.
This does not remain true for the convex hull of the incidence vectors of r-cuts.
In fact, it is J ^-complete to find a maximum size r-cut.
It is not difficult to show that the minimum rooted cut problem is polynomially
solvable: to this end just solve the minimum (r,s)-cut problem for each node
5 ^r, and take the minimum of the optimum values. TARJAN (1974) and LOVASZ
(1976) showed that the arborescence packing problem (8.4.11) can be solved in
polynomial time if c(a) =1 for all aeA.
Problem (8.4.11) can be reduced to the case c = t by replacing each arc a
by c
a
parallel arcs. But this reduction is not polynomial. However, a polynomial
time reduction can be obtained using the ellipsoid method as follows.
First consider the dual pair of linear programs (8.4.13), where c e Z+. As
mentioned above, for any objective function the primal problem in (8.4.13) is
equivalent to finding a minimum r-cut and therefore it is easily solved. Hence we
can also find a basic optimum dual solution in polynomial time, say y*. So y*
has no more than \A\ positive components. Set
(8.4.14) J
a
:=[() - \y\\)\ for all a A.
B3a
8.4 Trees, Branchings, and Rooted and Directed Cuts 247
Clearly, y
B
- \y
m
B
\, is an optimum solution for the maximization problem in
(8.4.13) if we replace c by d (in fact, / - [ . / J is a feasible solution in (8.4.13) and
satisfies the complementary slackness conditions with the same optimal primal
solution). Conversely if, say z\ is any optimal solution of the dual problem with
capacities c\ then \y*\ +z* is an optimum solution for the original capacities c.
So it suffices to find an integral optimum solution for the capacities c'. But for
these new capacities the trivial reduction of adding parallel arcs described above
works in polynomial time, since c
r
a
< \A\ for all ae A.
Observe that this algorithm is only strongly polynomial if we allow rounding
as an elementary operation. As pointed out to us by A. Frank, the proof
of (8.4.12) given by MADER (1983) can be turned into a strongly polynomial
algorithm for the arborescence packing problem, which is strongly polynomial
even in the stronger sense.
So, to a large extent there exists an analogy between (r, s)-dipaths and (r,s)-
cuts on the one side and r-arborescences and r-cuts on the other side. There arise
more complications if we do not want to fix r either. When pursuing analogy, we
will arrive at the problem of connecting all pairs of nodes in a directed graph.
Therefore, consider the following problem.
(8.4.15) Minimum Strongly Connected Subdigraph Problem. Given a digraph
D = (V
9
A) and a length function I : A ->Q
+
, find a set A' of arcs such that
(V\A') is strongly connected and A' has minimum length.
However, this problem is yK^-complete (as the asymmetric traveling salesman
problem is included). Also the problem of packing strongly connected subdigraphs
turns out to be >^-complete. Yet, the following problem can be solved in
polynomial time, e.g., by applying \V\ (\V\ - 1) times a minimum (r,s)-cut
algorithm (in fact, | V | applications suffice):
(8.4.16) Minimum Cut Problem. Given a digraph D = (V,A) and a capacity
function c : A ->Q
+
, find a cut of minimum capacity.
Trees and Cuts in Undirected Graphs
Some optimization problems for directed graphs turn out to be easier in their
undirected version.
(8.4.17) Minimum Spanning Tree Problem. Given an undirected graph G =
(V,E) and a length function I : E ->Q, find a spanning tree of minimum length.
This problem is the undirected analogue of (8.4.15). It is polynomially
solvable, e.g., by the optimum arborescence methods treated above; much simpler,
however, by the greedy algorithm, since spanning trees form the bases of the
graphic matroid of a graph - see BORUVKA (1926), KRUSKAL (1956), PRIM
(1957), DIJ KSTRA (1959), YAO (1975), CHERITON and TARJ AN (1976). The - at
present - theoretically fastest method for solving (8.4.17) is described in GABOW,
GALI L, SPENCER and TARJ AN (1986). An account of the history of spanning tree
248 Chapter 8. Combinatorial Optimization: A Tour cTHorizon
algorithms can be found in GRAHAM and HELL (1985). Since lengths may be
negative, the maximum spanning tree problem is included in (8.4.17).
One may ask for a min-max relation corresponding to (8.4.17). The most
obvious one in terms of packing of cuts turns out not to hold, but a good
characterization in terms of more general cuts was given by EDMONDS (1970).
A fractional version of the minimum spanning tree problem is as follows.
(8.4.18) Problem. Given an undirected graph G = (V,) and a length function
I : E - Q
+
, find a nonnegative vector x e JR

such that x(5{W)) > 1 for each set


W of nodes with 0 ^W ^ V and such that Y^eeE l(
e
)
x
(
e
) *
s as
small as possible.
Note that requiring x to be integer makes the problem equivalent to the
minimum spanning tree problem, but that requiring x to be half-integer (i. e.,
x
e
e \ TL for all e e E) would make the problem J ^-complete as the symmetric
traveling salesman problem would be included. However, requiring x to be
just fractional gives again a polynomially solvable problem (which can be used
as lower bound in a branch-and-bound procedure for the traveling salesman
problem). In fact, the following more general problem is polynomially solvable.
(8.4.19) Network Synthesis Problem. Given a natural number n, and nonnegative
integers ly, r,y for 1 <i < j < n, design a graph G on n nodes with (possibly
fractional) capacities c,y on edge ij (1 <i <j < n), such that between every pair
ij of nodes there exists an [i J]-flow (subject to c) of value at least ry, and such
that the cost Xi<;<;< lyCy is as small as possible.
By the max-flow min-cut theorem (7.1.4), problem (8.4.18) is the special case
of (8.4.19) where r
tj
= 1 for all ij.
GOMORY and Hu (1964) showed that the network synthesis problem is poly-
nomially solvable if Uj = 1 for all ij. BLAND, GOLDFARB and TODD (1981) showed
that the general problem is polynomially solvable with the ellipsoid method.
To see this, problem (8.4.19) can be viewed as the following linear program:
(8.4.20) min ^ l^xy
\<i<j<n
x(S(W)) > r
i}
for all W c V with ieWJ eV\W,
Xy >0 for 1 <i < j < n.
The separation problem for the feasible region of (8.4.20) can be easily solved by
running ('2') minimum [ij]-cut algorithms. A similar approach works for the
directed case.
Now consider the dual problems of minimizing cuts and packing spanning
trees in undirected graphs.
(8.4.21) Minimum Cut Problem (undirected case). Given a graph G = (K,E)
and a capacity function c : E Q+, find a cut of minimum capacity.
Clearly, this problem can be solved in polynomial time, for instance, by
solving \ \V\ (|F| 1) times a minimum [r,s]-cut problem. GOMORY and Hu
8.4 Trees, Branchings, and Rooted and Directed Cuts 249
(1961) - cf. Hu (1969) - showed that the following problem (which includes
the minimum cut problem) can be solved by applying not more than | V \ 1
minimum [r, s]-cut algorithms.
(8.4.22) Multiterminal Flow Problem. Given a graph G =(V,E) and a capacity
function c : E Q
+
, find, for all r, s in V, an [r,s]-cut of minimum capacity.
In fact, minimum cuts for all pairs of nodes can be described in the following
compact and elegant form. Let G =(V ,E) be an undirected graph and c : E
Q+ a capacity function. A Gomory-Hu tree for G is a tree T = (V,F) on the
same set of nodes such that, for each edge ij e F, the cut C
t
j of G formed by
those edges of G connecting the two components of T ij is a minimum [fj]-cut
in G. We define the capacity d,y of ij e F as the capacity of C
Vi
in G. (Note that
F is not necessarily a subset of E !) It follows that for any two nodes r,s e V a
minimum [r,s]-cut in G can be found by selecting an edge ij e F on the unique
[r,s]-path in T such that dy is minimum. Then the cut Cy is a minimum [r,s]-cut
in G. This implies that the Gomory-Hu tree is flow-equivalent, i. e., for any pair
r,se V the maximum value of an [r, s]-flow in G is the same as that in T.
(8.4.23) Theorem. Each undirected graph with nonnegative capacities has a
Gomory-Hu tree.
Such a tree can be found in polynomial time by choosing \V\ 1 cuts
recursively so that each new cut is a minimum cut for some pair of nodes which
was not yet separated by the previously chosen cuts and which does not cross
the previously chosen cuts. A pair of nodes ij is then connected by an edge ij in
T if and only if it is separated by exactly one of the cuts chosen, and dy is equal
to the capacity of this cut - for details see Hu (1969).
In contrast to the minimum cut problem, the following problem (even in its
noncapacitated version) is ./K^-complete (KARP (1972)):
(8.4.24) Maximum Cut Problem. Given an undirected graph G = (V,) and a
capacity function c : E Q, find a cut of maximum capacity.
It is customary to consider, in this case, the empty set also as a cut. Even
though this problem is J ^-compl ete, it is worthwhile to see what the polyhedral
approach gives. Let G = (V,E) be an undirected graph, and let CUT(G) denote
the convex hull of the incidence vectors of the cuts of G. As usual, by solving
max c
T
x, x e CUT(G)
we can solve the maximum cut problem for G. The cut polytope CUT(G) and
the closely related bipartite subgraph polytope have been studied in BARAHONA,
GROTSCHEL and MAHJ OUB (1985) and BARAHONA and MAHJ OUB (1986). It is easy
to see that the inequalities
(8.4.25) (i) 0 <x
e
< 1 for all eeE,
(ii) x(F) - x(C \ F) < \F | - 1 for all circuits C c E
and all F c C with \F\ odd
250 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
are valid for CUT(G). In fact, the inequalities (i) define facets of CUT(G), if e is
not contained in a triangle, and (ii) defines a facet, for each F ^C with |F| odd,
if C has no chord. Moreover, the integral vectors satisfying (8.4.25) (i), (ii) are the
vertices of CUT(G). So, max{c
T
x \ x satisfies (8.4.25) (i), (ii), and x integer} is an
integer programming formulation of the maximum cut problem. BARAHONA and
MAHJ OUB (1986) have shown that the solution set of (8.4.25) is equal to CUT(G)
if and only if G has no subgraph contractible to K
5
(this result also follows from
SEYMOUR (1981b)); hence in this case, (8.4.25) provides an LP-formulation of
(8.4.24).
We now show that the separation problem for the system (8.4.25) can be solved
in polynomial time for any graph G =(V
9
E). So choose v e Q

. We first check
whether 0 <y
e
< 1 for all e e E by substitution. If not, a separating hyperplane
is at hand. Otherwise we construct a new graph H = (V U V",E' U E" U E"')
consisting of two disjoint copies G' =(V',E') and G" =(K",") of G and an
additional edge set E
m
that contains, for each uv e , the two edges wV, i/V. The
edges vlv' e E' and u'V e E" get the weight y
UV9
while the edges wV',t/V e E'"
get the weight 1 y
uv
. For each node ue V, we calculate a shortest (with respect
to the weights just defined) path in H from u! e V to u" e V". Such a path
contains an odd number of edges of E
f
" and corresponds to a closed walk in G
containing u. Clearly, if the shortest of these [t/,M"]-path has length at least 1
then y satisfies (8.4.25) (ii), otherwise there exists a cycle C and a set F c c, |F|
odd such that y violates the corresponding inequality.
This separation algorithm - due to BARAHONA and MAHJ OUB (1986) - yields,
via the ellipsoid method, a polynomial time algorithm for the solution of linear
programs over (8.4.25) for any graph, and thus, for graphs not contractible to
K5, a polynomial time algorithm for the max-cut problem. (For the special
case of planar graphs, polynomial time algorithms, that are based on matching
techniques (in fact, the T-join problem (8.5.17) comes up here) and planar
duality, were given by ORLOVA and DORFMAN (1972) and HADLOCK (1975); and
for graphs not contractible to K5, a combinatorial polynomial algorithm, based
on decomposition techniques and matching, was designed by BARAHONA (1983).)
Linear programs over (8.4.25) give very good bounds for the maximum weight
of a cut, as was demonstrated empirically in BARAHONA, GROTSCHEL, J UNGER
and REINELT (1986), where a cutting plane algorithm - using the simplex method
- is described with which real-world problems (from physics and layout design)
of considerable size could be solved to optimality. A (simpler) version of the
separation algorithm described above can also be used to design a polynomial
time (ellipsoidal) algorithm for the max-cut problem with nonnegative edge
weights in weakly bipartite graphs - seeGROTSCHEL and PULLEYBLANK (1981).
This class of graphs contains the graphs not contractible to X5, as was shown by
FONLUPT, MAHJ OUB and UHRY (1984).
Let us return to trees. The packing problem for spanning trees is also poly-
nomial^solvable - seeEDMONDS (1968), KNUTH (1973), GREENE and MAGNANTI
(1975):
8.4 Trees, Branchings, and Rooted and Directed Cuts 251
(8.4.26) Spanning Tree Packing Problem. Given an undirected graph, find as
many pairwise edge-disjoint spanning trees as possible.
Again we can formulate a weighted version:
(8.4.27) Capacitated Spanning Tree Packing Problem. Given an undirected
graph G = (V,E) and a capacity function c : E Z
+
, find nonnegative integers
ku -, kk and spanning trees T\, ..., T^ such that, for each edge e e E, the sum
Y,i,eeT, h
1S at mos
t
c
(
e
) and such that k\ +... + kk is as large as possible.
However, the optimum value of (8.4.27) can be less than the optimum value
of the minimum cut problem (8.4.21) (it cannot be more). NASH-WILLIAMS (1961)
and TUTTE (1961) derived a min-max relation corresponding to the capacitated
spanning tree packing problem (8.4.27). It is not difficult to reduce the spanning
tree covering problem to the spanning tree packing problem - cf. NASH-WILLIAMS
(1964). These results extend to the packing of bases in a matroid - see the end
of Section 10.2.
Dicuts and Dijoins
Recall that a set A! of arcs in a directed graph D = (V,A) is called a directed
cut or a dicut if A' =5~(V
r
) for some set V of nodes with 0 ^V =fc V and
d+(V') =0. A dicut covering, or a dijoin is a set of arcs intersecting each dicut.
It follows that a set A' of arcs is a dijoin if and only if the addition to D of all
arcs (v, u) for (w, i;) in A! makes D strongly connected (equivalently, if and only
if contracting the arcs in A! makes D strongly connected). Two natural problems
then are to ask for minimum dijoins and minimum dicuts.
(8.4.28) Minimum Dicut Problem. Given a digraph D = (V,A) and a capacity
function c : A - <Q
+
, find a dicut of minimum capacity
(8.4.29) Minimum Dijoin Problem. Given a digraph D = (V,A) and a length
function I : A -> Q+, find a dijoin of minimum length.
LUCCHESI and YOUNGER (1978) showed that the optimum values of these
problems are equal to the optimum values of the following "dual" problems.
(8.4.30) Dijoin Packing Problem. Given a digraph D = (V,A) and a capacity
function c : A-* H
+
, find nonnegative rationals k\, ..., kk and dijoins J\, ..., Jk
such that Y,i,aej, k ^
c
(
a
) f
r eac
h
arc a
>
dD
d
suc
^ that k\+... + kk is as large as
possible.
(8.4.31) Dicut Packing Problem. Given a digraph D = (V,A) and a length
function I : A -> TL+, find nonnegative rationals k\, ..., kk and dicuts Ci,...C^
such that Y,iaec h ^*(
a
) f
r ea
h
arc a
>
an<
^
su
h &at k\ + ... +kk is as large as
possible.
In the framework of blocking clutters, Lucchesi and Younger's result states
that the clutter of dicuts has the Q+-MFMC property. In terms of polyhedra it
is the following result.
252 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
(8.4.32) Theorem. Let D = (V,A) be a digraph. Then the dominant of the
incidence vectors of dijoins is determined by
(i) x
a
> 0 for all ae A,
(ii) x(C) > 1 for each dicut C c A.

By Lehman's theorem (8.1.5) we also have an analogous polyhedral descrip-
tion of the dominant of dicuts by interchanging the roles of dicuts and dijoins.
Lucchesi and Younger also showed that (8.4.31), always has an integral
optimum solution. As the optimum value is equal to that of (8.4.29), in a more
combinatorial way it can be formulated as follows.
(8.4.33) Lucchesi-Younger Theorem. For any digraph, the minimum cardinality
of a dijoin is equal to the maximum number ofpairwise disjoint dicuts.
This is equivalent to saying that the clutter of dicuts has the 2+-MFMC
property, and to saying that the system in (8.4.32) is TDI. However, SCHRIJVER
(1980b) showed by an example that the Z+-MFMC does not always hold for
the clutter of dijoins. This is another example showing that Lehman's theorem
cannot be extended to the Z+-MFMC property. But if D is acyclic and each pair
of source and sink is connected by a directed path, then the clutter of dijoins
has the Z+-MFMC property - seeFEOFILOFF and YOUNGER (1985), SCHRIJVER
(1982). Another such class is formed by those digraphs that can be obtained
from oriented trees by adding some of the arcs (w, v) for which the tree contains
a (w,i;)-dipath - seeSCHRIJVER (1983).
What does this mean algorithmically? The minimum dicut problem (8.4.28)
can easily be solved in polynomial time, e. g., by adding an arc (v,u) to D
for each arc (w, v) of D, where the new arc has high capacity. Then (8.4.28) is
reduced to the minimum cut problem (8.4.16). This implies by Theorem (8.1.10)
that also the other three problems (8.4.29), (8.4.30), and (8.4.31) are solvable
in polynomial time. We know by the Lucchesi-Younger theorem that the dicut
packing problem (8.4.31) has integral optimum solutions. Although Theorem
(8.1.10) does not directly supply these, we can construct from the fractional
optimum solution an integral one by applying uncrossing techniques similar to
those described earlier in this section for the rooted cut packing problem (8.4.2).
LUCCHESI (1976), FRANK (1981b), and A. V. Karzanov designed combinatorial
polynomial algorithms for (8.4.29) and (8.4.31). It is not known whether optimum
integral packings of dijoins can be found in polynomial time. In the special cases
mentioned above when the clutter of dijoins has the Z+-MFMC property, the
proofs yield polynomial time algorithms to find an optimum integral packing of
dijoins.
The following results (SCHRIJ VER (1982)) generalize the above results on
dijoins. Let D = (V,A) and D
f
= (V,A
f
) be digraphs, both with node set V. Call
a set A" of arcs of D a strong connector (for D
r
) if the digraph (V,A' U A") is
strongly connected. A set A" of arcs of D is called astrong cut (induced by D')
if there exists a set V of nodes with 0 ^V =fi K, such that no arc of D
f
enters
8.4 Trees, Branchings, and Rooted and Directed Cuts 253
V\ and A" is the set of arcs of D entering V. Now asking for a strong cut of
minimum capacity can be reduced to the minimum cut problem (8.4.16), and is
hence polynomially solvable. But the problem of finding a strong connector of
minimum length contains the minimum strongly connected subdigraph problem
(8.4.15) as special case (by taking A
f
=0), and is hence ^/T^-complete.
However, in some special cases one does have a good characterization.
(8.4.34) Theorem. Let D
r
= (V,A
r
) be a digraph such that D' is acyclic and each
source ofD' is connected to each sink ofD
r
by a dipath. Then for each digraph
D =(V,A) we have the following.
(a) For any length function I : A ->Z
+
, the minimum length of a strong connector
for D
f
is equal to the maximum number of (not necessarily distinct) strong
cuts such that each arc a of D is contained in at most 1(d) of these strong
cuts.
(b) For any capacity function c : A -+ TL+, the minimum capacity of a strong
cut is equal to the maximum number of (not necessarily distinct) strong
connectors such that each arc ofD is contained in at most c(d) of these strong
connectors.
This theorem means that under the conditions on D' stated above, the clutter
of minimal strong connectors as well as the clutter of minimal strong cuts have
the Z+-MFMC property. The problems and equalities contained in (8.4.34)
(a), (b) include those on shortest paths, maximum flows, minimum (r,s)-cuts,
minimum r-arborescences, maximum arborescence packings, minimum r-cuts,
r-cut packings, edge coverings in bipartite graph, stable sets in bipartite graphs,
and edge colorings in bipartite graphs.
As remarked above, the minimum strong cut problem can be solved in
polynomial time, hence we obtain by the same arguments as for dijoins that the
minimum strong connector problem can be solved in polynomial time for pairs
of digraphs satisfying the assumptions of Theorem (8.4.34). However, to obtain
integral dual solutions we refer to the special algorithm described in SCHRIJVER
(1982). Schrijver's algorithm is not strongly polynomial since it uses rounding of
rational numbers to integers.
The problem of minimum dijoins is related to the following. A set A of arcs
of a digraph D =(V,A) is called a feedback arc set if each directed cycle of D
contains at least one arc in A', i. e., if the digraph (V,A \ A') is acyclic.
(8.4.35) Minimum Feedback Arc Set Problem. Given a digraph D = (V,A) and
a length function I : A ->Q+, find a feedback arc set of minimum length.
In general, this problem (equivalent to the acyclic subgraph problem, where
a maximum length set of arcs containing no directed cycle is sought) is Jf&-
complete. However, for a planar digraph we can construct the planar dual. Then
directed cycles and feedback arc sets pass into dicuts and dijoins, respectively.
Hence the minimum feedback arc set problem passes into the minimum dijoin
problem, which is polynomially solvable. The Lucchesi-Younger theorem (8.4.32)
then gives the optimum value of the following problem.
254 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
(8.4.36) Directed Cycle Packing Problem. Given a digraph D = (V,A) and a
capacity function c : A -* Z
+
, find nonnegative integers k\
9
..., h and dicycles
C\,... Ck such that X/^eC, ^ ^
c
(
a
) f
r eacn arca an
d
sucn
that A\+... + Ak is as
large as possible.
For general digraphs this problem is ./(^-complete (also if we would skip the
condition of ^, being integer).
The Lucchesi-Younger theorem thus gives as a corollary:
(8.4.37) Theorem. In a planar digraph, the minimum cardinality of a feed-
back arc set is equal to the maximum number of pairwise arc-disjoint directed
cycles.
Again, one easily derives a weighted version from this theorem. Polyhedrally
this can be stated as follows. Consider the following system of inequalities for a
digraph D = (V,A):
(8.4.38) (i) x
a
> 0 for each aeA,
(ii) x(C) > 1 for each dicycle C c A.
(8.4.39) Corollary. IfD is planar, the dominant of the incidence vectors of the
feedback arc sets ofD is given by (8.4.38) (i), (ii).
Above, planarity is a sufficient but not a necessary condition. E. g., the
corollary holds trivially for all acyclic digraphs, and one can glue together planar
and acyclic digraphs in certain ways to get less trivial examples - for more detail
see for instance GROTSCHEL, J UNGER and REINELT (1985) and BARAHONA and
MAHJ OUB (1985).
Since we can find a shortest dicycle in polynomial time, the separation problem
for the solution set of (8.4.38) can be solved in polynomial time. Hence for all
digraphs for which the dominant of the incidence vectors of the feedback arc
sets is given by (8.4.38), a minimum feedback arc set can be found in polynomial
time. (These and further observations have been used in GROTSCHEL, J UNGER
and REINELT (1984) to design an empirically efficient cutting plane algorithm for
the closely related (^T^-hard) linear ordering problem with which large practical
problems can be solved to optimality.) Blocking theory, in particular Theorem
(8.1.5), implies that for these digraphs we also have a description of the dominant
of the incidence vectors of dicycles - see the remarks after (8.3.6).
*8.5 Matchings, Odd Cuts, and Generalizations
Flows, paths, trees, and branchings represent one stream of generalization of
the problems and results on bipartite graphs mentioned in Section 8.2. There is
another important stream of generalization, namely to matchings in arbitrary,
not necessarily bipartite, graphs. A preview of these results was given in Section
7.3. Now we go into the subject in greater depth.
8.5 Matchings, Odd Cuts, and Generalizations 255
TUTTE (1947) laid the foundation of optimum matching theory for nonbipartite
graphs by giving a good characterization for the existence problem for perfect
matchings - see Theorem (7.3.2). Further research in matching theory followed
- cf. TUTTE (1952, 1954), GALLAI (1950, 1963, 1964), ORE (1957, 1959), BERGE
(1958). The papers of EDMONDS (1965a, 1965b) brought the breakthrough
in the algorithmic side of matching, giving a polynomial algorithm for the
maximum (weighted) matching problem and an explicit linear characterization
of the polyhedra related to matching problems, thus describing the matching
problem as a linear program - cf. Theorem (7.3.5). Although these programs
have an exponential number of constraints, Edmonds was able to solve them in
polynomial time by using structural properties of the underlying combinatorial
problem.
Matching
Let us start with one of the most simple, but basic problems.
(8.5.1) (Cardinality) Matching Problem. Given an undirected graph, find a
matching of maximum cardinality.
BERGE (1958) derived the following result from Tutte's characterization (7.3.2)
of graphs with perfect matchings.
(8.5.2) Tutte-Berge Theorem. For any undirected graph G = (V',), the maxi-
mum size v(G) of a matching is equal to
\V\ + \V'\-odd(V\V)
mm
v^v 2
where odd(K \ V
f
) denotes the number of components in the subgraph G V
ofG with an odd number of nodes.
The Tutte-Berge theorem shows that the matching problem is in JV^OCO-AW,
EDMONDS (1965a) was the first to give a polynomial algorithm to solve (8.5.1),
thereby showing that it is in &. More recently, EVEN and KARIV (1975) and
MICALI and VAZIRANI (1980) published improvements yielding an algorithm of
complexity |K|
1/2
||. Note that Edmonds' result also provides a polynomial test
for a graph to have a perfect matching. Since Gallai's identities (8.2.2) have
a polynomially constructive proof, it also implies the polynomial solvability of
the minimum edge covering problem. With Gallai's identities a similar min-max
equality for the edge covering number p(G) can be derived from the Tutte-Berge
theorem.
The weighted matching problem is also polynomially solvable, as was shown
by EDMONDS (1965b).
(8.5.3) Weighted Matching Problem. Given an undirected graph G = (V,E) and
a weight function w : E ->Q
+
, find a matching of maximum weight.
Edmonds obtained, as a by-product, a good characterization of this problem
in terms of polyhedra. The matching polytope of G =(V,E) is the convex hull
of the incidence vectors of matchings in G.
256 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
(8.5.4) Theorem. The matching poly tope is determined by the following inequal-
ities:
(i) x(e) >0 foralleeE,
(ii) x(S{v)) <1 forallveV,
(iii) x(E(W)) < [\\W\\ for all W ^V,\W\ odd.

It is not difficult to see that this theorem is equivalent to Edmonds' perfect
matching polytope theorem (7.3.5).
This indeed provides a good characterization for the weighted matching
problem, as now it can be described as a linear program with constraints (8.5.4)
(i), (ii), (iii), and hence the duality theorem of linear programming yields a good
characterization. We should note here that, although there are exponentially
many constraints in (8.5.4), an optimum dual solution can be described by
specifying the dual variables belonging to at most || of the constraints - the
other dual variables are zero.
The Tutte-Berge theorem (8.5.2) is equivalent to saying that the dual of
the linear program of maximizing i
r
x over (8.5.4) (i), (ii), (iii) has an integral
optimum solution. CUNNINGHAM and MARSH (1979) generalized this by showing
that for any integral weight function w, the dual program has an integral optimum
solution, and they gave a polynomial time method to find this solution.
Using elementary constructions it is easy to see that the weighted matching
problem (8.5.3) is equivalent to the:
(8.5.5) Weighted Perfect Matching Problem. Given an undirected graph G =
(V,E) with \V\ even, and a weight function w : E -> Q, find a perfect matching
of maximum weight.
Since weights may be negative, this includes the minimum weighted perfect
matching problem.
As mentioned, the characterization (8.5.4) of the matching polytope is equiv-
alent to the characterization of the perfect matching polytope (7.3.5). Recall that
the perfect matching polytope is determined by the inequalities:
(8.5.6) x(e) > 0 for all eeE,
x(3(v)) = l for all veV,
x(5(W)) > 1 for all W^V,\W\ odd.
Also recall that a set of edges of the form3(W) with \W\ odd is called an odd
cut. Describing the weighted perfect matching problem as a linear program with
constraints (8.5.6) will give as dual program a packing problem of odd cuts.
From the above mentioned results of Cunningham and Marsh it follows that,
for an integer weight function w, the dual program has a half-integer optimum
solution, and that this solution can be found in polynomial time.
So, following the lines of the previous sections, we formulate a polar to the
weighted matching problem:
8.5 Matchings, Odd Cuts, and Generalizations 257
(8.5.7) Minimum Odd Cut Problem. Given an undirected graph G = (V,E)
with | V | even, and a capacity function c : E ->Q
+
, find an odd cut of minimum
capacity.
PADBERG and RAO (1982) gave a polynomial algorithm for this problem, using
the Gomory-Hu method for the minimum cut problem (8.4.21) - see Section 7.3
and (8.4.23).
b-Matching
We next treat some further, more general problems. If G = (V ,E) is an undirected
graph, and b : V Z
+
, then a ^-matching is a function x : E > TL+ such that
x(S(v)) < b(v) for each node v. The 6-matching is perfect if we have equality
for all v. So (perfect) 1-matchings are just the incidence vectors of (perfect)
matchings.
(8.5.8) Weighted (Perfect) ^-Matching Problem. Given an undirected graph
G = (V,E), a weight function w : E -* Q, and a function b : V ->Z+, find a
(perfect) b-matching x with
peE
w(e)x(e) as large as possible.
So this problem reduces to the weighted (perfect) matching problem if b = 1.
The weighted ^-matching problem could be reduced to the weighted matching
problem by replacing each node v by a stable set of b{v) nodes, where two of
the new nodes are adjacent iff their originals are adjacent. In this way one
obtains from (8.5.4) that the /^-matching polytope (i. e., the convex hull of the
fr-matchings), is given by:
(8.5.9) x(e) >0 forallee,
x{S(v)) <b(v) for all veV,
x(E(W)) < l\b(W)\ for all W c V, b{W) odd.
Hence also for the weighted ^-matching problem a good characterization
exists. PULLEYBLANK (1980, 1981) showed that for integral weight functions
w, the linear program corresponding to (8.5.8) (with constraints (8.5.9)) has an
integral optimum dual solution.
However, splitting a node v into b(v) new nodes is, in general, not a polynomial
time procedure (as b(v) is exponential in the encoding length of b(v)). So
Edmonds' weighted matching algorithm cannot be extended straightforwardly in
this way. Yet, the weighted b-matching problem is polynomially solvable, as was
shown by Cunningham and Marsh (see MARSH (1979)) - see also EDMONDS and
J OHNSON (1970), PULLEYBLANK (1973), and PADBERG and RAO (1982).
Again, the b-matching problem is trivially polynomially equivalent to the
perfect 6-matching problem. Moreover, from (8.5.9) it follows that the perfect
^-matching polytope (i. e., the convex hull of the perfect b-matchings) is given by
the linear constraints:
(8.5.10) x(e) >0 f oral l ee,
x(8(v)) =b(v) foral l i ;e V
9
x(S(W)) > 1 for all W c V
9
b(W) odd.
As a dual problem to the ^-matching problems one could take the following.
258 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
(8.5.11) Minimum Weighted J-Cut Problem. Given an undirected graph G =
(V
9
E), T g V with \T\ even, and a capacity function c : E -> Q
+
, find a T-cut
of minimum capacity.
This indeed contains the separation problem for the perfect b-matching poly-
tope, by taking T := {v | b(v) odd }. (If \T\ is odd there are no perfect b-
matchings.) PADBERG and RAO (1982) showed that the minimum 7-cut problem
is polynomially solvable. This algorithm was described in Section 7.3. Hence by
the ellipsoid method, the (perfect) b-matching problem is solvable in polynomial
time.
Often one is interested in b-matchings in which a certain edge may not be used
more than once (in which case we just get a subgraph problem), or more than a
given number of times. If G = {V,E) is an undirected graph, and c : E - Z
+
,
then a b-matching x is called c-capacitated if x(e) < c(e) for each edge e of G.
(8.5.12) Capacitated Weighted (Perfect) b-Matching Problem. Given an undi-
rected graph G = (V,E), a function b : V ->Z
+
, a capacity function c : E ->%
+
,
and a function w : E - Q+find a c-capacitated (perfect) b-matching x such that
Y^eeE w(e)x(e) is as large as possible.
Cunningham and Marsh (see MARSH (1979)), EDMONDS and J OHNSON (1970),
and PULLEYBLANK (1973) gave polynomial algorithms for this problem. There
is a way of reducing (8.5.12) to the weighted perfect b-matching problem. First,
the capacitated weighted b-matching problem can be reduced to the capacitated
weighted perfect ^-matching problem - this is easy, by taking a disjoint copy G
of G, and joining a node in G to its copy in G' by an edge of high capacity and
zero weight. Next, the capacitated weighted perfect ^-matching problem can be
reduced to the (uncapacitated) weighted perfect b-matching problem, by replacing
each edge e = {u,v} of G by three edges {u,u
e
}, {u
e
,v
e
}, {v
e
,v} in series (where
for each edge e, u
e
and v
e
are two new nodes of degree two), with weights w(e),
0, w(e), respectively. If we define b(u
e
) := b(v
e
) :=c(e), the perfect b-matching
problem for the new graph is equivalent to the capacitated perfect b-matching
problem in the original graph - see TUTTE (1952).
The same construction yields that the following inequalities define the c-
capacitated perfect b-matching polytope:
(8.5.13) 0<x(e)<c(e) for all e e E,
x(3(v)) = b(v) for all?; e V,
x(8(lV)\F) + c(F)-x(F)> 1 for all W c V and F ^3(W)
with b(W) + c(F) odd.
Similarly, the c-capacitated b-matching polytope is given by:
(8.5.14) 0<x(e) <c(e) for all e e ,
x(d(v)) <b(v) for ally 6 V,
x{E{W)) + x{F) < \\(b(W) + c(F))\ for all W s V and F ^S(W)
withb(W)+c(F) odd.
8.5 Matchings, Odd Cuts, and Generalizations 259
By taking c =oo (or very large), the characterizations (8.5.9) and (8.5.10)
follow. Descriptions (8.5.13) and (8.5.14) give good characterizations for the
capacitated weighted (perfect) ^-matching problem.
PADBERG and RAO (1982) proved that the separation problem for the capaci-
tated fr-matching polytope is polynomially solvable. Their algorithm is based on
the same reduction to a T-cut problem as outlined above.
Also the problem of finding a minimum weighted edge covering can be
reduced by the two constructions given above directly to the weighted matching
problem. Indeed, theweighted edge covering problem is equivalent to the
maximum weighted 1-capacitated ^-matching problem, with b(v) equal to one
less than the degree of node v (so each node can besplit into b(v) copies in
polynomial time). Moreover, this yields the following characterization of the
edge covering polytope (i. e., the convex hull of the incidence vectors of edge
coverings):
(8.5.15) 0<x(e) <1 foralUeE,
x(E(W) U 5{W)) > \{\W\\ for all W c V with \W\ odd.
One of the most general problems in this direction (comparable with (8.2.13)
and (8.3.28)) is the following:
(8.5.16) Problem. Given an undirected graph G =(V,), and functions b\,bi :
V -+ TL, c\,C2 : E -> 7L, and w : E -> Q find a function x : E Z such that
c\(e) < x(e) < c
2
{e) for each edge e of G and b\(v) < x(d(v)) < b2(v) for each
node v ofG, and such that Y.
e
eE w(e)x(
e
) I
s as
large as possible.
It is not difficult to reduce this problem to the case with c\ =0 and b\ > 0. By
some further elementary constructions, this problem can be reduced in polynomial
time to the capacitated ^-matching problem, and is hence polynomially solvable.
Also the corresponding linear inequalities can be found in this way - cf. LOVASZ
(1970), TUTTE (1974, 1978), SCHRIJ VER and SEYMOUR (1977). For a survey of
capacitated and uncapacitated ^-matching polyhedra (characterizing also facets
and minimal TDI-systems) see COOK and PULLEYBLANK (1987).
r-J oi ns and T-Cuts
In Section 7.3 we found it handy to extend the notion of odd cuts and consid-
ered T-cuts. Matching theory yields several min-max relations and polyhedra
corresponding to this more general class of cuts.
Let there be given an undirected graph G = (V,E) and a subset T of V with
\T\ even. A set F of edges is called a T-join if T coincides with the set of nodes
of odd degree in the graph G' =(V\F). Recall that a r-cut is a set of edges of
the form S(W), where W is a set of nodes with \T D W\ odd.
T-joins and T-cuts have turned out to form a suitable generalization of many
interesting special cases. For instance, if T = {r,s}, then (inclusionwise) minimal
T-joins are just paths from r to s. lfT=V, the T-joins of size ||K | are the
perfect matchings. Later on we shall see that also the Chinese postman problem
fits into this framework.
260 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
It is not difficult to show that the minimal T-cuts are exactly the minimal sets
of edges intersecting all T-joins, and conversely, minimal T-joins are exactly the
minimal sets of edges intersecting all T-cuts, i. e., minimal T-cuts and minimal
T-joins form blockers of each other. Note that each T-join is the disjoint union
of \\T\ paths, each connecting two nodes in T, and a number of circuits.
We formulated the minimum T-cut problem in (8.5.11). Now we also study
its counterpart.
(8.5.17) Minimum Weighted T-Join Problem. Given an undirected graph G =
(V,E), a subset T of V with \T\ even, and a length function I : E -* Q, hnd a
T-join of minimum length.
This problem contains as special cases several problems discussed before. If
T = V problem (8.5.17) contains the weighted perfect matching problem (8.5.5).
If T = {r, 5} for nodes r and 5 of G, and each circuit of G has nonnegative length,
problem (8.5.17) reduces to finding an [r,s]-path of minimum length. If T = 0,
problem (8.5.17) is equivalent to finding a subgraph with all degrees even, with
minimum length.
EDMONDS and J OHNSON (1973) showed that the minimum T-join problem is
polynomially solvable, by reducing it to the weighted perfect matching problem.
A simple reduction to describe is splitting each node v e V into a clique of
size t
v
, where t
v
= deg(u) or t
v
= deg(y) +1 such that t
v
is odd if and only
if v e T. From a complexity point of view the following reduction turns
out to be more satisfactory. First let E
f
:= {e e E \ l
e
< 0}. Then for all
e e E replace the edge length l
e
by l'
e
:= \l
e
\ and replace T by V := TA
{v e V I t? is incident with an odd number of edges in E' }. (Here A denotes
the symmetric difference.) Then J is a minimum length T-join with respect to
/ if and only if J AE' is a minimum length T^-join with respect to V. In this
way the minimum T-join problem is reduced to the case with nonnegative edge
length. So we may assume / >0. Next for each pair r, s e T we determine a
shortest [r,s]-path P
rs
of length k
rs
(say). Consider the complete graph on T
with edge weights X
rs
and find a minimum weight perfect matching in this graph,
say nsi , ..., rfcSfe. Then J :=P
riSl
A... AP
rkSk
is a minimum length T-join in the
original graph G.
The problem dual to the T-join problem is the following.
(8.5.18) T-Cut Packing Problem. Given an undirected graph G = {V,E), a
subset T of V with \T\ even, and a length function I : E - Z
+
, hnd T-cuts
E\
9
..., Ek and nonnegative rationals /li, ..., Xk such that
eG
, h < 1(e) for each
edge e G E, and such that k\ +... +A* is as large as possible.
And similarly, the dual to the T-cut problem is:
(8.5.19) T-Join Packing Problem. Given an undirected graph G = (V,E), a
subset T of V with \T\ even, a capacity function c : E ->Z
+
, hnd T-joins
J i, ..., Jk and nonnegative rationals ku . , kk such that X
ee
j, k
t
< c(e) for each
edge e e E, and such that k\+ ... + kk is as large as possible.
8.5 Matchings, Odd Cuts, and Generalizations 261
If \T\ = 2, then the T-join packing problem contains the maximum flow
problem (8.3.7) for undirected graphs - see (8.3.9) - while, if T = V, then it
includes the fractional edge coloring problem - see Section 7.4.
Edmonds and J ohnson showed that if / is nonnegative the optimum value of
(8.5.17) is equal to the optimum value of (8.5.18). It can be derived from their
proof- cf. LOVASZ (1975) - that the optimum A* can be taken to be half-integral.
SEYMOUR (1981a) showed that there are integer optimum A, if for each circuit of
G the sum of its edge lengths is even. From this the half-integrality result follows
by multiplying / by 2. Seymour's results can be stated combinatorially as follows.
(8.5.20) Theorem. If G is a bipartite graph and T is a set of nodes of G of
even size, then the minimum size of a T-join is equal to the maximum number
ofpairwise disjoint T-cuts.
The graph G = K
4
shows that we may not delete "bipartite", but there are
other classes of graphs, like series-parallel graphs, for which a similar theorem
holds - see SEYMOUR (1977).
The result of Edmonds and J ohnson implies that the clutter of T-cuts has
the Q+-MFMC property. Hence the dominant of the incidence vectors of the
T-joins of G is given by the linear inequalities
(8.5.21) x
e
> 0 for all e e E,
x(F) > 1 for all T-cuts F c .
Moreover, the convex hull of the incidence vectors of T-joins is given by
(8.5.22) 0 <x
e
< 1 for all e e ,
x(5(lV)\F) + \F\-x(F) > 1 for all W <=V and F ^S(W)
with \WC)T\ + \F\ odd.
By (8.1.5) we obtain from (8.5.21) that the clutter of T-joins also has the
Q+-MFMC property. Hence the dominant of the incidence vectors of T-cuts is
given by
(8.5.23) x
e
> 0 for all eeE,
x(J) > 1 for all T-joins J c F.
Both polyhedral results (8.5.21) and (8.5.22) can be used to show the poly-
nomial time solvability of the T-join problem. In fact, the separation problem
for (8.5.21) is just the minimum T-cut problem, and hence we can optimize in
polynomial time over (8.5.21), which solves the T-join problem for nonnegative
edge lengths. We saw above that this implies that we can solve the minimum
T-join problem for any length function. Hence the optimization and also the
separation problem for (8.5.22) is solvable in polynomial time. The separation
problem for (8.5.22) can be directly reduced to a T'-cut problem on a larger
graph.
262 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
By Theorem (8.1.10), also the T-cut packing problem can be solved in
polynomial time. To find an integral optimum solution to (8.5.18) is Jf&-
complete. However, half-integral optimum solutions can be found in polynomial
time. This again follows from the fact that if every cycle has even length with
respect to / then optimum integral solutions can be found in polynomial time.
Like for packing rooted cuts and dicuts, the algorithm is based on uncrossing
techniques, but it is more involved, as in the case of 7-cuts we cannot appeal to
total unimodularity. But from LOVASZ (1975) and SEYMOUR (1979) a polynomial
time algorithm can be derived.
By blocking theory, Theorem (8.4.20) implies that the optimum value of the
weighted 7-cut problem (8.5.11) is equivalent to the optimum value of the T-join
packing problem (8.5.19). If 17*1 =2 this extends the (fractional version of the)
max-flow min-cut theorem (8.3.9) for undirected graphs.
A (fractional) optimum solution to the 7-join packing problem (8.5.19) can be
obtained in polynomial time by Theorem (8.1.10). As the integer version of this
problem contains the edge coloring problem, it is ./(^-complete. If G = {V,E) is
a planar graph and T V is a set of nodes such that all nodes are contained
in a cycle bounding one face of a plane embedding of G, then Barahona and
Conforti (personal communication) showed that the minimum weight of a 7-cut
of G equals the maximum weight of an integral 7-join packing of G. So in this
case the clutter of 7-joins has the Z+-MFMC-property.
Chinese Postmen and Traveling Salesmen
Two optimization problems which are important in practice and related to
matching theory are the following.
(8.5.24) Chinese Postman Problem. Given a connected undirected graph G =
{V,E) and a length function I : E - Q, find a closed walk in G such that
every edge is traversed at least once and such that the total length is as small as
possible.
(8.5.25) (Symmetric) Traveling Salesman Problem. Given an undirected graph
G =(V,E) and a length function I : E ->Q, find a Hamiltonian cycle in G with
minimum length.
The Chinese postman problem was formulated by MEI -KO KWAN (1960),
and EDMONDS and J OHNSON (1973) gave a polynomial time algorithm, by the
following easy reduction to the minimum weighted 7-join problem. One first
finds a minimum length 7-join where 7 is the set of nodes with odd degree. If
we duplicate in G the edges of this 7-join we obtain an Eulerian graph G'. Any
Eulerian trail in G gives an optimum Chinese postman walk.
The Chinese postman problem is also solvable in polynomial time for directed
graphs (with essentially the same idea). But for mixed graphs (i. e., graphs with
both directed and undirected edges) the Chinese postman problem is Jf&-
complete- see PAPADIMITRIOU (1976).
8.5 Matchings, Odd Cuts, and Generalizations 263
The traveling salesman problem is ./(^-complete, and therefore it is unlikely
that a complete linear description of the associated polytope can be obtained
explicitly. But the polyhedral approach was quite successful with respect to
designing practically efficient cutting plane algorithms for the solution of traveling
salesman problems - see PADBERG and GROTSCHEL (1985) for these algorithmic
aspects. The theoretical investigations of the traveling salesman polytope
TSP(G) :=conv{x" e R

| H c
a
Hamiltonian cycle (tour) in G }
have been summarized in GROTSCHEL and PADBERG (1985). We outline here some
of the results.
Note that every tour in a graph passes through every node exactly once, thus
every incidence vector of a tour satisfies
(8.5.26) 0 <x
e
< 1 for all eeE,
x(S(v)) = 2 for all ve V.
The integral solutions of (8.5.26) are the incidence vectors of the H-capacitated
perfect 2-matchings contained in G, in other words, the incidence vectors of the
disjoint unions of circuits such that every node of G is on exactly one circuit.
But the polytope defined by (8.5.26) also has fractional vertices. From (8.5.13)
we know how to cut these off. By adding the inequality system
(8.5.27) x{E(W)) + x{T) < 1^1 +^(17^-1) for all W <=V and all T <=d(W)
with |J T| odd
to (8.5.26) we obtain the convex hull of the 1-capacitated perfect 2-matchings of
G. In order to get the traveling salesman polytope, the 2-matchings, that are not
tours, have to be cut off. It is obvious that every such 2-matching violates one of
the following subtour elimination constraints
(8.5.28) x(d(W)) > 2 for all W <= V with 2 <\W\ <\V\-2.
The integral points in the polytope P(G) defined by (8.5.26), (8.5.27), and (8.5.28)
are exactly the incidence vectors of tours. However, P (G) has further fractional
vertices. What is important about P{G) is that linear programs over P(G) can
be solved in polynomial time and that the traveling salesman problem can be
viewed as the integer linear program min{c
7
x \ x e P(G) and x integral}.
To see the polynomial time solvability of min{c
r
x | x e P(G)} observe first
that for any y e d^ the system (8.5.26) can be checked by substitution. So we
may assume that y satisfies (8.5.26). The separation problem for the 2-matching
inequalities (8.5.27) is a T-cut problem (as described earlier) and so it can be
solved in polynomial time. (In fact, the design of an efficient algorithm for
the separation problem for (8.5.27), to be used in a cutting plane algorithm for
the traveling salesman problem, was the motivation for the paper PADBERG and
RAO (1982), which solved the 7-cut problem and the separation problem for
264 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
general matching polyhedra. So a computational problem was the stimulus for
this pre-ellipsoid separation algorithm.)
To solve the separation problem for (8.5.28), we consider the values y
e
, e e E,
as capacities on the edges of G. Then we solve the minimum cut problem (8.4.21)
for this graph. If the minimum capacity y(S{W*)) of a cut is smaller than 2, then
x(S(W*)) >2 is a violated subtour elimination constraint; otherwise y satisfies
all inequalities (8.5.28). So again, the separation problem can be reduced to a cut
problem that is solvable in polynomial time. Since we can solve the separation
problems for (8.5.26), (8.5.27), and (8.5.28) in polynomial time, we can optimize
over P (G) in polynomial time.
There is a further "handy looking" class of inequalities, valid for TSP(G),
which can be defined as follows. A clique tree is a connected graph C for which
the maximal cliques satisfy the following properties:
- The cliques are partitioned into two sets, the set of handles H\, . . . , H
r
and
the set of teeth T
u
..., T
s
.
- No two teeth intersect.
- No two handles intersect.
- Each tooth contains at least two nodes, at most n 2 nodes, and at least one
node belonging to no handle.
- For each handle, the number of teeth intersecting it is odd and at least three.
- If a tooth T and a handle H have a nonempty intersection, then C (HC\T)
is disconnected.
Figure 8.1 shows a clique tree with 19 teeth and 7 handles schematically. The
ellipses containing a star correspond to teeth, the other ellipses to handles.
Figure 8.1
8.5 Matchings, Odd Cuts, and Generalizations 265
GROTSCHEL and PULLEYBLANK (1986) showed that for each clique tree (with
handles H\, ..., ff
r
and teeth T\, ..., T
s
) the following clique tree inequality
r s r s -J
(8.5.29) x(E(tf,)) +E* TO ^Z
1
^'
1 +
Z
( I
^
1
~V ~
S
~T~
i = l ; = 1 i =l ; = 1
defines a facet of TSP(G), if G is a complete graph. In (8.5.29), for every tooth 7},
the integer tj denotes the number of handles that intersect 7}, j = 1, ..., s. At
present it is unknown whether the separation problem for (8.5.29) can be solved
in polynomial time. (The only solved special case is the class of 2-matching
inequalities (8.5.27).) In PADBERG and GROTSCHEL (1985) some heuristics are
described that check whether a point satisfies some of the inequalities (8.5.29) or
not and that have been used in cutting plane procedures.
Several further classes of facet defining inequalities, much more complicated
than the ones given above, are known. It follows, however, from a result of KARP
and PAPADIMITRIOU (1980) that, if JV& 4- CO-JV@>, there is no way to describe a
list of inequalities sufficient to define TSP(G) - cf. also Section 2.2.
On the other hand, it has turned out that viewing the traveling salesman
problem polyhedrally and using the inequalities described above in a simplex
method based cutting plane algorithm (with final branch and bound phase), gives
an empirically quite efficient procedure to solve this problem - see, for instance,
CROWDER and PADBERG (1980) and PADBERG and RINALDI (1987). In the latter
paper, a traveling salesman problem with 2392 cities (and thus an integer linear
program with almost 3 million variables) has been solved to optimality. Such
results demonstrate the computational success of this approach.
Moreover, the study of problems (in particular matching problems) related to
the traveling salesman problem has resulted in a number of further interesting
results. One instance is formed by the 2-matchings without small circuits. Note
that the convex hull of the incidence vectors of perfect 2-matchings (no capacities)
is given by the system (8.5.26) without the upper bounds x
e
< 1, e e E. The
vertices of this poly tope have coefficients that are 0, 1, or 2. The edges of
value 2 form a 1-matching, the edges of value 1 disjoint circuits of odd length.
CORNUEJOLS and PULLEYBLANK (1980) have given a polynomial time algorithm
for finding maximum weight 2-matchings without triangles, and they showed
that, by adding the inequalities x{E(W)) < 2 for all W V with \W\ = 3 to
the system, the convex hull of perfect 2-matchings without triangles is obtained.
Since the number of constraints in this case is polynomial in ||, we can find
a minimum perfect 2-matching without triangles in polynomial time through an
explicit linear program by Khachiyan's method. It is interesting to note that
by excluding circuits of length at most 5 or 7 or 9 etc. the problem becomes
J ^-complete (C. H. Papadimitriou - see CORNUEJOLS and PULLEYBLANK (1980)).
HARTVIGSEN (1984) designed a polynomial time algorithm for finding a max-
imum weight i-capacitated 2-matching without triangles (this is an interesting
relaxation of the TSP). A system of inequalities describing the convex hull of
H-capacitated 2-matchings without triangles is not known at present. Hartvigsen
conjectures that for any graph G (V,E) such a system is given by 0 <x
e
< 1
for all e e E, x(S(v)) < 2 for all v e K, together with certain clique tree inequalities
(8.5.29) with teeth of size two or three.
266 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
*8.6 Multicommodity Flows
In Section 8.3 we studied problems involving the flow of a single "commodity".
That is, only one pair of nodes was joined by the flow. Obviously, many real world
problems involve multicommodity flows, i. e., flows of multiple, differentiated
commodities. For instance, in a telephone network a great number of connections
must be handled simultaneously.
To be more precise, in this section we study problems on flows and paths each
of which connects one of a given collection of node-pairs {n,si}, ..., {r
fc
,Sfc}.
This differs from the approach in Section 8.4, where we considered problems on
connecting all given node-pairs by one set of arcs or edges. As blocking problems
we shall meet here problems on cuts separating all given pairs, whereas in Section
8.4 the blocking problems involved cuts separating at least one of the given pairs.
Let G = (V,E) be an undirected graph, and let {r\,s\}, ..., {rk,Sk} be pairs of
nodes of G. These pairs are called the commodities. Then a multicommodity flow
is given by an orientation of G for each i =1, ..., k, forming the digraph (V,A
t
),
together with an (r,,s,)-flow x, in (V,Ai). The i-th value of this multicommodity
flow is the value of the flow x for i =1, ..., k, and the total value is the sum of
these values. If a capacity function c : E -> Q
+
is given, then the multicommodity
flow is said to be subject to c if for each edge e of G, the sum of the flows through
e (in both directions) does not exceed c{e).
For the problems to be dealt with below, it is convenient to have an alternative,
but in a sense equivalent, representation of multicommodity flows. Let G = (V,E)
be an undirected graph, and let {ri,si}, ..., {r^s^} be (different) pairs of nodes
of G, called the commodities. Then a multicommodity flow is given by paths
Pi, ..., P
s
and nonnegative rational numbers X\, ..., X
s
such that for each j =
I, ..., s, Pj is an [r s,]-path for some i = 1, ..., k. For i = 1, ..., k, the i-th
value of the multicommodity flow is equal to the sum of those Xj for which Pj is
an [r,-,s/]-path. The total value of the multicommodity flow is the sum of these
values, i. e., is equal to X\ +... -f X
s
. If a capacity function c : E ->Q
+
is given,
the multicommodity flow is said to be subject to c if, for each edge e of G, the
sum of the Xj for which Pj contains e is at most c(e).
It is easy to see that both representations of a multicommodity flow are
equivalent to the following extent: given a multicommodity flow in one repre-
sentation one can find in polynomial time a multicommodity flow in the other
representation, with the same values, and subject to the same capacity functions.
Moreover, if the x
f
in the first representation are (half)-integer, one can take the
Xj in the second representation (half)-integer, and conversely.
Now consider the following problem.
(8.6.1) Multicommodity Flow Problem. Given an undirected graph G = (V,E),
a collection of commodities {ri,si}, ..., {r
k
,Sk}, and a capacity function c : E ->
(a) find a multicommodity flow subject to c with maximum total value,
(b) given in addition "demands
9
pi, ..., pk, find, if possible, a multicommodity
flow subject to c for which the i-th value is equal to p
if
fori=l, ..., k.
8.6 Multicommodity Flows 267
This problem is solvable in polynomial time, as it can be formulated as a
linear program. For every edge uv e , we assign variables xj^xj^, ..., x
k
uv
and
x\
u
,x
2
vu
, ..., x
k
vu
where x
l
uv
represents the value of the i-th flow through the edge
uv in the direction fromu to v. Now part (a) of (8.6.1) is equivalent to the linear
program
k
i=l r
t
veE
YuuveE (
X
L ~
X
L) =
f or
all M e F and all i =1, ..., k,
Zti W +Ku) ^
c
uv for all uv e ,
Ku> Kv ^0 f
r a
^uv eE and all / =1, ..., fc.
Similarly, one can formulate part (b) of (8.6.1) as a nonemptiness problem.
Hence, multicommodity flow problems can be solved in polynomial time. On
the other hand, we may view version (a) of the multicommodity flow problem
(8.6.1) as a (fractional) packing problem for the clutter consisting of all [r,,s,]-
paths, i = 1, ..., k. We call the elements of this clutter multicommodity paths
(with respect to {r,,s,}, i = 1, ..., k). The blocker of this clutter consists of all
minimal sets E' of edges separating all pairs of {r,-,s;}. We call these minimal
sets multicommodity cuts (with respect to {r,,sj, i = 1, ...,/c). (Note that
multicommodity cuts are not necessarily cuts in the usual sense.) This pair of
clutters does not have the max-flow min-cut property in general. They yield three
more combinatorial optimization problems.
(8.6.2) Shortest Multicommodity Path Problem. Given a graph G = (V,E), a
collection of commodities {ri,si}, ..., {n^s/J , and a length function c : E ->Q
+
,
find a multicommodity path of minimum length.
(8.6.3) Minimum Multicommodity Cut Problem. Given a graph G = (V,E), a
collection of commodities {n,si}, ..., {rk,Sk}, and a capacity function c : E >
Q
+
, find a multicommodity cut of minimum capacity.
(8.6.4) Multicommodity Cut Packing Problem. Given a graph G = {V,E), a
collection of commodities {r\,s\}
9
..., {^,5^}, and a length function c : E ->Q
+
,
find a collection of multicommodity cuts C\
9
..., C
t
and nonnegative rationals
X\, ..., X
t
such that Y.ieed^ ^
c
(
e
) f
r a
H
e
E and such that k\+ ... + k
t
is as
large as possible.
Problem (8.6.2) is trivially solvable in polynomial time: we simply find, for
each i e {1, ..., /c}, a shortest [r,,s,]-path; the shortest among these shortest
paths will be a shortest multicommodity path. We do not know the complexity
of problem (8.6.4), while J OHNSON, PAPADIMITRIOU, SEYMOUR and YANNAKAKIS
(1984) showed that (8.6.3) is J ^-hard, even for the case of three commodities.
Similar techniques solve the directed versions of the multi-commodity flow
problem. The integer and half-integer multicommodity flow problems (obtained
from (8.6.1) by adding the condition that the multicommodity flow must be
integer or half-integer), are J ^-hard. We close this chapter by discussing some
268 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
special cases, where the integral and half-integral multicommodity flow problems
can be solved in polynomial time. They are restricted to the undirected case.
First note the following: if there exists a multicommodity flow subject to c
for which the i-th value is at least p
t
- (i =1, ..., k)
9
then:
(8.6.5) for each subset W of v
9
I
Heff{w)
Pi < c(S(W))
9
where o{W) :={i = 1, ..., k\ \{r
iiSi
} f) W\ = 1}.
(8.6.6) Theorem. In the following cases, (8.6.5) is also sufficient for the solvability
of (8.6.1) (b);
(a) \{r
u
s
u
...,r
ki
s
k
}\ <4.
(b) The graph {{r\
9
s\
9
..., r
k9
s
k
}
9
{r\S\
9
..., r
k
s
k
}) is a circuit of length five or is
the union of two stars.
(c) G is planar, and G has two faces F\ and Fi so that for each i = 1, ..., k,
r
i9
s
t
eFi orr
i9
SieF
2
.
(d) The graph (V
9
E U {r\S\
9
..., r
k
s
k
}) is planar
For proofs, we refer for (a) to Hu (1963) and SEYMOUR (1980b); for (b) to
LOMONOSOV (1979); for (c) to OKAMURA and SEYMOUR (1981) and OKAMURA
(1983); for (d) to SEYMOUR (1981a).
It was shown moreover, that, in each of the cases (a), ..., (d) of (8.6.6), if
all capacities and demands are integral, and (8.6.5) is satisfied, then there exists
a half-integral multicommodity flow. More generally, if (8.6.5) is satisfied and if
the capacities and demands are integral, so that
k
(8.6.7) V c(e) + V pi is even, for each v e V
9
eeE i=l
e3v ve{
ri
,
Sl
}
then there exists an integral multicommodity flow.
Polyhedrally, the above can be described as follows. For a given graph
G =(K,) and commodities {r\,s\}
9
..., {r
k9
s
k
}
9
define the cone C in the space
R* x R

by
(8.6.8) C :={(pi, ..., p
k9
c
T
)
T
| pi, ..., p
k
> 0,c eR+, and there exists a
multicommodity flow subject to c with
i-th value p, (i =1, ..., k)}.
By definition, C is the convex cone generated by the following vectors :
(8.6.9) (i) I
l
p
J for i = 1, ..., k; and where P is the edge-set of
an [r,,Sj]-path in G;
(ii) f
0
} for all eeE.
8.6 Multicommodity Flows 269
Here we use the following notation: g,- is the i-th unit vector in R
k
; s

is the e-th
unit vector in R

; %
p
is the incidence vector of P in R

.
Sufficiency of (8.6.5) (for each choice of capacities and demands) means that
C is determined by the following linear inequalities:
(8.6.10)
Pi
>0 for i= 1, ...,/c,
c
e
> 0 for all e e E,
^ P, < Y,
Ce foral1 w
-
v
-
iea{W) eeS{W)
So we know that in each of the cases (a), ..., (d) of (8.6.6), C is determined by
(8.6.10). Moreover, if (p
T
,c
T
)
T
e C is integral, it is a half-integral combination
of the generators (8.6.9). If (p
T
,c
T
)
T
also satisfies (8.6.7), it is an integral
combination of the generators (8.6.9).
Note that the optimization problem is polynomially solvable for the class of
cones C defined in (8.6.8): we have to test whether the inner product of any
given vector (t
T
J
T
)
T
E R
fc
x R

with each of the vectors (8.6.9) is nonnegative.


To do this, we first test whether / is nonnegative; if not, (t
T
J
T
)
T
has negative
inner product with one of the vectors (8.6.9) (ii); if so, we next test, for each
i =l, ..., k, whether r, is not larger than the length of the shortest [rs,]-path
(length with respect to /).
Hence also the separation problem for the cones C is polynomially solvable.
It implies that for each (p
T
,c
T
)
T
e R
k
x R

we can find linearly independent


vectors z\, ...,z
r
among the vectors defined in (8.6.9), together with scalars
Pi, ..., p
r
so that
(8.6.11) (p
r
, c
T
)
T
= mzi +... +\jL
t
z
u
or decide that (p
T
,c
T
)
T
does not belong to C. Therefore, if we are in one of the
cases (a), ..., (d) of (8.6.6), and if (p
T
,c
T
)
T
C, we can find in polynomial time
a violated inequality among the inequalities (8.6.10). So if (p
T
,c
T
)
T
> 0, then we
find a subset F of E violating (8.6.5).
As mentioned above, if we are in one of the cases (a), ..., (d) of (8.6.6) and
if (p
T
,c
T
)
T
is integral and satisfies (8.6.7), then we can decompose (p
T
,c
T
)
T
as
(8.6.11) with integral p*. We describe a polynomial time algorithm to find such a
decomposition.
First we decompose (p
T
,c
T
)
T
as in (8.6.11) with possibly fractional p where
z\, .., Zt are linearly independent vectors from (8.6.9) (this is possible in poly-
nomial time). Without loss of generality, z\, > z
P
are of type (8.6.9) (i), and
z
p
+u , Zt are of type (8.6.9) (ii). Next we replace (p
T
,c
T
)
T
by
(8.6.12) (p
T
,c
T
)
T
:= (p
r
,c
r
)
r
-Lpi J z
1
-...-Lp
P
J z
p
-2Li p
p+
,J z
p+1
-...-2Li pJ z
f
.
Then (p
T
,c
T
)
T
belongs to C, and it is integral and satisfies (8.6.7). (Observe that
(8.6.12) involves rounding of rationals to integers. So the procedure we describe
here is not strongly polynomial in the stricter sense.) So if we can decompose
(p
T
,c
T
)
T
into an integral combination of vectors (8.6.9), we are finished.
270 Chapter 8. Combinatorial Optimization: A Tour d'Horizon
(a) (b)
Figure 8.2
Note that
(8.6.13) ||^2O
r
l l i =0i i - ^i J )l l ^i l l i +... +(^p-bpJ )ll^lli +
(H
p+
l -2L^
p+
l J )||2
p+
i ||i +... +(/!, -2|_^J )||Zf||l
<4(|| + /c)
2
.
So in polynomial time we can replace each commodity {ri,Si} by pi identical
commodities {r,-,s,}, and each edge of G by c
e
parallel edges. If we take, in
the new structure, all capacities and demands equal to 1, we have a problem
equivalent to the original problem. Note that if we add to this new graph an
edge rs for each commodity {r,s}, then condition (8.6.7) implies that the graph
obtained is Eulerian.
In this way our problem is reduced to the following:
(8.6.14) Problem. Given an Eulerian graph G =(V,E) (possibly with loops and
multiple edges) and a subset D ofE such that for each subset WofV we have
(8.6.15) \S
E
\F(W)\>\S
F
(W)1
partition E into circuits C\, ..., C
q
so that \Q? fl D\ < 1 for all i = 1, ..., q.
Here S
L
(W) :={e e L \ \e D W\ =1} for L c E.
Suppose we are in one of the cases (a) and (b) of (8.6.6) (i. e., | U D\ <4,
or D forms a circuit of length 5 (with parallel edges), or there are two nodes v,
w so that each edge of D contains either v or w). If there exists a node v in
which two edges of E \ D meet, say uv and wv, we could "try" to replace the two
edges by one edge uw: for each choice of such a pair of edges we test if, after
the replacement, condition (8.6.5) is still satisfied (this can be done in polynomial
time, as (8.6.10) can be tested in polynomial time). As soon as we find a pair uv,
wv which we can replace by uw, we solve (8.6.14) for the smaller graph, which
directly gives a solution for the original graph. If no such pair of edges exists,
it follows that each of the circuits C, must either be a loop, or consists of one
edge in D and one edge in E \ D. In that case, solving (8.6.14) is trivial. It is not
difficult to see that this yields a polynomial time procedure.
The cases (c) and (d) of (8.6.6) are slightly more difficult. We sketch a method.
First we argue that we may assume that all nodes of G have degree at most 4.
Indeed, we can replace any node of degree 2k (k > 3) by k
2
k 1 nodes of
degree 4 as indicated for the case k =5 in Figure 8.2.
8.6 Multicommodity Flows 271
One may check that if we choose any partition of the edges e\, ..., e
2
k into
k pairs of edges, there are k edge-disjoint paths in Figure 8.2 (b) so that each
of these paths connects two edges of some pair of edges in the chosen partition.
So (8.6.14) is solvable in the original graph, if and only if it is solvable in the
new graph. Note moreover, that Figure 8.2 (b) is planar, so these replacements
maintain cases (c) or (d). So we may assume that all nodes of G have degree at
most 4.
Now consider any planar embedding of G (in case (c), the edges in D may
cross in the faces Fi or F
2
). Let uv and vw be two "neighboring" edges in E \ D
(i. e., they occur consecutively, if we follow the edges incident with v in clockwise
orientation). Again we try to replace uv and vw by one edge uw. If (8.6.15) still
holds after the replacement, we recursively solve (8.6.14) for the smaller graph,
which gives directly a solution for the original graph. Suppose next that no
such pair of edges exists. By Theorem (8.6.6), we know that there exist circuits
as described in (8.6.14). The edges in any node of degree 2 should go into the
same circuit. Let v be a node of degree 4. If all edges incident with v belong to
E \ D, then an edge and its "opposite" edge (in the planar embedding) should go
into the same circuit. If all but one edge incident with v belong to E \ D, then
again opposite edges should go into the same circuit. This implies that we can
determine in polynomial time the sets C\\F, ..., C
q
\ F. Hence, we easily find
also the sets C\, ..., C
q
.
Summing up, we get:
(8.6.16) Theorem. For any given graph G = (V,E) and given commodities
{r\,s\}
9
..., {rfc,Sfc}, satisfying one of the conditions (a), ..., (d) of (8.6.6), and
any given integral demands p\, ..., pk and integral capacities c
e
(e e E), satisfying
(8.6.5) and (8.6.7), one can find in polynomial time an integral multicommodity
flow subject to c satisfying the demands.
(8.6.17) Corollary. For any given graph G = (V,E) and given commodities
{ri,si}, ..., {rjcSfc}, satisfying one of the conditions (a), ..., (d) of (8.6.6), and
any given integral demands p\, ..., pk and integral capacities c
e
(e e E), satisfying
(8.6.5), one can find in polynomial time a half-integral multicommodity flow
subject to c satisfying the demands.
Proof. Multiply all capacities and demands by 2. Then the premise of Theorem
(8.6.16) is satisfied. Find a feasible integral multicommodity flow x. Then \x is
feasible for the original capacities and demands.
Chapter 9
Stable Sets in Graphs
In this chapter we survey the results of the polyhedral approach to a particular
J ^-hard combinatorial optimization problem, the stable set problem in graphs.
(Alternative names for this problem used in the literature are vertex packing,
or coclique, or independent set problem.) Our basic technique will be to look
for various classes of inequalities valid for the stable set polytope, and then
develop polynomial time algorithms to check if a given vector satisfies all these
constraints. Such an algorithm solves a relaxation of the stable set problem in
polynomial time, i. e., provides an upper bound for the maximum weight of a
stable set. If certain graphs have the property that every facet of the stable set
polytope occurs in the given family of valid inequalities, then, for these graphs,
the stable set problem can be solved in polynomial time. It turns out that there
are very interesting classes of graphs which are in fact characterized by such a
condition, most notably the class of perfect graphs. Using this approach, we
shall develop a polynomial time algorithm for the stable set problem for perfect
graphs. So far no purely combinatorial algorithm has been found to solve this
problem in polynomial time.
Let us mention that all algorithms presented in this chapter can be made
strongly polynomial using Theorem (6.6.5), with the natural exception of the
algorithm designed to prove Theorem (9.3.30), which optimizes a linear objective
function over a nonpolyhedral set.
*9.1 Odd Circuit Constraints and t-Perfect Graphs
Throughout this chapter, G = (V\E) denotes a graph with node set V =
{1,2, ..., n). Let w : V - Q
+
be any weighting of the nodes of G, and let
a(G, w) denote the maximum weight of a stable set in G. It is well known that
to determine a(G, w) is .yT^-hard, even in the special case when w =H - see, for
instance, GAREY and J OHNSON (1979).
Similarly as, say, in the case of matchings - see Sections 7.3 and 8.5 - we
introduce the stable set polytope
STAB(G) :=conv{ / G R
F
| S C F stable set}
defined as the convex hull of the incidence vectors of all stable sets of nodes
of G. Then a(G,w) is equal to the maximum value of the linear function w
T
x
for x e STAB(G). For this observation to be of any use, however, we need
9.1 Odd Circuit Constraints and ^-Perfect Graphs 273
information about inequalities defining STAB(G). So let us collect inequalities
valid for STAB(G), and see if they are enough to describe this polytope.
The following sets of linear inequalities are obviously all valid for STAB(G) :
(9.1.1) Xi>0 for all i e V,
(9.1.2) xi +xj < 1 for all ij e E.
It is also easy to see that the integral solutions of (9.1.1), (9.1.2) are exactly the
incidence vectors of stable sets of nodes of G. Theorem (8.2.8) implies :
(9.1.3) Proposition. The inequalities (9.1.1), (9.1.2) are sufficient to describe
STAB(G) if and only ifG is bipartite and has no isolated nodes.
We can take care of isolated nodes by adding, for each isolated node i, the
inequality JC, <1. So in particular, we see that the stable set problem for bipartite
graphs can be solved using linear programming, since (9.1.1), (9.1.2) is an explicit
system of linear inequalities, whose encoding length is polynomially bounded in
the encoding length of G. (Combinatorial polynomial time methods for the stable
set problem for bipartite graphs were mentioned in Section 8.2.)
The minimal graphs for which inequalities (9.1.1) and (9.1.2) are not sufficient
to describe STAB(G) are the odd circuits. In fact, if G =(V,E) is an odd circuit,
the point (^, ..., \)
T
e M.
v
satisfies all inequalities in (9.1.1) and (9.1.2) but is
not in STAB(G). This suggests a new class of inequalities valid for STAB(G), the
so-called odd circuit constraints:
(9.1.4) YJ
x
t ^ 1 for each odd circuit C.
ieV(C)
Let us call a graph ^-perfect if (9.1.1), (9.1.2), and (9.1.4) are enough to describe
STAB(G) (the "r" stands for "trou", the French word for hole). The study of
these graphs was suggested by CHVATAL (1975). Although t-perfect graphs do
not seem to occur in such an abundance as perfect graphs (to be described in
the next section), there are some interesting classes of these graphs known.
(a) (b) (c)
Figure 9.1
274 Chapter 9. Stable Sets in Graphs
(9.1.5) Examples.
I. Bipartite graphs. This follows trivially from Proposition (9.1.3), as odd circuit
inequalities do not occur at all.
II. Almost bipartite graphs. A graph is almost bipartite if it has a node v such
that all odd circuits go through v (equivalently, G v is bipartite) - see Figure
9.1 (a) for an example. The r-perfectness of this class was shown by FONLUPT
and UHRY (1982). It is trivial to check if a graph is almost bipartite, and also the
stable set problem for such graphs is easily reduced to the stable set problem for
bipartite graphs.
III. Series-parallel graphs. A graph is series-parallel if it can be obtained from
a forest by repeated application of the following operations: adding an edge
parallel to an existing edge and replacing an edge by a path. DIRAC (1952)
and DUFFIN (1965) characterized these graphs as those containing no subdivision
of K4. It is easy to check whether a graph is series-parallel. CHVATAL (1975)
conjectured that series-parallel graphs are ^-perfect. This was proved by BOULALA
and UHRY (1979), who also designed a combinatorial polynomial time algorithm
for the weighted stable set problem in series-parallel graphs. Series-parallel graphs
include cacti which are graphs in which every block is either a bridge (i. e., an
edge that is a cut) or a chordless circuit. A series-parallel graph is shown in
Figure 9.1 (b).
IV. Nearly bipartite planar graphs. These are planar graphs in which at most
two faces are bounded by an odd number of edges - see Figure 9.1 (c).Using
a polynomial time planarity testing algorithm (HOPCROFT and TARJAN (1974)),
these graphs can also be recognized in polynomial time. Their t-perfectness
follows from the results of Gerards and Schrijver (see below).
V. Strongly r-perfect graphs. These are graphs that do not contain a subdivision of
K4 such that all four circuits corresponding to triangles in K4 are odd. GERARDS
and SCHRIJ VER (1986) proved that these graphs are t-perfect. In fact, they proved
that these graphs are characterized by the following property stronger than
-perfectness:
Let a.V - TL and b:V - TL be two integral weightings of the nodes,
and let c:E - TL and d:E - Z be two integral weightings of the edges.
Consider the inequalities
(9.1.6) a
v
< x
v
< b
v
for each v e V,
(9.1.7) c
uv
< x
u
+x
v
< d
uv
for each uv e E,
and, for each circuit C = (v\,...,Vk) and each choice of , = 1 (i =
1,..., k), the inequality
(9.L8) *f=ix,, < I ( X d
m+l
- c
ViVt
A
1=1 L \ , = 1 , =-1 / J
taking indices mod/c. Then the solution set of (9.1.6), (9.1.7), (9.1.8) has
integral vertices.
9.1 Odd Circuit Constraints and (-Perfect Graphs 275
So the inequalities (9.1.6), (9.1.7), (9.1.8) describe the convex hull of the integer
solutions of (9.1.6), (9.1.7).
GERARDS, LOVASZ, SEYMOUR, SCHRIJ VER and TRUEMPER (1987) proved that
every strongly (-perfect graph can be "glued together" from almost bipartite
graphs and nearly bipartite planar graphs. We do not go into the details of
this decomposition, but remark that it yields combinatorial polynomial time
procedures to recognize whether a graph is strongly (-perfect and to find a
maximum weight stable set.
Not every (-perfect graph is strongly (-perfect, as is shown by the graph
obtained from K4 by subdividing the lines of a 4-circuit - see Figure 9.2.
Let G be any graph. We set
(9.1.9) CSTAB(G) : ={X G ! R
K
| X satisfies (9.1.1), (9.1.2), (9.1.4)}
(CSTAB stands for, say, circuit-constrained stable set polytope). The main result
in this section is the following.
(9.1.10) Theorem. The strong optimization problem for CSTAB(G) can be solved
in polynomial time for any graph G. Moreover, an optimum vertex solution can
be found in polynomial time.
By Theorem (6.4.9) and Lemma (6.5.1), it suffices to prove that the strong
separation problem can be solved in polynomial time. Thus (9.1.10) is implied by
the next lemma.
(9.1.11) Lemma. There exists a polynomial time algorithm that, for any graph
G = (V,E) and for any vector y e Q
K
, either
(a) asserts that y e CSTAB(G), or
(b) finds an inequality from (9.1.1), (9.1.2), or (9.1.4) violated by y.
Proof. The inequalities in (9.1.1) and (9.1.2) are easily checked by substitution.
So we may assume that y > 0 and that, for each edge uv e , y
u
+y
v
< 1.
Define, for each edge e =uv e E, z
e
:=1 y
u
y
v
. So z
e
> 0. Then (9.1.4) is
equivalent to the following set of inequalities :
(9.1.12) }z
e
>l for each odd circuit C.
eeC
276 Chapter 9. Stable Sets in Graphs
If we view z
e
as the "length" of edge e, then (9.1.12) says that the length of
a shortest odd circuit is at least 1. But a shortest odd circuit can be found
in polynomial time (see (8.3.6) and the remarks thereafter). This proves the
lemma.
Since for t-perfect graphs CSTAB(G) =STAB(G) holds, we can conclude:
(9.1.13) Corollary. A maximum weight stable set in a t-perfect graph can be
found in polynomial time.
Theorem (9.1.10) implies that the property of f-perfectness is in co-j^gP. In
fact, to show that G is not t-perfect, it suffices to exhibit a vertex of CSTAB(G)
which is nonintegral, and since we can optimize over CSTAB(G) in polynomial
time, we can prove that the exhibited vector is indeed a vertex of CSTAB(G) in
polynomial time by Corollary (6.5.10). We do not know whether the problem of
checking t-perfectness is in Jf& or in &.
*9.2 Clique Constraints and Perfect Graphs
Instead of the odd circuit constraints, it is also natural to consider the following
system of so-called clique constraints:
(9.2.1) x(Q) < 1 for all cliques Q c V.
Note that (9.2.1) contains (9.1.2) as a special case, and also contains the triangle
constraints from (9.1.4), but in general, (9.1.4) and (9.2.1) do not imply each
other. The graphs G for which the constraints (9.1.1) and (9.2.1) suffice to
describe STAB(G) are called perfect.
While polyhedrally this is a natural way to arrive at the notion of perfect
graphs, there are several equivalent definitions, some of them in terms of more
elementary graph theory. Perfect graphs were introduced by BERGE (1961) as
common generalizations of several nice classes of graphs (see below for these
special cases).
To motivate these elementary definitions of perfect graphs, observe that each
graph G satisfies the following inequalities for the clique number co(G), the
coloring number #(G), the stability number a(G) and the clique covering number
1(G) :
(9.2.2) (o(G) <
Z
(G),
(G) <x(G).
The pentagon C$ shows that strict inequality can occur in both inequalities above.
Now BERGE (1961,1962) called a graph G perfect if
(9.2.3) 01(G) = x(G')
holds for each induced subgraph G' of G.
9.2 Clique Constraints and Perfect Graphs 277
We will give a list of known classes of perfect graphs later, but observe that,
e. g., not only bipartite graphs (trivially), line graphs of bipartite graphs (by
Konig's edge-coloring theorem (7.4.3)) and comparability graphs (trivially) are
perfect, but so are their complements (by Konig's edge covering theorem (8.2.4),
Konig's matching theorem (8.2.3) and Dilworth's theorem (8.3.19), respectively).
These results made BERGE (1961,1962) conjecture that the complement of a
perfect graph is perfect again. This was proved by LOVASZ (1972). Note that this
result generalizes the theorems of Konig and Dilworth mentioned above.
To illustrate the ideas relating combinatorial and polyhedral properties of
perfect graphs, we give the proof of the following theorem, which is a combination
of results of FULKERSON (1970) and LOVASZ (1972).
Let w: V - 7L+ be any weighting of the nodes of the graph G, and let /(G, w)
denote fhe weighted chromatic number of G, i. e., the minimum number k of
stable sets Si, S2,..., Sk such that each i e V is contained in w, of these sets. Note
that for w =H this number is just the chromatic number of G, for arbitrary w,
it could be defined as the chromatic number of the graph obtained from G by
replacing each i e V by a complete subgraph of w, nodes.
(9.2.4) Theorem. For any graph G = (V,E), the following are equivalent.
(i) x(G
r
) = co(G
r
) for each induced subgraph G ofG.
(ii) x{G, w) =w(G, w) for each weighting w: V - Z+.
(iii) STAB(G) is determined by the constraints (9.1.1) and (9.2.1).
(iv) The complement GofG satisfies (i).
(v) The complement GofG satisfies (ii).
(vi) 77?e complement GofG satisfies (iii) .
Proof, (i) => (ii). We use induction on w(V) =Y^vev
w
(
v
)- If w <H then (ii)
specializes to just (i), so we may assume that there is a node i'o e V such that
w(o) >1. Consider the weights
w(io) - 1 if i = k,
i) if / ^fo-
w' ( 0: ={
W
S
Then by the induction hypothesis, x(G,
w
) = &>(G,w'), that is, there exists a
family S\,S2,..., SJV of stable sets such that each node i is contained in w'(i) of
them and N = co(G,w
f
). Since w'(i'o) = w(io) 1 > 1, there is a stable set Sj
containing the node I'O, say io e Si.
Now consider the weighting
W := w-x
Sl
.
Let Q be a clique so that w"(Q) =co(G, W
f
). If Si n Q = 0 then
N N
co(G, w") =W'(Q) = Y,
W
' ^ Z
w
' =Z
|S
^
n
21 ^Z
1 =N
"
J
isQ ieQ j=\ j=2
= (o(G,w')-l <cw(G,w)-l .
278 Chapter 9. Stable Sets in Graphs
If Si fl Q ^0 then
co(G, w") =W'(Q) < w(Q) - 1 <co(G, w) - 1.
So it follows that
(D(G,W")<CD(G,W)-\.
By the induction hypothesis, there is a family SJ ,^, >S
W
(G,W") of stable sets in
G such that each node i is contained in w"(i) of them. Adding Si to this family,
we see that x{G,w) < w(G,w). Since the reverse inequality holds trivially, (ii) is
proved.
(ii) =>(hi). Let x e Q
K
be any vector satisfying (9.1.1) and (9.2.1). We show that
x e STAB(G). Let q be the least common denominator of the entries in x. Then
qx eZ+ and (9.2.1) says that co(G,qx) < q. Hence by (ii), x(G,qx) < q, i. e., there
exists a family Si,S2, ..., S
q
of stable sets such that each i e V is contained in
exactly qxt of them. In other words
qx = Y,x
Sj
, i.e., *=]TA
which shows that x e STAB(G).
(iii) =>(iv). If STAB(G) is determined by (9.1.1) and (9.2.1) then the same is
true for every induced subgraph G of G. So we only have to show that G can
be partitioned into a(G) complete subgraphs. We use induction on \V\. Let
F be the face of STAB(G) spanned by all stable sets of size a(G); obviously,
there is a facet of the form x(Q) < 1 containing F, where Q is a clique. But
this means that for each maximum stable set S, \S D Q\ =X
s
(Q)
=
1- Hence
a(G Q) < a(G). By the induction hypothesis, G Q can be partitioned into
<x(G Q) complete subgraphs. Adding Q to this system, we obtain a partition of
G into a(G) complete subgraphs.
The implications (iv) =>(v) =>(vi) =>(i) follow by interchanging the roles of
G and G.
It follows from these characterizations that, for perfect graphs, the clique,
stable set, coloring, and clique covering problems, as well as their weighted
versions, belong to the class Jf0> C\ zo-Jf$P.
In fact, as we shall see later, in the perfect graph case these problems belong
to the class 9 of polynomially solvable problems. So this implies the polynomial
time solvability of these four problems for several classes of graphs which were
shown to be perfect.
First we shall list a number of classes of perfect graphs discovered until now.
Clearly, with each graph automatically the class of complementary graphs is
associated, which are perfect again. At each of the classes we shall give references
to polynomial algorithms developed for those graphs for the four combinatorial
optimization problems mentioned above (in a combinatorial, non-ellipsoidal way).
9.2 Clique Constraints and Perfect Graphs 279
One should keep in mind that for perfect graphs determining co(G) is the same
as determining x(G). However, finding an explicit coloring of size #(G) and
finding an explicit maximum clique may be more complex (similarly, for a(G)
and x(G)). Moreover, the clique problem (coloring problem) for a class of graphs
is equivalent to the stable set problem (clique covering problem) for the class of
complementary graphs.
Beside the four combinatorial optimization problems mentioned, there is the
recognition problem for a class # of graphs: given a graph G, does G belong
to #? Clearly, one can speak of this problem being in Jf0>, in co-J ^, in ^,
or J ^-complete. With each of the classes below we shall also discuss what is
known on the complexity of the corresponding recognition problem. Obviously,
the recognition problem for a class of graphs is equivalent to the recognition
problem for the class of complements.
The status of the recognition problem of the class of all perfect graphs is
unknown. It is well-known that this problem belongs to co-J ^. That is, one
can prove in polynomial time that a given graph is not perfect. This would also
follow directly from the strong perfect graph conjecture, posed by BERGE (1962),
which is still unsolved.
(9.2.5) Strong Perfect Graph Conjecture. A graph is perfect if and only if it
does not contain an odd circuit of length at least five, or its complement, as an
induced subgraph.
The content of this conjecture is that the minimal (under taking induced
subgraphs) imperfect graphs (these graphs are also called critically imperfect
graphs) are the odd circuits of length at least five and their complements.
We now give a list of classes of perfect graphs. Note that each class is closed
under taking induced subgraphs. In these notes, by perfectness we mean that
(9.2.3) is satisfied. Since a number of perfectness results appeared before Theorem
(9.2.4) was established, we mention the results for classes of graphs and their
complements separately.
(9.2.6) Classes of perfect graphs.
I. Bipartite graphs, and their complements. Bipartite graphs are trivially perfect.
The perfectness of their complements follows from Konig's edge covering theorem
(8.2.4). For bipartite graphs, the weighted clique and coloring problems are
easily polynomially solvable, while the weighted stable set and clique covering
problems were shown to be polynomially solvable by KUHN (1955) and FORD
and FULKERSON (1956) - cf. Section 8.2. The recognition problem for bipartite
graphs is easily solvable in polynomial time.
II. Line graphs of bipartite graphs, and their complements. The perfectness of line
graphs of bipartite graphs follows from Konig's edge-coloring theorem (7.4.3),
and that of their complements from Konig's Matching Theorem (8.2.3). For line
graphs of bipartite graphs, the weighted clique problem is trivial. A polynomial
algorithm for the unweighted coloring problem follows from Konig's proof in
KONIG (1916). The weighted case follows from the proof of Satz 15 in Kapitel
280 Chapter 9. Stable Sets in Graphs
XI given in KONIG (1936). Polynomial algorithms for the weighted stable set and
clique covering problems were given by KUHN (1955) and FORD and FULKERSON
(1956) - cf. Section 8.2. VAN ROOIJ and WILF (1965) showed that line graphs
can be recognized and that their "ancestors" can be reconstructed in polynomial
time. Hence, the recognition problem for line graphs of bipartite graphs is
polynomially solvable.
III. Interval graphs, and their complements. A graph is an interval graph if its
nodes can be represented by intervals on the real line such that two nodes are
adjacent if and only if the corresponding intervals have a nonempty intersection.
The perfectness of interval graphs follows from Dilworth's theorem (8.3.19). The
perfectness of their complements was observed by Gallai. The polynomial solv-
ability of the weighted clique, stable set, coloring, and clique covering problems is
not difficult. The recognition problem can be solved in polynomial time (FULKER-
SON and GROSS (1965)), even in linear time - see BOOTH and LUEKER (1976) (see
LEKKERKERKER and BOLAND (1962) and GILMORE and HOFFMAN (1964) for good
characterizations). A graph is an interval graph if and only if it is triangulated
and its complement is a comparability graph - see IV and V below.
IV. Comparability graphs, and their complements. A graph is acomparability graph
if its edges can be oriented to obtain a transitive acyclic digraph D = (V ,A), i. e.,
a digraph satisfying: if{u,v) e A and (v,w) e A then (u, w) e A. The perfectness
of comparability graphs is easy, while that of their complements is equivalent
to Dilworth's theorem (8.3.19). For comparability graphs polynomial algorithms
for the weighted clique and coloring problems are trivial. Polynomial algorithms
for the weighted stable set and clique covering problems can be easily derived
from min-cost flow algorithms. Such an algorithm can also be derived from any
maximum flow algorithm by the construction of FORD and FULKERSON (1962).
The recognition problem for comparability graphs is polynomially solvable by
the method of GALLAI (1967) (membership in J^ is trivial, while membership
in co- J ^was shown by GHOUILA-HOURI (1962) and GILMORE and HOFFMAN
(1964)).
Note that comparability graphs include bipartite graphs and complements of
interval graphs. Another subclass is formed by the permutation graphs, which
can be defined as those comparability graphs whose complement is again a
comparability graph - see EVEN, PNUELI and LEMPEL (1972).
V. Triangulated graphs, and their complements. A graph is a triangulated (or
chordal) graph if it does not contain a circuit of length at least four as induced
subgraph. BERGE (1960) proved perfectness of triangulated graphs, and HAJ NAL
and SURANYI (1958) proved perfectness of their complements. DIRAC (1961)
showed that a triangulated graph always contains a node all of whose neighbors
form a clique. This yields that an undirected graph is triangulated if and only
if its edges can be oriented to obtain an acyclic directed graph D = (V\A)
satisfying: if(u
9
v) e A and (u, w) e A then (v, w) e A or (w, v) e A. Dirac's theorem
also gives that a graph is triangulated if and only if it is the intersection graph
of a collection of subtrees of a tree. The polynomial solvability of the weighted
clique, stable set, coloring, and clique covering problems was shown by GAVRIL
(1972) and FRANK (1976) (here again Dirac's result is used). Also the recognition
9.2 Clique Constraints and Perfect Graphs 281
problem can be shown to be polynomially solvable with Dirac's result. For linear
time algorithms - see LUEKER (1974), ROSE and TARJAN (1975), and ROSE, TARJAN
and LUEKER (1976). Triangulated graphs include interval graphs. They also
include split graphs, which are graphs whose node set is the union of a clique
and a stable set. These graphs can be characterized by the property that they are
triangulated and their complements are triangulated.
VI. Parity graphs, and their complements. A graph is a parity graph if each odd
circuit of length at least five has two crossing chords. The perfectness of this class
of graphs was shown by E. Olaru - see SACHS (1970). The polynomial solvability
of the weighted clique, stable set, coloring, and clique covering problems was
shown by BURLET and UHRY (1982), who also proved the polynomial time
solvability of the recognition problem for parity graphs. Clearly, parity graphs
include bipartite graphs. They also include line perfect graphs (which are graphs
G for which the line graph L(G) is perfect), since TROTTER (1977) showed that a
graph is line perfect if and only if it does not contain an odd circuit of length
larger than three.
VII. Gallai graphs, and their complements. A graph is a Gallai graph (or i-
triangulated graph) if each odd circuit of length at least five has two noncrossing
chords. The perfectness of this class of graphs was shown by GALLAI (1962).
BURLET and FONLUPT (1984) gave combinatorial algorithms that solve the un-
weighted versions of the four basic problems in polynomial time, and they also
showed that Gallai graphs can be recognized in polynomial time. The recognition
problem was also solved by WHITESIDES (1984). Gallai graphs include bipartite
graphs, interval graphs, line perfect graphs, and triangulated graphs.
VIII. Meyniel graphs, and their complements. A graph is a Meyniel graph if each
odd circuit of length at least five has two chords. The perfectness of this class
of graphs was shown by MEYNIEL (1976). Again BURLET and FONLUPT (1984)
found polynomial time combinatorial algorithms for the unweighted versions
of all problems in question. Meyniel graphs include bipartite graphs, interval
graphs, triangulated graphs, parity graphs, and Gallai graphs.
IX. Perfectly orderable graphs, and their complements. A graph is a perfectly
orderable graph if its edges can be oriented to obtain an acyclic directed graph
(V, A) with no induced subgraph isomorphic to ({t, w, v, w }, {(t,u), (, v), (w, v)}).
The perfectness of perfectly orderable graphs was shown by CHVATAL (1984).
The recognition problem for perfectly orderable graphs trivially is in J^^, but
no polynomial time algorithm for recognizing these graphs is known. Once
an orientation with the above property is found, a maximum clique and a
minimum coloring can be obtained by a greedy algorithm - see CHVATAL (1984).
Combinatorial polynomial time algorithms for the problems in question are not
known. Perfectly orderable graphs include bipartite graphs, interval graphs,
complements of interval graphs, comparability graphs, triangulated graphs, and
complements of triangulated graphs. CHVATAL, HOANG, MAHADEV and DE WERRA
(1985) showed that a number of further classes of graphs are perfectly orderable.
X. Unimodular graphs, and their complements. An undirected graph is unimodular
if the matrix whose rows are the incidence vectors of its maximal cliques is
282 Chapter 9. Stable Sets in Graphs
totally unimodular. The perfectness of unimodular graphs follows from results of
BERGE and LAS VERGNAS (1970). The perfectness of complements of unimodular
graphs follows from the results of HOFFMAN and KRUSKAL (1956) on totally
unimodular matrices. W. H. Cunningham (private communication) observed that
the recognition problem for unimodular graphs can be solved in polynomial
time using the algorithm of SEYMOUR (1980a) to recognize totally unimodular
matrices. The stable set and clique cover problems for unimodular graphs can be
written as explicit linear programs with totally unimodular matrix and therefore
they are solvable by any linear programming algorithm. MAURRAS, TRUEMPER
and AKGUL (1981) designed a special algorithm for such linear programs while
Bland and Edmonds (unpublished) remarked that Seymour's decomposition of
totally unimodular matrices yields a combinatorial algorithm for such LP's. The
clique problem is trivial, since, by a result of HELLER (1957), there are at most (")
maximal cliques. Also the coloring problem can be reduced to linear programs
over totally unimodular matrices. Unimodular graphs include bipartite graphs
and their line graphs, interval graphs, and the class of graphs which do not
contain an odd circuit of length at least five, the complement of such a circuit,
or a K4 e as an induced subgraph.
XI. Parthasarathy-Ravindra graphs, and their complements. A graph is aParthasa-
rathy-Ravindra graph if it does not contain a claw, an odd circuit of length at
least five, or the complement of such an odd circuit as an induced subgraph.
Perfectness of these graphs was proved by PARTHASARATHY and RAVINDRA (1976).
SBIHI (1978, 1980) and MINTY (1980) showed that the stable set problem can be
solved in polynomial time for claw-free (not necessarily perfect) graphs (this class
of graphs contains the line graphs, and thus the matching problem is included).
Minty's algorithm extends to the weighted case. For Parthasarathy-Ravindra
graphs polynomial time algorithms for the cardinality coloring problem resp. the
weighted clique and weighted clique covering problems were given by Hsu (1981)
resp. Hsu and NEMHAUSER (1981, 1982). Parthasarathy-Ravindra graphs can be
recognized in polynomial time by a method of V. Chvatal and N. Sbihi (personal
communication). This class of graphs includes line graphs of bipartite graphs
and complements of bipartite graphs.
XII. Strongly perfect graphs, and their complements. A graph is strongly perfect
if every induced subgraph contains a stable set of nodes that meets all its
(inclusionwise) maximal cliques. Perfectness of these graphs was observed by
BERGE and DUCHET (1984) who also proved that the recognition problem for
strongly perfect graphs is in co-J^. A polynomial time algorithm for recognizing
these graphs is not known. Moreover, combinatorial polynomial time algorithms
for the four optimization problems in question have not been found yet. The
class of strongly perfect graphs contains Meyniel graphs, comparability graphs,
and perfectly orderable graphs.
XIII. Weakly triangulated graphs. A graph is weakly triangulated if it does
neither contain a circuit of length at least five nor the complement of a circuit of
length at least five as an induced subgraph. HAYWARD (1985) proved that weakly
triangulated graphs are perfect. The recognition problem for weakly triangulated
graphs is trivially in o,o-Jf2P. No polynomial time algorithm for the recognition
9.2 Clique Constraints and Perfect Graphs 283
problem, and no combinatorial polynomial time algorithm for any of the four
optimization problems for weakly triangulated graphs is known. Triangulated
graphs and their complements are weakly triangulated.
XIV. Quasi parity graphs, and their complements. A graph is a quasi parity
graph if every induced subgraph G' that is not a clique has two nodes that are
not connected by a chordless path of odd length in G'. Perfectness of quasi
parity graphs was shown by MEYNI EL (1985). Berge (personal communication)
observed that this class of graphs can be enlarged by the graphs for which every
induced subgraph G with at least two nodes has the property that either G
f
or
the complement of G
r
has two nodes that are not connected by a chordless path
of odd length. The recognition problem for this class (resp. these two classes) of
graphs is in co-N& but is not known to be in 0>. No combinatorial polynomial
time algorithm for the four optimization problems is known. Quasi parity graphs
include Meyniel graphs, and hence parity graphs and Gallai graphs.
More information about perfect graphs and their properties can be found
in GOLUMBI C (1980), LOVASZ (1983a), and the collection of papers BERGE and
CHVATAL (1984).
Now we continue our study of the inequality systems (9.1.1) and (9.2.1). Let
G = (V,E) be any graph. We set
(9.2.7) QSTAB(G) :={xeH
y
\x satisfies (9.1.1) and (9.2.1)},
and call it the clique-constrained stable set polytope. (In the literature QSTAB
(G) is often called the "fractional stable set polytope".) The following immediate
observation relates stable set properties of a graph G and its complement G :
(9.2.8) Proposition. The antiblocker of STAB(G) is QSTAB(G), and the anti-
biocker o/QSTAB(G) is STAB(G).
By analogy with the preceding section, one may expect that the optimization
problem over QSTAB(G) is polynomially solvable. This expectation is even more
justified since QSTAB(G) has nice and "easily recognizable" facets. However
GROTSCHEL, LOVASZ and SCHRIJ VER (1981) proved the following :
(9.2.9) Theorem. The optimization problem for QSTAB(G) is Jf&-hard.
Although we usually do not prove J ^-hardness results in this book, we
sketch the proof of Theorem (9.2.9) because it makes use of the ellipsoid method.
Proof. (Sketch). The optimization problem for QSTAB(G) is polynomially equiv-
alent to the optimization problem for its antiblocker (see Exercise (6.5.18)), which
is just the polytope STAB(G). So this problem is equivalent to the stable set
problem for G, which is ./T^-hard for general graphs.
In the next section, however, we introduce an infinite class of valid inequalities
for STAB(G) which includes the clique constraints (9.2.1) and for which the
separation problem can be solved in polynomial time.
284 Chapter 9. Stable Sets in Graphs
Antiblockers of Hypergraphs
Before doing this let us come back -just for a side remark - to an issue raised in
Section 8.1. We have seen there how the notion of blocking hypergraphs and its
relation to blocking polyhedra provides a common framework for quite a number
of combinatorial optimization problems. We now introduce the analogous notion
of antiblocking hypergraphs and relate it to antiblocking polyhedra. It will turn
out that this is equivalent to the study of perfect graphs. These results are due
to FULKERSON (1971, 1972).
Given a hypergraph H, its antiblocker ABL(H) is the set of all inclusionwise
maximal subsets of UH that intersect each edge of H in at most one element. So
ABL(H) is a clutter. Define a graph G(H) on the node set UH by connecting
two nodes if and only if they are contained in an edge of H. Then ABL(H)
is the collection of maximal stable sets of G(H). In contrast to (8.1.1), which
states that BL(BL(f/)) = H holds for each clutter H, there are clutters H
for which ABL(ABL(//)) ^ H; e. g., take H = {{1,2}, {2,3}, {1,3}}. In fact,
ABL(ABL(//)) =H if and only if H is the clutter of all maximal stable sets of
a graph. Such an H is called a conformal clutter. In this case, ABL(H) is just the
clutter of maximal cliques of the graph, i. e., the clutter of maximal stable sets of
the complementary graph. Note that this complementary graph is just G(H).
In analogy to blocking theory we consider the antidominant in JR^
H
- see
Section 0.1 - of incidence vectors of a clutter H and denote it by admt(#), i. e.,
admt(/f) :=(conv{
X
E
e R
UH
| E e H } - R^
H
) n R^
H
.
If H is conformal then this is just the stable set polytope of the complement
G(H) of G(H). Again valid inequalities for admt(i/) are
(9.2.10) (a) x
v
> 0 for all veUH ,
(b) x(F) < 1 for all F e ABL(H) .
The question when these inequalities suffice to describe admt(J J ) is completely
answered by the following theorem which can easily be derived from the previous
results on perfect graphs.
(9.2.11) Theorem. For a clutter H the following are equivalent:
(i) (9.2.10) suffices to describe admt(H), L e., (9.2.10) is TPL
(ii) (9.2.10) is TBI.
(iii) H is conformal and G(H) is perfect
(iv) The following system is TPI: x
v
> 0 for all v e Uif, x(F) < 1 for all F eH.
(v) The system in (iv) is TDI.

So the analogue of Lehman's theorem (8.1.5) holds even with dual integrality.
The above shows that instead of antiblocking hypergraphs it suffices to study
stable sets in graphs.
9.3 Orthonormal Representations 285
*9.3 Orthonormal Representations
The approach described in this section is based on LOVASZ (1979). The extension
to the weighted case and a discussion of its algorithmic implications can be found
in GROTSCHEL, LOVASZ and SCHRIJVER (1981, 1984b, 1986).
Let G = {V,E) be a graph. An orthonormal representation of G is a sequence
(ui | i e V) of | K | vectors u\ e IR^, where N is some positive integer, such
that ||u
2
-|| = 1 for all i e V and ufuj = 0 for all pairs ij of nonadjacent
vertices. Trivially, every graph has an orthonormal representation (just take
all the vectors u, mutually orthogonal in 'R
v
). Figure 9.3 shows a less trivial
orthonormal representation of the pentagon C5 in 1R
3
. It is constructed as follows.
Consider an umbrella with five ribs of unit length (representing the nodes of C5)
and open it in such a way that nonadjacent ribs are orthogonal. Clearly, this
can be achieved in 1R
3
and gives an orthonormal representation of the pentagon.
The central handle (of unit length) is also shown.
Figure 9.3
Let (ut \ i e V), u
t
e 1R , be any orthonormal representation of G and let
c e 1R
N
with ||c|| = 1. Then for any stable set S c v, the vectors w i eS, are
mutually orthogonal and hence,
(9.3.1) YS
Tui)2
^
X
'
ieS
Since X,-
e
r (c^u,-)
2
*? =Z
I 6S
(c
r
M/)
2
, we see that the inequality
(9.3.2) (c
r
ii/)
2
Xi <1
ieV
holds for the incidence vector x
S
^ f
anv
stable S set of nodes of G. Thus,
(9.3.2) is a valid inequality for STAB(G) for any orthonormal representation
(ui I i e V) of G, where u
(
e JR
N
, and any unit vector c e IR
N
. We shall call (9.3.2)
the orthonormal representation constraints for STAB(G).
If Q is any clique of G, we can define an orthonormal representation (u
t
\ieV)
as follows. Let {u
t
| i e V \ Q} U {c} be mutually orthogonal unit vectors and set
Uj =c for j G Q. Then the constraint (9.3.2) is just the clique constraint (9.2.1)
286 Chapter 9. Stable Sets in Graphs
determined by Q. The orthonormal representation of C5 depicted in Figure 9.3,
with c pointing along its axis of symmetry, yields the inequality X
ieC5
4^x, <1
or Xiec
5
Xi

v
^'
wrncri
*
s not as
strong as the odd circuit constraint but is not
implied by the clique constraints. For any graph G = (V,E), set
(9.3.3) TH(G) :={x e R*
7
| x > 0 and x satisfies all orthonormal represen-
tation constraints (9.3.2) }.
(TH comes from the function "#" to be studied below.) TH(G) is the intersection
of infinitely many halfspaces, so TH(G) is a convex set. From the remarks above,
it follows that
(9.3.4) STAB(G) <=TH(G) c QSTAB(G).
In general, TH(G) is not a poly tope. In fact, we will prove later that TH(G) is
a poly tope if and only if G is perfect. The most important property of TH(G)
- for our purposes - is that one can optimize any linear objective function over
TH(G) in polynomial time. The algorithm to achieve this depends on a number
of somewhat involved formulas for the maximum value of such an objective
function.
Given a graph G =(V\E) and weights w e R+, we are going to study the
value
(9.3.5) S(G, w) :=max{ w
T
x \ x e TH(G) }.
Let us (temporarily) introduce a number of further values (which eventually will
all turn out to be equal to Q(G,xv)).
Where (u, | i e K), w, e R \ ranges over all orthonormal representations of G
and c e R
N
over all vectors of unit length, let
Wi
(9.3.6) #i(G,w) :=min max
{c,(u,)} ieV (c
T
Ui)
2
'
The quotient in (9.3.6) has to be interpreted as follows. If w, =0 then we take
Wi/(c
T
Ui)
2
=0, even if c
1
u
t
= 0. If w, >0 but c
T
ut = 0 then we take Wi/(c
T
Ui)
2
=
-foo. For notational convenience we introduce a number of further sets associated
with the graph G = (V
9
E):
(9.3.7) & = { i eR ^^M symmetric},
= {B = (bij) e <$f I by =0 for all ij adjacent in G},
= {A =(ay) e Sf I a
ti
=0 for all i e V and
a
t
j =0 for all ij nonadjacent in G},
Q> := {A e f I A positive semidefinite }.
Clearly, Jt is a linear subspace of the space f of symmetric |F|x|K|-matrices,
and Jt
1
- is the orthogonal complement of M in 9>. For w e R^, let moreover
w :={y/w
t
I ie V)eWL
v
,
(9 3 8) '
W := W w
T
= (y/wjwj I ij eV)eS?.
9.3 Orthonormal Representations 287
Define
(9.3.9) 3
2
(G, w) :=min{ A(A+W)\Ae Jt
L
},
where A(D) denotes the largest eigenvalue of D, and
(9.3.10) 3
3
(G, w) :=max{ w
T
Bw \ B e 9 D Ji and tr(fl) =1}.
Finally, let (#,- \ i e V) with u, G J R
N
range over all orthonormal representations
of the complementary graph G, and d e JR
N
over all vectors of Euclidean norm
1; define
(9.3.11) &t(G,w) :=max Y(d
T
Vi)
2
\i .
We now show the following result.
w^iv
(9.3.12) Theorem. For every graph G = (V,E) and every w e 1R+,
9(G
9
w) = 9i(G,w) =S
2
(G, w) =h(G,w) =i9
4
(G,w) .
Proof. First we remark that the theorem trivially holds if w =0. So we may
assume w ^0. The proof will consist of showing & < #i <#2 <#3 <#4 <&
First we show
(9.3.13) S(G,w)^S!(G,w).
Choose a vector x e TH(G) that maximizes the linear objective function w
T
x.
Let (u
t
\ i e V) with u, e IR^be any orthonormal representation of G and c e 1R
N
any vector with ||c|| =1. Then by (9.3.5) and (9.3.2)
#(G, w) =w
T
x =V WiXi
ieV
^ (
W
i
< max
1 (c
T
u
t
) /
ieV
]T(c
7
'u
I
-)
2
X
l
-
<max
i (c
T
Ui)
2
'
Here we have used the convention that if c
T
Ui 0, then Wi/(c
T
Ui)
2
= +00 if
w
(
>0, while Wi/(c
T
Ui)
2
=0 if w
t
= 0. By (9.3.6), this proves (9.3.13).
Now we show
(9.3.14) Si(G,w) <S
2
(G,w).
Choose a matrix /I e .^f
1
, and set t := A(A +W). (Note that r >0 since
tv(A+W) =tr(PT) >0.) Then the matrix tl A W is positive semidefinite. And
so by (0.1.4) we can write tl - A - W = X
T
X with some matrix X e l^
VxV
. Let
288 Chapter 9. Stable Sets in Graphs
x, eR
K
denote the column of X corresponding to i e V. Then our definitions
imply
(9.3.15) xjxi = t-Wi for all i e V
and
(9.3.16) xjxj = y/wiWj for all ij nonadjacent in G.
Let c e 1R
V
be a vector with ||c|| = 1 and orthogonal to all x
i9
i e V (such a
vector exists since X is singular), and consider the vectors w, := >/w,yc-hr~
1/2
x;.
Then for each i e K, we obtain from (9.3.15)
T ^ i T * T *
U: Ui = C C -f -X: Xj 1
1
t t
l
and from (9.3.16) for any two nonadjacent nodes ij,
U: Uj = C C 4" -X: Xi = 0 .
1 J
t t
l J
Hence (M
Z
- | i e V) is an orthonormal representation of G, and so by (9.3.6) and
the definition of w,
9i(G, w) <max ^- r =max - ^- =t = A(A +W).
Since this holds for each A e Ji
L
, by (9.3.9) this proves (9.3.14).
Next we show
(9.3.17) S
2
(G,w) <#
3
(G,w) .
This relation is the heart of the proof; it provides the good characterization of
Q(G,w) by going from "min" to "max". By the definition of #3 :=S
3
(G
y
w) in
(9.3.10) the inequality
w
T
Bw < 3
3
tr(B)
is valid for all matrices B e 3i C\ Jt. But this can be viewed as a linear inequality
for B in the space Sf, namely the inequality can be written as
(W-$
3
I)mB<0,
where "" denotes the Euclidean inner product in ^R
VxV
, i. e., A B = tr(A
T
B).
Note that & and Ji are cones. So $) D M is a cone, and recall that the cone polar
to this cone in the linear space Sf is (9 D JK) :={A e Sf \ A B < 0 for all B e
@ C\ J?}. Moreover, we know that (0 D ^) =^ +^ ; hence the inequality
above gives
W - 83 J e 0 +^
9.3 Orthonormal Representations 289
It is easy to see that Q) = Q) and Ji = Jt
L
, and so we can write
W - S
3
/ = -D - A,
where D e @ and A e Ji
L
. So #3 J (A +W) is positive semidefinite, and hence
#3 is not smaller than the largest eigenvalue of A +W. Thus by definition (9.3.9),
we have
S3 >HA+W) >$
2
(G,w),
which proves (9.3.17).
We now show
(9.3.18) WG,w)<9
4
(G
y
w) .
Choose 5 e ^n j such that tr(B) = 1 and w
T
Bw = S
3
(G,w) =: S3. Since B
is positive semidefinite, we can write it in the formB = Y
T
Y with Y el&
VxV
-
see (0.1.4). Let e
t
e R
r
be the incidence vector of the singleton {*}, i e V. Then
y, :=Yei is the i-th column of Y. Let P :={i e K | y\ 0} and set v
t
:=|r~y,
for all i e P. Moreover, choose an orthonormal basis of (lin{t>, | i e P})
1
and let for each i e V \P one of the elements of this basis represent i; call
this vector i?,-. Since yfyj = by = 0 for all ij e V that are adjacent, we
see that (i?,- | e K) is an orthonormal representation of G. Furthermore,
(Yw)
T
Yw =vv
r
7
r
FW =W
r
5w =S3 and hence d :=~7r ^w is a vector of unit
length. Moreover, for i e P, we have
d
7
^=^ vv
r
F
r
Fe, =-=^ w
T
Be
u
v^lNI v^lly.-ll
and so ||yi||d
r
Ui =-4=vv
r
Be, holds for all i e V. Hence
Y \\yi\\V^id
T
Vi = - V H^fle.V^=-^w
T
Bw =x/S
3
.
^ VS
3
^ VS
3
Thus by the Cauchy-Schwarz inequality (0.1.26) and by (9.3.11)
2
ieV
^(T
d
y'f)(X
Wi(
-
dTv,)2
)
ieV ieV
= (tr(B))(^w,(d
r
t;,)
2
)
ieV
w(<*
r
,)
2
ieV
<UGM-
This proves (9.3.18).
290 Chapter 9. Stable Sets in Graphs
Finally, we prove
(9.3.19) S
4
(G,w) <$(G,w) .
Choose an orthonormal representation (it \ie V), v
t
eR
N
, of G and a vector
d e R
N
, ||rf|| =1, such that the maximum in the definition of 9t{G, w) is achieved
- see (9.3.11). We claim that the vector ((d
7
^,-)
2
\ieV)
T
belongs to TH(G). To see
this, let (ut | i e K),u, e R
N
, be any orthonormal representation of G and c e R
N
be any vector with unit length. We consider the matrices u(oJ e R
NxN
. Note
that these matrices are mutually orthogonal with respect to the inner product
in R
N
*
N
and have unit length, that is
(u
iV
[) . (ujv[) =(ufujKvlvj) ={ J J j ;
Similarly, the matrix cd
T
has unit length with respect to this inner product. Hence
1 = (cd
T
) (cd
T
) > YSW
T
) (Uivf))
2
= ( c
r
H , )
2
( ^)
2
.
ieV ieV
This shows that the vector ((d
T
Vi)
2
\ i e V)
T
is in TH(G), and so
$
4
(G,w) =Y,
w
i(d
T
vt)
2
< ${G,w)
ieV
by the definition of S(G, w) in (9.3.5).
The inequalities (9.3.13), (9.3.14), (9.3.17), (9.3.18), and (9.3.19) immediately
imply Theorem (9.3.12).
(9.3.20) Remarks, (a) Since we have equality in all estimates (9.3.13), (9.3.14),
(9.3.17), (9.3.18), and (9.3.19), it follows that the inequalities in their proofs
must be tight, and this yields a number of further structural properties of
optimal orthogonal representations and optimal matrices. In particular, equality
in (9.3.14) implies that for every graph G and every weighting w : V -* R+there
exists an orthonormal representation (u, | i e V), u
t
e R
N
, of G and a vector
c e R
N
, ||c|| =1, such that 9(G,w)(c
T
Ui)
2
= w
t
for all i e V.
(b) It is easy to see from the previous considerations - details will follow
in Section 9.4 - that we have also obtained a lower bound on the weighted
chromatic number of a graph, namely the following inequality holds
co(G,w) <8(G,w) </(G,w) .
In particular, we have
co(G) < m*) < X(G) .

The next lemma formulates a further property of orthonormal representations
which will be needed in the sequel.
9.3 Orthonormal Representations 291
(9.3.21) Lemma. Let (i;, \ieV), v
x
e R
N
, be an orthonormal representation of
G and d e R
N
with \\d\\ =1. Let w : V ->R+ be any weighting of the nodes of
G, and assume that
Y
J
(d
T
v
i
)
2
w
i
= $(G,w).
ieV
Then
ieV
Proof. By (9.3.11) and (9.3.12) we have
vvK/^)
2
<S(G,w)
ieV
for all unit vectors y s R
N
, and so by assumption, the left hand side is maximized
by y = d. But the left hand side can be written as a quadratic form in y as
follows:
YJ
w
i(y
Tv
d
2
=y
T
( X
WiV
^)y >
ieV ieV
and so its maximum over all vectors y of unit length is attained when y is
an eigenvector of ^
ieV
w^vf, and the maximum value is the corresponding
eigenvalue. Hence d is an eigenvector of this matrix associated with the eigenvalue
$(G,w). This implies
Ywi(d
T
Vi)Vi = (J^wMviy = 9(G,w)d .
ieV ieV

Let us mention some corollaries of Theorem (9.3.12). We will first show that
there are a number of further ways to describe the convex set TH(G) defined in
(9.3.3).
(9.3.22) Corollary. Each of the following expressions defines TH(G):
(a) TH(G) ={ x e R^ | 3(G,x) <1};
(b) TH(G) = {xe^\x
T
y< 9(G,y) for allyeWL
v
+
}\
(c) TH(G) ={ ((d
T
Vi)
2
| i e V) \ where (v
t
\ i e V), v
t
e R
N
, is an orthonormal
representation ofG and d e R
N
satisfies \\d\\ = 1}.
Proof, (a) follows if, using that S =#4 by Theorem (9.3.12), we substitute
3(G,x) =max V(c
r
u,)
2
x, ,
ieV
292 Chapter 9. Stable Sets in Graphs
where (w, \ i e V), Ui e R , is an orthonormal representation of G and c e R ,
Ml = l.
(b) Each x e TH(G) satisfies x
T
y < S(G
y
y) by the definition of 9(G,y) in (9.3.5).
On the other hand, setting for each orthonormal representation (w, | i e V) and
each vector c with ||c|| =1, y, :=(c
T
ut)
2
and y :=(y, | i e V), we conclude from
(9.3.6) and (9.3.12) that 9(G,y) < 1. And thus the inequalities (9.3.2) are implied
by the inequalities x
T
y < 9(G,y) for all y e R+.
(c) In the proof of inequality (9.3.19) we have already shown that {(d
T
Vi)
2
|
is V) e TH(G) for each orthonormal representation (i?,) of G and each unit
vector d. Conversely, let x e TH(G). Then by (a) t :=9(G,x) < 1. By Remark
(9.3.20) (a), G has an orthonormal representation (u, | i e K), u/ e R^, and there
is a vector J e R
N
, \\d\\ = 1 such that t(d
T
Vi)
2
=x, for all i e V. Let <ii be a
vector orthogonal to d, and all t;,, i e V (in any linear space containing R^) with
\\di || =1, and set d
0
:=y/i d+>/\- t d
h
Then ||d
0
|| =1 and (d^v
t
)
2
= t(d
T
v
t
)
2
= x
t
for all i e V. This proves (c).
Combining definition (9.3.3) of TH(G) with (9.3.22) (c) we get as an immediate
consequence:
(9.3.23) Corollary. The antiblocker o/TH(G) is equal to TH(G).
We have already mentioned that TH(G) is not a poly tope in general. We will
now characterize its facets.
(9.3.24) Theorem. If an inequality defines a facet of TH(G), then it is a positive
multiple of one of the nonnegativity constraints (9.1.1) or of one of the clique
constraints (9.2.1).
Proof. Suppose that a
T
x < cc defines a facet of TH(G), and let z be a point in
the relative interior of F := {xe TH(G) | a
T
x =a}. Then either z,- =0 for some
z, or 3(G,z) = 1 by (9.3.22) (a). In the first case a
T
x < cc is trivially equivalent
to xi > 0. So suppose that $(G,z) =1. Since 9 = S
4
by Theorem (9.3.12), there
exists an orthonormal representation (w,) of G and a unit vector c such that
ieV
Since by definition (9.3.3) the orthonormal representation constraint
(9.3.25) jc/(c
r
M,)
2
<1
ieV
is satisfied by all x e TH(G), it follows that (9.3.25) must be equivalent with
a
T
x < a, and hence we may assume that a =1 and a
x
=(c
T
Ui)
2
. We also see that
(9.3.26) ]T Xi(c
T
Ui)
2
=1 =S(G, x)
ieV
9.3 Orthonormal Representations 293
for all x e F, and thus by Lemma (9.3.21)
^Xi(c
T
Ui)Ui =C
ieV
holds for all x e F, in other words,
^Xiic
7
Ui)(Ui)j =Cj
ieV
for al l ; e V. Since F is (n l)-dimensional, these equations must follow from
the equation (9.3.26), and hence Cj(c
T
Ui)
2
= {c
T
Ui)(ui)j for all ij e V. Hence for
any i e V such that c
1
U[ ^0 we have (c
T
ut)c =w,-. Since ||w,|| = ||c|| = 1, this
yields that u-
x
= c. Clearly, we may assume that M, =c.
So we see that for each i, either c
T
ut =0 or M,- =c. Set Q :={i e V \ u
t
=c}.
Then Q is a complete subgraph, since for any two nodes ij e Q, ufuj = c
T
c =
1 T^0. So (9.3.25) is just the clique inequality
fe(2
which proves the theorem.
(9.3.27) Corollary. TH(G) is a polytope if and only ifG is a perfect graph.
Proof. If G is perfect then by definition STAB(G) =QSTAB(G). Thus by (9.3.4)
STAB(G) =TH(G), which implies that TH(G) is a polytope.
Conversely, suppose that TH(G) is a polytope. Then TH(G) is the solution
set of all inequalities determining a facet of TH(G). By Theorem (9.3.24), all
these inequalities are either nonnegativity constraints (9.1.1) or clique constraints
(9.2.1), and so TH(G) =QSTAB(G). By Corollary (9.3.23) TH(G) =abl(TH(G)),
and hence TH(G) is also a polytope. Using the same arguments as above we
conclude_that TH(G) = QSTAB(G). But now STAB(G) = abl(QSTAB(G)) =
abl(TH(G)) =TH(G) =QSTAB(G), and thus G is a perfect graph.
Two immediate corollaries are the following:
(9.3.28) Corollary. TH(G) =STAB(G) if and only ifG is perfect
(9.3.29) Corollary. TH(G) =QSTAB(G) if and only ifG is perfect. D
The theorems and corollaries above show that in spite of its complicated
definition, TH(G) does have nice and useful properties. For our purposes the
following property of TH(G) is the most important.
294 Chapter 9. Stable Sets in Graphs
(9.3.30) Theorem. The weak optimization problem for TH(G) is solvable in
polynomial time.
It is necessary to restrict our attention to weak optimization, because TH(G) is
not a polyhedron in general and so the results of Chapter 6 do not apply. To see
an example, let G be the pentagon C$ and let XQ E R
5
be the vector maximizing
the linear objective function 1 = (l ,l ,l ,l ,l )
r
over TH(Cs). By symmetry, we
may assume that x
0
={t
9
t,t,t,t)
T
for some t >0. So
t
T
x < t
T
x
0
= 5t
is valid for all x e TH(G) and so the vector ^i belongs to the antiblocker of
TH(Cs). But C5 is self-complementary and hence ^i e TH(Cs) by Corollary
(9.3.23). Thus i
r
( ^i ) <5f, whence t > 4=. As remarked before, the orthonor-
mal representation constraint derived from the orthonormal representation of C5
shown in Figure 9.3 reads
feCs
x
t
< V5. This implies t = 4=. So neither the
maximizing vector nor the maximum value are rational.
Another preliminary remark : it would not do much good to apply the
optimization-separation equivalence at this point. In fact, the separation problem
for TH(G) is equivalent to the violation problem for its antiblocker; but this is
just TH(G), and so all we can achieve by this is to reduce the optimization (or
violation) problem for TH(G) to the same problem for the complementary graph.
Proof of (9.3.30). Since TH(G) is closed and convex, and it is trivial to find
inscribed and circumscribed balls, it suffices to solve the weak validity problem.
So let c
T
x < y be any inequality, c e <Q
V
, y e Q. If c, <0 for some i e V then
clearly it suffices to check whether, dropping the Mh coordinate, the remaining
inequality is valid for TH(G i). So we may assume that c > 0.
By the definition of 3, our task is done if we can compute $(G,c) in polynomial
time (in the sense of computing real numbers in polynomial time). For this, we
can use formula (9.3.10):
3(G,c) = 9
3
(G
9
c) = max{c
T
Bc \ B e 2 fl J( and tr(fl) =1},
where 2 and Ji are the sets defined in (9.3.7). To see that this maximum
is indeed computable in polynomial time, we apply Yudin and Nemirovskifs
theorem (4.3.2). For this, consider the affine subspace
Jtx :={B e M \ tr(J5) =1}
and the set
J f :=Jt
x
D 0 .
So we have S(G,c) =max{c
T
Bc | B e J T}.
Claim 1. J T is convex.
This follows since both M\ and 2 are convex.
Claim 2. J f <=S(0,n).
9.3 Orthonormal Representations 295
Indeed, let B = (by) e J f. Since B is positive semidefinite, bu > 0. Since
tvB = 1, we also have bu < 1. Using that B is positive semidefinite again, we
have that bbjj by > 0, and hence \by\ < \fbubjj < 1. Hence ||#||
m
ax <, and
so by (0.1.24) BeS(0,n).
Claim 3. S (/,) f l ^c j f .
For, let 5 e ^i be any symmetric matrix in ]&
yxV
such that U/ <.
Then by (0.1.25) the largest eigenvalue of / i? is at most . So the smallest
eigenvalue of B is at least 0. Thus by (0.1.4) B e 0, and so B e fl UfiTi = J f.
The first three claims show that J f is a centered, well-bounded, convex body
in ^i . In what follows, we shall work in the space Jt\. (To be precise, we project
Jt\ (and Jf) on the space R
s
where S = {(ij) | ij 4 E, i <j, (Uj) ^ (n,n)}.)
Claim 4. The weak membership problem for J T is solvable in polynomial time.
All we have to do is to check whether a given symmetric matrix B is positive
semidefinite. There are various characterizations of positive semidefiniteness - see
(0.1.4) - which can be used for the design of an efficient proof of this property.
For instance, polynomial time algorithms can be obtained from Gaussian
elimination and Cholesky decomposition. In Gaussian elimination we allow
pivots on the main diagonal only; if the rank of the matrix is found and only
positive pivots have been carried out, then the matrix is positive semidefinite.
Cholesky decomposition can be used in a similar way. A further method is
to compute the smallest eigenvalue A; if l
n
is nonnegative then the matrix is
positive semidefinite. This algorithm may be fast in practice but it is not so easy
to implement it in polynomial time.
Let us describe in detail the algorithm based on Gaussian elimination - see
Section 1.4. To check positive semidefiniteness we use criterion (0.1.4) (iv). So
let B = (by) be a symmetric rational nxn-matrix. If b\\ < 0 then B is not
positive semidefinite. If fcn =0 but bu ^0 for some 2 <i < n then B is not
positive semidefinite (in fact, its principal submatrix [ ,
n
,
l f
) has determinant
b\
i
< 0). If b\\ =0 and also bu = 0 for all i, then we can drop the first row
and column and restrict our attention to the remaining (n l)x(n l)-matrix.
If fen > 0 then pivot on bu, i. e., consider the matrix B' (fej
7
)^
=2
where
b[j
:
=by j^bij. Then B
f
is positive semidefinite if and only if B is, and so again
we have reduced our task to an (n-l)x(n 1) problem.
It has to be checked, however, that the entries of the smaller matrices obtained
this way do not grow too large, i. e., their encoding lengths remain bounded by
the encoding length of B. This is easy to see, however, since these entries are
subdeterminants of the original matrix B - see the proof of Theorem (1.4.8).
(9.3.31) Remark. One could also use formula (9.3.9)
S(G, w) =min{ \(A +W) \ A e Ji
L
}
to obtain #(G, w). Namely, A(^4 +W) is a convex function of A, and A ranges
through a linear space. So we obtain an unconstrained convex function minimiza-
tion problem. Using standard linear algebra, one can design an evaluation oracle
296 Chapter 9. Stable Sets in Graphs
for A(A+ W) and also derive a bound R on the Frobenius norm of the minimizing
matrix. Then Theorem (4.3.13) can be applied to compute Q(G,w).
Corollary (9.3.27), Theorem (9.3.30), and Theorem (6.3.2) immediately give :
(9.3.32) Corollary. The weighted stable set problem for perfect graphs is solvable
in polynomial time.
Trivially, we also obtain the following:
(9.3.33) Corollary. The weighted clique problem for perfect graphs is solvable
in polynomial time.
*9.4 Coloring Perfect Graphs
We shall now describe how the results of Section 9.3 can be used to solve further
optimization problems for perfect graphs in polynomial time. Recall the following
two problems.
(9.4.1) Minimum Weighted Coloring Problem. Given a graph G = (V\E) with
node weights w : V - Z+, find stable sets Su , Sk y and nonnegative
integers fa, ..., fa such that for each node v e V the sum Y,i,
V
eS, fa *
s not
smaller
than w(v) and such that fa +... + fa is as small as possible.
(9.4.2) Minimum Weighted Clique Covering Problem. Given a graph G = {V,E)
with node weights w : V ->Z+, find cliques Qi, ..., Qk V and nonnegative
integers Ai, ..., fa such that for each node v e V the sum S,>
G
Q, fa *
s n
t smaller
than w(v) and such that fa +... +fa is as small as possible.
As before, we denote the optimum value of (9.4.1) by #(G, w) and the optimum
value of (9.4.2) by x{G,w). Clearly, the coloring problem (9.4.1) for G_is nothing
but the clique covering problem (9.4.2) for the complementary graph G, and vice
versa. Both problems are jvW-hard for general graphs. We will now show that
they are solvable in polynomial time for perfect graphs. It suffices to discuss
problem (9.4.2).
(9.4.3) Theorem. There is an algorithm that solves the minimum weighted clique
covering problem for perfect graphs in polynomial time.
Proof. An integer programming formulation of (9.4.2) can be given as follows.
(9.4.4) min J ] X
Q
Q^ ^clique
(i) ] A
Q
>w(v) forallveV,
Q clique, Qao
9.4 Coloring Perfect Graphs 297
(ii) X
Q
> 0 for all cliques Q c K,
(iii) Ag integral for all cliques Q ^ V.
The linear program (9.4.4) without the integrality stipulation (iii) is the dual of
the linear program
(9.4.5) max w
T
x , x e QSTAB(G) ,
where QSTAB(G) is the polytope defined by the nonnegativity and clique con-
straints - see (9.2.7). (By Theorem (9.2.9), problem (9.4.5) is ^T^-hard in general,
hence even the LP-relaxation of (9.4.4) is >^-hard.) By (9.3.28) and (9.3.29) we
have QSTAB(G) =STAB(G) =TH(G) if and only if G is perfect, and thus by
(9.3.32), an optimum solution of (9.4.5) can be found in polynomial time if G is
a perfect graph.
Therefore, our general results of Chapter 6 imply that we can find an optimum
solution of the linear program dual to (9.4.5) in polynomial time, and thus an
optimum solution of (9.4.4) without the integrality condition (iii) can be computed
in polynomial time, in case G is a perfect graph. But by Theorem (9.2.4), if G
is a perfect graph, the integrality condition (iii) of (9.4.4) is superfluous, i. e.,
the linear program (9.4.4) (i), (ii) always has an optimum solution which is
integral. Our method, however, for finding an optimum dual solution is only
guaranteed to find a basic optimum solution, and since (9.4.4) without (iii) may
have nonintegral basic optimum solutions (in addition to the integral ones) we
are not sure that the general techniques solve (9.4.4). But in this special case it is
possible to construct an integral optimum solution from a fractional one. This
goes as follows.
By finding a basic optimal solution of the LP-dual of (9.4.5) we obtain a
basic optimum solution of (9.4.4) without (iii). It is a trivial matter to modify
this solution such that it is optimal for
(9.4.6) min X
Q
Q^V clique
(i) V XQ =w(v) for all v e V,
Q clique, Qsv
(ii) XQ > 0 for all cliques Q e V.
Let Qi be any clique such that XQ
1
> 0 in this optimum solution. Because
of condition (i) of (9.4.6) we have w(q) > 0 for all q e Q\. Moreover by
complementary slackness, Q\ has a nonempty intersection with all stable sets
S e V satisfying w(S) =a(G,w).
We define w'(v) :=w(v) for all v e F\gi , and using the algorithm of Corollary
(9.3.32), we compute a(G- Qi,w
f
). We set
ti
Ql
:=min{a(G,w)-a(G-gi,w'),min{w(q) | qeQ\}}.
Clearly, HQ
X
is a positive integer. Consider the new weighting
(9.4.7)
Wl
: =w- f i
ei
*
298 Chapter 9. Stable Sets in Graphs
By our choice of \IQ
X
we have w\ > 0, and our construction yields
a(G,wi) = cc(G,w)-fi
Ql
.
To see that this equation holds, observe first that a(G, wi) >a(G, w) HQ^ since
there exists a stable set S with a(G, w) =w(S) < w\(S) -\-^ < a(G, w\) +[XQ
V
TO
show the converse inequality, let S be any stable set satisfying u>i(S) =a(G, u>i).
If S HQi =0 then a(G,wO =wi(S) =w'(S) <a(G-<2i,w') <a(G,w)-/x
ei
. If
S fl 6i ^0 then a(G,wi) =w,(S) <w(S) - fi
Ql
< a(G,w) - ^
Gl
.
If wi ^0 we repeat this procedure, with w replaced by wj.
This algorithm ends up with a list of cliques Q\, ...,Qk and of positive
integers n
Qi
, ..., HQ
k
such that
/*<2,X
Cl
+ +/'& X
G
* =w
/ ^ +... +ju
e
, =a(G, w).
Thus we have found an integral solution of (9.4.6) and hence a solution of (9.4.4).
Clearly, each step of the iteration described above can be executed in polynomial
time. To finish the running time analysis of our algorithm we prove the following:
Claim. The vectors y^\ ..., x
Qk
are linearly independent.
We show this by proving that for each i, 1 < i < k, there exists a vector
orthogonal to /
G,+1
, ..., x
Qk
but not to x
Qi
- Let us denote the vector w\ defined in
(9.4.7) in the i-th iteration of the algorithm by w i =1, ..., k. By the definition
of fiQ
t
there are two cases. Either there is a node q e Q
t
such that w,(g) =0 or
there exists a stable set S c V(G)\ Qi such that w,(S) =a(G,w;). In the first
case, wj(q) =0 for all i <j < k 1 and hence q 4 Qj+\> So x^ is orthogonal to
X
Qi+l
9
, X
e
* but not to x
Ql
- In the second case observe that - by construction
- S is a maximum weight stable set of G not only with respect to the weighting
w, but also with respect to w,+i, ..., Wk-\. Hence by complementary slackness
|5 fl Qj+\ | =1 for j =i, ..., fc 1. If So is a maximum weight stable set of G with
respect to the initial weighting w then \SoC\Qj\ =1 for all;, and hence /
5
x
s
is a vector orthogonal to #
e,+1
, ..., x
Qk
but not to /&. This proves the claim.
It follows from our claim that k < n, and hence the algorithm terminates
in polynomial time. Moreover, the claim shows that /^,, ..., \x
k
yields a basic
optimum dual solution of (9.4.5).
Since the coloring problem (9.4.1) for a graph G is the clique covering problem
(9.4.2) for the complementary graph G, and since a graph is perfect if and only
if its complement is perfect we obtain :
(9.4.8) Corollary. There is an algorithm that solves the minimum weighted
coloring problem for perfect graphs in polynomial time.
*9.5 More Algorithmic Results on Stable Sets
In this last section we survey some further classes of graphs for which the stable
set problem can be solved in polynomial time.
Given any class if of valid inequalities for STAB(G), we can consider the
polyhedron
(9.5.1) J ^STAB(G) :={xel R
+
K
|x satisfies J ^} ,
and ask ourselves the question whether the optimization problem for S STAB(G)
can be solved in polynomial time. By the general results of Chapters 4 and 6,
this is equivalent to checking whether or not a given vector y e IR+ belongs
to if STAB(G), i. e., whether or not y satisfies all the inequalities in if. If this
problem can be solved in polynomial time, then the stable set problem can be
solved in polynomial time for all graphs G such that if STAB(G) =STAB(G).
Let us call a graph G imperfect if if STAB(G) =STAB(G).
The significance of such a result depends on whether or not there are any
interesting examples of if-perfect graphs. In Sections 9.1, 9.2, and 9.3 we have
studied two classes 5 of valid inequalities for which such examples do exist.
Here we shall mention some further classes for which the membership problem
for J2
7
STAB(G) can be solved in polynomial time, even though we do not know
really interesting classes of if-perfect graphs.
As a first remark, note that if the membership problem is solvable for
if i STAB(G) and 2 STAB(G) in polynomial time then it is also solvable for
&
{
STAB(G) (1 if2 STAB(G) = (>
{
U jSf
2
) STAB(G). So we may take the
nonnegativity constraints (9.1.1) and the odd circuit constraints (9.1.4) together
with the orthonormal representation constraints (9.3.2) and obtain a convex
set containing STAB(G) for which the optimization problem can be solved in
polynomial time. The corresponding "perfect" graphs are defined by
(9.5.2) TH(G) (1 CSTAB(G) =STAB(G) .
It follows from Theorem (9.3.24) that this condition is equivalent to the following:
(9.5.3) QSTAB(G) C\ CSTAB(G) =STAB(G) .
Graphs satisfying (9.5.3) are called /i-perfect; these are those graphs for which
the nonnegativity, clique, and odd circuit constraints suffice to describe STAB(G).
Since every fc-perfect graph also satisfies (9.5.2), we obtain the following.
(9.5.4) Corollary. The stable set problem for h-perfect graphs can be solved in
polynomial time.
We do not know any interesting classes of /i-perfect graphs that are neither
perfect, nor f-perfect, nor combinations of these. But, of course, there are such
graphs. For instance, the graph in Figure 9.4 is h-perfect but neither perfect nor
t-perfect.
300 Chapter 9. Stable Sets in Graphs
Figure 9.4
The wheel constraints for STAB(G) are determined by the odd wheels in G,
i. e., induced subgraphs G[W] of G containing a node w (the center) such that w
is adjacent to all other nodes of G[W] and G[W] w is an odd circuit. Figure
9.5 shows a wheel, where G[W] w is a 7-circuit.
Figure 9.5
Given such a subgraph GfW], where \W\ is even, we can write up the following
odd wheel constraint:
(9.5.5)
x{W
\
{w})
+\J^
Xw
<Wzl.
Note that (9.5.5) is stronger than the odd circuit constraint determined by
G[W]-w. Let Or denote the class of constraints (9.1.1), (9.1.2), (9.1.4), (9.5.5).
Then we have
(9.5.6) Theorem. The strong separation (and the strong optimization) problem
for iV STAB(G) can be solved in polynomial time.
Proof. Let y e Q
F
. We know that we can check in polynomial time whether y
satisfies the nonnegativity constraints (9.1.1), the edge constraints (9.1.2), and the
odd circuit constraints (9.1.4). Suppose that we find that it does. Then define, for
each node w e V, a weighting of the edges spanned by the set T(w) of neighbors
of w, by
l
w
(uv) :=1 y
u
y
v
y
w
for all uv e E with u,v e T(w).
Since y satisfies the odd circuit constraints, we know that l
w
(uv) > 0. So for each
node w e V, we can find, by the algorithm solving problem (8.3.6), an odd circuit
of (r(w),(r(w))) with smallest /^-length. Suppose that we find this way an odd
circuit (uo, ..., U2k) with /^-length less than 1 y(w). This means
2k
Yj\ ~ yfa) - yiMM) - yM) < i - yM
i =0
and so
2k
y(Mi) +fc>>(w) >fc.
i =0
Hence, y violates an odd wheel constraint. Conversely, if for every w e V
every odd circuit in T(w) has /w-length at least 1 y(w), then clearly y e
TTSTAB(G).
It follows that the stable set problem can be solved in polynomial time for
^-perfect graphs. Unfortunately, we are not aware of any interesting examples
of such graphs.
There are further classes of inequalities known that are valid for STAB(G)
or define facets - see for instance PADBERG (1973), NEMHAUSER and TROTTER
(1974), or - for a survey - BALAS and PADBERG (1975). For most of these classes
we do not know whether or not the associated separation problem can be solve
in polynomial time. An example of such a class is the class of odd antihole
inequalities. These are inequalities of the formx(W) < 2 where the subgraph of
G induced by W is the complement of a chordless odd circuit of length at least
five.
The papers NEMHAUSER and TROTTER (1974) and PADBERG (1975) describe
general methods - so-called lifting techniques - with which, for each induced
subgraph G of G, valid (or facet defining) inequalities for STAB(G') can be turned
into valid (or facet defining) inequalities for STAB(G). (These methods apply to
integral polyhedra in general.) In fact, the odd wheel constraints can be obtained
from the odd circuit constraints with this lifting technique, and we are able to
modify the trick described in the proof of Theorem (9.5.6) to solve the separation
problem for further classes of lifted inequalities. Similarly, we can solve the
separation problem for the separation problem for S STAB(G) if S consists of
constraints derived from odd subdivisions of K
4
, or, more generally, from odd
subdivisions of wheels. But a general theory of such classes of inequalities is not
known. It is also an open question whether the more involved linear algebraic
methods of Section 9.3 can be pushed any further.
We conclude with some classes of graphs for which the stable set problem is
polynomially solvable, although not directly by polyhedral methods.
Since the stable set problem for the line graph of a graph is trivially equivalent
to the matching problem for the original graph, it is solvable in polynomial time
(see Section 7.3). MINTY (1980) and SBIHI (1978, 1980) extended this result to the
stable set problem of claw-free graphs, i. e., graphs not containing a 3-star as an
induced subgraph. (It is easy to see that every line graph is claw-free, but not vice
versa.) Minty also solved the weighted version in polynomial time. However, in
spite of considerable efforts, no decent system of inequalities describing STAB(G)
for claw-free graphs is known - cf. GILES and TROTTER (1981).
Let us remark that for some interesting classes of graphs, the number of all
maximal stable sets is polynomial in \V\, and all such sets can be actually listed
in polynomial time :
complements of triangulated graphs,
complements of bipartite graphs, and
complements of line-graphs
are some examples. Now, if G = (K, E) is a graph whose nodes can be partitioned
into two classes V\ and V2 such that both G[V\] and G[V{\ belong to one of the
classes above, then the stable set problem for G is easily solved in polynomial
time, by solving it for all bipartite graphs G[S\ US2I where 5, is a maximal stable
set in G[Vi\.
One of the fastest branch and bound methods for the cardinality version of
the stable set (resp. clique) problem in arbitrary graphs known to date is based
on observations of this type. The algorithm is due to BALAS and Yu (1984). It
iteratively generates maximal triangulated induced subgraphs or complements of
these and heavily exploits the fact that maximum stable sets in such graphs can be
computed in time linear in |F| +||. The algorithm terminates in polynomial time
for instance for complements of triangulated graphs, but also for some classes
of graphs that include some imperfect graphs. BALAS, CHVATAL and NESETRIL
(1985) have modified and extended these ideas to obtain algorithms that solve the
weighted stable set problem for several further classes of graphs in polynomial
time. The common feature of these classes of graphs is that every stable set of any
of these graphs is contained in some member of a polynomial-sized collection of
induced subgraphs that are bipartite.
Hsu, IKURA and NEMHAUSER (1981) showed that for each fixed k the weighted
stable set problem can be solved in polynomial time by enumerative methods if
the longest odd cycle in the graph is bounded by k.
It follows from the results of Chapter 6 that, for each of the classes of graphs
mentioned above, the facets of STAB(G) can in a sense be described : we can
decide in polynomial time whether or not a given inequality is valid for STAB(G),
and also whether or not it determines a facet of STAB(G). Moreover, we can
represent every valid inequality as a nonnegative combination of facet defining
inequalities of STAB(G). We can also find, for any vector not in STAB(G), a
facet separating it from STAB(G) in polynomial time. But of course, it would
be interesting to find a direct description of STAB(G) by linear inequalities and
then use this to solve the stable set problem. For none of the three classes of
graphs mentioned above, such a description of STAB(G) is known.
* Chapter 10
Submodular Functions
The concept of a submodular function in discrete optimization appears to be in
several respects analogous to that of a convex function in continuous optimiza-
tion. In many combinatorial theorems and problems, submodularity is involved,
in one form or another, and submodularity often plays an essential role in a proof
or an algorithm. Moreover, analogous to the fast methods for convex function
minimization, it turns out that submodular functions can also be minimized fast,
viz. in polynomial time. However, the only method known for this is, as yet, the
ellipsoid method.
Submodular functions were studied first in relation to matroids (RADO (1942),
INGLETON (1959)) and lattices (DILWORTH (1944)). Its importance for optimiza-
tion was revealed by RADO (1957) and EDMONDS (1970), who proved several
fundamental theorems and introduced the corresponding geometric concept of
polymatroid. (The terminology is not uniform and alternative names have been
proposed for submodular functions and polymatroids in the literature.)
In this chapter we give a survey on submodular functions and polymatroids,
and we discuss methods to handle associated algorithmic problems with the
ellipsoid method.
Let us remark that all polynomial time algorithms for "primal" problems
presented in this chapter can be turned into strongly polynomial ones using the
general theory developed in Section 6.6. Some difficulties arise in connection
with minimizing a submodular function, but these can be overcome as will be
explained. As usual, difficulties occur with "dual" problems. In some cases we
will use ad hoc methods (based on making collections of sets "cross-free"), to
turn the algorithms into strongly polynomial ones.
*10.1 Submodular Functions and Polymatroids
Let be a finite set. A function / : 2
E
- R is called submodular on 2
E
if
(10.1.1) f(S H T)+f(S UT)< f(S)+f(T) for all S
9
T ^ E.
The main question studied in this chapter is how to find the minimum of
such a function. Let us describe some examples of submodular functions and
illustrate that a variety of combinatorial optimization problems are special cases
of submodular function minimization.
(10.1.2) Examples.
I. Capacity of cuts. Let D = (V,A)
9
be a directed graph, and let c : A ->Q
+
be a
"capacity" function. Choose r,s e V, and let E := V \ {r,s}. Define, for S ^E,
f(S) := c(S
+
(S U {r})),
i. e., let f(S) be the capacity of the cut of D determined by S U {r}. Then / is
submodular on 2

, as one easily checks. Minimizing / means finding a cut of


minimum capacity separating r and s - see (8.3.8).
II. Number of neighbors. Let G = {V,E) be a bipartite graph, with color classes
S and T. Let T(U) denote the set of neighbors of nodes in U. Then the function
|T((7)| is submodular on 2
s
, as can be easily seen. Hence so is the function
f(U):=\S\U\ + \T(U)\.
Moreover, the minimum value of / is equal to the node covering number z (G)
which, by Konig's matching theorem (8.2.3), is equal to the matching number
v(G).
III. Supply of neighbors. Let G = (V,E) be a bipartite graph with color classes
S and T. Let b : T - <Q
+
describe the "supply" available at node t e T -
cf. (8.2.11). Define, for U c 5,
f(U):=b(T(U)y
Then / is a submodular function on 2
s
. The value f(U) may be interpreted as
the maximum amount of goods the set U can receive over the given edges of
G. Let d : S - Q+describe the demand at node s e S. Recall that d is called
satisfiable if there exists a function y : E - Q
+
such that
]T)>(e) =<i(s) for alls eS,
Y,y(
e
)^
b
(t) for all re 7\
By Theorem (8.2.15), a vector d is satisfiable if and only if
d(U) <f(U) for all U <=5.
These inequalities can be tested by minimizing the submodular function
/([/) :=/(I /) - d([/) over all U ^S.
IV. Rank function of a matroid. Let M = (E, J) be a matroid, with rank function
r. Then r is a submodular function - see (7.5.10). Recall that the convex hull
IND(M) of the incidence vectors of the independent sets in M is given by the
inequalities (7.5.13) and (7.5.14):
x
e
> 0 for all e e ,
x(F)<r(F) for all F c .
Given a vector y e Q

we want to check whether y is in IND(M). Checking the


nonnegativity constraints is trivial. To check the "rank inequalities", note that
the function
r(F):=r(F)-y(F)
is submodular. We want to know whether the minimum value of f is nonnegative.
If we can find the minimum value of f we are done.
V. Mixed rank function of two matroids. Let M\ =(E,J\) and M
2
= {E,J
2
) be
matroids with rank functions r\ and r
2
, respectively. Since both r\ and r
2
are
submodular, also the function / : 2
E
- Z+ defined by
f(S) :=n(S) +r
2
(E \ S) for all S <=E
is submodular. A theorem of EDMONDS (1970) - see Corollary (7.5.17) - states
that the minimum value of / is equal to the maximum cardinality of a set in
y i n J
2
.
Two polyhedra can be associated with a submodular function / : 2

->R in
a natural way:
(10.1.3) P
f
:={xeR

| x(F) < f(F) for all F c ,


x
> 0},
(10.1.4) EPj :={xeR

| x(F) < f(F) for all F c }.


The polytope (10.1.3) is called the polymatroid P
f
associated with /, while
the polyhedron (10.1.4) we call the extended polymatroid EPf associated with /.
Note that EP
f
+ 0 iff /(0) >0, whereas Pj + 0 iff f> 0.
Optimizing linear objective functions over extended polymatroids is an easy
task. It can be done by a natural extension of the greedy algorithm (7.5.11)
which can be formalized as follows. Let X R" and c e Q". Let us order the
coordinates of c so that c\ > c
2
> ... >c
n
. Find successively
'x\ : max{xi | x G I },
x\ := max(x2 | x e X
9
x\ x!},
(10.1.5)
x^:=max{x
w
\xeX,x^ = x\, ...,x_i = x*
n
_
{
}.
So x* =(xj, ..., x*
n
)
T
is in X, if it exists. We say that the greedy algorithm works
for c if for every nonincreasing ordering of the components of c the maxima
in (10.1.5) exist and the vector x* thus obtained maximizes the linear objective
function c
T
x over X. The following result is due to EDMONDS (1970).
(10.1.6) Theorem. Let X = 0 be a down-monotone polyhedron in R
n
. Then
the greedy algorithm works for every c e Q!J_ if and only ifX is an extended
polymatroid. D
10.1 Submodular Functions and Polymatroids 307
An equivalent version of this theorem characterizes polymatroids among
down-monotone sets in R+by the greedy algorithm.
Let X = EP
f
be an extended polymatroid associated with the submodular
function / : 2
E
- R. Then the maxima in (10.1.5) can easily be computed by the
following formulas. Let c e Q^, and let us order the elements of E = {e\, ..., e
n
]
so that c(e\) >... >c(e
n
). Then
(10.1.7)
defines a vertex x* of P/ maximizing c
T
x over P/. (This can be proved using
the submodularity of /.) The maximum value is given by
n
(10.1.8) /(c) : =c(e,)/({e,}) +j;c(e,)(/-({i, , *}) - /({*!, ...,/-!}))
n- 1
=^(cied - c(e
i+
i))f{{e
u
..., ?,-}) +c(e)/({ei, ..., e}).
i =i
Another way to state this formula is the following. First note that every nonzero
vector c e R+can be written uniquely as
(10.1.9) c = *a
T
>+... + hx
Tk
such that k
t
> 0 and 0 ^T\ <=T
2
c ... c T
k
c . Then
(10.1.10) /(c) =^/ ( rO +... + hf{T
k
).
This shows in particular that
(10.1.11) Ax
S
)=f(S) for allS ^, 5^0.
This formula proves that the extended polymatroid EP
f
uniquely determines /,
except for /(0).
The situation is somewhat more complicated for polymatroids, since in that
case the formulas (10.1.7) only apply i f /i s monotone (i. e., S c T c =>/(S) <
AT)).
It is easy to monotonize any submodular function / by defining
(10.1.12) /mon(S) :=min{/(J ) | S T c } for all S .
Then /
mon
is again submodular, and we obviously have
So every polymatroid can be defined by a monotone submodular function. If
Pf j= 0 then this monotone submodular function is uniquely determined by P/,
except on 0, by the formula
/
mon
(S) :=max{x(S) | x e P,} for 0 + S c E.
By formula (10.1.10) the function / may be viewed as an extension of / to
R+. In fact, (10.1.10) defines an extension of any set function / : 2
E
-> IR to a
function / : R+ R. If / is submodular then / is convex since, by definition
(10.1.8), it is the value function of a linear program. It is not difficult to show
conversely that if / i s convex then / is submodular.
It follows from formula (10.1.7) that if / is an integer valued submodular
set function then all vertices of EP
f
are integral. It is easy to derive from this
that all vertices of P
f
are integral. EDMONDS (1970) proved the following much
deeper result.
(10.1.13) Theorem. / / / and g are integer valued submodular functions on the
same ground set then all vertices of P
f
C\ P
g
as well as all vertices ofEP
f
D EP
g
are integral D
This theorem contains a large number of integrality results in polyhedral
combinatorics. In particular it generalizes the matroid intersection theorem
(7.5.16).
*10.2 Algorithms for Polymatroids and Submodular Functions
Now we come to the algorithmic aspects of the structures introduced in Section
10.1. Since all problems we encounter will concern submodular functions, we
start with the discussion of how such a function / : 2
E
-> R is given. If / were
given by an explicit table of all subsets S of E together with the values /(5), the
question of minimizing the function in polynomial time would become trivial.
Similarly to the case of matroids - see Section 7.5 - we assume that the function
/ is given by an oracle returning f(S) for each query S ^ E. Note that for each
of the examples (10.1.2), realizations of the oracles can be designed easily whose
running time is polynomial in the "natural" encoding lengths of the structures
involved. In the examples involving matroids we assume that the matroids are
given by an independence oracle or equivalently by a rank oracle. It follows
from our General Assumption (1.2.1) on oracles that with the oracle we know an
upper bound /? on the encoding lengths of its outputs. Therefore, we can define
the encoding length (/) of a submodular function / on 2
E
as follows:
(J):=\E\+p.
Let us start with problems concerning polymatroids.
(10.2.1) Optimization over Extended Polymatroids. Given a submodular function
f : 2
E
- Q (by an oracle) and a vector c e Q+, find a vector x e EPf maximizing
T
C
1
X.
This problem is clearly solvable in oracle-polynomial time by the greedy
algorithm (10.1.7). While this problem is trivial, it is somewhat surprising that
the following one can only be solved in oracle-polynomial time by the ellipsoid
method - as yet.
(10.2.2) Optimization over Polymatroids. Given a submodular function f :
2
E
Q and a vector c e Q

, find a vector x e P
f
maximizing c
T
x.
We may restrict our attention to the case when c > 0 since the variables x
e
with c
e
< 0 can be set to zero. By our remark after Theorem (10.1.6) the greedy
algorithm (10.1.5) can still be used to find this optimum. However, formulas
(10.1.7) only yield the greedy solution if / i s monotone. I f/i s not monotone, then
it is not known (without the ellipsoid method) how to perform the first iteration
of the greedy algorithm (10.1.5), namely to maximize x\ over P
f
. Even the
nonemptiness problem for P/, i. e., deciding whether or not / >0, is not known
to be solvable by a combinatorial polynomial time algorithm. Equivalently,
there is no fast combinatorial way known to compute the monotonization /
mon
(10.1.12) from /. On the other hand, as
(10.2.3) P
f
=EP
f
m&l
and as we can optimize both over EP
f
and over IR+in oracle-polynomial time,
we can also optimize over P
f
in oracle-polynomial time by Exercise (6.5.18).
Consider now the integral version of problem (10.2.1).
(10.2.4) Integral Optimization over Extended Polymatroids. Given a submodular
function f : 2
E
- Q and a vector c e Q

, find an integral vector z e EPf


maximizing c
T
z over the integral vectors in EP
f
.
I f /i s integral valued, then Problem (10.2.4) is trivial as each vertex of EPf is
integral. In general, however, (10.2.4) is not solvable in oracle-polynomial time,
even if we restrict ourselves to monotone half-integral valued functions / such
that f(S) < \S\ for all S E. Indeed, this special case is equivalent to the
matroid matching (or "matroid parity") problem - see JENSEN and KORTE (1981),
LOVASZ (1980).
(10.2.5) Separation from Extended Polymatroids. Given a submodular function
f : 2
E
- Q and a vector y e Q

, decide whether y e EPf, and ify is not, find a


setS ^E such that y(S) > f(S).
By the equivalence of optimization and separation, this problem can be
solved in oracle-polynomial time since the optimization problem for extended
polymatroids can be solved in oracle-polynomial time. There is no combinatorial
polynomial time algorithm for solving problem (10.2.5) known.
By the intersection formula (10.2.3), we can also solve the separation problem
for polymatroids P
f
in oracle-polynomial time. Again, there is no combinatorial
polynomial time algorithm for this problem known, but for the special case where
the submodular function / i s the rank function of a matroid, CUNNINGHAM (1984)
has designed a combinatorial separation algorithm for P
f
.
(10.2.6) Optimization over Intersections of Extended Polymatroids. Given two
submodular functions f,g : 2
E
Q and a vector c e Q

, find a vertex x of
EP
f
fl EP
g
maximizing c
T
x.
Since we can optimize over EP
f
and EP
g
in oracle-polynomial time we can
also solve (10.2.6) in oracle-polynomial time by Exercise (6.5.18). Edmonds'
theorem (10.1.13) implies that if / and g are integral valued then the optimum
vertex of EP
f
fl EP
g
is an integral vector. Optimization over the intersection of
three or more extended polymatroids can also be carried out in oracle-polynomial
time. However, in this case the optimum vertex may not be integral even if the
submodular functions involved are integer valued. In fact, to find an integral
vector that maximizes a linear objective function over the integral vectors in the
intersection of three matroid polytopes is J ^-hard. Similarly as in the previous
chapters it is also of interest to look for optimum dual or optimum integral dual
solutions to linear programs over P
f
, EP
f
, and intersections of such polyhedra.
We will treat these questions in the next section in a more general setting. Now we
come to what is perhaps the most important algorithmic problem on submodular
functions.
(10.2.7) Submodular Function Minimization. Given a submodular function
f : 2

->Q, find a set S ^ E minimizing f.


Our preparations allow three ways of attack on this problem. First note that
the separation of the zero vector from EP
f
is equivalent to deciding whether
/ > 0 and finding a set S c E with f(S) < 0, if any such set exists. Since
we can decide similarly whether the submodular function / minus a constant is
nonnegative, we can find by binary search the minimum value /i of / (using the
fact that this value \i has encoding length at most /?) and also a minimizing set
S.
The second approach uses the extension function / defined in (10.1.8) - see
also (10.1.10). By replacing / by //(0) we may assume that f(0) =0. Then
the following identity holds:
(10.2.8) min{/(x) | 0 <x < 1} =min{/(S) | Sc}.
Moreover, if x* minimizes /(x), and if we write x* = Aix
Tl
+ + hx
Tk as m
(10.1.9), then each of the sets T\ minimizes /. Namely, as f(S) =f(x
s
) we have
min{/(x) | 0 <x <1} <min{/(S) | S c } =
:
^ On the other hand
f{x) =hf{x
Tx
) + +hf(x
Tk
) > (Ai +... +k
k
)v > li,
since ||x*||oo <1 and \i < 0. So it suffices to minimize / over the unit cube. But
/ is polyhedral and computable in oracle-polynomial time, so this can be done
in oracle-polynomial time by Theorem (6.5.19).
Note that none of the two algorithms presented above is strongly polynomial:
The first uses binary search over the range of /, while the second calls the
algorithm of Theorem (6.5.19) which cannot be turned into a strongly polynomial
one.
However, we will now describe a third method to minimize a submodular
function / which is strongly polynomial. Let F c ]R

denote the set of vectors


in the unit hypercube minimizing /. By the remark above, F is a nonempty
polytope with {0, l}-vertices. So the vertex-complexity of F is at most 2\E\. Now
we design a separation algorithm for F in the sense of Remark (6.4.11).
Let a vector y e Q
E
be given. If y has a component that is larger than 1 or
smaller than 0, then (strong) separation is trivial. If 0 <y < 1, then we order the
elements of E = {e\, .,} such that y{e\) > y(e
2
) > ... >y(e
n
) and compute
the vector x* given by formula (10.1.7). So x* maximizes y
T
x over the extended
polymatroid EPf. Moreover, x* can be viewed as a subgradient of / at v. For,
by the definition of / and x* we have y
T
x* = f(y)
9
x
T
x* < f(x) for all x in the
unit hypercube, and thus for all these vectors x
f(x)>f(y) + (xY(x-y).
In particular, if x e F then f(y) > f(x) and so
(xYx < (xYy,
and if y 4 F then f(y) > f(
x
)
an
d so (x*)
r
x < (x*)
T
y. This proves that the
vector x* has the properties required in Remark (6.4.11). And thus we can solve
the strong nonemptiness problem for F in oracle-polynomial time. By Theorem
(6.6.5), this algorithm can be turned into a strongly polynomial one. In fact, a
more careful analysis shows that it is already strongly polynomial.
There is no combinatorial algorithm known that minimizes a submodular
function in polynomial time; although for the case where / is an integral sub-
modular function, CUNNINGHAM (1985) has given a combinatorial algorithm that
is polynomial in \E\ +2^(a so-called pseudo-polynomial algorithm). Cunning-
ham's algorithm, for instance, finds a minimum of the submodular function
defined in Example (10.1.2) V. (matroid intersection) in polynomial time.
At first sight the problem of maximizing a submodular function would seem
analogous. However, this problem is much more difficult; it contains ^i n-
complete special cases like the max-cut problem, and it is easy to show that it
cannot be solved in oracle-polynomial time. For a discussion of some approxima-
tion schemes as well as some special cases when it can be solved in polynomial
time, we refer to LOVASZ (1983b) and NEMHAUSER and WOLSEY (1981).
Packing Bases of a Matroid
We finish this section by studying the problem of packing bases of a matroid,
which applies, e. g., to the problems (8.4.26) and (8.4.27) on packing spanning
trees in an undirected graph. Let M =(E,J) be a matroid, with rank function r.
Consider the polyhedron P in R

determined by the following linear inequalities:


(10.2.9) x(B) > 1 for all bases B of M,
x
e
> 0 for all e e E.
So P is equal to the blocking polyhedron of the convex hull of the incidence
vector of bases of M. This convex hull itself is a face of the matroid polytope
IND(M) of M defined in Section 7.5.
Hence bl(P) is equal to the dominant of the incidence vectors of bases of M,
which is determined by the following linear inequalities:
x(S) > r(E) - r(E \ S) for all S c E.
(It is not difficult to derive this from the fact that the extended polymatroid EPj
has integral vertices only, where / is the submodular function defined by f(S) :=
r(E\S)-r(E).)
Hence P is equal to the dominant of the vectors
1
js
r(E)-r(E\S)
X
for S c E with r(E \S) < r(E). In particular, for c e Z+, the minimum value of
c
T
x over P is equal to
(10.2.10)
m i n
{ _ _ l _ _
c ( S )
,
S
=E,r E{\ S)< r(E)}.
By linear programming duality this minimum value is equal to
(10.2.11) max k
B
B basis
s. t. \ ^B < c
e
for all e e E,
IB > 0 for all bases B of M.
B basis
The maximum value of (10.2.11) can be considered as the maximum size of a
fractional packing of bases, subject to c.
It was shown by EDMONDS (1965C) that, if we add to (10.2.11) the condition
(10.2.12) XB integer for all bases B of M,
then the maximum value of (10.2.11) might go down, but by less than 1. That
is, the maximum value of the integer linear program (10.2.11), (10.2.12) is equal
to the lower integer part of the maximum value of the linear program (10.2.11).
Since the LP-maximum is equal to (10.2.10), it is not difficult to see that this
statement is equivalent to the following theorem of EDMONDS (1965C).
(10.2.13) Theorem. The maximum number of pairwise disjoint bases in M =
(, J) is equal to
mi n
{U)-' rj\
S
)J
| S
'
r(
\
5) <?
-
( )
}-

10.3 Submodular Functions on Lattice and other Families 313
Although this theorem seems to cover the case c = i only, the case of arbitrary
c e Z+ can be derived by the following "multiplication". Replace each e e E by
c
e
"copies" e\, ...
9
e
Ce
and, for E := [j
eeE
{
e
^ >
e
<--
e
}i define a collection J of
subsets of by:
S E f<=> S c E and, for all e e , |S n {e,, ..., e
Ce
}\ < 1
and { e e \ S H {e
u
...
9
e
Ce
} 0} eS.
Then (,/) is a matroid, and a maximum packing of bases in (,,/) corresponds
to an optimum solution of the integer LP (10.2.11) with (10.2.12).
EDMONDS (1965c) also gave an oracle-polynomial time algorithm for finding
a maximum packing of bases as required in (10.2.13). As a special case this gives
a polynomial time algorithm for the spanning tree packing problem (8.4.26).
We cannot obtain an oracle-polynomial time algorithm for the capacitated
case (i. e., the integer LP (10.2.11) with (10.2.12)) from the uncapacitated case
by the above "multiplication". However, we can proceed as follows. First solve
the linear program (10.2.11), with the method of Theorem (6.5.14). This can
be done in oracle-polynomial time, since the separation problem for polyhedra
P determined by (10.2.9) is solvable in oracle-polynomial time (by the greedy
algorithm). This gives bases B\, ..., B
n
and rationals AB
P
..., AB >0, so that
n < \E\
9
forming an optimum solution for the LP (10.2.11) (with Is '=0 if
B 4 {Bu
5
Bn})' Hence, setting
^B,
: =
*B
t
~ UBJ for i =1, ..., n,
n
c'
e
:= |~ XA for all e e E
9
i=\
e3B,
the X
r
B
form an optimum solution for the linear program (10.2.11), with c replaced
by c
r
. Now Y.eeE
c
'e ^ \E\ - n < \E\
2
. We can multiply each e e E by c'
e
copies
eu -., e
c
'
e
, as we explained above, to obtain the matroid (,/). We can find
a maximum packing of bases in (E,J) with Edmonds' algorithm. This gives
an optimum solution ii
B
for the integer LP (10.2.11) with (10.2.12), where c is
replaced by c'. Then [XB\ + [IB form an optimum solution for the integer LP
(10.2.11) with (10.2.12), for the original objective function c.
As a special case, we have a polynomial time algorithm for the capacitated
spanning tree packing problem (8.4.27).
*10.3 Submodular Functions on Lattice, Intersecting,
and Crossing Families
We now extend the results of Sections 10.1 and 10.2 to submodular functions of
a more general type. Let be a finite set. A nonempty collection #of subsets of
E is called a lattice family or a ring family on E if
(10.3.1) S,Te< => SHTeW and SUTe <.
An important class of lattice families comes from posets. An ideal of a partially
ordered set (P,<) is a subset I of P such that if x e I and y < x then y e I.
The ideals of a poset form a lattice family. Conversely, every lattice family can
be derived from a poset by duplicating elements and adding dummy elements.
More precisely, every lattice family ^ on a finite set E can be described by a
digraph as follows. Let
(10.3.2) R :=p| 7\ U :=(J T,
A<t :={(ij) eE xE\ for each T e % ifieT then; e T}.
So (E,A<#) is a digraph.
(10.3.3) Proposition. The lattice family < is determined by E, R<$, U<#, and A<#.
In fact, T e %> if and only if
(10.3.4) Rq^T <^U<$ and there is no (ij) e A% with i e TJ i T.
Proof. Every T e%> satisfies (10.3.4) by the definitions in (10.3.2). Conversely, let
T satisfy (10.3.4). The definition of A<$ implies that for each pair i e T, j $ T
there exists a set Ty in ^ with i e Ty and j & Ty. If T = 0 then R<# =0, and
hence T e %> as R% =f)
Se
&S belongs to #(since ^is a lattice family). Similarly,
if T = E, then T e *. So we may assume that r ^ 0 and T + E. Now for
each i in J" we know that T
t
:= f]j^
T
Ty e
c
. Note that i e T
x
c 7\ Therefore,
T =y
f er
T, belongs to *. D
The structures defined in (10.3.2) yield an encoding of a lattice family #whose
space requirements are polynomial in \E\ only. From this encoding it is easy to
decide whether a set belongs to # or not. From now on we assume that every
lattice family is given this way. For our purposes we may also assume without
loss of generality that R<$ =0 and U<g =, so # is just given by the digraph
(E,Av).
A lattice family # gives rise to a closure operator on <& defined for every
X <=U#:
(10.3.5) X :=Ci{S e<\X <=s}.
So .Y is the smallest set in #containing X as a subset. Note that X can easily
be determined from the digraph (E,A<$): X is the union of X with the set of all
nodes j e E that can be reached from some node i e X by an arc.
A function / : #->R is called submodular (on the lattice family #) if
(10.3.6) /(S fl T) +/(S UT)</(S) +/ (r) for all S,Te<$.
Every submodular function defined on a lattice family ^on can be extended
to a submodular function / on 2

by the formula
(10.3.7) f(X) :=f(X) + K\X\X\ for all X <=
where X is a sufficiently large constant (e. g., X :=2^suffices, where j? is an
upper bound on (f(X)) for all X c ). It is easy to see that (10.3.7) defines a
submodular function on 2
E
.
10.3 Submodular Functions on Lattice and other Families 315
(10.3.8) Minimization of a Submodular Function on a Lattice Family. Given a
lattice family < on E by the encoding (10.3.2) and a submodular function f on
<% by an oracle, find a set T e%> such that f(T) is as small as possible.
Using the previous discussion, this problem is easily reduced to the problem
of minimizing a submodular function defined on all subsets. It suffices to observe
that the function ^defined in (10.3.7) has the same minimizing sets and the same
minimum value as / and that the additional computations (calculating X and
f(X)) can be carried out in time oracle-polynomial in (f) and \A<#\. So (10.3.8)
can be solved in oracle-polynomial time.
This result can be extended to more general structures. A family #of subsets
of E is called:
(10.3.9) an intersecting family if
S, r e#, Sn7V 0 => SOT e<,SUT eW,
a crossing family if
S,TeW,Sr)Tj=Q
y
SUT^E => S HT eV,S \J T e<g.
So each lattice family is an intersecting family, and each intersecting family
is a crossing family. If we have a crossing family #, then those members of
<& missing a given element e e E form an intersecting family. If we have an
intersecting family #then those members of #containing a given element e e E
form a lattice family. The complements of the members of a crossing family form
another crossing family.
A trivial example of an intersecting family is the family of nonempty subsets
of a set E. The family of all nonempty proper subsets of E forms a crossing
family. If G is any graph then those node sets 0 " W 4" V{G) for which 8{W)
is a minimum cardinality cut form a crossing family. If D is any digraph and
r G K(D), then those node sets 0 + W V{D) \ {r} for which d~{W) is a
minimum cardinality r-cut form an intersecting family.
As is the case for lattice families, also crossing families have a compact
specification: For any #c 2

, and any pair ij e E set:


(10.3.10) <
Xi
:={T e < | i e Tj'4 T}.
It is easy to see that ^is a crossing family if and only if ##is a lattice family
for each pair ij G E. By specifying each %j by R<g
ij9
/#,., A<#.
]
(like in (10.3.2)),
by Proposition (10.3.3), we can describe #in space bounded by a polynomial in
||. (Note that we should tell separately whether 0 belongs to #and whether E
belongs to #, as they do not belong to any ##.)
Let / : #- R. If #is an intersecting family, then / is called submodular on
intersecting pairs if
f(SC)T)+f(SUT)<f(S)+f(T)
for all 5, T in < with S fl T 0. If is a crossing family, then / is called
submodular on crossing pairs if this inequality holds for all 5, T in # with
snr^0, SUT^E.
(10.3.11) Minimization of a Submodular Function on a Crossing Family. Given
a crossing family < (by R^
ijf
U^
ijf
A^ for all ij e E, and by V H {Q
9
E}), and
a function f : ^- Q submodular on crossing pairs (by an oracle), find a set
T e <& such that f(T) is as small as possible.
The problem of minimizing a submodular function on a lattice family is of
course a special case of (10.3.11). We now show that (10.3.11) can be solved in
polynomial time. In fact, it is easily reduced to the case of lattice families. For
each pair ij e E we set fy := f \ <&$. For each pair ij, the function /y is a
submodular function on the lattice family #,y. So we can find a set T
t
j in #,y
minimizing fy in oracle-polynomial time. Now, over all pairs ij, we determine
Tij with f(Tij) minimal. We compare this value with /(0), (if Qetf) and f(E) (if
E e
(
). This yields the minimum of /.
J ust as we have extended the notion of a submodular function on 2
E
to
more general set systems we will now generalize polymatroids and results about
these in a similar way. Let # c 2
E
be an intersecting family and / : ^ ->Q
submodular on intersecting pairs of #. We define the polymatroid P
f
(^) and the
extended polymatroid EP
f
{%?) corresponding to / as follows:
(10.3.12) P
r
(<g) :={x e R

| x(T) < f(T) for all T e <g, x > 0},


EP
f
W) := {xeR

| x(T) < f(T) for all T e }.


Now there are the following fundamental integrality results, due to EDMONDS
(1970) and EDMONDS and GILES (1977), generalizing Theorem (10.1.13). Let
^i and ^2 be intersecting families, and let f\ : <%\ ->Q and f
2
: #2 ~* Q be
submodular on intersecting pairs. Let l,u e (RU {oo})
E
. Consider the system of
linear inequalities for vectors x e R

:
(10.3.13) (i) 1(e) < x(e) < u(e) for all eeE,
(ii) x(T) <fi(T) for all T eV
u
(iii) x(T) < f
2
(T) for all T e *
2
-
(10.3.14) Polymatroid Intersection Theorem. Assume that for a given objective
function c
T
x, c e Q

, the maximization problem over (10.3.13) has an optimum


solution. If l
f
u, f\, and fi in (10.3.13) are integral (allowing infinity for I and u)
then this maximization problem has an integral optimum solution. Ifc is integral
then the dual problem has an integral optimum solution.
Note that the polyhedra P
f
(<g) and EP
f
(^) - see (10.3.12) - can also be
defined for a submodular function / : < - Q, where ^ is a crossing family.
But it turns out that even for the case of a single integral submodular function
/ : # - Z, ^ a crossing family, the polyhedra P
f
{<$) and EP
f
\
c
) may have
nonintegral vertices. Consider for instance the crossing family < consisting of
all 2-element subsets of a 3-element set and the function / assigning the value
1 to each of these sets. Then the vector {\,\,\)
T
is a vertex of both P
f
(%>) and
EPf^). This shows in particular that Theorem (10.3.14) does not extend to
crossing families.
The first part of Theorem (10.3.14) states that EP
fl
(<g
x
) fl EP
f2
(<g
2
) H B has
integral vertices, for each "integral box" B ={x | / <x < u). The second part
states that the system (10.3.13) is totally dual integral for all /, u, in other words
(10.3.13) (ii), (iii) is "box-TDI".
As each intersecting family is a crossing family, and as we can minimize
submodular functions on crossing families (see the remarks after (10.3.11)), we
can solve the separation problem for EP
fl
(%>\) (and a given vector y e d^) in
oracle-polynomial time, since it amounts to minimizing the function f\ : ^\ > Q,
where f\{T) :=f\(T) y(T) for all T e #i , which is submodular on intersecting
pairs. This observation also applies to EPf^i). The strong separation problem
for the box B is trivial; we just check the upper and lower bounds. Hence we can
solve the strong separation problem for EP
f{
(%>\) fl EP
Sl
^i) H B. Therefore, by
Exercise (6.5.18), also the strong optimization problem for EP
fi
{
(
$\)ftEP
f2
(
(
$2)^B
is polynomially solvable. That is, any linear program over (10.3.13) is solvable in
oracle-polynomial time.
If fu f
2
, /, u are integer-valued and the solution set of (10.3.13) has a vertex,
then by finding an optimum vertex solution we will automatically get an integral
optimum solution. Since we have allowed infinite components for / and w, it may
happen that the solution set of (10.3.13) has no vertices. Then we can find an
integer optimum solution as follows. Let x* be any optimum solution obtained
by maximizing c
T
x over (10.3.13). Then x* is also an optimum solution after
intersecting the feasible region with the box
B' := {x | |_xJ < x(e) < \x*(e)] for all e e }.
For the new linear program we can find an optimum solution x* that is a vertex of
EP
fl
(<gi) (1 EP
f2
(^
2
) fl B
f
(by Exercise (6.5.18)). Clearly, x* is again an optimum
solution of the original linear program. By Theorem (10.3.14), this vertex is
integral.
It is less direct to find an integral dual optimum solution, if the objective
vector c is integral. Finding this is based not only on the ellipsoid method, but
also on a variant of an "uncrossing" technique. With the ellipsoid method we
can find in polynomial time an optimum solution for the dual problem:
(10.3.15) min(ii(*)z(e) -l(e)w(e)) + f
x
(T)y
l
T
+ J ] f
2
(T)y
2
T
,
eeE Tetfi Te<g
2
1
~
W
+ YJ
xTy
T
+
X *
r>
^
= C
>
TeWi Te%
2
z,w,y\y
2
>0,
such that at most \E\ of the components of y
l
and y
2
are strictly positive.
We will now modify the vector y
x
so that the corresponding collection
#"i := {T G <#i | y
{
T
> 0} is laminar, i. e., if 5, T e &\ and S fl T + 0
then r c 5 or 5 T. Define, for the current vector y\
d := X fir,
318 Chapter 10. Submodular Functions
and for each e e E:
R
e
:=H{T e &
x
\eeT).
Now we easily find sets T
{
, ...,T
k
such that 0 ^T
x
c T
2
c=... <=T
k
and
for certain Xu . . . , ^ > 0. For each i = 1, ...,/c, let Cn, ...,C
i ri
be the
components of the hypergraph
{R
e
\ee T
t
}.
(Recall that the components of a hypergraph H are the equivalence classes with
respect to the following equivalence relation: for two nodes u,v of H we set
u ~ v :<=>3 edges E\, ..., E
k
of H with , fl E
i+
\ 0, i = 1, ..., k 1 and
u e Ei, i; e /<.)
Note that for each e e T
h
we have R
e
c j ; . Namely, suppose / ^7J. Then
d/ <dg, and hence e e T, f& T for some T e ^\. Therefore, / ^K
e
.
Now we claim:
(10.3.16) (i) {Ctj | i = 1, ..., k; j = 1, ..., u) is a laminar subcollection of #i ;
(ii) Setting y
l
T
:=A, if T = Qj for some i = 1, ..., fc; j =1, ..., ,-,
y
l
T
:=0 for the other T e%i
gives another optimum solution.
The fact that the collection in (i) is laminar follows easily from the way of
constructing the Cy. Also the fact that the y
l
T
give again a feasible solution
follows easily, as:
Next observe that each C
y
- arises from sets in &\ by making intersections and
unions of intersecting pairs of sets. Hence each C
y
belongs to %>\. Moreover,
if x* is an optimum primal solution, then x*(C
y
-) = /i(Cy) for each C
y
, as
,f i c {J
G
^i | x*(T) =/i (r)}, and as the latter set is closed under taking
intersections and unions of intersecting pairs. Therefore, by complementary
slackness, the y
l
T
give again an optimum solution. So we may assume that 3F
X
is
laminar.
Similarly we can transformy\ so that the collection J
5
^={T e #2 I y\ > 0}
is laminar. Thus, the minimum value of (10.3.15) is equal to the minimum value
of:
(10.3.17) mmYju{e)z{e)-l{e)w(e))^ f
x
(T)y
l
T
+ f
2
(T)y
2
T
,
eeE Ts&i Te,F
2
2
~
w
+ X
T
yr +YJ
xTy2r = c
>
z,w,y\y
2
>0.
As both $F\ and <Fi are laminar, the constraint matrix in (10.3.17) is totally
unimodular. Therefore we can find an integral optimum solution for (10.3.17) in
polynomial time - see Section 7.1. Extending this solution appropriately with 0's,
we obtain an integral optimum solution for the original minimization problem
(10.3.15). This argument also yields a proof of the Edmonds-Giles theorem
(10.3.14).
So we have the following conclusion.
(10.3.18) Theorem, (a) For any integer-valued functions f\, fi, I, u (allowing
infinity for I and u) and for any rational vector c, the integer linear program
max{c
r
x | x satisfies (10.3.13) and x integral} can be solved in oracle-polynomial
time.
(b) For any rational-valued functions f\, f
2
, I, u (allowing infinity for I and u)
and for any integral vector c, the dual of the linear program max{c
r
x | x satisfies
(10.3.13)} can be solved in integers in oracle-polynomial time.
We describe two consequences of this result. Let #c 2
E
be an intersecting
family, and let / : %> >Q be submodular on intersecting pairs. Define ^ and
/ : #- Q b y
(10.3.19) t : ={r c | J c anbe partitioned into sets T
u
...,T
t
e<g},
f(T):=mm{f(T
l
) + ... + f(T
t
)\t>0;T
u
..., T
t
e<^\{0}
form a partition of T}.
As a degenerate case, this definition gives that 0e t and f(0) =0. It can be
shown that #is a lattice family, and that / i s submodular (on all pairs of #). In
fact, #is the smallest lattice family containing #, and / is the unique maximal
submodular function gonf such that g(0) =0 and g(T) < f(T) for all T in
< \ {0}. (That is, if h is submodular on #, h(0) = 0 and h(T) < f(T) for all
T e < \ {0}, then h(T) < f(T) for all T in f.) Note that
Rv = Q, U%=[JU
%)
, A% = {(iJ)eExE\%=0}.
ijeE
So the compact encoding for the lattice family #can be derived easily from that
for the intersecting family
(
. Now we have:
(10.3.20) Corollary. For any intersecting family <& c 2
E
(given by the rep-
resentation scheme described before), any function f : <& -+ Q submodular on
intersecting pairs (given by an oracle), and any given set T e %>, one can determine
the value f(T) defined in (10.3.19) in oracle-polynomial time.
Proof. Clearly #\ {0} is an intersecting family, and so by Theorem (10.3.18) we
can find in oracle-polynomial time an integral optimum solution for
min ]T f(S)y
s
Se#\{0}
y
s
>0 for all Se#\{0}.
It follows that y
s
= 0 or 1 for all S, and that if T\, .. ., Tk are the sets S with
y
s
=1 then these sets partition T and f(T) =f(T\) +... +f(T
k
) holds.
A special case of (10.3.19) is the following. Let # c 2

be an intersecting
family. Let / : # Q be submodular on intersecting pairs. Let g : < ->Q be
defined by
g
(D : =/ ( r ) - l for all T e <g.
Trivially, g is again submodular on intersecting pairs. The function g, derived
from g as defined in (10.3.19), is called the Dilworth truncation of/. In particular,
if ^ =2

, then g is the maximal submodular function h : 2


E
-* dj such that
fc(0) =0 and fc(r) <f(T) - 1 for all T 0.
(10.3.21) Corollary. For a/?y intersecting family <$ c 2

^g/Ve/2 fty fAe repre-


sentation scheme described before), any function f : ^ Q submodular on
intersecting pairs (given by an oracle), and any given set T in %?, one can deter-
mine h(T) in oracle-polynomial time, where h denotes the Dilworth truncation
off.
The following construction of EDMONDS and GILES (1977) brings together
flows (discussed in Sections 7.1 and 8.3) and submodular functions. Let D =
(V,A) be a directed graph. Recall that for W e v, S
+
(W) (S~(W)) denotes the
set of arcs in A leaving W (entering W). Let ^be a crossing family of subsets of
V, and let / : #->Q be submodular on crossing pairs. Let /, w, c e (Q U {00})^,
and consider the linear program
(10.3.22) max ^c(a)x(a)
aeA
(i) Y, *(
a
)~ YJ * (
a
) ^/ W for all ^G ^,
(ii) /(a) <x(a) <u(a) for all a e A.
A solution of this linear program is called a submodular circulation. If ^={{v} |
1? e V} and / =0, then we get just the circulations of a digraph - see (8.3.27).
The following was shown by Edmonds and Giles:
(10.3.23) Theorem. Suppose that program (10.3.22) has an optimum solution.
Iff, I, and u are integral, then (10.3.22) has an integral optimum solution. Ifc is
integral, then the dual of (10.3.22) has an integral optimum solution.
The first assertion here means that each minimal face of the feasible region
of (10.3.22) contains an integral point. So, if this feasible region has a vertex,
all vertices are integral. The second assertion says that the inequality system
(10.3.22) is box-TDI.
10.3 Submodular Functions on Lattice and other Families 321
Edmonds and Giles' result contains several other results as special cases. It
contains the Polymatroid Intersection Theorem (10.3.14), by taking
(10.3.24) V :={h
e
\eeE}U{t
e
\ee },
A :={(t
e
,h
e
) | e e E},
where, for each e e E, the h
e
and t
e
are new nodes. Moreover, #is the collection
of all subsets W of V such that
(10.3.25) (i) W = {t
e
\eeT} for some T in <
u
or
(ii) w = V \ {h
e
| e e T) for some T in <^
and / : #-* Q is defined by
(10.3.26) f(W) :=fi(T) for PF as in (10.3.25) (i),
f(W) :=f
2
(T) for ^ as in (10.3.25) (ii).
Then ^is a crossing family and / is submodular on crossing pairs. By identifying
every arc {t
e
,h
e
) e A with its corresponding element e e E we see that the
inequalities in (10.3.22) are equivalent to those in (10.3.13). Thus, Theorem
(10.3.14) is a special case of Theorem (10.3.23). In particular, the matroid
intersection theorem (7.5.16) is a special case.
As remarked before, another special case of (10.3.22) is the minimum-cost
circulation problem (8.3.27), and hence so is the min-cost flow problem.
A further special case is the Lucchesi-Younger theorem (8.4.32). This is the
case where, for a given digraph D = (V,A),
(10.3.27) <#={W ciV \ S^(W) =0, 0 ^W + V},
f(W)=-\, for all WeW
9
c(a) =+1, 1(a) = oo, u(a) = 0 for all ae A.
For these data, Theorem (10.3.23) is equivalent to the Lucchesi-Younger theorem:
the maximum number of pairwise disjoint dicuts in a digraph is equal to the
minimum number of arcs intersecting all dicuts (i. e., the minimum cardinality
of a dijoin).
(10.3.28) Theorem. The submodular circulation problem (10.3.22) can be solved
in oracle-polynomial time. If f, I, u are integral, one can find an integral
optimum solution in oracle-polynomial time. If c is integral, one can find an
integral optimum dual solution in oracle-polynomial time.
Proof. Again, we can solve (10.3.22) in oracle-polynomial time, as the separation
problem for the feasible region can be solved in oracle-polynomial time: checking
(10.3.22) (ii) is easy, while checking (10.3.22) (i) means checking whether, for a
given j / ed^, the submodular function g : # - Q on the crossing family #
defined by
(10.3.29)
g
(W):=f(W)- J ] y(a) + J ] y(a) for all W e *
aeS+{W) aed-{W)
is nonnegative. This can be done by the method described after (10.3.11).
Suppose now that /, /, u are integral. Let x* be a (possibly fractional)
optimum solution. Next, find a vertex as optimum solution of problem (10.3.22)
with 1(a) replaced by |_**(
a
)J
an
d u(a) replaced by |V(a)]. By the Edmonds-Giles
theorem, this vertex is integral, and one easily checks that it also is an optimum
solution of the original problem (10.3.22).
To prove the last assertion of the theorem, we use the familiar uncrossing
technique. It will, however, be quite tricky to guarantee the polynomiality of
the procedure. Let us start with the following lemma. For any collection J* of
subsets of a set F, let cr(^) denote the smallest crossing family on V containing
(10.3.30) Lemma. There exists a polynomial time algorithm for the following
problem: given a finite set V, subsets U\, -, U
t
of V, rationals Xu ..., X
t
> 0,
and a subset TofV such that there exists a rational \i with
(10.3.31) T = {veV \ (X
lX
Ul
+... +X
tX
U
% > ft};
find sets Vu ...,V
P
in CT({UU ..., U
t
}) so that
(10.3.32) j ^
1
+. . . +/ ' =X
r
+vl
for some integer v.
Proof. We describe the algorithm. Set # :=cv({U\, ..., U
t
}). For each v e T, let
R
v
:=n{Ui\vUi}.
From (10.3.31) we know v e R
v
^ T. Let Du , D
s
be the components of the
hypergraph {R
v
| v e T}. So the sets Du -^D
s
partition T.
For each 7 =1, ..., s and for each u $ Dj, let
E
ju
:=U{U
i
\D
j
nU
i
^0,u4U
i
}.
One easily checks that E
ju
belongs to #, and that Dj c E
ju
. For; =1, ..., s, let
(10.3.33) CJU . . . , C
J t j
be the components of the hypergraph {V\E
ju
\ u Dj}. Then (10.3.33) partitions
V \Dj, and each V \ C,/ belongs to
c
. Moreover,
Hence
&
K
^+. . . +/ ^) =/ +vi
for some integer v. So we have found sets and a number as required.
We continue with the proof of Theorem (10.3.28). With the ellipsoid method
we can find in oracle-polynomial time an optimum solution z,w,y for the dual
problem of (10.3.22):
(10.3.34) min (n(fl)z(a) - l(a)w(a)) + RW)y
W9
z(a) w(a) + V y
w
V yw = c(a) for all a e A,
We< We<6'
ae5
+
{W) aed-(W)
z,w,y> 0,
such that at most \A\ of the components of y are strictly positive.
We will now replace the vector y by a vector y so that z, w, y again forms an
optimum solution for (10.3.34), and so that the collection & :={W ^V \ yw >
0} is cross-free, i. e., ifU,We& then wnu=0orWUU = V or W^U or
U ^W.
Let J* :={W | y
w
>0}. We first determine sets T
u
..., T
m
and A
l 5
..., A
m
>0
with
(10.3.35) y ^=Mx
Tl
+^ +... +A*/"
so that T\ => T2 =>...=> T
m
. By applying Lemma (10.3.30) to J,, ={v e V \
(Live* yX
W
)v >Ai +... +/l/}, we can find for each i =1,..., m, sets K/
9
..., K^
in cr(J *) so that
for some v
f
. Hence, if we write V
{
\ ...,V
p
\, V
{
2
,..., V{"
9
..., V as W
l 9
..., JFp
(note that this sequence can contain repeated sets), then
(10.3.36)
z
^-f... +x^=Z
r i
+. . . +/
m
+(vi +... +v
w
)i.
Now if there are ij so that W
t
and Wj cross (i. e., W
t
fW
;
- ^0 and W
x
\JW-,V
and ^JK
;
and J*; ^) , we can replace ^and Wj by W,n W) and WiUWj.
Then (10.3.36) is maintained, Xf=i l^il does
not
change, and Xf
=1
l^il
2
increases.
Thus, after a polynomial number of applications of this uncrossing technique
we find cross-free W\
9
...
9
W
p
e cr(J ^) satisfying (10.3.36). Since cr({W\
9
...
9
W
P
}) = {W
U
...
9
W
P
}
9
by applying Lemma (10.3.30) to T
t
= {v e V \
(X^
1
+... +x^
p
)v > i +(vi +... +v
m
)} we can find, for each i = 1,..., m,
sets U[
9
...
9
U
l
qi
m{W
{9
...
9
W
p
} such that
/
/
i +. . . +/
/
* =X
T
'+Ktl
for some K,-. Hence by (10.3.35),
m
A,- (f> +... +
x
u
^= y ^+(A
lKl
+... +k
m
K
m
)
Therefore,
m,q, m,q
t
Z yw- Z
yw=
Z
k
~ Z
Xi
aed + (W) aeS-(W) aed + iU]) aeS-{U'j)
for each ae A. Hence, by defining
m,q
t
y
w
:= Y, ^
for W e #, we obtain a feasible solution z, w,y for (10.3.34) so that {W \ y
w
> 0}
is cross-free (as it is a subcollection of {f?^,..., W
p
}). Moreover, as each W
t
belongs to cr^), we know that z, w, y again satisfies the complementary slackness
conditions (0.1.50):
(10.3.37) x- ^ x{a)=f{U)
aeS+(U) aeS~(U)
for all U with y^>0 and any primal optimum solution x* (as (10.3.37) holds
for each U in #", and as (10.3.37) is maintained under intersecting and joining
crossing pairs of sets).
Defining & := {W \ yw > 0}, it follows that the minimum value of (10.3.34)
is equal to the minimum value of:
(10.3.38) min(u(a)z(a) - l(a)w(a)) + f{W)y
w
,
aeA We&
z(a) w(a) + V yw X, y^=c(a) for all a G A
z, w,j; >0.
As ^ is cross-free, the constraint matrix in (10.3.38) is totally unimodular.
Therefore we can find an integral optimum solution for (10.3.38) in oracle-
polynomial time. Extending this solution appropriately with O's, we obtain an
integral optimum solution for the original minimization problem (10.3.34).
There are several further theorems with a content related to the Edmonds-
Giles theorem (e. g., results on "kernel systems" of FRANK (1979), "polymatroid
network flows" of HASSIN (1978) and LAWLER and MARTEL (1982), "generalized
polymatroids" of FRANK (1984)). These can be treated algorithmically along
similar lines as in Theorem (10.3.28) - see SCHRIJVER (1984) for a survey.
* 10.4 Odd Submodular Function Minimization and Extensions
We showed in Section 7.3 that the separation problem for the perfect matching
polytope is equivalent to
(10.4.1) mm{c{S(W)) | W c V,\W\ odd},
for some undirected graph G = (V,E) with \V\ even and some function c : E -
Q+, that is, to finding a minimum-capacity odd cut. This problem is, as we saw,
indeed polynomially solvable. Since the minimum cut problem is a special case
of the submodular function minimization problem - cf. (10.1.2) I. - the question
arises whether we can generalize this "odd variant" to arbitrary submodular
functions. So the question is: can we solve, for any given submodular function
f : 2
E
-+ Q, the problem
(10.4.2) min{/(S) | S c E, \S | odd}
in polynomial time? In this section we shall see that this is indeed the case.
More generally, consider the following. Let be a finite set, and let ^ be
a lattice family on E. Let ^ be a subcollection of <& satisfying the following
condition for all S, T ^E:
(10.4.3) If three of the sets S,T,S nT,SUT belong to < \ <3,
then also the fourth belongs to #\ ^.
Note that for any lattice family #, the collection ^ :={S e %? | \S\ odd} satisfies
(10.4.3). More generally, for any a,b e Z, the collection 9 :={S e % \ \S\ #
a(modb)} satisfies (10.4.3). Another example is obtained if ^is any subcollection
of #such that #\ ^is an antichain (i. e., no two sets in #\ ^are contained in
each other).
Let us consider another, similar condition:
(10.4.4) If S e 9 and T e % \ $ then SnTe& or SUTe<#.
The relation between (10.4.3) and (10.4.4) is the following.
(10.4.5) Lemma, (a) (10.4.3) implies (10.4.4).
(b) If<g = 2
E
and 0, 4< then (10.4.4) implies (10.4.3).
Proof, (a) Suppose that S e & and I e ^\ i Then, since ^is a lattice family,
i. e., #is closed under union and intersection, we have that S U T, S C\ T e
c
. If
both SUT, SC\T e<g\y then exactly three of the sets S, T, S U 7\ and S H T
belong to < \ <$, which contradicts (10.4.3). So at least one of S U T and S f) T
must belong to ^.
(b) Suppose three of the sets 5, 7\ S U T, and S H T belong to ^\ ^; we show
that so does the fourth. There are essentially two cases to consider.
Case 1. S U 7\ S n 7\ and S belong to * \ #. Then r e #would immediately
contradict (10.4.4).
Case 2. S, T, and (say) SH7
1
belong to <\<. Consider f : =T U( \ S ) . Since
S G ^\ ^5 n r =S n r ^\ ^a n d S u r = ^\ ^w e have by (10.4.4)
that r e <g\9. But also r n(SUT) =7 tf\SF and T'U(SUT) = Ee <K\9
9
and hence again by (10.4.4), SUT <g\&.
Now We will prove that if 9 satisfies (10.4.3), then we can minimize in
polynomial time any function /, submodular on ^, over sets in 9. We assume -
as before - that the lattice family #c 2
E
is given by the structure (10.3.2), that
/ is given by an oracle and that we know an upper bound ft on the encoding
lengths of the outputs of this oracle. Moreover, 9 is also given by a membership
oracle: we can give any set S to the oracle, and it answers whether S belongs
to 9 or not. Let us mention as a side remark that, for any oracle-algorithm for
the minimization of a submodular function over set-systems 9 satisfying (10.4.4),
there are instances forcing the algorithm to call the oracle for 9 an exponential
number of times - seeGROTSCHEL, LOVASZ and SCHRIJVER (1984C).
(10.4.6) Theorem. For any
<
, <, f, /? (given as described above), where 9
satisfies (10.4.3), one can find a set T e % with f(T) = min{/(5) \ S e 9} in
oracle-polynomial time.
Proof. I. We may assume that E e #, since those elements of E not contained in
the unique largest member of #(and hence in any member of #) can be deleted.
We may even assume that #=2
E
. Namely, let, for each X ^E, X denote the
unique smallest member of #containing X. Set
B:= 2?
(so \f(X)\ < B for all X c #) and define a setfunction g on 2
E
by
g(X) :=f(X) + 2B\X\X\.
Then g is obviously submodular, and g(X) = f(X) holds for every X e
c
.
Furthermore, define ^
0
:=#U (2

\ *). Then, since 2


E
\ 9
0
= % \ 9, (10.4.3)
is fulfilled with 2
E
in place of #and &o in place of 9. By the definition of B,
g(X) > f(Y) for any l c and any Y e <, unless X =X, i. e., X e V. Hence,
if 9^0
min{g(X) | X e 9
0
} =min{g(X) | I e^} =min{/(AT) | X e ^}.
Thus we shall assume in the sequel that <& = 2
E
.
II. Set T(9) :=I : ={x e| {x} e }, S : ={xe|\ {x}e * }, t :=|T|. Let
us make a few observations about the sets T and S.
Claim 1. If 0 4 9 and ^#, then S =7\
In fact if, e. g., {*} e * but \ {x} 4 9 then - in view of (10.4.5) (a) - by (10.4.4),
one of 0 and E must belong to 9.
Claim 2. If 0 4 <S
9
then for any A c , one has ,4 e #iff A (1 T e #.
For, let >1 D T G ^, and choose a maximal set /!' such that AH T ^ A' ^ A
and 4' e 9. If A A' then choose any u e A \ A'. Then A' e #, {u} ^^and
>4'n{ii} =0 ^9. Hence by (10.4.3), /l'U{w} e #, which contradicts the maximality
of A'. So 4' =A and thus i e i The reverse implication follows by the same
argument.
Claim 3. If 0, 4 9 then X e& <=>E\X e&. This follows immediately from
condition (10.4.3).
III. We now describe the algorithm in the case when 0 4 &
an
d E 4 *$ This
will be the most difficult case; in the other cases the necessary modifications will
simplify the argument.
So let ,0 4 *&- We shall describe an algorithm to minimize / over ^in time
0(\E\
3
p(\E\,fi)) where p{n,fi) is an upper bound on the time needed to minimize
a submodular setfunction over all subsets of a set of cardinality at most n, whose
values have encoding length at most /?.
Note that if T =0 then ^=0 by Claim 2, and so in this case we are done. If
T^Q then by Claims 2 and 3, \T\ > 2. First we find a set A such that TClA^Q,
T \A j= 0 and f(A) is minimal. This can be done by t(t 1) applications of the
submodular function minimization algorithm described after (10.2.7), by applying
it to find the minimum of / over all sets A with {u} c A c E \ {v} for all pairs
u, v e T, u =fc v. We call A a splitter.
If A e & then we are done. In fact, any set A' e < satisfies T fl A' ^ 0 and
T \ A' 0, by Claims 2 and 3 above, and so f(A) < f(A') for each A' e 9
9
by
the choice of A. So we may assume that A 4^-
Set A
x
:= AC)T,A
2
:=T\A. By Claim 2, A
{
4 <S. By Claim 3,E\Ai4&,
and so by Claim 2, A
2
= (E\A\) C\T 4<&. Take two new elements a\ and a
2>
and
define, for i = 1,2,
i : =( \ ^i ) U{4
fjy^ -
=
J/(*) ifX ^E\A
h
M )
' \ f((X \ {at}) U Ai) if X c= E
i9
a
t
e X,
and
,- :={X e & | X <=E \ A
t
} U {X <= , | ^e *, (* \ {a,}) U ,4,- e #}.
It is straightforward to check that f
x
is a submodular setfunction on the subsets
of E
t
and that the #,- c 2

' satisfy (10.4.4). Furthermore, 0,, ^#,-.


We claim that
min{f(X) \X e&} = min{m\n{fi(X) | X e <8
{
} \ i = 1,2}.
The sign < is obvious: if X is a set minimizing the right hand side, and say
X e&
u
then either X' :=X or X' := X \ {a
t
} U A\ is a set such that J T e 0 and
/PO=/i(*).
To show the reverse inequality, let X e & be a set minimizing the left hand
side. If X C\ A\ =0 then X e ^i and /(X) =f\{X), and so we are done. So we
may assume that X C\ A\ 0. Similarly, if A
2
X then X' :=(X \4
2
) U {a
2
} e ^
2
and f(X) = f
2
{X'), and the assertion follows again. So we may also assume that
A
2
X.
Since X e 9 but A 4<$, it follows by (10.4.4) that X UAe<$ or XHAelf.
We treat the first case; the second is similar. Since X U A e ^, we have that
/(*I M) >/(X) by the choice of X. Furthermore, since {X f)A)nT = XfUj + 0,
and T \ (X fl ,4) 2 T \ A j* 0, we have that f(X PiA)> f(A) by the choice of A.
Using the submodularity of /, we get f(X U A) +/ ( * D ,4) </(*) +/(A). So
equality must hold everywhere, in particular f(X U A) =/(X). So X U /I is also
minimizing /over #. But then X' := ((XUA)\Ai)U{a
x
} e #1 and /H*') =/pf),
whence the assertion follows again.
Thus we have found that in order to find the minimum of / over ^, it suffices
to find the minimum of fa over <gy and the minimum of fa over ^
2
- Going on
similarly, we can split each of these subproblems into two, or find the minimizing
set right away. This describes the algorithm to find the minimum of f over <.
We still have to show that this algorithm has the claimed running time. The
main observation is that T(&i) = At, i. e., the set of singletons in 9 is split
into two nonempty parts to obtain the sets of singletons in <$\ and @2- This
implies that the number of splitters to compute during the procedure is at most
t 1 < \E\. To compute one splitter takes less than \E\
2
submodular function
minimizations, and so the whole algorithm takes only about ||
3
p(||,/?) time.
This completes the case when 0, E 4 &.
IV. Suppose that 0 4 & but E e <&. We follow the same argument as in III with
slight modifications. First we find a set A such that T fl A fi 0 and f(A) is
minimal. This is easily achieved by t applications of the submodular function
minimization algorithm.
If A e 9 then we are done again. So suppose that A 4 *& Set A\ := AD T\
take a new element a\ and define
E
x
:=(E\A
l
)\J{ai}
9
f(Y\-=\K
X>
> if X^E\A
U
/ U
' ' \y((-ST\{ai})U>li) ifX^EuaieX,
and
#i :={X e<$\ X ^E\Ai}U{X <=i | a
{
eX,(X \ {a
x
}) U A
x
e&}.
Also define E
2
:=A, f
2
(X) := f(X) for X c A and <$
2
:=2
A
H 9. Then f
t
is
submodular on the subsets of , and the ^ ^2
El
satisfy (10.4.3). It also follows
just like in part III that
min{f(X) | X e 9} =min{min{fi(X) \ X e <#>} \ i =1,2}.
So again it suffices to minimize fa over *8\ and fa over 0
2
- The second of these
tasks can be solved in polynomial time by III. Since \T{&\)\ =\A\\ < \T\
9
we are
finished by induction.
V. The cases when 0 e ^ but E 4 *& and when 0, E e 9 can be treated simi-
larly.
Let us rephrase Theorem (10.4.6) for two special cases of set systems # and
9 satisfying (10.4.3) mentioned above.
(10.4.7) Corollary. For any lattice family #(given by the encoding (10.3.2)), any
a,b eZ and any submodular function f on ^ (given by an oracle), an optimum
solution ofmin{f(X) \ X e #, \X\ ^a(mod b)} can be found in oracle-polynomial
time. D
10.4 Odd Submodular Function Minimization and Extensions 329
Corollary (10.4.7) in particular implies that the minimum odd cut problem
(8.5.7) can be solved in polynomial time, and through this, that the matching
problem (8.5.5) is solvable in polynomial time.
(10.4.8) Corollary. For any lattice family W (given by the encoding (10.3.2)7,
any antichain stf in < (given by an oracle), and any submodular function f on
<& (given by an oracle), an optimum solution ofmin{f(X) | X e < \ stf) can be
found in oracle-polynomial time.
References
The page numbers in brackets at the end of a citation refer to the text.
L. Adleman (1983), "On breaking the iterated Merkle-Hellman public key cryptosystem", in:
Advances in Cryptology, Proceedings of CRYPTO 82, Plenum Press, New York, 1983,
303-308. [221]
A. V. Aho, J. E. Hopcroft and J. D. Ullman (1974), The Design and Analysis of Computer
Algorithms, Addison-Wesley, Reading, Massachusetts, 1974. [21]
L. Babai (1986), "On Lovasz' lattice reduction and the nearest lattice point problem", Combi-
natorica 6 (1986) 1-13. [149, 195]
E. Balas, V. Chvatal and J. Nesetril (1985), "On the maximum-weight clique problem", MSRR
No. 518, Carnegie-Mellon University, Pittsburgh, Pennsylvania, 1985. [302]
E. Balas and M. W. Padberg (1975), "Set partitioning", in: B. Roy (ed.), Combinatorial
Programming: Methods and Applications, Reidel, Dordrecht, 1975, 205-258. [301]
E. Balas and C. S. Yu (1984), "Finding a maximum clique in an arbitrary graph", MSRR
No. 515, Carnegie-Mellon University, Pittsburgh, Pennsylvania, 1984. [302]
M. L. Balinski and R. E. Gomory (1964), "A primal method for the assignment and transporta-
tion problem", Management Science 10 (1964) 578-593. [233]
F. Barahona (1983), "The max cut problem in graphs not contractible to K$\ Operations
Research Letters 2 (1983) 107-111. [250]
F. Barahona, M. Grotschel, M. J unger and G. Reinelt (1986), "An application of combinatorial
optimization to statistical physics and circuit layout design", Preprint No. 95, Institut fur
Mathematik, Universitat Augsburg, Augsburg, 1986. [250]
F. Barahona, M. Grotschel and A. R. Mahjoub (1985), "Facets of the bipartite subgraph
polytope", Mathematics of Operations Research 10 (1985) 340-358. [249]
F. Barahona and A. R. Mahjoub (1985), "Composition in the acyclic subgraph polytope",
Report No. 85371-OR, Institut fur Okonometrie und Operations Research, Universitat
Bonn, Bonn, 1985. [254]
F. Barahona and A. R. Mahjoub (1986), "On the cut polytope", Mathematical Programming
36 (1986) 157-173. [249, 250]
I. Barany and Z. Fredi (1986), "Computing the volume is difficult", in: Proceedings of the
Eighteenth Annual ACM Symposium on Theory of Computing (Berkeley, California, 1986),
ACM, New York, 1986, 442^47. [127]
C. Berge (1958), "Sur le couplage maximum d'un graphe", Comptes Rendus Hebdomadaires
des Seances de VAcademie des Sciences (Paris) 247 (1958) 258-259. [255]
C. Berge (1960), "Les problemes de coloration en theorie des graphes", Publications de ITnstitut
de Statistique de VUniversite de Paris 9 (1960) 123-160. [280]
C. Berge (1961), "Frbung von Graphen, deren smtliche bzw. deren ungerade Kreise starr
sind (Zusammenfassung)", Wissenschaftliche Zeitschrift, Martin Luther Universitt Halle-
Wittenberg, Mathematisch-Naturwissenschaftliche Reihe (1961) 114-115. [277]
C. Berge (1962), "Sur une conjecture relative au probleme des codes optimaux", Communication,
13eme assemblee generale de l'URSI, Tokyo, 1962. [277, 279]
C. Berge (1973), Graphs and Hypergraphs, North-Holland, Amsterdam, 1973. [16]
C. Berge and V. Chvatal (eds.) (1984), Topics on Perfect Graphs, Annals of Discrete Mathe-
matics 21, North-Holland, Amsterdam, 1984. [283]
C. Berge and R Duchet (1984), "Strongly perfect graphs", Annals of Discrete Mathematics 21
(1984) 57-61. [282]
C. Berge and M. Las Vergnas (1970), "Sur un theoreme du type Konig pour hypergraphes", (in:
A. Gewirtz and L. V. Quintas (eds.), International Conference on Combinatorial Mathematics,
New York, 1970), Annals of the New York Academy of Sciences 175 [Article 1] (1970) 32-40.
[282]
S. J. Berkowitz (1984), "On computing the determinant in small parallel time using a small
number of processors", Information Processing Letters 18 (1984) 147-150. [40]
U. Betke and R Gritzmann (1986), "Projection algorithms for linear programming", Mathe-
matischer Forschungsbericht 176/1986, Universitat Gesamthochschule Siegen, Siegen, 1986.
[66]
R. E. Bixby (1982), "Matroids and operations research", in: H. Greenberg, F. Murphy and
S. Shaw (eds.), Advanced Techniques in the Practice of Operations Research, North-Holland,
New York, 1982, 333^58. [211]
R. Bland (1977), "New finite pivoting rules for the simplex method,", Mathematics of Operations
Research 2 (1977), 103-107. [42]
R. G. Bland, D. Goldfarb and M. J. Todd (1981), "The ellipsoid method: a survey", Operations
Research 29 (1981) 1039-1091. [65, 71, 72, 82, 94, 107, 248]
F. Bock (1971), "An algorithm to construct a minimum directed spanning tree in a directed
network", in: B. Avi-Itzhak (ed.), Developments in Operations Research, Vol. 1, Gordon and
Breach, New York, 1971, 29-^4. [242]
B. Bollobas (1978), Extremal Graph Theory, Academic Press, London, 1978. [16]
J. A. Bondy and U. S. R. Murty (1976), Graph Theory with Applications, American Elsevier,
New York, and Macmillan, London, 1976. [16]
T. Bonnesen and W. Fenchel (1934), Theorie der konvexen Korper, Springer, Berlin, 1934
(reprinted: Chelsea, New York, 1948). [49]
K. S. Booth and G. S. Luecker (1976), "Testing for the consecutive ones property, interval graphs,
and graph planarity using PQ-tree algorithms", Journal of Computing System Sciences 13
(1976) 335-379. [280]
K.-H. Borgwardt (1982), "Some distribution-independent results about the
asymptotic order of the average number of pivot steps of the simplex method", Mathe-
matics of Operations Research 7 (1982) 441-462. [42, 64]
O. Boruvka (1926), "O jistem problemu minimalnim", ("On a minimal problem"), Prace
Moravske Pfirodovedecke Spolecnosti v Brne (Acta Societ. Scient Natur. Moravicae) 3
(1926) 37-58. [247]
M. Boulala and J. P. Uhry (1979), "Polytope des independants dans un graphe serie-parallele",
Discrete Mathematics 27 (1979) 225-243. [274]
E. F. Brickell (1985), "Breaking iterated knapsacks", in: Advances in Cryptology, Proceedings
of CRYPTO 84, Springer, Berlin, 1985, 342-358. [221]
M. Burlet and J. Fonlupt (1984), "Polynomial algorithm to recognize a Meyniel graph", in:
W. R. Pulleyblank (ed.), Progress in Combinatorial Optimization, Academic Press, Toronto,
1984, 69-99. [281]
M. Burlet and J. P. Uhry (1982), "Parity graphs", Annals of Discrete Mathematics 16 (1982)
1-26. [281]
J. W. S. Cassels (1959), An Introduction to the Geometry of Numbers, Springer, Berlin, 1959.
[139]
D. Cheriton and R. E. Tarjan (1976), "Finding minimum spanning trees", SIAM Journal on
Computings (1976) 724-742. [247]
T.-Y. Cheung (1980), "Computational comparison of eight methods for the maximum network
flow problem", ACM Transactions on Mathematical Software 6 (1980) 1-16. [236]
Y.-J. Chu and T.-H. Liu (1965), "On the shortest arborescence of a directed graph", Scientia
Sinica 4 (1965) 1396-1400. [201, 242]
V. Chvatal (1973), "Edmonds polytopes and a hierarchy of combinatorial problems", Discrete
Mathematics 4 (1973) 305-337. [13]
V. Chvatal (1975), "On certain polytopes associated with graphs", Journal of Combinatorial
Theory BIS (1975) 138-154. [273, 274]
V. Chvatal (1983), Linear Programming, Freeman, New York, 1983. [1]
V. Chvatal (1984), "Perfectly orderable graphs", Annals of Discrete Mathematics 21 (1984)
63-65. [281]
V. Chvatal, C. T. Hoang, N. V. R. Mahadev and D. de Werra (1985), "Four classes of perfectly
orderable graphs", Tech. Report ORWP 85/3, Ecole Polytechnique Federate de Lausanne,
Lausanne, 1985. [281]
S. A. Cook (1971), "The complexity of theorem-proving procedures", in: Proceedings of the
Third Annual ACM Symposium on Theory of Computing (Shaker Heights, Ohio, 1971),
ACM, New York, 1971, 151-158. [28]
W. Cook and W. R. Pulleyblank (1987), "Linear systems for constrained matching problems",
Mathematics of Operations Research, to appear. [259]
G. Cornuejols and W. R. Pulleyblank (1980), "A matching problem with side constraints",
Discrete Mathematics 29 (1980) 135-159. [265]
H. Crowder and M. W. Padberg (1980), "Solving large-scale symmetric travelling salesman
problems to optimality", Management Science 26 (1980) 495-509. [46, 265]
W. H. Cunningham (1984), "Testing membership in matroid polyhedra", Journal of Combina-
torial Theory (B) 36 (1984) 161-188. [46, 214, 310]
W. H. Cunningham (1985), "On submodular function minimization", Combinatorica 5 (1985)
185-192. [311]
W. H. Cunningham and A. B. Marsh III. (1978), "A primal algorithm for optimum matching",
Mathematical Programming Study 8 (1978) 50-72. [256]
G. B. Dantzig (1951), "Maximization of a linear function of variables subject to linear inequal-
ities", Chapter 21 in: T. C. Koopmans (ed.), Activity Analysis of Production and Allocation
(Cowles Commission Monograph No. 13), Wiley, New York, 1951, 339-347. [41]
G. B. Dantzig (1963), Linear Programming and Extensions, Princeton University Press, Prince-
ton, New Jersey, 1963. [1]
L. Danzer, B. Grunbaum and V. Klee (1963), "Helly's theorem and its relatives", in: V. L. Klee
(ed.), Convexity, American Mathematical Society, Providence, Rhode Island, 1963, 101-180.
[69]
E. W. Dijkstra (1959), "A note on two problems in connexion with graphs", Numerische
Mathematik 1 (1959) 269-271. [235, 247]
R. P. Dilworth (1944), "Dependence relations in a semimodular lattice", Duke Mathematical
Journal 11 (1944) 575-587. [304]
R. P. Dilworth (1950), "A decomposition theorem for partially ordered sets", Annals of
Mathematics (2) 51 (1950) 161-166. [240]
E. A. Dinits (1970), "Algorithm for solution of a problem of maximum flow in a network with
power estimation" (in Russian), Doklady Akademii Nauk SSSR 194 (1970) 754-757 (English
translation: Soviet Mathematics Doklady 11 (1970) 1277-1280). [198, 236]
G. A. Dirac (1952), "A property of 4-chromatic graphs and some remarks on critical graphs",
Journal of the London Mathematical Society 27 (1952) 85-92. [274]
G. A. Dirac (1961), "On rigid circuit graphs", Abhandlungen aus dem Mathematischen Seminar
der Universitat Hamburg 25 (1961) 71-76. [280]
G. L. Dirichlet (1842), "Verallgemeinerung eines Satzes aus der Lehre von den Kettenbriichen
nebst einigen Anwendungen auf die Theorie der Zahlen", Bericht iiber die zur Bekannt-
machung geeigneten Verhandlungen der Koniglich Preussischen Akademie der Wissenschaf-
ten zu Berlin (1842) 93-95 (reprinted in: L. Kronecker (ed.), G L. Dirichlet's Werke Vol. I,
G. Reimer, Berlin, 1889 (reprinted: Chelsea, New York, 1969), 635-638). [134, 138, 139]
P. D. Domich, R. Kannan and L. E. Trotter (1987), "Hermite normal form computation using
modulo determinant arithmetic", Mathematics of Operations Research 12 (1987) 50-59. [45]
R. J. Duffin (1965), "Topology of series-parallel networks", Journal of Mathematical Analysis
and Applications 10 (1965) 303-318. [274]
J. G. Ecker and M. Kupferschmidt (1983), "An ellipsoid algorithm for nonlinear programming",
Mathematical Programming 27 (1983) 83-106. [64]
J. Edmonds (1965a), "Paths, trees, and flowers", Canadian Journal of Mathematics 17 (1965)
449-467. [255]
J. Edmonds (1965b), "Maximum matching and a polyhedron with 0,1-vertices", Journal of
Research of the National Bureau of Standards B 69 (1965) 125-130. [204, 205, 255]
J. Edmonds (1965c), "Minimum partition of a matroid into independent subsets", Journal of
Research of the National Bureau of Standards B 69 (1965) 67-72. [312, 313]
J. Edmonds (1967a), "Optimum branchings", Journal of Research of the National Bureau of
Standards B 71 (1967) 233-240. [201, 202, 242, 245]
J. Edmonds (1967b), "Systems of distinct representatives and linear algebra", Journal of
Research of the National Bureau of Standards B 71 (1967) 241-245. [37]
J. Edmonds (1968), "Matroid partition", in: G. B. Dantzig and A. F. Veinott (eds.), Mathematics
of the Decision Sciences (Lectures in Applied Mathematics, Vol. 11), American Mathematical
Society, Providence, Rhode Island, 1968, 335-345. [250] .
J. Edmonds (1970), "Submodular functions, matroids, and certain polyhedra", in: R. Guy,
H. Hanani, N. Sauer and J. Schonheim (eds.), Combinatorial Structures and Their Appli-
cations, Gordon and Breach, New York, 1970, 69-87. [46, 213, 214, 248, 304, 306, 308,
316]
J. Edmonds (1971), "Matroids and the greedy algorithm", Mathematical Programming 1 (1971)
127-136. [46, 213]
J. Edmonds (1973), "Edge-disjoint branchings", in: R. Rustin (ed.), Combinatorial Algorithms,
Academic Press, New York, 1973, 91-96. [246]
J. Edmonds (1979), "Matroid intersection", Annals of Discrete Mathematics 4 (1979) 39-49.
[216]
J. Edmonds and R. Giles (1977), "A min-max relation for submodular functions on graphs",
Annals of Discrete Mathematics 1 (1977) 185-204. [16, 244, 316, 320]
J. Edmonds and E. L. Johnson (1970), "Matching, a well-solved class of integer linear programs",
in: R. Guy, H. Hanani, N. Sauer and J. Schonheim (eds.), Combinatorial Structures and
Their Applications, Gordon and Breach, New York, 1970, 89-92. [257, 258]
J. Edmonds and E. L. Johnson (1973), "Matching, Euler tours and the Chinese postman",
Mathematical Programming 5 (1973) 88-124. [260, 262]
J. Edmonds and R. M. Karp (1972), "Theoretical improvements in algorithmic efficiency for
network flow problems", Journal of the Association for Computing Machinery 19 (1972)
248-264. [189, 238]
J. Edmonds, L. Lovasz and W. R. Pulleyblank (1982), "Brick decompositions and the matching
rank of graphs", Combinatorica 2 (1982) 247-274. [160, 181]
E. Egervary (1931), "Matrixok kombinatorius tulajdonsagairol" (Hungarian), ("On combina-
torial properties of matrices"), Matematikai es Fizikai Lapok 38 (1931) 16-28. [200, 231,
232]
G. Elekes (1986), "A geometric inequality and the complexity of computing volume", Discrete
and Computational Geometry 1 (1986) 289-292. [127]
P. Elias, A. Feinstein and C. E. Shannon (1956), "A note on the maximum flow through a
network", IRE Transactions on Information Theory IT 2 (1956) 117-119. [199]
P. van Emde Boas (1981), "Another NP-complete partition problem and the complexity of
computing short vectors in a lattice", Report 81-04, Mathematical Institute, University of
Amsterdam, Amsterdam, 1981. [141]
S. Even and O. Kariv (1975), "An 0(n
2.5
) algorithm for maximum matching in general graphs",
in: 16th Annual Symposium on Foundations of Computer Science (Berkeley, California,
1975), IEEE, New York, 1975, 100-112. [255]
S. Even, A. Pnueli and A. Lempel (1972), "Permutation graphs and transitive graphs", Journal
of the Association for Computing Machinery 19 (1972) 400-410. [280]
D. K. Faddeev and V. N. Faddeeva (1963), Computational Methods of Linear Algebra, Freeman,
San Francisco, 1963. [1]
P. Feofiloff and D. H. Younger (1985), "Directed cut transversal packing for source-sink
connected graphs", preprint, 1985. [252]
R. W. Floyd (1962), "Algorithm 97, Shortest Path", Communications of the ACM 5 (1962) 345.
[235]
J. Fonlupt, A. R. Mahjoub and J.-P. Uhry (1984), "Composition of graphs and the bipartite
subgraph polytope", Research Report No. 459, Laboratoire ARTEMIS (IMAG), Universite
de Grenoble, Grenoble, 1984. [250]
J. Fonlupt and J. P. Uhry (1982), "Transformations which preserve perfectness and /i-perfectness
of graphs", Annals of Discrete Mathematics 16 (1982) 83-95. [274]
L. R. Ford, J r. and D. R. Fulkerson (1956), "Maximal flow through a network", Canadian
Journal of Mathematics 8 (1956) 399-404. [199, 279, 280]
L. R. Ford, J r. and D. R. Fulkerson (1957), "A simple algorithm for finding maximal network
flows and an application to the Hitchcock problem", Canadian Journal of Mathematics 9
(1957) 210-218. [197, 231]
L. R. Ford, J r. and D. R. Fulkerson (1962), Flows in Networks, Princeton University Press,
Princeton, N. J., 1962. [234, 239, 280]
A. Frank (1976), "Some polynomial algorithms for certain graphs and hypergraphs", in:
C. St. J. A. Nash-Williams and J. Sheehan (eds.), Proceedings of the 5th British Combinatorial
Conference, 1975, Congressus Numerantium No. XV, Utilitas Mathematica, Winnipeg, 1976,
211-226. [280]
A. Frank (1979), "Kernel systems of directed graphs", Acta Scientiarum Mathematicarum
(Szeged) 41 (1979) 63-76. [324]
A. Frank (1981a), "A weighted matroid intersection algorithm", Journal of Algorithms! (1981)
328-336. [216]
A. Frank (1981b), "How to make a digraph strongly connected", Combinatorica 1 (1981)
145-153. [252]
A. Frank (1984), "Generalized polymatroids", in: A. Hajnal et al. (eds.), Finite and Infinite
Sets (Colloquia Mathematica Societatis J anos Bolyai 37), North-Holland, Amsterdam, 1984,
285-294. [324]
A. Frank and E. Tardos (1987), "An application of simultaneous approximation in combinatorial
optimization", Combinatorica 7 (1987), to appear. [168, 189]
F. G. Frobenius (1912), "Uber Matrizen aus nicht negativen Elementen", Sitzungsberichte der
Koniglich Preussischen Akademie der Wissenschaften zu Berlin (1912) 456-477 (reprinted in:
J.-P. Serre (ed.), Ferdinand Georg Frobenius Gesammelte Abhandlungen Band III, Springer,
Berlin, 1968, 546-567). [230]
F. G. Frobenius (1917), "Uber zerlegbare Determinanten", Sitzungsberichte der Koniglich
Preussischen Akademie der Wissenschaften zu Berlin (1917) 274-277 (reprinted in: J.-P. Serre
(ed.), Ferdinand Georg Frobenius Gesammelte Abhandlungen Band III, Springer, Berlin,
1968, 701-704). [203, 230]
M. A. Frumkin (1976a), "An application of modular arithmetic to the construction of algorithms
for solving systems of linear equations" (in Russian), Doklady Akademii Nauk SSSR 229
(1976) 1067-1070 (English translation: Soviet Mathematics Doklady 17 (1976) 1165-1168).
[45, 155]
M. A. Frumkin (1976b), "Algorithms for the solution in integers of systems of linear equations"
(in Russian), in: A. A. Fridman (ed.), Issledovaniya po diskretnoi optimizatsii (Studies in
Discrete Optimization), Izdat. "Nauka", Moscow, 1976, 97-127. [45, 155]
M. A. Frumkin (1976c), "An algorithm for the reduction of a matrix of integers to triangular
form with power complexity of the computations" (in Russian), Ekonomika i Matematich-
eskie Metody 12 (1976) 173-178. [45, 155]
D. R. Fulkerson (1961), "An out-of-kilter method for minimal cost flow problems", Journal of
the Society for Industrial and Applied Mathematics 9 (1961) 18-27. [238]
D. R. Fulkerson (1968), "Networks, frames, blocking systems", in: G. B. Dantzig and
A. F. Veinott, J r. (eds.), Mathematics of the Decision Sciences, Part 1 (Lectures in Ap-
plied Mathematics Vol. 11), American Mathematical Society, Providence, Rhode Island,
1968, 303-334. [225, 234]
D. R. Fulkerson (1970), "The perfect graph conjecture and pluperfect graph theorem", in:
R. C. Bose, et al. (eds.), Proceedings of the Second Chapel Hill Conference on Combina-
torial Mathematics and Its Applications, University of North Carolina, Chapel Hill, North
Carolina, 1970, 171-175. [277]
D. R. Fulkerson (1971), "Blocking and anti-blocking pairs of polyhedra", Mathematical Pro-
gramming 1 (1971) 168-194. [225, 284]
D. R. Fulkerson (1972), "Anti-blocking polyhedra", Journal of Combinatorial Theory B 12
(1972) 50-71. [284]
D. R. Fulkerson (1974), "Packing rooted directed cuts in a weighted directed graph", Mathe-
matical Programming 6 (1974) 1-13. [243]
D. R. Fulkerson and O. A. Gross (1965), "Incidence matrices and interval graphs", Pacific
Journal of Mathematics 15 (1965) 835-855. [280]
H. N. Gabow, Z. Galil, T. Spencer and R. E. Tarjan (1986), "Efficient algorithms for finding
minimum spanning trees in undirected and directed graphs", Combinatorica 6 (1986) 109-122.
[243, 247]
Z. Galil (1981), "On the theoretical efficiency of various network flow algorithms", Theoretical
Computer Science 14 (1981) 103-112. [236]
Z. Galil (1983), "Efficient algorithms for finding maximal matchings in graphs", preprint, 1983.
[231]
T. Gallai (1950), "On factorization of graphs", Acta Mathematica Hungarica 1 (1950) 133-153.
[255]
T. Gallai (1959), "Uber extreme Punkt- und Kantenmengen", Annales Universitatis Scientiarum
Budapestinensis de Rolando Eotvos Nominatae, Sectio Mathematica 2 (1959) 133-138. [230]
T. Gallai (1962), "Graphen mit triangulierbaren ungeraden Vielecken", A Magyar Tudomanyos
Akademia Matematikai Kutato Intezetenek Kozlemenyei 7 (1962) 3-36. [281]
T. Gallai (1963), "Neuer Beweis eines Tutte'schen Satzes", A Magyar Tudomanyos Akademia
Matematikai Kutato Intezetenek Kozlemenyei 8 (1963) 135-139. [255]
T. Gallai (1964), "Maximale Systeme unabhangiger Kanten", A Magyar Tudomanyos Akademia
Matematikai Kutato Intezetenek Kozlemenyei 9 (1964) 401-413. [255]
T. Gallai (1967), "Transitiv orientierbare Graphen", Acta Mathematicae Academiae Scientiarum
Hungaricae 18 (1967) 25-66. [280]
F. R. Gantmacher (1959), The Theory of Matrices, Volumes I, II (translated from the Russian),
Chelsea, New York, 1959. [1]
M. R. Garey and D. S. Johnson (1979), Computers and Intractability: A Guide to the Theory
of JV&-Completeness, Freeman, San Francisco, 1979. [21, 28, 219, 272]
S. I. Gass (1975), Linear Programming Methods and Applications, fourth edition, McGraw-Hill,
New York, 1975. [1]
J. von zur Gathen and M. Sieveking (1976), "Weitere zum Erfullungsproblem polynomial aqui-
valente kombinatorische Aufgaben", in: E. Specker and V. Strassen (eds.), Komplexitat von
Entscheidungsproblemen, Lecture Notes in Computer Science 43, Springer, Heidelberg, 1976,
49-71. [45, 155]
F. Gavril (1972), "Algorithms for minimum coloring, maximum clique, minimum covering by
cliques, and maximum independent set of a chordal graph", SIAM Journal on Computing 1
(1972) 180-187. [280]
A. M. H. Gerards, L. Lovasz, R Seymour, A. Schrijver and K. Truemper (1987), "Regular
matroids from graphs", to appear. [275]
A. M. H. Gerards and A. Schrijver (1986), "Matrices with the Edmonds-J ohnson property",
Combinatorica 6 (1986) 403-417. [274]
G. de Ghellinck and J.-R Vial (1986), "A polynomial Newton method for linear programming",
Algorithmica 1 (1986) 425-^53. [66]
A. Ghouila-Houri (1962), "Caracterisation des graphes non orientes dont on peut orienter
les aretes de maniere a obtenir le graphe d'une relation d'ordre", Comptes Rendus Hebdo-
madaires des Seances de VAcademie des Sciences. Paris 254 (1962) 13701371. [280]
R. Giles and L. E. Trotter, J r. (1981), "On stable set polyhedra for K\ 3-free graphs", Journal
of Combinatorial Theory B 31 (1981) 313-326. [302]
P. E. Gill, W. Murray, M. A. Saunders, J. A. Tomlin and M. H. Wright (1986), "On pro-
jected Newton barrier methods for linear programming and an equivalence to Karmarkar's
projective method", Mathematical Programming 36 (1986) 183-209. [66]
P. C. Gilmore and A. J. Hoffman (1964), "A characterization of comparability graphs and of
interval graphs", Canadian Journal of Mathematics 16 (1964) 539-548. [280]
F. Glover, D. Klingman, J. Mote and D. Whitman (1979), "Comprehensive computer evaluation
and enhancement of maximum flow algorithms", Research Report 356, Center of Cybernetic
Studies, The University of Texas, Austin, Texas, 1979. [236]
J.-L. Goffin (1984), "Variable metric relaxation methods, Part II: The ellipsoid method",
Mathematical Programming 30 (1984) 147-162. [65, 122]
A. V. Goldberg and R. E. Tarjan (1986), "A new approach to the maximum flow problem",
Proceedings of the Eighteenth Annual ACM Symposium on Theory of Computing (Berkeley,
California, 1986), ACM, New York, 1986, 136-146. [237]
M. Golumbic (1980), Algorithmic Graph Theory and Perfect Graphs, Academic Press, New
York, 1980. [283]
R. E. Gomory (1958), "Outline of an algorithm for integer solutions to linear programs",
Bulletin of the American Mathematical Society 64 (1958) 275-278. [13]
R. E. Gomory (1960), "Solving linear programming problems in integers", in: R. Bellman and
M. Hall, J r. (eds.), Combinatorial Analysis, Proceedings of Symposia in Applied Mathematics,
Volume X, American Mathematical Society, Providence, Rhode Island, 1960, 211-216. [13]
R. E. Gomory and T. C. Hu (1961), "Multi-terminal network flows", Journal of the Society for
Industrial and Applied Mathematics 9 (1961) 551-570. [248]
R. E. Gomory and T. C. Hu (1964), "Synthesis of a communication network", Journal of the
Society for Industrial and Applied Mathematics 12 (1964) 348-369. [248]
R. L. Graham and P. Hell (1985), "On the history of the minimum spanning tree problem",
Annals of the History of Computing 1 (1985) 43-57. [248]
C. Greene and T. L. Magnanti (1975), "Some abstract pivot algorithms", SIAM Journal on
Applied Mathematics 29 (1975) 530-539. [250]
M. Grtschel (1982), "Approaches to hard combinatorial optimization problems", in: B.
Korte (ed.), Modern Applied Mathematics - Optimization and Operations Research, North-
Holland, Amsterdam, 1982, 437-515. [223]
M. Grtschel and O. Holland (1985), "Solving matching problems with linear programming",
Mathematical Programming 33 (1985) 243-259. [223]
M. Grtschel, M. J unger and G. Reinelt (1984), "A cutting plane algorithm for the linear
ordering problem", Operations Research 32 (1984) 1195-1220. [254]
M. Grtschel, M. J unger and G. Reinelt (1985), "On the acyclic subgraph polytope", Mathe-
matical Programming 33 (1985) 28-42. [254]
M. Grtschel, L. Lovasz and A. Schrijver (1981), "The ellipsoid method and its consequences
in combinatorial optimization", Combinatorica 1 (1981) 169-197. [65, 107, 159, 218, 283,
285]
M. Grtschel, L. Lovasz and A. Schrijver (1984a), "Geometric methods in combinatorial
optimization", in: W. R. Pulley blank (ed.), Progress in Combinatorial Optimization, Academic
Press, Toronto, 1984, 167-183. [159, 193]
M. Grtschel, L. Lovasz and A. Schrijver (1984b), "Polynomial algorithms for perfect graphs",
Annals of Discrete Mathematics 21 (1984) 325-356. [285]
M. Grtschel, L. Lovasz and A. Schrijver (1984c), "Corrigendum to our paper "The ellipsoid
method and its consequences in combinatorial optimization"", Combinatorica 4 (1984) 291
295. [326]
M. Grtschel, L. Lovasz and A. Schrijver (1986), "Relaxations of vertex packing", Journal of
Combinatorial Theory (B) 40 (1986) 330-343. [285]
M. Grtschel and M. W. Padberg (1985), "Polyhedral theory", in: E. L. Lawler, J. K. Lenstra,
A. H. G. Rinnooy Kan and D. Shmoys (eds.), The Traveling Salesman Problem, Wiley,
Chichester, 1985, 251-305. [263]
M. Grtschel and W. R. Pulleyblank (1981), "Weakly bipartite graphs and the max-cut problem",
Operations Research Letters 1 (1981) 23-27. [250]
M. Grtschel and W. R. Pulleyblank (1986), "Clique tree inequalities and the symmetric
travelling salesman problem", Mathematics of Operations Research 11 (1986) 537-569. [265]
B. Griinbaum (1967), Convex Polytopes, Interscience-Wiley, London, 1967. [1]
F. Hadlock (1975), "Finding a maximum cut of a planar graph in polynomial time", SI AM
Journal on Computing A (1975) 221-225. [250]
A. Hajnal and J. Suranyi (1958), "ber die Auflsung von Graphen in vollstndige Teilgraphen",
Annales Universitatis Scientiarum Budapestinensis de Rolando Etvs Nominatae, Sectio
Mathematica 1 (1958) 113-121. [280]
M. Hall, J r. (1956), "An algorithm for distinct representatives", American Mathematical
Monthly 63 (1956) 716-717. [231]
D. B. Hartvigsen (1984), "Extensions of matching theory", Ph. D. Thesis, Department of
Mathematics, Carnegie-Mellon University, Pittsburgh, Pennsylvania, 1984. [265]
R. Hassin (1978), "On network flows", Ph. D. Thesis, Yale University, New Haven, Connecticut,
1978. [324]
R. B. Hayward (1985), "Weakly triangulated graphs", Journal of Combinatorial Theory (B) 39
(1985) 200-209. [282]
I. Heller (1957), "On linear systems with integral valued solutions", Pacific Journal of Mathe-
matics 7 (1957) 1351-1364. [282]
Ch. Hermite (1850), "Extraits de lettres de M. Ch. Hermite a M. J acobi sur differents objets de
la theorie des nombres", Journal fur die Reine und Angewandte Mathematik 40 (1850) 261
278, 279-290, 291-307, 308-315 (reprinted in: E. Picard (ed.), Oeuvres de Charles Hermite
Vol. I, Gauthier-Villars, Paris, 1905, 100-121, 122-135, 136-155, 155-163). [140]
Ch. Hermite (1851), "Sur Introduction des variables continues dans la theorie des nom-
bres", Journal fur die Reine und Angewandte Mathematik 41 (1851) 191-216 (reprinted in:
K. Hensel (ed.), Oeuvres de Charles Hermite Vol. I ll, Gauthier-Villars, Paris, 1905, 164-192).
[43]
A. J. Hoffman (1960), "Some recent applications of the theory of linear inequalities to extremal
combinatorial analysis", in: R. Bellman and M. Hall, J r. (eds.), Combinatorial Analysis,
Proceedings of Symposia in Applied Mathematics, Volume X, American Mathematical
Society, Providence, Rhode Island, 1960, 113-127. [238, 239, 241]
A. J. Hoffman and J. B. Kruskal (1956), "Integral boundary points of convex polyhedra", in:
H. W. Kuhn and A. W. Tucker (eds.), Linear Inequalities and Related Systems, Princeton
University Press, Princeton, New Jersey, 1956, 223-246. [199, 282]
I. Holyer (1981), "The ^(^-completeness of edge-colouring", SIAM Journal on Computing 10
(1981) 718-721. [208]
J. Hopcroft and R. M. Karp (1973), "An n?- algorithm for maximum matching in bipartite
graphs", SIAM Journal on Computing! (1973) 225-231. [231]
J. Hopcroft and R. E. Tarjan (1974), "Efficient planarity testing", Journal of the Association
for Computing Machinery 21 (1974) 549-568. [274]
W.-L. Hsu (1981), "How to color claw-free perfect graphs", Discrete Mathematics 11 (1981)
189-197. [282]
W.-L. Hsu, Y. Ikura and G. L. Nemhauser (1981), "A polynomial algorithm for maximum
weighted vertex packings in graphs without long odd cycles", Mathematical Programming
20 (1981) 225-232. [302]
W.-L. Hsu and G. L. Nemhauser (1981), "Algorithms for minimum covering by cliques and
maximum clique in claw-free perfect graphs", Discrete Mathematics 37 (1981) 181-191. [282]
W.-L. Hsu and G. L. Nemhauser (1982), "A polynomial algorithm for the minimum weighted
clique cover problem on claw-free perfect graphs", Discrete Mathematics 38 (1982) 65-71.
[282]
T. C. Hu (1963), "Multicommodity network flows", Operations Research 11 (1963) 344-360.
[268]
T. C. Hu (1969), Integer Programming and Network Flows, Addison-Wesley, Reading, Mas-
sachusetts, 1969. [249]
O. H. Ibarra and C. E. Kim (1975), "Fast approximation algorithms for the knapsack and
sum of subset problems", Journal of the Association for Computing Machinery 22 (1975)
463-468. [35]
A. W. Ingleton (1959), "A note on independence functions and rank", Journal of the London
Mathematical Society 34 (1959) 49-56. [304]
M. Iri (1983), "Applications of matroid theory", in: A. Bachem, M. Grotschel and B. Korte
(eds.), Mathematical Programming: The State of the Art - Bonn 1982, Springer, Berlin, 1983,
158-201. [211]
M. Iri and H. Imai (1986), "A multiplicative barrier function method for linear programming",
Algorithmica 1 (1986) 455-482. [66]
P. M. J ensen and B. Korte (1981), "Complexity of matroid property algorithms", SIAM Journal
on Computing 11 (1982) 184^190. [309]
F. J ohn (1948), "Extremum problems with inequalities as subsidiary conditions", in: Studies
and Essays, presented to R. Courant on his 60th Birthday, January 8, 1948, Interscience,
New York, 1948, 187-204 (reprinted in: J. Moser (ed.), Fritz John, Collected Papers Volume
2, Birkhauser, Boston, Massachusetts, 1985, 543-560). [69, 124]
D. S. J ohnson, C. H. Papadimitriou, P. Seymour and M. Yannakakis (1984), "The complexity
of multiway cuts", preprint, 1984. [267]
R. Kannan and A. Bachem (1979), "Polynomial algorithms for computing the Smith and
Hermite normal forms of an integer matrix", SIAM Journal on Computing 8 (1979) 499-
507. [45, 151]
N. Karmarkar (1984), "A new polynomial-time algorithm for linear programming", in: Pro-
ceedings of the Sixteenth Annual ACM Symposium on Theory of Computing (Washington,
D. C, 1984), The Association for Computing Machinery, New York, 1984, 302-311 (revised
version: Combinatorica 4 (1984) 373-395). [65]
R. M. Karp (1972), "Reducibility among combinatorial problems", in: R. E. Miller and
J. W. Thatcher (eds.), Complexity of Computer Computations, Plenum Press, New York,
1972, 85-103. [28, 239, 249]
R. M. Karp and C. H. Papadimitriou (1980), "On linear characterization of combinatorial
optimization problems", in: 21th Annual Symposium on Foundations of Computer Science
(Syracuse, New York, 1980), IEEE, New York, 1980, 1-9 (final publication: SI AM Journal
on Computing 11 (1982) 620-632). [65, 265]
L. G. Khachiyan (1979), "A polynomial algorithm in linear programming" (in Russian), Dok-
lady Akademii Nauk SSSR 244 (1979) 1093-1096 (English translation: Soviet Mathematics
Doklady 20 (1979) 191-194). [65, 158]
L. G. Khachiyan (1980), "Polynomial algorithms in linear programming" (in Russian), Zhurnal
Vychislitelnoi Matematiki i Matematicheskoi Fiziki 20 (1980) 51-68 (English translation:
USSR Computational Mathematics and Mathematical Physics 20 (1980) 53-72). [65]
L. G. Khachiyan, M. K. Kozlov and S. P. Tarasov (1980), "The polynomial solvability of convex
quadratic programming" (in Russian), Zhurnal Vychislitelnoi Matematiki i Matematicheskoi
Fiziki 20 (1980) 1319-1323. [181]
A. Khintchine (1956), Kettenbriiche, (translated from the Russian, published 1935), Teubner,
Leipzig, 1956 (English translation: Continued Fractions, NoordhofT, Groningen, 1963). [132,
136]
V. Klee and G. J. Minty (1972), "How good is the simplex algorithm?", in: O. Shisha (ed.),
Inequalities III, Academic Press, New York, 1972, 159-175. [42, 64]
D. E. Knuth (1973), "Matroid partitioning", Stanford University Report STAN-CS-73-342,
Stanford, California, 1973. [250]
D. Knig (1915), "Vonalrendszerek es determinansok" (Hungarian), ("Line-systems and deter-
minants"), Mathematikai es Termeszettudomanyi Ertesito 33 (1915) 221-229. [230]
D. Knig (1916), "Grafok es alkalmazasuk a determinansok es halmazok elmeleteben" (Hun-
garian), Mathematikai es Termeszettudomanyi Ertesito 34 (1916) 104-119 (German trans-
lation: ber Graphen und ihre Anwendung auf Determinantentheorie und Mengenlehre,
Mathematische Annalen 11 (1916) 453-65). [209, 230, 279]
D. Knig (1931), "Graphok es matrixok" (Hungarian), ("Graphs and matrices"), Matematikai
es Fizikai Lapok 38 (1931) 116-119. [230]
D. Knig (1933), "Uber trennende Knotenpunkte in Graphen (nebst Anwendungen auf Deter-
minanten und Matrizen)", Acta Litterarum ac Scientiarum Regiae Universitatis Hungaricae
Francisco-Josephinae (Szeged), Sectio Scientiarum Mathematicarum 6 (1933) 155-179. [230]
D. Knig (1936), Theorie der endlichen und unendlichen Graphen, Teubner, Leipzig, 1936
(reprinted: Chelsea, New York, 1950). [280]
J. B. Kruskal (1956), "On the shortest spanning subtree of a graph and the traveling salesman
problem", Proceedings of the American Mathematical Society 1 (1956) 48-50. [247]
H. W. Kuhn (1955), "The Hungarian method for the assignment problem", Naval Research
Logistics Quarterly 2 (1955) 83-97. [233, 279, 280]
H. W. Kuhn (1956), "Variants of the Hungarian method for assignment problems", Naval
Research Logistics Quarterly 3 (1956) 253-258. [233]
Mei-Ko Kwan (1960), "Graphic programming using odd or even points" (in Chinese), Acta
Mathematica Sinica 10 (1960) 263-266 (English translation: Chinese Mathematics 1 (1962)
273-277). [262]
J. C. Lagarias (1982), "The computational complexity of simultaneous diophantine approxima-
tion problems", in: 23rd Annual Symposium on Foundations of Computer Science, IEEE,
New York, 1982, 32-39 (final version: SI AM Journal on Computing 14 (1985) 196-209).
[138]
J. C. Lagarias (1984), "Knapsack public key cryptosystems and diophantine approximation",
Advances in Cryptology, Proceedings of CRYPTO 83, Plenum Press, New York, 1984, 3-23.
[221]
J. C. Lagarias and A. M. Odlyzko (1983), "Solving low-density subset sum problems", in: 24th
Annual Symposium on Foundations of Computer Science, IEEE, New York, 1983, 1-10
(final version: Journal of the Association for Computing Machinery 32 (1985) 229-246).
[218, 220, 221]
P. Lancaster and M. Tismenetsky (1985), The Theory of Matrices, Second Edition, with
Applications, Academic Press, Orlando, 1985. [1]
E. L. Lawler (1975), "Matroid intersection algorithms", Mathematical Programming 9 (1975)
31-56. [216]
E. L. Lawler (1976), Combinatorial Optimization: Networks and Matroids, Holt, Rinehart and
Winston, New York, 1976. [16]
E. L. Lawler (1980), "The great mathematical Sputnik of 1979", The Mathematical Intelligencer
2 (1980) 191-198. [65]
E. L. Lawler and C. U. Martel (1982), "Flow network formulations of polymatroid optimization
problems", Annals of Discrete Mathematics 16 (1982) 189-200. [324]
A. Lehman (1965), "On the width-length inequality", Mimeographic Notes, 1965, published in
Mathematical Programming 16 (1979) 245-259 (without proof corrections), and 17 (1979)
403-417 (with proof corrections). [225, 226]
C. G. Lekkerkerker (1969), Geometry of Numbers, Wolters-Noordhoff, Groningen and North-
Holland, Amsterdam, 1969. [139]
C. G. Lekkerkerker and J. Ch. Boland (1962), "Representation of a finite graph by a set of
intervals on the real line", Fundamenta Mathematicae 51 (1962) 45-64. [280]
A. K. Lenstra, H. W. Lenstra, J r. and L. Lovasz (1982), "Factoring polynomials with rational
coefficients", Mathematische Annalen 261 (1982) 515-534. [133, 149]
H. W. Lenstra, J r. (1983), "Integer programming with a fixed number of variables", Mathematics
of Operations Research 8 (1983) 538-548. [124, 193, 195]
A. Yu. Levin (1965), "On an algorithm for the minimization of convex functions" (in Rus-
sian), Doklady Akademii Nauk SSSR 160 (1965) 1244-1247 (English translation: Soviet
Mathematics Doklady 6 (1965) 286-290). [65]
M. V. Lomonosov (1979), "Multiflow feasibility depending on cuts", Graph Theory Newsletter
9 (1) (1979) 4. [268]
L. Lovasz (1970), "Subgraphs with prescribed valencies", Journal of Combinatorial Theory 8
(1970) 391-416. [259]
L. Lovasz (1972), "Normal hypergraphs and the perfect graph conjecture", Discrete Mathemat-
ics 2 (1972) 253-267. [277]
L. Lovasz (1975), "2-Matchings and 2-covers of hypergraphs", Acta Mathematica Academiae
Scientiarum Hungaricae 26 (1975) 433-444. [261, 262]
L. Lovasz (1976), "On two minimax theorems in graph", Journal of Combinatorial Theory (B)
21 (1976) 96-103. [246]
L. Lovasz (1979), "On the Shannon capacity of a graph", IEEE Transactions on Information
Theory 25 (1979) 1-7. [285]
L. Lovasz (1980), "Matroid matching and some applications", Journal of Combinatorial Theory
B 28 (1980) 208-236. [309]
L. Lovasz (1983a), "Perfect graphs", in: L. W. Beineke and R. J. Wilson (eds.), Selected Topics
in Graph Theory 2, Academic Press, London, 1983, 55-87. [283]
L. Lovasz (1983b), "Submodular functions and convexity", in: A. Bachem, M. Grotschel and
B. Korte (eds.), Mathematical Programming: The State of the Art, Bonn, 1982, Springer,
Berlin, 1983,235-257. [311]
342 References
L. Lovasz (1986), An Algorithmic Theory of Numbers, Graphs and Convexity (CBMS-NSF
Regional Conference Series in Applied Mathematics 50), S1AM, Philadelphia, Pennsylvania,
1986. [195]
L. Lovasz and M. D. Plummer (1986), Matching Theory, Akademiai Kiado, Budapest, 1986.
[230]
C. L. Lucchesi (1976), "A minimax equality for directed graphs", Ph. D. Thesis, University of
Waterloo, Waterloo, Ontario, 1976. [252]
C. L. Lucchesi and D. H. Younger (1978), "A minimax theorem for directed graphs", Journal
of the London Mathematical Society (2) 17 (1978) 369-374. [251]
G. Lueker (1974), "Structured breadth first search and chordal graphs", Technical Report
TR-158, Princeton University, Princeton, New Jersey, 1974. [281]
W. Mader (1983), "On n-edge-connected digraphs", Annals of Discrete Mathematics 17 (1983)
439-441. [225, 247]
M. Marcus and H. Mine (1964), A Survey of Matrix Theory and Matrix Inequalities, Allyn
and Bacon, Boston, Mass., 1964. [1]
A. B. Marsh (1979), "Matching algorithms", Ph. D. Thesis, J ohns Hopkins University, Baltimore,
Maryland, 1979. [257, 258]
J. F. Maurras, K. Truemper and M. Akgiil (1981), "Polynomial algorithms for a class of linear
programs", Mathematical Programming 21 (1981) 121-136. [282]
N. Megiddo (1983), "Towards a genuinely polynomial algorithm for linear programming",
SIAM Journal on Computing 12 (1983) 347-353. [189]
K. Menger (1927), "Zur allgemeinen Kurventheorie", Fundamenta Mathematicae 10 (1927)
96-115. [238]
H. Meyniel (1976), "On the perfect graph conjecture", Discrete Mathematics 16 (1976) 339-342.
[281]
H. Meyniel (1985), "A new property of imperfect graphs and some consequences", Working
Paper, E. R. 1975 CNRS, Paris, 1985. [283]
S. Micali and V. V. Vazirani (1980), "An 0(V
l
^
2
E) algorithm for finding a maximum matching
in general graphs", in: 21st Annual Symposium on Foundations of Computer Science
(Syracuse, New York), IEEE, New York, 1980, 17-27. [255]
G. J. Minty (1960), "Monotone networks", Proceedings of the Royal Society of London, Series
A 257 (1960) 194^212. [238]
G. J. Minty (1980), "On maximal independent sets of vertices in claw-free graphs", Journal of
Combinatorial Theory B 28 (1980) 284-304. [282, 302]
E. F. Moore (1959), "The shortest path through a maze", Proceedings of the International
Symposium on Switching Theory 1957, Part II, Harvard University Press, Cambridge, Mas-
sachusetts, 1959, 285-292. [235]
J. Munkres (1957), "Algorithms for the assignment and transportation problems", Journal of
the Society for Industrial and Applied Mathematics 5 (1957) 32-38. [233]
C. St. J. A. Nash-Williams (1961), "Edge-disjoint spanning trees of finite graphs", Journal of
the London Mathematical Society 36 (1961) 445-450. [251]
C. St. J. A. Nash-Williams (1964), "Decomposition of finite graphs into forests", Journal of the
London Mathematical Society 39 (1964) 12. [251]
G. L. Nemhauser and L. E. Trotter (1974), "Properties of vertex packing and independence
system polyhedra", Mathematical Programming 6 (1974) 48-61. [301]
G. L. Nemhauser and L. A. Wolsey (1981), "Maximizing submodular set functions: formulations
and analysis of algorithms", Annals of Discrete Mathematics 11 (1981) 279-301. [311]
I. Niven and H. S. Zuckerman (1980), Introduction to the Theory of Numbers (4-th edition),
Wiley, New York, 1980. [134]
T. R. F. Nonweiler (1984), Computational Mathematics An Introduction to Numerical
Approximation, Ellis Horwood, Chichester, 1984. [134]
A. M. Odlyzko and H. J. J. te Riele (1985), "Disproof of the Mertens conjecture", Journal fur
die Reine und Angewandte Mathematik 357 (1985) 138-160. [149]
H. Okamura (1983), "Multicommodity flows in graphs", Discrete Applied Mathematics 6 (1983)
55-62. [268]
H. Okamura and P. D. Seymour (1981), "Multicommodity flows in planar graphs", Journal of
Combinatorial Theory (B) 31 (1981) 75-81. [268]
A. Orden (1956), "The transhipment problem", Management Science 2 (1956) 276-285. [238]
O. Ore (1957), "Graphs and subgraphs I", Transactions of the American Mathematical Society
84 (1957) 109-136. [255]
O. Ore (1959), "Graphs and subgraphs II", Transactions of the American Mathematical Society
93 (1959) 185-204. [255]
J. B. Orlin (1987), "Genuinely polynomial simplex and non-simplex algorithms for the minimum
cost flow problem", Operations Research, to appear. [238]
G. I. Orlova and Y. G. Dorfman (1972), "Finding the maximum cut in a graph" (in Russian),
Izvestija Akademii Nauk SSSR, Tehniceskaja Kibernetika (1972) (3) 155-159, (English
translation: Engineering Cybernetics 10 (3) (1972) 502-506). [250]
M. W. Padberg (1973), "On the facial structure of set packing polyhedra", Mathematical
Programming 5 (1973) 199-215. [301]
M. W. Padberg (1975), "A note on zero-one programming", Operations Research 23 (1975)
833-837. [301]
M. W. Padberg and M. Grotschel (1985), "Polyhedral computations", in: E. L. Lawler,
J. K. Lenstra, A. H. G. Rinnooy Kan and D. Shmoys (eds.), The Traveling Salesman
Problem, Wiley, Chichester, 1985, 307-360. [223, 263, 265]
M. W. Padberg and M. R. Rao (1981), "The Russian method for linear programming III:
Bounded integer programming", Research Report 81-39, New York University, Graduate
School of Business Administration, New York, 1981. [65]
M. W. Padberg and M. R. Rao (1982), "Odd minimum cut-sets and b-matchings", Mathematics
of Operations Research 1 (1982) 67-80. [46, 207, 223, 257, 258, 259, 263]
M. W. Padberg and G. Rinaldi (1987), "Optimization of a 532 city symmetric travelling salesman
problem by branch and cut", Operations Research Letters 6 (1987) 1-7. [265]
M. W. Padberg and L. A. Wolsey (1984), "Fractional covers for forests and matchings",
Mathematical Programming 29 (1984) 1-14. [217]
C. H. Papadimitriou (1976), "On the complexity of edge traversing", Journal of the Association
for Computing Machinery 23 (1976) 544-554. [262]
C. H. Papadimitriou and K. Steiglitz (1982), Combinatorial Optimization: Algorithms and
Complexity Prentice-Hall, Englewood Cliffs, New Jersey, 1982. [236, 239]
K. R. Parthasarathy and G. Ravindra (1976), "The strong perfect graph conjecture is true for
K
1,3
-free graphs", Journal of Combinatorial Theory (B) 21 (1976) 212-223. [282]
O. Perron (1913), Die Lehre von den Kettenbriichen, Teubner, Leipzig, 1913 (2nd revised
edition: 1929, (reprinted: Chelsea, New York, 1950), 3rd revised edition: Teubner, Stuttgart,
1954 (Vol. I), 1957 (Vol. II)). [134]
G. Polya and G. Szeg (1978), Problems and Theorems in Analysis I: Series, Integral Calculus,
Theory of Functions, (Corrected Printing), Springer-Verlag, Berlin, 1978. [93]
A. van der Poorten (1979), "A proof that Euler missed ... Apery's proof of the irrationality
C(3). An informal report", The Mathematical Intelligencer 1 (1978/1979) 195-203. [35]
R. C. Prim (1957), "Shortest connection networks and some generalizations", The Bell System
Technical Journal 36 (1957) 1389-1401. [235, 247]
W. R. Pulleyblank (1973), "Faces of matching polyhedra", Ph. D. Thesis, University of Waterloo,
Waterloo, Ontario, 1973. [257, 258]
344 References
W. R. Pulleyblank (1980), "Dual integrality in ^-matching problems", Mathematical Program-
ming Study 12 (1980) 176-196. [257]
W. R. Pulleyblank (1981), "Total dual integrality and 6-matchings", Operations Research Letters
1 (1981) 28-30. [257]
R. Rado (1942), "A theorem on independence relations", The Quarterly Journal of Mathematics
Oxford (2) 13 (1942) 83-89. [304]
R. Rado (1957), "A note on independence functions", Proceedings of the London Mathematical
Society 7 (1957) 300-320. [304]
A. Recski (1988), Matroid Theory and its Applications in Electrical Networks and Statics,
Springer, Heidelberg, 1988, to appear. [211]
R. T. Rockafellar (1970), Convex Analysis, Princeton University Press, Princeton, New Jersey,
1970. [1]
A. van Rooij and H. Wilf (1965), "The interchange graph of a finite graph", Acta Mathematica
Academiae Scientiarum Hungaricae 16 (1965) 263-269. [280]
D. J. Rose and R. E. Tarjan (1975), "Algorithmic aspects of vertex elimination", in: Proceedings
of the 7th Annual ACM Symposium on the Theory of Computing (Albuquerque, New
Mexico, 1975), ACM, New York, 1975, 245-254. [281]
D. J. Rose, R. E. Tarjan and G. S. Lueker (1976), "Algorithmic aspects of vertex elimination
on graphs", SI AM Journal on Computing 5 (1976) 266-283. [281]
H. Sachs (1970), "On the Berge conjecture concerning perfect graphs", in: R. Guy, H. Hanani,
N. Sauer and J. Schonheim (eds.), Combinatorial Structures and Their Applications, Gordon
and Breach, New York, 1970, 377-384. [281]
N. Sbihi (1978), "Etude des stables dans les graphes sans etoile", M. Sc. Thesis, Universite
Scientifique et Medicale, Grenoble, 1978. [282, 302]
N. Sbihi (1980), "Algorithme de recherche d'un stable de cardinality maximum dans un graphe
sans etoile", Discrete Mathematics 29 (1980) 53-76. [282, 302]
W. M. Schmidt (1980), Diophantine Approximation, Lecture Notes in Mathematics 785,
Springer-Verlag, Berlin, 1980. [146]
C. P. Schnorr (1985), "A hierarchy of polynomial time basis reduction algorithms", in: L. Lovasz
and E. Szemeredi (eds.), Theory of Algorithms, North-Holland, Amsterdam, 1985, 375-386.
[146]
R. Schrader (1982), "Ellipsoid methods", in: B. Korte (ed.), Modern Applied Mathematics
Optimization and Operations Research, North-Holland, Amsterdam, 1982, 265-311. [65]
A. Schrijver (1980a), "On cutting planes", Annals of Discrete Mathematics 9 (1980) 291-296.
[13]
A. Schrijver (1980b), "A counterexample to a conjecture of Edmonds and Giles", Discrete
Mathematics 32 (1980) 213-214. [252]
A. Schrijver (1982), "Min-max relations for directed graphs", Annals of Discrete Mathematics
16 (1982) 261-280. [252]
A. Schrijver (1983), "Packing and covering of crossing families of cuts", Journal of Combina-
torial Theory (B) 35 (1983) 104-128. [252]
A. Schrijver (1984), "Total dual integrality from directed graphs, crossing families, and sub-
and supermodular functions", in: W. R. Pulleyblank (ed.), Progress in Combinatorial
Optimization, Academic Press, Toronto, 1984, 315-361. [324]
A. Schrijver (1986), Theory of Linear and Integer Programming, Wiley, Chichester, 1986. [1,
199]
A. Schrijver and P. D. Seymour (1977), "A proof of total dual integrality of matching polyhedra",
Report ZN 79/77, Mathematisch Centrum, Amsterdam, 1977. [259]
P. D. Seymour (1977), "The matroids with the max-flow min-cut property", Journal of Combi-
natorial Theory (B) 23 (1977) 189-222. [261]
P. D. Seymour (1979), "On multicolourings of cubic graphs, and conjectures of Fulkerson and
Tutte", Proceedings of the London Mathematical Society (3) 38 (1979) 423-460. [262]
P. D. Seymour (1980a), "Decomposition of regular matroids", Journal of Combinatorial Theory
B 28 (1980) 305-359. [200, 282]
P. D. Seymour (1980b), "Four-terminus flows", Networks 10 (1980) 79-86. [268]
P. D. Seymour (1981a), "On odd cuts and plane multicommodity flows", Proceedings of the
London Mathematical Society (3) 42 (1981) 178-192. [261, 268]
P. D. Seymour (1981b), "Matroids and multicommodity flows", European Journal of Combi-
natorics 2 (1981) 257-290. [250]
N. Z. Shor (1970a), "Utilization of the operation of space dilatation in the minimization of
convex functions" (in Russian), Kibernetika (Kiev) 1970 (1) (1970) 6-12 (English translation:
Cybernetics 6 (1970) 7-15). [65]
N. Z. Shor (1970b), "Convergence rate of the gradient descent method with dilatation of
the space" (in Russian), Kibernetika (Kiev) 1970 (2) (1970) 80-85 (English translation:
Cybernetics 6 (1970) 102-108). [65]
N. Z. Shor (1977), "Cut-off method with space extension in convex programming problems"
(in Russian), Kibernetika (Kiev) 1977 (1) (1977) 94-95 (English translation: Cybernetics 13
(1977) 94-96). [56, 65]
N. Z. Shor and V. I. Gershovich (1979), "Family of algorithms for solving convex programming
problems" (in Russian), Kibernetika (Kiev) 1979 (4) (1979) 62-67 (English translation:
Cybernetics 15 (1979) 502-508). [94]
S. Smale (1983), "On the average number of steps in the simplex method of linear programming",
Mathematical Programming 21 (1983) 241-262. [42]
G. Sonnevend (1986), "An "analytical centre" for polyhedrons and new classes of global
algorithms for linear (smooth, convex) programming", in: A. Prekopa, J. Szelezsan and
B. Strazicky (eds.), System Modelling and Optimization (Proceedings of the 12-th IFIP
Conference, Budapest, 1985), Lecture Notes in Control and Information Sciences 84, Springer,
Berlin 1986, 866-875. [66]
J. Stoer and C. Witzgall (1970), Convexity and Optimization in Finite Dimensions I, Springer,
Berlin, 1970. [1]
G. Strang (1980), Linear Algebra and Its Applications, (2nd edition), Academic Press, New
York, 1980. [1]
V. Strassen (1973), "Vermeidung von Divisionen", Journal fur die Reine und Angewandte
Mathematik 264 (1973) 184-202. [40]
E. Tardos (1985), "A strongly polynomial minimum cost circulation algorithm", Combinatorica
5 (1985) 247-255. [189, 238]
E. Tardos (1986), "A strongly polynomial algorithm to solve combinatorial linear programs",
Operations Research 34 (1986) 250-256. [158, 189, 190]
R. E. Tarjan (1974), "A good algorithm for edge-disjoint branchings", Information Processing
Letters 3 (1974) 51-53. [246]
R. E. Tarjan (1977), "Finding optimum branchings", Networks 7 (1977) 25-35. [242]
R. E. Tarjan (1986), "Algorithms for maximum network flow", Mathematical Programming
Study 26 (1986) 1-11. [237]
C. Thomassen (1985), "Even cycles in directed graphs", European Journal of Combinatorics 6
(1985) 85-89. [236]
L. E. Trotter (1977), "Line perfect graphs", Mathematical Programming 12 (1977) 255-259.
[281]
K. Truemper (1987), "A decomposition theory for matroids V: testing of matrix total unimod-
ularity", Working Paper, University of Texas at Dallas, Richardson, Texas, J anuary 1987.
[201]
W. T. Tutte (1947), "The factorization of linear graphs", Journal of the London Mathematical
Society 22 (1947) 107-111. [204, 255]
W. T. Tutte (1952), "The factors of graphs", Canadian Journal of Mathematics 4 (1952) 314-328.
[255, 258]
W. T. Tutte (1954), "A short proof of the factor theorem for finite graphs", Canadian Journal
of Mathematics 6 (1954) 347-352. [255]
W. T. Tutte (1961), "On the problem of decomposing a graph into n connected factors", Journal
of the London Mathematical Society 36 (1961) 221-230. [251]
W. T. Tutte (1974), "Spanning subgraphs with specified valencies", Discrete Mathematics 9
(1974) 97-108. [259]
W. T. Tutte (1978), "The subgraph problem", Annals of Discrete Mathematics 3 (1978) 289-295.
[259]
V. G. Vizing (1964), "On an estimate of the chromatic class of a p-graph" (in Russian),
Diskretnyi Analiz 3 (1964) 25-30. [209]
S. Warshall (1962), "A theorem on boolean matrices", Journal of the Association for Computing
Machinery 9 (1962) 11-12. [235]
D. J. A. Welsh (1976), Matroid Theory, Academic Press, London, 1976. [211]
S. H. Whitesides (1984), "A classification of certain graphs with minimal imperfection proper-
ties", Annals of Discrete Mathematics 21 (1984) 207-218. [281]
M. A. Yakovleva (1959), "A problem on minimum transportation cost", in: V. S. Nemchi-
nov (ed.), Applications of Mathematics in Economic Research, Izdat. Social'no-Ekon. Lit.,
Moscow, 1959, 390-399. [238]
B. Yamnitsky and L. A. Levin (1982), "An old linear programming algorithm runs in polynomial
time", in: 23rd Annual Symposium on Foundations of Computer Science, IEEE, New York,
1982, 327-328. [65, 104]
A. C. Yao (1975), "An (\E\loglog\V\) algorithm for finding minimum spanning trees", Infor-
mation Processing Letters 4 (1975) 21-23. [247]
D. B. Yudin and A. S. Nemirovskii (1976a), "Evaluation of the informational complexity of
mathematical programming problems" (in Russian), Ekonomika i Matematicheskie Metody
12 (1976) 128-142 (English translation: Matekon 13 (2) (1976-7) 3-25). [65]
D. B. Yudin and A. S. Nemirovskii (1976b), "Informational complexity and efficient methods
for the solution of convex extremal problems" (in Russian), Ekonomika i Matematicheskie
Metody 12 (1976) 357-369 (English translation: Matekon 13 (3) (1977) 25-45). [65, 94, 107]
Notation Index
In the order of first occurrence in the text.
IR
Q
TL
N
C
R
+
Q+
z+
R"
Q"
Z
n
N"
C"
/
M
rj
M czN
M\N
MAN
2
M
M + N
-M
OLM
M-N
nmxn
A
U
4.
A
-J
I
In
0
H
diag(x)
det(^)
ti{A)
set of real numbers
set of rational numbers
set of integral numbers
set of natural numbers
set of complex numbers
set of nonnegative reals
set of nonnegative rationals
set of nonnegative integers
set of real n-vectors
set of rational n-vectors
set of integral n-vectors
set of natural n-vectors
set of complex n-vectors
set of mappings from E to R
incidence vector of F
2 transpose vector
2 lower integer part of a
2 upper integer part of a
2 integer nearest to a
2 M subset of N
2 M strict subset of N
2 difference of sets M and N
2 symmetric difference of sets M and N
2 power set of M
2 sum of sets M and N
2 negative set of M
2 a multiple of a set M
2 algebraic difference of sets M and N
2 set of mxn-matrices with entries in R
2 submatrix with row index set / and column index set J
2 i-th row of matrix A
2 j-th column of matrix A
2 identity matrix
2 identity matrix of dimension n
2 zero vector or matrix
2 vector with all entries equal to 1
2 7-th unit vector
2 diagonal matrix, with diagonal x\,..., x
n
2 determinant of matrix A
2 trace of matrix A
A'
x
3
lin(S) 3
cone(S) 3
aff(S) 3
rank(S) 3
arank(S) 3
dim(S) 3
rank (A) 3
A
\H
4
llxll
5
Nil
5
II* II oo
5
\M\
A
5
diam(K) 6
width(X) 6
S(K,e) 6
S(a,s) 6
S(K,-e) 6
\ub
N
(A) 7
Mil
7
Mllao
7
Mill
7
Mb
8
Mil max
8
rec(S) 10
lineal(S) 10
5 11
5* 11
bl(S) 11
abl(S) 11
G = (V,E) 17
0
17
T(W) 17
T(v) 17
S(v) 17
S(W) 17
E(W) 17
V(F) 17
G-W 17
G[W] 17
G-F 17
G-v 17
G-e 17
G- W 17
Ge 17
G-F 17
K
n
18
Km,n
18
G 18
L(G) 18
inverse of matrix A
linear hull of S
conical hull of S
affine hull of S
rank of S
affine rank of S
dimension of S
rank of matrix A
root of a positive definite matrix A
Euclidean norm of x
1-norm of x
maximum norm of x
ellipsoidal norm of x
diameter of K
width of K
ball of radius e around K
ball of radius e around a
interior e-ball of K
matrix norm subordinate to N
spectral norm of matrix A
row sum norm of matrix A
column sum norm of matrix A
Frobenius norm of matrix A
max-norm of matrix A
recession cone of S
lineality space of 5
polar cone of S
polar of S
blocker of S
antiblocker of S
graph
edge of a graph connecting / and j
set of neighbors of W
set of neighbors of v
star of v
cut induced by W
set of edges with both endnodes in W
set of nodes covered by edges in F
subgraph of G obtained by deleting node set W
subgraph of G induced by W
subgraph of G obtained by deleting edge set F
subgraph of G obtained by deleting node v from G
subgraph of G obtained by deleting edge e from G
graph obtained from G by contracting node set W
graph obtained from G by contracting edgee
graph obtained from G by contracting edge set F
complete graph on n nodes
complete bipartite graph with color classes of
cardinality m and n
complementary graph of G
line graph of G
D = (V,A) 18
(u,v) 18
V(B) 18
A{W) 18
8 + {v) 18
S-(v) 18
S(v) 18
S + (W) 18
8~(W) 18
3(W) 18
0> 24
0(g(n)) 24
JV0> 24
co-C 25
co-AW 25
(x)
30
(A,b,c) 30
SOPT 47
SVIOL 47
SNEMPT 47
SVAL 47
SSEP 48
SMEM 48
WOPT 50
WVI OL 51
WVAL 51
WSEP 51
WMEM 51
WNEMPT 51
(K;n,R) 53
(K;n,R,r) 53
(K;n,R,r,a
0
) 53
Name(K) 54
<*>
54
hull
r
(F) 58
ex
t
(F)
58
E(A,a) 67
vol(E)
67
V
n
68
E'(Aa,c) 70
E'{A,a,c,y) 71
E"(A,a,c,y) 72
a
0
+ l_ffli +... +1_ [aj 135
L(b
h
...,b
n
) 139
L* 150
(L;n,T) 151
(P;n,<p) 163
(P)
163
ARB(D) 202
PM(G) 205
y(G)
208
digraph
arc of a digraph fromu to v
set of nodes covered by arcs in B
set of arcs with both endnodes in W
set of arcs leaving v
set of arcs entering v
set of arcs leaving or entering v
set of arcs leaving W
set of arcs entering W
set of arcs leaving or entering W
problems solvable in polynomial time
of order g
problems solvable in nondeterministic polynomial time
problems complementary to C
problems complementary to Jf&
encoding length of x
encoding length of a linear program
strong optimization problem
strong violation problem
strong nonemptiness problem
strong validity problem
strong separation problem
strong membership problem
weak optimization problem
weak violation problem
weak validity problem
weak separation problem
weak membership problem
weak nonemptiness problem
circumscribed convex body K
well-bounded convex body K
centered convex body K
name of convex body K
encoding length of a convex body K
t-hull of F
set of ^-extremal points
ellipsoid associated with A and a
volume of E
volume of the unit ball in R"
continued fraction
lattice defined by b\,..., b
n
dual lattice of L
well-described lattice L
well-described polyhedron P
encoding length of a polyhedron P
polytope of arc sets containing an r-arborescence in D
perfect matching polytope of G
edge coloring number of G
A( G)
208
(E,J)
211
I ND( M) 213
BL( t f ) 225
dmt{H) 226
v( G) 229
0L(G) 229
co(G) 229
z(G) 229
P(G) 229
X(G) 229
X(G) 229
v
w
(G) 231
r
w
(G) 231
Pw(G) 231
<*AG) 231
TSP( G) 263
a( G, w) 272
STAB( G) 272
CSTAB( G) 275
QSTAB( G) 283
ABL(H) 284
admt ( t f ) 284
TH( G) 286
$(G,w) 286
X(G,w) 296
X(G,w) 296
P
f
306
E
J>f
306
f
307
fmon
307
(f)
308
f
314
P
f
(V) 316
EP
f
m 316
maximum degree of G
matroid
matroid polytope of M
blocker of hypergraph H
dominant of hypergraph H
matching number of G
stability number of G
clique number of G
node covering number of G
edge covering number of G
coloring number of G
clique covering number of G
weighted matching number of G
weighted node covering number of G
weighted edge covering number of G
weighted stability number of G
traveling salesman polytope of G
weighted stability number of G
stable set polytope of G
circuit-constrained stable set polytope of G
clique-constrained stable set polytope of G
antiblocker of hypergraph H
antidominant of hypergraph H
weighted coloring number of G
weighted clique covering number of G
polymatroid defined by /
extended polymatroid defined by /
monotonization of submodular function /
encoding length of a submodular function /
polymatroid on intersecting family ^
extended polymatroid on intersecting family ^
Author Index
Adleman, L. 221, 331
Agmon, S. 35
Aho, A. V. 21,331
Akgul, M. 282, 342
Apery, R. 35, 343
Avi-ltzhak, B. 332
Babai, L. 149, 195, 331
Bachem, A. 45, 150, 339, 341
Balas, E. 301, 302, 331
Balinski, M. L. 233, 331
Barahona, F. 249, 250, 254, 262, 331
Barany, I. 127, 331
Beineke, L. W. 341
Bellman, R. 337, 339
Berge, C. 16, 255, 256, 277, 279, 280, 282,
283, 331, 332, 344
Berkowitz, S. J. 40, 332
Betke, U. 66, 332
Bixby, R. E. vii, 211, 332
Bland, R. E. 42, 65, 71, 72, 82, 94, 107, 248,
282, 332
Bock, F. 242, 332
Boland, J. Ch. 280, 341
Bollobas, B. 16, 332
Bondy, J. A. 16, 332
Bonnesen, T. 49, 332
Booth, K. S. 280, 332
Borgwardt, K. H. 42, 64, 332
Boruvka, O. 247, 332
Bose, R. C. 336
Boulala, M. 274, 332
Brickell, E. F. 221, 332
Burlet, M. 281, 332
Caratheodory, C. 10, 162, 184
Cassels, J. W. S. 139, 332
Cheriton, D. 247, 332
Cheung, T.-Y. 236, 333
Chu, Y. J. 201, 242, 333
Chvatal, V. 1, 13, 273, 274, 281, 282, 302,
332, 333
Conforti, M. 262
Cook, S. A. 28, 333
Cook, W. 259, 333
Cornuejols, G. 265, 333
Courant, R. 339
Cramer, G. 76
Crowder, H. 46, 265, 333
Cunningham, W. H. 46, 214, 256, 257, 258,
282,310,311,333
Dantzig, G. B. 1, 41, 333, 334, 336
Danzer, L. 69, 333
Dijkstra, E. W. 235, 247, 333
Dilworth, R. R 240, 277, 280, 304, 320, 333
Dinits, E. A. 198, 236, 333
Dirac, G. A. 274, 280, 281, 333
Dirichlet, G. L. 134, 138, 139, 141, 146, 334
Domich, R D. 45, 334
Dorfman, Y G. 250, 343
Duchet, R 282, 332
Duffin, R. J. 274, 334
Ecker, J. G. 64, 334
Edmonds, J. 16, 25, 37, 39, 46, 160, 181,
189, 201, 202, 204, 205, 206, 213, 214, 216,
238, 242, 244, 245, 246, 250, 255, 256, 257,
258, 260, 261, 262, 282, 304, 306, 308, 312,
313, 316, 319, 320, 321, 322, 333, 334, 344
Egervary, E. 200, 231, 232, 334
Elekes, G. 127,334
Elias, P. 199, 335
Emde Boas, P. van 141, 335
Euler, L. 343
Even, S. 255, 280, 335
Faddeev, D. K. 1, 335
Faddeeva, V. N. 1, 335
Farkas, Gy. 15
Feinstein, A. 199, 335
Fenchel, W. 49, 332
Feofiloff, P. 252, 335
Floyd, R. W. 235, 335
Fonlupt, J. 250, 274, 281, 332, 335
Ford, L. R., J r. 197, 198, 199, 202, 231, 234,
237, 239, 279, 280, 335
Frank, A. vii, 168, 189, 190, 216, 247, 252,
280, 324, 335
Fridman, A. A. 336
Frobenius, F G. 203, 204, 230, 335
Frumkin, M. A. 45, 155,336
Fulkerson, D. R. 197, 198, 199, 202, 225,
231, 234, 237, 238, 239, 241, 243, 246, 277,
279, 280, 284, 335, 336
Furedi, Z. 127, 331
Gabow, H. N. 243, 247, 336
Galil, Z. 231,236,243,247,336
Gallai, T. 230, 231, 255, 280, 281, 336
Gantmacher, F. R. 1, 336
Garey, M. R. 21, 28, 219, 272, 336
Gass, S. I. 1, 337
Gathen, J. von zur 45, 155, 337
Gavril, F. 280, 337
Gerards, A. M. H. 274, 275, 337
Gershovich, V. I. 94, 345
Gewirtz, A. 332
Ghellinck, G. de 66, 337
Ghouila-Houri, A. 280, 337
Giles, R. 16, 244, 302, 316, 319, 320, 321,
322, 334, 337, 344
Gill, P. E. 66, 337
Gilmore, P. C. 280, 337
Glover, F. 236, 337
Goffin, J.-L. 65, 122, 337
Goldberg, A. V. 237, 337
Goldfarb, D. 65, 71, 72, 82, 94, 107, 248,
332
Golumbic, M. 283, 337
Gomory, R. E. 13, 233, 248, 249, 257, 331,
337
Graham, R. L. 221, 248, 337
Greenberg, H. 332
Greene, C. 250, 337
Gritzmann, P. 66, 332
Gross, O. A. 280, 336
Grtschel, M. 65, 107, 159, 193, 218, 223,
249, 250, 254, 263, 265, 283, 285, 326, 331,
337, 338, 341, 343
Grnbaum, B. 1, 69, 333, 338
Guy, R. 334, 344
Hadlock, F 250, 338
Hajnal, A. 280, 335, 338
Hall, M., J r. 231,337, 338
Hanani, H. 334, 344
Hartvigsen, D. B. 265, 338
Hassin, R. 324, 338
Hayward, R. B. 282, 338
Hell, P. 248, 337
Heller, I. 282, 338
Hellman, M. E. 221, 331
Hensel, K. 338
Hermite, C. i, 43, 140, 338
Hoang, C. T. 281, 333
Hoffman, A. J. 199, 238, 239, 241, 280, 282,
337, 339
Holland, O. 223, 338
Holyer, I. 208, 209, 339
Hopcroft, J. E. 21, 231, 274, 339
Hsu, W.-L. 282, 302, 339
Hu, T. C. 248, 249, 257, 268, 337, 339
Ibarra, O. H. 35, 339
Ikura, Y. 302, 339
Imai, H. 66, 339
Ingleton, A. W. 304, 339
Iri, M. 66,211,339
J ensen, P. M. 309, 339
J ohn, F. 69, 124, 339
J ohnson, D. S. 21, 28, 219, 267, 272, 336,
339
J ohnson, E. L. 257, 258, 260, 261, 262, 334
J ordan, W. 124
J iinger, M. \ii, 250, 254, 331, 338
Kannan, R. 45, 151, 334, 339
Kariv, O. 255, 335
Karmarkar, N. 65, 66, 339
Karp, R. M. vii, 28, 65, 189, 231, 238, 239,
249, 265, 334, 339, 340
Karzanov, A V. 252
Khachiyan, L. G. v, 25, 64, 65, 71, 157, 158,
180, 181, 198, 232, 235, 242, 265, 340
Khintchine, A. 132, 136, 340
Kim, C. E. 35, 339
Klee, V. 42, 64, 69, 333, 340
Klingman, D. 236, 337
Knuth, D. E. 250, 340
Konig, D. 25, 209, 210, 230, 231, 232, 238,
240, 277, 279, 280, 305, 332, 340
Konnerth, T. vii
Koopmans, T. C. 232, 333
Korte, B. 309, 337, 339, 341, 344
Kozlov, M. K. 181, 340
Kronecker, L. 334
Kruskal, J. B. 199, 247, 282, 339, 340
Kuhn, H. W. 233, 279, 280, 339, 340
Kupferschmid, M. 64, 334
Kuratowski, C. 25
Kwan, M.-K. 262, 340
Lagarias, J. C. 138, 218, 220, 221, 340, 341
Lancaster, P. 1, 341
Las Vergnas, M. 282, 332
Lawler, E. L. 16, 65, 216, 324, 338, 341, 343
Lehman, A. 225, 226, 227, 228, 246, 252,
284, 341
Lekkerkerker, C. G. 139, 280, 341
Lempel, A. 280, 335
Lenstra, A. K. 133, 141, 149, 341
Lenstra, H. W., J r. v, vi, 124, 133, 134, 141,
149, 162, 193, 195, 196, 341
Lenstra, J. K. 338, 343
Levin, A. Yu. 65, 341
Levin, L. A. 65, 104, 346
Liu, T. H. 201, 242, 333
Lomonossov, M. V. 268, 341
Lovasz, L. 65, 107, 133, 140, 141, 149, 159,
160, 181, 193, 195, 218, 230, 246, 259, 261,
262, 275, 277, 283, 285, 309, 311, 326, 334,
337, 338, 341, 342, 344
Lwner, K. 69
Lucchesi, C. L. 251, 252, 253, 254, 321, 342
Lueker, G. S. 280, 281, 332, 342, 344
Mader, W. 225, 247, 342
Magnanti, T. L. 250, 337
Mahadev, N. V. R. 281, 333
Mahjoub, A. R. 249, 250, 254, 331, 335
Marcus, M. 1, 342
Marsh, A. B., III. 256, 257, 258, 333, 342
Martel, C. U. 324, 341
Maurras, J. F. 282, 342
Megiddo, N. 189, 342
Menger, K. 25, 238, 342
Merkle, R. C. 221, 331
Mertens, F. 149, 343
Meyniel, H. 281, 282, 283, 342
Micali, S. 255, 342
Miller, R. E. 340
Mine, H. 1, 342
Minkowski, H. v, 131, 140, 141, 148
Minty, G. J. 42, 64, 238, 241, 282, 302, 340,
342
Moore, E. F. 235, 342
Moser, J. 339
Mote, J. 236, 337
Motzkin, T. S. 35
Munkres, J. 233, 342
Murray, W. 66, 337
Murphy, F. 332
Murty, U. S. R. 16, 332
Nash-Williams, C. St. J. A. 251, 335, 342
Nemchinov, V. S. 346
Nemhauser, G. L. 282, 301, 302, 311, 339,
342
Nemirovskii, A. S. v, 65, 94, 104, 107, 113,
346
Nesetril, J. 302,331
Niven, I. 134, 342
Nonweiler, T. R. F. 134, 343
Odlyzko, A. M. 149, 218, 220, 221, 341, 343
Okamura, H. 268, 343
Olaru, E. 281
Orden, A. 238, 343
Ore, O. 255, 343
Orlin, J. B. 238, 343
Orlova, G. I. 250, 343
Padberg, M. W. vii, 46, 65, 207, 217, 223,
257, 258, 259, 263, 265, 301, 331, 333, 338,
343
Papadimitriou, C. H. vii, 65, 236, 239, 262,
265, 267, 339, 343
Parthasarathy, K. R. 282, 343
Perron, O. 134, 343
Picard, E. 338
Plummer, M. D. 230, 342
Pnueli, A. 280, 335
Polya, G. 93, 343
Poorten, A. van der 35, 343
Prekopa, A. 345
Prim, R. C. 235, 247, 343
Pulleyblank, W. R. 160, 181, 250, 257, 258,
259, 265, 332, 333, 334, 338, 343, 344
Quintas, L. V. 332
Rado, R. 304, 344
Rao, M. R. vii, 46, 65, 207, 223, 257, 258,
259, 263, 343
Ravindra, G. 282, 343
Recski, A. 211,344
Reinelt, G. vii, 250, 254, 331, 338
Riele, H. J. J. te 149, 343
Rinaldi, G. 265, 343
Rinnooy Kan, A. H. G. 338, 343
Rockafellar, R. T. 1, 344
Rooij, A. van 280, 344
Rose, D. J. 281, 344
Roy, B. 331
Rustin, R. 334
Sachs, H. 281, 344
Sauer, N. 334, 344
Saunders, M. A. 66, 337
Sbihi, N. 282, 302, 344
Schmidt, W. M. 146, 344
Schnorr, C. P. 146, 344
Schnberg, I. J. 35
Schnheim, J. 334, 344
Schrader, R. 65, 344
Schrijver, A. 1, 13, 65, 107, 159, 193, 199,
218, 252, 253, 259, 274, 275, 283, 285, 324,
326, 337, 338, 344
Serre, J.-P. 335
Seymour, P. D. 200, 250, 259, 261, 262, 267,
268, 275, 282, 337, 339, 343, 344, 345
Shamir, A. 221
Shannon, C. E. 199, 335
Sheehan, J. 335
Shisha, O. 340
Shmoys, D. 338, 343
Shor, N. Z. v, 56, 65, 94, 345
Sieveking, M. 45, 155, 337
Smale, S. 42, 345
Sonnevend, G. 66, 345
Specker, E. 337
Spencer, T. 243, 247, 336
Steiglitz, K. 236, 239, 343
Stoer, J. 1, 345
Strang, G. 1, 345
Strassen, V. 40, 337, 345
Strazicky, B. 345
Suranyi, J. 280, 338
Szeg, G. 93, 343
Szemeredi, E. 344
Szelezsan, J. 345
Tarasov, S. P. 181, 340
Tardos, E. vi, vii, 158, 168, 169, 189, 190,
198, 238, 335, 345
Tarjan, R. E. 237, 242, 243, 246, 247, 274,
281, 332, 337, 339, 344, 345
Thatcher, J. W. 340
Thomassen, C. 236, 345
Tismenetsky, M. 1, 341
Todd, M. J. 65, 71, 72, 82, 94, 107, 248, 332
Tomlin, J. A. 66, 337
Trotter, L. E J r. 45, 281, 301, 302, 334,
337, 342, 345
Truemper, K. vii, 201, 275, 282, 336, 342,
345
Tucker, A. W 339
Tutte, W. T. 25, 204, 206, 208, 222, 251, 255,
256, 258, 259, 346
Uhry, J. P. 250, 274, 281, 332, 335
Ullman, J . D. 21,331
Vazirani, V. V. 255, 342
Veinott, A. F. 334, 336
Vial, J. P. 66, 337
Vizing, V. G. 209, 346
Wakabayashi, Y. vii
Warshall, S. 235, 346
Welsh, D.J . A. 211, 346
Werra, D. de 281, 333
Whitesides, S. H. 281, 346
Whitman, D. 236, 337
Wilf, H. 280, 344
Wilson, R. J. 341
Witzgall, C. 1, 345
Wolsey, L. A. 217,311, 342, 343
Wright, M. H. 66, 337
Yakovleva, M. A. 238, 241, 346
Yamnitski, B. 65, 104, 346
Yannakakis, M. 267, 339
Yao, A. C. 247, 346
Younger, D. H. 251, 252, 253, 254, 321, 342
Yu, C. S. 302, 331
Yudin, D. B. v, 65, 94, 104, 107, 113, 346
Zaw Win vii
Zuckerman, H. S. 134, 342
Subject Index
Boldface numbers refer to pages on which items are introduced.
absolute error 34
acyclic digraph 20
acyclic subgraph problem253
adjacency on a polyhedon 183
adjacent 17
affine combination 3
affine hull 3, 182-184
affine rank 3
affine subspace 3
affinely (in)dependent 3
algorithm22, 22-23
almost bipartite graph 274
antiblocker (of a hypergraph) 284
antiblocker (of a convex set) 11, 130-131,
188,283
antidominant 11
approximation of numbers 29-36
approximation problem, best 134, 137
, diophantine 133-156,134, 168-170
, simultaneous diophantine 138, 138
139, 146-156, 168-170
arborescence 20, 201-203, 218, 242, 242-247
arborescence packing problem246
arborescence, rooted 20, 201, 242
arc 18
arithmetic model 32
assignment problem, optimal 232, 232-233
ball of radius e around K 6
ball of radius e with center a 6
basic ellipsoid method 73-86, 75
basic feasible index set 41
basic feasible solution 10
basic optimum dual solution of a linear pro-
gram185
basic solution 10
basis 9
basis of a lattice 139
basis of a set in a matroid 211
basis, reduced 142, 142-146
basis reduction 139-156, 220
beginning state 22
best approximation problem134, 137
binary search method 28
bipartite graph 18, 200, 204, 208-210,
229-233, 273-274, 279, 305
bipartite planar graph, nearly 274, 274275
bipartition 18
block 19
blocker of a set 11, 130-131, 188, 225-229
blocker of a hypergraph 225, 225-229
blow-up parameter 82
b-matching 46, 257, 257-259, 265
b-matching polytope 257
bounded set 9
branching 20, 245, 245-247
bridge 19
cactus 274
capacitated ^-matching 258
capacitated (Hitchcock-Koopmans) transpor-
tation problem232
capacitated spanning tree packing problem
251
capacitated weighted (perfect) b-matching
problem258
Caratheodory's theorem10
Cauchy-Schwarz inequality 8
ceiling 2
center of a wheel 300
center of an ellipsoid 67
centered convex set 53
central cut 72
central-cut ellipsoid method 86-94, 87
centrally symmetric set 123
centrally symmetric parallel cuts 72
characteristic polynomial 4
Chinese postman problem262
chord 19
chordal graph 280
chromatic index 208
circuit 19
circuit, odd 19, 272-276
circuit problem21
circuit-constrained stable set polytope 275
circulation 241
circumscribed convex set 53
claw 18
claw-free graph 302
clique 18, 229, 272-303
clique constraint 276, 276-298
clique covering 18
clique covering number 229, 277-279, 296-
298
clique number 229
clique tree 264, 264-265
clique tree inequality 265
clique-constrained stable set polytope 283
closed walk 20
clutter 225
color classes 18
coloring 18
coloring, edge 208-210, 229
coloring number 229, 277-279, 296-298
column sum norm 7
column vector 1
combination, affine 3
, conic 3
, convex 3
, linear 3
, proper 3
commodity 266
comparability graph 280
compatible norm 7
complement of a graph 18
complementary problem25
complementary slackness theorem15
complete bipartite graph 18
complete graph 18
complexity, space 23-24
complexity theory 21-36
complexity, time 23-24
component of a graph 19
cone 3
conformal clutter 284
conic combination 3
conic hull 3
connected graph 19
connected nodes 19
continued fraction 134-137,135
continued fraction expansion 135
contraction in a graph 17
contraction in a matroid 212
convergent 135
convex body 53
convex combination 3
convex function 49, 55-56, 188
convex function minimization problem55, 56
convex hull 3
convex set 3 , 46-132
cross-free 323
crossing family 315, 315-324
crossing of two sets 244, 323
crypto-analysis 221
cut 17, 198, 201, 247-254
cut, directed 19, 239, 251, 251-254, 321
, odd 205, 207-208, 256, 256-257, 329
, rooted 19, 197-203, 201, 242-247, 251-
254, 305
, separating r froms 197-201, 198, 237-
242, 248-252
cut polytope 248-249
cycle, even 236
, odd 235-236
decision problem24
deep cut 72
deep-cut ellipsoid method 83
degree 17,18
deletion in a matroid 212
deletion of a node set 17
deletion of an edge set 17
determinant 2, 30-31, 40
diameter 6, 126
diconnected digraph 19
dicut 19, 239, 251, 251-254, 321
dicut covering 251, 251-254, 321
dicut packing problem251
dicycle 19
digraph 18, 18-20
dijoin 251, 251-254, 321
dijoin packing problem251
dilatation parameter 82
Dilworth truncation 320
Dilworth's theorem240
dimension 3
diophantine approximation problem 133-156,
134, 168-170
diophantine approximation problem, simulta-
neous 138, 138-139, 146-156, 168-170
diophantine equations, linear 11-12, 45, 155-
156
diophantine inequalities problem, linear 11-
14,192, 192-196
dipath 19
dipath, longest 240
dipath, shortest 234^236
directed cut 19, 239, 251, 251-254, 321
directed cycle19
directed cycle packing problem254
directed graph 18
directed path 19
directed walk 19
distance 5
diwalk 19
dominant 11, 226
down-monotone 11
d-simplex 10
dual basis of a lattice 151
dual lattice 150
dual program15
dual solution 185, 185-188, 189-192
duality, linear programming 15
duality theorem15
edge 17
edge coloring 208, 208-210, 229
edge coloring number 208, 230
edge covering 229, 229-233, 259
edge covering number 229
edge covering polytope 259
edge of a hypergraph 225
Edmonds' disjoint arborescence theorem 246
Edmonds' perfect matching polytope theorem
205
eigenvalue 4
eigenvector 4
elementary arithmetic operation 32
elementary column operation 43
elimination, Gaussian 36-40
ellipsoid 66, 66-72
ellipsoid method 64, 64-101
ellipsoid method, basic 73-86
, central-cut 86-94
, shallow-cut 94-101
ellipsoidal norm 5
encoding 23
encoding length 23, 29-31, 30, 32
encoding length of a convex set 54
a lattice 151
a linear program30
a number 30
a polyhedron 136
an inequality (system) 30
encoding scheme 22, 23
end state 22
endnode 17, 19
equations, linear 11-12, 36-40
, linear diophantine 11-12, 45, 155-156
Euclidean distance 5
Euclidean norm 5
Eulerian digraph 19
Eulerian ditrail 19
Eulerian graph 19
Eulerian tour 19
Eulerian trail 19
even circuit 19
even cycle 236
expansion parameter 82
extended polymatroid 306, 306-324, 316
extremal ray 184
face 9
facet 9
facet-complexity 163, 163-165
family, crossing 315, 315-324
, intersecting 315, 315-324
, lattice 313, 313-319, 325-329
, ring 313, 313-319, 325-329
Farkas lemma 12
feasible solution 15
feedback arc set 253, 253-254
floor 2
flow 197, 197-201, 233-242
flow, minimum-cost 238-242
, multicommodity 266-271
, multiterminal 249
flow value 197
flow-equivalent 249
forest 20
forest polytope 216, 216-217
Frobenius' marriage theorem204
Frobenius norm 8
Fulkerson's optimum arborescence theorem
243
full column rank 3
full row rank 3
full-dimensional 3
fully polynomial approximation algorithm
(scheme) 35
function, convex 49, 55-56, 188
function minimization, odd submodular 325-
329
, submodular 310, 310-311, 315, 316,
325-329
function, submodular 304 , 304-308
, support 49
gain, maximum 241
Gallai graph 281
y-polar 180
gamma-function 68
Gaussian elimination 36-40
general Euclidean norm 5
geometry of numbers 138-156
Gomory-Hu tree249
Gram-Schmidt orthogonalization 40
graph 16-18, 17
greedy algorithm212, 212-213, 246, 306-308
Hadamard inequality 8
half-integer multicommodity flow problem
267
halfspace 9
Hamiltonian circuit 19
Hamiltonian circuit problem21
Hamiltonian digraph 19
Hamiltonian graph 19
Hamiltonian tour 19
handle 264
head 18
Hermite normal form43, 43-45, 155, 155-156
(Hitchcock-Koopmans) transportation prob-
lem232
homogenization, 1- 185
h-perfect graph 299
hull, affine 3, 182-184,
, conic 3
, convex 3
, linear 3
hypergraph 225
hyperplane 9
ideal in a partially ordered set 314
identity matrix 2
incidence vector 1
incident 17
incident from18
incident to 18
indegree 18
independence testing, linear 40
independent set of a matroid 211
induced graph 17
inequalities, linear 9-13, 41-43, 49, 75, 189
191
inequalities problem, linear diophantine 11-
14, 192, 192-196
inequality system 9-11, 75
initial endnode 18
inner product 2
inner radius 53
input of a problem22
input size23, 30
instance of a problem21, 22
integer linear programming 15-16, 192-196
integer linear programming problem16
integer multicommodity flow problem267
integral optimization over extended polyma-
troids 309
integral polyhedron 200
interior e-ball of K 6
internal node 19
intersecting family 315, 315-324
intersection of convex sets 129-131, 188
intersection of two matroids 214, 214-218,
306, 310
interval graph 279
inverse matrix 40
isolated node 17
isthmus 19
join, T- 259, 259-262
Karmarkar's method 65-66
k-connected graph 19
Knig's edge coloring theorem209
Knig's edge covering theorem230
Knig's matching theorem230
laminar 317
lattice 139, 139-156
lattice family 313, 313-319, 325-329
lattice vector problem, nearest 141
, shortest 140, 143
leading principal submatrix 2
length 19, 23
line graph 18, 279, 302
line perfect graph 281
lineality space 10, 183
linear combination 3
linear diophantine equations 11-12,45, 155-
156
linear diophantine inequalities problem 11-
14, 192 , 192-196
linear equations 11-12, 36-40
linear form problem, small 139, 147
linear hull 3
linear independence testing 40
linear inequalities 9-13, 41^43, 49, 75, 189-
191
linear program14
linear programming 14-16, 41-43, 49, 180,
188,192
linear programming duality 15
linear programming, integer 15-16, 192-196
linear programming problem14
linear subspace 3
linearly (in) dependent 3
longest branching problem245
longest dipath problem240
lower integer part 2
Lwner-J ohn ellipsoid 69, 69-73, 122-127
L-perfect graph 299
LP-relaxation 16
Lucchesi-Younger theorem252
matching 17, 203-208, 229, 229-233, 253-254,
305
matching, 1-17
, b- 46, 257, 257-259, 265
matching number 229
matching polytope 204-206, 255, 255-256
, b- 257
matching problem255
matrix 2
matrix norm 7, 7-8
matroid 210-218, 211, 305-306, 311-313
matroid intersection 214, 214-218, 306, 310
matroid polytope 213, 213-218
max-flow min-cut property 226, 226-229, 252
max-flow min-cut theorem199, 237
maximum cut problem249
maximum degree 230
maximum degree problem209
maximum flow problem197, 236
maximum norm 5
maximum potential problem234
maximum (r, s)-cut problem239
maximum (r, s)-dicut problem239
maximum (r, s)-flow problem197, 236
maximum-gain flow problem241
max-potential min-work theorem234
membership oracle 54
membership problem, strong 48, 48-50, 170-
174
, weak 51, 51-55, 56-58, 61-63, 102-122,
128-132, 170-174
Menger's theorem238
Meyniel graph 281
minimal face 183
minimization of a submodular function 310,
310-311,315,316,325-329
minimum basis problem140
minimum cut problem247, 248
minimum degree 230
minimum dicut problem251
minimum dijoin problem251
minimum feedback arc set problem253
minimum multicommodity cut problem267
minimum odd cut problem257
minimum potential problem240
minimum rooted cut problem245
minimum (r, s)-cut problem237
minimum (r,s)-flow problem239
minimum spanning tree problem247
minimum strongly connected subdigraph
problem247
minimum weighted clique covering problem
296, 296-298
minimum weighted coloring problem296,
296-298
minimum weighted perfect matching problem
204
minimum weighted T-cut problem207, 258
minimum weighted T-join problem260
minimum-cost circulation problem241
minimum-cost flow problem238, 238-242
min-potential max-work theorem240
multicommodity cut 267
multicommodity cut packing problem267
multicommodity flow problem266, 266-271
multicommodity path 267
multiterminal flow problem249
name of a convex set 53
named convex set 53
nearest lattice vector problem141
nearly bipartite planar graph 274
neighbor 17
network flow problem 197-201, 233-242, 234
network synthesis problem248
node 17,18
node covering 229, 229-233
node covering number 229
node of a hypergraph 225
nondeterministic polynomial time algorithm
24-26, 25, 56-63
nonemptiness problem, strong 47, 47-48, 75,
171, 173-178
, weak 51, 51-53, 171
nonsingular matrix 3
norm 5, 5-8, 125-126, 148
normal form, Hermite 43-45, 155-156
NP-complete 28, 29
NP-easy 29
NP-equivalent 29
NP-hard 29
objective function 15
odd antihole inequality 301
odd circuit 19, 272-276
odd circuit constraints 273
odd cut 205, 207-208, 256, 256-257, 329
odd cut constraints 205
odd cycle 235-236
odd submodular function minimization 325-
329
odd wheel constraints 300, 300-301
optimal assignment problem232, 232-233
optimal solution 15
optimization oracle 55
optimization over extended polymatroids 309
optimization over intersections of extended
polymatroids 310
optimization over polymatroids 309
optimization problem, strong 47, 47-50, 162
163, 171-172, 179-180, 191-192
, weak 50, 50-53, 102-122, 170-174, 173
optimum dual solution 185, 185-188, 189-192
oracle 26-29, 27
oracle algorithm26
oracle tape 26
oracle-polynomial time algorithm27, 54
order of a graph 17
origin 19
orthogonal 8
orthogonalization, Gram-Schmidt 40
orthonormal representation 285, 285-296
orthonormal representation constraint 285
outdegree 18
outer radius 53
output of a problem22
parallel edges 17
parallel cuts 72
parallelepiped 8
parity graph 281
Parthasarathy-Ravindra graph 282
partially ordered set 240-241, 280
partition matroid 211
path 19
pentagon 19
perfect ^-matching 257
perfect ^-matching polytope 257
perfect graph 276, 276-298
perfect graph, h- 299
, SB- 299
, t- 272-276, 273
perfect matching 17, 203, 203-208, 230-233,
255-259
perfect matching polytope 205
perfectly orderable graph 281
permutation graph 280
piece wise linear function 188
pivot element 36
pivoting 36-45
pivoting rule42
planar graph 18
pointed polyhedron 9
polar 11, 131, 188
polar cone 11
polar, y- 180
polyhedral cone 9
polyhedral function 188
polyhedron 9, 9-11
polymatroid 304^324, 306, 316
polymatroid, extended 306, 306-324, 316
polymatroid intersection theorem316
polynomial approximation algorithm
(scheme) 35
polynomial computation algorithm with ab-
solute (relative) error 34
polynomial space algorithm24
polynomial time algorithm24, 27, 54
, strongly 32, 32-33, 188-192, 189,
238
-, nondeterministic 24-26, 25, 56-63
polynomial time Turing reduction 28
polynomial transformation 27
polynomially computable from a given input
34
polynomially computable with absolute (rela-
tive) error 34
polytope 9
positive definite matrix 4
positive semidefinite matrix 4
potential 234, 234^235, 240
power set 2
predecessor 18
primal program15
principal submatrix 2
problem21, 21-22
Q
+
-max-flow min-cut property 226, 226-229
Q+-MFMC property 226, 226-229
quasi parity graph 283
rank of a matrix 3, 40
rank of a matroid 211
r-arborescence 201, 242
r-arborescence problem, shortest 201, 201-
203, 242, 242-243
ray, extremal 184
r-cut 19
realization of an oracle 26
recession cone 10, 178
recognition problem279
reduced basis 141-146,142
reduction, basis 139-156
relative error 34
removal of a node set 17
removal of an edge set 17
ring family 313, 313-319, 325-329
root of a digraph 19, 201, 242
root of a matrix 4
rooted arborescence 20, 201, 242
rooted cut 19, 201
rooted cut packing problem243
row sum norm 7
(r,s)-cut 198
(r,s)-dicut 239
running time function 23, 24
scheme, fully polynomial approximation 35
, polynomial approximation 35
separating cut 207
separation from extended polymatroids 309
separation oracle55
separation oracle of a lattice 151, 151-154
separation problem, shallow 94-101
, strong 48, 48-50, 170-181
, weak 51, 51-53, 55, 57-58, 62, 102-122,
128-132, 170-174
series-parallel graph 273
shallow -cut 98
shallow /^-separation oracle 98
shallow cut 72, 95, 96
shallow separation problem 94-101
shallow separation oracle 95, 101
shallow-/?-cut ellipsoid method 98
shallow-cut ellipsoid method 83, 94-101, 96
shortest arborescence problem245
shortest circuit problem22
shortest (di)path problem234, 234-236
shortest lattice vector problem140, 143
shortest multicommodity path problem267
shortest odd cycle problem235
shortest r-arborescence problem201, 242
simple graph 17
simplex 10
simplex method 41-43, 64-66
simultaneous diophantine approximation
problem138, 138-139, 146-156, 168-170
singular matrix 3
size23, 30
sliding objective function technique 107
small linear form problem139, 147
SMEM 48
SNEMPT 47
solution of a problem21, 21-22
SOPT 47
space complexity function 24
spanning arborescence 20
spanning tree 20
spanning tree packing problem251
spectral norm 7
split graph 281
splitter 327
SSEP 48
stability number 229, 229-233, 272-303
stable set 18, 229, 229-233, 272-303
stable set polytope 272, 272-303
standard form of a linear program 41
standard representation of a polyhedron 9
star 18, 209
state 23
[s,r]-cut 17,19
(s, t)-cut 19
(M)-diwalk 19
step parameter 82
strong connector 252, 252-253
strong cut 252
strong membership problem 48, 48-50, 170-
174
strong nonemptiness problem 47, 47-48, 75,
172, 173-178
strong optimization problem 47, 47-50, 162,
162-163, 171-172, 179-180, 191-192
strong perfect graph conjecture 279
strong separation problem 48, 48-50, 170-181
strong unconstrained convex function mini-
mization problem 55
strong validity problem 47, 47-50, 170-172
strong violation problem 47, 47-50, 170-172,
179-180
strongly connected digraph 19
strongly connected subdigraph 247, 252-253
strongly perfect graph 282
strongly polynomial time algorithm 32, 32-
33, 188-192, 189, 238
strongly r-perfect graph 274, 274-275
[s, t]-walk 19
submodular circulation 320
submodular function 304, 304-308
submodular function minimization 310, 310-
311,315,316,325-329
submodular on crossing pairs 315
submodular on intersecting pairs 315
submultiplicative norm 7
subordinate norm 7
subset sum problem 218-221, 219
subtour elimination constraints 263
successor 18
succinct certificate 25
sum of two sets 128, 188
supply-demand theorem 233, 305
support function 49
SVAL 47
SVIOL 47
symmetric difference 2
symmetric matrix 4
system of (linear) equations 9
system of (linear) inequalities 9
tail 18
tape 22
T-cut 207, 207-208, 257-262, 259, 263
T-cut packing problem 260
TDI 16
terminal endnode 18
terminus 19
^-extremal 58
MiullofF 58
time complexity function 23, 23-24, 27
T-join 259, 259-262
T-join packing problem 260
tooth 264
total value of a multicommodity flow 266
totally dual integral 16
totally primal integral 16
totally unimodular matrix 199, 199-201, 282-
283
tough ellipsoid 96
tour 19
r-perfect graph 273, 273-276
TPI 16
trace 2
trail 19
transportation problem 232, 232-233
transposition 2
traveling salesman problem 22, 46, 262, 262-
265
tree 20,247-251,311-313
tree, Gomory-Hu 249
triangle 19
triangle inequality 5
triangulated graph 280, 302
r-tape /c-oracle Turing machine 26
Turing machine 22, 22-23, 26
Turing reduction 28
Tutte-Berge theorem 255
Tutte's perfect matching theorem 204
Tutte-set 206
uncrossing technique 244
underlying graph 18
unimodular graph 281, 281-282
union of convex sets 129, 188
unit ball 6
unit vector 2
up-monotone 11
upper integer part 2
valid inequality 9
validity oracle 55
validity problem, strong 47, 47-50, 170-172
, weak 51, 51-53, 55, 57-58, 62-63, 102-
122, 128-132, 170-172
vertex 9
vertex of a polyhedron 181, 183, 184, 190-192
vertex-complexity 163, 163-165
violation oracle 55
violation problem, strong 47, 47-50, 170-172,
179-180
, weak 50, 51-53, 55, 57-58, 61-62, 102-
122, 128-132, 170-172
volume 8, 126
walk 19
weak constrained convex function minimiza-
tion problem 55
weak membership problem 51, 51-55, 56-58,
61-63, 102-122, 128-132, 170-174
weak membership probleme CO-JVW 57
weak membership probleme JfgP 56
weak nonemptiness problem 51, 51-53, 171
weak optimization problem 50, 50-53, 102-
122, 170-174, 173,
weak separation problem 51, 51-53, 55, 57-
58, 62, 102-122, 128-132, 170-174
weak separation problem G J/& 57
weak validity problem 51, 51-53, 55, 57-58,
62-63, 102-122, 128-132, 170-172
weak validity probleme CO-JY& 57
weak validity problem e JfgP 57
weak violation problem 50, 51-53, 55, 57-58,
61-62, 102-122, 128-132, 170-172
weak violation problem e JT& 57
weakly triangulated graph 282
weighted (perfect) b-matching problem257
weighted (perfect) matching problem255, 256
well-bounded convex set 53
well-characterized problem 25
well-described lattice 151
well-described polyhedron 163
wheel constraint 300
width 6, 125
WMEM 51
WNEMPT 51
YVOPT50
WSEP 51
WVAL 51
WVIOL 51
Z+-max-flow min-cut property 227, 227-229,
252
Z+-MFMC property 227, 227-229, 252

You might also like