In the moldable job scheduling problem one has to assign a set of $n$ jobs to $m$ machines, in order to minimize the time it takes to process all jobs. Each job is moldable, so it can be assigned not only to one but any number of the equal machines. We assume that the work of each job is monotone and that jobs can be placed non-contiguously. In this work we present a $(\frac 3 2 + \epsilon)$-approximation algorithm with a worst-case runtime of ${O(n \log^2(\frac 1 \epsilon + \frac {\log (\epsilon m)} \epsilon) + \frac{n}{\epsilon} \log(\frac 1 \epsilon) {\log (\epsilon m)})}$ when $m\le 16n$. This is an improvement over the best known algorithm of the same quality by a factor of $\frac 1 \epsilon$ and several logarithmic dependencies. We complement this result with an improved FPTAS with running time $O(n \log^2(\frac 1 \epsilon + \frac {\log (\epsilon m)} \epsilon))$ for instances with many machines $m> 8\frac n \epsilon$. This yields a $\frac 3 2$-approximation with runtime $O(n \log^2(\log m))$ when $m>16n$. We achieve these results through one new core observation: In an approximation setting one does not need to consider all $m$ possible allotments for each job. We will show that we can reduce the number of relevant allotments for each job from $m$ to $O(\frac 1 \epsilon + \frac {\log (\epsilon m)}{\epsilon})$. Using this observation immediately yields the improved FPTAS. For the other result we use a reduction to the knapsack problem first introduced by Mouni\'e, Rapine and Trystram. We use the reduced number of machines to give a new elaborate rounding scheme and define a modified version of this this knapsack instance. This in turn allows for the application of a convolution based algorithm by Axiotis and Tzamos. We further back our theoretical results through a practical implementation and compare our algorithm to the previously known best result.
翻译:在可塑作业调度问题中,需要将一组 $n$ 个作业分配给 $m$ 台机器,以最小化处理所有作业所需的时间。每个作业具有可塑性,即不仅可以分配给一台机器,还可以分配给任意数量的同构机器。我们假设每个作业的工作量是单调的,并且作业可以非连续放置。本文提出一种 $(\frac 3 2 + \epsilon)$ 近似算法,当 $m\le 16n$ 时,最坏情况运行时间为 ${O(n \log^2(\frac 1 \epsilon + \frac {\log (\epsilon m)} \epsilon) + \frac{n}{\epsilon} \log(\frac 1 \epsilon) {\log (\epsilon m)})}$。该结果相较于已知相同质量的最优算法,在 $\frac 1 \epsilon$ 因子及多个对数依赖性上实现了改进。针对机器数量较多的情况 $m> 8\frac n \epsilon$,我们进一步提出改进的完全多项式时间近似方案(FPTAS),运行时间为 $O(n \log^2(\frac 1 \epsilon + \frac {\log (\epsilon m)} \epsilon))$。当 $m>16n$ 时,该方案可得到运行时间为 $O(n \log^2(\log m))$ 的 $\frac 3 2$ 近似算法。这些成果基于一个核心观察:在近似设置中,无需为每个作业考虑全部 $m$ 种分配方案。我们将证明每个作业的相关分配数量可从 $m$ 降至 $O(\frac 1 \epsilon + \frac {\log (\epsilon m)}{\epsilon})$。该观察直接导出改进的FPTAS。对于另一结果,我们采用Mounié、Rapine 和 Trystram 首次提出的背包问题归约方法。利用缩减后的机器数量,我们设计了新的精细舍入方案,并定义了该背包实例的修正版本。这进一步允许应用 Axiotis 和 Tzamos 提出的基于卷积的算法。最后,我们通过实际实现验证理论结果,并将算法与已知最优结果进行比较。