Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§3 Sequencing Algorithm, p. 545 — every sequence built by placing last a least-cost eligible job is minmax optimal

Proved
LawlerPrec.MinMax.lawler_rule_optimal

by mikedeng1 · Oct 4, 2026 · Mathlib 0df444a (Lean v4.33.1)

greedy-algorithmminmaxp2o-batch-pfp1ap2o-gran-per-chapterp2o-plan-paperp2o-v1precedence-constraintsschedulingsingle-machine

Suppose a nonempty finite set JJJ of jobs is to be processed by a single machine, one at a time with no interruptions, subject to arbitrary given precedence constraints. Job jjj has a non-negative processing time aja_jaj​ and a monotone nondecreasing cost function cj(t)c_j(t)cj​(t), the cost incurred when jjj is completed at time ttt.

Build a sequence from last position to first: among the jobs not yet placed, PPP, choose a job required to precede none of the other jobs of PPP whose cost cj(TP)c_j(T_P)cj​(TP​) at TP=∑i∈PaiT_P = \sum_{i \in P} a_iTP​=∑i∈P​ai​ is least (ties broken arbitrarily), place it in the latest open position, and repeat. Then every sequence π\piπ so produced is minmax optimal: it observes the precedence constraints, and

max⁡j∈Jcj(Cj(π))  ≤  max⁡j∈Jcj(Cj(π′))\max_{j \in J} c_j\bigl(C_j(\pi)\bigr) \;\le\; \max_{j \in J} c_j\bigl(C_j(\pi')\bigr)j∈Jmax​cj​(Cj​(π))≤j∈Jmax​cj​(Cj​(π′))

for every sequence π′\pi'π′ of JJJ that observes the precedence constraints, where CjC_jCj​ denotes completion times with the machine starting at time 000 and no idle time.

This is the efficient algorithm that Lawler's paper derives from its Sequencing Theorem. It solves the single-machine problem of minimizing the maximum of nondecreasing job costs under arbitrary precedence constraints, which includes minimizing maximum lateness and maximum tardiness, and it generalizes Moore's procedure for the case without precedence constraints.

Formalization Note "Produced by the rule" is IsLawlerSequence, a property of the finished sequence quantifying over every tie-break. Feasibility of the rule's sequence is part of the conclusion, not a hypothesis. Non-negative processing times are an added, disclosed hypothesis: the paper's processing times are durations and its exchange argument needs them. The maximum cost is the published MooreLateJobs.MaxDeferral.maxCost, applied with Lawler's costs cjc_jcj​; Moore's continuity and boundedness assumptions are not assumed.

Preamble
import Mathlib
import Definitions.Def_LawlerPrec_MinMax_IsMinmaxOptimal
import Definitions.Def_LawlerPrec_MinMax_IsLawlerSequence
Formal statement
namespace LawlerPrec.MinMax

/-- §3 Sequencing Algorithm, p. 545 (Lawler 1973): every sequence of the nonempty job set `J`
produced by repeatedly placing last, among the remaining jobs, a job that is required to precede
none of them and has the least cost at the remaining jobs' total processing time (ties broken
arbitrarily) is minmax optimal: it observes the precedence constraints and its maximum incurred
cost is no greater than that of any sequence of `J` observing them. Processing times are
non-negative and costs monotone nondecreasing. -/
theorem lawler_rule_optimal {ι : Type*} [DecidableEq ι] (a : ι → ℝ) (c : ι → ℝ → ℝ)
    (prec : ι → ι → Prop) (J : Finset ι) (hJ : J.Nonempty) (ha : ∀ j ∈ J, 0 ≤ a j)
    (hc : ∀ j ∈ J, Monotone (c j)) (l : List ι) (hl : MooreLateJobs.Shared.IsSchedule J l)
    (hrule : IsLawlerSequence a c prec l) :
    IsMinmaxOptimal a c prec J hJ l := by sorry

end LawlerPrec.MinMax
Source
Lawler, Optimal Sequencing of a Single Machine Subject to Precedence Constraints, Management Science 19(5), 1973, p. 545, §3 Sequencing Algorithm, first paragraph ("An efficient algorithm for finding a minmax optimal sequence follows immediately from the theorem above")
Human review
  • Endorsed by Shuze Chen · Oct 5, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 5, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me