Title: Approximating BuyatBulk and ShallowLight kSteiner Trees
1Approximating 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
2Definition of Buy-at-Bulk k-Steiner Tree
- Given an undirected graph G(V,E), terminal set T?
V, a root s?T, 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
3Motivation
- 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
4Motivation (contd)
- 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
5Equivalent 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 si to ti. - Goal minimize the total cost
6If this edge is bought its contribution to total
cost is 14.
10
14
If this edge is rented, its contribution to total
cost is 2x36
3
Total cost is where f(e) is the number of
paths going through e.
7Equivalent Cost Measure (contd)
- 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).
8 Special Cases
- If all sis (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 cost
clf(e) for constants c, l, we have the uniform
case.
5
12
8
21
11
9Known Results for Buy-at-Bulk Problems
- Formally introduced by Salman et al. SCRS97
- O(log n) approximation for the uniform case
- AA97, Bartal98, FRT03
- O(log n) approx for the single-sink case
MMP00 - Hardness of O(log log n) for the single-sink
case CGNS05 and O(log1/2-? n) in general
Andrews04, unless NP? ZPTIME(npolylog(n)) - Constant approx for several special cases
AKR91,GW95,KM00,KGR02,KGPR02,GKR03 - Recently we gave an O(log4 n) approximation for
the multicommodity case HKS06, CHKS06 .
10Shallow-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 ?.D where opt is the cost of
optimum solution with diameter bound D
11Our 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(log2 n),O(log3
n))-bicriteria approx for shallow-light k-Steiner
tree - Theorem 2 There is an O(log4 n)-approximation
for buy-at-bulk k-Steiner tree. - Note
- BB k-Steiner generalizes k-MST and k-Steiner
(when r0). - Shallow-light k-Steiner generalizes shallow-light
Steiner (when kT ) and k-MST (when D1).
12How 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
gtOPT from the root. - Then we run the following algorithm.
13How to Reduce BB to Shallow-Light (contd)
- While kgt0 repeat the following
- Run the (?,?)-approx alg A for (k/2)-Steiner
tree with diameter bound D4OPT/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.
14How to Reduce BB to Shallow-Light (contd)
- Iteratively remove leaves (terminals)
- with r-distance gt 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/k2?.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).
15Overview of Algorithm for Shallow-Light k-Steiner
- First we compute a completion graph Gc of G
- for every pair u,v?V, 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.
16Overview of Algorithm (contd)
- 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
17Overview of Algorithm (contd)
- 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
18The 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?
19The 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
20Conclusion and Open Problems
- We obtain O(log4 n) approximation algorithm for
buy-at-bulk k-steiner trees. The current lower
bound is only O(log log n). - Main open problem Can we improve the upper bound
significantly or at least the lower bound to
O(log n)?
21