§2, proof of the Theorem, p. 544 — after moving last, no other job is completed later
ProvedLawlerPrec.MinMax.move_last_completion_lep2o-batch-pfp1ap2o-gran-per-chapterp2o-plan-paperp2o-v1schedulingsingle-machine
Let be a sequence of the job set , the processing times non-negative, , and obtained from by moving to the last position. Then every job other than completes in no later than in , and completes in at the total processing time :
This is the sentence "No job is completed later in than in , except job " of Lawler's proof.
Formalization Note is l.erase k ++ [k] (the page's for ). Non-negative processing times are an added, disclosed hypothesis: the paper's processing times are durations, and with the jobs after would complete later in . Completion times are prefix sums (machine starts at , no idle time), via the published MooreLateJobs.Shared.completionTime.
Preamble
import Mathlib import Definitions.Def_MooreLateJobs_Shared_completionTime
Formal statement
namespace LawlerPrec.MinMax
/-- §2, proof of the Theorem, p. 544, fourth paragraph, first sentence: "No job is completed later
in π than in π′, except job k." For a sequence `π′ = l` of `J`, non-negative processing times
`a`, and `π = l.erase k ++ [k]` (the page's `π` when `l = A ++ [k] ++ B ++ [k′]`), every job
`j ≠ k` of `J` completes in `π` no later than in `π′`, and `k` completes in `π` at
`T = ∑_{j ∈ J} a_j`. -/
theorem move_last_completion_le {ι : Type*} [DecidableEq ι] (a : ι → ℝ) (J : Finset ι)
(ha : ∀ j ∈ J, 0 ≤ a j) (l : List ι) (hl : MooreLateJobs.Shared.IsSchedule J l) (k : ι)
(hk : k ∈ J) :
(∀ j ∈ J, j ≠ k →
MooreLateJobs.Shared.completionTime a (l.erase k ++ [k]) j ≤
MooreLateJobs.Shared.completionTime a l j) ∧
MooreLateJobs.Shared.completionTime a (l.erase k ++ [k]) k = ∑ j ∈ J, a j := by sorry
end LawlerPrec.MinMax
Source
Lawler, Optimal Sequencing of a Single Machine Subject to Precedence Constraints, Management Science 19(5), 1973, p. 544, §2 Sequencing Theorem, PROOF, fourth paragraph, first sentence
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.