440 likes | 594 Views
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
E N D
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 s1t1, s2t2, ..., sktk Goal: Route a maximum # of si-ti 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
s1 s1 s2 s2 1/2 1/2 1/2 t2 t1 t2 t1 1/2 Disjoint paths vs An-Flow
Setup Terminals: X = {s1,t1,s2,t2,...,sk,tk} 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 si and ti P = P(1)[ P(2) ... [P(k) f(p) : 1 if flow on path p 2P, 0 otherwise xi: 1 if siti is routed, 0 otherwise max åi xi s.t xi = åp 2P(i) f(p) 1 · i · k åp: e 2 p f(p)·1 e 2 E xi, f(p) 2{0,1}
Multicommodity Flow Formulation (LP) P(i) : set of paths between si and ti P = P(1)[ P(2) ... [P(k) f(p) : flow on path p 2P xi: amount of flow routed forsiti max åi xi s.t xi = åp 2P(i) f(p) 1 · i · k åp: e 2 p f(p)·1 e 2 E xi, f(p) 2[0,1]
Framework • Start with an LP solution. • Use LP solution to decompose the input instance into a collection well-linked instances. • 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 dijflowfor node pair ij Product MC Flow instance: • node weightsp : V ! R+ • implicitly defines d with dij = p(i)p(j) / p(V)
Sparse Cuts and Multicomm. Flow Given a cut (S, V-S) in G and demand matrix d: sparsity of S = |d(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 = W(log n) [LR88,LLR94,AR94] For product MC Flow in planar G, sparisty of W(1) sufficient [KPR93] Flow-cut gap b(G): minimum sparsity reqd for guaranteeing mc flow
S V - S Cut-Well-linked Set Subset X iscut-well-linkedin G if for every partition (S,V-S) , # of edges cut is at least # of X vertices in smaller side for all S ½ V with |S Å X| · |X|/2, |d(S)| ¸ |S Å X|
Flow-Well-linked Set Subset X isflow-well-linkedin 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 p(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 b(G) b(G) – worst case flow-cut gap for product multicommodity instances in G
Weighted versions p: X !R+weight function on X p(v) : weight of v in X p-cut-linked: for all S ½ V with p(S Å X) ·p(X)/2, |d(S)| ¸ p(S Å X) p-flow-linked: multicommodity flow instance with d(uv) = p(u) p(v) / p(X) is feasible in G
Input instance: G, X, M X = {s1, t1, s2, t2, ..., sk, tk} –terminal set M :matching on X (s1,t1), (s2,t2) ... (sk,tk) X is well-linked in G Well-linked instance of EDP
Input instance: G, X, M X = {s1, t1, s2, t2, ..., sk, tk} –terminal set M :matching on X (s1,t1), (s2,t2) ... (sk,tk) X is p-well-linked in G for somep: X !R+ Assume:p(v) · 1 Well-linked instance: weighted
s1 s1 t1 t1 s2 s2 t2 t2 s3 s3 t3 t3 s4 s4 t4 t4 Examples Nota well-linked instance A well-linked instance
Well-linked Decomposition G, X, M edge disjoint subgraphs G1, X1, M1 G2, X2, M2 Gr, Xr, Mr Mi½ M Xi is well-linked in Gi åi |Xi| ¸ OPT/a
s1 s1 t1 t1 Example s2 t2 s2 t2 s3 t3 s4 t4 s3 t3 s4 t4
Well-linked Decomposition via Flow G, X, M Flow f G1, X1, M1 G2, X2, M2 Gr, Xr, Mr Xi is pi-flow-well-linked in Gi åipi(Xi) ¸ f/a
Decomposition via trees/Racke Simple decomposition for trees: a = 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 p: X !R+ p(sj) = p(tj) = fjthe flow in LP Suppose X is p/10-flow-well-linked done! Otherwise exists cut of sparsity less than 1/10 Pick sparse cut (S,V-S) with S minimal
Trees ce< p(S)/10 V - S S terminals in S are p-well-linked!
Decomposition using Sparse Cuts Start with LP soln for given instance fjflow for pair sjtj: assume flow decomposition f = åj fj total flow in LP define p: X!R+ p(sj) =p(tj) = fj
Decomposition Algorithm If X is p / 10 b(G) log k-flow-linked STOP Else Find a (approx) sparse cut (S,V-S) wrt p in G Remove flow on edges of dG(S) G1= G[S], G2= G[V-S] Recurse on G1, G2with remaining flow
Analysis Remaining graphs at end of recursion (G1,X1,p1) , (G2,X2,p2) , ...., (Gh, Xh, ph) piis the remaining flow for Xi Xiispi /10 b(G) log k flow-linked in G_i åipi(Xi) ¸ Original flow - # edges cut
S V - S Bounding the number of edges cut X is notp / 10 b(G) log k flow-linked )|dG(S)|·p(S) / 10log k
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(f1) + T(f2) + f1 / 10 log k For f · k, T(f)· f/2
Analysis contd åipi (Xi) ¸ f/2 Xi is pi/10 b(G) log k flow-well-linked
Fractional to integer well-linked Theorem: G, X, M input instance. X is p-flow-well-linked. Then G, X’, M’ s.t • M’ ½ M, • X’ is flow-well-linked • |X’| = W(p(X))
Edge case: spanning tree clustering T spanning tree of G, rooted at r Tv: subtree rooted at v Can assume maximum degreeof T is 4 1. Find deepest node u s.tp(Tu) ¸ 1 Note:p(Tu) · 5 2. Remove Tufrom T 3. Continue untilp(T) · 1
Spanning tree clustering 0.3 0.6 0.4 0.2 0.4 0.3 0.8 0.4 0.5 0.7 0.1
0.8 0.4 0.5 0.7 Spanning tree clustering 0.3 0.6 0.3 0.6 0.4 0.4 0.2 0.2 0.4 0.4 0.3 0.8 0.4 0.5 0.7 0.1 0.3 0.1
Tree clustering T1, T2, ..., Th clusters Claim:h=W(p(X)) Y is a set ofrepresentativesif Y Å Ti· 1 for all i Lemma:Y is ½ - flow-well-linked
0.8 0.4 0.5 0.7 Representatives are well-linked 0.3 0.6 0.4 0.2 0.4 0.3 0.1
Representatives Need representatives Y such that • Y ½ Xi • Y induces a large submatching of Mi Simple greedy scheme works pick siand ti remove all terminals in trees of si and ti 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 W(log1/2 n) factor Implicitly from integrality gap results for all-or-nothing flow problem [Chuzhoy-Khanna05] Conjecture: W(log n)factor lower bound
Flow-cut gap thms[LR88 ...] ?? Flows, Cuts, and Integer Flows NP-hard Solvable NP-hard max integer flow · max frac flow · min multicut + 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 W(log n) ?
Open problems Improve upper/lower bounds on well-linked decomposition. Q(log n)? Approx algorithms for EDP/NDP in general graphs with congestion O(1) essentially reduced to a graph theory problem Directed graphs?
Trees to Graphs using Racke Hierarchical graph decomposition [Racke03] Given graph G, exists capacitated tree T(G) s.t T(G)approximatesG w.r.t sparse cuts Approximation factor – O(b(G) log n log log n) [Harrelson-Hildrum-Rao04] Apply algo. on T(G) to get decomposition for G Loss: polylog(n)