Discrete-event simulation

A discrete-event simulation (DES) models the operation of a system as a (discrete) sequence of events in time.

Both forms of DES contrast with continuous simulation in which the system state is changed continuously over time on the basis of a set of differential equations defining the rates of change for state variables.

A common exercise in learning how to build discrete-event simulations is to model a queueing system, such as customers arriving at a bank teller to be served by a clerk.

The state trajectory over time S(t) can be mathematically represented by a step function whose value can change whenever an event occurs.

[10][11] On massively-parallel machines, such as multi-core or many-core CPUs, the pending event set can be implemented by relying on non-blocking algorithms, in order to reduce the cost of synchronization among the concurrent threads.

Only a limited effort is made to assign realistic times to the initial set of pending events.

The simulation typically keeps track of the system's statistics, which quantify the aspects of interest.

Typical choices are "at time t" or "after processing n number of events" or, more generally, "when statistical measure X reaches the value x".

Simulation approaches are particularly well equipped to help users diagnose issues in complex environments.

On the other hand, if a hernia procedure takes on average twenty minutes providing an extra hour may also not yield any increased throughput if the capacity and average time spent in the recovery room is not considered.

Many systems improvement ideas are built on sound principles, proven methodologies (Lean, Six Sigma, TQM, etc.)

A simulation model allows the user to understand and test a performance improvement idea in the context of the overall system.

Through modeling investments decision-makers can make informed decisions and evaluate potential alternatives.

It is possible to define different evaluation metrics, such as service time, bandwidth, dropped packets, resource consumption, and so on.