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, like 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.
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 their system that will help them achieve better outputs to achieve their goals; e.g. in business, it would 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.
Now, notice that businesses use simulations to explore a space of possibilities; i.e. “What happens if I change the model like this, or that…?” And that exploration often has a goal of improving operations.
So they will be seeking the best way to, say, configure a supply chain. Another word for that is optimization, which can automatically evaluate many possible configurations of the simulation, to arrive at the best one.
Optimization allows users to go beyond slow, manual exploration within their simulation. There are various optimization tools ranging from solvers to search algorithms.
Deep reinforcement learning that works with AnyLogic and open-source Python. Performs significantly better than solver baselines on complex, multi-agent and multi-objective problems.
A popular mathematical solver, built by the team that initially built IBM CPlex.
A solver integrated with IBM’s many other enterprise technologies.
A solver integrated with several popular simulation software packages.
The simulation software tools listed below can be used to model business processes.
AnyLogic is a popular simulation software tool for stock-and-flow models; e.g. simulations of supply chains, logistics, warehousing, and manufacturing, among other setttings. AnyLogic integrates with optimization tools such as the mathematical solvers OptQuest and Gurobi, as well as Pathmind’s AI optimization tool, which uses reinforcement learning for multi-agent scenarios.
Games have a long history as simulation tools, starting with Sim City.
Used with modifications to simulate many urban planning and disaster relief efforts.
Used to simulate smaller scale vehicle movement scenarios, among others.
Simpy is an open-source Python framework for modeling discrete events.
PySCeS provides a variety of tools for the analysis of cellular systems.
Discrete event simulation in Python.
An Open Source Multi-physics Simulation Engine.
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.