Supply Chain Process Design using the Queueing Theory

Apply several principles of the Queueing Theory with Python to design a parcel packing process for an e-commerce fulfilment centre

Supply Chain Process Design using the Queueing Theory

Apply several principles of the Queueing Theory with Python to design a parcel packing process for an e-commerce fulfilment centre

Article originally published on Medium.

Supply Chain can be defined as a network of processes and stock locations built to deliver services and goods to customers.

This network usually supports the business strategy of your company; its objectives can be diverse such as delivering the best quality products, the lowest cost or the most customized service or product in the market.

As a Supply Chain Engineer, your objective is to design the most efficient processes to ensure a good service level for your customers and profitability.

This article will apply principles from the Queueing Theory with Python to design a process for parcel packing in an E-Commerce Fulfilment Centre.

💌 New articles straight in your inbox for free: Newsletter

💡
SUMMARYI. Problem StatementWhat is the most efficient solution between single and multiple lines solutions?ScenarioYou got the approval from your management for investing in a second packing station and you're wondering how should you design the layout.II. Optimal Solution using Queuing Theory1. Introduction to Process Analysis2. The Little’s Law3. Introduction to the Queuing Theory4. How can we estimate this waiting time?5. Queueing Theory to estimate tqIII. Build a Simulation Model with PythonIV. Conclusion

I. Problem Statement


Scenario

You are the Outbound Manager of a multinational clothing retail company known for its fast-fashion clothing for men, women, teenagers, and children.

A major problem you’re facing is outbound productivity; after picking your orders are waiting for too long to be shipped.

Based on on-site observations and productivity analysis you understood that the packing process was the bottleneck.

Outbound Area with a Single Line Packing Station
Outbound Area with a Single Line Packing Station — (Image by Author)
  1. Warehouse Pickers bring the parcels on a trolley and put them on the conveyor
Step 1 — (Image by Author)

2. Packing Operator Take the parcels from the conveyor and performs quantity check and packing (put filling material, close the box)

Step 2 — (Image by Author)

You got the approval from your management for investing in a second packing station and you’re wondering how should you design the layout.

Solution 1: keep a single line with two parallel stations

Packing Process Design using the Queueing Theory: Solution 1
Solution 1 — (Image by Author)

Solution 2: add a second line with a dedicated station

Packing Process Design using the Queueing Theory: Solution 2
Solution 2 — (Image by Author)

Question

What is the most efficient (Packing Productivity) solution?
You can find a Youtube version of this article with animations in the link below.

II. Optimal Solution using Queuing Theory

The Queueing Theory can be defined as the science of studying waiting time using advanced mathematical concepts.

If you want to learn more about it, I strongly advise you to have a look at the book Supply Chain Science written by Wallace J. Hopp.

1. Introduction to Process Analysis

Simple Process Representation
Simple Process — (Image by Author)

In this article, we will define a process by a succession of actions that converts inputs to outputs.

To simplify the comprehension, let’s introduce some notations:

Notations — (Image by Author)

2. The Little’s Law

After a long time, when your system gets stable you can use this law to calculate the average number of items in the system (WIP)

Notations — (Image by Author)

3. Introduction to the Queuing Theory

The cause of the productivity issues during this process is the time that needs to wait for a parcel in the conveyor before being packed.

Simple Process with waiting time
Simple Process with waiting time — (Image by Author)

Your operator picking productivity is quite stable; however when you may face issues that will slow down the process:

  • Picking Error: for instance, the picker has put the wrong quantity of items
  • Damages: some items do not pass the quality final check because of damages

In the initial configuration, these events increase the waiting of the parcels in the WIP and impact the overall average CT.

4. How can we estimate this waiting time?

Let’s introduce some notations:

Arrivals Parameters — (Image by Author)
Processing Parameters — (Image by Author)

The main indicator that we want to improve is the average cycle time which can be defined by:

CT = tq + tpwithtq: waiting time in the queue (min)tp: effective process time

5. Queueing Theory to estimate tq

Using Queueing Theory we can approximate the waiting time with,

Equation — (Image by Author)
🔗
You can find the full code in this Github (Follow Me) repository: Link


III. Build a Simulation Model with Python

Parameters

Arrivals,ra = 6 parcels/minta = 0.17 min/parcelCVa: coefficient of variation of taProcessing,rp = 3 parcels/mintp = 0.33 min/parcelCVb: coefficient of variation of tp

1. Waiting Time Formula for the Two Solutions

Equation — (Image by Author)3

Note

We have u -> u/2 because the input flow is splitted through the two packing stations.

2. Simulation

Scenario

  • Deterministic Distribution of Arrivals: CVa = 0
  • Stochastic Distribution of Processing Time: CVp in [0, 2]

This scenario can be based on packing by batch: your picking operators are preparing orders in advance and sending the parcels in a continuous flow with a constant interval time.

Simulation Results for Scenario 1 — (Image by Author)

Comments

  • For a purely deterministic scenario (CVp = CVa = 0) we have no difference as the queuing time is zero for both solutions.
  • When we bring variability in the processing time (number of items per parcel to check, picking errors, quality issues we see that solution 1 outperforms solution 2.

3. Interpretation of the results

  1. If you have a parcel that has a quality issue, it will paralyze a full line if you take solution 2 (50% of input flow). Therefore this solution is not optimal if you have high variability in your processing time.
  2. With Solution 1 we can ensure that the first parcels In will be more or less the first parcels Out while we can’t predict that result with Solution 2 (imagine that one of your lines is facing a huge delay because of one parcel)

IV. Conclusion

Based on these simulation results, you can estimate the impact on the average cycle time (by adding the processing time to queueing) and motivate your choices in the design.

Fortunately for you, the most efficient solution is also the cheapest as you do not need to invest in a new conveyor.

Go Beyond

If you are interested in Warehousing Process Improvement methods, you can get more inspiration from the articles below.

About Me

Let’s connect on Linkedin and Twitter, I am a Supply Chain Engineer that is using data analytics to improve logistics operations and reduce costs.

If you’re looking for tailored consulting solutions to optimize your supply chain and meet sustainability goals, feel free to contact me.