Scheduling $n$ jobs with deadlines and processing times on a single resource to minimize late jobs equates to finding a maximum-cardinality feasible subset. Moore (1968) proposed a natural greedy algorithm for this: process jobs in nondecreasing order of processing time, adding each if the set remains feasible. While Zhao and Yuan recently matched the $O(n\log n)$ time of the classic Moore-Hodgson algorithm via amortized $O(\log n)$ feasibility queries, our first contribution is a simpler augmented BST data structure that achieves worst-case $O(\log n)$ query time. Moore's greedy algorithm is known to produce a maximum-cardinality feasible subset with minimum total processing time. Though the system of feasible subsets does not form a matroid, the algorithm behaves like a matroid greedy algorithm. Our second contribution explains this phenomenon: if all jobs have equal processing times, the problem corresponds to a nested matroid; with distinct processing time "tiers," Moore's algorithm effectively solves a sequence of nested matroid problems for each tier. Finally, we present an explicit linear-size flow network defining a polymatroid rank. A set is feasible exactly when its rank equals its total processing time, and Moore's algorithm accepts a job precisely when it yields its full processing-time marginal. By contracting shorter accepted jobs and measuring residual rank, we recover the tier matroid's complete rank function, offering a deep structural explanation for the greedy algorithm's correctness.
翻译:暂无翻译