The Simulation Model Life Cycle (Part 1) - Defining the problem

Updated: Apr 6

From start to finish, best practices and practical advice for doing a simulation-based project


I was recently invited by Prof Johan Joubert to do a guest lecture to 3rd-year industrial engineering students at the University of Pretoria. The topic? My choice...

At first, it was really difficult to choose from the many things I have learned about simulation and doing simulation-based projects over the last decade or so. It was hard to think back and imagine what I would have liked to know when I was in their shoes....


In the end, I decided to give a more holistic view about doing simulation projects and discuss the life cycle of a typical simulation project, highlighting best practices, practical advice and showing some "simple" examples


This post is part 1 from a 7 part series about the Simulation Model LIfe cycle. You can watch the full lecture here or watch only from step 1 here



Life cycle of a simulation model

  1. Defining the Problem

  2. Working the Data

  3. Building the Model

  4. Verification and Validation

  5. Experimentation

  6. Analyze the Results

  7. Report on the Findings


This post focuses on the first step and future posts will focus on the remaining steps - you can start watching the lecture from step 1 here, or continue reading the blog post.


Note: Although one does go "back" in later steps to do some activities during previous steps, you by no means redo the entire step. The steps listed above are guidelines of the general steps that a typical project follows. On all steps, you can go backward and revisit previous steps, but unlikely that you will skip a step or move forward before completing a step to at least 80%-90%.

For a more insightful discussion on the matter read here


1) Defining the problem


This is by far the most important step, not only in a simulation-based project but in almost any project.


If you do not define the problem accurately your chances of success drop dramatically.


I break the problem definition phase into 3 steps 1) The problem

2) The scope

3) The model purpose


1.1) The problem

Be very detailed and specific when describing the problem. You need to ensure that you cover:

  • The who? - Who is experiencing the problem

  • The what? - What is the problem they are experiencing

  • The why? - Why is it a problem that is worth solving - talk about the negative impact of not solving it or the positives of solving the problem

  • The where? - Where is this problem being experienced


Remember to be SPECIFIC but also SUCCINCT!


Proper problem definition is an art that will only be improved through experience and practice.


When you have a problem properly defined you need to critically assess whether or not simulation is the best tool for the job...


Don't be like Dave's boss...



For this exercise, we are going to assume that simulation is the best tool for the job and move on....


1.2) The model purpose

What is the objective of your model? What will you be trying to achieve with your model.... In essence, it should either solve your problem or give you the insight to solve your problem.


The model purpose is usually more abstract and at a higher level than the problem.


1.3) The Scope

Here are some key points to remember:

  • Don’t try and boil the ocean

  • Start small, but keep the big picture in mind.

  • Be specific, scope creep is real!


EDIT: On a LinkedIn post about the full lecture Stefan Bengtsson added a valuable addition to this step by noting that one also need to add special consideration to two very important factors: Stakeholders and Time Frame. Both of these have a significant impact on the model purpose and scope.


Stakeholders: Who will be receiving the model and using it?

A model where a Marketing Director or a CEO is in the loop, most likely should be designed differently than one that just has individuals related to production and logistics. The important questions are usually: 1) How should we visualize to get the message through to the stakeholders? 2) What type of interactivity should be added, given the stakeholders?



Time Frame: Is the model to be used to influence a decision next week or do we have all the time in the world?

The time available to build the model will severely affect the modeling strategy. With less time, we need to cut corners, think more conceptually and use a higher level of abstraction. With more time, the situation is very different. You can structure your model architecture differently, include more visuals and functionality etc.



EXAMPLE

Now let's look at an example


Image a retail store owner is experiencing higher than normal queue waiting times and customer complaints are through the roof. One of the managers suggests that they move away from their current queue per server setup to a Single queue for multiple server setup.


The owner is all for this change but fears the risks involved in making such a change without knowing if it will really improve the customer queue waiting times or not.




Problem Definition

So let's start with the problem definition, which one of the following options provides the best problem definition?


Option 1: A retailer wants to investigate the option of moving from a queue per server setup to a single queue for multiple server setup.


Option 2: A retailer wants to quantify the impact on the customer average queue waiting time in their shop when moving from a queue per server setup to a single queue for multiple server setup.


The problem with option 1 is that the term investigate is very ambiguous. What exactly do we want to investigate? Floor space utilization? Environmental? Social distancing?


Option 2 provides us with an adequate amount of detail about the problem and what exactly the person wants to know.


Should we use simulation?


Simulation sounds like the perfect tool for the job!


Using simulation to create a digital twin of the retailer's shop will allow him to test this new setup. As we all know digital twins are a great solution because they can:

  • consider all the dynamic interdependencies critical system interdependencies, constraints, complexities and variability

  • produce a range of likely outcomes for single scenarios, do sensitivity analysis and direct scenario comparisons

  • creates a low-risk, low-cost way to test the impact of any changes on both operational and financial performance

  • provide fast feedback, compared to real-life where there might be a significant delay in getting the results from a pilot study or other experiments


Model Purpose

Which one of the following options defines the model pupose the best?


Option 1: Model must be able to simulate the customers arriving and queuing in front of servers or queueing in a single queue and then being served.


Option 2: To accurately measure the change in the average customer waiting time between a queue per server setup versus a single queue per multiple server setup.


The problem with option 1 is that simulate does not capture the specific model purpose, whereas option 2 leaves no room for second-guessing.



Model Scope


Now for the easy part... Let’s keep the scope short and simple… at least for the first phase of the project ;-)


Scope

  • Use historical server data for customer arrivals

  • Servers modeled as a simple delay

  • Measure customer waiting time in queue


But why not add the following?

  • Each product in historical customer order modeled individually

  • Customers will occupy 3D space in the queue based on trolley/basket/bag and number of products

  • 3D layout of the shop


We need to ask ourselves: does this help the model meets its objectives?


Sure, there are some cases where you can argue that the additional features will increase confidence in the model results or that it can be used for model verification. Just be aware that any additional scope you add might cause unneeded complexities and possibly delay the project...


Well done! We have made it through the first phase of the simulation model life cycle!


In the next post, we will take a look at working with the data!


 

Looking forward to the next post on best practices for building your model?

Remember to subscribe, so that you can get notifications via email or you can also join the mobile app here!


Watch the full lecture here , the video below starts at step 1



What next?

If you liked this post, you are welcome to read more posts by following the links above to similar posts. Why not subscribe to our blog or follow us on any of the social media accounts for future updates. The links are in the Menu bar at the top or the footer at the bottom.


If you want to contact us for some advice, maybe a potential partnership or project or just to say "Hi!", feel free to get in touch here and we will get back to you soon!



164 views0 comments