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
Disjoint paths vs An-Flow
s1
s2
s1
1/2
s2
1/2
t2
t1
t2
1/2
1/2
t1
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 2 P, 0 otherwise
xi : 1 if siti is routed, 0 otherwise
max i xi s.t
xi = p 2 P(i) f(p)
p: e 2 p f(p) · 1
xi, f(p) 2 {0,1}
1·i·k
e2E
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 P
xi : amount of flow routed for siti
max i xi s.t
xi = p 2 P(i) f(p)
p: e 2 p f(p) · 1
xi, f(p) 2 [0,1]
1·i·k
e2E
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 p : 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)
S
V-S
MCflow for d is feasible in G implies sparsity ¸ 1
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
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, |d(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
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
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 well-linked in G
Well-linked instance: weighted
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 some p: X ! R+
Assume: p(v) · 1
Examples
s1
s2
t1
t2
s3
s4
t3
t4
s1
s2
t1
t2
s3
s4
t3
t4
Not a well-linked instance
A well-linked instance
Well-linked Decomposition
G, X, M
edge disjoint subgraphs
G1, X1, M1
Mi ½ M
G2, X2, M2
Xi is well-linked in Gi
Gr, Xr, Mr
i |Xi| ¸ OPT/a
Example
s1
s2
t1
t2
s3
s4
t3
t4
s1
t1
s2
t2
s3
t3
s4
t4
Well-linked Decomposition via Flow
G, X, M
Flow f
G1, X1, M1
G2, X2, M2
Xi is pi-flow-well-linked in Gi
Gr, Xr, Mr
i pi(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) = fj the 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
fj flow 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, G2 with remaining flow
Analysis
Remaining graphs at end of recursion
(G1,X1,p1) , (G2,X2,p2) , ...., (Gh, Xh, ph)
pi is the remaining flow for Xi
Xi is pi /10 b(G) log k flow-linked in G_i
i pi(Xi) ¸ Original flow - # edges cut
Bounding the number of edges cut
X is not p / 10 b(G) log k flow-linked
) |dG(S)| · p(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 pi (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 degree of T is 4
1. Find deepest node u s.t p(Tu) ¸ 1
Note: p(Tu) · 5
2. Remove Tu from T
3. Continue until p(T) · 1
Spanning tree clustering
0.3
0.6
0.4
0.2
0.5
0.7
0.1
0.4
0.3 0.8
0.4
Spanning tree clustering
0.3
0.3
0.6
0.6
0.4
0.2
0.2
0.4
0.4
0.4
0.5
0.7
0.1
0.3 0.8
0.4
0.5
0.7
0.1
0.3
0.8
0.4
Tree clustering
T1, T2, ..., Th clusters
Claim: h = W(p(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.3
0.6
0.2
0.4
0.4
0.5
0.7
0.1
0.3
0.8
0.4
Representatives
Need representatives Y such that
Y ½ Xi
Y induces a large submatching of Mi
Simple greedy scheme works
pick si and 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-ornothing flow problem [Chuzhoy-Khanna05]
Conjecture: W(log n) factor lower bound
Flows, Cuts, and Integer Flows
NP-hard
max integer flow ·
??
Solvable
max frac flow
+ graph theory
NP-hard
·
min multicut
Flow-cut gap
thms [LR88 ...]
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?
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(b(G) log n log log n)
[Harrelson-Hildrum-Rao04]
Apply algo. on T(G) to get decomposition for G
Loss: polylog(n)
© Copyright 2026 Paperzz