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求解的连续优化方法能在严格时限内获得显著更优的调度方案。特别地,我们发现将专业启发式方法获得的初始解按时间窗口分解后,能进一步提升求解质量。