Simulation Examples ~ By Hand ~ Using Excel
Chapter 2
Why do examples by hand or spreadsheet??
Insight
to system Hands-on Helps with programming
Complex
systems not amenable to spreadsheet
2
Process
Determine
Characteristics
of system Construct simulation table Generate & compute values
Key Components
Random
Numbers
Number: between 0 & 1 Variable: some quantity; perhaps from a known distribution
Descriptive
Statistics
Values used for describing a systems and making predictions about its behavior
Note:
[Link] has files
4
Random Variable
A
quantity determined by some random experiment Examples
Number of heads obtained when flipping a coin 10 times Number of customers arriving in an hour Maximum length of a queue during the day Shortest service time for a customer for the day
Randomness
True
Random vs. PseudoRandom
number sequence
Uniformly distributed Each number statistically independent of previous numbers
Random
Where?
Random Number Generators (functions) Random Number Tables
6
Excel Random numbers
=RAND(
Generates real values: 0 <= val < 1 =RANDBETWEEN (low, high) Generates integers: low <= val <= high To use in Excel IF (RAND ( ) < 0.5, 0, 1) IF (A2 <= 0.33, 0, (IF A2 <= 0.66, 1, 2)
Problem
with Excel.
Other sources of random numbers
Authors
provide Visual Basic functions in the sample spreadsheets on web site.
We will not use these. Discussed in 2.1.2 and 2.1.3
Random
Number Tables in text
Table A1 (p. 592) uniform Table A2 (p. 593) normal
Limitations:
Excel & VB functions dont use in professional work
Random Number Generator (RNG) Features
RNG
is a mathematical function
Different strategies Period: Number of
values generated before sequence repeats Seed: Initialization value for a RNG
Example: Coin Tossing
Monte
Fair
Carlo Simulation
coin Head/Tail equally likely IF (RAND ( ) < 0.5, H, T)
10
Example: Random Service Times
1. 2.
Integer value 1 to 10, inclusive
1. =RANDBETWEEN (1, 10)
Integer value with given probability
1. 3 @ 30%; 6 @ 45%, 10 @ 25% 2. Develop cumulative probability
1. 0 - .3 3 2. .3 - .75 6 3. .75 1 10
3. IF (A2 <= 0.3, 3, (IF A2 <= 0.75, 6, 10)
1.
Why not? IF (RAND() <= 0.3, 3, (IF RAND <= 0.75, 6, 10)) 11
Arrival Times
Arrival
Arrival
Time vs. InterArrival Time
time Clock time of
arrival Inter-Arrival Time: time between successive arrivals Inter-Arrival Time Arrival Time (Clock) Example: Initialize: Clock = 0
3 3 7 2 10 12
12
Queuing(Waiting Line) Systems
Calling Nature
population of arrivals mechanism
Infinite vs. Finite population Arrival Rate vs. Effective Arrival Rate
Service Service
Single vs. Multiple vs. Sequential
time Queue discipline
13
Arrivals & Services
Generally
(random) Arrivals
Service
defined by a distribution
Time between arrivals inter-arrival time Service times Arrival rate must be less than the service rate. What if it is not? Unstable, explosive
14
Queue Basics
System Event
State
Number & status of entities (units) Circumstance that causes a change in system state
Clock
Relative time
15
Single Server & Queue
Arrive
Queue
Server
Depart
What are the state variables? What are the events? Refer to flow diagrams Pg. 42 +
16
Future Events List (FEL)
Can
Generate Events
up-front
Before simulation begins OK for small/short simulations
on-the-fly
As needed Used for professional/complex simulations
Generate
Inter-arrival times & Service times
17
Brief Example
Cust # 1 2 3 4 5 6 IAT 0 2 4 3 2 6 A-time *Clock 0 2 6 7 9 15 S-begin *Clock 0 2 6 9 11 15 S-time 2 1 3 2 1 4
18
S-end *Clock 2 3 9 11 12 19
Other simulation items
What
else can we keep track of during the simulation? Wait time in queue Time in system Server idle time Calculate these for previous example.
19
Other simulation items
What
can we calculate at the end of simulation? Average inter-arrival time Average service time Server utilization (% busy) *Average queue length Calculate for previous example.
20
Customer
Common Stats to Calculate
Time in queue, Time in system, Probability of waiting in queue, Interarrival time Averages, max, min
Server
Utilization, Service times (max, min, average)
Queue
Length (current, average, max, min)
21
System State vs. Performance Measure * Current vs. After Simulation
1.
Current queue length Server status (busy, idle) Customer wait time
1.
Average, max, min queue length Average, min, max service time; utilization Average wait time, max, min
22
2.
2.
3.
3.
Simulation Statistics
Numerous
standard statistics
of interest Some results calculated from parameters Used to verify the simulation Most calculated by program
23
Statistics Performance Measures
Average Wait time for a customer = total time customers wait in queue total number of customers Average wait time of those who wait = total time of customers who wait in queue number of customers who
24
More Statistics
Proportion of server busy time = number of time units server busy total time units of simulation Average service Time = total service time number of customers serviced
25
More Statistics
Average time customer spends in system = total time customers spend in system total number of customers Probability a customer has to wait in queue = number of customers who wait
26
Traffic Intensity
A
measure of the ability of the server to keep up with the number of the arrivals TI= (service mean)/(inter-arrival mean) If TI > 1 then system is unstable & queue grows without bound
27
Server Utilization
%
of time the server is busy serving customers If there is 1 server SU = TI = (service mean)/(interarrival mean) If there are N servers SU = 1/N * (service mean)/ (inter-arrival mean)
28
Weighted Averages
Necessary
when unequal probability of values. Example: Service times: 20% take 5 minutes, 38% take 8 minutes, 42% take 11 minutes. What is the average service time? Is it (5 + 8 + 11) / 3 = 8 ???
29
Correct Answer
20% take 5 minutes, 38% take 8 minutes, 42% take 11 minutes. AST = .2 * 5 + .38 * 8 + .42 * 11 = 1 + 3.04 + 4.62 = 8.66
30
Spreadsheet Homework
DUE: Page 78+ (Show all work & document)
# 2: Calculate expected number of customers per day & number of bagels needed: Based in these values, what is expected cost, income, & profit. Dont simulate. # 4: Calculate expected # of calls 9 am 5 pm. & avg. service time. What is utilization of taxi? What is utilization if 2 taxis? Complete an Excel Simulation for 9 to 5 day with 1 taxi. (Print off values & formulas version. Document well.) #51: Calculate best case, worst case, and
31