Description
This downloadable virtual product contains a SimPy simulation library and API, with an interface in R. This virtual downloadable product can be used for modeling a two-stage distribution supply chain for perishable products, including a model example for an exemplary use case. While the modeling is done in the Python application and library, making advantage of object-oriented programming in Python, the simulation application is accessible through R, and can e.g. be integrated into a R Shiny-app. Below are two videos describing the content of this downloadable project. The first video describes the R interface, and the second video explains the content of the Python library and application in detail.
Two stage supply chains, with a sourcing stage and a end-warehousing stage for sale to consumers, is supported by this Python SimPy library:
- Stage 1: Manufacturing or farming of perishable products, on stock according to PUSH principle
- Stage 2: End-warehouses / sales unit purchase products at the manufacturer (one or several manufacturers can be shared by sales units), and if successful, receive products after defined leadtime.
End consumers purchase products at the sales units / end-warehouses. When placing a purchase order, product preferences can be specified as a tuple. E.g. (“A”, “B”) means that product A is preferred, but if A is not available, product B is also accepted. Sales units / end warehouses purchase products at suppliers (manufacturers) from manufacturers’ stock. If the manufacturer does not have the desired product on stock, the sales unit will not receive the respective product. If the product is available in the manufacturer’s stock the product will arrive at the sales unit after a defined lead time.
All inventories are furthermore maintained according to the First-In-First-Out rule, and for each iteration in the simulation, products are checked for expiry dates. If expiry date is exceeded the product is scrapped and removed from inventory.
Parametrization and configurability of applications / models developed with this library
The downloadable zip-file contains a configuration file (config.py). In this file, the following supply chain parameters can be adjusted and will be considered by the exemplary library application model contained by the zip-file (main.py):
- inbound delivery lead time per warehouse
- lifetime of a product (the same for each product type)
- product types produced by a given manufacturer
- production output per period (day or shift, or whatever is the relevant time unit) and variability the manufacturer
- production program share of each product time
- mean number of customers, per warehouse (per time unit)
- standard deviation of number of customers, per warehouse (per time unit)
- share of customer types
- product preferences per customer type
- simulation runtime length
Project structure and simulated output data
Below figure provides an overview of the downloadable SimPy library for this supply chain network simulation:
The simulation library does not contain pre-defined chart generating statistics functions, but instead delivers simulation results in a csv-file. This file can be used for generating custom statistics. Some examples are illustrated in below figure:
Who will benefit from this SimPy perishable SCM simulation library?
This downloadable product suits production and manufacturing managers, operation excellence managers, supply chain and production planning consultants, and supply chain managers that:
- Need to identify optimal inventory, purchasing, and distribution policies for their supply chain
- Want an interactive tool for communicating the impact of such policies on all stakeholders of the supply chain
- Want to understand supply chain management and simulation
- Want to learn how to implement SimPy models and libraries
- Want to learn Python, especially object-oriented programming in Python
KPIs / simulation results generated by the SimPy library
The model currently tracks sales / distribution history per manufacturer and warehouse and writes the data into a csv file:
- entity where a sales order was placed
- time when sales order was placed
- whether sales order was fulfilled
- product or product preference requested
- product actually supplied
Reviews
There are no reviews yet.