1 queueing analysis of production systems (factory physics)
TRANSCRIPT
1
Queueing Analysis of Production Systems
(Factory Physics)
2
Reading Material
Chapter 8 from textbook
Handout: Single Server Queueing Model by Wallace Hopp (available for download from class website)
3
Queueing analysis is a tool for
evaluating operational performance Utilization
Time-in-system (flow time, leadtime)
Throughput rate (production rate, output
rate)
Waiting time (queueing time)
Work-in-process (number of parts or batches
in the systems)
4
A Single Stage System
Raw material
Processing unit
Finished parts
5
The Queueing Perspective
Server (production facility)
Queue (logical or physical) of
jobs
Arrival (release) of
jobs
Departure (completion) of
jobs
6
E[A]: average inter-arrival time between
consecutive jobs : arrival rate (average number of jobs that arrive per unit
time), = 1/E[A] E[S]: average processing time : processing rate (maximum average number of jobs that can be processed per unit time), = 1/E[S]
: average utilization, = E[S]/E[A] = /
System Parameters
7
E[W]: average time a job spends in the
system
E[Wq]: average time a job spends in the
queue
E[N]: average number of job in the system (average WIP in the system)
E[Nq]: average number of jobs in the queue (average WIP in the queue)
TH: throughput rate (average number of jobs produced per unit time)
Performance Measures
8
E[W] = E[Wq] + E[S]
E[N] = E[Nq] +
Performance Measures (Continued…)
9
Little’s Law
10
E[N] = E[W]E[Nq] = E[Wq]
= E[S]
Little’s Law
11
Example 1
Jobs arrive at regular & constant intervals
Processing times are constant Arrival rate < processing rate ( < )
12
Example 1
Jobs arrive at regular & constant intervals Processing times are constant Arrival rate < processing rate ( < )
E[Wq] = 0
E[W] = E[Wq] + E[S] = E[S] = / E[N] = E[W] = E[S] = E[Nq] = E[Wq] = 0 TH =
13
Case 2
Jobs arrive at regular & constant intervals
Processing times are constant Arrival rate > processing rate ( > )
14
Case 2
Jobs arrive at regular & constant intervals Processing times are constant Arrival rate > processing rate ( > )
E[Wq] = E[W] = E[Wq] + E[S] = = 1E[N] = E[W] = E[Na] = E[Wa] = TH =
15
Case 3
Job arrivals are subject to variability Processing times are subject to variability Arrival rate < processing rate ( < )
Example:
Average processing time = 6 min Inter-arrival time = 8 min
0.25y probabilitmin with 2
0.50y probabilitmin with 6
0.25y probabilitmin with 10
timeProcessing
16
Case 3 (Continued…)
= 6/8 = 0.75 TH = 1/8 job/min = 7.5 job/hour E[Wq] > 0 E[W] > E[S] E[Nq] > 0 E[N] >
17
In the presence of variability, jobs may wait for processing and a queue in front of the processing unit may build up.
Jobs should not be released to the system at a faster rate than the system processing rate.
18
Sources of Variability
19
Sources of Variability
Sources of variability include: Demand variability Processing time variability Batching Setup times Failures and breakdowns Material shortages Rework
20
Measuring Variability
Var[ ] Variance of processing time
Var[ ] Variance of inter-arrival time
Var[ ]Coefficient of variation (CV) in processing time
[ ]
Var[A]Coefficient of variation (CV) in inter-arrival time
[ ]
S
A
S
A
SC
E S
CE A
21
Variability Classes
0.75
High variability(HV)
Moderate variability(MV)
Low variability(LV)
0 1.33CV
22
Illustrating Processing Time VariabilityTrial Machine 1 Machine 2 Machine 3
1 22 5 5 2 25 6 6 3 23 5 5 4 26 35 35 5 24 7 7 6 28 45 45 7 21 6 6 8 30 6 6 9 24 5 5
10 28 4 4 11 27 7 7 12 25 50 500 13 24 6 6 14 23 6 6 15 22 5 5
Mean 25.1 13.2 43.2 Std dev 2.5 15.9 127.0
CV 0.1 1.2 2.9 CV 0.01 1.4 8.6
Class LV MV HV
23
Illustrating Arrival Variability
t
Low variability arrivals
t
High variability arrivals
24
The G/G/1 Queue
If (1) < , (2) the distributions of job processing and inter-arrival times are independent and identically distributed (iid), and (3) jobs are processed on a first come, first served (FCFS) basis, then average waiting time in the queue can be approximated by the “VUT” formula:
2 2
E[W ]
[ ]2 1
q
A S
V U t
C CE S
25
Example
CA = CS = 1 E[S] = 1 Case 1: = 0.50 E[W] = 2, E[N] = 1 Case 2: = 0.66 E[W] = 3, E[N] = 1.98 Case 2: = 0.75 E[W] = 4, E[N] = 3 Case 1: = 0.80 E[W] = 5, E[N] = 4 Case 1: = 0.90 E[W] = 10, E[N] = 9 Case 1: = 0.95 E[W] = 20, E[N] = 19 Case 1: = 0.99 E[W] = 100, E[N] = 99
26
Example
CA = 1 E[S] = 1 = 0.8 Case 1: CS = 0 E[W] = 3, E[N] = 2.4 Case 2: CS = 0.5 E[W] = 4, E[N] = 3.2 Case 1: CS = 1 E[W] = 5, E[N] = 4 Case 1: CS = 1.5 E[W] = 6, E[N] = 4.8 Case 1: CS = 2 E[W] = 7, E[N] = 5.6
27
Facilities should not be operated near full capacity.
To reduce time in system and WIP, we should allow for excess capacity or reduce variability (or both).
28
A Single Stage System with Parallel facilities
Servers (production facilities)
Queue (logical or physical) of
jobs
Arrival (release) of
jobs
Departure (completion) of
jobs
29
The G/G/m Queue
If (1) < m, (2) the distributions of job processing and inter-arrival times are independent and identically distributed (iid), and (3) jobs are processed on a first come, first served (FCFS) basis, then average waiting time in the queue can be approximated by the “VUT” formula:
2( 1) 12 2 ( / )[ ]
2
mA S
q
C C mE W
m
30
Increasing Capacity
Capacity can be increased by either increasing the production rate (decreasing processing times) or increasing the number of production facilities
31
Increasing Capacity
Capacity can be increased by either increasing the production rate (decreasing processing times) or increasing the number of production facilities
In a system with multiple parallel production facilities, maximum throughput equals the sum of the production rates
32
Dedicated versus Pooled Capacity
Dedicated system: m production facilities, each with a single processor with production rate and arrival rate
Pooled system: A single production facility with m parallel processors, with production rate per processor, and arrival rate m
33
Dedicated versus Pooled Capacity
Dedicated system:
2 2
[W ]2
A S
q
C CE
2( 1) 12 2 ( / )[ ]
2 ( )
mA S
q
C C mE W
m
Pooled system:
34
Pooling reduces expected waiting time by more than a factor of m
Pooling makes better use of existing capacity by continuously balancing the load among different processors
35
The M/M/1 Queue
36
GX/GY/k/N
A Common Notation
G: distribution of inter-arrival
times
X: distribution of arrival batch
(group) size
G: distribution of service times
Y: distribution of service batch
size
k: number of servers
N: maximum number of customers
allowed
37
Common examples
M/M/1M/G/1 M/M/k M/M/1/NMX/M/1GI/M/1M/M/k/k
38
Notation in the Book versus Notation in the Lecture
Notes CT (cycle time): E(W)
CTq (cycle time in the queue): E(Wq)
WIP: E(N)
WIPq (WIP in the queue): E(Nq)
u: U (=/)
ra:
te: E(S); ts: E(X);
ca: cA
ce: cS
39
A single server queue The distribution of inter-arrival times
is exponential (Markovian arrivals) The distribution of processing times is
exponential (Markovian processing times)
Assumptions
40
Distribution of Inter-arrival Times
0 0
( ) : density function for the time interval between any two
successive arrivals
( ) , 0
1[ ] ( )
Pr( ) ( )
t
t
t T
T T
f t t
f t e t
E A tf t dt t e dt
t T f t dt e dt e
41
The Memoryless Property
( )Pr( )Pr( | ) Pr( )
Pr( )
T hh
T
t T h et T h t T e t h
t T e
42
The Taylor Series Expansion
2 3( ) ( )Pr(no arrivals in any interval of length ) 1 ...
2! 3!
Pr(no arrivals in any interval of length ) 1 (when is small)
Pr(a single arrival in any interval of length )
hh h
h e h
h h h
h h
(when is small)h
43
Exponential Inter-arrival Times and the Poisson Process
( )Pr( arrivals in an interval of length ) , =0,1,2...
!
n TT en T n
n
Poisson distribution
44
Distribution of Processing Times
0 0
( ) : density function for the time to process any job
( ) , 0
1[ ] ( )
t
t
g t t
g t e t
E S tg t dt t e dt
45
Similarly, when h is small,
Pr(processing time is not completed in interval of length ) 1
Pr(processing time completes in interval of length )
h h
h h
46
The Distribution of the Number of Jobs in the System
( ) Pr( ( ) ), probability that customers are in
the system at time nP T N T n n
T
47
The Distribution of the Number of Jobs in the System
1
1
( ) Pr( ( ) ), probability that customers are in
the system at time
P ( ) ( )(1 ) ( ) (1 )(1 ) ( )
( )( ) ( ) (1 )( ) ( )
n
n n n
n n
P T N t n n
t
T h h h P T h h P T
h h P T h h P T
48
0 1 1
00 1
P ( ) ( ) Plim ( ) ( ) ( ) ( ), for >0
P( ) ( ), for =0
n n nh n n n
T h P T dP T P T P T n
h dT
dP T P T n
dT
49
1 1
0 1
If 1, we can show that lim P ( ) , where is a constant
0
0 ( ) , for 1,2,3,...
0 , for =0
T n n n
n
n n n
T P P
dP
dT
P P P n
P P n
50
10 2
3
0 1
1 2 0
State rate out of state rate into state
0
1 ( )
2
j j
P P
P P P
2 3 1
1 1
( )
1 ( ) n n n
P P P
n P P P
The Birth-Death Model
51
1 0 0 0
00 00 0
( )
1 =1- 1
(1 )
nn
nnn n
nn
P P P P P
PP P P
P
52
0
0
20
20
2
: number of customers in the system (in the long run), a random variable
( ) Pr( )
(1 )
1
Var( ) Pr( )
(1 )
(1 )
n
nn
n
nn
N
E N n N n
n
N n N n
n
53
1
0
2
Pr( ) Pr( )
1 Pr( )
( ) ( )
1
1
n s
s
n
s
q
N s N n
N n
E N E N
54
( )( )
(1 )
1
E NE W
2
( )( )
(1 )
( )(1 ) 1
E NE W
E S
Applying Little’s law
55
The M/G/1 Queue
A single server queue The distribution of inter-arrival times
is exponential (Markovian arrivals) The distribution of processing times is
general
56
The M/G/1 Queue (Continued…)
2
2 2
1[ ] [ ]
2 1
1[ ]
2 1
[ ] [ ] [ ]
[ ] [ ]
Sq
Sq
q
q
CE W E S
CE N
E W E W E S
E N E N
57
The G/G/1 Queue Revisited
2 2 2 2
2 2 2
[ ] [ ]2 1 2
[ ]2 1
[ ] [ ] [ ]
[ ] [ ]
A S A Sq
A Sq
q q
q
C C C CE W E S
C cE N
E W E W E S
E N E N
58
The M/M/m Queue
A queue with m servers The distribution of inter-arrival times
is exponential (Markovian arrivals) The distribution of processing times is
exponential (Markovian arrivals)
59
The Balance Equations
0 1
1 1
1 1
, for =0
( 1) =( ) for 1
=( ) for n n n
n n n
P P n
P n P n P n m
P m P m P n m
Using analysis similar to the one for the M/M/1 queue:
60
The Birth-Death Model
0 0 1 1
1 1 1 2 2 0 0
State rate out of state rate into state
0
1 ( )
2
j j
P P
P P P
2 2 2 3 3 1 1
1 1 1 1
( )
( )
n n n n n n n
P P P
n m P P P
10 2 3
61
The / / queue is a birth and death process with
if
if
n
n
M M m
n n m
m n m
62
0
0
01
0
, for 0!
, for !
1
[ ]! !( )
n
n
n
n n m
j mm
j
P P n mn
P P n mm m
P
j m mm
63
0Pr( )!(1 )
[ ] Pr( )
1[ ] Pr( )
, average utilization per server
m
q
q
N m Pm
m
E N N mm
E W N mm
Um
64
The G/G/m Queue
2( 1) 12 2
[ ]2
mA S
q
C C UE W
m
For a queue with a general distribution for arrivals and processing times, average time in the queue can be approximated as
65
Notation in the Book versus Notation in the Lecture
Notes CT (cycle time): E(W)
CTq (cycle time in the queue): E(Wq)
WIP: E(N)
WIPq (WIP in the queue): E(Nq)
u: U
ra:
te: E(S); ts: E(X);
ca: cA
ce: cS
66
Propagation of Variability
Single server queue:
Multi-server queue:
2 2 2 2 2(1 )
/D S AC U C U C
U
22 2 2 21 (1 )( 1) ( 1)
/( )
D A S
UC U C C
mU m
CD(i) = CA(i+1)i i+1
CS(i)CA(i)
67
Propagation of Variability
High Utilization Station
High Process Var
Low Flow Var High Flow Var
Low Utilization Station
High Process Var
Low Flow Var Low Flow Var
68
Propagation of Variability (Continued…)
High Utilization Station
Low Process Var
High Flow Var Low Flow Var
Low Utilization Station
Low Process Var
High Flow Var High Flow Var
69
Variability Relationships
, CD2 , CA
2
E(S), CS2
2 2
Queue Time
[ ] ( )2 1
A Sq
C C UE W E S
U
2 2 2 2 2
Flow Variability
(1 )
/D A SC U c U C
U
Processing
Time
( )E S
70
If utilization is low, reduce arrival arrival variability; if utilization is high, reduce process variability.
Operations with the highest variability should be done as late as possible in the production process.
71
A Production Line
N: number of stages in the production line Si: processing time in stage i (a random
variable), i=1,…, N U(i): utilization at stage i CA(i): coefficient of variation in inter-
arrival times to stage i
CS(i): coefficient of variation in
processing time at stage i
72
Time in System for a Production Line
E[Wq(i)]= V(i) U(i) E[S(i)]
2 2( ) ( )
2A SC i C i
( )[ ( )]
1 ( )
U iE S i
U i
1 1[ ] [ ( )] [ ( )] [ ( )]
N N
qi iE W E W i E W i E S i
( ) [ ]ii
U i E S
73
Time in System for a Production Line
2 2( ) ( )
2A SC i C i
( )[ ( )]
1 ( )
U iE S i
U i
( ) [ ]ii
U i E S
2 2 2 2 2( 1) (1 ( ) ) ( ) ( ) ( )A A SC i U i C i U i C i
74
Reducing Time in System (Cycle Time)
2 2( ) ( )
2A SC i C i
( )[ ( )]
1 ( )
U iE S i
U i
Reduce Variability • failures• setup times• uneven arrivals• process control• worker training
Reduce Utilization • arrival rate (yield, rework, etc.)• processing time (processing speed, availability)• capacity (number of machines)
75
Expected WIP in System for a Production Line
1
1
1
[ ] [ ]
[ ( )]
[ ( )]
[ ( )] ( )
N
i
N
i
N
qi
E N E W
E W i
E N i
E N i U i