5.
Motivation Applications: Load balancing for parallel computing, Preprocessing step for some road network algorithms, Divide-and-conquer (e.g. VLSI design). Possible approaches: NP-hard, O(log n) best approximation [R¨cke ’08]. a In practice: approximate solutions or high(er) running time. Heuristics: numerous very fast, good solvers. often tailored to certain graph classes (e.g. road networks), no guarantees on the quality of solution (let alone optimality). We want exact algorithms!
6.
Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to ﬁnd the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ).
7.
Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to ﬁnd the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ). Branch: pick v ∈ V (A ∪ B), split (A, B) into (A ∪ {v }, B) and (A, B ∪ {v }).
8.
Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to ﬁnd the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ). Branch: pick v ∈ V (A ∪ B), split (A, B) into (A ∪ {v }, B) and (A, B ∪ {v }). Bound: if L ≥ U, then we can throw (A, B) away, where U: best known bisection (updated on-line), L: lower bound on all bisections consistent with (A, B).
9.
Branch and Bound Standard technique for solving NP-hard problems exactly. We keep track of A, B ⊆ V . Want to ﬁnd the best bisection that is consistent with (A, B) (i.e. A ⊆ V1 , B ⊆ V2 ). Branch: pick v ∈ V (A ∪ B), split (A, B) into (A ∪ {v }, B) and (A, B ∪ {v }). Bound: if L ≥ U, then we can throw (A, B) away, where U: best known bisection (updated on-line), L: lower bound on all bisections consistent with (A, B). Crucial ingredient: computing the lower bound L.
10.
Known lower bounds Linear programming [FMdSWW ’98] [S ’01] hundreds of nodes, several hours, Semideﬁnite programming [AFHM ’08] up to 6000 nodes, several hours, Combinatorial multicommodity ﬂow solver [SST ’03] hundreds of nodes, several hours, Degree-based simple combinatorial bound [F ’05] random graphs up to 50 nodes, several minutes.
11.
Summary Our result: Exact combinatorial algorithm for graph bisection works well for graphs with a small minimum bisection road networks, VLSI instances, meshes... solves much larger instances than previous approaches. Main contributions: new lower bound techniques branching rules novel decomposition technique
12.
Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B),
13.
Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B), Obvious bound: min-cut (max-ﬂow) between A and B,
14.
Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B), Obvious bound: min-cut (max-ﬂow) between A and B, Pros: easy to compute, if cut is balanced, then we can update the upper bound,
15.
Flow-based lower bound We have A, B ⊆ V and want to lower-bound all bisections that are consistent with (A, B), Obvious bound: min-cut (max-ﬂow) between A and B, Pros: easy to compute, if cut is balanced, then we can update the upper bound, Cons: if |A| |B|, then max-ﬂow is too small, in sparse graphs minimum cuts are typically very unbalanced.
16.
Packing lower bound Let A, B ⊆ V be a current partial assignment,
17.
Packing lower bound Let A, B ⊆ V be a current partial assignment, ˜ Let A be an extension of A of size |V |/2,
18.
Packing lower bound Let A, B ⊆ V be a current partial assignment, ˜ Let A be an extension of A of size |V |/2, ˜ Λ = minA cut(A, B) is a valid lower bound ˜ ˜ ˜ cut(A, B): min-cut between A and B.
19.
Packing lower bound Let A, B ⊆ V be a current partial assignment, ˜ Let A be an extension of A of size |V |/2, ˜ Λ = minA cut(A, B) is a valid lower bound ˜ ˜ ˜ cut(A, B): min-cut between A and B. We want a lower bound for Λ.
20.
Packing lower bound We lower bound Λ as follows.
21.
Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B.
22.
Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B. If a subset of V of size n/2 hits k cells...
23.
Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B. If a subset of V of size n/2 hits k cells... ...we have a ﬂow between the set and B of value k.
24.
Packing lower bound We lower bound Λ as follows. We partition free nodes into cells connected to B. If a subset of V of size n/2 hits k cells... ...we have a ﬂow between the set and B of value k. The worst case (lower bound) is when fewest cells are hit: pick entire cells, from biggest to smallest. ⇒ balanced cells are better
25.
Flow + Packing We can combine ﬂow and packing lower bounds by removing ﬂow edges before computing cells.
26.
Flow + Packing We can combine ﬂow and packing lower bounds by removing ﬂow edges before computing cells.
28.
Local search For lower bound we pick cells from biggest to smallest, Balanced cells are better, Before local search 140 120 100 80 size 60 40 20 0 0 5 10 15 20 25 30 35 cell
29.
Local search For lower bound we pick cells from biggest to smallest, Balanced cells are better, We do very fast local search that swaps nodes between cells. Before local search 140 After local search 120 100 80 size 60 40 20 0 0 5 10 15 20 25 30 35 cell
32.
Branching rule and forced assignments Branch on vertex likely to increase L the most: 1. far from A and B (to produce better cells) 2. well connected to other vertices (to increase ﬂow) Forced assignments: use logical implications to ﬁx some vertices to A or B works if upper and lower bounds are close eliminate many potential branching nodes
35.
Branching on regions Algorithm is very sensitive to the degrees of assigned nodes. Idea: branch on larger (precomputed) regions. Problem: a region can cross the minimum bisection.
36.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
37.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
38.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
39.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
40.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
41.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 .
42.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 . For every i, contract Ei and solve a smaller problem.
43.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 . For every i, contract Ei and solve a smaller problem. The minimum bisection (of size ≤ L) can not intersect all Ei .
44.
Decomposition Suppose we want to prove lower bound L. Divide edges into L + 1 disjoint sets E1 , E2 , . . . , EL+1 . For every i, contract Ei and solve a smaller problem. The minimum bisection (of size ≤ L) can not intersect all Ei . Ei should be a set of clumps (high degree, well spread).
54.
Walshaw instances Standard benchmark for graph partitioning. instance n m opt BB nodes time (s) add32 4 960 9 462 11 225 3 uk 4 824 6 837 19 1 624 3 3elt 4 720 13 722 90 12 707 82 whitaker3 9 800 28 989 127 7 044 133 fe 4elt2 11 143 32 818 130 10 391 224 4elt 15 606 45 878 139 25 912 769 data 2 851 15 093 189 495 569 759 5 750 388 Optimum bisections were known before, but without proofs.
55.
Instances from “exact” literature State-of-the-art approaches: [Arm07]: semideﬁnite programming [HPZ11]: quadratic programming instance n m opt time [Arm07] [HPZ11] KKT putt01 m2 115 433 28 0.81 1.67 1.51 mesh.274.469 274 469 37 0.03 8.52 24.62 gap2669.24859 2669 29037 55 0.15 348.95 — taq170.424 170 4317 55 3.00 28.68 — gap2669.6182 2669 12280 74 34.90 651.03 — taq1021.2253 1021 4510 118 134.61 169.65 — Our algorithm is much worse when the answer is large.
56.
Conclusions Combinatorial branch-and-bound for graph bisections. Answer size matters much more than problem size. Challenge: solve Europe (18M vertices, 22.5M edges).
Be the first to comment