论文标题
在一台机器上更快地最小化处理时间
Faster Minimization of Tardy Processing Time on a Single Machine
论文作者
论文摘要
本文与$ 1 || \ sum p_ju_j $问题有关,这是最大程度地减少单台计算机上迟到作业的总处理时间的问题。这不仅是一个基本的调度问题,而且从理论的角度来看,这也是一个非常重要的问题,因为它概括了子集总和问题,并且与0/1 knapsack问题密切相关。这个问题众所周知,这是NP-HARD,但仅从弱的意义上讲,这意味着它接受了伪多项式时间算法。该问题的最快已知的伪多项式时间算法是著名的Lawler和Moore算法,该算法以$ O(P \ CDOT n)$时间运行,其中$ p $是输入中所有$ n $作业的总处理时间。该算法已于60年代后期开发,迄今尚未改进。 在本文中,我们以$ 1 || \ sum p_ju_j $开发了两种新算法,每个算法在不同的情况下都在劳勒和摩尔的算法上改进。两种算法都依赖整数集和整数的向量之间的基本原始操作,以便在其运行时间中加速。第二种算法依赖于快速多项式乘法作为其主要引擎,而对于第一种算法,我们定义了$(\ max,\ min)$ - 卷积的新“偏斜”版本,这本身就是有趣的。
This paper is concerned with the $1||\sum p_jU_j$ problem, the problem of minimizing the total processing time of tardy jobs on a single machine. This is not only a fundamental scheduling problem, but also a very important problem from a theoretical point of view as it generalizes the Subset Sum problem and is closely related to the 0/1-Knapsack problem. The problem is well-known to be NP-hard, but only in a weak sense, meaning it admits pseudo-polynomial time algorithms. The fastest known pseudo-polynomial time algorithm for the problem is the famous Lawler and Moore algorithm which runs in $O(P \cdot n)$ time, where $P$ is the total processing time of all $n$ jobs in the input. This algorithm has been developed in the late 60s, and has yet to be improved to date. In this paper we develop two new algorithms for $1||\sum p_jU_j$, each improving on Lawler and Moore's algorithm in a different scenario. Both algorithms rely on basic primitive operations between sets of integers and vectors of integers for the speedup in their running times. The second algorithm relies on fast polynomial multiplication as its main engine, while for the first algorithm we define a new "skewed" version of $(\max,\min)$-convolution which is interesting in its own right.