Multicommodity flow, well-linked terminals and routing problems Chandra Chekuri Lucent Bell Labs Joint work with Sanjeev Khanna and Bruce Shepherd Mostly based on paper in STOC ‘05
Routing Problems Input: Graph G(V,E), node pairs s 1 t 1, s 2 t 2,..., s k t k Goal: Route a maximum # of s i -t i pairs Route? EDP: path for each pair, paths edge disjoint NDP: paths are node disjoint AN-Flow: flow of one unit per pair with edge/node capacity equal to 1
Disjoint paths vs An-Flow s1s1 s2s2 t1t1 t2t2 s1s1 s2s2 t1t1 t2t2 1/2
Setup Terminals: X = {s 1,t 1,s 2,t 2,...,s k,t k } each terminal occurs in exactly one pair, |X| = 2k Pairs: matching M on X Instance: (G,X,M) unit capacity graph Focus: edge problems, EDP and An-flow.
Multicommodity Flow Formulation (IP) P (i) : set of paths between s i and t i P = P (1) [ P (2)... [ P (k) f(p) : 1 if flow on path p 2 P, 0 otherwise x i : 1 if s i t i is routed, 0 otherwise max i x i s.t x i = p 2 P (i) f(p) 1 · i · k p: e 2 p f(p) · 1 e 2 E x i, f(p) 2 {0,1}
Multicommodity Flow Formulation (LP) P (i) : set of paths between s i and t i P = P (1) [ P (2)... [ P (k) f(p) : flow on path p 2 P x i : amount of flow routed for s i t i max i x i s.t x i = p 2 P (i) f(p) 1 · i · k p: e 2 p f(p) · 1 e 2 E x i, f(p) 2 [0,1]
Framework 1. Start with an LP solution. 2. Use LP solution to decompose the input instance into a collection well-linked instances. 3. Use well-linkedness to route large fraction
Outline Cut vs Flow well-linkedness Well-linked decomposition Multicommodity flow to well-linked decomp decomposition via cuts fractional well-linkedness to well-linkedness Conclusions
Multicommodity Flows MC Flow instance: capacitated graph G non-negative demand matrix d on V x V route d ij flow for node pair ij Product MC Flow instance: node weights : V ! R + implicitly defines d with d ij = (i) (j) / (V)
Sparse Cuts and Multicomm. Flow Given a cut (S, V-S) in G and demand matrix d: sparsity of S = | (S)| / d(S,V-S) MCflow for d is feasible in G implies sparsity ¸ 1 S V - S
Sparse Cuts and MC Flow MCflow for d is feasible in G implies sparsity ¸ 1 d is feasible in G if sparsity = (log n) [LR88,LLR94,AR94] For product MC Flow in planar G, sparisty of (1) sufficient [KPR93] Flow-cut gap (G): minimum sparsity reqd for guaranteeing mc flow
Cut-Well-linked Set Subset X is cut-well-linked in G if for every partition (S,V-S), # of edges cut is at least # of X vertices in smaller side S V - S for all S ½ V with |S Å X| · |X|/2, | (S)| ¸ |S Å X|
Flow-Well-linked Set Subset X is flow-well-linked in G if the following multicommodity flow is feasible in G: for u,v in X, d(uv) = 1/|X| product (uniform) multicommodity flow on X (u) = 1 if u 2 X = 0 otherwise
Cut vs Flow well-linked X flow-linked ) X is ~cut-linked X cut-linked ) X flow-linked with congestion (G) (G) – worst case flow-cut gap for product multicommodity instances in G
Weighted versions : X ! R + weight function on X (v) : weight of v in X -cut-linked: for all S ½ V with (S Å X) · (X)/2, | (S)| ¸ (S Å X) -flow-linked: multicommodity flow instance with d(uv) = (u) (v) / (X) is feasible in G
Well-linked instance of EDP Input instance: G, X, M X = {s 1, t 1, s 2, t 2,..., s k, t k } – terminal set M : matching on X (s 1,t 1 ), (s 2,t 2 )... (s k,t k ) X is well-linked in G
Well-linked instance: weighted Input instance: G, X, M X = {s 1, t 1, s 2, t 2,..., s k, t k } – terminal set M : matching on X (s 1,t 1 ), (s 2,t 2 )... (s k,t k ) X is -well-linked in G for some : X ! R + Assume: (v) · 1
Examples s1s1 t1t1 s2s2 t2t2 s3s3 t3t3 s4s4 t4t4 Not a well-linked instance s1s1 t1t1 s2s2 t2t2 s3s3 t3t3 s4s4 t4t4 A well-linked instance
Well-linked Decomposition G, X, M G 1, X 1, M 1 M i ½ M X i is well-linked in G i i |X i | ¸ OPT/ G 2, X 2, M 2 G r, X r, M r edge disjoint subgraphs
Example s1s1 t1t1 s2s2 t2t2 s3s3 t3t3 s4s4 t4t4 s1s1 t1t1 s2s2 t2t2 s3s3 t3t3 s4s4 t4t4
Well-linked Decomposition via Flow G, X, M Flow f G 1, X 1, M 1 X i is i -flow-well-linked in G i i i (X i ) ¸ f/ G 2, X 2, M 2 G r, X r, M r
Decomposition via trees/Racke Simple decomposition for trees: = O(1) Represent G as a tree (approximately) [Racke03] Done in [CKS04] Decomposition based on recursive cuts [CKS05] simple better ratio applies to node problems
Trees Define : X ! R + (s j ) = (t j ) = f j the flow in LP Suppose X is /10-flow-well-linked done! Otherwise exists cut of sparsity less than 1/10 Pick sparse cut (S,V-S) with S minimal
Trees S V - S c e < (S)/10 terminals in S are -well-linked!
Decomposition using Sparse Cuts Start with LP soln for given instance f j flow for pair s j t j : assume flow decomposition f = j f j total flow in LP define : X ! R + (s j ) = (t j ) = f j
Decomposition Algorithm If X is / 10 (G) log k-flow-linked STOP Else Find a (approx) sparse cut (S,V-S) wrt in G Remove flow on edges of G (S) G 1 = G[S], G 2 = G[V-S] Recurse on G 1, G 2 with remaining flow
Analysis Remaining graphs at end of recursion (G 1,X 1, 1 ), (G 2,X 2, 2 ),...., (G h, X h, h ) i is the remaining flow for X i X i is i /10 (G) log k flow-linked in G_i i i (X i ) ¸ Original flow - # edges cut
Bounding the number of edges cut X is not / 10 (G) log k flow-linked ) | G (S)| · (S) / 10 log k S V - S
Analysis cont Theorem: total number of edge cut is · f/2 T(x): max # of edges cut if started with flow x T(f) · T(f 1 ) + T(f 2 ) + f 1 / 10 log k For f · k, T(f) · f/2
Analysis contd i i (X i ) ¸ f/2 X i is i /10 (G) log k flow-well-linked
Fractional to integer well-linked Theorem: G, X, M input instance. X is -flow-well-linked. Then G, X’, M’ s.t M’ ½ M, X’ is flow-well-linked |X’| = ( (X))
Edge case: spanning tree clustering T spanning tree of G, rooted at r T v : subtree rooted at v Can assume maximum degree of T is 4 1. Find deepest node u s.t (T u ) ¸ 1 Note: (T u ) · 5 2. Remove T u from T 3. Continue until (T) · 1
Spanning tree clustering
Spanning tree clustering
Tree clustering T 1, T 2,..., T h clusters Claim: h = ( (X)) Y is a set of representatives if Y Å T i · 1 for all i Lemma: Y is ½ - flow-well-linked
Representatives are well-linked
Representatives Need representatives Y such that Y ½ X i Y induces a large submatching of M i Simple greedy scheme works pick s i and t i remove all terminals in trees of s i and t i continue
Node case Well-linked decomposition same as for edge case Use node-separators instead of edge separators Clustering is not straighforward (can’t assume degree bound) In [CKS05] weaker bounds than for edge case Recent work: same as for edge case. More technically involved
Lower Bounds Well-linked decomposition has to lose (log 1/2 n) factor Implicitly from integrality gap results for all-or- nothing flow problem [Chuzhoy-Khanna05] Conjecture: (log n) factor lower bound
Flows, Cuts, and Integer Flows max integer flow max frac flow min multicut · · NP-hard Solvable Flow-cut gap thms [LR88...] ?? + graph theory
Weaker decomp for planar graphs Well-linked decomp yields O(log n) approx for planar graph EDP (congestion 2) Recent result for planar EDP: O(1) approx with congestion 4 [CKS 05] Weaker decomp based on planar graph properties. Q: well-linked in planar loses (log n) ?
Open problems Improve upper/lower bounds on well-linked decomposition. (log n)? Approx algorithms for EDP/NDP in general graphs with congestion O(1) essentially reduced to a graph theory problem Directed graphs?
Thank You!
Trees to Graphs using Racke Hierarchical graph decomposition [Racke03] Given graph G, exists capacitated tree T(G) s.t T(G) approximates G w.r.t sparse cuts Approximation factor – O( (G) log n log log n) [Harrelson-Hildrum-Rao04] Apply algo. on T(G) to get decomposition for G Loss: polylog(n)