150 likes | 272 Vues
Bandwidth Allocation in Networks with Multiple Interferences. Reuven Bar- Yehuda Gleb Polevoy Dror Rawitz Technion. The Model. Base Stations {1,2,… , i ,…,n} Interferences ( i ) <1 Users {1,2,…,j,…,m} Frequencies {1,2,…,t,…,f}
E N D
Bandwidth Allocation in Networks with Multiple Interferences Reuven Bar-Yehuda GlebPolevoy DrorRawitz Technion
The Model Base Stations {1,2,…,i,…,n} • Interferences (i) <1 Users {1,2,…,j,…,m} Frequencies {1,2,…,t,…,f} User j has a set of bandwidth requests from base station i: Rij={Iij1,…,Iijk,….} • Each request ijk has a profit Pijk>0 Optimization problem: Allocating subsets of demands with maximum profit s.t: • At most one demand per user • All demands satisfied by a base station are independent. • If t allocated by base i to user j then i Rij j
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) andp·x[]r·p·x* An algorithm is r-approximationif for any p, F it returns an r-approximation
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 )*
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
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;
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: ….
Fatal interference, one request per user I99 I88 I77 I66 I55 I44 I33 I22 I11 Maximize s.t: For each instance I: For each time t: Rij = {Iij} i j
Fatal interference, one request per user : How to select P1 to get optimization? P1=0 P1=1 P1=0 Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 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=0 P1=0 P1=1 P1=0 P1=1 P1=1
Fatal interference, one request per user: An Optimization Algorithm P1=P(Î ) P1=0 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=P(Î ) P1=0 P1=P(Î ) P1=P(Î )
Fatal interference, one request per user :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
Single Machine Scheduling : Bar-Noy, Guha, Naor and Schieber STOC 99: 1/2 LP Berman, DasGupta, STOC 00: 1/2 This Talk, STOC 00(Independent) 1/2 • 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:
Single Machine Scheduling: How to select P1 to get ½-approximation ? P1=1 P1=0 P1=0 P1=1 P1=0 P1=0 Activity9 Activity8 Activity7 Activity6 Activity5 Activity4 Activity3 Activity2 Activity 1 Î time Let Î be an interval that ends first; 1if I in conflict with Î 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=0 P1=0 P1=0 P1=0 P1=1 P1=0 P1=1 P1=0 P1=0 P1=1 P1=1 P1=1 P1=1 P1=1
The ½-approximation Algorithm 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 {Î};