the erlang-r queue: time-varying qed queues with...
TRANSCRIPT
Motivation The Erlang-R Queue Results
The Erlang-R Queue:Time-Varying QED Queues with Reentrant
Customersin Support of Healthcare Staffing
Galit Yom-Tov Avishai Mandelbaum
Industrial Engineering and ManagementTechnion
MSOM Conference, June 2010
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results The Problem Studied
The Problem Studied
Problems in Emergency Departments:Hospitals do not manage patients flow.Long waiting times in the ED for physicians, nurses, andtests.=> Deterioration in medical state.Patients leave ED without being seen or abandon duringtheir stay.=> Patient return in severe state.
We use Service Engineering approach to reduce theseeffects.
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results The Problem Studied
The Problem Studied ) 08/01/2009(
7
Figure 4 - Activities-Resources (Flow) Chart
Physician NurseImagineLabOther
Follow-up
Instruction prior discharge
Awaiting evacuation
Administrative release
First
Examination
Decision
Labs Treatment
Administrative reception
Vital signs & Anamnesis
Imagine:
X-Ray, CT, Ultrasound
Treatment
Consultation
First Examination
Alternative Operation -
Recourse Queue - Synchronization Queue –
Ending point of alternative operation -
C
A A A A B
B
B
C
C
C
Can we determine the number of physicians (and nurses)needed to improve patients flow, and control the system inbalance between service quality and efficiency?
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results The Problem Studied
The Problem Studied
Standard assumption in service models: service time iscontinuous.But we find systems in which: service is dis-continuous andcustomers re-enter service again and again.
M/M/s/N with cycles
1exp( ), ( ) ( )Q s Qμ μ μ=
Service (Needy) Content
1-p
p
s
∧
2exp( ), ( )Q Q
∞ Blocked
( )( )
PoissQ
λλ λ=
δ δ δ=
N
What is the appropriate staffing procedure?What is the significance of the re-entering customers?What is the implication of using simple Erlang-C models forstaffing?
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results The Problem Studied
The Problem Studied
Standard assumption in service models: service time iscontinuous.But we find systems in which: service is dis-continuous andcustomers re-enter service again and again.
M/M/s/N with cycles
1exp( ), ( ) ( )Q s Qμ μ μ=
Service (Needy) Content
1-p
p
s
∧
2exp( ), ( )Q Q
∞ Blocked
( )( )
PoissQ
λλ λ=
δ δ δ=
N
What is the appropriate staffing procedure?What is the significance of the re-entering customers?What is the implication of using simple Erlang-C models forstaffing?
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results The Problem Studied
Related Work
Mandelbaum A., Massey W.A., Reiman M.Strong Approximations for Markovian Service Networks. 1998.
Massey W.A., Whitt W.Networks of Infinite-Server Queues with Nonstationary Poisson Input.1993.
Green L., Kolesar P.J., Soares J.Improving the SIPP Approach for Staffing Service Systems that haveCyclic Demands. 2001.
Jennings O.B., Mandelbaum A., Massey W.A., Whitt W.Server Staffing to Meet Time-Varying Demand. 1996.
Feldman Z., Mandelbaum A., Massey W.A., Whitt W.Staffing of Time-Varying Queues to Achieve Time-Stable Performance.2007.
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Model Definition Staffing Time-Varying Erlang-R Queue
Model Definition
The (Time-Varying) Erlang-R Queue:
Erlang-R:
Needy (s-servers)
Content (Delay)
1-p
p
1
2
Arrivals Patient discharge
Needy (st-servers)
rate- μ
Content (Delay) rate - δ
1-p
p
1
2
Arrivals Poiss(λt) Patient discharge
λt - Arrival rate of a time-varying Poisson arrival process.µ - Service rate.δ - Delay rate (1/δ is the delay time between services).p - Probability of return to service.st - Number of servers at time t .
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Model Definition Staffing Time-Varying Erlang-R Queue
Patients Arrivals to an Emergency Department
2004-2008
16
18
12
14
r hou
r
8
10
nts
per
4
6
Patie
n
0
2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 230 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Hour of day
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Model Definition Staffing Time-Varying Erlang-R Queue
Staffing: Determine st , t ≥ 0
Based on the QED-staffing formula:
s = R + β√
R, where R = λE [S]
In time-varying environments: s(t) = R(t) + β√
R(t),where β is chosen according to the steady-state QED.Two approaches to calculate the time-varying offered load(R(t)):
PSA / SIPP (lag-SIPP) - divide the time-horizon to planningintervals, calculate average arrival rate and steady-stateoffered-load for each interval, then staff according tosteady-state recommendation (i.e., R(t) ≈ λ̄(t)E [S]).MOL/IS - assuming no constraints on number of servers,calculate the time-varying offered-load. For example, in asingle service system:R(t) = E [
∫ tt−S λ(u)du] = E [λ(t − Se)]E [S].
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Model Definition Staffing Time-Varying Erlang-R Queue
Staffing: Determine st , t ≥ 0
Based on the QED-staffing formula:
s = R + β√
R, where R = λE [S]
In time-varying environments: s(t) = R(t) + β√
R(t),where β is chosen according to the steady-state QED.Two approaches to calculate the time-varying offered load(R(t)):
PSA / SIPP (lag-SIPP) - divide the time-horizon to planningintervals, calculate average arrival rate and steady-stateoffered-load for each interval, then staff according tosteady-state recommendation (i.e., R(t) ≈ λ̄(t)E [S]).MOL/IS - assuming no constraints on number of servers,calculate the time-varying offered-load. For example, in asingle service system:R(t) = E [
∫ tt−S λ(u)du] = E [λ(t − Se)]E [S].
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Model Definition Staffing Time-Varying Erlang-R Queue
Staffing: Determine st , t ≥ 0
Based on the QED-staffing formula:
s = R + β√
R, where R = λE [S]
In time-varying environments: s(t) = R(t) + β√
R(t),where β is chosen according to the steady-state QED.Two approaches to calculate the time-varying offered load(R(t)):
PSA / SIPP (lag-SIPP) - divide the time-horizon to planningintervals, calculate average arrival rate and steady-stateoffered-load for each interval, then staff according tosteady-state recommendation (i.e., R(t) ≈ λ̄(t)E [S]).MOL/IS - assuming no constraints on number of servers,calculate the time-varying offered-load. For example, in asingle service system:R(t) = E [
∫ tt−S λ(u)du] = E [λ(t − Se)]E [S].
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Model Definition Staffing Time-Varying Erlang-R Queue
The Offered-Load
Offered-Load in Erlang-R = The number of busy servers (or thenumber of customers) in a corresponding (Mt/M/∞)2 network.Theorem: (Massey and Whitt 1993)
R(t) = (R1(t),R2(t)) is determined by the following expression:
Ri(t) = E [λ+i (t − Si,e)]E [Si ]
where,
λ+1 (t) = λ(t) + E [λ+
2 (t − S2)]
λ+2 (t) = pE [λ+
1 (t − S1)]
Theorem:
If service times are exponential, R(t) is the solution of the following Fluid ODE:
ddt
R1(t) = λt + δR2(t)− µR1(t),
ddt
R2(t) = pµR1(t)− δR2(t).
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Case Study: Sinusoidal Arrival Rate
Periodic arrival rate: λt = λ̄+ λ̄κsin(ωt).λ̄ is the average arrival rate, κ is the relative amplitude, and ω isthe frequency.
External / Internal arrivals rate, Offered-load, and Staffing120
100
60
80
g level
40
60
Staffin
g
20
40λ(t)
λ+(t)
0
20R1(t)
s(t)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Case Study: Sinusoidal Arrival Rate
Simulation of P(Wait) for various β (0.1 ≤ β ≤ 1.5)
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
P(W>0)
0
0.1
0.2
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100105110115
Time [Hour]beta=0.1 beta=0.3 beta=0.5 beta=0.7 beta=1 beta=1.5
Performance measure is stable! (0.15 ≤ P(Wait) ≤ 0.85)
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Case Study: Sinusoidal Arrival Rate
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
P(W>0)
Halfin-WhittEmpirical
0
0.1
0.2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
β
Relation between P(wait) and β fits steady-state theory!
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Case Study: Sinusoidal Arrival Rate
Simulation results of servers’ utilization for various β
0 95
1
0.9
0.95
on
0 8
0.85
Util
izat
io
0.75
0.8U
0.70 15 30 45 60 75 90 105 120 135 150 165 180 195 210 225
Time beta 0.1 beta 0.3 beta 0.5 beta 0.7 beta 1.0 beta 1.5
Performance measure is stable! (0.85 ≤ Util ≤ 0.98)
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Can We Use Erlang-C?
Simulation results of P(wait):Erlang-R vs. Erlang-C and PSA
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 20 40 60 80 100 120 140 160 180 200 220 240
P(W>0)
TimeErlang‐R Erlang‐C PSA
Using Erlang-C’s R(t), does not stabilize systems’performance.
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Why Erlang-C Does Not Fit Re-entrant Systems?
Compare R(t) of Erlang-C and Erlang-R:
Erlang-C offered-load (with concatenated services) :
R(t) = E[λ
(t − 1
1− pS1,e
)]E[
11− p
S1
]Erlang-R offered-load:
R1(t) = E
[ ∞∑i=1
piλ(
t − S∗i1 − S∗i2 − S1,e
)]E [S1]
Needy
Content
1-p
p
1
2
Arrivals Patient discharge
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Comparison between Erlang-C and Erlang-R
Erlang-C under- or over-estimates the Erlang-R offered-load.
36
38
105
110
32
34
95
100
Ad
28
30
32
85
90
Arrival Rred Load
26
28
75
80
RateOffer
22
24
65
70 Erlang‐CErlang‐Rλ(t)
2060
7 7.25 7.5 7.75 8 8.25 8.5 8.75 9
λ(t)
Time
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Comparison between Erlang-C and Erlang-R
Theorem:
The ratio of amplitudes between Erlang-R and Erlang-C is given by√(δ2 + ω2)(((1− p)µ)2 + ω2)
((µ− iω)(δ − iω)− pµδ)((µ+ iω)(δ + iω)− pµδ)
Plot of amplitudes ratio as a function of ω1
0 98
0.99
io
0.97
0.98
ude Ra
ti
0.96Amplitu
0.95
0.94
0.00 0.26 0.53 0.79 1.06 1.32 1.58 1.85 2.11 2.38 2.64 2.90
Omega
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Comparison between Erlang-C and Erlang-R
Plot of amplitudes ratio as a function of ω1
0 98
0.99
io
0.97
0.98ud
e Ra
ti
0.96Amplitu
0.95
0.94
0.00 0.26 0.53 0.79 1.06 1.32 1.58 1.85 2.11 2.38 2.64 2.90
Omega
Erlang-C over-estimate the amplitude of the offered-load.The re-entrant patients stabilize the system.Minimum ratio achieved when: ω =
√δµ(1− p) (for example
ED).
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Comparison between Erlang-C and Erlang-R
Plot of the ratio of phases as a function of ω2.3
2.5
1 9
2.1
1.7
1.9
e Ra
tio
1.3
1.5
Phase
0.9
1.1
0.7
0.9
0.0 0.5 1.1 1.6 2.1 2.6 3.2 3.7 4.2 4.8 5.3 5.8
Omega
Erlang-C under- or over-estimates the time-lag.
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Comparison between Erlang-C and Erlang-R
Erlang-C under- or over-estimates this time-lag depending onthe period’s length.
36105λ=30, µ=1, δ=0.5, p=2/3, cycles per day=1
34100
30
32
90
95 Arrivad
Load
28
30
85
90
al Rate
Offered
2680 Erlang‐CErlang‐R
2475
7 7.25 7.5 7.75 8 8.25 8.5 8.75 9
λ(t)
Time
3696λ=30, µ=1, δ=0.5, p=2/3, cycles per day=4
3494
30
32
90
92 Arrivad
Load
28
30
88
90
al Rate
Offered
2686 Erlang‐CErlang‐R
2484
9.5 9.6 9.7 9.8 9.9 10.0
λ(t)
Time
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Small systems - Hospitals
Small systems: No of doctors range from 1 to 5Constrains:
Staffing resolution: 1 hourMinimal staffing: 1 doctor per typeInteger values: s(t) = [R1(t) + β
√R1(t)]
Example: R = 2.75
β range s P(W > 0)
[0, 0.474] 3 82.4%(0.474, 1.055] 4 34.0%(1.055, 1.658] 5 11.4%(1.658, 2.261] 6 3.0%1.658 and up 7 0%
=> Can not achieve all performance levels!
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Small systems - Hospitals
0.3
0.4
0.5
0.6
0.7
0.8
0.9P(W>0)
0
0.1
0.2
0 1000 2000 3000 4000 5000 6000 7000
TimeBeta=0.1 Beta=0.5 Beta=1 Beta=1.5
P(Wait) is stable and separable!
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Conclusions
In time-varying systems where patients return for multipleservices:
1 Using the MOL (IS) algorithm for staffing stabilizesperformance.
2 Re-entrant patients stabilize the system.3 Using single-service models, such as Erlang-C, is
problematic in the re-entrant ED environment:
Time-varying arrivalsTransient behavior even with constant parameters
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
What next?
Fluid and diffusion approximations for mass-casualtyeventsQED - MOL approximations for the processes:
Number of customers in systemVirtual waiting time
Extension: upper limit on the number of customers withinthe system
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
What next?
The semi-open Erlang-R queue
Erlang-R: Closed Erlang-R: IW model closed network:
Needy (s-servers)
Content (Delay)
1-p
p
1
2
Arrivals Patient discharge
1-p
p
3
1
exp( ), Sμ
exp( ),δ ∞
exp( ),1λ
2
4
exp( ),γ ∞
Arrivals: Needy:
Content:
Cleaning:
N
Patient is Content
1-p
p
1
2
Arrivals
Blocked patients
Patient is Needy
N beds
Does MOL approximation works? yes, stabilizing performanceis achieved.Is it close to M/M/s/n model? no.
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue
Motivation The Erlang-R Queue Results Case Study Analyzing of the offered load function
Thank You
Galit Yom-Tov, Avishai Mandelbaum The Erlang-R Queue