Transcript Slide 1
CAS 746 – Advanced Topics in Combinatorial Optimization
The Structure of
Polyhedra
Gabriel Indik
March 2006
Presentation outline
Implicit equalities
Redundant constrains
Characteristic/recession cone
Lineality space
Affine hull and dimension
Supporting hyperplanes
Faces
Maximal faces: facets
Minimal faces: vertices
The face lattice
Convex hull - extreme points (vertices)
Extreme rays
Decomposition of polyhedra
Application
Implicit equalities
An inequality ax from Ax b is called an implicit equality (in Ax b) if
ax = for all x satisfying Ax b. Notation:
A= x b= is the system of implicit equalities in Ax b
A+ x b+ is the system of all other inequalities in Ax b
Example:
Take the following system of inequalities a, b, c and d in R2:
A polyhedron is fully
dimensional there are
no implicit equalities
a
b
d
c
Inequalities b and d are tight (satisfied with equality) for all x satisfying a, b, c and d.
Thus, inequalities b and d are implicit equalities in this particular system.
Redundant constraints
A constraint in a constraint system is called redundant (in the system) if it is
implied by the other constraints in the system.
A redundant constraint can be removed without affecting the system.
Removing a redundant constraint can make other redundant constraints become
irredundant, so they usually they cannot be all removed at the same time.
A system is irredundant if it has no redundant constraints.
Example 1:
Example 2:
c
c
c’
Constraint c can be removed
without affecting the system
Constraint c and c’ are redundant and can be
removed without affecting the system, but not
at the same time
Characteristic/recession cone
The characteristic/recession cone of a given polyhedron P, denoted by
char.cone(P) is the polyhedral cone:
char.cone(P) = {y | x + y P for all x in P} = {y | Ay ≤ 0}
y char.cone(P) there is an x in P such that x + y P for all ≥ 0
P + char.cone(P) = P
P is bounded char.cone(P) = {0}
If P = Q + C, with Q a polytope and C a polyhedral cone, then C = char.cone(P)
The nonzero vectors in char.cone(P) are called infinite directions of P
Lineality space
The lineality space of P, denoted my lin.space(P) is the linear space:
lin.space(P) = char.cone(P) – char.cone(P) = {y | Ay ≤ 0}
If lin.space(P) has dimension 0, then P is called pointed
Affine hull and dimension
A nonempty polyhedron P can be uniquely represented as:
P=H+Q
where H is the lin.space(P), and Q is a nonempty pointed polyhedron.
The affine hull of P is given by:
affine.hull(P) = { x | A= x = b= } = { x | A= x ≤ b= }
If ax ≤ is an implicit equality in Ax ≤ b, the equality ax = is already
implied by A= x ≤ b=.
The dimension of P is equal to n – rank of matrix A=
P is full-dimensional if its dimension is n
P is full-dimensional there are no implicit inequalities
Supporting hyperplanes
For a given set P, a hyperplane is called a supporting hyperplane if it
contains P in one of its closed halfspaces and intersects the closure of P with
at least one point
Example 1:
Supporting hyperplanes
Example 2:
Non-supporting hyperplanes
Faces
A subset F of P is called a face of P if F = P or if F is the intersection of P with
a supporting hyperplane of P (by convention is also a face).
Faces of dimension 0, 1,…, d – 2 and d – 1 are vertices, edges,…, ridges and
facets respectively.
Each face is a nonempty polyhedron.
Maximal faces: Facets
A facet of a convex polyhedral set P is a face of maximal dimension distinct
from P (maximal relative to inclusion). If P is in Rd, its facets are the faces in
Rd-1
If no inequality in A+x ≤ b+ is redundant in Ax ≤ b, then there exists a one-toone correspondence between the facets of P and the inequalities in A+x ≤ b+.
This implies:
Each face of P, except for P itself, is the intersection of facets of P
Intersection of 2 facets (R2)
is an edge (R1)
Intersection of 3 facets (R2)
is a vertex (R0)
P has no faces different from P P is an affine subspace
The dimension of any facet in P is one less than the dimension of P
If P is full-dimensional, and Ax ≤ b is irredundant, then Ax ≤ b is the unique
minimal representation of P.
Minimal faces: vertices
A minimal face of P is a face not containing any other faces.
A face F of P is a minimal face F is an affine subspace
Hoffman and Kruskal [1956]:
A set F is a minimal face of P ≠ F P and:
F = {x | A’x = b’}
for some subsystem A’x ≤ b’ in Ax ≤ b.
All faces of P have the same dimension, namely n minus the rank of A.
If P is pointed, each minimal face consists of just one point. These points (or
these minimal faces) are called vertices of P.
Each vertex is determined by n linearly independent equations from the
system Ax = b.
A vertex of {x | Ax ≤ b} is called a basic:
Feasible solution for Ax ≤ b.
Optimum solution if it attains max {cx | Ax ≤ b} for some objective vector c.
The face lattice
The intersection of two faces is empty or a face again. Hence, the faces,
together with form a lattice under inclusion, which is called face-lattice of P.
P
F1F2
F2
F1
F1F4
P
Fd(P) (-1)d
F2F3
F1
F3
F2
F4
Polyhedron
+
F3
F4
Fd-1(P) (-1)d-1
F3F4
F1F4
F1F2
F2F3
F3F4
Edges
F0(P) 1
Vertices
Euler-Poincaré Relation
+
F-1(P) x (-1)
Empty set
2D: V
-1 =
–+ EfV0(P)
=– 0E–+f11(P)
= 0+ 1 = 0
3D: -1
V –+EfV0(P)
+– FE–=
–+f21F(P)
=–01
+=
f2(P)
0 –1=0
0
Convex hull
Convex bounded polyhedra (polytopes) can be characterized as the convex
hull of a set of points in some Rd.
The convex hull of a set of points P is the intersection of all convex sets
containing P.
Points in P are either:
Extreme points: vertices of the polytope.
Interior points: they can be expressed as the convex combination of extreme
points.
The convex combination of any two adjacent vertices (line segment) is an
edge of P (face in dimension 1).
Extremal rays
Analog to vertices (extreme points), extremal rays cannot be represented as
the non trivial convex combination of other rays.
Example of extremal rays in R3
Decomposition of polyhedra
Any polyhedron has a unique minimal representation as:
P = conv.hull{x1,…,xn} + cone{y1,…,yn} + lin.space(P)
This is known as the “internal” representation, while the “external”
representation is given by:
P = {x | A+x ≤ b+}
Decomposition of polyhedra
Any polyhedron has a unique minimal representation as:
P = conv.hull{x1,…,xn} + cone{y1,…,yn} + lin.space(P)
This is known as the “internal” representation, while the “external”
representation is given by:
P = {x | A+x ≤ b+}
Decomposition of polyhedra
If P is convex and bounded (polytope), then its minimal
representation is given by:
P = conv.hull{x1,…,xn}
The set of points {x1,…,xn} are the extremal points (vertices – faces of
dimension 0) of the polytope.
Application
Doubly stochastic matrices
A square matrix A = (ij)ni,j = 1 is called doubly stochastic if
n
i 1
ij
1
( j 1,..., n)
ij
1
(i 1,..., n)
n
j 1
ij 0
(i, j 1,..., n)
Example of a doubly stochastic matrix:
0.3
0.1
0.6
0.5
0.1
0.4
0.2
0.8
0
Application
Permutation matrix
Matrix obtained by permuting the rows of an identity matrix according to
some permutation of the numbers 1 to n.
Every row and column contains precisely a single 1 with 0s everywhere
else.
There are n! permutation matrices of size n.
The permutation matrices for n = 2 are given by:
The permutation matrices for n = 3 are given by:
Application
Theorem – Birkhoff [1946] and von Newmann [1953]
Convex combination of:
Application
Theorem – Birkhoff [1946] and von Newmann [1953]
Convex combination of:
Permutation matrices of order 3
Application
Theorem – Birkhoff [1946] and von Newmann [1953]
Matrix A is doubly stochastic A is a convex combination of permutation
matrices.
Proof:
Sufficiency: direct as all permutation matrices are doubly stochastic.
Necessity: proved by induction on the order n of A (n = 1 trivially true)
Consider the polytope P (in n2 dimension) of all doubly stochastic matrices of
order n. P is defined by:
n
n
i 1
ij
j 1
ij 0
ij
1
(i, j 1,..., n)
(i, j 1,..., n)
We have to show that each vertex of P is a permutation matrix.
Let matrix A be a vertex of P, then n2 linearly independent constraints must be
satisfied by A with equality.
Application
Theorem – Birkhoff [1946] and von Newmann [1953]
Matrix A is doubly stochastic A is a convex combination of permutation matrices.
The first 2n constraints:
n
n
i 1
ij
j 1
ij
1
(i, j 1,..., n)
are linearly dependant. The last element of A is implied by the others, thus we have 2n – 1
constraints. Combining this with the n2 nonegativity constraints:
ij 0
(i, j 1,..., n)
we then know that at least n2 – 2n + 1 of the ij are 0. This is, there is a row in A where
all elements are 0 except for one of them. Since the matrix is doubly stochastic, then
that element must be 1.
Without loss of generality, suppose such element is a11 = 1, then removing first row and
column gives a doubly stochastic matrix of order n – 1, which by induction hypothesis is
the convex combination of permutation matrices (doubly stochastic matrix).
Application
Corollary – Frobenius [1912, 1917]
Each regular bipartite graph G of degree r ≥ 1 has a perfect matching.
A bipartite graph, also called a bigraph, is a set of graph vertices decomposed
into two disjoint sets such that no two graph vertices within the same set are
adjacent
A matching on a graph is a set of edges of such that no two of them share a
vertex in common. The largest possible matching on a graph with n nodes
consists of n/2 edges, and such a matching is called a perfect matching.
Let {1,…,n} and {n + 1,…,2n} be the color classes of G, and consider the
n-by-n matrix A = (ij) with
ij := 1/r (number of edges connecting i and n + j)
Then A is doubly stochastic, hence there is a permutation matrix B = (ij)
such that ij > 0 if = 1. Matrix B gives a perfect matching in G.
Application
Corollary – Frobenius [1912, 1917]
Each regular bipartite graph G of degree r ≥ 1 has a perfect matching.
1
5
2
6
3
7
4
8
5
6
7
8
1
1/3
1/3
1/3
0
2
0
1/3
1/3
1/3
3
1/3
0
1/3
1/3
4
1/3
1/3
0
1/3
Application
Corollary – Frobenius [1912, 1917]
Each regular bipartite graph G of degree r ≥ 1 has a perfect matching.
1
5
2
6
3
7
4
8
5
6
7
8
1
1/3
1
0
1/3
0
1
1/3
0
0
2
0
1/3
1
0
1/3
0
1
1/3
0
3
1/3
0
0
1/3
1
0
1/3
0
1
4
1/3
0
1
1/3
0
0
1/3
1
0
Application
Corollary – Frobenius [1912, 1917]
Perfect matching polytope
Let G = (V, E) be an undirected graph. The perfect marching polytope of
G is the convex hull of the characteristic vectors of perfect matchings of G.
So P is a polytope in RE. Each vector x in the perfect matching polytope
satisfies:
xe 0
e ( v )
xe 1
(e E )
(v V )
Where (v) denotes the set of edges incident with v. In other words, if
a graph G is bipartite, then the perfect matching polytope is completely
defined by this system.
Notation
1
2
x = [1 0 1 0 1]
3
1
4
5
2
3
4
5
Application
Corollary – Frobenius [1912, 1917]
Proof
Each vector satisfying
xe 0
e ( v )
xe 1
(e E )
(v V )
is a convex combination of characteristic vectors of perfect matching in G, if G
is bipartite. Let x satisfy these constraints and V1 = {1,…,n} and V2 = {n + 1,…,2n}
be the two color classes of G. Then:
V1 x( (v)) x( (v)) V2
vV1
vV2
Let A = (aij) be the n-by-n matrix defined by:
aij := 0 if {I, n + j} E
aij := xe if {I, n + j} E
Then A is doubly stochastic: convex combination of permutation matrices, each of
Them corresponding to a perfect matching in G. Thus x is a convex combination
of characteristic vectors of perfect matchings in G.
Application
The matching polytope
Generalization to general, not necessarily bipartite graphs.
Let G = (V, E) be an undirected graph, with |V| even, and let P be the
|E|-dimensional associated perfect matching polytope (convex hull of the
characteristic vectors of the prefect matchings in G).
For non-bipartite graphs, the constraints:
xe 0
e ( v )
xe 1
(e E )
(v V )
Are not enough to determine P.
Proof (by counter example)
x = [ ½ ½ ½ ½ ½ ½]
Application
The matching polytope
Edmonds’ matching polyhedron theorem [1965]
The perfect matching polytope for general, not necessarily bipartite graphs, is
given by:
xe 0
(e E )
xe 1
(v V )
xe 1
W odd
e ( v )
e ( w )
where (W) is the set of edges of G intersecting W in exactly one vertex.
Thank you !