Multicommodity flow, well-linked terminals and routing problems Chandra Chekuri Lucent Bell Labs...

Preview:

Citation preview

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)

Recommended