Multicommodity Distribution System Design by Benders Decmposition
Approximation Via Cost Sharing: Multicommodity Rent or Buy
description
Transcript of Approximation Via Cost Sharing: Multicommodity Rent or Buy
![Page 1: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/1.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 1
Approximation Via Cost Sharing: Multicommodity Rent or Buy
Martin Pál
Joint work withAnupam Gupta Amit Kumar
Tim Roughgarden
![Page 2: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/2.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 2
Steiner Forest and Rent or Buy
Input: graph G, weights ce on edges,
set of demand pairs D, a constant M≥1
Solution: a set of paths, one for each (si,ti) pair.
Goal: minimize cost of the network built.
![Page 3: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/3.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 3
The cost
Rent or buy: Must rent or buy each edge.
rent: pay ce for each path using edge e
buy: pay Mce
Goal: minimize rental+buying costs.
Steiner forest: pay ce
for every edge used
![Page 4: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/4.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 4
Related work
•2-approximation for Steiner Forest [Agarwal, Klein & Ravi 91], [Goemans & Williamson 95]
•Constant approximation for Single Sink Buy at Bulk [Karger & Minkoff 00], [Meyerson & Munagala 00]
•Constant approximation for Multicommodity Rent or Buy [Kumar, Gupta & Roughgarden 02]
•Spanning Tree + Randomization = Single Sink Rent or Buy [Gupta, Kumar & Roughgarden 03]
•Cost sharing (Steiner tree, Single Sink Rent or Buy) [Jain & Vazirani 02], [P & Tardos 03]
![Page 5: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/5.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 5
Our work
•Simple randomized 8-approximation for the Multicommodity Rent or Buy problem
•Analysis based on cost sharing
•Ball inflation technique of independent interest
•Can be implemented in O(m log n) time
![Page 6: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/6.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 6
The Algorithm
1. Mark each demand pair independently at random with prob. 1/M.
2. Build a Steiner forest on the marked pairs, using a good (-approx.) algorithm.
3. Rent shortest paths between all unmarked pairs.
![Page 7: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/7.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 7
Bounding the cost
Expected buying cost is small:
Using -approx, can get OPT
Theorem: Expected cost of bought edges is OPT.
Lemma: There is a forest F on marked pairs with E[cost(F)] OPT.
e bought by OPT: Pr[e is in F] = 1
e rented by OPT: Pr[e is in F] = 1/M
![Page 8: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/8.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 8
Bounding the rental cost
Unmarked demand pays its rental cost
Marked demand contributes towards buying its tree
pays rent
pays rent
pays buy
Plan: Bound rental cost by the buying cost:
Expected rental() Expected share()
pays rent
pays buy
pays buy
![Page 9: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/9.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 9
Need a cost sharing algorithm
Input: Set of marked demands S
Output: Steiner forest FS on S cost share ξ(S,j) of each pair jS
ξ({}, ) = 4
ξ({}, ) = 5
Set of demandsdemand pair
![Page 10: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/10.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 10
Cost Sharing for Steiner Forest
(P1) Constant approximation: cost(FS) St*(S)
(P2) Cost shares do not overpay: jS ξ(S,j) St*(S)
(P3) Cost shares pay enough: let S’ = S {si, ti} dist(si, ti) in G/ FS ξ(S’,i)such ξ() is strict.
Example: S = {} i =
Rental of if FS bought
/M of share if added to S
![Page 11: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/11.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 11
Bounding rental cost
Suppose we flip a coin for every demand pair except . Let S be the set of marked pairs.E[rent() | S] dist(,) in G/FS
E[buy() | S] = 1/M M ξ(S+,)
E[rent()]
E[buy()]
jD E[rent(j)] jD E[buy(j)] OPT
![Page 12: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/12.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 12
Computing shares using the Goemans-Williamson algorithm
ξ():ξ():ξ():
Active terminals share cost of growth evenly.
![Page 13: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/13.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 13
Goemans-Williamson is not enough
1+ε
1 1
cost share = 1/n + rental = 1 + Solution: Inflate the balls!
Roughly speaking, multiply each radius by > 1
Problem: cost shares do not pay enough!
![Page 14: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/14.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 14
Summing up
For = 2 we get a 4-approximate 4-strict sharing alg.
This yields an 8-approximation algorithm in total.
ξ() large
ξ() small, can take shortcuts
ξ() small, can take shortcuts
![Page 15: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/15.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 15
Conclusions
• We have presented a simple 8-approx. for Multicommodity Rent or Buy.
• Extension: instead of pairs, have groups. Each group must be connected by a tree, edge cost depends on the number of trees using it.
• Does our algorithm work with any Steiner forest algorithm? With unscaled Goemans-Williamson?
• Other cost sharing functions? (crossmonotonic..)
![Page 16: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/16.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 16
What does (P3) say
![Page 17: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/17.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 17
What does (P3) say
Solution for Solution for
a
c
( , ) (a+c)
b
![Page 18: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/18.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 18
Solution
Inflate the balls !
1. Run the standard [AKR, GW] algorithm
2. Note the time Tj when each demand j deactivated
3. Run the algorithm again, except that now every demand j deactivated at time Tj for some > 1
Adopting proof from [GW]: buying cost at most 2OPT.
![Page 19: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/19.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 19
How to prove (P3)
Need to compare runs on D and D’ = D {si, ti}
Idea: 1. pick a {si, ti} path P in G/ FD
2. Show that (D’,i) accounts for a constant fraction of length(P)
![Page 20: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/20.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 20
How to prove (P3)
Need to compare runs on D and D’ = D {si, ti}
Idea: 1. pick a {si, ti} path P in G/ FD
2. Show that (D’,i) accounts for a constant fraction of length(P)
Instead of (D’,i), use alone(i), the total time si or ti was alone in its cluster
![Page 21: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/21.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 21
How to prove (P3)
Need to compare runs on D and D’ = D {si, ti}
Idea: 1. pick a {si, ti} path P in G/ FD
2. Show that (D’,i) accounts for a constant fraction of length(P)
![Page 22: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/22.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 22
How to prove (P3)
Need to compare runs on D and D’ = D {si, ti}
Idea: 1. pick a {si, ti} path P in G/ FD
2. Show that (D’,i) accounts for a constant fraction of length(P)
![Page 23: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/23.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 23
How to prove (P3)
Need to compare runs on D and D’ = D {si, ti}
Idea: 1. pick a {si, ti} path P in G/ FD
2. Show that (D’,i) accounts for a constant fraction of length(P)
(D’, ), = 2.5
alone( ) = 2.0
![Page 24: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/24.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 24
Mapping of layers
Lonely layer: generated by si or ti while the only active demand in its cluster
Each non-lonely layer in the D’ run maps to layers in the scaled D run.
Idea:
length(P) = #of lonely and non-lonely layers crossed in D’ run
length(P) #of layers it crosses in scaled D run
Hence: for each non-lonely layer, -1 lonely layers crossed.
![Page 25: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/25.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 25
Mapping not one to one
Two non-lonely layers in D’ run can map to the same layer in scaled D run.
D’ run
scaled D run
![Page 26: Approximation Via Cost Sharing: Multicommodity Rent or Buy](https://reader036.fdocuments.in/reader036/viewer/2022062519/568151f9550346895dc03060/html5/thumbnails/26.jpg)
14 Oct 03 Approx via cost sharing: Rent or Buy 26
Not all layers of D run cross P
A layer in D’ run that crosses P can map to a layer in scaled D run that does not cross P
D’ run scaled D runsi si
The “waste” can be bounded.