0% found this document useful (0 votes)
146 views

Discrete Event Simulation With ExtendSim

This document discusses discrete event simulation using ExtendSim. It provides learning objectives about discrete event simulations and examples of models that can be created, including queuing models, manufacturing models, and a hierarchical model of the Ballistic Missile Defense System. Key concepts covered include components of discrete event simulation, basic definitions, use of random numbers, and common statistical distributions.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
146 views

Discrete Event Simulation With ExtendSim

This document discusses discrete event simulation using ExtendSim. It provides learning objectives about discrete event simulations and examples of models that can be created, including queuing models, manufacturing models, and a hierarchical model of the Ballistic Missile Defense System. Key concepts covered include components of discrete event simulation, basic definitions, use of random numbers, and common statistical distributions.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 57

Discrete Event Simulation

with ExtendSim
Dr. Jeffrey S. Strickland, CMSP
Missile Defense Agency
Directorate of Modeling and Simulation

Approved for Public Release DISTRIBUTION STATEMENT A. Approved


09-MDA-4816 (27 AUG 09) for public release; distribution is unlimited. 1
Learning Objectives

 Learn about Discrete Event Simulations (DESs)


 See examples of Interactive simulation tools and DES models
 Distinguish a DESs from other simulations
 Learn about basic queuing processes and problems
associated with simulating them
 Learn how to use appropriate statistical method to validate a
simple queuing model
 Learn how to model a simple queuing problem in Extend
 Learn how to design a simulation experiment and analyze the
results
 Examine a hierarchical model of the Ballistic Missile Defense
System (BMDS)

Approved for Public Release 2


09-MDA-4816 (27 AUG 09)
Discrete Event Simulations
 It would be nice to model people returning to the moon,
from and end-to-end perspective, but it would take us a
few years to do so.
 Reality: we have 90 minutes to learn about DES and
DES tools
 Our models will be simple enough to examine in 90
minutes, yet complex enough to demonstrate many of
the modeling constructs and methodologies
 Common tools include Arena, SimProcess, OPNET, and
ExtendSim

Approved for Public Release 3


09-MDA-4816 (27 AUG 09)
Example Models (1)
Bank Lobby
 Hierarchical modeling
 Statistics collection
 Buttons
 Notebooks
 Ghost Connectors
 Multiple random inputs

Circuit Card Assembly


 Multiple queues
 Multiple services
 Parallel services
 Serial services
 Conveyer belts
 Batching
Approved for Public Release 4
09-MDA-4816 (27 AUG 09)
Example Models (2)
Transportation
 Labor pools
 Task completion delays

 Transferring goods
 Transporting goods

Ballistic Missile Defense System


 Hierarchical Modeling
a l
 Submodels
on
ti
 Throw-Catch o
 Cloning
N

Approved for Public Release 5


09-MDA-4816 (27 AUG 09)
Different Kinds of Simulation
Dynamic Simulation
Dynamic system simulations observe the behavior of the
system models over time. The time advance mechanism used
here include continuous, discrete time, and discrete event.

1 Continuous (Differential Equation) Simulation

2 Discrete Time Stem Simulation

3 Discrete Event Simulation

Approved for Public Release 6


09-MDA-4816 (27 AUG 09)
Discrete-Event Simulation (DES)
 Estimate stochastic, dynamic, and discrete model
outputs.
 In simple terms, a DES describes how a system with
discrete flow units or jobs evolves over time.
 Technically, this means that a computer tracks how and
when state variables, such as queue lengths and
resource availability, change over time.
 State variables change as the result of an event (or
discrete event) occurring in the system.
 A DES focuses only on the time instances when these
discrete events occur.
 This feature allows for significant time compression
because it makes possible to skip through all time
segments between events when the state of the system
remains unchanged.

Approved for Public Release 7


09-MDA-4816 (27 AUG 09)
Components of Discrete Event
Simulation
M Model
S

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

DEVS formalism M = (X, S, Y, dext, dint, L, ta)


Approved for Public Release 8
09-MDA-4816 (27 AUG 09)
Basic Definitions
 System State: a collection of variables containing all
information necessary to operate the model and record
relevant change in it over time.
 Discrete-event dynamic system: system where the
system state changes only at discrete points in time,
which mark the occurrence of an event.
 Event: any occurrence that causes an instantaneous
change in the system state.
 Arrival
 Begin service
 End service
 System Clock: a special system variable that holds
the current system time.
 Timing Routine: the routine that implements DES
process
Approved for Public Release 9
09-MDA-4816 (27 AUG 09)
Random Numbers
 Random numbers are used to drive statistical models of
processes and to make decisions.
 The core of these algorithms is the uniformly distributed
number between zero and one.
 A series of independent and identically distributed
numbers in the range from 0 to 1
 Written as IID U(0,1)
 Deterministic mathematical algorithms generate a series
of numbers that appear random
 X(n) = (ax(n-1) + c)mod(m)
 U(0,1) = x(n)/MAX(m)
 Random methods tend to generate very skewed
sequences of numbers.

Approved for Public Release 10


09-MDA-4816 (27 AUG 09)
Random Variates
 Uniform random numbers drive the selection
values from other distributions (random variates)
 Inverse Transform Methods assign the U(0,1)
number as the Y-axis and trace it back to the X
value through the desired cumulative distribution
function.
 Acceptance-Rejection Methods use an
intermediate function to simplify the selection of
numbers and maintain random selection.
 Composition Methods decompose the
distribution into a summed series of simpler
distributions.

Approved for Public Release 11


09-MDA-4816 (27 AUG 09)
Characteristic Statistical
Distributions
Statistical Potential Application
Distribution
 Uniform Source of random numbers between 0 and 1
Probability of Kill or Detection
 Exponential Interarrival times of customers at a constant rate
 Gamma Time to serve a customer
 Weibull Time to failure for a piece of equipment
 Normal Errors on the impact point of a bomb
 Beta Proportion of defective items in a shipment
 Bernoulli Success or failure of a specific experiment
 Poisson Number of items in a batch of random size
 Lognormal Task times with right-skewed distributions
 Empirical Curves custom fitted to collected data

Approved for Public Release 12


09-MDA-4816 (27 AUG 09)
Output Analysis to Verify the Model
 Finding the true distribution among events
being generated over time
 Finite-Horizon Simulations start idle and
execute to defined terminating event
 Eliminates the effects associated with starting
the system
 Steady-State Simulations run for long
period of time until the parameters achieve
their steady-state
 Eliminates bias in the starting values

Approved for Public Release 13


09-MDA-4816 (27 AUG 09)
Event and Event
Sequencing
Single Server Queue M/M/1

Approved for Public Release


09-MDA-4816 (27 AUG 09) 14
Events and State Changes
 In a discrete-event dynamic system, the state changes only at
discrete points in time, which mark the occurrence of an event.
 An event is any occurrence that causes an instantaneous
change in the state of the system.
 In any system there are only a few distinct types of events.
 In the simple queuing system there are only three types of
events:
 Arrival of a customer
 Beginning of service
 Completion of service

 Event routines (transition functions) specify exactly how a


system changes when an event occurs.

Approved for Public Release 15


09-MDA-4816 (27 AUG 09)
Event Scheduling
 To implement the dynamics of a discrete-event simulation, a
mechanism must be provided to increment time by a variable
amount between events.
 A simulation creates an event notice to sequence events
according to the time of occurrence and apply the associated
event routine to make the changes to the system state.
 At least two pieces of information must be provided
1. The actual time the event will occur
2. The type of event that is scheduled to occur
 These event notices are stored in a list, called the (future)
events list, which is ordered by time of occurrence.
 The process of creating an event notice, recording information
about the event, and placing it in the event list is called
scheduling the event.

Approved for Public Release 16


09-MDA-4816 (27 AUG 09)
A Generic Simulation Language
 Features:  Event Definition and
 Constants Scheduling Facilities
 Variables  Event list
 Arrays of variables  System clock: NOW
 Arithmetic and logical operators  Timing routine: simulate
 Assignment statements:  Event routines
A:= B + C/D  Commands to:
 Commands or procedures to  Schedule an event at a
read in and write out constant given time: Schedule
and variable values event-type at time T
 Looping statements: While…Do
 Find an event notice in the
events list: find event
 Conditional statements: If…  Cancel a scheduled event:
Then…Else cancel event.
 Procedures with parameters
 Functions with parameters
Approved for Public Release 17
09-MDA-4816 (27 AUG 09)
A Single-Server Queue (1)
 The main programs for this system are INITIALIZE and SIMULATE
 State variables:
 Number of customers in the queue, Q: 0, 1, 2, …
 Status of the server, S: idle or busy
 Event Routines:
 Types of events: arrival, begin service, and end service
 NOW is the variable that contains the current system time—the system
clock
 Interarrival and service time—routines that return randomly sampled
values from interarrival and service time distributions
 “Schedule event-type at time T” means place an event notice with event
time T and event type event-type on the list.
 “Schedule begin service at time NOW” puts an event notice with time NOW
and event type begin service on the event list.
 Initialize the system in the empty-and-idle state

Approved for Public Release 18


09-MDA-4816 (27 AUG 09)
A Single-Server Queue (2)
Event Routines
Event routine arrival
Schedule arrival event at time NOW + interarrival time Q := Q + 1
IF S := idle THEN schedule begin service event at time NOW
Event routine begin service
Q := Q - 1
S := busy
Schedule end service event at time NOW + service time
Event routine end service
S := idle
IF Q > 0
THEN schedule begin service event at time NOW
Routine Initialize
Q := 0
S := idle
Schedule arrival event at time NOW

Approved for Public Release 19


09-MDA-4816 (27 AUG 09)
A Single-Server Queue (3)
Event Execution and State Changes
 The purpose of the simulation is to estimate the mean number of
customers in the queue when the system is at steady state (more later).
 The procedure SIimulate is the timing routine that moves the model
through time.
 After Initialization, control is turned over to the timing routine, Simulate,
which executes the following algorithm:

Simulate Before Initialization


While the event list is not empty
and stop signal has not been State Variables
received DO: Q S NOW
Update the clock to the time on
the first event notice.
Execute the event routine for the Event List
type of event on the first event
Number Time Event Type
notice.
Discard the first event notice.

Approved for Public Release 20


09-MDA-4816 (27 AUG 09)
A Single-Server Queue (4)
Event Execution and State Changes
 When the timing routine takes control, there
is one event on the event list as shown
below. State Variables
Q S NOW
0 idle 0.0

Event List
Number Time Event Type
→1 0.0 Arrival
. . .

Approved for Public Release 21


09-MDA-4816 (27 AUG 09)
A Single-Server Queue (5)
Event Execution and State Changes
 Randomly sampled observations for interarrival and service
times for the single-server queue model

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

1. Choose State Variables


random times Several steps
Q S NOW may occur
1 idle 0.0 instantaneously
3. Increase the
Value of Q
Event List
4. Check server
Number Time Event Type status. Since
→3 0.0 Begin service S=idle, schedule a
begin service
2 0.5 Arrival
2. Schedule arrival event at time NOW
at NOW + 0.5
Approved for Public Release 22
09-MDA-4816 (27 AUG 09)
A Single-Server Queue (6)
Event Execution and State Changes
 The first event notice on the event list now is for the begin
service event for the first customer.
 This event occurs at time 0.0, so the clock remains at time 0.0,
and the begin service event routine is executed.

State Variables
1. Remove
customer from Q Q S NOW
0 busy 0.0

2. Set the state Event List 3. Schedule the end


variable to service event for
“busy” Number Time Event Type
time NOW + 1.0
→2 0.5 Arrival
4 1.0 End service

4. Discard the begin service event notice


Approved for Public Release 23
09-MDA-4816 (27 AUG 09)
A Single-Server Queue (7)
Event Execution and State Changes
 Now the first event on the event list is one for the
arrival event at time 0.5.
 After the clock is assigned the event time, 0.5, the
arrival event routine is executed. 4. First event on
State Variables event list is for
end service and
Q S NOW
2. Increment Q by 1 service time for
and check 1 busy 0.5 this event is 1.0
server’s status
Event List
3. Server status is Number Time Event Type 1. Schedule the
“busy”, so next arrival event
→4 1.0 End service
arriving customer at time NOW +
must wait 5 1.9 Arrival interarrival time
(0.5 + 1.4 = 1.9)
5. Discard the second arrival event notice

Approved for Public Release 24


09-MDA-4816 (27 AUG 09)
A Single-Server Queue (8)
Event Execution and State Changes
 The clock is now set for the time of the end service
event, 1.0, and the end service routine is executed to
make the state changes involved with the first
customer’s completing service.
1. Set the server 3. The clock is
State Variables
status to idle updated to 1.0
Q S NOW
4. The begin 1 Idle 1.0
service event will
remove the Event List
waiting customer Number Time Event Type 2. Schedule a begin
from the queue service event at
→6 1.0 Begin service
(Q := Q − 1) when time NOW
executed 5 1.9 Arrival

5. Discard end service event


Approved for Public Release 25
09-MDA-4816 (27 AUG 09)
A Single-Server Queue (9)
Event Execution and State Changes
 The clock is now updated to 1.0, indicating no
change, and the begin service event removes
the next customer from the queue.
2. The begin 1. The clock is
service event State Variables updated to 1.0,
removes the next indicating no
Q S NOW
customer from change
the queue 0 busy 1.0
(Q := Q − 1)
Event List
3. Set the server Number Time
4. Schedule a end
Event Type
status to “busy” service event at
→7 1.2 End service time NOW + 0.2
5 1.9 Arrival (1.0 + 0.2 = 1.2)

5. Discard the begin service event


Approved for Public Release 26
09-MDA-4816 (27 AUG 09)
A Single-Server Queue (10)
Event Execution and State Changes
 This process continues until the timing routine breaks
out of its loop.
 If the event routines are executed as given and no
signal is sent to the timing routine to quit, then the
process will go on forever.
 Because each arrival event schedules the next arrival
event, the event list always contains one arrival event.
 If we want to stop the simulation after time 10.0 is
executed, we replace the statement
Schedule arrival event at time NOW + interarrival time.
With the statement:
IF NOW < 10.0
THEN schedule arrival event at time NOW + interarrival time.
Approved for Public Release 27
09-MDA-4816 (27 AUG 09)
Summary
 In a discrete-event dynamic system, the state changes only at
discrete points in time, which mark the occurrence of an event.
 An event is any occurrence that causes an instantaneous
change in the state of the system.
 In any system there are only a few distinct types of events.
 In the simple queuing system there are only three types of
events:
 Arrival of a customer
 Beginning of service
 Completion of service
 Event routines (transition functions) specify exactly how a
system changes when an event occurs.

Approved for Public Release 28


09-MDA-4816 (27 AUG 09)
Introduction to
ExtendSim
Modeling the MM1 Queue

Approved for Public Release


09-MDA-4816 (27 AUG 09) 29
What is ExtendSim ?
 ExtendSim is one of many process modeling tools that
has been chosen to illustrate an example of a discrete-
event simulation.
 Using Extend, you can develop dynamic models of real-
life processes in a wide variety of fields.
 Use Extend to create models from building blocks,
explore the processes involved, and see how they relate.
 Then change assumptions to arrive at an optimum
solution.
 Similar tools include Arena and SimProcess

Approved for Public Release 30


09-MDA-4816 (27 AUG 09)
ExtendSim Windows

Approved for Public Release 31


09-MDA-4816 (27 AUG 09)
MM1 Queue Modeling Blocks
 From the Item library window, select and drag the following
blocks to the modeling window:
 Executive; Creator; Queue; Activity; and Exit.

 Statistics and Plotter


Approved for Public Release 32
09-MDA-4816 (27 AUG 09)
DOE: 480 minutes & 1 Run
 First, observe that the Average Wait is 2.2812, higher than the
known mean of 1.633
 Second, note the spikes in the graph of wait times. What has
occurred is that a long wait time for one entity tends to cause a long
wit time for the subsequent entities.

Approved for Public Release 33


09-MDA-4816 (27 AUG 09)
Enhancing the MM1
Queue Model
Experimental Design & Model
Validation

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

Approved for Public Release 35


09-MDA-4816 (27 AUG 09)
Characteristics of Queuing Systems:
The Arrival Process
 Arrival rate - the manner in which customers arrive at
the system for service.
 Arrivals are often described by a Poisson random
variable:

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)

Approved for Public Release 36


09-MDA-4816 (27 AUG 09)
Characteristics of Queuing Systems:
The Service Process
 Queue time - the amount of time spent awaiting service after
arrival.
 Service time - the amount of time a customer spends
receiving service (not including time in the queue).
 Service times are often described by an Exponential
random variable:
t2

P (t1  T  t 2 )   e  x dx  e ut1  e  t 2 , for t1  t 2


t1
 m is the service rate (e.g., calls can be serviced at a rate of
m=7 per hour)
 The average service time is 1/m.

Approved for Public Release 37


09-MDA-4816 (27 AUG 09)
A Spreadsheet Simulation of M/M/1
Queue Waiting Times (1)
 Suppose we have a queue with exponential interarrival
and service times, with mean interarrival time equal
0.7 units and mean service time equal 1.0 units.
 Use simulation to determine parameter estimates of
the average waiting time.
 Also calculate the known mean waiting time, given by:
λ
Wq 
μ μ  λ

Approved for Public Release 38


09-MDA-4816 (27 AUG 09)
Characteristics of Data from Dynamic
Systems
 This system is stable because the arrival rate is
less than the service rate, and the server is busy
approximately 70 percent of the time over a long
period.
 Twenty independent replications of the model,
consisting of 500 observations each, were run.
 In each replication, the initial waiting time was
set to zero, indicating that the system started in
the empty-and-idle state.
 The next graph shows the average over 20
replications of each observation in the series.
Approved for Public Release 39
09-MDA-4816 (27 AUG 09)
System Behavior of Transient M/M/1
Queue
Estimates of Waiting Time
in a Transient M/M/1 Queue

3.00
Avg. Waiting Time

2.00

1.00

0.00
0 100 200 300 400 500
Customer Number

Average Moving Avg

Approved for Public Release 40


09-MDA-4816 (27 AUG 09)
Influences on Mean Estimation
 The Initial Transient Period (next)
 Autocorrelated Observations (now)
 Waiting times are not independent—they are autocorrelated.
 If a customer’s waiting time is small, then the next
customer’s waiting time is likely to be small.
 The previous graph shows this effect: instead of “bouncing
around” above and below the stationary mean, the waiting
times will “make excursions” staying above the mean, then
dipping below the mean for periods of time.
 The practical effect of this behavior is that ordinary
statistical methods cannot be applied naively to compute a
reliable confidence interval for the mean.
 When appropriate techniques are used, a great deal of data
are frequently needed.

Approved for Public Release 41


09-MDA-4816 (27 AUG 09)
Characteristics of Data from
Dynamic Simulations (1)
 The Initial Transient Period
 There is a “warm-up period” during which the
mean waiting time appears to increase to a
value close to 2.0 and then settle back to a
value close to 1.6.
 Using λ = .7 and μ = 1.0, we can compute that
the true stationary mean waiting time is 1.6333.
 Thus, we see that in the first 100 observations,
there is much evidence that the waiting times
have settled into their stationary behavior.

Approved for Public Release 42


09-MDA-4816 (27 AUG 09)
Characteristics of Data from
Dynamic Simulations (2)
 The actual stationary distribution of waiting time is
known for the M/M/1 queue:
1   if w  0
Pr W  w       w
1  e if w  0
where r = l/m, with mean 1/(m − l).
 If the first waiting time is chosen from this distribution,
then all subsequent waiting times will be from this
distribution.
 By generating the first waiting time, we can produce a
sequence of waiting times, all of which are from the
stationary distribution.
Approved for Public Release 43
09-MDA-4816 (27 AUG 09)
Transient vs. Stationary M/M/1 Queue
Estimates of Waiting Time in a Transient M/M/1 Queue

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

Average Moving Average

Estimates of Waiting Time in Stationary M/M/1 Queue

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

Average Moving Average

Approved for Public Release 44


09-MDA-4816 (27 AUG 09)
Characteristics of Data from
Dynamic Simulations (3)

 The initial transient behavior is an important


characteristic of observations from a dynamic system.
 Every simulation of a dynamic system must begin in a
fixed state.
 The initial state cannot be selected from the stationary
distribution because the stationary distribution is not
known for those systems that we wish to simulate.
 Every simulation of a dynamic system must go through
an initial transient period before exhibiting the behavior
of a stationary distribution.

Approved for Public Release 45


09-MDA-4816 (27 AUG 09)
Batch Means Computation (1)
 After the initial transient period, we assume that all
remaining observations (non-transient) are sampled from
the system operating in steady state.
 The next problem is to choose a method to compute a
confidence interval for the mean.
 The simplest method is called the batched means
method (Fishman, 1979; Law & Kelton, 1984).
 Method:
 group observations into several batches,
 compute the sample mean of the observations in each batch,
and
 compute the confidence interval from these batched means
using traditional statistical techniques.

Approved for Public Release 46


09-MDA-4816 (27 AUG 09)
Batch Means Computation (2)
 Suppose we have the following 12 observations, after
removing initial transient observations:
1.2, 3.3, 2.6, 5.1, 4.4, 0.6, 0.0, 1.3, 1.5, 3,7, 3.5, 2.4
 Suppose we group these into three batches:

Batch 1 1.2, 3.3, 2.6, 5.1 Mean X1 = 3.05


Batch 2 4.4, 0.6, 0.0, 1.3 Mean X2 = 1.58
Batch 3 1.5, 3.7, 3.5, 2.4 Mean X3 = 2.78
 Now we treat the three batch means as if they are a sequence
of independent observations from the same population whose
mean we want to estimate.

X  2.47 and S X  .78


Approved for Public Release 47
09-MDA-4816 (27 AUG 09)
Batch Means Computation (3)
 A 95 percent confidence interval for the mean is

sX .78
X  t.025, 2  2.47  4.303
3 3
 2.47  1.95
  0.52,4.42

Note that ta,k is the 100(1 − a) percentage point on a


Student’s t-distribution with k degrees of freedom.

Approved for Public Release 48


09-MDA-4816 (27 AUG 09)
Guidelines
 If batch size is sufficiently large, the batch means
from separate batches will be approximately
uncorrelated.
 The batch means will be approximately normally
distributed when the batch size is sufficiently large.
 The batch means will also be approximately
independent when the batch size is sufficiently large.
 Our objective is to select the batch size large enough
that the batch means are approximately uncorrelated.
 At the same time, we must ensure a maximum
number of batches is formed.
 We usually want the number of batches to be at least
10, and the batch size to be at least 100.
Approved for Public Release 49
09-MDA-4816 (27 AUG 09)
Alternative
 An alternative to the batched means method, is to run
several independent replications.
 Compute the sample mean for each replication.
 Use these sample means to compute a confidence
interval for the mean.
 Because each replication starts with the same initial
condition, we are guaranteed that the sample means are
mutually independent, not just approximately
uncorrelated.
 Each replication must run through the initial transient
period, and each must reach steady state.
 Use a graphical method, such as a time series plot, to
judge the adequacy of the initial transient period.

Approved for Public Release 50


09-MDA-4816 (27 AUG 09)
DOE: 480 Minutes & 1 Run
This run will not provide us the results we are looking for!
 The waiting time at the queue does not appear to have
reached steady state.
 The average waiting time does not agree with the
analytic solution
 The waiting times show autocorrelation effects

2.1700

Approved for Public Release 51


09-MDA-4816 (27 AUG 09)
DOE: 660 Minutes & 10 Runs
 This experimental design resulted in 10 batches of
about 600 observations each.
 The true mean lies within the 95% confidence interval

1.620±0.2712

Approved for Public Release 52


09-MDA-4816 (27 AUG 09)
DOE: 720 Minutes, 100 Runs,
Initialized with 2 Entities
 The effects of the initial transient period have been
eliminated in two ways.
 The number of batches have increased to 100
 The queuing systems does not start in the empty-idle state
 The actual waiting time lies within the 95% confidence
interval of the simulation waiting time

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.

Approved for Public Release 54


09-MDA-4816 (27 AUG 09)
BMDS Model
 Hierarchical Modeling
 Simple ExtendSim LT BMDS End-to-End Model
 74 modeling blocks (LT limit is 75)
 Model could be more realistic with Full Version of ExtendSim

This model of the


BMDS is
hypothetical. In
this example, 38
targets were
detected, tracked, a l
and engaged. Of
on
i
ot
60 available
interceptors, 50
interceptors hit
the 38 targets, 10
N
interceptors
missed, and all 38
targets were
Approved for Public Release
engaged.
09-MDA-4816 (27 AUG 09)
55
Summary
 A DES is only one kind of dynamic simulation
 DESs estimate stochastic, dynamic, and discrete model
outputs.
 A DES is a scheme for modeling a system as it evolves
over time by a representation in which state variables
change instantaneously at separate points in time.
 DESs describes how a system with discrete flow units or
jobs evolves over time.
 A DES is normally used when a system involves queuing
processes (one or many).
 There are several interactive simulation tools to use for
developing DESs.

Approved for Public Release 56


09-MDA-4816 (27 AUG 09)
References
 Alexopoulos, C. & Seila, A.F. (1998). Output data analysis. In
Handbook of Simulation, 225-272. Wiley. Chapter 7.
 Banks, J., Carson, J.S. II, Nelson, B., & Nicol, D.M. (2001).
Discrete-Event System Simulation. Prentice Hall.
 Cloud, D.J. & Rainey, L.B. (Eds.). (1998). Applied Modeling and
Simulation: An integrated Approach to Development and Operation.
McGraw-Hill.
 Kelton, W.D., Sadowski, R.P., & Sturrock, D.T. (2004). Simulation
with Arena, 304-313. McGraw-Hill.
 Law, A.M. & Kelton, D.W. (1998). Simulation Modeling & Analysis,
2nd Ed., 234-266. McGraw-Hill.
 Schriber, T.J. & Brunner, D.T. (1998). How discrete-event simulation
software works. In Handbook of Simulation, 765-811. Wiley. Chapter
24.
 Seila, A.F., Ceric, V., & Tadikamalla, P. (2003). Applied Simulation
Modeling, 122-129. Brooks/Cole.
 Zeigler, B.P, Praehofer, H., & Kim, T.G. (2000). Theory of Modeling
and Simulation, 2nd Ed., 75-96. Academic Press.

Approved for Public Release 57


09-MDA-4816 (27 AUG 09)

You might also like