Combinatorial PDF
Combinatorial PDF
401-4904-00 FS 2018
Rico Zenklusen
Contents
1 Polyhedral descriptions: basic ideas and examples 2
1.1 Polyhedral descriptions: What is it and why care? . . . . . . . . . . . . . . 2
1.2 How to find an inequality-description of PF ? . . . . . . . . . . . . . . . . . 4
1.3 Bipartite matching polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Quick recap of total unimodularity . . . . . . . . . . . . . . . . . . . 5
1.3.2 Proving (iii) using total unimodularity (TU-ness) . . . . . . . . . . . 5
1.3.3 Proving (iii) by disproving existence of fractional extreme points . . 6
1.3.4 Some nice implications coming from the inequality-description of PM 8
1.4 Polyhedral descriptions of short s-t paths . . . . . . . . . . . . . . . . . . . 9
1.5 Spanning tree polytope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 The r-arborescence polytope . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7 Non-bipartite matchings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Combinatorial uncrossing 16
2.1 Integrality of spanning tree polytope through uncrossing . . . . . . . . . . . 16
2.2 Integrality of the dominant of the r-arborescence polytope . . . . . . . . . . 19
2.3 Upper bound on number of edges of minimally k-edge-connected graphs . . 21
3 Ellipsoid Method 24
3.1 From checking feasibility to optimization over {0, 1}-polytopes . . . . . . . 32
3.2 The non-full-dimensional case . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Example applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 The other way around: from optimization to separation . . . . . . . . . . . 37
1
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
P
max / min w(F ) := e∈F w(e)
(1)
F ∈ F
Some examples:
2. Shortest s-t path problem. Given is a undirected or directed graph G = (V, E),
two vertices s, t ∈ V , and a length function ` : E → Z≥0 .
• N = E,
• F are all subsets of edges corresponding to s-t paths.
• Objective: minimize w = `.
2
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
where for any set X ⊆ Rn , conv(X) ⊆ Rn is the convex hull of X, i.e., the unique smallest
convex set containing X. We recall that for a set X ⊆ Rn , the convex hull conv(X) of X
can be described by all convex combinations of points in X, i.e.,
( k
k
)
X X
conv(X) = λi xi k ∈ Z>0 , xi ∈ X and λi ∈ R≥0 ∀i ∈ [k] and λi = 1 .
i=1 i=1
max / min wT x
(3)
x ∈ PF
The main problem of this approach is that the description of PF given by (2) refers to
all sets in F, which are typically exponentially (in n := |N |) many. Problems where |F| is
small are often not that interesting. In particular, if |F| = O(poly(n)), then one could try
to solve the combinatorial optimization problem efficiently by simply checking all feasible
solutions. Of course, such an approach would still require to have a method to enumerate
all feasible solutions.
Our goal is to get an inequality-description of PF , i.e., write PF as PF = {x ∈ RN |
Ax ≤ b}. This has many advantages:
• Often, PF only has O(poly(n)) facets, even though it has 2Ω(n) vertices, i.e., feasible
solutions. In this case, PF can be described compactly by its facets.
→ Think about P = [0, 1]n . P has 2n vertices but only 2n facets:
P = {x ∈ Rn | 0 ≤ xi ≤ 1 ∀i ∈ [n]},
• One good description of PF allows for optimizing any linear objective function.
→ Combinatorial algorithms are often less versatile. E.g., Edmonds’ blossom shrink-
ing algorithm is a very elegant combinatorial algorithm for finding a maximum
cardinality matching. However, it is hard to generalize this approach to the
weighted case.
• Even when PF has exponentially many facets, a description of them can often be
obtained. If so, we can often still solve the LP efficiently.
→ . . . by using, e.g., the Ellipsoid Method. We will discuss the Ellipsoid Method
later in class, when we talk about the “equivalence” between separation and
optimization.
• An inequality-description of PF is often helpful when trying to solve a related com-
binatorial optimization problem, e.g., the original one with some additional linear
constraints.
3
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Proof of point (ii). We prove (ii) by showing that for any F ⊆ E we have
χF ∈ P ∩ {0, 1}N ⇔ F ∈ M.
We distinguish between F ∈ M and F ∈ 2E \ M.
If F ∈ M then, since F is a matching, we have |F ∩ δ(v)| ≤ 1 ∀v ∈ V . Notice that
|F ∩ δ(v)| = χF (δ(v)). Hence, χF (δ(v)) ≤ 1 ∀v ∈ V , and thus χF ∈ P , as desired.
If F ∈ 2E \ M then, since F is not a matching, there exists a vertex v ∈ V such that
|F ∩ δ(v)| ≥ 2, which can be rephrased as χF (δ(v)) ≥ 2. Hence, χF 6∈ P .
4
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
A is TU ⇔ P = {x ∈ Rn | Ax ≤ b, x ≥ 0} is integral ∀b ∈ Zm .
The definition of total unimodularity as well as Theorem 3 do not provide very useful
means to check that some matrix is totally unimodular. One of the most useful charac-
terization of total unimodularity is the following theorem by Ghouila and Houri.
Theorem 4 (Ghouila-Houri). A matrix A ∈ Rm×n is TU if and only if for every subset
of the rows R ⊆ [m], there is a partition R = R1 ∪ R2 such that for every j ∈ [n],
X X
Aij − Aij ∈ {−1, 0, 1}.
i∈R1 i∈R2
Remark. Since A is TU if and only if AT is TU, one can exchange the roles of rows and
columns in Theorem 4.
P = {x ∈ RE | Ax ≤ b, x ≥ 0},
where A and b are defined as follows. First observe that since P contains one constraint
for each vertex, and one variable for each edges, we have A ∈ RV ×E and b ∈ RV . The
right-hand side of each constraint of P , that is not a nonnegativity constraint, is 1, i.e.,
b = 1, where 1 ∈ RV is the all-ones vector.
The matrix A is the vertex-edge incidence matrix of G, i.e, for every v ∈ V and e ∈ E,
(
1 if v ∈ e,
A(v, e) =
0 if v 6∈ e.
Figure 1 shows two example graphs—one bipartite and the other one not bipartite—with
their corresponding vertex-edge incidence matrices, denoted by A.
5
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
e1 e2 e3 e4 e5 e6 e7
e2 e6 v1 1 1 0 0 0 0 0
v1 v3 v5
v2
1 0 1 0 0 0 0
v3
0 1 0 1 0 1 0
e1 e4 e7 A= v
4
0 0 1 1 1 0 0
e3 e5 v5
0 0 0 0 0 1 1
v2 v4 v6
v6 0 0 0 0 1 0 1
v4 e1 e2 e3 e4 e5
e2 e5 v1 1 1 0 0 0
v2 1 0 1 1 0
v1 e4 v3 A= v
3
0 0 1 0 1
e1 e3 v4 0 1 0 1 1
v2
Figure 1: Example graphs with corresponding vertex-edge incidence matrices.
Notice that the above statement follows by the fact that each of the two sums in the
above expression is either 0 or 1. Thus, their difference is either −1, 0 or 1. This shows
that the criterion of Ghouila and Houri holds for the matrix A, implying that A is totally
unimodular.
6
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
e5
e2 C = {e1 , . . . , e6 }
e1 U
U \C
e3 e4
e6
x = x + · χW1 − · χW2 .
We will show that there is some ρ > 0 such that xρ , x−ρ ∈ P . This contradicts x being
a vertex, or equivalently, an extreme point; indeed, x would be the midpoint of the two
distinct points xρ ∈ P and x−ρ ∈ P . Without loss of generality we only prove xρ ∈ P ; the
statement x−ρ ∈ P reduces to this case by exchanging the roles of W1 and W2 , which can
be done by renumbering the edges on C.
Let
ρ = min{x(e)}.
e∈C
We clearly have ρ > 0 since x(e) > 0 ∀e ∈ U and C ⊆ U . For any v ∈ V , we have
xρ (δ(v)) = x(δ(v)) ≤ 1,
which is true even for any ρ ∈ R. Furthermore, for e ∈ E \ C, we have xρ (e) = x(e) ≥ 0,
and for e ∈ C we have
xρ (e) ≥ x(e) − ρ ≥ 0.
|{z}
≤x(e)
7
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
e2 Q = {e1 , . . . , e4 }
e1 U
U \Q
e3 e4
u v
By definition of ρ, we clearly have ρ > 0 and x−ρ , xρ ∈ [0, 1]E . Consider xρ (reasoning for
x−ρ is identical). For all w ∈ V \ {u, v} we have xρ (δ(w)) = x(δ(w)) ≤ 1. It remains to
show xρ (δ(u)) ≤ 1 and xρ (δ(v)) ≤ 1. W.l.o.g. we only show xρ (δ(u)) ≤ 1, since the roles
of u and v can be exchanged by reversing the path P .
Notice that only one edge of U is adjacent to u since u was chosen to be a leaf vertex
of the forest U . Thus all edges e ∈ δ(u) \ U satisfy x(e) ∈ {0, 1}. However, no edge
e ∈ δ(u) \ U can satisfy x(e) = 1 since this would imply x 6∈ P as x(δ(u)) ≥ x(e) + x(e1 ) =
1 + x(e1 ) > 1. Hence, of all edges e ∈ δ(u), e1 is the only edge with xρ (e) > 0. Thus
xρ (δ(u)) = xρ (e1 ) ≤ 1, since xρ ∈ [0, 1]E . Hence xρ ∈ P .
Thus x can again be expressed as the midpoint of xρ , x−ρ ∈ P with xρ 6= x−ρ and
therefore cannot be a vertex of P . Hence, P is integral, and therefore P = PM .
Proof. Again, one can easily check that P contains the right integral points. Its integrality
follows by observing that P is a face of the matching polytope PM or the empty set, and
hence an integral polytope.
Key property we exploit: the face of any integral polytope is an integral polytope.
This holds since for any face F ⊆ P of a polytope P , any vertex of F is also a vertex of
P.
8
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
where, for v ∈ V , δ + (v) ⊆ A are all arcs going out of v, and δ − (v) ⊆ A are all arcs entering
v. Consider first the integral solutions of P . Notice that the integral solution of P do not
correspond one-to-one to s-t paths. More precisely, each s-t path is an integral solution of
P , however, some integral solutions of P are not s-t paths. More precisely, one can easily
prove (and we leave this as an exercise) that integral vertices in P correspond precisely to
the disjoint union of an s-t path and possibly some additional cycles.
Hence, if we can show integrality of P , then for any positive weights (or lengths)
w : A → Z>0 , a basic solution to min{wT x | x ∈ P } will correspond to a w-shortest s-t
path. Thus, P allows us to efficiently find shortest s-t paths with linear programming
techniques. Notice that even if the weights w are nonnegative instead of positive, i.e.,
w : E → Z≥0 , we can still find a shortest path via linear programming on P . An optimal
vertex solution will correspond to a minimum weight set U ⊆ E that is a disjoint union
of an s-t path and cycles, where all cycles must have zero length by optimality of U . One
can easily show that any s-t path P ⊆ U is a shortest s-t path in G. The same approach
works even if the weights are allowed to have negative value, but have the property of
being conservative, which means that no cycle has strictly negative weights. Conservative
weights cover the classical shortest path settings considered by specialized shortest path
algorithms.
To show integrality of P , we will show that its corresponding constraint matrix is TU.
First observe that P can be rewritten as
P = {x ∈ RA | Dx = b, 1 ≥ x ≥ 0},
where, 1 = χA is the all-ones vector, b ∈ {−1, 0, 1}V is defined by
1 if v = s,
b(v) = −1 if v = t,
0 if v ∈ V \ {s, t},
and D ∈ {−1, 0, 1}V ×A is the vertex-arc incidence matrix of the directed (loopless) graph
G, which is defined as follows: for v ∈ V , a ∈ A:
+
1 if a ∈ δ (v),
D(v, a) = −1 if a ∈ δ − (v),
0 otherwise .
9
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Theorem 8. The vertex-arc incidence matrix D ∈ {−1, 0, 1}V ×A of any directed (loopless)
graph G = (V, A) is TU.
Proof. We apply the Ghouila-Houri characterization to the rows of D. For any subset
R ⊆ V of the rows, we choose the partition R1 = R and R2 = ∅. Since each column of D
has only zeros except for precisely one 1 and one −1, summing any subsets of the elements
of any column will lead to a total sum of either −1,0, or 1. Hence,
X
Dv,a ∈ {−1, 0, 1} ∀a ∈ A,
v∈R1
E[S] = {e ∈ E | e ⊆ S}.
Again, one can easily check that P contains the right integral points, i.e., the {0, 1}-
points in P are precisely the incidence vectors of spanning trees. To check this, the
following definition of spanning trees is useful: A set T ⊆ E is a spanning tree if and only
if |T | = |V | − 1 and T does no contain any cycle. We will prove integrality of the polytope
P in Section 2, using a powerful technique known as combinatorial uncrossing.
The constraints of the spanning tree polytope are often divided into two groups, namely
the nonnegativity constraint x ≥ 0, and all the other constraints which are called spanning
tree constraints.
10
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Theorem 11. The arborescence polytope of a directed loopless graph G = (V, A) is given
by
x(A) = |V | − 1,
P = x ∈ RA
≥0
x(A[S]) ≤ |S| − 1 ∀S ( V, |S| ≥ 2, ,
x(δ − (v)) ≤ 1 ∀v ∈ V.
A polyhedron that is closely related to the arborescence polytope and has a very
elegant description, is the so-called dominant of the arborescence polytope. The dominant
of the arborescence polytope will also provide an excellent example to show how integrality
of a polyhedron can be proven using a technique called combinatorial uncrossing. The
dominant can be defined for any polyhedron.
Notice that the dominant of any nonempty polyhedron is an unbounded set, and
therefore not a polytope, which is bounded by definition.
Apart from sometimes having a simpler description, the dominant of a polytope can
also often be used for optimization. For example, consider the problem of finding a min-
imum weight r-arborescence with respect to some positive arc weights w ∈ ZA >0 . Let P
be the r-arborescence polytope. Then this problem corresponds to minimizing wT x over
all x ∈ P . However, this is equivalent to minimizing wT x over x ∈ dom(P ). Indeed,
any x ∈ dom(P ) can be written as x = y + z, where y ∈ P and z ∈ RA ≥0 . Therefore for
x ∈ dom(P ) to be a minimizer of wT x, we must have z = 0; for otherwise, wT y < wT x
and y ∈ P ⊆ dom(P ), violating that x ∈ dom(P ) minimizes wT x.
We will prove integrality of this polyhedron later, when talking about combinatorial
uncrossing.
11
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Proof. It is easy to check that P contains the right integral points. Thus, it remains to
show integrality of P .
By sake of contradiction assume that there are graphs G = (V, E) for which P is not
integral. Among all such graphs let G = (V, E) be a one that minimizes |V | + |E|, i.e.,
we look at a smallest bad example, and let P be the corresponding polytope as defined
in Theorem 14. Notice that we must have that |V | is even. For otherwise the polytope
P is indeed the perfect matching polytope because it is empty, which follows from the
constraint x(δ(V )) ≥ 1, which is impossible to satisfy since δ(V ) = ∅.
Let y ∈ P be a vertex of P that is fractional. We start by observing some basic
properties following from the fact that we chose a smallest bad example. In particular,
G is connected. For otherwise, a smaller bad example is obtained by only considering
one of its connected components containing a y-fractional edge, which violates minimality
of G. Moreover, there is no 0-edge, i.e., an edge e ∈ E such that y(e) = 0, because
such an edge could be deleted leading to a smaller bad example. Similarly, there is no
1-edge e = {u, v} ∈ E, because in this case there can be no other edge f except for e
that is incident with either u or v, since we would have y(f ) = 0 due to y(δ(u)) = 1
and y(δ(v)) = 1, and we already know that there is no 0-edge. Finally, δ({u, v}) = ∅
implies that G is not connected, because G must contain at least one edge besides e
because there is an edge with fractional y-value. Hence, y is fractional on all edges, i.e.,
y(e) ∈ (0, 1) ∀e ∈ E.
Since y is a vertex of P it can be defined as the unique solution to |E| linearly inde-
pendent constraints of P that are y-tight, i.e., tight for the point y. If it is clear from the
context, we also often just talk about tight constraints. P has three types of constraints:
degree constraints (x(δ(v)) = 1 for v ∈ V ), cut constraints (x(δ(S)) ≥ 1 for S ⊆ V, |S|
odd), and nonnegativity constraints (x(e) ≥ 0 for e ∈ E). Notice that none of the non-
negativity constraints are tight since y > 0. Hence, y is the unique solution to a full-rank
linear system of the following type:
x(δ(v)) = 1 ∀v ∈ W,
(5)
x(δ(S)) = 1 ∀S ∈ F,
12
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
which shows that there is a linear dependence within the degree constraints.
Case F 6= ∅: Let S ∈ F. As discussed, we have |S| > 1 and |V \ S| > 1. We consider
two graphs, G1 = G/S and G2 = G/(V \ S), which are obtained from G by contracting S
and V \ S, respectively. Contracting S means that we replace all vertices in S by a single
new vertex vS . Furthermore, all edges with both endpoints in S are deleted, and any edge
with one endpoint in S and the other one v ∈ V \ S outside of S is replaced by an edge
between vS and v. Let y1 and y2 be the restriction of y to all non-contracted edges in
G1 and G2 , respectively. One can easily observe that yi ∈ PGi for i ∈ {1, 2}, where PGi
is the polytope as defined by Theorem 14 for the graph Gi . Notice that both graphs G1
and G2 are strictly smaller than G in terms of the sum of their number of vertices and
edges. Since G was a smallest bad example, the two polytopes PG1 and PG2 are therefore
the perfect matching polytopes of G1 and G2 . Hence, we can write yi for i ∈ {1, 2} as a
convex combination of perfect matchings in Gi . In particular, there is some N ∈ Z>0 such
that for i ∈ {1, 2}
N
1 X Mj
yi = χ i, (6)
N
j=1
where Mij is a perfect matching in Gi for i ∈ {1, 2} and j ∈ [N ]. Notice that both
graphs G1 and G2 contain the edges δ(S). More precisely, for both graph G1 , G2 , the set
δ(S) are precisely all edges incident with the vertex representing the contracted set S and
V \ S, respectively. Hence, each perfect matching Mij contains precisely one edge of δ(S).
Furthermore, for i ∈ {1, 2}, each edge e ∈ δ(S) must be contained in precisely N · yi (e)
matchings of the family {Mij }j∈[N ] for (6) to be true. Additionally, since both y1 and y2
are just restrictions of y, they coincide on the edges δ(S). Hence, y(e) = y1 (e) = y2 (e)
for e ∈ δ(S). Thus, for every e ∈ δ(S), there is the same number of perfect matchings in
{M1j }j∈[N ] that contain e as there are perfect matchings in {M2j }j∈[N ] containing e. We
can therefore choose the numberings of those matchings, i.e., the indices j, such that
13
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Proof. As usual, it is easy to check that P contains the right integral points, i.e., P ∩{0, 1}E
are all incidence vectors of matchings in G. Let x ∈ P . We have to show that x is a convex
combination of matchings. We use the following proof plan. We will define an auxiliary
graph H = (W, F ) that extends G, and we will also extend x to a point in y ∈ [0, 1]F ,
which we can show to be in the perfect matching polytope of H using Theorem 14. Hence,
y can be written as a convex combination of perfect matchings of H. From this convex
decomposition we then derive that x is a convex combination of matchings of G.
We start by constructing the auxiliary graph H = (W, F ). Let G0 = (V 0 , E 0 ) be a copy
of G = (V, E), i.e., for every vertex v ∈ V there is a vertex v 0 ∈ V 0 and for every edge
e = {u, v} ∈ E there is an edges e0 = {u0 , v 0 } ∈ E 0 . We define H = (W, F ) to be the
disjoint union of G and G0 , where we add all edges of the type {v, v 0 } for v ∈ V . More
formally,
W = V ∪ V 0,
F = E ∪ E 0 ∪ {{v, v 0 } | v ∈ V }.
y(e) = x(e) ∀e ∈ E,
y(e0 ) = x(e) ∀e ∈ E,
0
y({v, v }) = 1 − x(δ(v)) ∀v ∈ V.
y(δH (Q)) = y(δH (Q) ∩ E) + y(δH (Q) ∩ E 0 ) + y(δH (Q) ∩ {{v, v 0 } | v ∈ V }).
| {z } | {z } | {z }
=I =II =III
I = x(δ(A)),
II = x(δ(B)),
X X
III = (1 − x(δ(v))) + (1 − x(δ(v)))
v∈A\B v∈B\A
Furthermore,
14
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
where for S1 , S2 ⊆ V , the set E(S1 , S2 ) ⊆ E are all edges in G with one endpoint in S1
and the other in S2 . Combining the above, we obtain
where the first inequality follows by observing that every edges {u, v} ∈ E[S] appears twice
in the middle term: once in δ(u) and once in δ(v). Furthermore, the second inequality
follows by x(δ(v)) ≤ 1 ∀v ∈ V , which holds since x ∈ P .
Notice that
|Q| = |A \ B| + |B \ A| + 2|A ∩ B|.
Hence, since |Q| is odd, either |A \ B| or |B \ A| must be odd. Without loss of generality
assume that |A \ B| is odd. As x ∈ P , we have
|A \ B| − 1
x(E[A \ B]) ≤ . (9)
2
We finally obtain
thus implying that y is in the perfect matching polytope of H. Hence, y can be written
as a convex combination of perfect matchings in H, i.e.,
k
X
y= λi χMi ,
|{z}
i=1
∈{0,1}F
Pk
where k ∈ Z>0 , λi ≥ 0 for i ∈ [k], i=1 λi = 1, and Mi ⊆ F for i ∈ [k] is a perfect
matching in H = (W, F ). Since x is the restriction of y to the edges in E, we get
k
X
x = y|E = λi χMi ∩E ,
| {z }
i=1
∈{0,1}E
where we use the characteristic vector notation χ in the equation above with respect to
the ground set E instead of F , i.e., χMi ∩E ∈ {0, 1}E . Thus, x is a convex combination of
the matchings M1 ∩ E, . . . , Mk ∩ E in the graph G. This proves that P is contained in the
matching polytope. Furthermore, since P contains the correct integral points, it contains
the matching polytope. Hence, P is the matching polytope.
15
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
2 Combinatorial uncrossing
Main goal of combinatorial uncrossing in the context of proving integrality of polytopes:
We will show that y is the unique solution to (10). Notice that this will imply integrality
of y since (10) is a TU system with integral right-hand side, as it has the consecutive-ones
property with respect to the rows (see problem sets).
Since the set of all tight spanning tree constraints uniquely defines y, it suffices to show
that any tight spanning tree constraint is implied by (10), i.e.,
We showed in the problem sets in a very general context that (11) is indeed equivalent to
showing that every tight spanning tree constraint is implied by (10).
We start with an important structural property.
16
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
nonnegativity constraints:
e1 e2 e3 e4 e5
1 0 0 0 0 0
0 1 0 0 0
=
0
0 0 1 0 0 y ≥
0
0 0 0 1 0
0
0 0 0 0 1 0
Figure 5: The vector y is the incidence vector of the spanning tree {e1 , e3 , e5 }. Tight
spanning tree constraints (with respect to y) and tight nonnegativity constraints are
highlighted in red. There are 7 tight spanning tree constraints and 2 tight nonnegativ-
ity constraints. Hence, the vertex y of the spanning tree polytope is degenerate since
the total number of tight constraints, which is 9, is strictly larger then the dimension
in which y lives, i.e., 5. Furthermore, the constraint matrix that corresponds to only
the tight constraints is not TU. This can be verified by considering the subsystem of
the tight spanning tree constraints that correspond to the columns e1 , e3 , e5 and the
rows {v1 , v2 , v3 }, {v1 , v3 , v4 }, {v2 , v3 , v4 }, as highlighted in blue in the above figure.
The determinant of this 3 × 3 subsystem is −2.
which implies
χE[A] + χE[B] ≤ χE[A∪B] + χE[A∩B] .
Proof. In words, the equality in the lemma states that any edge e ∈ E appears the same
number of times in the edge sets E[A], E[B], E(A \ B, B \ A) as it appears in the sets
E[A ∪ B], E[A ∩ B]. One can easily check that Lemma (16) holds by verifying the equality
for each coordinate, i.e., each edge, where the edges can be grouped into the following edge
types. The type of an edge is determined by where its endpoints lie among the four sets
A \ B, B \ A, A ∩ B, E \ (A ∪ B). Figure 6 shows the 10 different edge types. Clearly, two
17
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
edges of the same edge type have the same contribution to the left-hand side and right-
hand side of the equality in Lemma (16). Hence, it suffices to check whether each edge
type has the same contribution on each side of the equality, which is easy to observe.
Hence, all inequalities above must be satisfied with equality, thus implying S1 ∪S2 , S1 ∩S2 ∈
F and y(E(S1 \S2 , S2 \S1 )) = 0. Finally, since y > 0, we have that y(E(S1 \S2 , S2 \S1 )) = 0
implies E(S1 \ S2 , S2 \ S1 ) = ∅, as desired.
V \ (A ∪ B)
Figure 6: There are 10 types of edges as shown above. One can easily check that
each type appears precisely the same number of times in E[A ∪ B] and E[A ∩ B] as
it appears in E[A], E[B] and E(A \ B, B \ A).
Notice that for Lemma 17 we need F to contain singleton sets to cover the case
S1 , S2 ∈ F with |S1 ∩ S2 | = 1.
Two sets S1 , S2 ⊆ V are called intersecting if S1 ∩ S2 6= ∅, S1 \ S2 6= ∅, S2 \ S1 6= ∅.
Notice that a family of sets is laminar if and only if no two sets intersect.
18
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Lemma 18. The statement (11) holds and y is thus uniquely defined by the TU sys-
tem (10) and therefore integral.
Proof. Assume by the sake of contradiction that (11) does not hold. Let
Q = span({χE[H] | H ∈ H}) ⊆ RE .
Assuming (11) not to hold is thus equivalent to the existence of S ∈ F with χE[S] 6∈ Q.
Among all tight spanning tree constraints that violate (11), let S ∈ F be one such that
HS = {H ∈ H | S and H intersect}
has smallest size. Notice that HS 6= ∅, for otherwise we could have added S to H with-
out destroying laminarity of H, thus contradicting maximality of H. Let H ∈ HS . By
Lemma 17 we have S ∩ H, S ∪ H ∈ F and
Notice that χE[S] 6∈ Q and χE[H] ∈ Q. Hence, at least one of χE[S∩H] , χE[S∪H] is not
in Q. However, we have
since there is no set in H that intersects any of the two sets S ∩ H or S ∪ H but not S.
Furthermore, the set H intersects S but not S ∩ H or S ∪ H. (See problem sets.) This
contradicts the choice of S.
Let y ∈ P be a vertex of P . As for the spanning tree case, we can assume that the
underlying graph G = (V, A) has no arcs a ∈ A with y(a) = 0, since those arcs can be
removed and the restriction of y to its support is still a vertex in the polyhedron P that
corresponds to the reduced graph. We denote by F ⊆ 2V the set of all y-tight constraints:
Again, the linear system (14) is TU, which can be seen by applying the Ghouila-Houri
criterion with respect to the rows as follows. Consider any subset of the rows, which can
be represented by a laminar subfamily F 0 ⊆ H. We partition this subfamily F 0 into a
’+’ and ’−’ group as follows. The topmost sets of F 0 , i.e., the ones not contained in any
other set of F 0 are in the ’+’ group, their children are in the ’−’ group, and we continue
alternating that way (see Figure 7). One can easily verify that this partition leads to a
19
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
+ +
− + − − −
v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
vector with entries {−1, 0, 1} as desired. TU-ness of (14) also follows from results shown in
the problem sets, where we considered a system x(δ + (S)) for S being part of an arbitrary
laminar family. The system (14) easily reduces to this case by reversing the directions of
the arcs.
Hence, it remains to show that every constraint of (13) is implied by (14).
Proof. This proof can be done analogously to the proof of Lemma 16, by considering all
different arc types.
Hence, all inequalities above must be satisfied with equality, thus implying S1 ∪S2 , S1 ∩S2 ∈
F and y(A(S1 \ S2 , S2 \ S1 )) = y(A(S2 \ S1 , S1 \ S2 )) = 0. Finally, since y > 0, we have
A(S1 \ S2 , S2 \ S1 ) = A(S2 \ S1 , S1 \ S2 ) = ∅, as desired.
20
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
We are now ready to show that every constraint of (13) is implied by (14). Again, by
sake of contradiction assume that this is not the case. Let S ∈ F be a set such that the
constraint x(δ − (S)) = 1 is not implied by (14), and among all such sets we choose one
such that the number of sets in H that are intersecting with S is minimum. We define
− (H)
Q = span({χδ | H ∈ H}).
− (S)
Hence, S ∈ F satisfies χδ 6∈ Q. Let H ∈ H be a set such that S and H are intersecting.
By Lemma 20 we have
− − − (S∪H) − (S∩H)
χδ (S) + χδ (H) = χδ + χδ .
| {z } | {z }
6∈Q ∈Q
− −
Hence, at least one of χδ (S∪H) and χδ (S∩H) is not in Q. Since both S ∪ H and S ∩ H are
intersecting with a strictly smaller number of sets in H than S, this contradicts the choice
of S and finishes the proof, implying that each constraint of (13) is implied by (14).
v1 v2 v3 vn−1 vn
k parallel edges
21
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Lemma 22. Let G = (V, E) be a minimally k-edge-connected graph. Then |E| ≤ k · (|V | −
1).
|S1 ||S1 | + |S2 ||S2 | > |S1 ∪ S2 ||S1 ∪ S2 | + |S1 ∩ S2 ||S1 ∩ S2 |. (16)
22
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
family, in which case also the size of the family decreases. In any case, the potential strictly
decreases after each uncrossing step. Since the potential is by definition nonnegative for
any certifying family and decreases by at least one unit at each step, the uncrossing
procedure must stop. Hence, there are no two intersecting sets in the final certifying
family L, and thus, L is laminar. Recall that a laminar family (not containing the empty
set) on a ground set of size n may still have up to 2n − 1 sets. Notice that since L is a
laminar family over the set V \ {r}, which has size n − 1, we actually have |L| ≤ 2n − 3.
We further purge the family L to obtain H0 as follows. As long as there is a set L ∈ L such
that the children L1 , . . . , Lk of L in the family L form a partition of L, then we remove the
set L from L. We call this constellation of sets L, L1 , . . . , Lk an obstruction. The resulting
family will still be a certifying family since any edgeScontained in δ(L) is also contained
in precisely one of the cuts L1 , . . . , Lk , i.e., δ(L) ⊆ ki=1 δ(Li ). Let H0 be the resulting
family, which does not contain any obstructions anymore. Notice that H0 is a laminar
family over V \ {r}. Every laminar family H0 on n − 1 elements without obstructions
satisfies |H0 | ≤ n − 1, since for each set H 0 ∈ H0 , there is an element of the ground set,
i.e., a vertex u ∈ V \ {r}, such that H 0 is the smallest set containing u. Thus, H0 can have
at most as many sets as there are elements in V \ {r}, which implies |H0 | ≤ n − 1 and
completes the proof.
23
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
3 Ellipsoid Method
The ellipsoid method is a procedure that can be used to solve in particular linear and, more
generally, convex optimization problems. We will focus on linear optimization problems
with a bounded feasible region, i.e., a polytope, since this is the most important use of
the ellipsoid algorithm in the context of combinatorial optimization. The problem setting
that is considered by the ellipsoid algorithm is the following.
max wT x
(18)
x∈Q
Separation problem
Given a point y ∈ Rn :
• Decide whether y ∈ P , and if this is not the case,
• find a non-zero vector c ∈ Rn such that P ⊆ {x ∈ Rn | cT x ≤ cT y}.
A procedure that solves the separation problem is often called a separation oracle. Fur-
thermore, a hyperplane H = {x ∈ Rn | cT x = α} with cT y ≥ α and P ⊆ {x ∈ Rn | cT x ≤
α} is called a separating hyperplane, or more precisely, a y-separating hyperplane. Notice
that the separation problem as we stated it above asks to find a separating hyperplane that
goes through y. However, any separating hyperplane H = {x ∈ Rn | cT x = α} can easily
be transformed into one that goes through y by considering H 0 = {x ∈ Rn | cT x = cT y}.
The fact that the ellipsoid algorithm is based on a separation oracle and does not
need a facet description allows it to solve in polynomial time many linear programs with
an exponential number of constraints. For example, one can use the ellipsoid method to
optimize any linear function over the matching polytope, and thus, in particular, one can
find a maximum weight matching via the ellipsoid method. The reason for this is that
even though the matching polytope has an exponential number of constraints, one can
construct a polynomial time separation oracle for it.
Additionally to a separation oracle for P , the ellipsoid algorithm also needs an ellipsoid
E0 that contains P . We recall that an ellipsoid is the image of the unit ball under an affine
bijection, which can be defined as follows.
where a ∈ Rn and A ∈ Rn×n is a positive definite matrix. The point a is called the center
of the ellipsoid E(a, A).
24
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
2
a = ( 32 )
1
E(a, A) = E(( 32 ) , ( 40 01 ))
0
0 1 2 3 4 5
The separation oracle for P and the ellipsoid E0 ⊇ P is all that is needed to run the
ellipsoid algorithm and obtain a point x ∈ P . However, to make sure that the ellipsoid
algorithm runs in polynomial time we need a further condition.One sufficient
condition
vol(E0 )
for the ellipsoid algorithm to run in polynomial time is that log vol(P ) is polynomially
bounded in the input. We will see later that this holds for most cases we are interested in.
We will soon give some more details on how to compute Ei+1 . It turns out that there
is a relatively simple way to describe Ei+1 in terms of Ei and c. Unfortunately, as we will
see soon, this description of Ei+1 involves taking a square root, which is an operation that
25
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
E(ai+1 , Ai+1 )
P
ai+1 {x ∈ Rn | cT x = cT ai }
ai
E(ai , Ai )
Figure 10: Illustration of a single iteration of the ellipsoid method. The polytope P
is inside each ellipsoid considered by the ellipsoid method.
Lemma 24.
vol(Ei+1 ) − 1
< e 2(n+1) .
vol(Ei )
Before proving Lemma 24, we observe that it immediately implies an upper bound on
the number of iterations that the ellipsoid algorithm performs.
Lemma 25. The ellipsoid method will stop after at most 2(n + 1) ln vol(E 0)
vol(P ) iterations.
Proof. Let L ∈ Z≥0 be the last iteration of the ellipsoid algorithm. Since EL contains P ,
we must have vol(P ) ≤ vol(EL ) which, combined with Lemma 24, leads to
L
− 2(n+1)
vol(P ) ≤ vol(EL ) ≤ vol(E0 )e ,
and thus
vol(E0 )
L ≤ 2(n + 1) ln .
vol(P )
26
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
In what follows, we will prove Lemma 24 and give an explicit description of the ellipsoid
Ei+1 . Later, we will show how the bound on the number of iterations given by Lemma 25
can be used to prove that the ellipsoid method runs in polynomial time for any {0, 1}-
polytope. For this we will first make the link between checking feasibility of a polytope
and optimizing an LP more explicit.
ρ(x) = Qi Rx + ai ,
where Qi ∈ Rn×n is any matrix such that Ai = Qi QTi , and R is any orthogonal matrix
satisfying RT QTi c = −e1 , where e1 = (1, 0, . . . , 0) ∈ {0, 1}n is the vector with a single one
in the first coordinate and zeros everywhere else.
Then, ρ(E(0, I)) = Ei , ρ(HB ) = Hi , and ρ(EB ) is a minimum volume ellipsoid con-
taining Ei ∩ Hi .
Hence, Lemma 26 shows that to prove Lemma 24, it suffices to consider the unit ball
case cut by the hyperplane HB . Indeed, the ratio between a minimum volume ellipsoid
Ei+1 containing Ei ∩ Hi , and vol(Ei ) = vol(ρ(E(0, I))) is equal to
where the second equality follows by the fact that ρ scales the volumes of all measurable
sets by the same factor.
Also, the lemma provides an explicit transformation ρ that allows for transforming a
minimum volume ellipsoid for this special case into a minimum volume ellipsoid for the
general case. Later, we will use this transformation to give an explicit description of the
center ai+1 and defining matrix Ai+1 for the next ellipsoid Ei+1 = E(ai+1 , Ai+1 ) in the
ellipsoid method.
Notice that cT Ai c = 1 implies kQTi ck2 = 1, and hence, there is an orthogonal matrix
R that maps QTi c to −e1 . (Since an orthogonal transformation does not change lengths,
kQTi ck2 = 1 is necessary for R to exist.)
Proof of Lemma 26. The proof plan is as follows. We start by observing that ρ is a
bijection, ρ(E(0, I)) = Ei , and ρ(Hi ) = HB . Furthermore, applying ρ to any measurable
set changes its volume by a factor that only depends on ρ (a property that is well-known
for affine transformations). From these properties we can interpret the special case with
ball E(0, I) and halfspace HB as the preimage with respect to ρ of the original problem.
Since all volumes are scaled by the same factor, a minimum volume ellipsoid in the special
case thus corresponds to a minimum volume ellipsoid for the original problem.
27
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
ρ(HB ) = {ρ(x) | x ∈ Rn , x1 ≥ 0}
= {Qi Rx + ai | x ∈ Rn , x1 ≥ 0}
= {y ∈ Rn | (R−1 Q−1 T
i (y − ai )) e1 ≥ 0} (y = Qi Rx + ai )
n
= {y ∈ R | (y − ai ) T
(Q−1 T
i ) Re1 ≥ 0} (R−1 = RT by orthogonality of R)
= {y ∈ Rn | −(y − ai ) c ≥ 0}
T
(RT QTi c = −e1 )
= {y ∈ Rn | cT y ≤ cT ai }
= Hi .
Notice that the above relations combined with EB ⊇ E(0, I) ∩ HB imply that ρ(EB )
is indeed an ellipsoid that contains ρ(E(0, I)) ∩ ρ(HB ) = Ei ∩ Hi . It remains to show that
ρ(EB ) has minimum volume among all ellipsoid containing Ei ∩Hi . To prove this, let Ei+1
be a minimum volume ellipsoid containing Ei ∩Hi and we will show vol(Ei+1 ) ≥ vol(ρ(EB ))
to finish the proof.
We recall a well-known property of affine functions x 7→ Ax + v, namely that they
scale any volume by the same factor | det A|. For ρ this implies that for any measurable
set U ⊆ Rn we have
vol(ρ(U )) = vol(U ) · | det(Qi R)| = vol(U ) · | det Qi || det R| = vol(U ) · | det Qi |. (20)
Notice that ρ−1 (Ei+1 ) is an ellipsoid containing ρ−1 (Ei ) ∩ ρ−1 (Hi ) = E(0, I) ∩ HB ,
and hence
vol(ρ−1 (Ei+1 )) ≥ vol(EB ), (21)
because EB has minimum volume among all ellipsoid containing E(0, I) ∩ HB . We thus
obtain
contains E(0, I) ∩ HB .
28
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
The ellipsoid EB is actually even the minimum volume ellipsoid containing E(0, I) ∩
HB . We do not show this fact in these notes. (We will prove this in one of the exer-
cises.) However, we will show that the ratio vol(EB )/ vol(E(0, I)) satisfies the inequality
of Lemma 24. Of course, even without accepting that EB is the smallest ellipsoid contain-
ing E(0, I) ∩ HB , this shows Lemma 24. Furthermore, also in the analysis that follows,
we never need to prove that EB is the smallest ellipsoid containing E(0, I) ∩ HB , since we
can simply assume that, in the ellipsoid algorithm, we work with the description of EB
given by (22) without assuming that it has minimum volume. We will later generalize the
description of EB given in (22) to the general case when Ei is not necessarily the unit ball,
and HB is replaced by a general halfspace going through the center of Ei .
and thus x ∈ EB .
Proof of Lemma 24. As discussed, we can assume due to Lemma 26 that Ei = E(0, I) is
the unit ball, and the separating hyperplane used in the ellipsoid algorithm at iteration i,
which goes through the center of Ei , is given by HB = {x ∈ Rn | x1 ≥ 0}. From (22) we
can read off the matrix Ai+1 and the center point ai+1 , which define the ellipsoid Ei+1 ,
i.e.,
Ei+1 = {x ∈ Rn | (x − ai+1 )T A−1
i+1 (x − ai+1 ) ≤ 1}.
We have
T
1
ai+1 = , 0, 0, . . . , 0 ,
n+1
n+1 2
( n ) 0 0 ... 0
n2 −1
0 n2
0 ... 0
A−1
i+1 = .. .. ,
. .
0
n2 −1
0 ... 0 n2
29
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
and thus
n 2
( n+1 ) 0 0 ... 0
n2
0 0 ... 0
n2 −1
Ai+1 = .. .. .
. .
0
n2
0 ... 0
n2 −1
As we have seen, an ellipsoid E(a, A) is the image of the unit ball with respect to the
affine transformation φ(x) = Qx + a, where Q ∈ Rn×n is such that A = QQT . Thus
p
vol(E(a, A)) = vol(E(0, I)) · | det(Q)| = vol(E(0, I)) · det(A).
Hence,
p
vol(Ei+1 ) det(Ai+1 ) p
= p = det(Ai+1 )
vol(Ei ) det(I)
n−1
n2
n 2
= 2
n+1 n −1
n−1
1 1 2
= 1− 1+ 2
n+1 n −1
1 n−1 1 1 1
− 2(n+1)
< e− n+1 e 2(n2 −1) = e− n+1 e 2(n+1) = e , (1 + x < ex ∀x ∈ R \ {0})
as desired.
30
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
orthogonal transformation to transform this case to the one where the halfspace is given
by {x ∈ Rn | x1 ≥ 0}. It is not hard to verify that this leads to an ellipsoid
General case
Now let Ei = E(ai , Ai ) be a general ellipsoid, and let Hi = {x ∈ Rn | cT x ≤ cT ai } be a
general hyperplane going through the center ai of Ei . Since Ai is positive definite, there
is a matrix Qi ∈ Rn×n such that Ai = Qi QTi . Consider the affine bijective transformation
φ(x) = Qi x + ai and its inverse φ−1 (x) = Q−1
i (x − ai ). The function φ transforms E(0, I)
to Ei = E(ai , Ai ). Hence, we can first apply φ−1 to Ei and Hi to obtain Ei0 = E(0, I)
and Hi0 , then we can use our description of Ei+1 for the unit ball case, and finally, we
transform the found ellipsoid back using φ.
We start by describing the image of Hi under φ−1 to obtain Hi0 .
Hence, we have
0
By the unit ball case discussed previously, the minimum volume ellipsoid Ei+1 that con-
0
tains E(0, I) ∩ Hi is given by
0
Ei+1 = E(a0i+1 , A0i+1 ), where
1
a0i+1 = − d, and
n+1
n2
0 2 T
Ai+1 = 2 I− dd .
n −1 n+1
From this description we can derive a description of the center ai+1 and defining positive
definite matrix Ai+1 of Ei+1 = E(ai+1 , Ai+1 ). For simplicity of notation we define
Ai c
b= p = Qi d.
cT Ai c
31
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
We obtain,
1 1
ai+1 = ai + Qi a0i+1 = ai − Qi d = ai − b,
n+1 n+1
and
A−1 −1 T 0−1 −1
i+1 = (Qi ) Ai+1 Qi ,
which implies
n2
2
Ai+1 = Qi A0i+1 QTi = Ai − bbT .
n2 − 1 n+1
We can now restate the ellipsoid method as described in Algorithm 1 in a more explicit
form, by giving explicit formulas for how to compute Ei+1 . Notice that there is no need
to compute a Cholesky factorization of Ai .
We recall that the square root that has to be taken for the calculation of b is an
operation that we cannot perform exactly under the usual computational assumptions.
Therefore, to obtain a working polynomial time version of the ellipsoid method, one typ-
ically only computes an approximate version of Ei+1 that still contains Ei ∩ Hi but is
slightly bigger than the minimum volume ellipsoid containing Ei ∩ Hi .
32
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
ν ∗ ∈ [−nwmax , nwmax ].
π n/2
vol(E(0, I)) = ≤ π n/2 ≤ 2n ,
Γ( n2 + 1)
Bounding the number of iterations To bound the number of iterations of the ellip-
soid method when applied to P (ν) we leverage Lemma 25, for which we need to show that
if P (ν) 6= ∅, then its volume is not too small. Hence, assume P (ν) 6= ∅, which implies
∃ y0 ∈ P (ν) ∩ {0, 1}n . (Actually, any optimal vertex solution to max{wT x | x ∈ P } can
be chosen as y0 .) Since P is assumed to be a full-dimensional {0, 1}-polytope, there are
furthermore points y1 , . . . , yn ∈ P ∩ {0, 1}n such that the simplex ∆ = conv({y0 , . . . , yn })
is full-dimensional. The points y1 , . . . , yn are not necessarily contained in P (ν). Therefore
we shrink the simplex ∆ towards the vertex y0 , to obtain a scaled-down simplex ∆0 which
33
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
is fully contained in P (ν). We will then use vol(∆0 ) as a lower bound for vol(P (ν)). More
precisely, we show that it suffices to shrink ∆ by a factor of
1
α= .
2nwmax
zi = y0 + α(yi − y0 ) ∀i ∈ [n].
1
wT zi = wT y0 +αwT (yi − y0 ) ≥ ν + αwT (yi − y0 ) (since wT y0 ≥ ν − and wT y0 ∈ Z)
| {z } 2
≥ν
1
≥ ν − αnwmax = ν − .
2
Hence, ∆0 ⊆ P (ν). Furthermore, since ∆0 is a scaled-down version of ∆, with scaling
factor α, we obtain
vol(∆0 ) = αn vol(∆).
1
Recall that the volume of a simplex in Rn is n! times the volume of the corresponding
parallelepiped. In particular, we obtain
1 1
vol(∆) = | det(y1 − y0 , . . . , yn − y0 )| ≥ ,
n! n!
since the matrix with columns yi − y0 is integral and non-singular because ∆ is full-
dimensional. Hence,
n
0 n 1 1
vol(∆ ) = α vol(∆) ≥
2nwmax n!
and therefore
Hence, by Lemma 25 the number of iterations needed by the ellipsoid method to find a
point in P (ν) is at most
vol(E0 )
2(n + 1) ln = O n · [log(vol(E0 )) − log(vol(P (ν))]
vol(P (ν))
= O(n · (n log n + n log wmax ))
= O(n2 · (log n + log wmax )),
which is polynomial.
Thus, to check non-emptiness of P (ν) for an arbitrary ν ∈ Z, it suffices to run the
ellipsoid method for O(n2 · (log n + log wmax )) iterations. It will either find a point in P (ν),
which obviously shows non-emptiness of P (ν), or if no point in P (ν) is found over this
many iterations, then P (ν) = ∅.
34
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Optimizing with respect to wS allows for obtaining insights into an optimal solution using
the following result.
Lemma 28. Let S ⊆ [n]. The following two statements are equivalent.
(i) There is an optimal solution x∗ to max{wT x | x ∈ P } with x∗i = 1 for i ∈ S.
(ii) ν ∗ + |S| = max{(wS )T x | x ∈ P }.
Theorem 29. Let P ⊆ Rn be a full-dimensional {0, 1}-polytope for which we are given a
separation oracle. Furthermore, let w ∈ Zn . Then the ellipsoid method allows for finding
an optimal vertex solution to the linear program max{wT x | x ∈ P } using a polynomial
number of operations and calls to the separation oracle for P .
35
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Strictly seen, we cannot apply Theorem 30 to P , since P is not a {0, 1}-polytope. More
precisely, P is not even a polytope since it is unbounded. This can easily be remedied by
intersecting P with the hypercube to obtain
Q = P ∩ [0, 1]A .
Since P is the dominant of a {0, 1}-polytope and we are minimizing a nonnegative linear
function, there is an optimal solution x∗ to min{wT x | x ∈ P } s.t. x∗ ∈ {0, 1}n . Hence,
x∗ ∈ Q. Furthermore, one can easily observe that Q is a {0, 1}-polytope. Thus, a minimum
r-arborescence can be found by finding a vertex solution to
36
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
By Theorem 30, it suffices to find a polynomial-time separation oracle for Q to find an op-
timal vertex solution to (23). It therefore remains to design a polynomial-time separation
oracle for Q.
Hence, let y ∈ RA . We first check whether y ∈ [0, 1]A . This is easy to check since the
unit hypercube is defined by 2|A| constraints. If one of these constraints is violated, then
it immediately leads to a separating hyperplane. Hence, assume y ∈ [0, 1]A . It remains to
check whether one of the constraints x(δ − (S)) ≥ 1 for some S ⊆ V \ {r}, S 6= ∅ is violated.
This can be checked via minimum s-t cut computations. For each v ∈ V \ {r}, we compute
a minimum r-v cut Sv ⊆ V , where we use y as the capacities on the arcs. If one of these
cuts Sv has a value strictly less than 1, then the constraint corresponding to V \ Sv is
violated and leads to a separating hyperplane. Otherwise, if y(δ + (Sv )) ≥ 1 for all v ∈ V ,
then y satisfies all constraints of P and therefore y ∈ Q, because of the following. Assume
that there was a violated constraint, i.e., y(δ − (S)) < 1 for some S ⊆ V \ {r}, S 6= ∅. Then,
for any v ∈ S we have
where the first inequality follows from the fact that V \ S is an r-v cut, and its cut value
is thus at least as large as the value of the cut Sv , which is by definition a minimum r-v
cut.
This shows that we can solve the separation problem over Q, and thus, by Theorem 30,
we can find an optimal vertex solution to (23) in polynomial time through the ellipsoid
algorithm. Furthermore, as discussed above, such a vertex solution corresponds to a
minimum weight r-arborescence.
X ◦ = {y ∈ Rn | xT y ≤ 1 ∀x ∈ X}.
37
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
P◦
Lemma 31. Let X ⊆ Rn be a compact (i.e., closed and bounded) convex set, containing
the origin in its interior. Then
(a) X ◦ is a compact convex set with the origin in its interior.
(b) (X ◦ )◦ = X.
Proof. (a) We start by showing that X ◦ is convex and compact. X ◦ is clearly convex and
closed since it is the intersection of halfspaces. To show boundedness of X ◦ , notice
that since the origin is in the interior of X, there exists δ > 0 such that B(0, δ) ⊆ X,
where B(0, δ) is the closed ball of radius δ that is centered at the origin. We show
boundedness of X ◦ by showing that X ◦ ⊆ B(0, 1/δ). Indeed, for any y ∈ Rn with
y
kyk2 > 1δ , we obtain xT y > 1 where x = δ · kyk 2
∈ B(0, δ) ⊆ X; hence, y 6∈ X ◦ .
It remains to show that the origin is in the interior of X ◦ . Since X is bounded, there
exists some M > 0 such that X ⊆ B(0, M ). We complete this part of the proof by
showing B(0, M 1
) ⊆ X ◦ . Let y ∈ B(0, M 1
), and we will show that y does not violate
◦
any constraint in the description of X . Indeed, for any x ∈ X ⊆ B(0, M ), we obtain
y T x ≤ kyk2 kxk2 ≤ 1,
|{z} | {z }
≤1/M ≤M
and hence y ∈ X ◦ .
(b) We clearly have X ⊆ (X ◦ )◦ , since for any x ∈ X and y ∈ X ◦ we have xT y ≤ 1. Thus,
x fulfills all the constrains of (X ◦ )◦ .
To show (X ◦ )◦ ⊆ X, assume by contradiction that ∃z ∈ (X ◦ )◦ \ X. Since X is convex
and closed, there is a hyperplane separating z from X, i.e., there is c ∈ Rn \ {0} and
b ∈ R such that cT x ≤ b ∀x ∈ X and cT z > b. Notice that b > 0 since the origin is in
38
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
1
xT y = xT c ≤ 1.
b
However, y ∈ X ◦ implies z 6∈ (X ◦ )◦ since
1
y T z = cT z > 1,
b
which contradicts the assumption z ∈ (X ◦ )◦ .
Lemma 32. Let P ⊆ Rn be a polytope containing the origin in its interior. Let x ∈ Rn .
Then
Proof. Let
Q = {y ∈ Rn | xT y ≤ 1 ∀x vertex of P }.
⇐) Notice that this direction of the statement is equivalent to P ◦ = Q. We clearly
have P ◦ ⊆ Q. To show Q ⊆ P ◦ , consider a point y ∈ Q. We will show y ∈ P ◦ by showing
that xT y ≤ 1 for all x ∈ P . Hence, let x ∈ P . Since
P P is a polytope, x can be written
as a convex combination of its vertices, i.e., x = ki=1 λi xi , where xi is a vertex of P for
i ∈ [k], ki=1 λi = 1, and λi ≥ 0 ∀i ∈ [k]. Thus,
P
k
X k
X
T
x y= λi xTi y ≤ λi = 1,
i=1 i=1
However, this implies that xk is a convex combination of x1 , . . . , xk−1 and the origin.
Moreover, notice that xk is different from x1 , . . . , xk−1 , and xk is not the origin, because
xk is a vertex of P and the origin is in the interior of P and thus cannot be a vertex of
P . In other words, xk is a nontrivial convex combination of other points in P , namely
x1 , . . . , xk−1 and the origin. This contradicts the fact of xk being a vertex of P .
39
Combinatorial Optimization Spring Term 2018 Rico Zenklusen
Based on the above results, there is a natural strategy to construct a separation oracle
for some polytope P ⊆ Rn that contains the origin in its interior. Notice that if P is
full-dimensional, there is always a way to translate P such that it contains the origin in
its interior. As discussed, an optimization oracle for P implies a separation oracle for
P ◦ . Now, if the technical requirements are fulfilled to apply the ellipsoid algorithm to
P ◦ , we can use this separation oracle to optimize over P ◦ . Finally, an optimization oracle
for P ◦ implies a separation oracle for (P ◦ )◦ = P . Furthermore, Lemma 32 implies that
if the optimization oracle always returns a vertex solution, then the separation oracle
constructed with the above approach does not just return any separating hyperplane, but
even one that is facet-defining.
Figure 12 summarizes this interplay between optimization and separation through the
polar.
ellipsoid
Optimization over P Separation over P
polarity and
polarity
(P ◦ )◦ = P
Figure 12: A graphical representation of the relation between optimization and sep-
aration via the ellipsoid algorithm and polar polytopes.
40