simulation chapter 9 discrete variables. course overview
TRANSCRIPT
Simulation
Chapter 9
Discrete Variables
Course Overview
B reakevenP ric in g fo r M ax P ro fitC rossover
B as ic P ro fit M od e ls
N a ive / E xp . S m ooth in gR eg ress ion (tren d )C lass ica l D ecom p os it ion(tren d + season a lity)
T im e S eries F orecas tin g
D eterm in is tic M od e ls
A lte rn a tives , S ta tes , P ayo ffsD ec is ion C rite riaD ec is ion TreesB ayes Th eorem
D ec is ion A n a lys is
R an d om n u m b ersD is trib u tion sD isc re te V ariab lesC on tin u ou s V ariab les
S im u la tion
P rob ab ilis t ic M od e ls
M od e lin g Tech n iq u es
What is Simulation?
A computer based model used to run experiments on a real system
The basic idea is to build an experimental device, or simulator, that will “act like” the system of interest … in a quick, cost-effective manner.
Representation of the operation or features of one process or system through the use of another: computer simulation of an in-flight emergency.
Simulation in Business Analysis
Uses mathematical modelsProbabilistic (as opposed to
deterministic)Uses entire range of possible values of a
variable in the modelImitates a system of situation (like a coin
flip, or how long a person may have to wait in line at a restaurant)
Why Simulate?
Safety – flight simulator (emergency)Cost – easier to simulate adding a new
runway and find out effects than to implement in reality and then find out
Time – Boeing uses simulated manufacturing before the real thing, with tremendous savings in time and money – can discover parts that do not fit and fix them before actual production
Types of Simulation
Discrete Used for simulating specific values or specific
points Example: Number of people waiting in line (queue)
Continuous Based on mathematical equations Used for simulating continuous values for all points
in time Example: The amount of time a person spends in a
queue
Simulation Methodology
Estimate probabilities of future eventsAssign random number ranges to
percentages (probabilities)Obtain random numbersUse random numbers to “simulate”
events
Data Collection and Random Number Interval Example
Suppose you timed 20 athletes running the 100-yard dash and tallied the information into the four time intervals below.
Seconds 0-5.996-6.997-7.998 or more
Tallies Frequency41042
You then count the tallies and make a frequency distribution.
%20502010
Then convert the frequencies into percentages.
Finally, use the percentages to develop the random number intervals.
RN Intervals01-2021-7071-9091-100
Sources of Event Probabilities and Random Numbers
Event Probabilities From historical data (assuming the future will be like
the past) From expert opinion (if future unlike the past or no
data available)
Random Numbers From probability distributions that “fit” the historical
data or can be assumed (EXCEL functions) From manual random number tables From Instructor (for homework or tests, so that we
will get the same number)
Discrete Example – Coin Toss
Variable to be simulated is “Outcome of a coin toss”. It takes on values “Heads” and “Tails”, each with 0.5 probability.
Generate 100 random numbers (100 tosses of coin).
Make a rule like – if random number > 0.5, then “Heads”, else “Tails”. This will create the right distribution of outcomes.
Coin Toss -Random Number Mapping
Random #
Coin Toss Result
0.345
0.008
0.985
0.878
Heads
Heads
Tails
Tails
The random numbers are now mapped to number of failures as follows.
“If random number > 0.5, then “Heads”, else “Tails”.
Discrete Example: Machine Failures
Simulate machine failures based on this historical data
Number of Failures per month
Frequency
(# of months this occurred)
0
1
2
3
36
20
3
1
Total 60
Simulating Machine Failures, contd.
Number of Failures per month
Frequency
(# of months this occurred)
Probability Cumulative
Probability
0
1
2
3
36
20
3
1
0.600
0.333
0.050
0.016
0.600
0.933
0.983
1.000
Total 60 1.00
Create the following cumulative probability table.
Simulating Machine Failures, contd.
Now map the random numbers between 0 and 1 using the cumulative prob. Column as the cutoffs.
Random numbers between 0 and 0.6 represent 0 failures, between 0.6 and 0.933 represent 1 failure, and so on.
0.60 0.93 0.980
0 failures 1 failure 2 3 failures
Solution – Random Number Mapping
Random #
Number of
Failures
0.345
0.008
0.985
0.878
0
0
3
1
The random numbers are now mapped to number of failures as follows.
Continuous Example – Arrival Time
Variable to be simulated is arrival time at a restaurant which can literally take on infinite individual values
For example someone could arrive at:12:09:3712:09:37:52 12:09:37:52:14, etc.
Continuous Example – Arrival Time
To simulate this situation, we must specify intervals At the restaurant the intervals could be all people
arriving between 11am and 12pm, 12pm and 1pm, or 1pm and 2pm.
As with the coin toss, generate random numbers (in Excel =RAND()) Make a rule –if random number: <=.333, then =11am-12pm >.333 up to =.666, then 12pm-1pm >.666 up to 1, then 1pm to 2pm
each category is equally likely
Continuous Example – Arrival Time
If the random number is.47, then this would fall in the 12pm to 1pm category,
If the random number is .88, then this would fall in the 1pm to 2pm category, etc.
Because each category is equally likely, if we run enough trials, each category will contain about the same number of random numbers, which will tell the restaurant owner that it is equally likely that a person will arrive at any of the three times.
Continuous Example – Arrival Time
Random Number Result 10.47 12p - 1p0.88 1p - 2p0.36 12p - 1p0.27 11a - 12p0.21 11a - 12p0.25 11a - 12p0.36 12p - 1p0.41 12p - 1p0.85 1p - 2p
If random number:Less than .333,
then =11am-12pmBetween .333 - .666,
then 12pm-1pmGreater than >.666,
then 1pm to 2pm
each category is equally likely
Continuous Example – Arrival Time
The owner looks at historical information and says that on an average day, 225 people eat lunch at his restaurant , and that typically 47 people arrive between 11am and 12pm 112 people arrive between 12pm and 1pm 66 people arrive between 1pm and 2pm
How do we map these numbers?
Continuous Example – Arrival Time
count percent11am to 12pm 47 0.2112pm to 1pm 112 0.501pm to 2pm 66 0.29total 225 1.00
To complete the mapping, we need to make a cumulative distribution function (CDF)
Continuous Example – Arrival Time
count percent CDF11am to 12pm 47 0.21 0.2112pm to 1pm 112 0.50 0.711pm to 2pm 66 0.29 1.00total 225 1.00
Make a new rule – if random number:<=.21, then =11am-12pm>.21 up to =.71, then 12pm-1pm>.71 up to 1, then 1pm to 2pm
Random Number Result 1 Result 20.47 12p - 1p 12p - 1p0.88 1p - 2p 1p - 2p0.36 12p - 1p 12p - 1p0.27 11a - 12p 12p - 1p0.21 11a - 12p 11a - 12p0.25 11a - 12p 12p - 1p0.36 12p - 1p 12p - 1p0.41 12p - 1p 12p - 1p0.85 1p - 2p 1p - 2p
If random number:<=.21,
then =11am-12pm>.21 up to =.71,
then 12pm-1pm>.71 up to 1,
then 1pm to 2pm
Continuous Example – Arrival Time
Note on Random Numbers in Excel Spreadsheets
Once entered in a spreadsheet, a random number function remains “live.” A new random number is created whenever the
spreadsheet is re-calculated. To re-calculate the spreadsheet, use the F9 key. Note, almost any change in the spreadsheet
causes the spreadsheet to be recalculated!
If you do not want the random number to change, you can freeze it by selecting: tools, options, calculations, and checking “manual.”
Evaluating Results
Simulation measures the quality of a solution because it gives the probability of a certain event occurring
Simulation also shows the variabilitySimulation does not necessarily give
the best possible answer. It gives the most likely answer.Optimization gives the best possible
answer
Evaluating Results
Conclusions depend on the degree to which the model reflects the real system
The only true test of a simulation is how well the real system performs after the results of the study have been implemented
Advantages of Simulation
Simulation often leads to a better understanding of the real system.
Years of experience in the real system can be compressed into seconds or minutes.
Simulation does not disrupt ongoing activities of the real system.
Simulation is far more general than mathematical models.
Simulation can be used as a game for training experience (safety!).
Advantages of Simulation (cont)
Simulation can be used when data is hard to come by.
Simulation can provide a more realistic replication of a system than mathematical analysis.
Many standard simulation software packages are available commercially (and Excel works fine too!).
Disadvantages of Simulation
There is no guarantee that the model will, in fact, provide good answers.
There is no way to prove reliability. Simulation may be less accurate than mathematical
analysis because it is randomly based. Building a simulation model can take a great deal of
time (but if the payoff is great, then it is worth it!). A significant amount of computer time may be needed
to run complex models (old concern - no longer an issue!).
The technique of simulation still lacks a standardized approach.
Appendix
Useful Information on
Probability Distributions
Probability Distributions
A probability distribution defines the behavior of a variable by defining its limits, central tendency and nature Mean Standard Deviation Upper and Lower Limits Continuous or Discrete
Examples are: Normal Distribution (continuous) Binomial (discrete) Poisson (discrete) Uniform (continuous or discrete) Custom (created to suit a specific purpose)
Uniform Distribution
All values between minimum and maximum occur with equal likelihood
Conditions Minimum Value is Fixed Maximum Value is Fixed All values occur with equal likelihood
Excel function: RAND() – returns a uniformly distributed random number in the range (0,1)
Normal Distribution
Conditions: Uncertain variable is symmetric about the mean Uncertain variable is more likely to be in vicinity of the mean than
far away Use when:
Distribution of x is normal (for any sample size) Distribution of x is not normal, but the distribution of sample
means (x-bar) will be normally distributed with samples of size 30 or more (Central Limit Theorem)
Excel function: NORMSDIST() – returns a random number from the cumulative standard normal distribution with a mean of zero and a standard deviation of one [e.g., NORMSDIST(1) = .84]
Simulation Continuous Vars Dr. Satish Nargundkar 34
Simulation
Continuous Variables
Simulation Continuous Vars Dr. Satish Nargundkar 35
Distributions
Variables to be simulated may be normal (e.g. height) or exponential (e.g. service time) or various other distributions.
Task is to convert uniform distribution to the required distribution.
0 10 infinity
Freq
Freq
Simulation Continuous Vars Dr. Satish Nargundkar 36
Application - Queuing Systems
A queuing system is any system where entities (people, trucks, jobs, etc.) wait in line for service (processing of some sort) retail checkout lines, jobs on a network
server, phone switchboard, airport runways, etc.
Simulation Continuous Vars Dr. Satish Nargundkar 37
Queuing System Inputs
Queuing (waiting line) systems are characterized by:Number of servers / number of queues
SSSQ – Single Server Single QueueSSMQ – Single Server Multiple QueueMSSQ – Multiple Server Single QueueMSMQ - Multiple Server Multiple Queue
Arrival Rate (Arrival Intervals)Service Rate (Service Times)
Simulation Continuous Vars Dr. Satish Nargundkar 38
Performance Variables (outcome)
Performance of a queuing system is measured byAverage number of entities in queue/systemAverage time waiting in queue/system
Arrival time Service Begins Service Ends
Time in Queue Service Time
Time in System
Simulation Continuous Vars Dr. Satish Nargundkar 39
Distributions in Queuing
Arrival Intervals (time between two consecutive arrivals) and Service Time (time to serve one customer) are exponentially distributed.
Confirm it yourself by watching cars on a street!
Simulation Continuous Vars Dr. Satish Nargundkar 40
Sample Problem
A loading dock (SSSQ) has trucks arriving every 36 minutes (0.6 hrs) on average, and the average service (loading / unloading) time is 30 minutes (0.5 hrs). A new conveyer belt system can reduce that to 15 minutes (0.25 hours). Simulate the arrival of 200 trucks to see how performance would be affected by the new system.
Simulation Continuous Vars Dr. Satish Nargundkar 41
Simulating Exponential Distributions
To convert the uniform distribution of the random numbers to an exponential distribution, take the negative natural log of the random numbers. This creates an exponential distribution with an
average of 1.00. To get an average of 0.6 (to represent average
arrival interval in hours), simply multiply result by 0.6.
Thus, the conversion formula is:–ln(rand())*µwhere µ is the mean of the exponential distribution desired.
Simulation Continuous Vars Dr. Satish Nargundkar 42
Sample Conversion
0.500645 1.040982
Random -ln(rand())
0.449796 0.798962
0.858464 0.15261
0.828061 0.188668
0.938751 0.063206
0.84637 0.166798
0.428408 0.847678
0.357574 1.028412
0.63932 0.447351
Average:
….. …..
0 1 0 infinity
Problem - Discrete
• Jimmy prints a neighborhood newspaper. He has 10 subscribers. He also sells it to whoever comes by, from his front lawn on Friday afternoons. His mother has kept track of his demand (including requests made after he had sold out) for the past 100 weeks, and observed the f pattern shown:
• The papers cost 30 cents to print and Jimmy sells them for 50 cents. Assume that he prints 20 copies a week. Mom makes him throw away unsold copies. Simulate his sales for a year and determine his earnings.
• What if the # printed were adjusted?
Papers Demanded Number of weeks
13 1
14 2
15 4
16 9
17 10
18 15
19 16
20 15
21 12
22 9
23 4
24 2
25 1
26 0
Total 100
Problem - Continuous• Trucks arrive at a loading dock on average every 0.6 hours. It takes
on average 0.5 hours to unload a truck. Assuming that arrival intervals and service times are exponentially distributed, simulate the queuing system to find the average waiting times and the average number of trucks in the queue/system.
• Suppose you could install an new conveyor belt system to unload trucks faster, so that the average unloading time is cut to 0.25 hours. How much improvement will there be in the average waiting time and average number in queue/system?
• Queuing systems consist of multiple inputs: Number of servers, Number of Queues Arrival rate/Arrival interval Service rate/Service time
• And multiple outputs: Average wait time Average number in queue / system