We revisit the single-machine problem $1\mid\mid\sum U_j$ through Moore's shortest-processing-time insertion rule: scan jobs from shortest to longest and accept a job whenever the accepted set remains feasible. A direct implementation checks every relevant deadline prefix for every candidate and is quadratic. For a job set $Y$, let $\operatorname{Slack}(Y)$ be its least deadline-prefix gap when viewed in isolation. If the accepted set is $X$, then a candidate with processing time $p$ and deadline $d$ can be added exactly when \[ \operatorname{Proc}(X_{<d})+p \leq \min\{d,\operatorname{Slack}(X_{\geq d})\}. \] An augmented balanced search tree stores only the total work and intrinsic slack of each subtree. These two-number summaries form an associative ordered-block monoid. A read-only ${\rm CAN-ADD}(d,p)$ query follows one root-to-leaf path: right turns accumulate work due by $d$, while left turns certify the current deadline and the skipped right subtree. Together with a signed point update ${\rm ADD}(d,Δ)$, this gives $O(\log(q+2))$ worst-case time for $q$ stored deadlines. After sorting, the greedy scan takes $O(n\log(k+2))$ time, where $k$ is the number of distinct deadlines in the output, and $O(n\log n)$ time overall. Rejected jobs do not modify the tree. We also characterize every acceptance prefix over all tie orders. For each attainable cardinality, these prefixes are exactly the minimum-work feasible sets and have a componentwise-minimum sorted processing-time vector. Equal-processing-time choices form chain-presented laminar matroids; all minimum-work prefixes form their ordered sum and, more strongly, a local poset greedoid. A maximum-flow model yields a polymatroid rank function whose contracted, scaled increments recover the complete rank functions of the tier matroids.
翻译:暂无翻译