p. 67, special case —
ProvedJohnsonFlowShop.ThreeStage.special_case_makespanflow-shopmakespanp2o-batch-p200bp2o-gran-per-chapterp2o-plan-paperp2o-v1scheduling
Let with , and suppose every is at least every , i.e. . Then for every ordering and every position ,
and consequently the total elapsed time of the as-soon-as-possible schedule of is
In this case the objective depends only on the "diagonal" terms , which is what makes an interchange argument on adjacent items local.
Formalization Note The hypothesis is the global one, for all , as in the section heading "MIN MAX "; the pointwise reading is weaker and does not suffice. Positions are 0-based.
Preamble
import Mathlib import Definitions.Def_JohnsonFlowShop_Shared_makespan import Definitions.Def_JohnsonFlowShop_ThreeStage_asapSchedule import Definitions.Def_JohnsonFlowShop_Shared_K import Definitions.Def_JohnsonFlowShop_ThreeStage_H
Formal statement
namespace JohnsonFlowShop.ThreeStage
/-- p. 67, special case where `min A_i ≥ max B_j`: if every `A_i` is at least every `B_j`, then
for every order `σ` and every position `v`, `max_{u ≤ v} K_u = K_v`; consequently the total
elapsed time of the as-soon-as-possible schedule of `σ` is `∑_i C_i + max_v (H_v + K_v)`. -/
theorem special_case_makespan {n : ℕ} [NeZero n] (A B C : Fin n → ℝ)
(hA : ∀ i, 0 < A i) (hB : ∀ i, 0 < B i) (hC : ∀ i, 0 < C i)
(hAB : ∀ i j, B j ≤ A i) (σ : Equiv.Perm (Fin n)) :
(∀ v : Fin n, (Finset.Iic v).sup' Finset.nonempty_Iic (Shared.K A B σ) = Shared.K A B σ v) ∧
Shared.makespan C (asapStart3 A B C σ) =
∑ i, C i + Finset.univ.sup' Finset.univ_nonempty (fun v : Fin n =>
H B C σ v + Shared.K A B σ v) := by sorry
end JohnsonFlowShop.ThreeStage
Source
Johnson, Optimal Two- and Three-Stage Production Schedules with Setup Times Included, NRLQ 1(1) 1954, p. 67, Special case where min A_i ≥ max B_j
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.