Discrete Event Simulation With ExtendSim
Discrete Event Simulation With ExtendSim
with ExtendSim
Dr. Jeffrey S. Strickland, CMSP
Missile Defense Agency
Directorate of Modeling and Simulation
Transferring goods
Transporting goods
X State Set
dext (attributes or variable) Y
External External
Imput Output
Transition Events
Events Function Position Fuel Size
Physical models dint
Explode Internal Location Appear
Move Health Weapons Strength
Transition
Function :03 :01
:03 :01
Plans Team Percept
L
Time Advance ta Output Event
Generators
Event List
Number Time Event Type
→1 0.0 Arrival
. . .
Interarrival times 0.5 1.4 0.1 1.7 0.8 0.1 0.1 2.6 3.5
Service times 1.0 0.2 0.8 0.8 0.4 0.5 0.4 2.6 0.5
State Variables
1. Remove
customer from Q Q S NOW
0 busy 0.0
34
Enhancing the Model &
Experimental Design
We will now add enhancements to our MM1 Queue model
The reason for adding these enhancements are more than
cosmetic
We will use these enhancements to determine if our simulation
model’s behavior is consistent with an analytical MM1 Queue
model
In other words, we will use these enhancements to adjust the
simulation model until it is “valid”
We must do this for several reasons:
Simulation models do not necessarily start out at steady state
(ours starts out in an empty-idle state)
Standard statistical techniques cannot be used with simulation
model results
The experimental design is as important as the model
x e
P( x) , for x = 0, 1, 2, ...
x!
l is the arrival rate (e.g., calls arrive at a rate of l=5
per hour)
3.00
Avg. Waiting Time
2.00
1.00
0.00
0 100 200 300 400 500
Customer Number
4.0
Avg Waiting Time
3.0
2.0
1.0
0.0
0 50 100 150 200 250 300 350 400 450 500
Customer Number
3.5
Mean Waiting Time
3.0
2.5
2.0
1.5
1.0
0.5
0.0
0 50 100 150 200 250 300 350 400 450 500
Customer Number
sX .78
X t.025, 2 2.47 4.303
3 3
2.47 1.95
0.52,4.42
2.1700
1.620±0.2712
1.626 ± 0.0849
Approved for Public Release 53
09-MDA-4816 (27 AUG 09)
Alternative: Clear Stats
Allow the simulation to run until it has “reached” steady state, and
then begin to collect statistics
We can do this with Extend’s Clear Statistics block from the Value
library
Although we still see some effects of auto correlation, this is the usual
means for dealing with the initial transient period.