A Functional Equation and Its Application to Resource Allocation and Sequencing Problems 2: Under Precedence Constraints, All Deadlines Can Be Met iff They Are Met in Order of Modified DeadlinesResearch Paper
Motivation
A single machine must process jobs, each with a processing time and a deadline, and some jobs must be finished before others may start. The first question of any planner is whether the deadlines can be met at all. Without precedence constraints the answer is classical: Jackson's rule (J. R. Jackson, 1955, reported by W. E. Smith, 1956) says that all jobs can be completed on time if and only if they are completed on time when sequenced by earliest deadline first. Precedence constraints break this rule, because the earliest-deadline order may put a job before one of its required predecessors.
E. L. Lawler and J. M. Moore (Management Science 16 (1969) 77–84) repair the rule by replacing each deadline by a modified deadline that accounts for the deadlines of the job's successors. Their §2 Theorem says that a single sequence, the one in increasing order of modified deadlines, decides feasibility. They use it as the first step of their dynamic programming method for sequencing with deadlines and precedence constraints: because the sequence does not depend on processing times, the jobs to be scheduled on time can always be taken in this one fixed order.
Setting
There are jobs . Job has a processing time and a deadline . A sequence lists every job exactly once; the machine starts at time and processes the jobs in the order of , one after another, without idle time. The completion time of job is the sum of the processing times of and of all jobs before it in . Job is on time in if .
Precedence constraints are a partial order on the jobs (reflexive, antisymmetric, transitive). If and , job must precede job ; such a is a successor of , and every job counts as one of its own successors. A sequence is consistent with if no job appears before a job that must precede it. The jobs are numbered so that implies .
For a number the modified deadline of job is
the earliest deadline among and its successors, plus a tie-breaking term. The paper takes to be "a small number"; here that means and whenever .
Formalization targets
Goal: the §2 Theorem (p. 78)
Let be the sequence in which increases. Then
Milestones (from §2 and the proof of the Theorem, p. 78)
- For distinct jobs, .
- The sequence is consistent with (the "if" part of the Theorem).
- If , then or some successor of has .
- In an on-time sequence consistent with , two adjacent jobs (in this order) with can be interchanged, and the result is again on time and consistent with .
Significance
The Theorem reduces a question over all sequences consistent with to the evaluation of one sequence, and the sequence depends only on the deadlines and on , not on the processing times. This independence is what the paper's later sections rely on: it lets a subset-selection dynamic program (Eq. (1) of the paper) process jobs in a fixed order. Without precedence constraints ( the identity) the Theorem is Jackson's rule. The operational form, "always take next, from among the available jobs, a job which has a successor with the earliest possible deadline", is a list-scheduling rule of the same kind as the backward rule of Lawler (1973) for .
The result has been proved on paper since 1969. As far as is known it has no machine-checked proof. This mission produces a formal proof of the Theorem and of the exchange step behind it, stated on the same sequence and completion-time model as the platform's existing single-machine scheduling missions.
Difficulty
The obvious argument is the exchange argument for Jackson's rule: swap an adjacent pair that is out of order and check that nothing becomes late. Two things fail without care. First, the swap must not violate precedence; this is why the deadline of a job is replaced by the minimum over its successors. Second, after the swap, job completes when job used to complete, but need not be at least : one must find a successor of that is later in the sequence, on time, and due no later than . That step uses the smallness of : with a large the tie-breaking term outweighs a difference of deadlines, and the Theorem fails (three jobs without precedence, , , ). Finally, the exchange step must be turned into a terminating transformation of an arbitrary feasible sequence into , a bubble-sort argument over lists.
Formalization scope
- Jobs are
Fin n, 0-based: the Lean jobjis the paper's job , and the tie-break is . Processing times and deadlines are real. - Sequences and completion times are the published platform definitions
MooreLateJobs.Shared.IsScheduleandMooreLateJobs.Shared.completionTime(a duplicate-free list of all jobs; start at time , no idle time). Idle time never helps meet a deadline, so this loses nothing. Consistency with is the publishedLawlerPrec.MinMax.IsFeasible. - The modified deadline minimizes over
insert j {k | ρ j k}, which is nonempty; for the reflexive of the paper this is ("considering a job to be one of its own successors"). - Explicit readings of the paper's phrases:
- " is a small number": and whenever . A fixed is quantified universally, not hidden under an existential.
- "the sequence obtained by ordering jobs according to increasing values of ": any duplicate-free list of all jobs along which strictly increases. Under the hypotheses the are distinct, so exactly one such list exists.
- "iρj implies ": stated for , since is reflexive.
- The pair condition "a consecutive pair with " of milestone 3 is dropped, since the claim does not use it.
- Added hypothesis: . The paper uses it tacitly (" will remain on time since it will be earlier in the sequence") and the Theorem is false without it.
- The milestones assume only what they use (for instance, milestone 1 needs transitivity, the numbering and ). The goal assumes the full partial order of the paper.
- Trivializing formalizations ruled out: or an unconstrained ; a minimum over a possibly empty set, which Lean would assign a junk value; completion times not tied to the order of the list; and dropping "consistent with the precedence constraints" from the left-hand side, which turns the Theorem into a false variant of Jackson's rule.
- Not in scope: the "order of computational steps" remarks, §3 and the later sections (other missions of this series).
Related platform items: Jackson's rule for unrestricted jobs is already posed as MooreLateJobs.NumLate.jackson (Moore 1968) and is not re-posed here; Lawler's theorem is posed as LawlerPrec.MinMax.sequencing_theorem. Contributions welcome: general list-exchange lemmas (adjacent swaps, bubble-sort termination toward a sorted list) are reusable well beyond this mission.
Selected references
- E. L. Lawler, J. M. Moore, A Functional Equation and Its Application to Resource Allocation and Sequencing Problems, Management Science 16(1) (1969) 77–84. https://doi.org/10.1287/mnsc.16.1.77
- J. R. Jackson, Scheduling a Production Line to Minimize Maximum Tardiness, Research Report 43, Management Science Research Project, UCLA, 1955.
- W. E. Smith, Various Optimizers for Single-Stage Production, Naval Research Logistics Quarterly 3 (1956) 59–66. https://doi.org/10.1002/nav.3800030106
- E. L. Lawler, Optimal Sequencing of a Single Machine Subject to Precedence Constraints, Management Science 19(5) (1973) 544–546. https://doi.org/10.1287/mnsc.19.5.544