460 likes | 587 Views
Single Sink Edge Installation. Kunal Talwar UC Berkeley. Problem Definition. Given: A graph G=(V,E) , sink ‘ t Sources s 1 ,s 2 ,…, s m k Discount types: “building” cost per unit length s q “routing” cost per unit length d q
E N D
Single Sink Edge Installation Kunal Talwar UC Berkeley
Problem Definition • Given: • A graph G=(V,E) , sink ‘t • Sources s1,s2,…, sm • k Discount types: • “building” cost per unit length sq • “routing” cost per unit length dq • Find cheapest installation to route a unit of demand from each source si
t Example • Given sources and the underlying graph Find subgraph and cable type for each edge to minimize total cost
t t Example • Given sources and the underlying graph • Find subgraph and cable type for each edge to minimize total cost
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 sq,dq
Special case • Only one cable type • Extraspecial subcases: • If d=0) build steiner tree. • If s=0) 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 ¸s(optimal steiner tree). • OPT ¸d åv dG(s,v). • Cost = 2s(steiner tree) + d 3åv 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 installed • Flow variable fje;q is 1 if flow from j uses discount type q on edge e • Objective function – • cost of building the network –
Integer Program • Variable zqe is 1 if edge e has discount type q installed • Flow variable fje;q is 1 if flow from j uses discount type q on edge e • Objective function – • cost of building the network – • cost of routing the demands –
Linear Integer program • Subject to : • Flow conservation • Flow monotonicity • Outflow =1 • Route on edge e only if edge built • Integrality contraints
Rounding the linear program • Top down • Use the linear program solution to guide the algorithm • Use 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 types • Form balls of radius 2Rqj 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 types • Form balls of radius 2Rqj 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 types • Form balls of radius 2Rqj around node vj • Select a set of non intersecting balls in increasing order of radii. • Each node vl has a buddy within distance 4Rql
Identifying what to connect…. vj Less Than 4Rqj
Connecting it… • Contract all selected balls • Shrink Tq+1 • Build a Steiner tree on the contracted nodes • Convert to LAST • Each selected vertex has a proxy in its ball at distance at most 2Rqj
Connecting it …. j i
Connecting it …. j i
Connecting it …. j i Less than 2Rqj
Connecting it …. j Less Than 4Rqj i
Connecting it …. Each node (using its buddy) has someone in the tree Tq within 6Rqj Less Than 6Rqj j i
Analysis: Building Cost • Key Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then Proof :
Lemma proof: t Flow f Flow (1-f) vj
t Flow f Flow (1-f) vj Lemma proof: 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 D(S) < 1/2 Then > half the flow travels at least 2Rqj on low discounts This flow itself contributes > Rqj to Rqj. Contradiction. S
Lemma proved… • Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then
Lemma proved… • Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then Recall that Steiner tree LP is:
Lemma proved… • Lemma : Let D(S) be the set of edges on the boundary of S ¶B(vj,2Rqj), r 2 Sc. Let z,f be any feasible solution to the LP. Then Recall that Steiner tree LP is: i.e. 2åp¸ q zqe is a feasible fractional Steiner tree.
Building Cost (contd…) • Steiner tree LP has gap · 2 • Hence our steiner tree cost is no more than 2sq times åeåp¸ q zpe. • Thus the LASTq is no more than twice this. • Let OPTbq = OPT’s building cost for discount type q. • Then LASTq cost is 8åp¸ q (sq/sp)OPTbp
Scaling… • We prune the discount types in the beginning to be sure that they are all different enough ! • More formally, ensure • sq+1¸ 2 sq • dq+1· (1/2) dq • Can be done with a factor 2 change in cost
Building Cost (contd…) • sp¸ 2p-qsq • LASTq cost is 8åp¸ q (sq/sp)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 = åqdq dT(uq,uq+1)
Routing costs… u3= t Routing cost on discount type 2 u2 Proxy(v) d2 Length of this = d2 d(u1,u2) u1 u0=v
Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) u1 u0=v coz we built a LAST !
Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=v
Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=v bounded by 6R2v ~ what fractional sol. pays
Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=v already paid d1¸ 2 d2 for this
Routing costs… u3= t u2 Proxy(v) d2 Length of this = d2 d(u1,u2) · 3 d2 d(u1,Proxy(v)) · 3 d2(d(u1,v) + d(v,Proxy(v))) u1 u0=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 types • LAST + selection of balls ensures routing cost is not too high • Scaling crucial in both cases !
Conclusions • Get a constant factor approximation algorithm • The natural LP has a constant integrality gap.
Conclusions • Get a constant factor approximation algorithm • The natural LP has a constant integrality gap. Open problems: • More reasonableh constants • The 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?