p(О) - DIALM-POMC

Reuven Bar-Yehuda
Gleb Polevoy
Dror Rawitz
Technion
1
Multiple interference
1
1
2
3
  (1   i )
1  (1  1 )  (1  1 )(1   2 )  (1  1 )(1   2 )(1   3 )
i
For small interferences we can approximate to
Additive :1  (1  1 )  (1   1   2 )  (1   1   2   3 )  1   i
i
2
Interval selection with multiple interference
Base stations B={1,2,…,i,…,n}
Interferences i <1
Users U={1,2,…,j,…,m}
Times {1,2,…,t,…,f}
User j has a set of time interval
requests from base station i:
Rij={Iij1,…,Iijk,….}
Each request ijk has a profit Pijk >0
Optimization problem: Allocating
subsets of time intervals with
maximum profit s.t:
• At most one interval per user
• All intervals satisfied by a base
station are independent.
 
Iijk S tIijk

1
2
i
Rij
j
n
i 'i:talloc ( i ')
t
(1   i ' )  
3
Interval selection with multiple interference
Main result: 7-approximation
This is achieved by getting:

k+1- approximation for strong interferences i i  1  k 
1
-approximation for
3
k 1
weak interferences i i  1  k 
For k=2 it gives: 3+4=7 (will be shown)
4
Linearization & Normalization
We can transform:
To:
Where:
 
Iijk S tIijk
 
Iijk S tIijk

(1   i ' )  

wi '  1
i 'i:talloc ( i ')
i ' i:talloc ( i ')
log(1   i ' )
wi ' 
log 
5
Common time
One req/base station & One req/user
Maximize
s.t.
P
I S

I S
1
R11
2
R22
i
Rii
I
w( S  {I })  1
i
n
Rnnt
t0
6
Open knapsack
Maximize
P
I S
s.t.

I S
w( S  {I })  1
Not feasible
I
1
w( S  {I })  1
Bad news: NP-Hard (add width-less expensive box)
Good news: FPTAS (Dynamic programming approach)
Generalization to many base stations: the bipartite is a forest.
7
Use open knapsack constraints
at interval’s right endpoints
u1
u2
Base1
uj
u1
u2
Basei
uj
Basem
un
max  P I
I S
s.t. S contains at most one interval from a user
IS S  Right contains at most one interval per base station
I
IS w(S  Right
I
 {I })  1
8
Strong interferences: w > 1/k
u1
u2
Base1
Î
uj
u1
u2
Basei
uj
Basem
un
Let Î be an interval that ends first;
1
if I in conflict with Î
For all intervals I define: p1 (I) =
For every feasible
x:
p1 ·x  k+1
0 else
 Every Î-maximal solution is k+1 approximation
.
For every Î-maximal x:
p1 ·x

1
9
Strong interferences: w > 1/k
The k+1 approximation algorithm
Algorithm MaxIS( R, p )
If R = Φ then return Φ ;
If I  S p(I) 0 then return MaxIS( R - {I}, p);
Let Î  R that ends first;
p(Î)
if I in conflict with Î
I  S define: p1 (I) =
0
else
IS = MaxIS( R, p- p1 ) ;
If IS is Î-maximal then return IS else return IS  {Î};
10
Weak interferences: w ≤ 1/k
u1
u2
Base1
Î
uj
u1
u2
Basei
uj
Interference conflict
Basem
un
Let Î be an interval that ends first;
For all intervals I define: p1 (I) =
For every feasible x: p1 ·x  3-2/k
For every Î-maximal x: p1 ·x  1-1/k
0
1-1/k
w(I)
if I not in any conflict with Î
else if I same base or same user as Î
else if I in interference conflict with Î
Every Î-maximal is
3
1
 approximation
k 1
11
1/7-approximation
R9
R8
R7
R6
R5
R4
R3
R2
R1
w>½
w>½
w>½
w>½
w>½
w>½
w>½
w>½
w>½
Algorithm:
GRAY
= Find 1/3-approximation for gray (w>1/2) intervals;
COLORED = Find 1/4-approximation for colored intervals
Return the one with the larger profit
Analysis:
If GRAY*  3/7OPT then GRAY
 1/3(3/7OPT)=1/7OPT else
COLORED*  4/7OPT thus COLORED  1/4(4/7OPT)=1/7OPT
Interval selection with multiple interference
Base stations B={1,2,…,i,…,n}
Interferences i <1
Users U={1,2,…,j,…,m}
Times {1,2,…,t,…,f}
User j has a set of time interval
requests from base station i:
Rij={Iij1,…,Iijk,….}
Each request ijk has a profit Pijk >0
Optimization problem: Allocating
subsets of time intervals with
maximum profit s.t:
i
Rij
j
• At most one interval per user
• All intervals satisfied by a base
station are independent.
 
Iijk S tIijk

i1i:talloc ( i1)
t
(1   i1 )  
13
Frequency allocation with multiple interference
Base stations B={1,2,…,i,…,n}
Interferences i <1
Users U={1,2,…,j,…,m}
Frequencies {1,2,…,t,…,f}
User j has a set of bandwidth
demands from base station i:
Rij={dij1,…,dijk,….}
Each demand dijk has a profit pijk >0
i
Optimization problem: Allocating
demands with maximum profit s.t:
• At most one demand satisfied per
user
• All demands satisfied by a base
station are independent.
• |alloc(ijk)|= dijk

t{1,2,... f }

ijk :talloc ( ijk )
Rij
j
t
(1   ijk )  
14
Frequency allocation with multiple interference
Main result: 12-approximation
This is achieved by getting:

2k 1 - approximation for strong interferences
2
5
-approximation for weak interferences
k 1
i i  1  k 
i i  1  k 
For k=2 it gives: 5+7=12
15
Thank you !
The Local-Ratio Technique:
Basic definitions
Given a profit [penalty] vector p.
Maximize[Minimize]
Subject to:
p·x
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
17
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 )*
18
Special 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
19
A Local-Ratio Schema for
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;
20
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 :
….
21
Single request to Single base station
I19
I18
I17
I16
I15
I14
I12
I12
I11
p ( I )  xI
Maximize 
I
s.t:
For each instance I: xI {0,1}
For each freq. t:
x
I
I :s ( I )  t  e ( I )
1
R1j = {I1j}
j
22
Single base station:
How to select P1 to get optimization?
I19
I18
I17
I16
I15
I14
I13
I12
I11
P1=0
P1=1
P1=0
P1=0
P1=0
P1=1
P1=0
P1=1
P1=1
Î
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:
For every Î-maximal x:
p1 ·x 
p1 ·x

1

Every Î-maximal is optimal.
1
23
Single base station:
An Optimization Algorithm
I19
I18
I17
I16
I15
I14
I13
I12
I11
P1=P(Î
)
P1=0
P1=0
P1=0
P1=0
P1=P(Î
)
P1=0
Î
P1=P(Î
)
P1=P(Î
)
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;
p(Î)
if I in conflict with Î
I  S define: p1 (I) =
0
else
IS = MaxIS( S, p- p1 ) ;
If IS is Î-maximal then return IS else return IS  {Î};
24
Single base station:
Running Example
P(I5) = 3
-4
P(I6) = 6
-4
P(I3) = 5
-5
P(I2) = 3
-5
P(I1) = 5
-5
P(I4) = 9
-5
-5
-2
-4
-4
-2
25
Frequency allocation with multiple interference:
Approximation for weak interferences
FA-Weak(R, p)
If R= return (, )
Let d ˆ be minimum in R
ˆˆ
ijk

 1
if

Define p1 (i, j, k )   2dijk
elseif
 2d w
 ijk ijk
else
 (1   ) f
ˆˆ ˆ : p (iˆ, ˆj , kˆ)  0}
Define R   {ijk
i  iˆ
j  ˆj
and define
p2  p  p1
( S  , A )  FA-Weak ( R  , p2 )
ˆˆ ˆ)
return Augument( S  , A , ijk
26