This is a simulation model and simulated event data of a logistics process.
Our company sells goods overseas. After receiving an order, the shipment of goods is scheduled. According to this schedule, the goods are picked up from the local production site and brought to a terminal where a logistics service provider receives and ships them.
From a customer order perspective, the process begins when the order is registered at our company (register customer order). After registration, a transport document is created in which details of the further process are recorded (create transport document).
Using this information, the logistics service provider is contacted to coordinate the transport of the ordered goods to the seaport. Twice a week, that provider sends a vehicle to a terminal, with a limited capacity for containers of ordered goods to be transported from the terminal to a seaport. For our company, available capacties vary from vehicle to vehicle, as we are not the only company booking spots. Once the logistics service provider receives our transport documents, they book capacities according to availability and container prioritizations in the upcoming weeks (book vehicles). Once the dates for transporting the goods to the terminal are set, our company contacts a container depot to reserve the required containers (order empty containers).
When a container’s vehicle departure approaches, the goods are prepared, packed and shipped to the terminal. For this purpose, a truck is sent to the container depot (pick up empty container). Meanwhile, the ordered goods to be shipped are packed into handling units at the production site. After loading the handling units (load truck), the truck drives the full container to the terminal (drive to terminal).
At the terminal, the container is picked up by a free forklift and weighed (weigh). Unless the vehicle departure is imminent, the container is placed in the storage location at the terminal (place in stock). Finally, it is moved to the vehicle (bring to loading bay, load to vehicle) which departs at a fixed time (depart).
Despite careful planning, containers sometimes miss a vehicle’s departure. In this case, the container is rescheduled to the next possible vehicle (reschedule container) and kept near the loading ramp until then.
The figure below depicts the process in a simplified manner, using an informal process notation to describe the control-flow and the involved object types. A formal description is given along with the artifacts in the next section.
A simulated event log as well as a simulation model can be found under the resource linked above.
An overview of log properties is given below.
The behavior of the log is described by a fitting object-centric Petri net. Also, individual object types exhibit behavior that can be described by simple Petri nets. See below.
|Handling Unit||Full object-centric Petri net|
During the process, object-to-object relations can emerge at activity occurrences as follows.
|Activity||Source Object Type||Target Object Type||Qualifier|
|Customer Order||Transport Document||TD for CO|
|Book Vehicle||Transport Document||Vehicle||Regular VH for TD|
|Book Vehicle||Transport Document||Vehicle||High-Prio VH for TD|
|Transport Document||Container||CR for TD|
|Truck||Container||TR loads CR|
|Load Truck||Container||Handling Unit||CR contains HU|
|Transport Document||Vehucle||Ersatz VH for TD|
Above data were simulated using the CPN found in the resource linked above.
To obtain simulated data, play out the CPN, e.g. with the help of CPN Tools.
The playing out produces CSV files according to the schema of OCEL2.0. This Python notebook can be used to convert these files to an SQLite dump.
For a technical documentation of the simulation model, please open the attached CPN with CPN Tools and see the annotations therein.
To contribute, drop us an email! We are happy to receive your feedback.