Job-shop scheduling problem (JSP) is a mathematical optimization problem widely used in industries like manufacturing, and flexible JSP (FJSP) is also a common variant. Since they are NP-hard, it is intractable to find the optimal solution for all cases within reasonable times. Thus, it becomes important to develop efficient heuristics to solve JSP/FJSP. A kind of method of solving scheduling problems is construction heuristics, which constructs scheduling solutions via heuristics. Recently, many methods for construction heuristics leverage deep reinforcement learning (DRL) with graph neural networks (GNN). In this paper, we propose a new approach, named residual scheduling, to solving JSP/FJSP. In this new approach, we remove irrelevant machines and jobs such as those finished, such that the states include the remaining (or relevant) machines and jobs only. Our experiments show that our approach reaches state-of-the-art (SOTA) among all known construction heuristics on most well-known open JSP and FJSP benchmarks. In addition, we also observe that even though our model is trained for scheduling problems of smaller sizes, our method still performs well for scheduling problems of large sizes. Interestingly in our experiments, our approach even reaches zero gap for 49 among 50 JSP instances whose job numbers are more than 150 on 20 machines.
翻译:作业车间调度问题(JSP)是一种广泛应用于制造业等行业的数学优化问题,柔性作业车间调度问题(FJSP)是其常见变体。由于两者均为NP难问题,在合理时间内找到所有情况的最优解是难以实现的。因此,开发高效启发式算法来解决JSP/FJSP具有重要意义。构建式启发法是一类求解调度问题的方法,通过启发式规则构建调度方案。近年来,许多构建式启发法采用深度强化学习(DRL)结合图神经网络(GNN)的方法。本文提出一种名为"残差调度"的新方法求解JSP/FJSP。在该新方法中,我们移除已完成工序等无关机器与作业,使得状态仅包含剩余(或相关)的机器与作业。实验表明,在大多数公开的JSP与FJSP基准测试中,我们的方法达到了所有已知构建式启发法中的最优水平(SOTA)。此外,我们还观察到,即使模型针对较小规模调度问题进行训练,该方法在大规模调度问题上仍表现优异。有趣的是,在实验中,我们的方法在20台机器上处理150个以上作业的50个JSP实例中,有49个实现了零间隙。