1 / 28

Approximation Algorithms for Bandwidth and Storage Allocation

Approximation Algorithms for Bandwidth and Storage Allocation. Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen and Dror Rawitz Technion IIT Slides and paper at: http://www.cs.technion.ac.il/~reuven. The Local-Ratio Technique: Basic definitions .

lhodgin
Download Presentation

Approximation Algorithms for Bandwidth and Storage Allocation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. www.cs.technion.ac.il/~reuven Approximation Algorithms for Bandwidth and Storage Allocation • Reuven Bar-Yehuda • Joint work with • Michael Beder, Yuval Cohen and Dror Rawitz • Technion IIT • Slides and paper at: • http://www.cs.technion.ac.il/~reuven

  2. www.cs.technion.ac.il/~reuven The Local-Ratio Technique: Basic definitions • Given a profit [penalty] vector p. • Maximize[Minimize]p·x • Subject to: feasibility constraints F(x) • x isr-approximationif F(x) and p·x []r·p·x* • An algorithm is r-approximationif for any p, F • it returns an r-approximation

  3. www.cs.technion.ac.il/~reuven The Local-Ratio Theorem: • xis an r-approximation with respect to p1 • xis an r-approximation with respect to p- p1 •  • xis an r-approximation with respect to p • Proof: (For maximization) • p1 · x  r ×p1* • p2 · x  r ×p2* •  • p · x  r ×( p1*+ p2*) •  r ×(p1 + p2 )*

  4. www.cs.technion.ac.il/~reuven Special case: Optimization is 1-approximation • xis an optimum with respect to p1 • xis an optimum with respect to p- p1 • xis an optimum with respect to p

  5. www.cs.technion.ac.il/~reuven A Local-Ratio Schema for Maximization[Minimization] problems: • Algorithm r-ApproxMax[Min]( Set, p ) • If Set = Φ then returnΦ ; • If  I  Setp(I)  0 then returnr-ApproxMax( Set-{I}, p ) ; • [If I  Setp(I)=0 then return {I} r-ApproxMin( Set-{I}, p ) ;] • Define “good” p1 ; • REC = r-ApproxMax[Min]( S, p- p1) ; • If REC is not an r-approximation w.r.t. p1 then “fix it”; • return REC;

  6. www.cs.technion.ac.il/~reuven The Local-Ratio Theorem: Applications Applications to some optimization algorithms (r = 1): ( MST) Minimum Spanning Tree (Kruskal) ( SHORTEST-PATH) s-t Shortest Path (Dijkstra) (LONGEST-PATH) s-t DAG Longest Path (Can be done with dynamic programming) (INTERVAL-IS) Independents-Set in Interval Graphs Usually done with dynamic programming) (LONG-SEQ) Longest (weighted) monotone subsequence (Can be done with dynamic programming) ( MIN_CUT) Minimum Capacity s,t Cut (e.g. Ford, Dinitz) Applications to some 2-Approximation algorithms: (r = 2) ( VC) Minimum Vertex Cover (Bar-Yehuda and Even) ( FVS) Vertex Feedback Set (Becker and Geiger) ( GSF) Generalized Steiner Forest (Williamson, Goemans, Mihail, and Vazirani) ( Min 2SAT) Minimum Two-Satisfibility (Gusfield and Pitt) ( 2VIP) Two Variable Integer Programming (Bar-Yehuda and Rawitz) ( PVC) Partial Vertex Cover (Bar-Yehuda) ( GVC) Generalized Vertex Cover (Bar-Yehuda and Rawitz) Applications to some other Approximations: ( SC) Minimum Set Cover (Bar-Yehuda and Even) ( PSC) Partial Set Cover (Bar-Yehuda) ( MSP) Maximum Set Packing (Arkin and Hasin) Applications Resource Allocation and Scheduling: ….

  7. www.cs.technion.ac.il/~reuven Maximum Independent Set in Interval Graphs • time • Maximize s.t.For each instance I: • For each time t:

  8. www.cs.technion.ac.il/~reuven Maximum Independent Set in Interval Graphs: How to select P1 to get optimization? P1=0 • Î • time • Let Î be an interval that ends first; • 1 if I in conflict with Î • For all intervals I define: p1(I) = • 0 else • For every feasible x: p1 ·x  1 • Every Î-maximal is optimal. • For every Î-maximal x: p1 ·x  1 P1=1 P1=0 P1=0 P1=0 P1=1 P1=0 P1=1 P1=1

  9. www.cs.technion.ac.il/~reuven Maximum Independent Set in Interval Graphs: An Optimization Algorithm P1=P(Î ) • Activity9 • Activity8 • Activity7 • Activity6 • Activity5 • Activity4 • Activity3 • Activity2 • Activity1 Î • time • Algorithm MaxIS( S, p ) • If S = Φ then returnΦ ; • If ISp(I) 0 then returnMaxIS( S - {I}, p); • Let ÎS that ends first; • IS define: p1(I) = p(Î)  (I in conflict with Î) ; • IS = MaxIS( S, p- p1) ; • If IS is Î-maximal then returnIS else return IS {Î}; P1=0 P1=0 P1=0 P1=0 P1=P(Î ) P1=0 P1=P(Î ) P1=P(Î )

  10. www.cs.technion.ac.il/~reuven Maximum Independent Set in Interval Graphs: Running Example P(I5) = 3 -4 P(I6) = 6 -4 -2 P(I3) = 5 -5 P(I2) = 3 -5 P(I1) = 5 -5 P(I4) = 9 -5 -4 -4 -5 -2

  11. www.cs.technion.ac.il/~reuven Bandwidth Allocation Problem (BAP) • banwith • I w(I) • s(I) e(I) time • Maximize s.t.For each instance I: • For each time t:

  12. www.cs.technion.ac.il/~reuven Bandwidth Allocation Problem (BAP) • 1987 Arkin and Silverberg: requests have same duration. • 2000 Philips Uma Wein: 6 • 2001 Bar-Noy Bar-Yehuda Freund Naor Schieber: 3 • 2002 Chen Hassin Tzur: DP for restricted case. • 2002 Calinescu, Chakrabarti, Karloff, Rabani: 2Randomized • Also dynamic programming • 2003 Chekuri, Maydlarz, Shepherd: Extentions (e.g. trees) • 2005 This talk:  2+1/(e-1) 2.582

  13. www.cs.technion.ac.il/~reuven Bandwidth Allocation for w 1/2 How to select P1 to get 1/3-approximation? • Î • I w(I) • s(I) e(I) time • 1if I = Î • For all intervals I define: p1(I) = 2*w(I)if I is in conflict with Î • 0 else • For every feasible x: p1 ·x  1+2*1 • Every Î-maximal is 1/3-approximation • For every Î-maximal x: p1 ·x 1

  14. www.cs.technion.ac.il/~reuven Bandwidth Allocation for w 1/2 … A better P1 to get 1/2-approximation? • Î • I w(I) • s(I) e(I) time • 1if I = Î • For all intervals I define: p1(I) = w(I)/Ŵif I is in conflict with Î • 0 else • Where Ŵ=1-w(Î) •  feasible x: p1 ·x max{1+ Ŵ/Ŵ ,1/Ŵ} • Î-maximal is 1/2-approximation •  Î-maximal x: p1 ·x  min{1, Ŵ/Ŵ}

  15. www.cs.technion.ac.il/~reuven Bandwidth Allocation:1/3-approximation in O(nlogn) time • w > ½ • w > ½ w > ½ • w > ½ • w > ½ w > ½ • w > ½w > ½ w > ½ • Algorithm: • GRAY = Find 1-approximation for gray (w>1/2) intervals; • COLORED = Find 1/2-approximation for colored intervals • Return the one with the larger profit • Analysis: • If GRAY*  33%OPT then GRAY 1*(33%OPT)=33%OPT else • COLORED*  66%OPT thus COLORED 1/2(66%OPT)=33%OPT

  16. www.cs.technion.ac.il/~reuven Bandwidth Allocation: What if we get R-approx for w >  and r-approx for w ≤  ? • w >  • w >  w >  • w >  • w >  w >  • w > w >  w >  • Algorithm: • GRAY = Find R-approximation for gray (w>) intervals; • COLORED = Find r-approximation for colored intervals • Return the one with the larger profit • Analysis: • If GRAY*r/(R+r)×OPT then GRAY R× r/(R+r)×OPT else • COLORED*R/(R+r)×OPT thus COLORED r× R/(R+r)×OPT

  17. www.cs.technion.ac.il/~reuven Banwidth Allocation: 1-approx for w >  • Algorithm: • 2002 Chen Hassin Tzur • 2002 Calinescu, Chakrabarti, Karloff, Rabani • Dynamic Programming  R = 1

  18. www.cs.technion.ac.il/~reuven Bandwidth Allocation: 1-1/e-apx for w ≤ Let 1/k2≥  • Î • 1/k • I w(I) • s(I) e(I) time • 1-1/kif I = Î • For all intervals I define: p1(I) = k×w(I)if I is in conflict with Î • 0 else • For every 1-feasible x: p1 ·x k*1+1 • 1/k-Î-maximalis k+3-apx • For every 1/k-Î-maximalx: p1 ·x  1-1/k 1/k2

  19. www.cs.technion.ac.il/~reuven Bandwidth Allocation: 1-1/e-approx for w ≤  • Algorithm: • Iteratively: Loose 1/k bandwidth and gain 1/(k+3) fraction from the residual opt Gain≥OPT- Leftk >  (1-1/e)×OPT  Leftk≤ (1-1/(k+3))k×OPT Left3≤ (1-1/(k+3))3×OPT Gain2≥ (1/(k+3)) ×Left1 Left2≤ (1-1/(k+3))2×OPT Gain1≥ (1/(k+3)) ×OPT Left1≤ (1-1/(k+3)) ×OPT

  20. www.cs.technion.ac.il/~reuven Storage Allocation Problem (SAP)

  21. www.cs.technion.ac.il/~reuven Storage Allocation Problem (SAP) • 2000 Philips, Uma, Wein: 35 • 2000 Leonardi, Marchetti-Spaccamela, Vitaletti: 12 • 2001 Bar-Noy, Bar-Yehuda, Freund, Naor, Schieber: 7 • 2002 Chen, Hassin, Tzur: DP • 2005 This talk:  2+1/(e-1) 2.582

  22. www.cs.technion.ac.il/~reuven Storage Allocation Problem (SAP) for w>  Let k= 1/  + Gravity  O(nk) possible values for H  Dynamic programming in polynomial time for constant  H

  23. www.cs.technion.ac.il/~reuven For w ≤ R-apx for BAP   R-apx for SAP • Dynamic Storage Allocation (DSA)  • Find Min bandwidth with “perfect” SAP allocation • Run BAP (w≤ ) • If Load ≤ 1/3 // Load = Max total height at time t • use Gergov 99 to get DSA in bandwidth ≤ 1 • Else use • 2003 Buchsbaum, Karloff, Kenyon, Reingold and Thorup • to get DSA in bandwidth ≤ 1 +O(1/7) • Corollary: for w≤ : •  1-apx randomized •  1.582-apx (deterministic and combinatorial) • Corollary: 2 randomized and 2.582 deterministic

  24. www.cs.technion.ac.il/~reuven Bandwidth Allocation on trees. • 2003 Chekuri, Maydlarz, Shepherd: • Input: Capacitated tree, where each edge has an integral capacity, and       a set of paths, each of which has an integral demand and a profit.Solution: A set of paths such that the demands of the paths can be          simultaneously routed without violating edge capacities.Results: 4-approx for the case of unit demands. 48-approx for the case where max(demand) ≤ min(capacity) • Our results: •  We consider the uniform capacities bounded degree case   Note: in this case max(demand) ≤ min(capacity) (2+1/(e1/2-1)+)-approx  3.54 -aprox •  (2+1/(e1/d-1)+)-approx • when we are given a set of trees of degree d (instead of paths).

  25. www.cs.technion.ac.il/~reuven Bandwidth Allocation of uniform capacities general demands trees on trees.

  26. www.cs.technion.ac.il/~reuven Bounded degress trees: Bandwidth Allocation: 1-approx for w >  • Dynamic Programming  R = 1

  27. 1-1/k if I = Î For all intervals I define: p1(I) = k×w(I) if I is in conflict with Î 0 else For every 1-feasible x: p1 ·x k*d +1 1/k-Î-maximal is d(k+1)-apx For every 1/k-Î-maximal x: p1 ·x  1-1/k www.cs.technion.ac.il/~reuven Bandwidth Allocation of uniform capacities general demands trees on trees. Let 1/k2≥ 

  28. www.cs.technion.ac.il/~reuven Bandwidth Allocation:  -apx for w ≤  • Algorithm: • Iteratively: Loose 1/k bandwidth and gain 1/(dk+d) fraction from the residual opt Gain≥OPT- Leftk >  (1-e1/d)×OPT  Leftk≤ (1-1/(dk+d))k×OPT Left3≤ (1-1/(dk+d))3×OPT Gain2≥ (1/(dk+d)) ×Left1 Left2≤ (1-1/(dk+d))2×OPT Gain1≥ (1/(dk+d)) ×OPT Left1≤ (1-1/(dk+d)) ×OPT

More Related