Implementation of paper "Research on Adaptive Job Shop Scheduling Problems Based on Dueling Double DQN" (论文复现)
pip3 install -r requirements.txt
python3 run_ddqn.py --output=../output_jobshop --dueling
python3 run_ddqn.py --output=../output_jobshop --dueling --test
python3 run_ddqn.py --output=../output_jobshop --dueling --test --render --mode=img
该observation由3个channel组成, 包含: Processing time, Scheduling finish, 和 Machine Utilization. 三者的行表示 job,列表示 operation (有的文章也叫 task). 结合图5和图11来看:
reward = 当前已完成所有operation的操作时间和/(机器数量*当前makespan)
测试时最低makespan可得到1040左右 (似乎比论文中展示的效果还要好些)