Discrete Event Simulation

The term Discrete Event Simulation has been established as an umbrella term subsuming various kinds of computer simulation approaches, all based on the general idea of making a computational model of real-world system conceived as a discrete dynamic system by representing its state with the help of state variables, and modeling its dynamics by modeling the events that are responsible for its state changes.

There is, however, no generally accepted definition of Discrete Event Simulation. Rather, there are a number of different formalisms (like Petri Nets, State Charts, Event Graphs or DEVS) and there are different tools and frameworks. Many of them (like Arena, Simio and AnyLogic) are based on the Processing Network (PN) paradigm where processing objects enter a system (at an entry node), and are then subject to a number of processing actvities performed at corresponding processing nodes using certain resources, before they leave the system (at an exit node). In some textbooks and tutorials, Discrete Event Simulation is confused with the PN paradigm. However, the PN paradigm is not a general Discrete Event Simulation approach, because it is limited to problems that can be modeled as processing networks such as production lines or service provision networks. But many other discrete event systems, such as inventory systems, business enterprises, consumer markets or socio-technical systems like elevators or road traffic, do not correspond to processing networks.

Examples of Discrete Event Simulation Models with Next-Event Time Progression

The following example models are based on Object Event Simulation (OES), which is a general Discrete Event Simulation paradigm.

Inventory Management
An inventory management system for a single product shop with a continuous replenishment policy based on a reorder point.
A queueing system model (one service and one queue) with two statistics: maximum queue length and service utilization. The model includes one object type: ServiceDesk, and two event types: CustomerArrival and CustomerDeparture, abstracting away from individual customers and from the composition of the queue, which is only represented in terms of its length.
A queueing system model (one service and one queue) with one statistic: the average length of time a customer spends in the system from arrival to departure. For recording their waiting times, individual customers need to be represented as entities/objects. The model includes two object types: ServiceDesk and Customer, and two event types: CustomerArrival and CustomerDeparture.
A queueing system model that models the service as an activity with the service desk as its resource, such that the service desk utilization statistics is computed automatically. The model includes one object type: ServiceDesk, one event type: CustomerArrival and one activity type: PerformService.
An activity-based model of two consecutive service desks with waiting lines. Both types of services are modeled as activity types, such that utilization statistics are computed automatically. The model includes one object type: ServiceDesk, one event type: CustomerArrival, and two activity types: Reception and CaseHandling.
A model of a drive through restaurant based on Introduction to Simulation by R.G. Ingalls, a tutorial given at the 2008 Winter Simulation Conference. The drive thru is modeled as a system with three order processing activities performed at service nodes with queues: the order taking at the menu board, the order preparation at the kitchen and the order pickup at the pickup window. The model includes four object types: MenuBoard, Kitchen, PickupWindow and Customer, one event type: CustomerArrival, and three activity types: OrderTaking, OrderPreparation and OrderPickup.
Lemonade Stand Game (Version 1)
A Lemonade Stand as a manufacturing company that performs daily production based on demand forecasting.
Lemonade Stand Game (Version 2)
A Lemonade Stand as a manufacturing company in a monoploy market dominated by weather conditions. This simulation example comes with an observation user interface (UI) that provides a visualization of simulation runs and with a user interaction UI that allows to play with the simulation.
The MIT Beer Game
(coming soon)
Lengnick's Baseline Economy
Lengnick's Baseline Economy consists of two types of economic actors only: households playing the roles of employees and consumers, and firms playing the roles of employers and producers. All firms produce and sell the same abstract consumption good that is bought (and consumed) by households. The numbers of households and firms are fixed (there is neither population growth nor shrinkage). Households do not die by starvation. When their income shrinks, they adapt by cutting their consumption. Firms do not get bankrupt. When their liquidity shrinks, they adapt by cutting wages. Consumption goods are produced and bought daily while labor is bought monthly. Households buy consumption goods only from a limited number of firms, their preferred suppliers, which they update continuously. Consumption expenditure increases with personal wealth, but at a decaying rate. Households are employed by at most one firm, their employer. They continuously search for an employer that pays a higher wage.