songwenas12 / fjsp-drl

Apache License 2.0
187 stars 53 forks source link

fjsp-drl

Implementation of the IEEE TII paper Flexible Job Shop Scheduling via Graph Neural Network and Deep Reinforcement Learning. IEEE Transactions on Industrial Informatics, 2022.

@ARTICLE{9826438,  
   author={Song, Wen and Chen, Xinyang and Li, Qiqiang and Cao, Zhiguang},  
   journal={IEEE Transactions on Industrial Informatics},   
   title={Flexible Job Shop Scheduling via Graph Neural Network and Deep Reinforcement Learning},   
   year={2023},  
   volume={19},  
   number={2},  
   pages={1600-1610},  
   doi={10.1109/TII.2022.3189725}
 }

Get Started

Installation

Note that pynvml is used in test.py to avoid excessive memory usage of GPU, please modify the code when using CPU.

Introduction

Reproduce result in paper

There are various experiments in this article, which are difficult to be covered in a single run. Therefore, please change config.json before running.

Note that disabling the validate_gantt() function in schedule() can improve the efficiency of the program, which is used to check whether the solution is feasible.

train

python train.py

Note that there should be a validation set of the corresponding size in ./data_dev.

test

python test.py

Note that there should be model files (*.pt) in ./model.

Reference