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