New Partitioning Techniques and Faster Algorithms for Approximate Interval Scheduling
Abstract
Interval scheduling is a basic problem in the theory of algorithms and a classical task in combinatorial optimization. We develop a set of techniques for partitioning and grouping jobs based on their starting and ending times, that enable us to view an instance of interval scheduling on many jobs as a union of multiple interval scheduling instances, each containing only a few jobs. Instantiating these techniques in dynamic and local settings of computation leads to several new results. For $(1+\varepsilon)$approximation of job scheduling of $n$ jobs on a single machine, we obtain a fully dynamic algorithm with $O(\frac{\log{n}}{\varepsilon})$ update and $O(\log{n})$ query worstcase time. Further, we design a local computation algorithm that uses only $O(\frac{\log{n}}{\varepsilon})$ queries. Our techniques are also applicable in a setting where jobs have rewards/weights. For this case we obtain a fully dynamic algorithm whose worstcase update and query time has only polynomial dependence on $1/\varepsilon$, which is an exponential improvement over the result of Henzinger et al. [SoCG, 2020]. We extend our approaches for unweighted interval scheduling on a single machine to the setting with $M$ machines, while achieving the same approximation factor and only $M$ times slower update time in the dynamic setting. In addition, we provide a general framework for reducing the task of interval scheduling on $M$ machines to that of interval scheduling on a single machine. In the unweighted case this approach incurs a multiplicative approximation factor $2  1/M$.
 Publication:

arXiv eprints
 Pub Date:
 December 2020
 arXiv:
 arXiv:2012.15002
 Bibcode:
 2020arXiv201215002C
 Keywords:

 Computer Science  Data Structures and Algorithms