Simulation is becoming increasingly popular for factory planning, process design, supply chain optimization and supply chain management. In this article I provide a basic overview and introduction of relevant simulation methods.
It is important to point out that when choosing a simulation pipeline for your project you do not have to make an exclusive selection or decision. There is no exclusive choice. With that I mean that it is possible to combine multiple simulation methods in the same model. I refer to such models as hybrid simulation models. However, supply chain analysts must be aware of the fact that a common mistake in simulation studies is that the model developer chose simulation methods that he or she was most familiar with, rather than applying the most suitable technique.
Introductionary overview of simulation methods
In the article at hand I introduce three main simulation techniques used in the context of supply chain optimization and factory design. As an industrial engineer I find it important to have complete knowledge of tools and methodes available for solving a problem. And, as I will demonstrate in this article, each simulation technique has its own advantages and disadvantages.
The main simulation techniques found in the domain of supply chain optimization are:
Besides from these main simulation techniques I will also introduce some other methodes that can be classified as supply chain related simulations too:
- Monte-carlo simulation
- Spreadsheet forecasts
All of these simulation methodes can be classified based on their level of detail and their planning horizon.
I have summarized some exemplary applications of simulation modeling techniques in below table.
Discrete-event simulation as one of the popular simulation methods
I find most discrete-event simulation models to be used for investigating sequences of events, i.e. processes. In other words, a discrete-event simulation is often used for investigating system interdependencies in assembly jobs, material handling systems, job centers, call centers, warehouses, conveyor systems, mining operations, hospitals and many more.
In a discrete-event simulation model a system and its operations are modelled as sequences of events in time. A discrete-event simulation jumps from event to event, and each event is marked by changes in at least one system state. No state changes are assumed to take place between two consecutive events.
Advantages of discrete-event simulation models
- Widely known simulation technique
- Computational efficiency gains by merely considering event-based system changes
- Appropriate simulation approach for any system described by detailed sequences of entities
- Good approach for analyzing stochastic behaviour
- Can take into account spatial distances and movements of relevant system entities
- In general, discrete-event simulation is a microscopic approach (i.e. a suitable approach for modelling processes on a rather fine-granular modelling level with a relatively low to medium level of abstraction)
- In general, used to analyze deterministic systems
Disadvantages of discrete-event simulation models
- Not suited for policy analysis
- Not suited for analyzing strategic high-level research objectives
Well-known applications of discrete-event simulation are e.g. the following (in addition see above table):
- Production process simulation
- Transportation process simulation
- Warehousing process simulation
- Material handling equipment system simulation
- Patient treatment process simulation
Agent-based simulation as one of the strategic simulation methods
Agent-based modelling and agent-based simulation studies focus on interactions between individual agents. Simulation studies using this approach will focus on understanding how certain macroscopic behaviours (e.g. change of temperature, total sales revenue generated, total amount of trade taking place in a society – etc.) of a system emerge from microscopic interactions of individual agents. This can be relevant to especially strategic supply chain management objectives.
When I develop an agent-based model I develop it conceptually by defining agent groups first. Next, I define their states, state transitions, properties and behaviours. As a model developer I can also add processes to agents. In other words, an agent can contain a discrete-event simulation.
One could e.g. think of agent populations for buyers and sellers in a market. An agent-based model will model these agent types, defining their properties and interactions. For example, a buying agent might have a property describing its need to purchase a good. A seller might, on the other hand, comprise a property describing its willingness to sell and the minimum price at which the agent is willing to sell. These properties can be dynamic and can change throughout a simulation. Interactions and interaction rules between sellers and buyers can then describe the negotiation process. For example one buying agent could look for multiple sellers and ask them for their selling price. The buying agent could then place a sales order at one of the sellers. The seller on the other hand could be registering sales orders and decide which agent to sell its good to.
It furthermore becomes clear from this that all agents in a model need some kind of environment to interact in. Interactions are based on rules, i.e. an agent-based model will comprise some sort of interaction governance.
Advantages of agent-based simulation models
- Can consider detailed agent interactions and properties
- Can consider spatial properties of agent interaction
- Allows models to incorporate responsive behaviour as well as other types of interactive behaviour, such as proactiveness, autonomy, social ability, learning etc.
- Allows for a bottom-up modelling approach, to study the emergence of top-level behaviour as a result of low-level microscopic interactions
- Often seen as the most advanced simulation technique allowing for very detailed models
- Very flexible modelling approach
- Stochastic in nature; considers stochastic events as well as the influence of stochastic system behaviours
- Often perceived as a natural way of modelling especially social systems (such as e.g. supply chains)
Disadvantages of agent-based simulation models
- Most likely less suitable for systems with high levels of homogeneous attributes
- Computationally expenssive
- Can be an over-kill approach
- Challenging modelling approach, especially in terms of model implementation
- Approach tends to result in parameter-rich models; but models with many parameters tend to give little scientific insight
- Does not support queues in the model (as opposed to discrete-event simulation)
- No really suitable for modelling any type of sequential processes, such as e.g. assembly processes in a factory
- Less established simulation technique and thus less popular amongst OR practicioners and industrial engineers
Some typical applications of agent-based simulation models are e.g.:
- Traffic congestion models
- Autonomous robot routing (e.g. ant path models)
- Micro-economic interactions, e.g. price formation in a competitive market economy
System dynamics is one of the abstract simulation methods
System dynamics is a modelling approach that I and other supply chain analysts use to model complex systems based on a modelling framework comprised of stocks, flows, variables and feedback loops. Main purpose is to understand macroscopic system behaviour from feedback loops anticipated or known in a system. This approach is suitable when one e.g. seeks to investigate inventory levels in a supply chain wants to understand how feedback loops and feedback delays affect inventory levels, availabilities and supply shortages.
Advantages of system dynamics models
- Suitable for modelling macroscopic system behaviour
- Suitable for addressing abstract questions and policy considerations
Disadvantages of system dynamics models
- Most likely not suitable for investigating the influence of microscopic system behavior and dependencies
- Not good for detailed aspects of a system, such as e.g. queueing, job scheduling, process sequences
Some exemplaric applications of system dynamics modelling are:
- Investigation of high-level supply chain dependencies (lead times, order announcement times, inventories etc.)
- Bullwhip effects
- High-level cycle time interactions
- Product demand life cycle
Monte-carlo simulation as a more abstract simulation method
A monte-carlo simulation is a simulation technique that makes use of random sampling. I use this technique for problems that I cannot solve or model with reasonable effort using other techniques. I also use monte-carlo simulation for risk assessment. This is in fact the most common use of monte-carlo simulation. For example, one can use monte-carlo simulation to assess the risk of commodity price developments (based purely on historical price data).
Monte-carlo simulation always applies random sampling even when the underlying problem or characteristic is deterministic. Refering back my point of monte-carlo simulation being a popular approach for price formation risk assessment (stock markets, commodities etc.), I can e.g. use this simulation technique to predict commodity and stock price development. I can also use an analytical approach for this, however, at greater effort and cost.
Advantages of monte-carlo simulation models
- Can analyze systems that are nondetermistic
- Can investigate stochastic system behaviour
- Flexible approach (monte-carlo simulation is a concept and can be applied in many different ways)
- Suitable approach when analytical approaches are infeasible or can only be conducted at high effort and/or cost
- For example, monte-carlo simulation can predict commodity or stock prices, whereas an deterministic analytical approach would be feasible but harder to implement and understand
Disadvantages of monte-carlo simulation models
- Quality of simulation results heavily relies on the quality of input data
- No specific considerations of task queues and sequencing
- Ignores statistical dependencies between variables
- Unnatural modelling approach, requires high level of abstraction by model developer
Gaming as a simulation technique
Gaming is a simulation technique that is widely used in supply chain management. The term “gaming” can e.g. refer to the preparation and execution of workshops in which participants take on relevant roles and simulate the execution of processes and procedures. An example of this is a roleplay simulating the execution of a simple production process. I use gaming to investigate competing/alternative production control strategies in workshops with several participants from different roles. I have also used gaming simulations in which I had production planners talk through their daily planning steps in the form of a workshop to understand their routines, concerns and decision-making logic.
Throughout the workshop I will e.g. present production planners with a relevant situation (e.g. a defined demand, inventory, backlog or availability scenario) and, in the form of interactive discussions, I will then be using flipcharts, flow-charts, brown-papers and mind-maps to “play through” all the decision making steps that participating production planners can think of.
It is through such discussions that new ideas, e.g. for controlling lot sizes, MOQs or similar, can be introduced effectively in any type of organization. One major reason for this is that a “game” of this kind allows for everyone to be on the same page with regards to processes and procedures. This avoids misunderstanding and increases acceptance amongst operational staff (in this case the production planners). In sum, “gaming” simulation can result in higher process transparency, scenario checks and thus lower risks, early feedback collection, peer-review by stakeholders and rapid testing of new ideas and concepts. It is furthermore an approach that does not require strong quantitative skills.
Advantages of gaming as a simulation technique
- Allows for roleplay and scenario analysis, to e.g. train personel, increase awareness or test strategies, processes and procedures
- Can be a good approach for conceptual analysis, e.g. for comparing different control logics (e.g. push vs. pull)
- Often takes the form of an inclusive workshop which is a great way of communicating ideas and concepts
Disadvantages of gaming as a simulation technique
- Tends to oversimplify (e.g. not really a data-driven approach)
- Not a suitable approach for most cases besides training, process and procedure testing or strategy and concept assessment
Spreadsheet-based simulation tools
Spreadsheets are widely used in industry. Some spreadsheets implement what could be referred to as simulations. Examples of this are spreadsheets that e.g. calculate inventory levels based on order patterns and expected lead times, or that estimate transportation costs for different warehouse locations. Many other examples could be listed here.
Advantages of spreadhsheet-based simulation models
- Very flexible approach
- Exchangeable and interactive (at least if spreadsheet developer wants to)
- Good approach for problems that can be described with summations and additions, e.g. inventory developments, sales developments, backlog forecasts etc.
Disadvantages of spreadsheet-based simulation models
- More complex models will quickly become confusing for other analysts, i.e. hard to follow (e.g. a monte-carlo simulation might be easier to interpret and understand in Python sourcecode as compared to a Excel spreadsheet)
- Not suitable for agent-based, discrete-event or system dynamics models – even though one could try to e.g. implement an agent-based model in Excel it will quickly become messy
Conclusion and references to related articles
In this article I gave an overview of relevant simulation methods for SCM analysts. I introduced discrete-event simulation, agent-based simulation, system dynamics, monte-carlo simulation, as well as spreadsheet models and gaming. I highlighted relative advantages and use cases of each method. SCM analysts can use this article as a guide for selecting appropriate methods.
I have written several other related articles. I recommend them to anyone interested in simulation methods and list them below.
- Link: Simulation-based capacity planning
- Link: Procedure model for discrete-event simulation
- Link: Backlog simulation in FIFO production system
- Link: Machine learning and discrete-event simulation
- Link: Visual Components financial KPI simulation
- Link: simmer in R for discrete-event simulation
- Link: Open-pit mine simulation for better planning
- Link: Monte-carlo simulation in R for warehouse location risk assessment
- Link: Monte-carlo simulation in Python for stock price risk assessment
- Link: Simple agent-based simulation run in Python
- Link: Developing an agent-based simulation model in Python
- Link: Receival inspection process simulated with simmer in R
- Link: Monte-carlo animation in R with gganimate
- Link: Agent-based modeling in Python
- Link: An introduction to simple conveyor line models in AnyLogic
- Link: Factory design with ProModel AutoCAD simulation software
Data scientist focusing on simulation, optimization and modeling in R, SQL, VBA and Python