Simulation Methods

Which Simulation Method Fits?
Discrete Event, Discrete Rate, Continuous and Agent-Based

Every simulation method makes two choices before any model is built: what counts as the system’s state, and when the model updates it. Choose to fit the system and the model is fast and faithful. Choose badly and you spend the project fighting the method. Here are the main types of simulation, side by side.

Two questions that sort every method

Is there a clock? A static simulation has no simulated time. Monte Carlo simulation is the standard example, where you sample the uncertain inputs, compute the result and repeat. A dynamic simulation carries state forward in time, so what happens at 10:05 depends on what happened at 10:04. Discrete event, continuous, discrete rate, agent-based and system dynamics models are all dynamic.

How does the clock move, and what moves with it? Some methods jump from event to event. Others step forward in small increments of time. The state can be individual units, continuous quantities, rates of flow, autonomous agents or aggregate stocks. Randomness is a separate axis. Any of these methods can be deterministic or stochastic, and a stochastic model is run for several replications.

The same buffer (the material held between two machines) as each dynamic method sees it:

Discrete event

State is a count of units. It changes by one at every arrival or departure, and each change is an event.

Continuous

State is a quantity that changes continuously. A numerical integrator advances it step by step (the dots).

Discrete rate

State is a level fed by rates. Between events the rates hold, so the level is a straight line. Events fire only where a rate changes (the dots).

Agent-based

State belongs to individual agents, each following its own rules. System behavior emerges from how they interact.

Discrete event simulation

Discrete event simulation (DES) assumes the system’s state changes only at distinct instants, such as a part arriving, a machine starting, a job finishing or a truck leaving. The simulator keeps a list of future events in time order. It takes the next one, updates the state, schedules any events that follow and jumps the clock forward. Nothing is computed between events, because by assumption nothing changes.

The building blocks are entities (parts, orders, customers), resources (machines, operators, docks) and queues. Entities carry attributes and follow routing logic, so DES is excellent whenever unit identity matters.

Fits: job shops and discrete-part assembly, warehousing and material handling, logistics, service and queueing systems, and anywhere priorities, routings or individual attributes drive the result.

Watch out for: event count grows with the number of units. On lines running hundreds or thousands of units a minute, modelers often treat a case or a pallet as one entity to keep run times reasonable, which gives up some of the short-stop detail. Most general-purpose commercial packages are discrete event at their core. See which tools use which method.

Continuous simulation

Continuous simulation treats state variables (a tank level, a temperature, a concentration, a velocity) as changing continuously over time. The model is usually a set of differential equations, and a numerical integrator advances it in small time steps, either fixed or adaptive.

Fits: physical and chemical process dynamics, control-system design, thermal and fluid behavior, and anywhere the physics between events is the question.

Watch out for: the step size trades accuracy against run time. Sudden changes such as a valve closing or a machine failing need explicit event detection, and individual units have no natural home in the model.

Discrete rate simulation

Discrete rate simulation (DRS) models material as flow moving at a rate, not as individual units. The key assumption is that rates stay constant between events. Buffer levels therefore change linearly, and the simulator can calculate exactly when a buffer will fill or empty and schedule that moment as an event. At each event (a failure, a repair, a changeover, a buffer reaching full or empty) it recomputes the rates across the network and predicts the next event.

Andrew Siprelle created the technique in 1990, originally under the name bulk flow simulation. A DRS model is built from three primitives: constraints that limit rate, buffers that absorb rate differences and interrupts that change rate.

Fits: high-speed filling, bottling, packaging and converting lines, and bulk or process flow through tanks, pipelines and accumulating conveyors. It suits reliability-driven throughput questions, where blocking, starving and buffer sizing decide the answer.

Watch out for: a rate that truly varies continuously, such as a tank draining under gravity or a reaction slowing down, has to be represented as a series of steps or handed to a continuous model. Inside a flow region units have no identity. Where identity matters, hybrid models convert items to flow and back.

Agent-based modeling

Agent-based modeling (ABM) gives each individual (a person, a vehicle, a firm, a robot) its own state and decision rules, and lets agents interact with each other and with their environment. The system’s behavior isn’t written down directly. It emerges from those interactions, and the clock can be event-driven or time-stepped.

Fits: markets and product adoption, crowds and pedestrian movement, fleets that make their own decisions, and organizational behavior.

Watch out for: behavioral rules have many parameters that are hard to measure, so validation takes real effort. Run time grows with the number of agents and interactions.

System dynamics

System dynamics (SD), developed by Jay Forrester at MIT from the late 1950s, models stocks, the flows between them, and the feedback loops and delays that connect them. It’s continuous and deliberately aggregate, describing total inventory rather than individual pallets.

Fits: strategic, long-horizon questions such as capacity expansion over years, policy effects and aggregate supply chain oscillation.

Watch out for: aggregation hides short-term operational behavior. It won’t tell you what a four-minute filler stop does to the case packer.

Monte Carlo simulation

Monte Carlo simulation repeatedly samples uncertain inputs from probability distributions, pushes each sample through a calculation and reports the distribution of results. With no clock and no state carried forward, it’s quick to build but can’t represent buffers filling or machines starving. See Monte Carlo vs discrete rate simulation.

Comparison table

MethodClockStateNatural fitCommon pitfall
Discrete eventNext eventEntities, resources, queuesDiscrete parts, routing, queueing, logisticsEvent count grows with unit volume
Discrete rateNext rate changeRates and buffer levelsHigh-speed lines, bulk and process flowContinuously varying rates must be stepped
ContinuousTime stepsContinuous variablesPhysics, chemistry, controlStep size vs accuracy; discrete events need detection
Agent-basedEvents or stepsIndividual agentsEmergent behavior of many decision-makersHard-to-validate behavioral rules
System dynamicsTime stepsAggregate stocks and flowsStrategic, long-horizon feedbackHides short-term operational detail
Monte CarloNone (static)Sampled inputsIndependent risks, one-period totalsCan’t represent timing, buffers or queues

Combining methods

Real systems rarely fit one method. Combined discrete-continuous simulation goes back at least to Pritsker’s SLAM language in 1979, and several commercial tools now support more than one method in a single model. A common pattern is item-based logic for orders, trucks or batches alongside rate-based flow for the high-speed or bulk section of the process.

Where discrete rate sits

Discrete rate simulation sits between discrete event and continuous simulation. From discrete event it takes the event-driven clock, with no work between events. From continuous simulation it takes the idea that material is a quantity rather than a stream of individual objects. Assuming rates stay constant between events is what lets it compute buffer levels exactly without numerical integration, and it’s also the method’s main limitation. For the detailed comparison, see discrete rate vs discrete event simulation.

A quick rule of thumb. If you describe the system in units per minute and the argument is about stops and buffers, try discrete rate. If it’s about which part goes where and in what order, use discrete event. If it’s about how a physical variable evolves, use continuous. If it’s about how many independent decision-makers behave, use agent-based. If it’s about how a policy plays out over years, use system dynamics. If the question is only how uncertain a total is, Monte Carlo may be all you need.

Frequently asked questions

What are the main types of simulation?

The methods most used for operations and engineering questions are discrete event simulation, continuous simulation, discrete rate simulation, agent-based modeling and system dynamics, which all model a system over time, plus Monte Carlo simulation, which is static. Monte Carlo samples uncertain inputs many times but has no simulated clock. The methods differ in what they treat as the system’s state and in how the model moves from one moment to the next.

What is the difference between discrete event and continuous simulation?

Discrete event simulation assumes the state changes only at distinct instants, such as an arrival, a start or a finish, and jumps the clock from one event to the next. Continuous simulation treats state variables such as a level, a temperature or a pressure as changing continuously, usually described by differential equations and advanced with a numerical integrator in small time steps.

Is discrete rate simulation a type of discrete event simulation?

It shares discrete event simulation’s event-driven clock but not its unit of analysis. Discrete event simulation typically makes each unit an entity. Discrete rate simulation models material as flow at a rate that stays constant between events, so buffer levels change linearly and the time a buffer will fill or empty can be calculated and scheduled. An event is a change in rate, not the passage of a unit, which places it between discrete event and continuous simulation.

When should I use agent-based simulation instead of discrete event simulation?

Use agent-based modeling when the behavior you care about emerges from many individuals that each make their own decisions and interact, such as buyers in a market, people moving through a space or a fleet of vehicles choosing routes. Use discrete event simulation when the system is better described as a process, where units follow defined steps, compete for resources and wait in queues.

Can one simulation model combine several methods?

Yes. Combined discrete-continuous simulation dates back at least to Pritsker’s SLAM language in 1979, and several commercial tools today support more than one method in the same model. A common pattern is item-based logic for orders, trucks or batches alongside rate-based flow for the high-speed or bulk part of the process.

See three methods run the same tank

The Fast-Slow Drain fills and drains one tank as continuous, discrete event and discrete rate, and counts the events each one needs.

Open the Fast-Slow Drain →

Or go straight to discrete rate vs discrete event.