Skip to main content

Simulator Automatic Warehouse

PyPI - Python Version GitHub Release PyPI - Version GitHub Actions Workflow Status Read the Docs codecov

Go to the complete documentation: Simulator Automatic Warehouse doc.

Table of Contents


Description

The Simulator Automatic Warehouse is a Python library that provides two main functions: a digital twin of an automatic warehouse and a simulator of an automatic warehouse.

What is an Automatic Warehouse?

An Automatic Warehouse, or rather an Automatic Vertical Storage System, is a storage system designed to simplify the storage of materials. It is generally used in industrial environments and is designed according to the goods-to-man principle: the products are brought directly to the picking area (called bay).

How it was born

This repository was created in 2022 for a bachelor thesis project at the University of Verona, Italy (Università di Verona). After the creator graduated, he continued to improve the project in order to publish it.

The inspiration came from the Vertimag by Ferretto, an Italian company based in Vicenza. The logic of the digitalized warehouse is therefore the same as that of the real Vertimag.

The digitisation of the warehouse was made possible thanks to the ICE Laboratory of Verona, as part of a thesis project at the University of Verona. In addition, Sebastiano Gaiardelli (mainly) and Marco Panato helped the creator at the beginning of the project.


How to Install and Run the Project

Dependencies

Dependency Version
pandas >= 2.2.0
simpy >= 3.0
PyYAML >= 5.1
jsonschema >= 4.0.0

Python Installation

The Simulator Automatic Warehouse requires Python >= 3.9. Python 3.8 is no longer supported, as Python will end support on 2024-10.

It's possible to install the package using pip:

pip install simulator-automatic-warehouse

Otherwise, you can clone the whole project and install the requirements:

git clone https://github.com/AndreVale69/simulator-automatic-warehouse
pip install -r requirements.txt

Basic Example

The following code generate a warehouse, create a simulation environment and run a simulation.

from automatic_warehouse.warehouse import Warehouse
from automatic_warehouse.simulation.simulation_type.warehouse_simulation import WarehouseSimulation

# generate a Warehouse
warehouse = Warehouse()

# generate a simulation environment
simulation = WarehouseSimulation(warehouse)

# run the simulation
simulation.run_simulation()

# print the results
print(simulation.get_store_history_dataframe())

Note: if a configuration is not specified as an environment variable or is not updated at runtime, the default configuration is used.

Docker

Everything is easier with Docker. In the GitHub project, there are a docker folder and use docker compose to build:

cd docker
docker compose up alpine-simulator_automatic_warehouse

The available docker images are:

  • alpine-simulator_automatic_warehouse
  • debian-simulator_automatic_warehouse

To change or add some environment variables, edit docker-compose.yaml.


Benchmarks

Here are some benchmarks run with a private Python library and the following computer specifications:

  • Intel i7-8750H
  • SDRAM DDR4-2666 16GB
  • MZ-76Q2T0 860 QVO SSD 2TB 2.5"
  • SSD NVMe M.2 128 GB
  • NVIDIA GeForce GTX 1050
Actions Time to process Real-time simulation
10'000 570 milliseconds 1d. 2h. 48m.
63'000 3,5 seconds 1 week
267'900 15,3 seconds 1 month
3'250'120 3,1 minutes 1 year

Use the following links if the images are not displayed:

Relationship between simulated actions and media Standard deviation

Release files for simulator-automatic-warehouse 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simulator-automatic-warehouse 1.0.4
File Size Uploaded
simulator_automatic_warehouse-1.0.4.tar.gz 2.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for simulator-automatic-warehouse 1.0.4
File Interpreter ABI Platform
simulator_automatic_warehouse-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 2.6 MB

Release files / simulator_automatic_warehouse-1.0.4.tar.gz

Download URL simulator_automatic_warehouse-1.0.4.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
4ff94ab7083128528c346a505e4e58b5843533a8115d9f076f362351002b7a72
BLAKE2b-256 checksum
How to use checksums
814159dffb93f4dc4f9cb92a23be77d529b523d4352342d329206510ea28f611
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.3 cpython/3.12.3 HTTPX/0.28.1

Release files / simulator_automatic_warehouse-1.0.4-py3-none-any.whl

Download URL simulator_automatic_warehouse-1.0.4-py3-none-any.whl
Size 57.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59f83fbb23bb2ef8ffd94cae05fc84c900cebb57fd8de70ed343c8d3255d66e6
BLAKE2b-256 checksum
How to use checksums
8468afd1ed08d28470bcc34f082c0b881b1e3019a0e4e2d9c4d8a4824f64f5f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.3 cpython/3.12.3 HTTPX/0.28.1

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page