this project develops a vehicle routing simulator. the warehousesim package is the simulation core. task assignment to vehicles can be done internally or externally. if internal task assignment is applied, task to vehice assignment has to be implemented inside the modelling.py file. if external task assignment is applied, the main routine consuming the warehousesim package has to assign tasks to vehicles. examples will be provided here;
also check some other links if you want to get started with vehicle routing simulation:
AGV simulation for AGV transport routing
Agent-based segregation model in Python
Conveyor routing simulation in AnyLogic
Simulation methods for SCM analysts
the framework.py provides the class library that can be used for simulation modelling. in detail, the framework.py class library provides classes for modelling: Node class for modelling a node in the warehouse path layout, Edge class representing one-directional edge in the path network, Segment class which is not used at the moment, Layout class for implementing path network comprised by edges and nodes, Vehicle class for modelling vehicle to be routed (can have own step() method; can be of specified type, has Location and Job as well as e.g. current Path (edge trajectory) attributes), Task class for modelling tasks to dispatch and jobs already activated and assigned to vehicles, Crosspoint class for modelling nodes in the path network that are conflicting, i.e. nodes crossed by several activate jobs.
code has been documented using Google style docstrings. you can generate docs for entire library with the following command in terminal:
python -m pydoc -w