Reuven Bar-Yehuda Gleb Polevoy Gleb Polevoy Dror Rawitz Technion Technion 1.
A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T...
-
date post
21-Dec-2015 -
Category
Documents
-
view
219 -
download
1
Transcript of A Unified Approach to Approximating Resource Allocation and Scheduling Amotz Bar-Noy.……...AT&T...
A Unified Approach to A Unified Approach to ApproximatingApproximating
Resource Allocation and Resource Allocation and SchedulingScheduling
Amotz Bar-Noy.……...AT&T and Tel Aviv University
Reuven Bar-Yehuda….Technion IIT
Ari Freund……………Technion IIT
Seffi Naor…………….Bell Labs and Technion IIT
Baruch Schieber…...…IBM T.J. Watson
Slides and paper at:
http://www.cs.technion.ac.il/~reuven
Summery of Results:Summery of Results:DiscreteDiscrete
Single Machine Scheduling
Bar-Noy, Guha, Naor and Schieber STOC 99: 1/2 Non Combinatorial*
Berman, DasGupta, STOC 00: 1/2
This Talk, STOC 00(Independent) 1/2
Bandwidth AllocationAlbers, Arora, Khanna SODA 99: O(1) for |Activity i|=1*Uma, Phillips, Wein SODA 00: 1/4 Non combinatorial.This Talk STOC 00 (Independent) 1/3 for w 1/2 This Talk STOC 00 (Independent) 1/5 for w 1
Parallel Unrelated Machines:
Bar-Noy, Guha, Naor and Schieber STOC 99: 1/3
Berman, DasGupta STOC 00: 1/2
This Talk, STOC 00(Independent) 1/2
Summery of Results:Summery of Results:ContinuousContinuous
Single Machine SchedulingBar-Noy, Guha, Naor and Schieber STOC 99: 1/3 Non Combinatorial
Berman, DasGupta STOC 00: 1/2·(1-)
This Talk, STOC 00: (Independent) 1/2·(1-)
Bandwidth AllocationUma, Phillips, Wein SODA 00: 1/6 Non combinatorial
This Talk, STOC 00 (Independent) 1/3 ·(1-) for w 1/2 1/5 ·(1-) for w 1
Parallel unrelated machines:Bar-Noy, Guha, Naor and Schieber STOC 99: 1/4
Berman, DasGupta STOC 00: 1/2·(1-)
This Talk, STOC 00: (Independent) 1/2·(1-)
Summery of Results:Summery of Results:and more…and more…
General Off-line Caching Problem Albers, Arora, Khanna SODA 99: O(1) Cache_Size += O(Largest_Page)
O(log(Cache_Size+Max_Page_Penalty))
This Talk, STOC 00: 4
Ring topology: Transformation of approx ratio from line to ring topology 1/ 1/(+1+)
Dynamic storage allocation (contiguous allocation): Previous results: none for throughput maximization Previous results Kierstead 91 for resource minimization: 6 This paper: 1/35 for throughput max using the result for resource min.
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
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 )*
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
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;
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 :
….
Maximum Independent Set in Interval GraphsMaximum Independent Set in Interval Graphs
Activity9Activity8Activity7Activity6Activity5Activity4Activity3Activity2
Activity1
time
Maximize s.t. For each instance I:
For each time t:
I
IxIp )( }1,0{Ix
)()(:
1IetIsIIx
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?
Activity9Activity8Activity7Activity6Activity5Activity4Activity3Activity2
Activity1 Î 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
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(Î )
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
Single Machine Scheduling :Single Machine Scheduling :
Activity9
Activity8
Activity7
Activity6
Activity5
Activity4
Activity3
Activity2
Activity1 ?????????????
time
Maximize s.t. For each instance I:
For each time t:
For each activity A:
I
IxIp )( }1,0{Ix
)()(:
1)(IetIsI
IxIw
1AI
Ix
Bar-Noy, Guha, Naor and Schieber STOC 99: 1/2 LP
Berman, DasGupta, STOC 00: 1/2
This Talk, STOC 00(Independent) 1/2
Single Machine Scheduling:Single Machine Scheduling: How to select How to select PP11 to get ½-approximation ? to get ½-approximation ?
Activity9Activity8Activity7Activity6Activity5Activity4Activity3Activity2
Activity1 Î 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 2
Every Î-maximal is 1/2-approximation
For every Î-maximal x: p1 ·x 1
P1=1P1=1P1=1P1=1
P1=1
P1=1
P1=1
P1=1
P1=1
P1=0
P1=0
P1=0
P1=0
P1=0
P1=0
P1=0
P1=0
P1=0 P1=0
P1=0
Single Machine Scheduling:Single Machine Scheduling: The ½-approximation Algorithm The ½-approximation 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 {Î};
Activity9Activity8Activity7Activity6Activity5Activity4Activity3Activity2Activity1 I w(I)
s(I) e(I) time
Maximize s.t. For each instance I:
For each time t:
For each activity A:
BandwidthBandwidth Allocation Allocation
I
IxIp )(
)()(:
1)(IetIsI
IxIw
1AI
Ix
}1,0{Ix
Albers, Arora, Khanna SODA 99: O(1) |Ai|=1*
Uma, Phillips, Wein SODA 00: 1/4 LP.
This Talk 1/3 for w 1/2 and 1/5 for w 1
BandwidthBandwidth Allocation for Allocation for ww 1/2 1/2 How to select How to select PP11 to get 1/3-approximation? to get 1/3-approximation?
Activity9
Activity8 Î
Activity7
Activity6
Activity5
Activity4
Activity3
Activity2
Activity1 I w(I)
s(I) e(I) time
1 if I in the same activity of Î
For all intervals I define: p1 (I) = 2*w(I) if I in time conflict with Î
0 else
For every feasible x: p1 ·x 3
Every Î-maximal is 1/3-approximation
For every Î-maximal x: p1 ·x 1
BandwidthBandwidth Allocation Allocation The 1/5-approximation for any The 1/5-approximation for any w w 1 1
Activity9Activity8 w > ½ Activity7 w > ½ w > ½Activity6Activity5 w > ½Activity4Activity3 w > ½ w > ½Activity2Activity1 w > ½ w > ½ w > ½
Algorithm:1. GRAY = Find 1/2-approximation for gray (w>1/2) intervals;2. COLORED = Find 1/3-approximation for colored intervals3. Return the one with the larger profitAnalysis:If GRAY* 40%OPT then GRAY 1/2(40%OPT)=20%OPT elseCOLORED* 60%OPT thus COLORED 1/3(60%OPT)=20%OPT
Continuous SchedulingContinuous Scheduling
Single Machine Scheduling (w=1)
Bar-Noy, Guha, Naor and Schieber STOC 99: 1/3 Non Combinatorial
Berman, DasGupta STOC 00: 1/2·(1-)
This Talk, STOC 00: (Independent) 1/2·(1-)
Bandwidth AllocationUma, Phillips, Wein SODA 00: 1/6 Non combinatorial
This Talk, STOC 00 (Independent) 1/3 ·(1-) for w 1/2 1/5 ·(1-) for w 1
s(I) e(I)
{w(I) d(I)
If currant p(I1) original p(I1) then delete I1
else Split I2=(s2,e2] to I21=(s2, s1+d1] and I22=(s1+d1,e2]
Continuous Scheduling:Continuous Scheduling: Split and Round Profit Split and Round Profit (Loose additional (1- (Loose additional (1-) factor)) factor)
d(I1)
d(I2)
d(I1)
d(I2)
I11 I12
I21 I22
d
d
d
d
d
d
d
d
d
d
Parallel Unrelated Machines: ContinousBar-Noy, Guha, Naor and Schieber STOC 99: 1/3 1/4
Berman, DasGupta STOC 00: 1/2 1/2·(1-)
This Talk, STOC 00(Independent) 1/2 1/2·(1-)
Parallel unrelated machines:Parallel unrelated machines:
c
d
d
dd
h
h
h
cc
c
k
A
Ai
i
ik
Parallel unrelated machines: 1/5-approximation Parallel unrelated machines: 1/5-approximation (not in the paper)(not in the paper) Each machine resource Each machine resource 11pp11((Red Red ) = ) = pp11((orange orange d ) = 1;) = 1;
pp11 ((YellowYellow d ) = 2width; ) = 2width; pp11 (All others) = 0; (All others) = 0;
c
d
d
d
d
d
d
d
h
h
h
cc
c
k
A
Ai
i
ik