Geometric Algorithms and Combinatorial Optimization
Geometric Algorithms and Combinatorial Optimization
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
|
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
<w,
A
. 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
->R in
a natural way:
(10.1.3) P
f
:={xeR
, 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 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
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
:
(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
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