The Structure of Polyhedra Gabriel Indik March 2006 CAS 746 – Advanced Topics in Combinatorial Optimization
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 Presentation outline
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 Implicit equalities Example: Take the following system of inequalities a, b, c and d in R 2 : c b a d 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. A polyhedron is fully dimensional there are no implicit equalities
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. Redundant constraints Example 1: c c c’ Constraint c can be removed without affecting the system Example 2: Constraint c and c’ are redundant and can be removed without affecting the system, but not at the same time
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 Characteristic/recession cone
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} Lineality space If lin.space(P) has dimension 0, then P is called pointed
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 Affine hull and dimension
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 Supporting hyperplanes Example 1: Supporting hyperplanes Non-supporting hyperplanes Example 2:
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. Faces
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 R d, its facets are the faces in R d-1 If no inequality in A + x ≤ b + is redundant in Ax ≤ b, then there exists a one-to- one 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 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. Maximal faces: Facets Intersection of 2 facets (R 2 ) is an edge (R 1 ) Intersection of 3 facets (R 2 ) is a vertex (R 0 )
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. Minimal faces: vertices
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. The face lattice F1F1 F2F2 F3F3 F4F4 P F1F1 F2F2 F3F3 F4F4 F1F4F1F4 F1F2F1F2 F2F3F2F3 F3F4F3F4 P F1F4F1F4 F1F2F1F2 F2F3F2F3 F3F4F3F4 F d (P) Polyhedron F d-1 (P) Edges F 0 (P) Vertices F -1 (P) Empty set (-1) d (-1) d-1 1 x (-1) D: 3D: -1 + f 0 (P) – f 1 (P) + 1 = 0V = EV – E = V – E + 1 = 0 V – E + F = 2V – E + F – 2 = V – E + F – 1 = f 0 (P) – f 1 (P) + f 2 (P) – 1 = 0 Euler-Poincaré Relation
Convex bounded polyhedra (polytopes) can be characterized as the convex hull of a set of points in some R d. The convex hull of a set of points P is the intersection of all convex sets containing P. Convex hull 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).
Analog to vertices (extreme points), extremal rays cannot be represented as the non trivial convex combination of other rays. Extremal rays Example of extremal rays in R 3
Decomposition of polyhedra Any polyhedron has a unique minimal representation as: P = conv.hull{x 1,…,x n } + cone{y 1,…,y n } + 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{x 1,…,x n } + cone{y 1,…,y n } + 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{x 1,…,x n } The set of points {x 1,…,x n } are the extremal points (vertices – faces of dimension 0) of the polytope.
Application Doubly stochastic matrices A square matrix A = ( ij ) n i,j = 1 is called doubly stochastic if Example of a doubly stochastic matrix:
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 n 2 dimension) of all doubly stochastic matrices of order n. P is defined by: We have to show that each vertex of P is a permutation matrix.vertex Let matrix A be a vertex of P, then n 2 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: are linearly dependant. The last element of A is implied by the others, thus we have 2n – 1 constraints. Combining this with the n 2 nonegativity constraints: we then know that at least n 2 – 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 a 11 = 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 /
Application Corollary – Frobenius [1912, 1917] Each regular bipartite graph G of degree r ≥ 1 has a perfect matching /
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 R E. Each vector x in the perfect matching polytope satisfies: 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 x = [ ]
Application Corollary – Frobenius [1912, 1917] Proof Each vector satisfying is a convex combination of characteristic vectors of perfect matching in G, if G is bipartite. Let x satisfy these constraints and V 1 = {1,…,n} and V 2 = {n + 1,…,2n} be the two color classes of G. Then: Let A = (a ij ) be the n-by-n matrix defined by: a ij := 0 if {I, n + j} E a ij := x e 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: 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: where (W) is the set of edges of G intersecting W in exactly one vertex.
Thank you !