Discrete-event simulation
Model systems whose state changes at distinct moments, such as arrivals, service completions, failures, and departures.
A discrete-event model changes at distinct event times: an item arrives, service starts, a machine fails, or work finishes. The simulator jumps to the next event instead of calculating every quiet moment in between.
Use it when arrivals, waiting, routes, schedules, or limited capacity determine what happens next.
Nothing relevant changes between these events, so the simulator skips idle time.
- InitializeState established
- Arrival AQueue +1
- Arrival BQueue +1
- Service A doneResource released
0.0 → 3.2 → 4.1 → 8.7 secondsBuild the smallest path that can answer your question, then add detail only when a run shows that it matters.
- Source: creates incoming people, orders, vehicles, or parts.
- Queue: holds work that cannot start yet.
- Service: takes time and may have limited capacity.
- Router: chooses the next path.
- Sink: records work that has left the process.
Entities enter through a source, pass through two activities, and then exit.
- SourceArrivals
Poisson arrivals
8 / h - ActivityPreparation
Triangular processing time
8–18 min - Limited capacityService
Only 3 jobs can run at once
3 slots - OutputCompleted
Finished items leave the model
Process models work well for factories, hospitals, call centers, warehouses, maintenance, and transport, anywhere jobs move through steps and may wait for capacity.
Choose agents instead when individual behavior or location matters most. Choose stocks and flows when you only need totals changing over time.
Start with arrivals, triage, treatment, and discharge. Give triage and treatment realistic times and capacity, then run a baseline. A staffing change may shorten the triage queue while increasing the treatment queue, so compare waiting and throughput across the whole path.