Skip to content

Latest commit

 

History

History
121 lines (91 loc) · 4.55 KB

README.rst

File metadata and controls

121 lines (91 loc) · 4.55 KB

MAENVS4VRP

Multi Agent Environments for Vehicle Routing Problems

MAENVS4VRP is a library made up of multi-agent environments for simulating classic vehicle routing problems.

Documentation | Install | Quickstart Notebook | Train Your Model | Paper

Google Colab Badge

Environments

List of Vehicle Routing Environments:
Evironment Source Description
CVRPSTW (Capacitated Vehicle Routing Problem with Soft Time Windows) Code Docs
CVRPTW (Capacitated Vehicle Routing Problem with Time Windows) Code Docs
MDVRPTW (Multi-trip Vehicle Routing Problem with Time Windows) Code Docs
PCVRPTW (Prize Collecting Vehicle Routing Problem with Time Windows) Code Docs
PDPTW (Pickup and Delivery Problem with Time Windows) Code Docs
SDVRPTW (Split Delivery Vehicle Routing Problem with Time Windows) Code Docs
TOPTW (Team Orienteering Problem with Time Windows) Code Docs

Install

If you want to install MAENVS4VRP locally on your machine:

git clone https://github.com/ricgama/maenvs4vrp.git && cd maenvs4vrp
pip install -e .

Testing

You can run tests in testing directory /tests/unit/environments.

pytest seed_test.py
pytest reset_seed.py

Training

You can train models in learning directory maenvs4vrp/learning.

python maenvs4vrp/learning/mardam/train_mardam.py --vrp_env toptw --num_agents 5 --num_nodes 51  --val_set servs_50_agents_5 --selection stime
python maenvs4vrp/learning/madyam/train_madyam.py --vrp_env toptw --num_agents 5 --num_nodes 51  --val_set servs_50_agents_5 --selection stime

Directory Tree Structure

├───maenvs4vrp
│   ├───core
│   ├───environments
│   │   ├───cvrpstw
│   │   ├───cvrptw
│   │   ├───mdvrptw
│   │   ├───pcvrptw
│   │   ├───pdptw
│   │   ├───sdvrptw
│   │   ├───toptw
│   ├───learning
│   │   ├───madyam
│   │   ├───mardam
│   ├───notebooks
│   ├───utils
├───tests
│   ├───unit
│   │   ├───environments

Citation

If you want to include MAENVS4VRP in your publications, you can use:

@article{gama2024maenvs4vrp,
  title={Multi-Agent Environments for Vehicle Routing Problems},
  author={Ricardo Gama and Daniel Fuertes and Carlos R. del-Blanco and Hugo L. Fernandes},
  year={2024},
  journal={arXiv preprint arXiv:2411.14411},
  note={\url{https://github.com/ricgama/maenvs4vrp}}
  url={https://arxiv.org/abs/2411.14411},
}