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
| Method | Clock | State | Natural fit | Common pitfall |
|---|---|---|---|---|
| Discrete event | Next event | Entities, resources, queues | Discrete parts, routing, queueing, logistics | Event count grows with unit volume |
| Discrete rate | Next rate change | Rates and buffer levels | High-speed lines, bulk and process flow | Continuously varying rates must be stepped |
| Continuous | Time steps | Continuous variables | Physics, chemistry, control | Step size vs accuracy; discrete events need detection |
| Agent-based | Events or steps | Individual agents | Emergent behavior of many decision-makers | Hard-to-validate behavioral rules |
| System dynamics | Time steps | Aggregate stocks and flows | Strategic, long-horizon feedback | Hides short-term operational detail |
| Monte Carlo | None (static) | Sampled inputs | Independent risks, one-period totals | Can’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.