single sink edge installation kunal talwar uc berkeley
Post on 20-Dec-2015
215 views
TRANSCRIPT
Single Sink Edge Installation
Kunal TalwarUC Berkeley
Problem Definition
Given: A graph G=(V,E) , sink ‘t Sources s1,s2,…, sm
k Discount types: “building” cost per unit length q
“routing” cost per unit length q
Find cheapest installation to route a unit of demand from each source si
Example
Given sources and the underlying graph
t
Find subgraph and cable type for each edge to minimize total cost
t
Example
Given sources and the underlying graphFind subgraph and cable type for each edge to minimize total cost
t
Related Work
Salman, et.al. ’97 - A constant factor for single cable type case (LASTs)Awerbuch, Azar ’98 - O(log n loglog n)- approximation (tree embedding)Meyerson, et.al. ’00 - O(log n) (comb.) Garg et.al. ’01 - O(k) (LP rounding)Guha et.al. ’01 - O(1) (you just heard !)This work – LP rounding - O(1).Goel, Estrin, ’03 – O(log n) oblivious to q,q
Special case
Only one cable typeExtraspecial subcases: If ) build steiner tree. If ) use shortest path tree.
In general, want a Light Approximate Shortestpath Tree
KRY ’94 – LASTs – tree of cost at most 2 times a given connecting tree, with dT(root,v) at most 3 times dG(root,v).
Single cable type: Algorithm
Build a steiner tree.Convert to LAST !
Analysis -OPT ¸ (optimal steiner tree).OPT ¸ v dG(s,v).
Cost = 2(steiner tree) + 3v dG(s,v) · 7OPT.
About OPT…
It’s a tree !As we travel from a source to sink Total traffic only increases… .. So thicker and thicker cables…
We let the LP know the above…
Integer Program
Variable zqe is 1 if edge e has
discount type q installedFlow variable fj
e;q is 1 if flow from j uses discount type q on edge eObjective function – cost of building the network –
Integer Program
Variable zqe is 1 if edge e has
discount type q installedFlow variable fj
e;q is 1 if flow from j uses discount type q on edge eObjective function – cost of building the network – cost of routing the demands –
Integer program
Subject to : Flow conservation Flow monotonicity Outflow =1 Route on edge e only if edge built Integrality contraints
Linear
Rounding the linear program
Top downUse the linear program solution to guide the algorithmUse the linear program cost as the lower bound
Algorithm outline
Tk = {t}
For each discount type q (from highest to lowest) Identify what to connect in this stage Connect it to Tq+1 with discount type q
to get Tq
Identifying what to connect
For a fractional solution f, flow from vj travels some average number
of edges on low discount types.
Identifying what to connect
For a fractional solution f, flow from vj
travels some average number of edges on low discount types.Beyond that radius, fractional solution uses high discount types
Identifying what to connect
For a fractional solution f, flow from vj
travels some average number of edges on low discount types.Beyond that radius, fractional solution uses high discount typesForm balls of radius Rq
j around node vj
Identifying what to connect
For a fractional solution f, flow from vj
travels some average number of edges on low discount types.Beyond that radius, fractional solution uses high discount typesForm balls of radius Rq
j around node vj
Select a set of non intersecting balls in increasing order of radii.
Identifying what to connect
For a fractional solution f, flow from vj travels some average number of edges on low discount types.Beyond that radius, fractional solution uses high discount typesForm balls of radius Rq
j around node vj
Select a set of non intersecting balls in increasing order of radii.Each node vl has a buddy within distance 4Rq
l
Identifying what to connect….
Identifying what to connect….
LessThan4Rq
j
vj
Connecting it…
Contract all selected ballsShrink Tq+1
Build a Steiner tree on the contracted nodesConvert to LASTEach selected vertex has a proxy in its ball at distance at most Rq
j
Connecting it ….
j
i
Connecting it ….
j
i
Connecting it ….
Less than Rqj
j
i
Connecting it ….
Less ThanRq
j
j
i
Connecting it ….
LessThanRq
jj
i
Each node (using its buddy) has someone in the tree Tq within Rq
j
Analysis: Building Cost
Key Lemma : Let (S) be the set of edges on the boundary of S ¶ B(vj,Rq
j), r 2 Sc. Let z,f be any feasible solution to the LP. Then
Proof :
Lemma proof:
t
Flow f
Flow (1-f)
vj
Lemma proof:
t
Flow f
Flow (1-f)
vj
S
A total flow of 1 leaves S
Flow crossing the boundary on low discounts reaches there on low discounts. (monotonicity)
Suppose the high discounts built at (S) < 1/2
Then > half the flow travels at least 2Rq
j on low discounts
This flow itself contributes > Rqj
to Rqj. Contradiction.
Lemma proved…
Lemma : Let (S) be the set of edges on the boundary of S ¶ B(vj,Rq
j), r 2 Sc. Let z,f be any feasible solution to the LP. Then
Lemma proved…
Lemma : Let (S) be the set of edges on the boundary of S ¶ B(vj,Rq
j), r 2 Sc. Let z,f be any feasible solution to the LP. Then
Recall that Steiner tree LP is:
Lemma proved…
Lemma : Let (S) be the set of edges on the boundary of S ¶ B(vj,Rq
j), r 2 Sc. Let z,f be any feasible solution to the LP. Then
Recall that Steiner tree LP is:
i.e. 2p¸ q zqe is a feasible fractional Steiner
tree.
Building Cost (contd…)
Steiner tree LP has gap · 2Hence our steiner tree cost is no more than 2q times e p¸ q zp
e.
Thus the LASTq is no more than twice this.Let OPTb
q = OPT’s building cost for discount type q.Then LASTq cost is 8p¸ q (q/p)OPTb
p
Scaling…
We prune the discount types in the beginning to be
sure that they are all different enough !More formally, ensure q+1 ¸ 2 q
q+1 · (1/2) q
Can be done with a factor 2 change in cost
Building Cost (contd…)
p ¸ 2p-qq
LASTq cost is 8p¸ q (q/p)OPTbp
Now things work out fine ! We get :
Total building cost · 16 OPTb
Routing costs
Path from v to t uses increasingly higher discount type. Let the path be v=u0,u1,…uk=t uq- uq+1 uses discount type q.
v’s routing cost = q q dT(uq,uq+1)
Routing costs…
u3= t
u0=vu1
u2 Proxy(v)2 Length of this= 2 d(u1,u2)
Routing cost on
discount type 2
Routing costs…
u3= t
u0=vu1
u2 Proxy(v)2 Length of this= 2 d(u1,u2)· 3 2 d(u1,Proxy(v))
coz we built a LAST !
Routing costs…
u3= t
u0=vu1
u2 Proxy(v)2 Length of this= 2 d(u1,u2)· 3 2 d(u1,Proxy(v))· 3 2(d(u1,v) + d(v,Proxy(v)))
Routing costs…
u3= t
u0=vu1
u2 Proxy(v)2 Length of this= 2 d(u1,u2)· 3 2 d(u1,Proxy(v))· 3 2(d(u1,v) + d(v,Proxy(v)))
bounded by 6R2v
~ what fractional sol. pays
Routing costs…
u3= t
u0=vu1
u2 Proxy(v)
already paid 1 ¸ 2 2 for this
2 Length of this= 2 d(u1,u2)· 3 2 d(u1,Proxy(v))· 3 2(d(u1,v) + d(v,Proxy(v)))
Routing costs…
u3= t
u0=vu1
u2 Proxy(v)2 Length of this= 2 d(u1,u2)· 3 2 d(u1,Proxy(v))· 3 2(d(u1,v) + d(v,Proxy(v)))Total routing cost v pays in sol is O(what v pays in
LP)
Hence….
Theorem: Algorithm described has cost within a constant factor of the LP optimum.
Recap:LP tells us how far from vj to go before LP can pay for building high discount typesLAST + selection of balls ensures routing cost is not too highScaling crucial in both cases !
Conclusions
Get a constant factor approximation algorithmThe natural LP has a constant integrality gap.
Conclusions
Get a constant factor approximation algorithmThe natural LP has a constant integrality gap.
Open problems:More reasonableh constantsThe general buy-at-bulk problem Combinatorial lower bounds off by log LP might be the right approach
Paper available at
http://www.cs.berkeley.edu/~kunal/acads/bb.ps
Questions?