280 likes | 293 Views
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 .
E N D
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
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
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 )*
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
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;
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: ….
www.cs.technion.ac.il/~reuven Maximum Independent Set in Interval Graphs • time • Maximize s.t.For each instance I: • For each time t:
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
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 ISp(I) 0 then returnMaxIS( S - {I}, p); • Let ÎS that ends first; • IS 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(Î )
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
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:
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
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
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, Ŵ/Ŵ}
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
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
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
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
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
www.cs.technion.ac.il/~reuven Storage Allocation Problem (SAP)
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
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
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
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).
www.cs.technion.ac.il/~reuven Bandwidth Allocation of uniform capacities general demands trees on trees.
www.cs.technion.ac.il/~reuven Bounded degress trees: Bandwidth Allocation: 1-approx for w > • Dynamic Programming R = 1
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≥
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