A prominent problem in scheduling theory is the weighted flow time problem on one machine. We are given a machine and a set of jobs, each of them characterized by a processing time, a release time, and a weight. The goal is to find a (possibly preemptive) schedule for the jobs in order to minimize the sum of the weighted flow times, where the flow time of a job is the time between its release time and its completion time. It had been a longstanding important open question to find a polynomial time $O(1)$-approximation algorithm for the problem and this was resolved in a recent line of work. These algorithms are quite complicated and involve for example a reduction to (geometric) covering problems, dynamic programs to solve those, and LP-rounding methods to reduce the running time to a polynomial in the input size. In this paper, we present a much simpler $(6+\epsilon)$-approximation algorithm for the problem that does not use any of these reductions, but which works on the input jobs directly. It even generalizes directly to an $O(1)$-approximation algorithm for minimizing the $p$-norm of the jobs' flow times, for any $0 < p < \infty$ (the original problem setting corresponds to $p=1$). Prior to our work, for $p>1$ only a pseudopolynomial time $O(1)$-approximation algorithm was known for this variant, and no algorithm for $p<1$. For the same objective function, we present a very simple QPTAS for the setting of constantly many unrelated machines for $0 < p < \infty$ (and assuming quasi-polynomially bounded input data). It works in the cases with and without the possibility to migrate a job to a different machine. This is the first QPTAS for the problem if migrations are allowed, and it is arguably simpler than the known QPTAS for minimizing the weighted sum of the jobs' flow times without migration.
翻译:暂无翻译