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.
翻译:在可变工作时间安排问题中, 需要将一组美元的工作分配到 $1 的机器上, 以便最大限度地减少处理所有工作所需的时间。 每个工作都是可变的, 这样它不仅可以被指派给一个, 任何数量相等的机器。 我们假设每个工作的工作都是单调的, 并且可以不连续地设置工作。 在这项工作中, 我们提出一个$( for 3 2 +\ eepsilon) 的配置算法, 以最坏的运行时间 $( O (n log2) 美元 (form) 来最小的运行时间, 来最小的运行时间值 1 美元 。 当我们通过运行 美元 美元 和 美元 美元 的运行和 美元 美元 的运行时间, 新的算法可以降低。</s>