You are on page 1of 58

Chapter Ten

Simulation

13.1 Overview of Simulation

When do we prefer to develop simulation model over an analytic


model?
When not all the underlying assumptions set for analytic model are valid.
When mathematical complexity makes it hard to provide useful results.
When good solutions (not necessarily optimal) are satisfactory.

A simulation develops a model to numerically evaluate a system


over some time period.

By estimating characteristics of the system, the best alternative


from a set of alternatives under consideration can be selected.

13.1 Overview of Simulation


Continuous

simulation systems monitor the system each


time a change in its state takes place.

Discrete

simulation systems monitor changes in a state


of a system at discrete points in time.

Simulation

of most practical problems requires the use of


a computer program.
3

13.1 Overview of Simulation


Approaches

to developing a simulation model

Using

add-ins to Excel such as @Risk or Crystal Ball


Using general purpose programming languages such as:
FORTRAN, PL/1, Pascal, Basic.
Using simulation languages such as GPSS, SIMAN, SLAM.
Using a simulator software program.
Modeling

and programming skills, as well as


knowledge of statistics are required when implementing
the simulation approach.
4

10.2 Monte Carlo Simulation


Monte Carlo simulation generates random events.
Random events in a simulation model are needed
when the input data includes random variables.
To reflect the relative frequencies of the random
variables, the random number mapping method is
used.

JEWEL VENDING COMPANY


an example for the random mapping technique
Jewel Vending Company (JVC) installs and
stocks vending machines.
Bill, the owner of JVC, considers the installation
of a certain product (Super Sucker jaw
breaker) in a vending machine located at a new
supermarket.
6

JEWEL VENDING COMPANY


an example of the random mapping technique
Data
The vending machine holds 80 units of the product.
The machine should be filled when it becomes half empty.
Daily demand distribution is estimated from similar vending machine
placements.
Bill
Billwould
wouldlike
liketoto
P(Daily demand = 0 jaw breakers) = 0.10
estimate
P(Daily demand = 1 jaw breakers) = 0.15
estimatethe
the
expected
P(Daily demand = 2 jaw breakers) = 0.20
expectednumber
number
ofofdays
P(Daily demand = 3 jaw breakers) = 0.30
daysitittakes
takes
P(Daily demand = 4 jaw breakers) = 0.20
for
foraafilled
filledmachine
machine
P(Daily demand = 5 jaw breakers) = 0.05
totobecome
becomehalf
halfempty.
empty.

Solution
Expected time between refills
40

.10(0) .15(1) .20( 2) .30( 3) .20(4) .05(5)


40

16 days
2 .5

Is this the good value or only a good


estimation ?
8

Random number mapping


The Probability function Approach
Random number mapping uses the probability function
to generate random demand.
A number between 00 and 99
is selected randomly.

0.10
00-09

3434
34
34
34
34
0.20
34
0.15 34
34
3434

The daily demand is determined


by the mapping demonstrated below.

0.30
0.20
0.05

10-25

26-44

45-74

75-94

95-99

Demand

Random number mapping


The Cumulative Distribution Approach
1.00

1.00

0.95
0.75
The daily demand X is
determined by the random
number Y between
0 and 1, such that X is the
smallest value for which
F(X) Y.

0.45
Y 0.34
= 0.34

0.25

F(1) = .25 < .34


F(2) = .45 > .34

0.10
0.00

10

Simulation of the JVC Problem


A random demand can be generated by hand (for
small problems) from a table of pseudo random
numbers.
Using Excel a random number can be generated
by
The

RAND() function
The random number generation option (Tools>Data
Analysis)
11

Simulation of the JVC Problem

An illustration of generating a daily random demand.

Since we have two digit probabilities, we use the first two


digits of each random number.
Random
Random
Number
Number
6506
6506
7761
7761
6170
6170
8800
8800
4211
4211
7452
7452

Day
Day
11
22
33
44
55
66
00-09

Two
TwoFirst
First
Digits
Digits
65
65
77
77
61
61
88
88
42
42
74
74

Total
TotalDemand
Demand
Demand
totoDate
Demand
Date
33
33
44
77
33
10
10
44
14
14
22
16
16
33
19
19

10-25

26-44

45-74

75-94

95-99

12

Simulation of the JVC Problem


The simulation is repeated and stops once total demand reaches
40 or more.
Day
Day
11
22
33
44
55
66

Random
Two
Total
Random
TwoFirst
First
TotalDemand
Demand
Number
Digits
Demand
totoDate
Number
Digits
Demand
Date
6506
65
33
33
6506
65
7761
44
77
The
number of 77
simulated
days
7761
77
6170
10
6170 for the61
61
10
required
total demand33to
8800
88
44
14
880040 or more
88is recorded.
14
reach
4211
42
22
16
4211
42
16
7452
74
33
19
7452
74
19

13

Simulation Results and Hypothesis Tests

The purpose of performing the simulation runs is to find the


average number of days required to sell 40 jaw breakers.

Each simulation run ends up with (possibly) a different number


of days.

A hypothesis test is conducted to test whether or not = 16.


Null hypothesis

H0 : 16

Alternative hypothesis

HA : 16
14

Simulation Results and Hypothesis Tests


The

test:

(the significance level).


Let n be the number of replication runs.
Build the t-statistic
Define

X
s/ n

The t-statistic can be used if the random variable observed


(number of day required for the total demand to be 40 or more) is
normally distributed, while the standard deviation is unknown.
Reject

H0 if t > t/2 or t <- t/2

(t/2 has n-1 degrees of freedom.)


15

JVC A Flow Chart


Flow charts help guide the simulation program
Trials = 1
Max=; sales = 0
S = 0; S2 = 0
Day = 0

Yes

Sales < 40

No

Determine
Daily demand (D)

Record day
S = S + day
S2 = S2 + Day2

Sales = Sales + D
Day = Day + 1

Trials< Max

Trials = Trials + 1
Sales = 0
Day = 0

No

End

Yes
16

JVC Excel Spreadsheet


=MAX(A5:A105
)
=IF(C5<40,A5+1,"")

=IF(C5<40,B6+C5,""
)
=IF(C5<40,VLOOKUP(RAND(),$K$6:$L$11,2),"")
Drag
DragA5:C5
A5:C5toto
A105:C105
A105:C105

VLOOKUP
TABLE
Enter this
data

17

After

running 10 simulation replications on Excel, we have


the following results.
Number of days to sell
40 or more Jaw

Breakers
X ==(18+14+16...+20)
(18+14+16...+20)//10
10==16.6
16.6
22
22
22
ss22==[(18-16.6)
+(14-16.6)
+...+(20-16.6)
[(18-16.6) +(14-16.6) +...+(20-16.6)]]==5.1556
5.1556
s 5.1556 2.2706

tt==(16.6
(16.6--16)
16)// [[2.2706/
2.2706/ 10 ]]==0.836
0.836
For
For==0.05
0.05and
andn-1
n-1==99degrees
degreesofoffreedom
freedom,,
t0.05/2
t0.05/2 ==2.262.
2.262.

Replication
1
2
3
4
5
6
7
8
9
10

Days
18
14
16
16
16
14
14
19
19
20

18

JVC Excel Spreadsheet


=(E3-16)/E4

The p-value =.2966 This value is quite high


compared to any reasonable significance level.
Based on this data there is insufficient
evidence to infer that the mean number of
days differs from 16.

=TDIST(ABS(H5),9,2)

19

Estimating the Average Number of Days Before a


Refill is needed.
To

obtain more reliable results more runs are made.


Summary of results
Replications
10
50
100
500
2500
10000

Average # of days
16.60
17.04
16.66
16.39
16.52
16.46

t value
0.836
3.337
2.996
3.889
11.582
20.785

t(0.025)
2.262
1.96
1.96
The z value
1.96
1.96
1.96

20

Determining Confidence Intervals


is our best estimate for
Confidence interval might help answer this question
What

When

n <30, a (1-)% confidence interval is

{X
s
{Xtt/2,n-1
/2,n-1 s
When

nn,, XX++tt/2/2ss

nn}}

n 30 , a (1-)% confidence interval is

{X
{X zz/2/2 ss

nn,, X
X zz/2/2 ss

nn}}

n is the number of replications.


Example:

n = 10000, 95% confidence interval is [16.42,16.50]


21

13.5 Simulation Modeling of


Inventory Systems

Inventory simulation models are used when underlying


assumptions needed for analytical solutions are not
met.
Typical inputs into the simulation model are
Order

cost
Holding cost
Typical output is the average total cost
Lead time
for a given inventory policy
Demand distribution
23

10.3 Simulation Modeling of Inventory


Systems continued
Frequently, the Fixed-Time Simulation approach is
appropriate for the modeling of inventory problems.
The system is monitored periodically.
The activities associated with demand, orders, and shipments
are determined, and the system is updated accordingly.

Typical output is the average total cost for a given


inventory policy.

24

Frequently, the Fixed-Time Simulation approach


is appropriate for the modeling of inventory
problems.
The

system is monitored periodically.

The

activity associated with demand, orders, and


shipments is determined, and the system is updated.

25

ALLEN APPLIANCE COMPANY


Allen Appliance stocks and sells a certain bread maker.
Data
Unit

cost is $260.
Annual holding cost rate is 26%
Orders are placed at the end of a week, and arrive at the
beginning of a week.
Ordering cost is $45 per order.
Backorder cost is $5 per unit per week.
Backorder administrative cost is $2 per unit.

26

Distributions
The

number of retailers that wish to purchase bread makers can be


described by the Poisson distribution with = 2.
The demand per customer is given by the following empirical distribution
P(demand = 1) = 0.10
P(demand = 2) = 0.15
What
Whatisisthe
theoptimal
optimal
P(demand = 3) = 0.40
inventory
inventorypolicy
policy
P(demand = 4) = 0.35

for
forAllen?
Allen?

The

lead time has the following empirical distribution


P(lead time = 1 weeks) = 0.2
P(lead time = 2 weeks) = 0.6
P(lead time = 3 weeks) = 0.2

27

Inventory Systems
(R,M) : order point, order up to level
when the inventory level reaches R, the firm orders
enough to bring the stock to a level M when the
orders arrives

(R,Q) : order point, order quantity


the firm orders Q units the level of the stock reaches
the inventory level R

28

Average weekly demand =


0.10(1)+0.15(2)+0.40(3)+0.35(4) = 3 units
Weekly holding cost =
Ch=(annual holding cost)*Wholesale cost)/52
= (26%*$200/52) = $1 per unit per week
Average lead time for delivery =
0.2(1) + 0.6(2) + 0.2(3) = 2 weeks

29

SOLUTION
Constructing

random number mappings for:

The number of retailers


Who order in a week
P(0)0 = 0.350 000-134
000-134
2; t` =135-405
1 week
P(1)
135-405
1 ==0.271
P(2)2 = 0.271 406-676
406-676
k -t
(t)
e
3
677-856
= k) =
P(3)P(X
= 0.180
4
857-946
k!
P(4) = 0.090
5
947-982
P(5) = 0.036
6
983-994
P(6)7 = 0.012 995-997
P(7)8 = 0.003 998
P(8)9 = 0.001 999
P(9) = 0.001

Retailers
demand
1
2
3
4

00-09
10-24
25-64
65-99

Lead time
1 week
2 weeks
3 weeks

0-1
2-7
8-9

30

There

are several cases of inventory cost to consider:

There

is inventory at the beginning and at the end of a week.

Average inventory = (Initial inventory + Ending inventory) / 2


Weekly holding cost = Ch (Average inventory)
There

are backordered units at the beginning and at the end of

a week.
Average backorder = (initial backorders + ending backorders) / 2
Weekly backorder cost = Cs(Average backorder) +
additional backorders during the week)

31

There

is inventory at the beginning, and backordered units at the


end of a week.
(Average inventory) =
( Proportion of time in stock )(Average inventory)
(Average backorder) =
(Proportion of time out of stock)(Average backorder)
Holding cost and backorder costs are calculated as before.

32

Example :
Stock

at the beginning of the week : 3


Demand during the week : 8
Number of backorders at the end of the week : 5
Assumption :
in-stock

period : 3/8 of the week


out-of-stock period : 5/8 of the week
Results

Average inventory level=.375(1.5)+0.625(0)= .5625 units


Holding cost for the week = .5625($1)=$.5625
Average backorder level=.375(0)+0.625(2.5)= 1.5625 units
Backorder cost for the week=1.5625($5)+5($2) =$17.8125
33

Simulation of the (R,Q) system

Holding cost
A1($1)
Backorder cost
AB($5)
Costs
(#B)

Beginning backorders
Ending backorders
Inventory Demand
Backorders / Reordering
WK B1 R1 #A R2 D E1 A1
1 25 650 2 33 3
98 4
7 18 21.5
2 18 776 3 26 3
91 4
96 4
11 7 12.5

BB #B EB AB R3 LT

HC BC AC

RC

TC

Average backorders LeadOrder


time cost $45
0

-- --

$21.5 0 0

$21.5

0 0

$12.5 0 0

$45

$57.5

order must be placed


Initial inventory EndingAninventory
inventory
because endingEnding
inventory
is less
thanDemand
the reorder point
(=10)inventory
Random number
Average
Number of orders

34

Holding cost
A1($1)

Simulation of the (R,Q) System.

Backorder cost
AB($5)
Costs
(#B)

Beginning backorders
Ending backorders
Inventory Demand
Backorders / Reordering
WK B1 R1 #A R2 D E1 A1
3
7 617 2 48 3
82 4
7 0 3.5
4
0 880 4 27 3
96 4
46 3
20 2
12 0 0
5 13 421 2 44 3
84 4
7 6 9.5 =
Initial
inventory
InitialBeginning
inventory inventory

BB #B EB AB R3 LT
0

HC BC AC

RC

TC

Average backorders Lead time


Order cost $45
0 0

$3.5

$3.5

(0+12)/2
$5(Average
$2(Number
inventory)of new backorders)
12 12 6
0

30 24

$54

Ending inventory
0 0 0

9 3

$9.5

Random number
Demand
ending inv. last week+ order receivedAverage inventory
Number
Ending
of orders
inventory= 0 +25 -12
- backorders
accumulated

0 $45

35

$54.5

Results for ten simulated weeks


Average

weekly cost for the (R,Q) policy is

(21.50 + 57.50 + 3.50 + 54.00 + ) / 10 = $30.68


Average

Based

More

weekly cost for the (R,M) policy is $27.90

on ten weeks runs the (R,M) policy is preferred.

runs are needed to substantiate this result.


36

10.4 Simulation of a Queuing System


In queuing systems time itself is a random variable.
Therefore, we use the next event simulation approach.
The simulated data are updated each time a new event
takes place (not at a fixed time periods.)
The process interactive approach is used in this kind of
simulation (all relevant processes related to an item as it
moves through the system, are traced and recorded).
37

CAPITAL BANK
An example of queuing system simulation
Capital Bank is considering opening the bank on
Saturdays morning from 9:00 a.m.
Management would like to determine the waiting
time on Saturday morning based on the following
data:

38

CAPITAL BANK
Data:

There are 5 teller positions of which only three will


be staffed.

Ann Doss is the head teller, experienced, and fast.


Bill Lee and Carla Dominguez are associate tellers less
experienced and slower.

39

CAPITAL BANK
Data:

Service time distributions:


Anns Service Time Distribution

Bill and Carlas Service Time Distribution

Service Time

Service Time

.5 minutes
1
1.5
2
2.5
3
3.5

Probability

.05
.10
.20
.30
.20
.10
.05

1 minute
1.5
2
2.5
3
3.5
4
4.5

Probability

.05
.15
.20
.30
.10
.10
.05
.05

40

CAPITAL BANK
Data:

Customer inter-arrival time distribution


inter-arrival time Probability
.5 Minutes .65
1
.15
1.5
.15
2
.05
Service priority rule is first come first served

A simulation model is required to analyze the service .


41

CAPITAL BANK Solution


Calculating expected values:
E(inter-arrival time) = .5(.65)+1(.15+1.5(.15)+2(.05) = .80
minutes [75 customers arrive per hour on the average,
(60/.8=75)]
E(service time for Ann) = .5(.05)+1(.10)++3.5(.05) = 2
minutes [Ann can serve 60/2=30 customers per hour on the
average]
E(Service time for Bill and Carla) = 1(.05)+1.5(.15)+
+4.5(.05) = 2.5 minutes [Bill and Carla can serve 60/2.5=24
customers per hour on the average].

42

CAPITAL BANK Solution


To reach a steady state the bank needs to employ all
the three tellers (30+2(24) = 78 > 75).

43

CAPITAL BANK The Simulation logic


If no customer waits in line, an arriving customer seeks service by
a free teller in the following order: Ann, Bill, Carla.
If all the tellers are busy the customer waits in line and takes then
the next available teller.
The waiting time is the time a customer spends in line, and is
calculated by

[Time service begins] minus [Arrival Time]

44

CAPITAL Simulation Demonstration

1.5
1.5

Mapping Interarrival time


80 94 1.5 minutes

1.5

1.5 1.5

1.5 1.5 Bill


1.5 1.5
Ann

3.5

Mapping Anns Service time


35 64 2 minutes

45

CAPITAL Simulation Demonstration

Bill
Ann 1.5

Mapping Interarrival time


80 94 1.5 minutes

5.5

3.5

Mapping Bills Service time


40 69 2.5 minutes

46

CAPITAL Simulation Demonstration

3 time
Waiting
3.5

47

CAPITAL 1000 Customer Simulation


Average Waiting Time in Line =
Average Waiting Time in System =

1.670
3.993
Ann

Waiting Waiting
Random Arrival Random
Time
Time
Customer Number Time Number Start Finish Start Finish Start Finish Line
System
1
2
3
4
5
6
7
8

0.87
0.18
0.49
0.86
0.54
0.61
0.91
0.64

1.5
2.0
2.5
4.0
4.5
5.0
6.5
7.0

0.96
0.76
0.78
0.49
0.85
0.55
0.90
0.62

1.5

Bill

5
2

5
2.5

5.5

5.5

10.5

7
5

Carla

8.5

10

0
0
0
1
0.5
0.5
0.5
1

3.5
3.0
3.0
3.0
4.0
3.0
3.5
3.5

48

CAPITAL 1000 Customer Simulation


Average Waiting Time in Line =
Average Waiting Time in System =

1.670
3.993
Ann

Waiting Waiting
Random Arrival Random
Time
Time
Customer Number Time Number Start Finish Start Finish Start Finish Line
System
1
2
3
4
5
6
7
8

Bill

Carla

This
simulation
estimates
two
performance
measures:
This0.87
simulation
estimates
two
performance
measures:
1.5
0.96
1.5
5

0
3.5
Average
inter-arrival

Average
waiting
time
in
line
(W
)
=
1.67
minutes
Average
waiting0.76
time in line (Wq q) = 1.67
0.18
2.0
2 minutes
5
0
3.0
time
=
.80
minutes.
0.49
2.5
0.78 in the system W = 3.993 minutes
2.5
5.5
0
3.0

waiting
time
Average
Average
waiting
time
in
the
system
W
=
3.993
minutes
0.86
4.0
0.49
5
7
1
3.0
0.54
4.5
0.85
5
8.5
0.5
4.0
0.61
5.0
0.55
5.5
8
0.5
3.0
0.91
6.5
0.90
7
10
0.5
3.5

Average
number
of
customers
in
line
L
=(1/.80)(1.67)
=
2.0875
customers
Average
0.64
7.0
8
3.5
number0.62
of customers in line Lq q =(1/.80)(1.67)
=10.5
2.0875 1customers

Average number of customers in the system = (1/.80)(3.993) = 4.99

To
Todetermine
determinethe
theother
otherperformance
performancemeasures,
measures,we
wecan
canuse
use
Littles
Littlesformulas:
formulas:

Average number of customers in the system = (1/.80)(3.993) = 4.99


customers.
customers.

49

Mapping for Continuous Random Variables


Example
The

Explicit inverse distribution method can be used to


generate a random number X from the exponential
distribution with = 2 (i.e. service time is exponentially
distributed, with an average of 2 customers per
minute).

Randomly select a number from the uniform distribution between 0


and 1. The number selected is Y = .3338.
Solve the equation: X = F-1(Y) = (1/)ln(1 Y) =
(1/2)ln(1-.3338) = .203 minutes.

50

Mapping for Continuous Random Variables


Using Excel

=RAND()
Drag to cell B13

=-LN(1-B4)/$B$1
Drag to cell C13

51

Random numbers and Excel


Excel can generate continuously distributed
random numbers for various distribution.
Normal

=NORMINV
Beta:
=BETAINV
Chi squared: =CHIINV
Gamma:
=GAMMAINV

52

Random numbers
Normally distributed by Excel

=NORMINV(RAND(),$B$1,$B$2)
Drag to cell B24

53

Simulation of an M / M / 1 Queue
Applying the process interaction approach we have:

New arrival time = Previous arrival time + Random interarrival time.

Service finish time = Service start time + Random service time.

A customer joins the line if there is a service in progress (its arrival


time < current service finish time ).

A customer gets served when the server becomes idle.

Waiting times and number of customers in line and in the system


are continuously recorded.

54

LANFORD SUB SHOP


An example of the M/M/1 queuing simulation
Lanford Sub Shop sells sandwiches prepared by its only
employee, the owner Frank Lanford.
Frank can serve a customer in 1 minute on the average
according to an exponential distribution.
During lunch time, 11:30 a.m. to 1:30 p.m., an average of 30
customers an hour arrive at the shop according to a Poisson
distribution.
55

LANFORD
SUBsimulation,
SHOP
Using
Frank
Using
simulation,
Frank

wants
wants to
to determine
determine the
the
average
average time
time aa customer
customer
must
must wait
wait for
for service
service

56

LANFORD SUB SHOP - Solution


Input Data
= 30, = 60.
Data generated by the simulation:

C# = The number of the arriving customer.


R#1 = The random number used to determine interarrivals.
IAT = The interarrival time.
AT = The arrival time for the customer.
TSB = The time at which service begins for the customer.
WT = The waiting time a customer spends in line.
R#2 = The random number used to determine the service time.
ST = The service time.
TSE = The time at which service end for the customer

57

LANFORD SUB SHOP


Simulation for first 10 Customers
Arrival Time

Time Service Begins


Service Time
C#
R#1
IAT
AT
TSB
WT
R#2
C#
R#1
IAT
AT
TSB
WT
R#2
11
0.6506
2.10
2.10
2.10
00
0.7761
0.6506
2.10
2.10
2.10
0.7761
22
0.6170
1.92
4.02
4.02
00
0.8800
0.6170
1.92
4.02
4.02
0.8800
33
0.4211
1.09
5.11
6.14
1.03
0.7452
0.4211
1.09
5.11
6.14
1.03
0.7452
44
0.1182
0.25
5.36
7.51
2.15
0.4012
0.1182
0.25
5.36
7.51
2.15
0.4012
55
0.0335
0.07
5.43
2.59
0.6299
0.0335 waiting
0.07 time
5.43 == 8.02
8.02
2.59
0.6299
Average
Average
waiting
time
66
0.5482
7.02
9.01
1.99
0.1085
0.5482 + ...1.59
1.59
7.02
9.01
1.99
0.1085
(0(0
+
0
+1.03
+2.04)
/
10
=
1.59
+1.03
+2.04)7.39
/ 10 = 9.12
1.59
77 + 0 0.1698
0.37
1.73
0.6969
0.1698 + ...
0.37
7.39
9.12
1.73
0.6969
88
0.1696
0.37
7.76
10.31
2.55
0.0267
0.1696
0.37
7.76
10.31
2.55
0.0267
99
0.3175
0.76
8.52
10.34
1.82
0.7959
0.3175
0.76
8.52
10.34
1.82
0.7959
10
0.4958
1.37
9.89
11.93
2.04
0.4281
10
0.4958
1.37
9.89
11.93
2.04
0.4281

Time Service Ends


ST
TSE
ST
TSE
1.5
3.6
1.5
3.6
2.12
6.14
2.12
6.14
1.37
7.51
1.37
7.51
0.51
8.02
0.51
8.02
0.99
9.01
0.99
9.01
0.11
9.12
0.11
9.12
1.19
10.31
1.19
10.31
0.03
10.34
0.03
10.34
1.59
11.93
1.59
11.93
0.56
12.49
0.56
12.49

The interarrival time = - ln(1-0.4211) / 30 = 0.0182 hours = 1.09 minutes


End of service = 6.14+1.37
The explicit inverse method
Waiting time = 6.14 - 5.11
Arrival time of customer 3 = Arrival time of customer 2 + 1.09 = 4.02 + 1.09

58

LANFORD SUB SHOP


Simulation for first 1000 Customers

59

You might also like