Discrete Event Simulation Notes
Discrete Event Simulation Notes
DCS-UOK
Supervisor: Dr. Shaista Rais
Discrete-event simulation
Discrete-event simulation, or DES, is intended to simulate systems where events occur at specific,
separable instances in time. DES contrasts with a continuous simulation where events are tracked
continuously.
DES can be either deterministic or stochastic, depending on the nature of the target process. The
defining characteristics of discrete-event simulation are as follows:
Events occurring at specific points in time. As mentioned earlier, DES is used to model
processes or systems that change at identifiable time instances. DES does not track system
state continuously.
Emphasis on events. Changes in state and events are the focus of DES, hence why DES is
often referred to as “event-driven.”
Time skipping (next-event time advance). Typically, DES does not consider the system’s
state between events, instead “jumping” to subsequent events as the simulation progresses.
Time skipping reduces the complexity and resource intensity of discrete-event simulations.
Heavy use of queueing theory. Queueing theory is the cornerstone of many discrete-event
simulations, defining how resource-constrained processing is executed. Although queueing
theory is not always used in DES, it can be used whenever the arrival and the service of
requests are the features of interest.
Thus, simply put, DES could be defined as “a system designed to process some sort of entities with
some kind of resources” (Choi, & Kang, 2013. p. 43).
A contrast and compare of DES with continuous simulation would yield the characteristics outlined
in Table 1.
Events are the primary characteristic of discrete-event Time is the primary characteristic of
Primary characteristic
simulation continuous simulation
Models “jump” from event to event in time because the Models track the system continuously
Time tracking
state between events is irrelevant over time
Table 1 - Discrete-Event Simulation vs. Continuous
On a more technical level, discrete-event simulation has the following components (Law & Kelton,
2007, p. 10-11):
System state – a collection of variables that represent the state of the simulated system.
Simulation clock – a variable that tracks the passage of time in the simulated system.
Event list – a collection of when each type of event will occur.
Statistical counters – variables that contain statistical information about the system, such as
average request processing time, server load, or average queue length.
Initialization routine – the routine that defines how the model selects the first event at time
0.
Timing routine – the routine that selects the next event from the event list and jumps in time
to its execution.
Report generator – the routine that defines how the program calculates and updates
statistical counters and includes them in a post-run report.
Event routine – a routine that updates the system’s state when a particular type of event
occurs.
Library routines – routines that use probability distributions to generate random values for
uncertain variables in the system.
Main program – a program that invokes the model’s routines to perform the simulation.
Figure 1: Discrete Event Simulation Flow Diagram Example [Adapted from Source: Law & Kelton (2007)].
This processing aims to check for bottlenecks, find blocked or starved locations, operations, or
sources, identify failure modes, and improve the design. Some examples of probability distributions
are highlighted in Figures 2 and 3.
Modeling & Simulation
DCS-UOK
Supervisor: Dr. Shaista Rais
Queue optimization. DES can be beneficial in optimizing queues, like queues in a bank,
health care facility, or a customer support center. With queues, metrics like the frequency of
new request arrival, duration of request processing, and the number of servers allow
businesses to assess the performance of their systems and make adjustments to them as
necessary (Figure 5).
Modeling & Simulation
DCS-UOK
Supervisor: Dr. Shaista Rais
Figure 5: Sample DES to Evaluate Cost-Effectiveness Analysis of Treatment for Alzheimer’s Disease (Queue
Optimization) [Source: Kongpakwattana & Chaiyakunapruk (2020)].
To summarize these examples, discrete-event simulation is optimal for the following situations:
When the team wants to describe processes where changes occur instantaneously, at
particular points in time.
When the quantity of interest (like inventory or software installations) is countable.