Pallet receival simulation (SimPy)

$ 29,00


This virtual downloadable product contains a simple simulation case study with case description and documentation, associated Python simulation library, and exemplary model application – all parametrized in the form of a configuration file. The simulation library and case study application example consider pallet receival and putaway operations in a warehouse operated by forklift drivers and accessible by trucks via dock doors. You can use this project to implement your own receival operations, allowing you to e.g. make decisions under uncertainty, related to e.g. the optimal amount of 1) dock doors, the optimal amount of 2) forklifts, and the optimal 3) truck arrival window. In addition to these three major “optimization” variables many other variables and assumptions-related parameters can be easily configured via a configuration file.

This project was implemented in Python, and all code is in Python. You can execute the example model via Powershell or another console, if you have Python installed. You can also use the library contained by this downloadable product for adding your own extensions, if you want to model processes that deviate substantially from the receival process assumed by this project. In that case you may view the library and case study application example as a customization template.

Assumed pallet receival process

Below figure illustrates the process assumed by the pallet receival simulation library and framework. The case study application example consumes the library contained by this downloadable virtual product.

pallet receival operation simulation

Trucks arrive at the gates of a warehouse facility and are assigned to dock doors. If no dock door is free, trucks wait at the gate and are assigned to a dock door according to First-In-First-Out principle. Trucks arrive within a defined time window, and by default the truck arrival times are distributed Gaussian normally within this time window. Once a truck has reserved and arrived at a dock door, its pallets are unloaded into a staging area inside the receival area of the warehouse. For this, a defined maximum amount of forklifts are requested and occupied – for a defined amount of time per pallet and forklift.

Once all pallets have been moved to the staging area, they are put away in the warehouse. This takes a randomly distributed amount of time per putaway cycle, and occupies a forklift accordingly. A defined maximum amount of forklifts can work on one truck cargo at the same time. The random distribution of putaway cycle times, specified with a lower and upper cycle time limit, represents chaotic warehousing – i.e. non-zoned chaotic storage slot allocation. This type of warehousing is often the safest assumption, unless you specifically know that another non-chaotic warehousing strategy is in place. Chaotic warehousing is, as bad as its name may sound, also often a quite good and thus often appropriate warehousing strategy.

After the last pallet has been put away from the staging area, the dock door is free again and another truck may arrive and be unloaded at the dock door. The simulation runs the same truck schedule every day, but repeats it for many days. On average, the results are thereby more reliable.

Configurable model parameters for pallet receival simulation

The example model and associated configuration file available with this downloadable virtual product allows users to specify and configure the following parameters:

  • duration: length of a day, specified in time units – i.e. the amount of time units per working day
  • truck arrival time window: start and end time of truck arrival time window
  • truck arrivals: number of trucks that arrive, randomly, within the defined time window
  • dock door amount: total amount of dock doors
  • forklift amount: total amount of forklifts available for truck unloading and putaway operations
  • pallets per truck: number of pallets inside each truck
  • pallet transfer time: time steps  requirred for moving one pallet from the truck into the staging area, by one forklift
  • pallet putaway time range: min and max time required for a pallet putaway cycle

In addition, when consiming the library for a specific application, you have to implement a loop that loops over the simulation run time in the form of days. The example model and associated code, part of the content of this downloadable product, will demonstrate how to do this.

The putaway time range indicates the lower and upper limit for the duration of a putaway cycle, in time units. Within this time range, the cycle time is randomly distributed. A uniform random distribution is applied. This, in other words – and as mentioned under above section “assumed pallet receivals process”, means that the model and framework assumes “chaotic warehousing”.

Model output and results for pallet receival simulation

By default, the framework and example model supports the following two KPIs:

  1. Door docks utilized vs available, throughout time
  2. Forklifts in use vs available, throughout time

daily door dock utilization resultforklift utilization

Possible library and model extensions

Customizations can be added to this pallet receival simulation library relatively easy. Such customizations could e.g. be:

  • Randomly or non-randomly defined patterns with regards to the amount of pallets per truck
  • Truck arrival times according to schedule, not according to random distribution
  • Several time windows per day
  • Additional processes, e.g. inspection process after unloading, and/or repackaging
  • Warehouse zones, thereby deviating from chaotic warehousing and instead assuming e.g. fast vs. slow mover zones
  • Mixed truck loads (some pallet put away as entire pallets, others broken down (additional process) and then put away via e.g. belt conveyors as boxes / pieces

For any customizations, contact the responsible developer directly (if in need) – using our contact form.


There are no reviews yet.

Be the first to review “Pallet receival simulation (SimPy)”

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.