safe lower bounds for graph coloring
play

Safe Lower Bounds for Graph Coloring Stephan Held joint work with - PowerPoint PPT Presentation

Safe Lower Bounds for Graph Coloring Stephan Held joint work with Edward C. Sewell and William Cook Aussois Janurary, 2011 Outline The Coloring IP A new algorithm for finding maximum-weight stable sets Safe computations with inaccurate


  1. Safe Lower Bounds for Graph Coloring Stephan Held joint work with Edward C. Sewell and William Cook Aussois Janurary, 2011

  2. Outline The Coloring IP A new algorithm for finding maximum-weight stable sets Safe computations with inaccurate floating-point arithmetic Computational results

  3. The Graph Coloring Problem Graph Coloring A coloring c : V ( G ) → N assigns colors/numbers to the vertices such that adjacent vertices are colored differently. The minimum number χ ( G ) of colors needed to color the vertices is called the chromatic number.

  4. Colorings & Stable Sets Given a graph G = ( V , G ) and a coloring c , each color class [ v ] c = { w ∈ V ; c ( v ) = c ( w ) } is a stable set, i.e. { v 1 , v 2 } �∈ E for all v 1 , v 2 ∈ [ v ] c . Alternative Definition A coloring is a partition of V into stable sets.

  5. Colorings & Stable Sets Given a graph G = ( V , G ) and a coloring c , each color class [ v ] c = { w ∈ V ; c ( v ) = c ( w ) } is a stable set, i.e. { v 1 , v 2 } �∈ E for all v 1 , v 2 ∈ [ v ] c . Alternative Definition A coloring is a partition of V into stable sets.

  6. Coloring IP for Computing χ ( G ) Let G be a graph and S be the set of stable sets in G � min χ ( G ) = x S S ∈S � (CIP) x S = 1 ∀ v ∈ V s . t . S ∈S : v ∈ S x S ∈ { 0 , 1 } ∀ S ∈ S The LP-relaxation � min χ f ( G ) := x S S ∈S � (CLP) x S ≥ 1 ∀ v ∈ V s . t . S ∈S : v ∈ S x S ∈ [ 0 , 1 ] ∀ S ∈ S defines a lower bound ⌈ χ f ( G ) ⌉ for (CIP). χ f ( G ) is called the fractional chromatic number.

  7. Coloring IP for Computing χ ( G ) Let G be a graph and S be the set of maximal stable sets in G � min χ ( G ) = x S S ∈S � (CIP) x S ≥ 1 ∀ v ∈ V s . t . S ∈S : v ∈ S x S ∈ { 0 , 1 } ∀ S ∈ S The LP-relaxation � min χ f ( G ) := x S S ∈S � (CLP) x S ≥ 1 ∀ v ∈ V s . t . S ∈S : v ∈ S x S ∈ [ 0 , 1 ] ∀ S ∈ S defines a lower bound ⌈ χ f ( G ) ⌉ for (CIP). χ f ( G ) is called the fractional chromatic number.

  8. Coloring IP for Computing χ ( G ) Let G be a graph and S be the set of maximal stable sets in G � min χ ( G ) = x S S ∈S � (CIP) x S ≥ 1 ∀ v ∈ V s . t . S ∈S : v ∈ S x S ∈ { 0 , 1 } ∀ S ∈ S The LP-relaxation � min χ f ( G ) := x S S ∈S � (CLP) x S ≥ 1 ∀ v ∈ V s . t . S ∈S : v ∈ S x S ∈ [ 0 , 1 ] ∀ S ∈ S defines a lower bound ⌈ χ f ( G ) ⌉ for (CIP). χ f ( G ) is called the fractional chromatic number.

  9. Column Generation Given a proper subset S ′ ⊂ S of stable sets and a dual optimum solution ( π v ) v ∈ V to the restricted LP � min x S S ∈S ′ � (CLP-r) x S ≥ 1 ∀ v ∈ V s . t . S ∈S ′ : v ∈ S ∀ S ∈ S ′ , x S ∈ [ 0 , 1 ] a set S ∈ S \ S ′ can improve (CLP-r) only if � π v > 1 . v ∈ S

  10. Column Generation Given a proper subset S ′ ⊂ S of stable sets and a dual optimum solution ( π v ) v ∈ V to the restricted LP � min x S S ∈S ′ � (CLP-r) x S ≥ 1 ∀ v ∈ V s . t . S ∈S ′ : v ∈ S ∀ S ∈ S ′ , x S ∈ [ 0 , 1 ] a set S ∈ S \ S ′ can improve (CLP-r) only if � π v > 1 . v ∈ S

  11. Maximum-Weight-Stable-Set-Problem (MWSS) Given a dual optimum solution ( π v ) v ∈ V we have to solve a maximum-weight stable set problem: � α π ( G ) := max π v y v v ∈ V y v + y w ≤ 1 s . t . ∀{ v , w } ∈ E y v ∈ { 0 , 1 } ∀ v ∈ V (MWSS) If � v ∈ V π v y v ≤ 1 : The current solution x is optimum for (CLP) and χ f ( G ) = � v ∈ V π v . If � v ∈ V π v y v > 1 : { v ∈ V ; y v = 1 } is an improving stable set

  12. Solving (CLP) Previous Work Mehrotra & Trick (1996) demonstrated the efficacy of branch & price on many (small) DIMACS benchmarks: χ f ( G ) close to χ ( G ) on most instances branch & price is “fast” Recently, Gualandi and Malucelli (2010) Malaguti, Monaci and Toth (2010) applied branch & price again.

  13. Solving (CLP) Previous Work Mehrotra & Trick (1996) demonstrated the efficacy of branch & price on many (small) DIMACS benchmarks: χ f ( G ) close to χ ( G ) on most instances branch & price is “fast” Recently, Gualandi and Malucelli (2010) Malaguti, Monaci and Toth (2010) applied branch & price again.

  14. Open Questions How to solve the MWSS-problems efficiently? bottleneck for Gualandi and Malucelli (2010) and Malaguti et al. (2010) How to avoid the inaccuracy of floating-point arithmetic? Gurobi 3.0.0 returned χ f ( G ) = 16 . 0000000000001315 on queen16_16 , when column generation terminated. But 17 = ⌈ χ f ( G ) ⌉ is not a valid lower bound! Also: MWSS subproblems must be solved exactly!

  15. Solving the Maximum-Weight-Stable-Set-Problem Most improving columns can be found by Heuristics 1 greedy start solution 2 improved by local search . . . but eventually we have to solve the problem exactly!

  16. Solving the Maximum-Weight-Stable-Set-Problem Exact Algorithms IP: Branch & Cut efficient for sparse graphs DIMACS benchmarks are dense: 3 000% integrality gap after adding clique and odd hole cuts. floating-point uncertainty Combinatorial Enumeration Östergård (2002), a.k.a. CLIQUER: Fastest for dense graphs (edge density ∼ 0 . 9) with sparse complement. Sewell (1993): Fast algorithm for unweighted graphs and edge densities ∼ 0 . 1 − 0 . 8 (variant of Balas and Yu’s branching scheme) | E | here: edge density of a graph G = ( V , E ) : | V | ( | V |− 1 ) / 2

  17. A New Combinatorial Branch & Bound Algorithm Variant of Balas & Yu (1986), Balas & Xue (1992), and Sewell (1998) Notation current stable set S blocked vertices X ( S ∪ { x } �⊂ S opt ∀ x ∈ X ) free vertices F (used to grow S ) High-level idea Starting with S = ∅ , F = V , and X = ∅ the algorithms enumerates all solutions recursively.

  18. A New Combinatorial Branch & Bound Algorithm Variant of Balas & Yu (1986), Balas & Xue (1992), and Sewell (1998) Notation current stable set S blocked vertices X ( S ∪ { x } �⊂ S opt ∀ x ∈ X ) free vertices F (used to grow S ) High-level idea Starting with S = ∅ , F = V , and X = ∅ the algorithms enumerates all solutions recursively.

  19. A New Combinatorial Branch & Bound Algorithm Variant of Balas & Yu (1986), Balas & Xue (1992), and Sewell (1998) Notation current stable set S blocked vertices X ( S ∪ { x } �⊂ S opt ∀ x ∈ X ) free vertices F (used to grow S ) High-level idea Starting with S = ∅ , F = V , and X = ∅ the algorithms enumerates all solutions recursively.

  20. A New Combinatorial Branch & Bound Algorithm Basic recursion (Balas & Yu 1986) function mwss_recursion (S,F,X) Choose branching vertices: F ′′ = { f 1 , f 2 , . . . , f p } ⊆ F for i = p down to 1 do F i = F \ ( N ( f i ) ∪ { f i , f i + 1 , . . . , f p } ) ; mwss_recursion ( S ∪ { f i } , F i , X ) ; X = X ∪ { f i } ; end for end function

  21. A New Combinatorial Branch & Bound Algorithm Basic recursion (Balas & Yu 1986) function mwss_recursion (S,F,X) Choose branching vertices: F ′′ = { f 1 , f 2 , . . . , f p } ⊆ F for i = p down to 1 do F i = F \ ( N ( f i ) ∪ { f i , f i + 1 , . . . , f p } ) ; mwss_recursion ( S ∪ { f i } , F i , X ) ; X = X ∪ { f i } ; end for end function In our example

  22. A New Combinatorial Branch & Bound Algorithm function mwss_recursion (S,F,X) Choose branching vertices: F ′′ = { f 1 , f 2 , . . . , f p } ⊆ F for i = p down to 1 do F i = F \ ( N ( f i ) ∪ { f i , f i + 1 , . . . , f p } ) ; mwss_recursion ( S ∪ { f i } , F i , X ) ; X = X ∪ { f i } ; end for end function Pruning I — Local Pruning The current branch can be pruned if ∃ x ∈ X with π x ≥ π (( S ∪ F ) ∩ N ( x )) Another branch using S \ N ( x ) ∪ { x } will yield a better solution.

  23. A New Combinatorial Branch & Bound Algorithm function mwss_recursion (S,F,X) Choose branching vertices: F ′′ = { f 1 , f 2 , . . . , f p } ⊆ F for i = p down to 1 do F i = F \ ( N ( f i ) ∪ { f i , f i + 1 , . . . , f p } ) ; mwss_recursion ( S ∪ { f i } , F i , X ) ; X = X ∪ { f i } ; end for end function Pruning II Let LB be a lower bound for α π ( G ) . The current branch can be pruned if π ( S ) + α π ( G [ F ]) ≤ LB . (requires a good upper bound for α π ( G [ F ]) ) G [ F ] = ( F , {{ v , w } ∈ E : v , w ∈ F } ) : induced subgraph

  24. Pruning II — An Upper Bound for α π ( G ) Balas & Xue (1991) proposed weighted clique covers. Weighted Clique Covers A weighted clique cover for ( G , π ) is a set of cliques K 1 , . . . , K r together with a positive weight Π i for each K i such that for each v ∈ V : � π v ≤ Π i . i : v ∈ K i r � The weight of the weighted clique cover is Π i . The minimum i = 1 weight of a clique cover is called Φ π ( G ) and we have r � α π ( G ) ≤ Φ π ( G ) ≤ Π i . i = 1 We find clique covers greedily similar to Babel (1994).

  25. Branching — Choosing the branching vertices F ′′ Suppose that F ′ ⊆ F and it can be shown that α π ( G [ F ′ ]) ≤ LB − π ( S ) . Let F ′′ = F \ F ′ = { f 1 , f 2 , . . . , f p } and let F i = F \ ( N ( f i ) ∪ { f i , f i + 1 , . . . , f p } ) . If α π ( G [ F ]) > LB − π ( S ) , then α π ( G [ F ]) = max i = 1 ,..., p π f i + α π ( G [ F i ]) . Branching I — Extended Weighted Clique Cover Heuristic “Good” sets F ′ and F ′′ can be found, while growing the clique cover.

Recommend


More recommend