1 / 22 A New Facet Generating Procedure for the Stable Set Polytope Álinson S. Xavier a Manoel Campêlo b a Mestrado e Doutorado em Ciência da Computação Universidade Federal do Ceará Fortaleza, Brazil b Departamento de Estatística e Matemática Aplicada Universidade Federal do Ceará Fortaleza, Brazil LAGOS 11
2 / 22 Outline 1. Introduction 2. Preliminaries 3. The Procedure 4. 5. Concluding Remarks
3 / 22 Stable Set Polytope: Definition Given a simple, undirected graph G = (V, E) Definition A stable set is a set of pairwise non-adjacent vertices. Not an example
3 / 22 Stable Set Polytope: Definition Given a simple, undirected graph G = (V, E) Definition A stable set is a set of pairwise non-adjacent vertices. Not an example Definition The stable set polytope is the convex hull of the incidence vectors of all the stable sets: STAB(G) = conv{x {0, 1} V : x u + x v 1, {u, v} E}
4 / 22 Stable Set Polytope: Applications Applications in various fields (Bomze, Budinich, Pardalos & Pedillo (1999)): Coding theory Computer vision and pattern matching Molecular biology Scheduling
4 / 22 Stable Set Polytope: Applications Applications in various fields (Bomze, Budinich, Pardalos & Pedillo (1999)): Coding theory Computer vision and pattern matching Molecular biology Scheduling Model other important combinatorial problems: Set packing and set partitioning (Padberg (1973)) Graph coloring (Cornaz & Jost (2008))
5 / 22 Previous Research: Facet Producing Subgraphs Facet producing subgraphs: Cliques (Padberg (1973)) 1 5 2 4 3 P 5 i=1 x i 1
5 / 22 Previous Research: Facet Producing Subgraphs Facet producing subgraphs: Cliques (Padberg (1973)) Odd holes (Padberg (1973)) Odd anti-holes (Nemhauser & Trotter (1974)) 7 1 2 6 3 5 4 P 7 i=1 x i 3
5 / 22 Previous Research: Facet Producing Subgraphs Facet producing subgraphs: Cliques (Padberg (1973)) Odd holes (Padberg (1973)) Odd anti-holes (Nemhauser & Trotter (1974)) Webs and anti-webs (Trotter (1975)) 7 1 2 6 3 5 4 P 7 i=1 x i 2
5 / 22 Previous Research: Facet Producing Subgraphs Facet producing subgraphs: Cliques (Padberg (1973)) Odd holes (Padberg (1973)) Odd anti-holes (Nemhauser & Trotter (1974)) Webs and anti-webs (Trotter (1975)) Subdivided wheels (Cheng & Cunningham (1996)) 7 1 2 6 8 3 5 4 3x 8 + P 7 i=1 x i 3
5 / 22 Previous Research: Facet Producing Subgraphs Facet producing subgraphs: Cliques (Padberg (1973)) Odd holes (Padberg (1973)) Odd anti-holes (Nemhauser & Trotter (1974)) Webs and anti-webs (Trotter (1975)) Subdivided wheels (Cheng & Cunningham (1996)) others... 7 1 2 6 8 3 5 4 3x 8 + P 7 i=1 x i 3
6 / 22 Previous Research: Facet Generating Procedures Facet generating procedures: Subdividing edges (Wolsey (1976)) 1 1 5 6 2 5 8 7 6 2 4 3 4 3 2x 6 + P 5 i=1 x i 2 2x 6 + P 5 i=1 x i + x 7 + x 8 3
6 / 22 Previous Research: Facet Generating Procedures Facet generating procedures: Subdividing edges (Wolsey (1976)) Subdividing stars (Barahona & Mahjoub (1994)) 1 1 5 6 2 5 11 7 6 8 2 10 9 4 3 4 3 2x 6 + P 5 i=1 x i 2 3x 6 + P 5 i=1 x i + P 11 i=7 x i 5
6 / 22 Previous Research: Facet Generating Procedures Facet generating procedures: Subdividing edges (Wolsey (1976)) Subdividing stars (Barahona & Mahjoub (1994)) Replacing vertices with stars (Cánovas, Landete & Marín (2003)) 1 1 6 7 8 5 2 4 3 5 2 4 3 x 1 + P 5 i=2 x i 1 2x 1 + P 5 i=2 x i + P 8 i=6 x i 3
6 / 22 Previous Research: Facet Generating Procedures Facet generating procedures: Subdividing edges (Wolsey (1976)) Subdividing stars (Barahona & Mahjoub (1994)) Replacing vertices with stars (Cánovas, Landete & Marín (2003)) Replacing edges with gears (Galluccio, Gentile & Ventura (2008)) 7 5 4 6 8 4 5 11 1 1 3 1 10 3 2 2 P 3 i=1 x i + x 4 + x 5 2 P 3 i=1 x i + 2x 4 + 2x 5 + P 11 i=6 x i 4
6 / 22 Previous Research: Facet Generating Procedures Facet generating procedures: Subdividing edges (Wolsey (1976)) Subdividing stars (Barahona & Mahjoub (1994)) Replacing vertices with stars (Cánovas, Landete & Marín (2003)) Replacing edges with gears (Galluccio, Gentile & Ventura (2008)) others... 7 5 4 6 8 4 5 11 1 1 3 1 10 3 2 2 P 3 i=1 x i + x 4 + x 5 2 P 3 i=1 x i + 2x 4 + 2x 5 + P 11 i=6 x i 4
7 / 22 The New Procedure Replace (k 1)-cliques with certain k-partite graphs Particular case: replace vertices with bipartite graphs
7 / 22 The New Procedure Replace (k 1)-cliques with certain k-partite graphs Particular case: replace vertices with bipartite graphs Unifies and generalizes many previous procedures: Subdividing edges Subdividing stars Replacing vertices with stars
7 / 22 The New Procedure Replace (k 1)-cliques with certain k-partite graphs Particular case: replace vertices with bipartite graphs Unifies and generalizes many previous procedures: Subdividing edges Subdividing stars Replacing vertices with stars Generates many new facet-defining inequalities
7 / 22 The New Procedure Replace (k 1)-cliques with certain k-partite graphs Particular case: replace vertices with bipartite graphs Unifies and generalizes many previous procedures: Subdividing edges Subdividing stars Replacing vertices with stars Generates many new facet-defining inequalities The idea that leads to the procedure can be used with other polytopes
Preliminaries 8 / 22
9 / 22 Affine Isomorphism Definition (Ziegler (1994)) Two polytopes are affinely isomorphic (not. P 1 = P2) if there is an affine map that is a bijection between their points.
9 / 22 Affine Isomorphism Definition (Ziegler (1994)) Two polytopes are affinely isomorphic (not. P 1 = P2) if there is an affine map that is a bijection between their points. Implies combinatorial equivalence
9 / 22 Affine Isomorphism Definition (Ziegler (1994)) Two polytopes are affinely isomorphic (not. P 1 = P2) if there is an affine map that is a bijection between their points. Implies combinatorial equivalence Easy to transform facets of P 1 into facets of P 2
10 / 22 Facets from Faces: Overview Convert facets of a face F into facets of the polytope P:
10 / 22 Facets from Faces: Overview Convert facets of a face F into facets of the polytope P: Find a sequence F 1,..., F k such that: F 1 = F and F k = P F i is a facet of F i+1 Repeatedly apply the following theorem:
10 / 22 Facets from Faces: Overview Convert facets of a face F into facets of the polytope P: Find a sequence F 1,..., F k such that: F 1 = F and F k = P F i is a facet of F i+1 Repeatedly apply the following theorem: Theorem Let P be a convex polytope and S a finite set such that P = conv(s). If cx d is facet-defining for P and πx π is facet-defining for {x P : cx = d}, then πx + α(cx d) π is facet-defining for P, where α = max j π πx cx d ff : x S, cx < d
10 / 22 Facets from Faces: Overview Convert facets of a face F into facets of the polytope P: Find a sequence F 1,..., F k such that: F 1 = F and F k = P F i is a facet of F i+1 Repeatedly apply the following theorem: Theorem Let P be a convex polytope and S a finite set such that P = conv(s). If cx d is facet-defining for P and πx π is facet-defining for {x P : cx = d}, then πx + α(cx d) π is facet-defining for P, where α = max j π πx cx d ff : x S, cx < d Extension of the sequential lifting procedure Different sequences may yield different facets
11 / 22 Facets from Faces: Geometric View P = conv{(0, 0), (2, 0), (2, 1), (1, 2), (0, 1)}
11 / 22 Facets from Faces: Geometric View P = conv{(0, 0), (2, 0), (2, 1), (1, 2), (0, 1)} F = {x P : x 1 + x 2 = 3}
11 / 22 Facets from Faces: Geometric View P = conv{(0, 0), (2, 0), (2, 1), (1, 2), (0, 1)} F = {x P : x 1 + x 2 = 3} x 1 1 is facet-defining for F
11 / 22 Facets from Faces: Geometric View P = conv{(0, 0), (2, 0), (2, 1), (1, 2), (0, 1)} F = {x P : x 1 + x 2 = 3} x 1 1 is facet-defining for F n o α = max x1 +1 3 x 1 x 2 : x P, x 1 + x 2 < 3 = 1 2
11 / 22 Facets from Faces: Geometric View P = conv{(0, 0), (2, 0), (2, 1), (1, 2), (0, 1)} F = {x P : x 1 + x 2 = 3} x 1 1 is facet-defining for F n o α = max x1 +1 3 x 1 x 2 : x P, x 1 + x 2 < 3 x 1 + 1 (x1 + x2 3) 1 2 = 1 2
11 / 22 Facets from Faces: Geometric View P = conv{(0, 0), (2, 0), (2, 1), (1, 2), (0, 1)} F = {x P : x 1 + x 2 = 3} x 1 1 is facet-defining for F n o α = max x1 +1 3 x 1 x 2 : x P, x 1 + x 2 < 3 x 1 + 1 (x1 + x2 3) 1 2 x 1 + x 2 1 is facet-defining for P = 1 2
12 / 22 Strong Hypertrees: Definitions Definition Two hyperedges are strongly adjacent if they have same size k and share exactly k 1 vertices. Not an example
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. (hyperedges are represented as cliques)
12 / 22 Strong Hypertrees: Definitions Definition A hypergraph H = (V, E) is a strong hypertree either if E = {V } or there is a leaf v incident to an hyperedge e such that: e is strongly adjacent to some other hyperedge, (V \ {v}, E \ {e}) is also a strong hypertree. Not an example Not an example
12 / 22 Strong Hypertrees: Definitions Definition A strong hypertree is a strong hyperpath if it has exactly two leaves.
13 / 22 Strong Hypertrees: Properties Similarly to ordinary trees: Proposition Every strong hypertree with n vertices: is a k-uniform hypergraph, for some k has n k + 1 hyperedges k = 3 V = 10 E = 8
13 / 22 Strong Hypertrees: Properties Similarly to ordinary trees: Proposition Every strong hypertree with n vertices: is a k-uniform hypergraph, for some k has n k + 1 hyperedges has a full rank incidence matrix k = 3 V = 10 E = 8
13 / 22 Strong Hypertrees: Properties Similarly to ordinary trees: Proposition Every strong hypertree with n vertices: is a k-uniform hypergraph, for some k has n k + 1 hyperedges has a full rank incidence matrix contains a strong hyperpath between any pair of non-adjacent vertices k = 3 V = 10 E = 8
The Procedure 14 / 22
15 / 22 The Procedure: Context Q: set of maximal cliques of G C(G) = (V, Q): clique hypergraph of G T = (V T, Q T ) C(G): A k-uniform strong hypertree such that: G[V T ] is k-partite with classes V 1,..., V k No vertex in V 0 := V \ V T has neighbors in all classes V 1,..., V k 1 2 5 3 4 6 8 V 0 = {6, 7, 8} V 1 = {2, 4} V 2 = {3, 5} V 3 = {1} 7
15 / 22 The Procedure: Context Q: set of maximal cliques of G C(G) = (V, Q): clique hypergraph of G T = (V T, Q T ) C(G): A k-uniform strong hypertree such that: G[V T ] is k-partite with classes V 1,..., V k No vertex in V 0 := V \ V T has neighbors in all classes V 1,..., V k Consider the face F T = {x STAB(G) : x Q = 1, Q Q T } 1 2 5 3 4 6 8 7 V 0 = {6, 7, 8} V 1 = {2, 4} V 2 = {3, 5} V 3 = {1} 8 < x 1 + x 2 + x 3 = 1 F T = : x STAB(G) : x 1 + x 3 + x 4 = 1 x 1 + x 4 + x 5 = 1 9 = ;
16 / 22 The Procedure: Lemmas 1 and 2 Lemma The dimension of F T is V Q T.
16 / 22 The Procedure: Lemmas 1 and 2 Lemma The dimension of F T is V Q T. Each hyperedge we remove from T increases the dimension of F T by exactly one (if the remaining hypergraph is still a strong hypertree) Useful when building the sequence of faces
16 / 22 The Procedure: Lemmas 1 and 2 Lemma The dimension of F T is V Q T. Each hyperedge we remove from T increases the dimension of F T by exactly one (if the remaining hypergraph is still a strong hypertree) Useful when building the sequence of faces Lemma If x F T, then x u = x v, for all u, v V i, i {1,..., k}.
16 / 22 The Procedure: Lemmas 1 and 2 Lemma The dimension of F T is V Q T. Each hyperedge we remove from T increases the dimension of F T by exactly one (if the remaining hypergraph is still a strong hypertree) Useful when building the sequence of faces Lemma If x F T, then x u = x v, for all u, v V i, i {1,..., k}. Each class can be seen as a single vertex V k is selected if and only if no other class is selected
17 / 22 The Procedure: Lemma 3 Consider the graph G T obtained from G by: Contracting each class V i into a vertex v i V i, for i {1,..., k 1} Removing the vertices of V k 1 2 5 3 4 6 8 6 5 4 8 7 7
17 / 22 The Procedure: Lemma 3 Consider the graph G T obtained from G by: Contracting each class V i into a vertex v i V i, for i {1,..., k 1} Removing the vertices of V k Lemma If V 0 has no neighbors in V K then F T is affinely isomorphic to STAB(G T ).
17 / 22 The Procedure: Lemma 3 Consider the graph G T obtained from G by: Contracting each class V i into a vertex v i V i, for i {1,..., k 1} Removing the vertices of V k Lemma If V 0 has no neighbors in V K then F T is affinely isomorphic to STAB(G T ).
17 / 22 The Procedure: Lemma 3 Consider the graph G T obtained from G by: Contracting each class V i into a vertex v i V i, for i {1,..., k 1} Removing the vertices of V k Lemma If V 0 has no neighbors in V K then F T is affinely isomorphic to STAB(G T ).
17 / 22 The Procedure: Lemma 3 Consider the graph G T obtained from G by: Contracting each class V i into a vertex v i V i, for i {1,..., k 1} Removing the vertices of V k Lemma If V 0 has no neighbors in V K then F T is affinely isomorphic to STAB(G T ).
17 / 22 The Procedure: Lemma 3 Consider the graph G T obtained from G by: Contracting each class V i into a vertex v i V i, for i {1,..., k 1} Removing the vertices of V k Lemma If V 0 has no neighbors in V K then F T is affinely isomorphic to STAB(G T ).
17 / 22 The Procedure: Lemma 3 Consider the graph G T obtained from G by: Contracting each class V i into a vertex v i V i, for i {1,..., k 1} Removing the vertices of V k Lemma If V 0 has no neighbors in V K then F T is affinely isomorphic to STAB(G T ).
18 / 22 The Procedure: Main Theorem Theorem Suppose that V 0 has no neighbors in V K. If X π v x v π (1) v V (G T ) is facet-defining for STAB(G T ), then there exists α Q, Q Q T, such that X π v x v + X α Q (x Q 1) π (2) Q Q T v V (G T ) is facet-defining for STAB(G). Sketch of the proof. The inequality (1) is facet-defining for F T (lemma 3) Remove one hyperedge at a time from T, but keeping it a strong hypertree Each removal increases dim(f T ) by exactly one (lemma 1) We have the sequence needed for the procedure outlined previously
19 / 22
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7
20 / 22 The Procedure: 1 5 4 6 8 7 P 8 i=4 x i 1 is facet-defining for STAB(G T )
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7 P 8 i=4 x i 1 is facet-defining for F T
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7 P 8 i=4 x i 8 1 is facet-defining for F T < P α = max 8 : i=4 x i 1 : x STAB(G), x 1 + x 2 + x 3 = 0, x 1 + x 3 + x 4 = 1, x 1 + x 4 + x 5 = 1 9 = ; = 1
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7 P 3 i=1 x i + P 8 i=4 x i 2 is facet-defining for F T
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7 P 3 i=1 x i + P 8 8 i=4 x i 2 is facet-defining for F T 9 < P α = max 3 : i=1 x i + P = 8 i=4 x i 2 : x STAB(G), x 1 + x 3 + x 4 = 0, x 1 + x 4 + x 5 = 1 ; = 1
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7 2x 1 + x 2 + 2x 3 + 2x 4 + P 8 i=5 x i 3 is facet-defining for F T
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7 2x 1 + x 2 + 2x 3 + 2x 4 + P 8 8 i=5 x i 3 is facet-defining for F T < α = max : 2x 1 + x 2 + 2x 3 + 2x 4 + P 8 i=5 x i 3 : x STAB(G), x 1 + x 4 + x 5 = 0 9 = ; = 0
20 / 22 The Procedure: 1 1 2 5 3 4 6 8 7 2x 1 + x 2 + 2x 3 + 2x 4 + P 8 i=5 x i 3 is facet-defining for STAB(G)
21 / 22 Concluding Remarks We presented a new facet generating procedure which: Unifies and generalizes many previous procedures Generates new facet-defining inequalities
21 / 22 Concluding Remarks We presented a new facet generating procedure which: Unifies and generalizes many previous procedures Generates new facet-defining inequalities We also introduced the concept of strong hypertree
21 / 22 Concluding Remarks We presented a new facet generating procedure which: Unifies and generalizes many previous procedures Generates new facet-defining inequalities We also introduced the concept of strong hypertree Future research: Use the procedure to find new facet producing subgraphs Apply the main idea to other polytopes: Find faces that are affinely isomorphic to known polytopes Convert their facets into facets of the polytope
Thank you! 22 / 22