Online Supplement for “Critically Loaded Time-Varying Multi-Server Queues: Computational Challenges and

advertisement
Online Supplement for “Critically Loaded Time-Varying
Multi-Server Queues: Computational Challenges and
Approximations”
Young Myoung Ko
Sabre Holdings, 3150 Sabre Drive, Southlake, Texas 76092, USA, YoungMyoung.Ko@sabre.com
Natarajan Gautam
Department of Industrial and Systems Engineering, Texas A&M University, 3131 TAMU, College Station,
Texas 77843-3131, USA, gautam@tamu.edu
1.
Derivation of giη (·, ·, ·)’s in Section 5
For a fixed η, suppose xη1 (t) ∼ N (E[xη1 (t)], σ1η (t)2 ). For x = (x1 , x2 )0 , we have
η
x1 (t) E[xη1 (t)] x1 η
1
−
+
∧ nt
g3 t, x = ηE µt
η
η
η
= E µ1t (xη1 (t) − E[xη1 (t)] + x1 ) ∧ ηnt
n = µ1t E (xη1 (t) − E[xη1 (t)] + x1 )Ixη1 (t)−E[xη1 (t)]+x1 ≤ηnt
o
+ηnt P r[xη1 (t) − E[xη1 (t)] + x1 > ηnt ] .
Let y1 (t) = xη1 (t) − E[xη1 (t)] + x1 . Then,
#
"Z
ηnt
2
(y
(t)
−
x
)
y
(t)
1
1
1
√
exp −
dy1 (t) + ηnt P r[y1 (t) > ηnt ]
g3η t, x = µ1t
2σ1η (t)2
2πσ1η (t)
−∞
"
Z ηnt
η
y1 (t) − x1
(y1 (t) − x1 )2
1 −σ1 (t)
dy1 (t)
= µt √
−
exp −
2σ1η (t)2
σ1η2
2π −∞
#
+x1 P r[y1 (t) ≤ ηnt ] + ηnt P r[y1 (t) > ηnt ]
"
=
µ1t
−
σ1η (t)2 √
1
exp
2πσ1η (t)
(ηn − x1 )2
−
2σ1η (t)2
#
+(x1 − ηnt )P r[y1 (t) ≤ ηnt ] + ηnt .
Then, we have an expression of g3η (t, x). In order to obtain the unknown σ1η (t) for com√
putation, we replace σ1η (t) with u1 as described in equations (22) and (23) in the paper
1
and obtain g3η (t, x, u). Note g4η (·, ·, ·) and g5η (·, ·, ·) are the same except a constant part with
respect to x. Therefore, it is enough to derive g5η (·, ·). We can show that
h
xη (t) E[xη (t)] x
+ i
1
1
g5η t, x = ηE βt pt 1
−
+
− nt
η
η
η
n o
= βt pt E (xη1 (t) − E[xη1 (t)] + x1 ) ∨ ηnt − ηnt
n = βt pt E (xη1 (t) − E[xη1 (t)] + x1 )Ixη1 (t)−E[xη1 (t)]+x1 >ηnt
o
+ηnt P r[xη1 (t) − E[xη1 (t)] + x1 ≤ ηnt ] − ηnt .
Let y1 (t) = xη1 (t) − E[xη1 (t)] + x1 . Then,
"Z
∞
y1 (t)
(y1 (t) − x1 )2
η
√
g5 t, x = βt pt
exp −
dy1 (t)
2σ1η (t)2
2πσ1η (t)
ηnt
#
+ηnt P r[y1 (t) ≤ ηnt ] − ηnt
"
−σ η (t)
= βt pt √ 1
2π
Z
∞
ηnt
y1 (t) − x1
−
exp
σ1η (t)2
(y1 (t) − x1 )2
−
dy1 (t)
2σ1η (t)2
#
+x1 P r[y1 (t) > ηnt ] + ηnt P r[y1 (t) ≤ ηnt ] − ηnt
"
=
1
exp
2πσ1η (t)
βt pt σ1η (t)2 √
(ηn − x1 )2
−
2σ1η (t)2
#
+(x1 − ηnt )P r[y1 (t) > ηnt ] .
Then, we have an expression of g5η (t, x). Just like g3η (t, x, u), we obtain g5η (t, x, u) by replacing
√
σ1η (t) with u1 .
2.
Numerical studies for multi-class preemptive queues
We provide two numerical results comparing standard and adjusted limits to approximate
multi-class preemptive queues. Figure 1 illustrates a two-class multi-server queue we consider. Customers in class 1 and 2 arrive to the queue with rate λ1t and λ2t respectively. Service
rates are µ1t for class 1 customers and µ2t for class 2 customers. Class 1 customers have higher
priority and preemptive discipline applies for serving customers. We show numerical results
first and then provide g functions that we used for those queues in the following sections.
2
λ1t
λ
µt1 ( x1 (t ) ∧ nt )
x1 (t )
2!
x2 (t )
. . .!
2
t
1!
µt2 ( x2 (t ) ∧ (nt − x1 (t )) + )
nt
Figure 1: Multi-class preemptive queue
2.1.
Numerical results
Table 1 describes the setting of each experiment. In Table 1, “svrs” is the number of servers
(nt ), “λ11 ” and “λ12 ” are alternating arrival rates of class 1 customers (λ1t ), “λ2 ” is the arrival
rate of class 2 customers (λ2t ), “alter” is the time length for which each class 1 arrival rate
lasts, and “time” is the end time of our analysis. We conduct 10, 000 independent simulation runs for each experiment. Figures 2 and 5 compare standard and adjusted fluid limits.
Table 1: Experiment setting
exp svrs λ11 λ12 λ2
1
200 120 200 20
2
300 190 205 100
µ1 = µ2
1
1
alter time
2
20
2
10
We notice that in both experiments, the adjusted fluid limit provides excellent approximation results and outperforms the standard fluid limit. For the diffusion limits, as seen in
Figures 3 and 6, both approaches show non-trivial inaccuracy especially for the estimation
of V ar[x2 (t)]. However, we still observe that the adjusted diffusion limit provides better
estimation results than the standard diffusion limit. The reason why the adjusted diffusion
limit shows inaccuracy for V ar[x2 (t)] is that the empirical density is not close to Gaussian
density. In Figures 4 and 7, we can see that the empirical density functions of x2 (t) in both
experiments do not match with Gaussian PDF well while those of x1 (t) do match well.
3
nt=200,λ11=120, λ12=200, λ2=20, µ=1, alter=2
200
sim E[x1(t)]
fluid E[x1(t)]
180
sim E[x2(t)]
160
fluid E[x2(t)]
140
Mean
120
100
80
60
Inaccuracy
40
20
0
0
2
4
6
8
10
12
14
16
18
20
Time (t)
(a) Simulation vs Standard fluid limit
nt=200,λ11=120, λ12=200, λ2=20, µ=1, alter=2
200
sim E[x1(t)]
fluid E[x (t)]
180
1
sim E[x2(t)]
160
fluid E[x2(t)]
140
Mean
120
100
80
60
40
20
0
0
2
4
6
8
10
12
14
16
18
Time (t)
(b) Simulation vs Adjusted fluid limit
Figure 2: Comparison between fluid limits: exp. 1
4
20
nt=200,λ11=120, λ12=200, λ2=20, µ=1, alter=2
250
sim Var[x1(t)]
diff Var[x1(t)]
Inaccuracy
sim Cov[x1(t),x2(t)]
Covariance matrix entries
200
diff Cov[x1(t),x2(t)]
sim Var[x2(t)]
diff Var[x2(t)]
150
Inaccuracy
Inaccuracy
100
50
0
0
2
4
6
8
10
12
14
16
18
20
Time (t)
(a) Simulation vs Standard diffusion limit
nt=200,λ11=120, λ12=200, λ2=20, µ=1, alter=2
250
sim Var[x1(t)]
diff Var[x (t)]
1
sim Cov[x1(t),x2(t)]
Covariance matrix entries
200
diff Cov[x1(t),x2(t)]
sim Var[x2(t)]
diff Var[x (t)]
2
150
Inaccuracy
100
50
0
0
2
4
6
8
10
12
14
16
18
Time (t)
(b) Simulation vs Adjusted diffusion limit
Figure 3: Comparison between diffusion limits: exp. 1
5
20
nt=200,λ11=120, λ12=200, λ2=20, µ=1, t=9, alter=2
0.04
Density from experiments
Density from adjusted limit processes
0.035
0.03
Density
0.025
0.02
0.015
0.01
0.005
0
100
120
140
160
180
x1(t)
200
nt=200,λ11=120, λ12=200, λ2=20, µ=1, t=9, alter=2
0.07
Density from experiments
Density from adjusted limit processes
0.06
Density
0.05
0.04
0.03
0.02
0.01
0
10
20
30
40
50
x2(t)
60
70
80
90
Figure 4: Empirical density vs Gaussian density at t = 9: exp. 1
6
nt=300,λ11=190, λ12=205, λ2=100, µ=1, alter=2
250
200
Inaccuracy
Mean
150
100
sim E[x (t)]
1
fluid E[x1(t)]
50
sim E[x2(t)]
fluid E[x (t)]
2
0
0
1
2
3
4
5
6
7
8
9
10
Time (t)
(a) Simulation vs Standard fluid limit
nt=300,λ11=190, λ12=205, λ2=100, µ=1, alter=2
250
200
Mean
150
100
sim E[x1(t)]
fluid E[x1(t)]
50
sim E[x2(t)]
fluid E[x2(t)]
0
0
1
2
3
4
5
6
7
8
9
Time (t)
(b) Simulation vs Adjusted fluid limit
Figure 5: Comparison between fluid limits: exp. 2
7
10
nt=300,λ11=190, λ12=205, λ2=100, µ=1, alter=2
1000
Covariance matrix entries
900
sim Var[x1(t)]
800
diff Var[x1(t)]
700
diff Cov[x1(t),x2(t)]
600
Inaccuracy
sim Cov[x1(t),x2(t)]
sim Var[x2(t)]
diff Var[x2(t)]
500
Inaccuracy
400
300
200
100
0
0
1
2
3
4
5
6
7
8
9
10
Time (t)
(a) Simulation vs Standard diffusion limit
nt=300,λ11=190, λ12=205, λ2=100, µ=1, alter=2
1000
900
Covariance matrix entries
800
700
sim Var[x (t)]
1
diff Var[x1(t)]
Inaccuracy
sim Cov[x1(t),x2(t)]
diff Cov[x1(t),x2(t)]
sim Var[x (t)]
2
600
diff Var[x2(t)]
500
400
300
200
100
0
0
1
2
3
4
5
6
7
8
9
Time (t)
(b) Simulation vs Adjusted diffusion limit
Figure 6: Comparison between diffusion limits: exp. 2
8
10
nt=300,λ11=190, λ12=205, λ2=100, µ=1, t=9, alter=2
0.035
Density from experiments
Density from adjusted limit processes
0.03
Density
0.025
0.02
0.015
0.01
0.005
0
150
160
170
180
190
200
x1(t)
210
220
230
240
250
nt=300,λ11=190, λ12=205, λ2=100, µ=1, t=9, alter=2
0.025
Density from experiments
Density from adjusted limit processes
0.02
Density
0.015
0.01
0.005
0
80
100
120
140
160
180
x2(t)
200
220
240
260
280
Figure 7: Empirical density vs Gaussian density at t = 9: exp. 2
9
2.2.
Rate functions for adjusted limits (g(·, ·, ·)’s)
For constant rates, i.e., λ1t and λ2t , g functions are the same as original rate functions (f ).
The one corresponding to µ1t (x1 (t)∧nt ) is the same as the g3 function in the main paper. We,
therefore, just provide the g function for µ2t (x2 (t) ∧ (nt − x1 (t))+ ) which is new and indeed
complicated. Without loss of generality, we assume η = 1 for the sake of simplicity; for any
fixed η, we can easily find an equivalent formulation of which η value is
substitution.
1 using
2
σ
(t)
cov(t)
1
0
Let Z̄(t) = (z̄1 (t), z̄2 (t)) be the adjusted fluid limit and Σ(t) =
be
cov(t) σ2 (t)2
the covariance matrix of the adjusted diffusion limit. In addition, define the followings:
w(t) = nt − z̄1 (t),
v(t) = z̄1 (t) + z̄2 (t) − nt ,
σw (t)2 = σ1 (t)2 ,
σv (t)2 = σ1 (t)2 + σ2 (t)2 + 2cov(t),
covwv (t) = −σ1 (t)2 − cov(t),
covwv (t)
ρwv (t) =
,
σw (t) · σv (t)
covw2 (t) = −cov(t),
covw2 (t)
,
ρw2 (t) =
σ2 (t) · σw (t)
φv (t) = φ(0, v(t), σv (t)),
φw (t) = φ(0, w(t), σw (t)),
φ2 (t) = φ(0, z̄2 (t), σ2 (t)),
Φw (t) = Φ(0, w(t), σw (t)),
Φv (t) = Φ(0, v(t), σv (t)),
p
φwv (t) = φ(0, w(t) − σw (t) · ρwv (t) · v(t)/σv (t), σw (t) 1 − ρwv (t)2 ),
p
Φwv (t) = Φ(0, w(t) − σw (t) · ρwv (t) · v(t)/σv (t), σw (t) 1 − ρwv (t)2 ),
p
φvw (t) = φ(0, v(t) − σv (t) · ρwv (t) · w(t)/σw (t), σv (t) 1 − ρwv (t)2 ),
p
Φvw (t) = Φ(0, v(t) − σv (t) · ρwv (t) · w(t)/σw (t), σv (t) 1 − ρwv (t)2 ),
σw (t)2 covwv (t)
0
0
Ψwv (t) = Ψ (0, 0) , (w(t), v(t)) ,
,
covwv (t) σv (t)2
10
p
φw2 (t) = φ(0, w(t) − σw (t) · ρw2 (t) · z̄2 (t)/σ2 (t), σw (t) 1 − ρw2 (t)2 ),
p
Φw2 (t) = Φ(0, w(t) − σw (t) · ρw2 (t) · z̄2 (t)/σ2 (t), σw (t) 1 − ρw2 (t)2 ),
p
φ2w (t) = φ(0, z̄2 (t) − σ2 (t) · ρw2 (t) · w(t)/σw (t), σ2 (t) 1 − ρw2 (t)2 ),
p
Φ2w (t) = Φ(0, z̄2 (t) − σ2 (t) · ρw2 (t) · w(t)/σw (t), σ2 (t) 1 − ρw2 (t)2 ),
σw (t)2 covw2 (t)
0
0
,
Ψw2 (t) = Ψ (0, 0) , (w(t), z̄2 (t)) ,
covw2 (t) σ2 (t)2
where Ψ(a, b, c) is the function values at point a of the multivariate Gaussian CDF with
mean b and covariance matrix c. Note that φ(·, ·, ·) and Φ(·, ·, ·) are defined in Section 5.
Then, the g(·, ·, ·) function corresponding to µ2t (x2 (t) ∧ (nt − x1 (t))+ ) is
g(t, Z̄(t), Σ(t)) = µ2t w(t) − w(t) · Φw (t) + σw (t)2 · φw (t) + v(t) · Φv (t) − σv (t)2 · φv (t)
− v(t) · Ψwv (t) + σv (t) · (Φwv (t) · φv (t) · σv (t) + ρwv (t) · Φvw (t) · φw (t) · σw (t))
+ z̄2 (t) · Ψw2 (t) − σ2 (t) · (Φw2 (t) · φ2 (t) · σ2 (t) + ρw2 (t) · Φ2w (t) · φw (t) · σw (t) .
11
Download