This repository is the official PyTorch implementation of the algorithms in the following paper:
Cong Zhang, Wen Song, Zhiguang Cao, Jie Zhang, Puay Siew Tan, Chi Xu. Learning to Dispatch for Job Shop Scheduling via Deep Reinforcement Learning. 34th Conference on Neural Information Processing Systems (NeurIPS), 2020. [PDF]
If you make use of the code/experiment or L2D algorithm in your work, please cite our paper (Bibtex below).
@inproceedings{NEURIPS2020_11958dfe,
author = {Zhang, Cong and Song, Wen and Cao, Zhiguang and Zhang, Jie and Tan, Puay Siew and Chi, Xu},
booktitle = {Advances in Neural Information Processing Systems},
editor = {H. Larochelle and M. Ranzato and R. Hadsell and M. F. Balcan and H. Lin},
pages = {1621--1632},
publisher = {Curran Associates, Inc.},
title = {Learning to Dispatch for Job Shop Scheduling via Deep Reinforcement Learning},
url = {https://proceedings.neurips.cc/paper/2020/file/11958dfee29b6709f48a9ba0387a2431-Paper.pdf},
volume = {33},
year = {2020}
}
It is an absolute requirement to install the following versions of the required libraries, specifically for Pytorch. If a newer version is used, it might not be possible to replicate results. Either install this version, or redo hyperparameter tuning.
Pytorch 1.6
Gym 0.17.3
Clone this repo and within the repo folder run the following command.
Create image l2d-image
:
sudo docker build -t l2d-image .
Create container l2d-container
from l2d-image
, and activate it:
sudo docker run --gpus all --name l2d-container -it l2d-image
Change the device type in Params.py
file and run:
python3 test_learned.py
Change the device type in Params.py
file and run:
python3 test_learned_on_benchmark.py
for open benchmark