What Are Simulations and Why Are They Useful?
Simulation has been called the third scientific method, after empirical experiments and analytical theory. The advantage that computational simulation holds over the other two methods is in how it enables us to explore complexity and draw conclusions about the principles driving complex systems.
Computer simulations are “what-if machines” that can represent an array of many possible worlds; they help surface emergent phenomena arising from simple rules you devise, such as Conway’s Game of Life.
So simulations are tools for thought, and they are most useful when exploring complex and dynamic situations with many components that are in non-linear relationships to each other. Warren Weaver described them as “problems of organized complexity.” They can imitate, or recreate, a real-world process or situation.1
Many people are familiar with simulations that come in the form of games. We have driving simulations, flight simulations, farming simulations, and simulations that allow us to create whole cities, like SimCity or Cities: Skylines.

While most simulations include a visual rendering like the one above, which helps us more deeply grasp how they work, their essence is to show relations between variables, like an algebraic equation does; e.g. profit = revenue – expenses.
Simulating many different revenue and expense levels gives us an idea of how profit might behave under different conditions. In fact, the most common simulation tool is a simple spreadsheet such as Excel.
So businesses were early creators of simulations to imitate, or model, parts of their operations, which go beyond revenue to include supply chains, logistics, or manufacturing. Those simulations were the basis of predictions and planning; i.e. making optimal decisions. Simulations are not only tools for thought, but tools for action. They allow us to envision how we might shift the simulation’s response toward the outcome we desire.
Learn How to Apply AI to Simulations »
Optimization for Simulations
Changes to one part of the system can have an unforeseen impact on another. Sometimes those changes are deliberate improvements, other times they are external shocks that impact operations, such as the widespread supply and demand disruptions occurring during the COVID-19 lockdowns.
Simulation modelers often seek to explore changes in a system that will help them achieve better outputs to reach their goals; e.g. in business, it would be greater profitability or efficiency, while in public health, it might be greater immunity and fewer deaths. Simulations help them surface causal relationships that they wouldn’t otherwise see.
So people use simulations to explore a space of possibilities; i.e. “What happens if I change the model like this, or that…?” And that exploration will often have the goal of improving operations. This goes beyond the analysis of historical data, which shows what was done in the past, to reveal what might happen if you took an action for the first time, which is only possible because you have modeled the logic of your system in the simulation in order to interact with it.
A business might seek a better way to configure a supply chain. Its factories have different capacities, orders arrive at different times, and weather can disrupt deliveries. Simulation lets the business test how a proposed configuration behaves over time. An optimizer can use those results to search for configurations that meet an objective, such as reducing delivery delays within a fixed budget.
Optimization tools automate some of that search. A simulation can evaluate candidate settings, such as warehouse reorder thresholds, while a search algorithm proposes settings to try next. Evolutionary algorithms are one option: differential evolution, for example, searches among candidate parameter values without requiring gradients. Simulation packages also offer dedicated optimization engines, such as AnyLogic’s genetic and OptQuest engines. The choice depends on the decisions you can change, the cost of each run, and the constraints a solution must satisfy.
Deep reinforcement learning can learn a policy, a rule for choosing actions, when the problem calls for a sequence of decisions as conditions change. For example, a policy can route each arriving order based on current queues and machine availability. Training uses repeated interaction with the simulation to learn which actions improve the chosen reward. Compare the learned policy with simpler dispatch rules or other optimization methods under the same simulated conditions.
Why Complexity Matters
Complexity matters because many small components can organize themselves to produce emergent behavior on a level more meaningful to us.
- Many molecules organize as a cell
- Many cells as a body
- Many bodies as a team
At each scale, the relevant entity is a superorganism composed of the entities one level below.
When we analyze teams, we see that they behave, and coalesce, in different ways that impact their performance. Many of the behaviors that maximize team performance are difficult to measure and track on the level of the individual; indeed, by incenting individuals to achieve certain personal metrics (in basketball, it might be rebounds), teams can undermine their own goals. Attempting to solve a problem at the wrong level of abstraction only makes it worse. Simulations allow us to observe agents as they organize themselves into a larger operative entity.
Businesses hire individuals, but output depends on how their work fits together. A factory faces the same coordination problem with machines and robots: speeding up one station can leave another waiting or create a queue. A simulation lets you test scheduling rules against those shared constraints. You might compare a learned dispatch policy with a simple rule that assigns each job to the shortest queue.
Open-source Simulation Tools
Netlogo
NetLogo is a multi-agent programmable modeling environment.
Simpy
Simpy is an open-source Python framework for modeling discrete events.
PySCeS
PySCeS provides a variety of tools for the analysis of cellular systems.
ManPy
Discrete event simulation in Python.
Project Chrono
An Open Source Multi-physics Simulation Engine.
Games as Simulation tools
Games have a long history as simulation tools, starting with Sim City.
Cities Skylines
Used with modifications to simulate many urban planning and disaster relief efforts.
Unity
Used to simulate smaller scale vehicle movement scenarios, among others.
Commercial Simulation Software Tools for Business Operations
The simulation software tools listed below can be used to model business processes.
Further Reading on the AI Wiki
- Deep Reinforcement Learning
- Neural Networks and Deep Learning
- Recurrent Neural Networks (RNNs) and LSTMs
- Word2vec and Neural Word Embeddings
- Convolutional Neural Networks (CNNs) and Image Processing
- Accuracy, Precision and Recall
- Attention Mechanisms and Transformers
- Eigenvectors, Eigenvalues, PCA, Covariance and Entropy
- Graph Analytics and Deep Learning
- Symbolic Reasoning and Machine Learning
- Markov Chain Monte Carlo, AI and Markov Blankets
- Generative Adversarial Networks (GANs)
- AI vs Machine Learning vs Deep Learning
- Multilayer Perceptrons (MLPs)
Footnotes
1) While our focus is on computational simulations, it is interesting to note that novels are a form of simulation built with words. Human imagination is often a simulation built with biological neurons. But we are interested in computer-based models that digitally capture some aspect of a world built with atoms.
Other Resources on Simulations and Complexity
- Wikipedia: List of Computer Simulation Software
- Warren Weaver: Science and Complexity
- Measures of Complexity: A non-exhaustive list
- Santa Fe Institute: Introduction to Complexity
- Complexity: The Emerging Science at the Edge of Order and Chaos (1992)
- All stars: Is a great team more than the sum of its players? Complexity science reveals the role of strategy, synergy, swarming and more
- The Success Equation, by Michael Mauboussin
- Fallibility, Reflexivity, and the Human Uncertainty Principle, by George Soros
- Non-linear dynamics and chaos, by Steven Strogatz
