Selecting The Right Simulation Modeling Method

When you have a business problem for which you need to create a simulation model, the most critical next step, which in some instances can even mean the success or failure of your modeling project, is determining how exactly to model the problem. The first question you want to answer in this instance is: Is simulation modeling the right approach?

Analytical vs Simulation models

If you are a functional manager involved in strategic planning, high-level forecasting, etc., in a large organization, chances are that the most popular modeling tools are Spreadsheets. Tools like spreadsheets are useful in formula-based solution instances -The output values are linked to the input ones via chains of formulas and in more complex model scripts. Various add-ons allow you to perform parameter variation, Monte Carlo, or optimization experiments.

But formula based Analytical models have limitations

There is a large class of problems where the analytics (formula-based) solution does not exist or is very hard to find. To be more specific, these problems are Dynamic problems with features like:

  • Non-linear behavior
  • Memory requirement
  • Non -intuitive influences between variables
  • Time and casual dependencies
  • Uncertainty
  • Large number of parameters
Consider a Transportation optimization scenario as an example.

In these cases, you are looking to optimize the use of a rail car or truck fleet. Travel, loading and unloading times, maintenance, breakdowns, delivery time restrictions, and terminal point capacities make that problem extremely hard to approach with a spreadsheet.

Capture

The availability of a vehicle at a particular location on a particular date and time depends on a sequence of events preceding that time. Answering the question of where to send the vehicle when it is idle requires the analysis of event sequences in the future.

Once you have determined that Simulation modeling is indeed needed, the next question that needs to be answered is:

Which simulation method should I use?
Three methods in Simulation modeling

The method in Simulation modeling parlance means a general framework for mapping a real-world system to its model. It suggests a type of language, or “terms and conditions” for model building. Three methods are widely used:

  • System Dynamics
  • Discrete Event Modeling
  • Agent Based Modeling
Understanding the level of abstraction of the problem

As an analytics professional in the Supply Chain domain, you will develop models of various abstraction levels. As mentioned earlier, the rules of abstraction are not cast in stone and can (and should) vary based on the problem.  However, generally, certain types of simulation models will always align with a specific abstraction level.

The cheat sheet in Figure 1 should be able to guide you in your model development process to evaluate whether you are modeling at the right abstraction level.

Capture

Figure 1: Abstraction levels for the simulation model. Adapted from “The Big Book of Simulation Modeling.-Ilya Grigoryev”

Think about the problem to determine the method to be used

As mentioned before, the method that should be used is based on the system being modeled and the purpose of the model. Abstraction level, as defined above, plays a vital role in that. Sometimes, this choice is driven by the modeler’s expertise as they choose a method they are strong in. However, I strongly suggest avoiding this approach since, in many instances, I have seen “overkill” scenarios where complex models were created where the result could have been delivered using simple simulation modeling methods.

Understanding the methods and choices through examples

Example 1: Say you are a retailer, and you need to understand the demand dynamics of Supply and Demand.  You can use a System Dynamics modeling approach in this instance.

System dynamics is a method of studying dynamic systems. In system dynamics modeling, we take an endogenous point of view. Model the system as a casually closed structure that itself defines its behavior.

Example 2: You must model how parts move through a Manufacturing assembly line. The excellent choice here is Discrete Event modeling. The idea of a Discrete event modeling method is that the modeler considers the system being modeled as a process, i.e. a sequence of operations being performed across entities.

The model is generally specified graphically as a process flowchart, where blocks represent operations. The flowchart usually begins with “source” blocks that generate entities and injects them into the process and ends with “sink” blocks that remove entities from the model. Typical output expected from a discrete event model is:

  • Utilization of resources
  • Time spent in the system or its part by an entity
  • Waiting times
  • Queue lengths
  • System throughput
  • Bottlenecks
  • Cost of the entity processing and its structure

Example 3: An industrial supply chain with a network of several independent companies is an excellent example of a socio-technical system. The physical and social networks of the actors involved in their operation collectively form an interconnected, complex system in which the actors determine the development and operation of the physical network, and, likewise, the physical network affects the behavior of the actors.

In this type of system, the many interactions taking place in the social and physical subsystems can result in the complex, dynamic behavior of the supply chain as a whole. Accordingly, any attempt to improve the functioning of the supply chain requires a comprehensive understanding of this behavior under different supply network configurations.

Most current approaches to the modeling and simulation of supply chains do not capture the rich socio-technical dynamics present. The Agent-based modeling approach, however, seems to be very promising to address this complex behavior.

Agent-based modeling suggests to the modeler yet another way of looking at the system when you may not know how the system as a whole behaves, what are the key variables and dependencies between them, or simply don’t see that there is a process flow. Still, you may have some insight into how the objects in the system behave individually. Therefore, you can start building the model from scratch by identifying those objects (agents) and their behaviors.

You can connect the agents to each other and let them interact; other times you can put them in an environment, which may have its own dynamics. The system’s global behavior then emerges out of many concurrent individual behaviors.

References:

  • Introduction to modeling and simulation, Mark Spong, Wiley
  • Process Control: Modeling, Design, and Simulation, 2nd Edition, Wayne Bequette, Pearson
  • The Big Book of simulation modeling, Ilya Grigoryev
  • Simulation and wargaming, Turnista et al, Wiley

Leave a comment