220 likes | 385 Views
Approximating Buy-at-Bulk and Shallow-Light k -Steiner Trees. Mohammad T. Hajiaghayi (CMU) Guy Kortsarz (Rutgers) Mohammad R. Salavatipour (U. Alberta) Presented by: Zeev Nutov. Definition of Buy-at-Bulk k -Steiner Tree.
E N D
Approximating Buy-at-Bulk and Shallow-Light k-Steiner Trees Mohammad T. Hajiaghayi (CMU) Guy Kortsarz (Rutgers) Mohammad R. Salavatipour (U. Alberta) Presented by: Zeev Nutov
Definition of Buy-at-Bulk k-Steiner Tree • Given an undirected graph G(V,E), terminal set T V, a root sT, and integer k|T|. • Given two cost functions on the edges: • Buy cost • Rent cost • Goal: find a subtree H spanning at least k terminals including root s minimizing where
Motivation • Network design problems with two cost functions have many applications, e.g. in bandwidth reservation when we have economies of scale • Example: capacity on a link can be purchased at discrete units: with costs: where
Motivation (cont’d) • So if you buy at bulk you save • More generally, we have a concave function where f(b) is the minimum cost of cables with bandwidth b. Question: satisfy bandwidth for a set of demands by installing sufficient capacities at minimum cost cost bandwidth
Equivalent Cost Measure • Equivalent model: cost distance • There are a set of pairs to be connected • For each possible cable connection e we can: • Buy it at b(e):and have unlimited bandwidth • Rent it at r(e):and pay for each unit of flow • A feasible solution: buy and/or rent some edges to connect every sito ti. • Goal: minimize the total cost
If this edge is bought its contribution to total cost is 14. 10 14 If this edge is rented, its contribution to total cost is 2x3=6 3 Total cost is: where f(e) is the number of paths going through e.
Equivalent Cost Measure (cont’d) • If E’ is the set of edges of the solution, the cost is: where is the shortest path in • We can think of as the start-up cost and as the per use cost (length).
Special Cases • If all si’s (sources) are equal we have the single-source case (SS-BB) Single-source • If the cost and length functions on the edges are all the same, i.e. each edge e has costc+l×f(e) for constants c, l, we have the uniform case. 5 12 8 21 11
Known Results for Buy-at-Bulk Problems • Formally introduced by Salman et al. [SCRS’97] • O(log n)approximation for the uniform case [AA’97, Bartal’98, FRT’03] • O(log n)approx for the single-sink case [MMP’00] • Hardness of Ω(log log n) for the single-sink case [CGNS’05] and Ω(log1/2- n) in general [Andrews’04], unless NP ZPTIME(npolylog(n)) • Constant approx for several special cases: [AKR’91,GW’95,KM’00,KGR’02,KGPR’02,GKR’03] • Recently we gave an O(log4 n) approximation for the multicommodity case [HKS’06, CHKS’06] .
Shallow-Light k-Steiner Trees • Instances are similar to BB k-Steiner tree: • an undirected graph G(V,E), • terminals T V, • cost function, • length function, • a bound D and a parameter k |T| • Find a tree spanning k terminals with minimum b-cost whose diameter under r-cost is at most D(assuming such a tree exists) • (,)-bicriteria approx: cost at most .opt and diameter is at most .Dwhere opt is the cost of optimum solution with diameter bound D
Our Results: Theorem 1: Given an instance of shallow-light k-Steiner tree with bound D, we find a (k/8)-Steiner tree with diameter O(log n.D) and cost O(log3n.opt). Corollary: we get an (O(log2n),O(log3n))-bicriteria approx for shallow-light k-Steiner tree Theorem 2: There is an O(log4n)-approximation for buy-at-bulk k-Steiner tree. Note: • BB k-Steiner generalizes k-MST and k-Steiner (when r=0). • Shallow-light k-Steiner generalizes shallow-light Steiner (when k=|T|) and k-MST (when D=1).
How to Reduce BB to Shallow-Light Let G be an instance of BB and assume we know the value of OPT (e.g. by guessing). Lemma: If there is an (,)-bicriteria algorithm A for shallow-light k-Steiner that finds a (k/8)-Steiner tree, then there is an O((+ ) log n) approx for BB k-Steiner. Proof: First, we can ignore every vertex with r-distance >OPT from the root. Then we run the following algorithm.
How to Reduce BB to Shallow-Light (cont’d) While k>0 repeat the following: • Run the (,)-approx alg A for (k/2)-Steiner tree with diameter bound D=4OPT/k • Decrease k by the number of terminals covered in the new solution; mark all these terminals as Steiner nodes; goto 1 The union of the solutions found is returned. Consider some iteration and let k’ be the number of unspanned terminals and H* be an optimal solution for BB k’-Steiner.
How to Reduce BB to Shallow-Light (cont’d) • Iteratively remove leaves (terminals) with r-distance > 2OPT/k’ from H*. • We delete at most k’/2 terminals and r-diameter is at most 4.OPT/k’ • Using alg A we find a (k’/16)-Steiner tree with diameter bound 4.OPT/k’. This adds at most k’..2OPT/k’=2.OPT to the rent cost; buy cost is at most .OPT • So we have covered a constant fraction of k’ at cost at most O((+).OPT). • A standard set-cover analysis shows the total cost is in O((+).OPT.log n).
Overview of Algorithm for Shallow-Light k-Steiner • First we compute a completion graph Gc of G : for every pair u,vV, compute (approximately) the minimum b-cost u,v-path with r-cost at most 2D. It is easy to show: Lemma: if there is a bicriteria solution of cost X and diameter Y in Gc then we can find a solution of cost X and diameter Y in G. • So it is enough to work with Gc. • Also, we can easily transform the un-rooted case and the rooted case to each other.
Overview of Algorithm … (cont’d) • We maintain a collection of trees • At the beginning every terminal is a tree of one node • We design a test that can fail or succeed • If the test succeds two trees are merged • Else some terminals are temporarily deleted
Overview of Algorithm … (cont’d) We maintain a collection of trees partition According to their number of terminals” 1 to 2 terminals 3 to 4 terminals p to 2p terminals
The Test • Pick a cluster of p to 2p terminals that contains ``many” roots • Every root is a terminal • A terminals is a TRUE terminal if belongs to the optimum • The test: does the collection of roots contain many terminals?
The Main Argument • If the test succeeds then two trees are contracted together at a low price • If it fails all roots in the cluster are removed • We loose “many” terminals • But only “few” true terminals • Hence eventually a tree will reach size k/8
Conclusion and Open Problems • We obtain O(log4n) approximation algorithm for buy-at-bulk k-steiner trees. The current lower bound is only Ω(log log n). • Main open problem: Can we improve the upper bound significantly or at least the lower bound to Ω(log n)?