Subscribe to Our Bi-Weekly AI Newsletter

Simulation, AI and Optimization

What Are Simulations?

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.

Cities Skylines sim

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 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.

Simulation Optimization Tools

Pathmind

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.

Gurobi

A popular mathematical solver, built by the team that initially built IBM CPlex.

IBM CPlex

A solver integrated with IBM’s many other enterprise technologies.

OptQuest

A solver integrated with several popular simulation software packages.

Commercial Simulation Software Tools for Business Operations

The simulation software tools listed below can be used to model business processes.

AnyLogic

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.

FlexSim

Arena Simulation

Lanner Witness

Simul8

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.

Open-source Simulation Tools

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.

Further Reading on the AI Wiki

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

Chris Nicholson

Chris Nicholson is the CEO of Pathmind. He previously led communications and recruiting at the Sequoia-backed robo-advisor, FutureAdvisor, which was acquired by BlackRock. In a prior life, Chris spent a decade reporting on tech and finance for The New York Times, Businessweek and Bloomberg, among others.


Newsletter

A bi-weekly digest of AI use cases in the news.