Edge Disjoint Paths Revisited - University of Illinois at

Download Report

Transcript Edge Disjoint Paths Revisited - University of Illinois at

All-or-Nothing Multicommodity Flow
Chandra Chekuri
Bell Labs
Sanjeev Khanna
U. Penn
Bruce Shepherd
Bell Labs
Routing connections in networks
NY – SF
NY – SF
SE – DE
SF – DE
SE
5
DE
25
10
6
Core Optical
Network
10 Gb/sec
20
5
6
NY
20
Multicommodity Routing Problem


Network – graph with edge capacities
Requests: k pairs, (si, ti) with demand di
Objective: find a feasible routing for all pairs
Optimization: maximize number of pairs routed
All-or-Nothing Flow Problems
Pair is routed only if all of di satisfied
Single path for routing: unsplittable flow
(connection oriented networks)
Fractional flow paths: all-or-nothing flow
(packet routing networks)
Integer flow paths: all-or-nothing integer flow
(wavelength paths)
Complexity of AN-Flow
di = 1 for all i
Single path: edge disjoint paths problem (EDP)
classical problem, NP-hard
only polynomial approx ratios
AN-MCF: APX-hard on trees
approximation ?
Approximating EDP/AN-MCF
O(min(n2/3,m1/2)) approx in dir/undir graphs (EDP/UFP)
[Kleinberg 95, Srinivasan 97, Kolliopoulos-Stein 98, C-Khanna
03, Varadarajan-Venkataraman 04]
EDP is W(n1/2 - e)-hard to approx in directed graphs
[Guruswami-Khanna-Rajaraman-Shepherd-Yannakakis 99]
LP integrality gap for EDP is W(n1/2) [GVY 93]
AN-MCF: APX-hard on trees
[Garg-Vazirani-Yannakakis 93]
Results
In undirected graphs AN-MCF has an
O(log3 n log log n) approximation
Polynomial factor to poly-logarithmic factor
Approx via LP, integrality gap not large
For planar graphs O(log2 n log log n) approx
Same ratios for arbitrary demands: dmax · umin
Online algorithm with same ratio
LP Relaxation
xi : amount of flow routed for pair (si, ti)
max i xi
s.t
xi flow is routed for (si,ti)
0 · xi · 1
1·i·k
1·i·k
A Simple Fact
Given AN-MCF instance: all di = 1
Can find W(OPT) pairs such that each pair
routes 1/log n flow each
How? rand rounding of LP and scaling down
Problem: we need pairs that send 1 unit each
Nice Flow Paths
Suppose all flow paths use a single vertex v
s1
s2
v
t1
s3
s4
t2
t3
t4
Routing via Clustering
v



cluster has log n terminals
cluster induces a connected component
clusters are edge disjoint
Clustering
Finding connected edge-disjoint clusters?
G is connected: use a spanning tree for a rough
grouping of terminals
New copy of G for clustering: congestion 2
1 for clustering, 1 for routing
Congestion 1 using complicated clustering
How to find nice flow paths?
Algorithmic tool:
Racke’s hierarchical graph decomposition for
oblivious routing [Räcke02]
Räcke’s Graph Decomposition
Represent G as a capacitated tree T
3
10
4
v
4
2
7
leaves of T are vertices of G
internal node v: G(v) is induced
graph on leaves of T(v)
Räcke’s Result
T is a proxy for G
For all D
c*(D,G) · c(D,T) · a(G) c*(D,G)
Routing in T is unique
a(G) = O(log3 n) [Räcke 02]
a(G) = O(log2 n log log n) [Harrelson-Hildrum-Rao 03]
Routing details
With each v there is
distribution pv on G(v) s.t
i 2 G(v) pv(i) = 1
v
s distributes 1 unit of flow to
G(v) according to pv
s
t
t distributes 1 unit of flow to
G(v) according to pv
Back to Nice Flow Paths
X(v): pairs with v as their least common ancestor (lca)
s1
s2
s1
v
t1
s3
t2
s4
t4
Routing in T
t3
G(v), pv
t1
s2
s3
t2
s4
t4
Routing in G
t3
Algorithm




Find set of pairs X that can be routed in T
(use tree algorithm [GVY93,CMS03])
Each pair (si,ti) in X has a level L(i)
Choose level L* at which most pairs turn
Route pairs independently in subgraphs at L*
L*
v
Algorithm cont’d



v at L* , X(v) pairs in X that turn at v
Can route 1/a(G) flow for each pair in X(v)
using nice flow paths
Use clustering to route X(v)/a(G) pairs
Approx ratio is
a(G) depth(T) = O(log3 n log log n)
Open Problems



Improve approximation ratio
What is integrality gap of LP ?
No super-constant gap known
Extend ideas to EDP

Recent result: Poly-log approximation for EDP/UFP
in planar graphs with congestion 3