Discrete Event Simulation
Discrete Event Simulation
A discrete-event simulation (DES) models the opera- ple for a discrete event simulation.[3]
tion of a system as a discrete sequence of events in time.
Each event occurs at a particular instant in time and marks
a change of state in the system.[1] Between consecutive
events, no change in the system is assumed to occur; thus 2 Components
the simulation can directly jump in time from one event
In addition to the logic of what happens when system
to the next.
events occur, discrete event simulations include the folThis contrasts with continuous simulation in which the
lowing:
simulation continuously tracks the system dynamics over
time. Instead of being event-based, this is called an
activity-based simulation; time is broken up into small
time slices and the system state is updated according to 2.1 State
the set of activities happening in the time slice.[2] Because
discrete-event simulations do not have to simulate every A system state is a set of variables that captures the salient
time slice, they can typically run much faster than the cor- properties of the system to be studied. The state trajectory overtime S(t) can be mathematically represented by
responding continuous simulation.
a step function whose values change in correspondence
A more recent method is the three-phased approach to of discrete events.
discrete event simulation (Pidd, 1998). In this approach,
the rst phase is to jump to the next chronological event.
The second phase is to execute all events that uncondi2.2 Clock
tionally occur at that time (these are called B-events). The
third phase is to execute all events that conditionally occur at that time (these are called C-events). The three The simulation must keep track of the current simulaphase approach is a renement of the event-based ap- tion time, in whatever measurement units are suitable for
proach in which simultaneous events are ordered so as to the system being modeled. In discrete-event simulations,
make the most ecient use of computer resources. The as opposed to real-time simulations, time 'hops because
three-phase approach is used by a number of commercial events are instantaneous the clock skips to the next event
simulation software packages, but from the users point of start time as the simulation proceeds.
view, the specics of the underlying simulation method
are generally hidden.
Example
A common exercise in learning how to build discreteevent simulations is to model a queue, such as customers
arriving at a bank to be served by a teller. In this example, the system entities are Customer-queue and
Tellers. The system events are Customer-Arrival and
Customer-Departure. (The event of Teller-BeginsService can be part of the logic of the arrival and departure events.) The system states, which are changed by
these events, are Number-of-Customers-in-the-Queue
(an integer from 0 to n) and Teller-Status (busy or
idle). The random variables that need to be characterized to model this system stochastically are CustomerInterarrival-Time and Teller-Service-Time. An agentbased framework for performance modeling of an optimistic parallel discrete event simulator is another exam-
COMMON USES
supporting an interval-based event model may have mul- runs of the model. Condence intervals are usually contiple current events. In both cases, there are signicant structed to help assess the quality of the output.
problems with synchronization between current events.
The pending event set is typically organized as a priority
queue, sorted by event time.[4] That is, regardless of the
order in which events are added to the event set, they are
removed in strictly chronological order. Several generalpurpose priority queue algorithms have proven eective
for discrete-event simulation,[5] most notably, the splay
tree. More recent alternatives include skip lists, calendar
queues,[6] and ladder queues.[7]
Typically, events are scheduled dynamically as the simulation proceeds. For example, in the bank example
noted above, the event CUSTOMER-ARRIVAL at time 3 Simulation engine logic
t would, if the CUSTOMER_QUEUE was empty and
TELLER was idle, include the creation of the subsequent
event CUSTOMER-DEPARTURE to occur at time t+s, The main loop of a discrete-event simulation is something
where s is a number generated from the SERVICE-TIME like this:
distribution.
3.1 Start
2.4
Random-number generators
3.3 End
Generate statistical report.
4 Common uses
2.5
Statistics
4.1 Diagnosing process issues
3
the overall system. In many organizations bottlenecks be- 5 See also
come hidden by excess inventory, overproduction, variability in processes and variability in routing or sequenc- System modeling approaches:
ing. By accurately documenting the system inside a simulation model it is possible to gain a birds eye view of the
Finite-state machine and a special case, Markov
entire system.
chain
A working model of a system allows management to un Stochastic process and a special case, Markov proderstand performance drivers. A simulation can be built
cess
to include any number of performance indicators such as
worker utilization, on-time delivery rate, scrap rate, cash
Queueing theory and in particular birth-death procycles, and so on.
cess
4.1.1
Hospital applications
4.2
4.3
Simulation modeling is commonly used to model potential investments. Through modeling investments
decision-makers can make informed decisions and evaluate potential alternatives.
4.4
Network simulators
Network simulation
6 References
[1] Stewart Robinson (2004). Simulation The practice of
model development and use. Wiley.
[2] Matlo, Norm. Introduction to Discrete-Event Simulation and the SimPy Language (PDF). Retrieved 24 January 2013.
[3] Aditya Kurve; Khashayar Kotobi; George Kesidis. An
agent-based framework for performance modeling of an
optimistic parallel discrete event simulator. Complex
Adaptive Systems Modeling. 1: 12. doi:10.1186/21943206-1-12.
[4] Douglas W. Jones, ed. Implementations of Time, Proceedings of the 18th Winter Simulation Conference,
1986.
7 FURTHER READING
Further reading
Myron H. MacDougall (1987). Simulating Computer Systems: Techniques and Tools. MIT Press.
William Delaney; Erminia Vaccari (1988). Dynamic Models and Discrete Event Simulation.
Dekker INC.
Roger W. McHaney (1991). Computer Simulation:
A Practical Perspective. Academic Press.
Michael Pidd (1998). Computer simulation in management science fourth edition. Wiley.
A, Alan Pritsker, Jean J. O'Reilly (1999). Simulation with Visual SLAM and AweSim. Wiley.
Averill M. Law; W. David Kelton (2000). Simulation modeling and analysis third edition. McGraw
Hill.
Bernard P. Zeigler; Herbert Praehofer; Tag Gon
Kim (2000). Theory of modeling and simulation:
Integrating discrete event and continuous complex dynamic systems second edition. Academic Press.
Jerry Banks; John Carson; Barry Nelson; David
Nicol (2005). Discrete-event system simulation
fourth edition. Pearson.
James J. Nutaro (2010). Building software for simulation: theory and algorithms, with applications in
C++. Wiley.
8.1
Text
8.2
Images
8.3
Content license