The Job-shop Scheduling Problem (JSP) is a well-known and challenging combinatorial optimization problem in which tasks sharing a machine are to be arranged in a sequence such that encompassing jobs can be completed as early as possible. In this paper, we investigate problem decomposition into time windows whose operations can be successively scheduled and optimized by means of multi-shot Answer Set Programming (ASP) solving. From a computational perspective, decomposition aims to split highly complex scheduling tasks into better manageable subproblems with a balanced number of operations such that good-quality or even optimal partial solutions can be reliably found in a small fraction of runtime. We devise and investigate a variety of decomposition strategies in terms of the number and size of time windows as well as heuristics for choosing their operations. Moreover, we incorporate time window overlapping and compression techniques into the iterative scheduling process to counteract optimization limitations due to the restriction to window-wise partial schedules. Our experiments on different JSP benchmark sets show that successive optimization by multi-shot ASP solving leads to substantially better schedules within tight runtime limits than single-shot optimization on the full problem. In particular, we find that decomposing initial solutions obtained with proficient heuristic methods into time windows leads to improved solution quality.
翻译:作业车间调度问题(JSP)是一个著名且具有挑战性的组合优化问题,其目标是为共享机器的任务安排执行顺序,使得整体作业能够尽早完成。本文研究将问题分解为时间窗口的策略,这些时间窗口中的工序可通过多轮答案集编程(ASP)求解进行连续调度与优化。从计算视角看,分解旨在将高度复杂的调度任务拆分为更易处理的子问题,各子问题包含均衡数量的工序,从而能够在极短运行时间内可靠地获得高质量甚至最优的局部解。我们设计并研究了多种分解策略,涉及时间窗口的数量与尺寸,以及选择工序的启发式方法。此外,我们将时间窗口重叠与压缩技术整合到迭代调度过程中,以缓解因局限于窗口局部调度而产生的优化限制。在不同JSP基准测试集上的实验表明,与针对完整问题的单轮优化相比,通过多轮ASP求解实现的连续优化能在严格时限内获得显著更优的调度方案。特别地,我们发现将基于高效启发式方法获得的初始解分解至时间窗口,能够有效提升最终解的质量。