Skip to content
/ RLOR Public
forked from cpwan/RLOR

Reinforcement learning for operation research problems with OpenAI Gym and CleanRL

License

Notifications You must be signed in to change notification settings

git-liuhu/RLOR

 
 

Repository files navigation

RLOR: A Flexible Framework of Deep Reinforcement Learning for Operation Research

1️⃣ First work to incorporate end-to-end vehicle routing model in a modern RL platform (CleanRL)

⚡ Speed up the training of Attention Model by 8 times (25hours $\to$ 3 hours)

🔎 A flexible framework for developing model, algorithm, environment, and search for operation research

News

  • 13/04/2023: We release web demo on Hugging Face 🤗!
  • 24/03/2023: We release our paper on arxiv!
  • 20/03/2023: We release jupyter lab demo and pretrained checkpoints!
  • 10/03/2023: We release our codebase!

Demo

We provide inference demo on colab notebook:

Environment Search Demo
TSP Greedy
Open In Colab
CVRP Multi-Greedy
Open In Colab

Installation

Conda

conda env create -n <env name> -f environment.yml
# The environment.yml was generated from
# conda env export --no-builds > environment.yml

It can take a few minutes.

Optional dependency

wandb

Refer to their quick start guide for installation.

File structures

All the major implementations were under rlor folder.

./rlor
├── envs
│   ├── tsp_data.py # load pre-generated data for evaluation
│   ├── tsp_vector_env.py # define the (vectorized) gym environment
│   ├── cvrp_data.py 
│   └── cvrp_vector_env.py 
├── models
│   ├── attention_model_wrapper.py # wrap refactored attention model to cleanRL
│   └── nets # contains refactored attention model
└── ppo_or.py # implementaion of ppo with attention model for operation research problems

The