We briefly discuss four types of simulation that are commonly used by operations research analysts, industrial and systems engineers, military planners, computer scientists, business analysts, and more.

DISCRETE-EVENT SIMULATION

Discrete-event simulation (DES) is concerned with modeling a system as it evolves over time by a representation in which the state variables change instantaneously at a countable number of separate points in time. These points in time are the ones at which an event occurs, where an event is (usually) an occurrence that immediately changes the state of the system (e.g., an arrival to or departure from a system). In commercial simulation software, a DES model is usually developed graphically by constructing a process-flow diagram that describes the sequence of “operations” (each performed by a model “block”) that an entity experiences as it flows through a process representing system behavior. Examples of operations are creation of an entity and injecting it into the process, queueing an entity until a resource is available, the actual servicing of the entity at the resource, and removing the entity from the system. Entities have attributes but their behavior is implemented by the blocks. The simulation clock in a DES is usually advanced from time 0 to the time of the first most-imminent event, then to the time of the second most-imminent event, etc. Each time an event occurs, the state variables are updated and future events are scheduled. This is called next-event time advance (NETA). It is also possible to advance the simulation clock by some fixed increment of time delta-t (e.g., one minute), which is called fixed-increment time advance (FITA). FITA can be realized when using the NETA approach by scheduling dummy events to occur every delta-t time units. Discrete-event simulation is dynamic, stochastic, and a top-down approach to modeling. See SIMULATION COURSE or SIMULATION BOOK for more information.

AGENT-BASED SIMULATION

An agent is an autonomous entity that can sense its environment, including other agents, and use this information in taking action. Agents are often represented by software objects that encapsulate both the attributes and behavior of the agent. Agents may learn and adapt their behaviors over time. An agent-based simulation (ABS) is a DES where the entities (agents) do, in fact, interact with other entities and their environment in a major way. In ABS we sometimes take a bottom-up approach to simulation modeling, where the emphasis is on describing (by writing code) the behavior and interaction of the individual agents, and this interaction causes system-level behavior to emerge. Historically, most ABS used the FITA approach for updating the simulation clock, but the NETA approach can usually be used and it is more accurate. See SIMULATION COURSE or SIMULATION BOOK for more information.

CONTINUOUS SIMULATION

Continuous simulation (CS) concerns the modeling over time of a system by a representation in which the state variables change continuously with respect to time. Typically, CS models involve differential equations that give relationships for the rates of change of the state variables with time. Numerical analysis techniques (e.g., Runge-Kutta integration) are used to integrate the differential equations numerically (using a small time step), given specific values for the state variables at time 0. CS is dynamic, usually deterministic, and is a top-down approach to modeling. See SIMULATION BOOK for more details.

SYSTEM DYNAMICS

System dynamics (SD) is a type of CS this is used for designing and improving policies or strategies in business, government, or the military. SD models look at systems at a more aggregate level and are used to make more strategic decisions than most DES models. The three fundamental components of SD models are stocks, flows, and information links. A stock is an accumulation of a “resource,” such as a population of people or animals, an inventory of a product, or the level of oil in a reservoir, which corresponds to the value of a state variable. A flow is a stream of a resource into or out of a stock, which represents the rate at which the stock changes value. An information link brings information from a stock (or variable) to a flow. A SD model is developed graphically by constructing a stock and flow diagram, where stocks are represented by rectangles (or containers), flows by thick double-lined arrows (or pipes) with a superimposed butterfly valve that controls the rate of flow through the pipe, and information links by thin curved arrows. SD models typically have feedback loops that are represented by links that go from one stock to the valve of a flow entering or leaving another stock. See SIMULATION BOOK for more details.