www.cs.technion.ac.il/~reuven 1 approximation algorithms for bandwidth and storage allocation reuven...

28
www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Approximation Algorithms for Bandwidth and Storage Allocation 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

Post on 22-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 1

Approximation Algorithms for Approximation Algorithms for Bandwidth and Storage AllocationBandwidth 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

Page 2: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 2

The Local-Ratio Technique:The Local-Ratio Technique: Basic definitions Basic definitions

Given a profit [penalty] vector p.

Maximize[Minimize] p·x

Subject to: feasibility constraints F(x)

x is r-approximation if F(x) and p·x [] r · p·x*

An algorithm is r-approximation if for any p, F

it returns an r-approximation

Page 3: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 3

The Local-Ratio Theorem:The Local-Ratio Theorem:

x is an r-approximation with respect to p1

x is an r-approximation with respect to p- p1

x is 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 )*

Page 4: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 4

Special case: Optimization is 1-approximationSpecial case: Optimization is 1-approximation

x is an optimum with respect to p1

x is an optimum with respect to p- p1

x is an optimum with respect to p

Page 5: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 5

A Local-Ratio Schema for A Local-Ratio Schema for Maximization[Minimization] problems: Maximization[Minimization] problems:

Algorithm r-ApproxMax[Min]( Set, p )

If Set = Φ then return Φ ;

If I Set p(I) 0 then return r-ApproxMax( Set-{I}, p ) ;

[If I Set p(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;

Page 6: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 6

The Local-Ratio Theorem: ApplicationsThe 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 :

….

Page 7: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 7

Maximum Independent Set in Interval GraphsMaximum Independent Set in Interval Graphs

time

Maximize s.t. For each instance I:

For each time t:

I

IxIp )( }1,0{Ix

)()(:

1IetIsIIx

Page 8: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 8 Maximum Independent Set in Interval Graphs: Maximum Independent Set in Interval Graphs: How to select How to select PP11 to get optimization? to get optimization?

Î 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=1

P1=1

P1=1

P1=0

P1=0

P1=0

P1=0

P1=0

Page 9: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 9

Maximum Independent Set in Interval Graphs:Maximum Independent Set in Interval Graphs: An Optimization Algorithm An Optimization Algorithm

Activity9Activity8Activity7Activity6Activity5Activity4Activity3Activity2Activity1 Î

time

Algorithm MaxIS( S, p )If S = Φ then return Φ ;

If I S p(I) 0 then return MaxIS( 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 return IS else return IS {Î};

P1=0

P1=0

P1=0

P1=0

P1=0

P1=P(Î )

P1=P(Î )

P1=P(Î )

P1=P(Î )

Page 10: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 10

Maximum Independent Set in Interval Graphs:Maximum Independent Set in Interval Graphs: Running Example Running Example

P(I1) = 5 -5

P(I4) = 9 -5 -4

P(I3) = 5 -5

P(I2) = 3 -5

P(I6) = 6 -4 -2

P(I5) = 3 -4

-5 -4 -2

Page 11: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 11

banwith

I w(I)

s(I) e(I) time

Maximize s.t. For each instance I:

For each time t:

BandwidthBandwidth Allocation Problem (BAP) Allocation Problem (BAP)

I

IxIp )(

)()(:

1)(IetIsI

IxIw

}1,0{Ix

Page 12: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 12

1987 Arkin and Silverberg: requests have same duration.

2000 Philips Uma Wein: 62001 Bar-Noy Bar-Yehuda Freund Naor Schieber: 32002 Chen Hassin Tzur: DP for restricted case.

2002 Calinescu, Chakrabarti, Karloff, Rabani: 2 Randomized

Also dynamic programming2003 Chekuri, Maydlarz, Shepherd: Extentions (e.g. trees)

2005 This talk: 2+1/(e-1) 2.582

BandwidthBandwidth Allocation Problem (BAP) Allocation Problem (BAP)

Page 13: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 13

Î

I w(I)

s(I) e(I) time

1 if 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

Bandwidth AllocationBandwidth Allocation for for ww 1/2 1/2 How to select How to select PP11 to get 1/3-approximation? to get 1/3-approximation?

Page 14: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 14

Î

I w(I)

s(I) e(I) time

1 if 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, Ŵ /Ŵ}

Bandwidth AllocationBandwidth Allocation for for ww 1/2 1/2 … A better … A better PP11 to get 1/2-approximation? to get 1/2-approximation?

Page 15: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 15

Bandwidth Allocation:Bandwidth Allocation: 1/3-approximation in O(nlogn) time1/3-approximation in O(nlogn) time

w > ½ w > ½ w > ½ w > ½ w > ½ w > ½ w > ½ w > ½ w > ½

Algorithm:1. GRAY = Find 1-approximation for gray (w>1/2) intervals;2. COLORED = Find 1/2-approximation for colored intervals3. Return the one with the larger profitAnalysis:If GRAY* 33%OPT then GRAY 1*(33%OPT)=33%OPT elseCOLORED* 66%OPT thus COLORED 1/2(66%OPT)=33%OPT

Page 16: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 16

Bandwidth Allocation:Bandwidth Allocation: What if we get What if we get

R-approx for R-approx for w > w > and r-approx for and r-approx for w ≤ w ≤ ? ?

w > w > w > w > w > w > w > w > w >

Algorithm:1. GRAY = Find R-approximation for gray (w>) intervals;2. COLORED = Find r-approximation for colored intervals3. Return the one with the larger profitAnalysis: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

Page 17: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 17

Banwidth Allocation:Banwidth Allocation: 1-approx for 1-approx for w > w >

Algorithm:

2002 Chen Hassin Tzur

2002 Calinescu, Chakrabarti, Karloff, Rabani

Dynamic Programming R = 1

Page 18: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 18

Î

1/k

I w(I)

s(I) e(I) time

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*1 +1

1/k-Î-maximal is k+3-apx

For every 1/k-Î-maximal x: p1 ·x 1-1/k

Bandwidth Allocation:Bandwidth Allocation: 1-1/e1-1/e-apx for -apx for w ≤ w ≤ Let 1/Let 1/kk22 ≥≥

1/k2

Page 19: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 19

Bandwidth Allocation:Bandwidth Allocation: 1-1/e-approx for 1-1/e-approx for w ≤ w ≤

Algorithm:

Iteratively: Loose 1/k bandwidth and gain 1/(k+3) fraction from the residual opt

Gain1 ≥≥ (1/(k+3)) ×OPT Left1 ≤≤ (1-1/(k+3)) ×OPT

Gain2 ≥≥ (1/(k+3)) ×Left1 Left2 ≤≤ (1-1/(k+3))2 ×OPT

Left3 ≤≤ (1-1/(k+3))3 ×OPT

Leftk ≤≤ (1-1/(k+3))k ×OPTGain ≥≥ OPT- Leftk > (1-1/e)×OPT

Page 20: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 20

StorageStorage Allocation Problem (SAP) Allocation Problem (SAP)

Page 21: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 21

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

StorageStorage Allocation Problem (SAP) Allocation Problem (SAP)

Page 22: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 22

StorageStorage Allocation Problem (SAP) for w> Allocation Problem (SAP) for w>

Let k = = 1/ + Gravity O(nk) possible values for H

H

Dynamic programming in polynomial time for constant

Page 23: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 23

For For w w ≤≤ R-apx for BAP R-apx for BAP R-apx for SAP 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 ≤ 1Else 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

Page 24: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 24

Bandwidth Allocation on trees.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).

Page 25: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 25

Bandwidth Allocation of uniform capacities Bandwidth Allocation of uniform capacities general demands trees on trees.general demands trees on trees.

Page 26: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 26

Bounded degress trees: Bounded degress trees: Bandwidth Allocation:Bandwidth Allocation: 1-approx for 1-approx for w > w >

Dynamic Programming R = 1

Page 27: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 27

Bandwidth Allocation of uniform capacities Bandwidth Allocation of uniform capacities general demands trees on trees.general demands trees on trees.

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

Let 1/Let 1/kk22 ≥≥

Page 28: Www.cs.technion.ac.il/~reuven 1 Approximation Algorithms for Bandwidth and Storage Allocation Reuven Bar-Yehuda Joint work with Michael Beder, Yuval Cohen

www.cs.technion.ac.il/~reuven 28

Algorithm:

Iteratively: Loose 1/k bandwidth and gain 1/(dk+d) fraction from the residual opt

Gain1 ≥≥ (1/(dk+d)) ×OPT Left1 ≤≤ (1-1/(dk+d)) ×OPT

Gain2 ≥≥ (1/(dk+d)) ×Left1 Left2 ≤≤ (1-1/(dk+d))2 ×OPT

Left3 ≤≤ (1-1/(dk+d))3 ×OPT

Leftk ≤≤ (1-1/(dk+d))k ×OPTGain ≥≥ OPT- Leftk > (1-e1/d)×OPT

Bandwidth Allocation: Bandwidth Allocation: -apx for -apx for w ≤ w ≤ d e11