Modeling & Simulation
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.
Discrete-Event Simulation Continuous Simulation
Changes in the target The system changes continuously with
No changes occur between events
system the passage of time
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
The attributes of discrete-event simulation
Modeling & Simulation
DCS-UOK
Supervisor: Dr. Shaista Rais
At a high-level, discrete-event simulation is built on top of the following components:
System – a collection of entities with certain attributes.
State – a collection of attributes representing the system’s entities.
Event – an occurrence in time that may alter the system’s state.
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.
The process of discrete-event simulation
Such a breakdown of components allows for a greater degree of adjustability in discrete-event
simulation. Simulation engineers can easily fine-tune how the program initializes the simulation,
selects events, progresses time, and reports results.
Figure 1 depicts the process encompassing the discrete-event simulation.
Modeling & Simulation
DCS-UOK
Supervisor: Dr. Shaista Rais
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
Figure 2: Sample Binomial Probability Density Distributions in a DES.
Modeling & Simulation
DCS-UOK
Supervisor: Dr. Shaista Rais
Figure 3: Sample Poisson Probability Density Distributions in a DES.
When to use discrete-event simulation
To give readers a better idea of the uses of discrete-event simulation, here are a few situations or
problems that DES can help businesses solve:
Inventory management. Discrete-event simulation can be used to estimate how much
inventory is necessary to, on the one hand, satisfy existing demand and, on the other hand,
minimize the waste of space and labor (Figure 4).
Modeling & Simulation
DCS-UOK
Supervisor: Dr. Shaista Rais
Figure 4: Sample DES Inventory Fulfillment [Source: Bottani, et al., (2017)].
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)].
Optimization of computer networks. Like queue optimization at physical locations (such
as a bank), DES may be used to fine-tune computer networks. Discrete-event simulation can
specifically help businesses assess their network capacity vs. demand, estimate bandwidth,
and identify bottlenecks (Figure 6).
Modeling & Simulation
DCS-UOK
Supervisor: Dr. Shaista Rais
Figure 6: Sample DES for Optimization of Computer Networks
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.