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 develop a fully dynamic algorithm with $O(\frac{\log{n}}{\varepsilon})$ update and $O(\log{n})$ query worst-case time. Further, we design a local computation algorithm that uses only $O(\frac{\log{N}}{\varepsilon})$ queries when all jobs are length at least $1$ and have starting/ending times within $[0,N]$. Our techniques are also applicable in a setting where jobs have rewards/weights. For this case we design a fully dynamic deterministic algorithm whose worst-case update and query time are $\operatorname{poly}(\log n,\frac{1}{\varepsilon})$. Equivalently, this is the first algorithm that maintains a $(1+\varepsilon)$-approximation of the maximum independent set of a collection of weighted intervals in $\operatorname{poly}(\log n,\frac{1}{\varepsilon})$ time updates/queries. This is an exponential improvement in $1/\varepsilon$ over the running time of a randomized algorithm of Henzinger, Neumann, and Wiese ~[SoCG, 2020], while also removing all dependence on the values of the jobs' starting/ending times and rewards, as well as removing the need for any randomness. We also extend our approaches for interval scheduling on a single machine to examine the setting with $M$ machines.
翻译:间距调度是算法理论中的一个基本问题, 而经典任务则是组合优化中的一个典型任务 。 我们开发了一套基于开始和结束时间对工作进行分区和分组的技术, 这使得我们能将许多工作的间距列表作为多个间隔时间的组合来查看, 每个都只包含几个任务 。 在动态和本地计算设置中验证这些技术会导致若干新的结果 。 对于 $ ( 1 <unk> varepsilon) 和 实现在单一机器上对 美元工作的配置, 我们开发了一套完全动态的计算法, 包括 $ (\\ reforcial_ logue{ varelogslall} 更新 和 $ (\\\ log{ r\\ r\\ n) 查询最坏的时间 。 此外, 我们设计了一个只使用 $ (\ laformax) 的计算算算法, 将所有工作的时间长度至少为 $ 1美元, 并在 $ 0. 0N] 中开始/ 。 我们的技术也适用于一个有回报/ 重量的工作设置。</s>