SimPy vs AnyLogic: Which Simulation Tool Should You Use?
AnyLogic is the Swiss Army knife of simulation—it does agent-based, system dynamics, and discrete-event simulation in one package. SimPy does discrete-event simulation in Python, and does it well.
So which should you choose?
The Quick Comparison
| AnyLogic | SimPy | |
|---|---|---|
| Cost | £15,000+ per year (Professional) | Free |
| Paradigms | DES + Agent-based + System Dynamics | DES only |
| Interface | Visual GUI + Java | Pure Python |
| Animation | Built-in 2D/3D | Manual (matplotlib, etc.) |
| Learning curve | Moderate-to-steep | Moderate (requires Python) |
AnyLogic's Strengths
Multi-Method Modelling
AnyLogic genuinely excels at combining simulation paradigms. Model customer behaviour with agents, supply chain flows with discrete events, and market dynamics with system dynamics—all in one model.
If you need this capability, AnyLogic is hard to beat.
Powerful Animation
The 3D visualisation in AnyLogic is impressive. Models look professional. Stakeholders understand them immediately. For presentations and buy-in, this matters.
Java Extensibility
Under the hood, AnyLogic runs on Java. If you know Java, you can extend models substantially. It's not as locked-down as some commercial tools.
Process Modelling Library
The drag-and-drop process modelling is well-designed. You can build standard models quickly without writing code.
SimPy's Strengths
Price
This isn't minor. AnyLogic Professional costs more than many engineers' training budgets. SimPy costs nothing.
The Personal Learning Edition of AnyLogic is free but severely limited—no commercial use, no saving large models. SimPy has no such restrictions.
True Flexibility
In AnyLogic, custom logic means writing Java within their framework. In SimPy, you write Python with no framework constraints.
Want to integrate machine learning? Pull data from an API? Use a custom random number generator? In SimPy, you just do it.
Python Ecosystem
SimPy lives in Python, which means: - pandas for data manipulation - numpy for numerical computing - scipy for statistical distributions - matplotlib/plotly for visualisation - scikit-learn for analytics - And thousands of other libraries
AnyLogic has its ecosystem. Python's is larger.
Simplicity
SimPy is a small library doing one thing well. The documentation fits in your head. The source code is readable. You can understand exactly what's happening.
AnyLogic is a massive application with features you'll never use.
The Agent-Based Question
"But I need agent-based modelling!"
Do you? Or do you need individual entities with behaviour—which SimPy handles fine?
True agent-based modelling involves emergent behaviour, spatial models, and complex interactions. If that's your problem, consider Mesa (Python agent-based modelling) alongside SimPy.
Many "agent-based" models are really just discrete-event models with individually tracked entities. SimPy does this excellently.
Code Comparison
AnyLogic (simplified)
// In an Agent's startup code
delay(triangular(5, 10, 8));
send(message, receiver);
SimPy
def process(env):
yield env.timeout(random.triangular(5, 8, 10))
print("Done")
Both accomplish the same thing. One requires a £15,000 licence.
Decision Framework
Choose AnyLogic if: - You genuinely need multi-method simulation - Your organisation already owns licences - You need impressive 3D animation for stakeholders - You prefer visual modelling over coding - Budget is not a constraint
Choose SimPy if: - Discrete-event simulation solves your problem - You value flexibility and integration - You know Python (or want to learn) - Budget matters - You want to own your models completely
The Hidden Cost of AnyLogic
The not entirely insignificant annual fee is just the start.
- Need another user? Buy another licence.
- New team member? Training costs.
- Model too big for Personal Edition? Upgrade required.
- Need priority support? That's extra.
SimPy's hidden costs: time to learn Python (which you'll use for other things anyway).
Making the Transition
If you're considering SimPy after using AnyLogic:
- The concepts transfer - Resources, processes, events work the same way
- The paradigm shift is small - Visual modelling to code is the main difference
- Start with a small project - Port a simple model to get comfortable
My Take
AnyLogic is not a bad tool. It's genuinely powerful and well-designed.
But it's not £15,000-per-year better than SimPy for most discrete-event problems. If you're paying that, you're paying for animations, multi-method capability, and the comfort of a big-name vendor.
If you just need to simulate processes, resources, and queues—SimPy is not exactly a compromise. It's a choice.
Get Started with SimPy
Ready to Master SimPy?
Get started with simulation in Python using SimPy with my comprehensive guide. It covers everything you need to know to build your first simulation models.
Get the SimPy Guide