TL;DR
This paper introduces Global Predecessor Indexing (GPI), a novel preprocessing method that replaces binary search in weighted job scheduling, achieving linear or near-linear time complexity and improving practical performance.
Contribution
The paper presents GPI, a new multi-phase preprocessing technique that computes job predecessors efficiently, enabling faster dynamic programming solutions for weighted job scheduling.
Findings
GPI reduces the time complexity to O(n) with linear-time sorting.
GPI outperforms classical binary search-based methods in practice.
The approach is cache-efficient and simplifies the DP recurrence.
Abstract
We present an improved solution to the Weighted Job Scheduling (WJS) problem. While the classical dynamic programming (DP) solution for jobs runs in time due to comparison-based sorting and per-job binary search, we eliminate the binary search bottleneck. In its place, we introduce a novel multi-phase preprocessing technique called \emph{Global Predecessor Indexing (GPI)}, which computes the latest non-overlapping job (i.e., the predecessor) for all jobs via a two-pointer linear-time pass after sorting. This yields a time complexity of where is the time to sort all jobs. GPI enables direct use in the classical DP recurrence. When combined with linear-time sorting, GPI yields a complete solution. Even with comparison-based sorting, GPI significantly outperforms the classical solution in practice by avoiding repeated binary searches in favor…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
