New Partitioning Techniques and Faster Algorithms for Approximate Interval Scheduling

12/30/2020
by   Spencer Compton, et al.
0

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+ε)-approximation of job scheduling of n jobs on a single machine, we obtain a fully dynamic algorithm with O(logn/ε) update and O(logn) query worst-case time. Further, we design a local computation algorithm that uses only O(logn/ε) queries. Our techniques are also applicable in a setting where jobs have rewards/weights. For this case we obtain a fully dynamic algorithm whose worst-case update and query time has only polynomial dependence on 1/ε, 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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset