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
Jan 21, 2016
Multicommodity flow, well-linked terminals and routing problems
Chandra ChekuriLucent 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 disjointNDP: paths are node disjointAN-Flow: flow of one unit per pair with
edge/node capacity equal to 1
Disjoint paths vs An-Flow
s1 s2
t1t2
s1
s2
t1t2
1/2
1/2
1/2
1/2
Setup
Terminals: X = {s1,t1,s2,t2,...,sk,tk}each terminal occurs in exactly one pair, |X|
= 2kPairs: matching M on XInstance: (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 2 P, 0 otherwisexi : 1 if siti is routed, 0 otherwise
max i xi s.t
xi = p 2 P(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 2 Pxi : amount of flow routed for siti
max i xi s.t
xi = p 2 P(i) f(p) 1 · i · k
p: e 2 p f(p) · 1 e 2 E
xi, 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 dij flow for node pair ij
Product MC Flow instance: node weights : V ! R+
implicitly defines d with dij = (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 ¸ 1d 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-linkedX 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, MX = {s1, t1, s2, t2, ..., sk, tk} – terminal setM : matching on X
(s1,t1), (s2,t2) ... (sk,tk)
X is well-linked in G
Well-linked instance: weighted
Input instance: G, X, MX = {s1, t1, s2, t2, ..., sk, tk} – terminal setM : matching on X
(s1,t1), (s2,t2) ... (sk,tk)
X is -well-linked in G for some : X ! R+
Assume: (v) · 1
Examples
s1 t1
s2 t2
s3 t3
s4 t4
Not a well-linked instance
s1 t1
s2 t2
s3 t3
s4 t4
A well-linked instance
Well-linked Decomposition
G, X, M
G1, X1, M1
Mi ½ M
Xi is well-linked in Gi
i |Xi| ¸ OPT/
G2, X2, M2
Gr, Xr, Mr
edge disjoint subgraphs
Example
s1 t1
s2 t2
s3 t3
s4 t4
s1 t1
s2 t2
s3 t3
s4 t4
Well-linked Decomposition via Flow
G, X, M
Flow f
G1, X1, M1
Xi is i-flow-well-linked in Gi
i i(Xi) ¸ f/
G2, X2, M2
Gr, Xr, Mr
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]simplebetter ratioapplies to node problems
Trees
Define : X ! R+
(sj) = (tj) = fj 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
ce < (S)/10
terminals in S are -well-linked!
Decomposition using Sparse Cuts
Start with LP soln for given instancefj flow for pair sjtj : assume flow
decompositionf = j fj total flow in LP
define : X ! R+
(sj) = (tj) = fj
Decomposition Algorithm
If X is / 10 (G) log k-flow-linked STOP
ElseFind a (approx) sparse cut (S,V-S) wrt in GRemove flow on edges of G(S)
G1 = G[S], G2 = G[V-S]
Recurse on G1, G2 with remaining flow
Analysis
Remaining graphs at end of recursion(G1,X1,1) , (G2,X2,2) , ...., (Gh, Xh, h)
i is the remaining flow for Xi
Xi is i /10 (G) log k flow-linked in G_i
i i(Xi) ¸ 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(f1) + T(f2) + f1 / 10 log k
For f · k, T(f) · f/2
Analysis contd
i i (Xi) ¸ f/2
Xi 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 rTv : subtree rooted at v
Can assume maximum degree of T is 4
1. Find deepest node u s.t (Tu) ¸ 1
Note:(Tu) · 5
2. Remove Tu from T3. Continue until (T) · 1
Spanning tree clustering
0.5 0.7 0.1 0.3
0.4
0.2
0.3
0.8 0.4
0.4
0.6
Spanning tree clustering
0.5 0.7 0.1 0.3
0.4
0.2
0.3
0.8 0.4
0.4
0.6
0.5 0.7
0.2
0.3
0.8 0.40.1 0.3
0.4
0.4
0.6
Tree clustering
T1, T2, ..., Th clusters
Claim: h = ((X))
Y is a set of representatives if Y Å Ti · 1 for all i
Lemma: Y is ½ - flow-well-linked
Representatives are well-linked
0.5 0.7
0.2
0.3
0.1 0.3
0.4
0.4
0.6
0.8 0.4
Representatives
Need representatives Y such that Y ½ Xi
Y induces a large submatching of Mi
Simple greedy scheme workspick si and ti
remove all terminals in trees of si and ti
continue
Node case
Well-linked decomposition same as for edge caseUse 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 (log1/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 NP-hardSolvable
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.tT(G) approximates G w.r.t sparse cutsApproximation factor – O((G) log n log log n)
[Harrelson-Hildrum-Rao04]
Apply algo. on T(G) to get decomposition for GLoss: polylog(n)