Chapter 2
Simulation Examples
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
2.1
Contents
! Simulation using Tables ! Simulation of Queueing Systems ! Examples
!A Grocery !Call Center !Inventory System
! Appendix: Random Digits
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.2
Simulation using Tables
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.3
Simulation using a Table
! Introducing simulation by manually simulating on a table
!Can be done via pen-and-paper or by using a spreadsheet
Repetition i 1 2 . . . n
Inputs xi1 xi2 xij xip
Response yi
Static meta data
Dynamic data during simulation run
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.4
Simulation using a Table
! Three steps
1.!Determine the characteristics of each input to the simulation. 2.!Construct a simulation table consisting of
! p inputs xij, j=1,2,,p ! one response yi, i=1,2,,n
3.!For each repetition i, generate a value for each of the p inputs xij and calculate the response yi.
Repetition i 1 2 . . . n
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
Inputs xi1 xi2 xij xip
Response yi
1.5
Simulation of Queueing Systems
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.6
Simulation of Queueing Systems: Why?
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.7
Simulation of Queueing Systems: Why?
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.8
Simulation of Queueing Systems
! A queueing system is described by
!Calling population !Arrival rate !Service mechanism !System capacity !Queueing discipline
Calling population Waiting line Server
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.9
Simulation of Queueing Systems
! Single server queue
! Calling population is infinite ! Arrival rate does not change ! Units are served according FIFO ! Arrivals are defined by the distribution of the time between arrivals ! inter-arrival time ! Service times are according to a distribution ! Arrival rate must be less than service rate ! stable system ! Otherwise waiting line will grow unbounded ! unstable system
! Queueing system state
! System
! Server ! Units (in queue or being served) ! Clock
! State of the system
! Number of units in the system ! Status of server (idle, busy)
! Events
! Arrival of a unit ! Departure of a unit
Calling population
ti+1
ti
Arrivals
Waiting line Server
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.10
Simulation of Queueing Systems
! Arrival Event
! If server idle unit gets ! Departure Event ! If queue is not empty begin
service, otherwise unit enters queue.
servicing next unit, otherwise server will be idle.
! How do events occur?
! Events occur randomly ! Interarrival times ! {1,...,6} ! Service times ! {1,...,4}
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.11
Simulation of Queueing Systems
Customer 1 2 3 4 5 6 Interarrival Time 2 4 1 2 6 Customer Number Arrival Time on Clock 0 2 6 7 9 15 Service Time 2 1 3 2 1 4 Arrival Time [Clock] 0 2 6 7 9 15 Time Service Begins [Clock] 0 2 6 9 11 15 Service Time [Duration] 2 1 3 2 1 4 Time Service Ends [Clock] 2 3 9 11 12 19
The interarrival and service times are taken from distributions!
The simulation run is build by meshing clock, arrival, and service times!
1 2 3 4 5 6
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.12
Simulation of Queueing Systems
Chronological ordering of events
Clock Time 0 2 2 3 6 7 9 9 11 12 15 19 Customer Number 1 1 2 2 3 4 3 5 4 5 6 6 Event Type Arrival Departure Arrival Departure Arrival Arrival Departure Arrival Departure Departure Arrival Departure Number of customers 1 0 1 0 1 2 1 2 1 0 1 0
Interesting observations ! Customer 1 is in the system at time 0 ! Sometimes, there are no customers ! Sometimes, there are two customers ! Several events may occur at the same time
Number of customers in the system
1 2
4 5
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.13
Examples
Example 1: A Grocery
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.14
Example 1: A Grocery
! Analysis of a small grocery store
! One checkout counter ! Customers arrive at random times from {1,2,,8} minutes ! Service times vary from {1,2,,6} minutes ! Consider the system for 100 customers
Interarrival Time [minute] 1 2 3 4 5 6 7 8 Service Time [minute] 1 2 3 4 5 6
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
Probability 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 Probability 0.10 0.20 0.30 0.25 0.10 0.05
Cumulative Probability 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000 Cumulative Probability 0.10 0.30 0.60 0.85 0.95 1.00
! Problems/Simplifications
! Sample size is too small to be able to draw reliable conclusions ! Initial condition is not considered
1.15
Example 1: A Grocery
Simulation run for 100 customers
Simulation System
Time Service Begins [Clock] 0 4 6 11 15 18 ... 100 Total 5 415 415 2 317 416 418 1 174 3 491 0 101 Time Service Ends [Clock] 4 6 11 15 16 23
Performance Measure
Waiting Time in Queue [Minutes] 0 3 4 3 4 0 Time Customer in System [Minutes] 4 5 9 7 5 5
Customer 1 2 3 4 5 6
Interarrival Time [Minutes] 1 1 6 3 7
Arrival Time [Clock] 0 1 2 8 11 18
Service Time [Minutes] 4 2 5 4 1 5
Idle Time of Server [Minutes] 0 0 0 0 0 2
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.16
Example 1: A Grocery, Some statistics
Average waiting time
w=
! Waiting time in queue = 174 = 1.74 min
Number of customers 100
Probability that a customer has to wait
p( wait ) =
Number of customer who wait 46 = = 0.46 Number of customers 100
Proportion of server idle time
p(idle server) =
! Idle time of server = 101 = 0.24
Simulation run time 418
Average service time
s=
Number of customers
# s =0
! Service time
317 = 3.17 min 100
E ( s) = " s ! p( s) = 0.1!10 + 0.2 ! 20 + ! + 0.05 ! 6 = 3.2 min
Average time between arrivals
" =!
E (! ) =
Times between arrivals
Number of arrivals - 1
415 = 4.19 min 99
a + b 1+ 8 = = 4.5 min 2 2
Average waiting time of those who wait
wwaited =
Number of customers that wait
! Waiting time in queue
174 = 3.22 min 54
Average time a customer spends in system
t=
! Time customers spend in system = 491 = 4.91 min
Number of customers 100
t = w + s = 1.74 + 3.17 = 4.91 min
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.17
Example 1: A Grocery, Some statistics
! Interesting results for a manager, but
!longer simulation run would increase the accuracy
18 16 15
Histogram for the Average Customer Waiting Time Average of 50 Trials
17
Occurrences [No. of Trials]
14 12 10 8 6 4 2 0 0 0 0,5 1 1,5 2 2,5 3 3,5 2 2 1 0 4 0 4,5 >4,5 1 7 5
Average customer waiting time [min]
! Some interpretations
!Average waiting time is not high !Server has not undue amount of idle time, it is well loaded ;-) !Nearly half of the customers have to wait (46%)
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.18
Examples
Example 2: Call center
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.19
Example 2: Call Center Problem
! Consider a Call Center where technical personnel take
calls and provide service ! Two technical support people (2 server) exists
!Able !Baker more experienced, provides service faster newbie, provides service slower
! Rule
!Able gets call if both people are idle !Try other rules
! Baker gets call if both are idle ! Call is assigned randomly to Able and Baker
! Goal of study: Find out how well the current rule works
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.20
Example 2: Call Center Problem
! Interarrival distribution of calls for technical support
Time between Arrivals [Minute] Probability Cumulative Probability Random-Digit Assignment
1 2 3 4
0.25 0.40 0.20 0.15
0.25 0.65 0.85 1.00
01 25 26 65 66 85 86 00
Service time distribution of Baker
Service Time [Minute] Probability Cumulative Probability Random-Digit Assignment
Service time distribution of Able
Service Time [Minute] Probability Cumulative Probability Random-Digit Assignment
3 4 5 6
0.35 0.25 0.20 0.20
0.35 0.60 0.80 1.00
01 35 36 60 61 80 81 00
2 3 4 5
0.30 0.28 0.25 0.17
0.30 0.58 0.83 1.00
01 30 31 58 59 83 84 00
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.21
Example 2: Call Center Problem
Simulation proceeds as follows ! Step 1:
! For Caller k, generate an interarrival time Ak. Add it to the previous arrival time Tk-1 to get arrival time of Caller k as Tk = Tk-1 + Ak ! If Able is idle, Caller k begins service with Able at the current time Tnow ! Ables service completion time Tfin,A is given by Tfin,A = Tnow + Tsvc,A where Tsvc,A is the service time generated from Ables service time distribution. Caller ks waiting time is Twait = 0. ! Caller ks time in system, Tsys, is given by Tsys = Tfin,A Tk ! If Able is busy and Baker is idle, Caller begins with Baker. The remainder is in analogous. ! If Able and Baker are both busy, then calculate the time at which the first one becomes available, as follows: Tbeg = min(Tfin,A, Tfin,B) ! Caller k begins service at Tbeg. When service for Caller k begins, set Tnow = Tbeg. ! Compute Tfin,A or Tfin,B as in Step 2. ! Caller ks time in system is Tsys = Tfin,A Tk or Tsys = Tfin,B - Tk
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
! Step 2:
! Step 3:
1.22
Example 2: Call Center Problem
! Simulation run for 100 calls
Caller Nr. Interarrival Time Arrival Time When Able Avail. When Baker Avail. Server Chosen Service Time Time Service Begins Ables Service Compl. Time Bakers Service Compl. Time Caller Delay Time in System
1 2 3 4 5 # 100 Total
2 4 2 1 # 1
0 2 6 8 9 # 219
0 2 4 8 12 # 221
0 0 0 0 0 # 219
Able Able Able Able Baker Baker
2 2 2 4 3 4
0 2 6 8 9 219
2 4 8 12 12
0 0 0 0 0 0 211
2 2 2 4 3 4 564
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.23
Example 2: Call Center Problem, Some statistics
! One simulation trial of 100
caller
!62% of callers had no delay !12% of callers had a delay of 1-2 minutes
Caller delay
! 400 simulation trials of
100 caller
!80.5% of callers had delay up to 1 minute !19.5% of callers had delay more than 1 minute
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
Average caller delay
1.24
Examples
Example 3: Inventory System
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.25
Example 3: Inventory System
! Important class of simulation problems: inventory systems ! Performance measure: Total cost (or total profit) ! Parameters
! N Review period length ! M Standard inventory level ! Qi Quantity of order i to fill up to M
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.26
Example 3: Inventory System
! Events in an (M, N) inventory system are
!Demand for items !Review of the inventory !Receipt of an order at the end of each review
! To avoid shortages, a buffer stock is needed ! Cost of stock
!Storage space !Guards
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.27
Appendix
Random digits
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.28
Appendix: Random Digits
! Producing random
numbers from random digits
!Select randomly a number, e.g.
! One digit: 0.9 ! Two digits: 0.19 ! Three digits: 0.219
!Proceed in a systematic direction, e.g.
! first down then right ! first up then left
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.29
Summary
! This chapter introduced simulation concepts by means of
examples ! Example simulations were performed on a table manually
!Use a spreadsheet for large experiments (Excel, OpenOffice) !Input data is important !Random variables can be used !Output analysis important and difficult !The used tables were of ad hoc, a more methodic approach is needed
Prof. Dr. Mesut Gne! " Ch. 2 Simulation Examples
1.30