IE 306
Systems Simulation
Revisiting Queuing Systems
IE 306 – Systems Simulation G. Yücel
General form of the problems
• A service system with a set of “servers” • Things that happen to servers and
lined up according to a process flow entities at random times (Stochastic
–Computer servers events)
–Cashiers –Server going down
–Call center operators –Customer deciding to leave
–Cashier taking a break
• ”Entities” entering the system with
service demands • Activities that take a random amount of
–Computations requests time (Stochastic processes)
–Customers –Service times
–Arrival streams
–Recovery time of a server that is down
IE 306 – Systems Simulation G. Yücel
Various queueing system examples
Customers Servers
Repair facility Machines Repair person
Airport security Passengers Security personnel, X-ray
Airport Aircrafts Runway
Hospital Patients Nurses
Shuttle service in the campus Students Shuttle
Obikas User requests Obikas servers
IE 306 – Systems Simulation G. Yücel
Key inputs and outputs of interest
Arrival rate
Server Utilization
Service demand Queueing
Length of waiting lines
Server working rate System
Delays of customers
# and arrangement
of servers
IE 306 – Systems Simulation G. Yücel
Queueing Models
IE 306 – Systems Simulation G. Yücel
Characteristics of Queueing Systems
• The Calling Population • Queue discipline
– Finite or (practically) infinite • FIFO, LIFO, Service in Random Order (SIRO), Shortest
Processing Time (SPT) first, Priority (PR)
• System Capacity
– Finite or infinite • Service Times and Service Mechanism
– Service times
• Constant or random service times
• The Arrival Process • Customers of different types may have different
– Deterministic, scheduled or Random service times
– Poisson arrival process has been widely used • State-dependent: Servers may speed up if they see a
– Single arrival or batches? congested system
– Finite population arrivals? – How many servers?
• Parallel and/or serial servers
• Queue Behavior
– Customers may
• Balk (leave when they see a long queue)
• Renege (leave after being in line and observing that the
queue moves very slowly)
• Jockey (move to another line where they think they will
get a faster service)
IE 306 – Systems Simulation G. Yücel
Example Server Configuration
• Customers may serve themselves or wait for one of the three clerks while picking up the
items
• Customers need to pay at the check-out counter, where there is a single cashier
IE 306 – Systems Simulation G. Yücel
Common Notation
• Due to Kendall (1953). Widely adopted
Arr/Serv/c/N/K
• Where;
–Arr : interarrival time distribution
–Serv : service time distribution
–c : number of parallel servers
–N : system capacity
–K : size of the calling population
• Possible values for Arr & Serr:
–M (Markovian/Exponential),
–D (deterministic),
–Ek (Erlang of order k),
–G (general)
IE 306 – Systems Simulation G. Yücel
Common Notation
• Defining parameters
– Arrival rate: 𝝀
– Effective arrival rate: 𝝀𝒆 • Summary statistics about the system state
– Service rate of one server: 𝝁 – Probability of n customers in system at time t: 𝑷𝒏 (𝒕)
– Steady state probability of having n customers in system:
• Variables regarding the state of the system 𝑷𝒏
– Number of customers in system at time t: 𝑳(𝒕) – Long-run time-average number of customers in system: 𝑳
– Number of customers in the queue at time t: 𝑳𝑸 (𝒕) – Long-run time-average number of customers in the
queue: 𝑳𝑸
• Variables regarding individual entitites
– Total time spent in the system by the nth arriving
• Summary statistics about the system performance
customer: 𝑾𝒏 – Server utilization: 𝝆
– Total time spent waiting in queue by the nth arriving – Long-run average time spent in the system per customer:
customer: 𝑾𝒏
𝑸 𝒘
– Interarrival time between customers n-1 and n: 𝑨𝒏 – Long-run average time spent in queue per customer: 𝒘𝑸
– Service time of the nth arriving customer: 𝑺𝒏
IE 306 – Systems Simulation G. Yücel
Long-Run Measures
• Considering a G/G/c/N/K system with N>>3
• Time-Average Number in System
IE 306 – Systems Simulation G. Yücel
Time Weighted Average
• Ti denotes the total time during [0,T] in which the system contained exactly i
customers
∞
𝑇𝑖 = 𝑇
𝑖=0
• Time weighted average in the system is for the period [0, T]:
𝐿 = 1 σ∞ ∞
𝑖=0 𝑖𝑇𝑖 = σ𝑖=0 𝑖
𝑇𝑖
𝑇 𝑇
𝑇𝑖
• is the proportion of time the system contains exactly i customers.
𝑇
IE 306 – Systems Simulation G. Yücel
Time Weighted Average
• Total area under the graph:
∞ 𝑇
𝑖 𝑇𝑖 = න 𝐿 𝑡 𝑑𝑡
𝑖=0 0
• And therefore:
1 𝑇
𝐿 = 1 σ∞
𝑖=0 𝑖 𝑇𝑖 = 𝐿 𝑡 𝑑𝑡
𝑇 𝑇 0
• With probability 1, as: T → , Lˆ → L
• So for a sufficiently long simulation length the estimator is arbirtarily close to the true value.
• Unfortunately, for 𝑇 < ∞, 𝐿 depends on the initial conditions at time 0.
IE 306 – Systems Simulation G. Yücel
Time Weighted Average
• Time weighted averages can be applied to any subsystem of a queueing
system as well
• If LQ (t ) denotes the number of customers waiting in the queue and
denotes the total time during [0,T] in which exactly i customers are waiting in
Q
the queue then: i T
1 1
LQ = iTi = LQ (t )dt → LQ as T →
ˆ Q
T i =0 T0
IE 306 – Systems Simulation G. Yücel
IE 306 – Systems Simulation G. Yücel
Average Time Spent in the System Per Customer
• The time ith customer spends in the system during [0,T] is
measured by Wi i = 1,2,..., N
• Then
N
1
ˆ
W=
N
W
i =1
i
• For stable systems: Wˆ → W as N →
• For the queue alone:
N
1
ˆ
WQ =
N
i → WQ as N →
W Q
i =1
IE 306 – Systems Simulation G. Yücel
Average Time Spent in the System Per Customer
IE 306 – Systems Simulation G. Yücel
Little’s Law (Conservation Equation)
• For the example:
Lˆ = ˆWˆ
• Is it a coincidence?
• Average number of customers in the system at any arbitrary point in time =
(average number of arrivals per time unit) x (average time spent in the system)
• As T → , N → , ˆ →
L = W
IE 306 – Systems Simulation G. Yücel
Little’s Law
N T
W = L(t )dt
i =1
i
0
N
̂ =
T
T N
1 N 1
Lˆ = L(t )dt =
T0
T N i =1
Wi = ˆWˆ
IE 306 – Systems Simulation G. Yücel
Server Utilization
• Observed server utilization
ˆ → , as T →
• for systems that exhibit a long-run stability.
• In G / G / 1/ / systems with arrival rate customers per unit time
• Average service time E[ S ] = 1 / time units
• Then is the service rate. (customers per unit time)
IE 306 – Systems Simulation G. Yücel
Server Utilization
• The server itself can be considered as a queueing system!
T − T0
T
ˆ 1
LS = ( L(t ) − LQ (t )) dt =
T0 T
• Average time in the system:
WS = E[ S ] = −1
As T → , LˆS → ˆ , LS →
• Using Little’s formula:
= E[S ] =
IE 306 – Systems Simulation G. Yücel
Server Utilization
• For a G / G / c / / system with c identical servers the average number of busy servers is given by:
LS = E[ S ] = c
• The long run average server utilization is defined by:
LS
= =
c c
IE 306 – Systems Simulation G. Yücel
M/G/1 Queue
Steady state parameters
=/
2 (1 / 2 + 2 ) 2 (1 + 2 2 )
L=+ =+
2(1 − ) 2(1 − )
(1 / 2 + 2 )
1
W= +
2(1 − )
(1 / 2 + 2 )
WQ =
2(1 − )
2 (1 / 2 + 2 ) 2 (1 + 2 2 )
LQ = =
2(1 − ) 2(1 − )
P0 = 1 −
IE 306 – Systems Simulation G. Yücel
M/M/1 Queue
Steady state parameters
=/
L= =
( − ) (1 − )
1 1
W= =
− (1 − )
WQ = =
− (1 − )
2 2
LQ = =
( − ) (1 − )
Pn = (1 − ) n
IE 306 – Systems Simulation G. Yücel
M/M/c Queue
= / c
(c ) c +1 P0 P( L() c)
L = c + = c +
c(c!)(1 − ) 2
(1 − )
W = L/
WQ = W − 1 /
(c ) c +1 P0 P( L() c)
LQ = WQ = =
c(c!)(1 − ) 2
(1 − )
−1
(c )
c −1 n
c 1 1
P0 = + (c )
n =0 n! c! 1 −
(c ) c P0
P ( L ( ) c ) =
(c!)(1 − )
IE 306 – Systems Simulation G. Yücel