Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Collections

Scheduling Theory

Machine, flowshop, jobshop and project scheduling: optimality of classic rules, complexity reductions, and approximation guarantees.

70 missions

Missions

61–70 of 70
OpenCompletedAll
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Optimization and Approximation in Deterministic Sequencing and Scheduling: A Survey 2: The Optimal Preemptive Open Shop Makespan Equals the Largest Machine Load or Job LengthResearch Paper

Motivation

Open shops model production and service systems in which every job must visit every machine, but the order of the visits is free: a car that needs an inspection, a wash and a tyre change, a patient who needs several tests, a student who sits several exams. The survey of Graham, Lawler, Lenstra and Rinnooy Kan (Ann. Discrete Math. 5, 1979) fixed the three-field notation α∣β∣γ\alpha|\beta|\gammaα∣β∣γ that the scheduling literature still uses, and classified the complexity of the problems it can express. Among the polynomially solvable cases, the preemptive open shop with makespan objective, O∣pmtn∣Cmax⁡O|pmtn|C_{\max}O∣pmtn∣Cmax​, is one of the few multi-machine problems whose optimal value has a closed form for any number of machines and jobs.

Timeline.

  • 1976: Gonzalez and Sahni (J. ACM 23) prove that the optimal preemptive open-shop makespan is the largest machine load or job length, and give a polynomial algorithm. In the same paper they solve O2∥Cmax⁡O2\|C_{\max}O2∥Cmax​ in linear time and show O3∥Cmax⁡O3\|C_{\max}O3∥Cmax​ NP-hard.
  • 1978: Lawler and Labetoulle (J. ACM 25) give a linear-programming treatment of preemptive scheduling on unrelated machines and reformulate the open-shop construction in terms of decrementing sets, found by an assignment problem through the Birkhoff–von Neumann theorem.
  • 1979: the survey (§5.2.2, p. 313) presents this construction as the standard argument and records the O(r+min⁡{m4,n4,r2})O(r+\min\{m^4,n^4,r^2\})O(r+min{m4,n4,r2}) bound of Gonzalez (1976), where rrr is the number of nonzero processing times.

Setting

There are mmm machines M1,…,MmM_1,\dots,M_mM1​,…,Mm​ and nnn jobs J1,…,JnJ_1,\dots,J_nJ1​,…,Jn​. Job JjJ_jJj​ consists of operations O1j,…,OmjO_{1j},\dots,O_{mj}O1j​,…,Omj​; operation OijO_{ij}Oij​ must be processed on machine MiM_iMi​ for pij≥0p_{ij}\ge 0pij​≥0 time units. The processing-time matrix is P=(pij)P=(p_{ij})P=(pij​): its rows are machines and its columns are jobs. Every job is available at time 000.

Preemption is allowed: an operation may be interrupted and resumed later. A schedule is a finite list of pieces (i,j,s,e)(i,j,s,e)(i,j,s,e), each meaning that MiM_iMi​ processes JjJ_jJj​ during [s,e)[s,e)[s,e). A schedule is feasible if

  1. every piece satisfies 0≤s≤e0\le s\le e0≤s≤e;
  2. each machine processes at most one job at a time, and each job is processed on at most one machine at a time: two pieces that share a machine or a job do not overlap;
  3. for every pair (i,j)(i,j)(i,j) the pieces of OijO_{ij}Oij​ have total length exactly pijp_{ij}pij​.

The makespan Cmax⁡C_{\max}Cmax​ is the time at which the last piece ends, and Cmax⁡∗C^*_{\max}Cmax∗​ is its minimum over feasible schedules. The load of machine MiM_iMi​ is the row sum ∑jpij\sum_j p_{ij}∑j​pij​, the length of job JjJ_jJj​ is the column sum ∑ipij\sum_i p_{ij}∑i​pij​, and

C=max⁡{max⁡j∑ipij, max⁡i∑jpij}.C=\max\Big\{\max_j \sum_i p_{ij},\ \max_i \sum_j p_{ij}\Big\}.C=max{jmax​i∑​pij​, imax​j∑​pij​}.

A row or column is tight if its sum equals CCC and slack otherwise. A decrementing set is a set SSS of strictly positive entries of PPP with exactly one element in each tight row and each tight column and at most one in each slack row and each slack column.

Formalization targets

Goal: Cmax⁡∗=CC^*_{\max}=CCmax∗​=C

For every T≥0T\ge 0T≥0,

(∃ feasible schedule with Cmax⁡≤T)  ⟺  (∑jpij≤T ∀i  and  ∑ipij≤T ∀j).\big(\exists \text{ feasible schedule with } C_{\max}\le T\big)\iff \Big(\sum_j p_{ij}\le T\ \forall i\ \text{ and }\ \sum_i p_{ij}\le T\ \forall j\Big).(∃ feasible schedule with Cmax​≤T)⟺(j∑​pij​≤T ∀i  and  i∑​pij​≤T ∀j).

This says that the optimal makespan is exactly the largest machine load or job length, and that it is attained.

Milestones (all from §5.2.2, p. 313)

  1. Lower bound Cmax⁡∗≥CC^*_{\max}\ge CCmax∗​≥C.
  2. Existence of a decrementing set for every nonzero nonnegative PPP.
  3. Positive step: for a decrementing set, the largest δ\deltaδ satisfying the constraints (1)–(3) of the survey exists and is positive.
  4. Step property: after replacing each pij∈Sp_{ij}\in Spij​∈S by max⁡{0,pij−δ}\max\{0,p_{ij}-\delta\}max{0,pij​−δ}, the largest line sum is exactly C−δC-\deltaC−δ.
  5. Partial schedule: for each pij∈Sp_{ij}\in Spij​∈S, MiM_iMi​ processes JjJ_jJj​ for min⁡{pij,δ}\min\{p_{ij},\delta\}min{pij​,δ} time units, with no machine or job used twice.
  6. Termination: every run of the procedure reaches P′=(0)P'=(0)P′=(0) within a bounded number of stages.
  7. Joining: the concatenated partial schedules form a feasible schedule with Cmax⁡≤CC_{\max}\le CCmax​≤C.

Significance

The result. The theorem turns an optimization over continuous-time schedules into the computation of m+nm+nm+n sums. It certifies optimality by a counting argument, it is the base case for preemptive open shops with release dates and due dates, and it is used elsewhere in the survey (§4.4.6) to reduce problems on unrelated machines with preemption to open-shop instances. Because a nonnegative matrix whose row and column sums are all equal is a multiple of a doubly stochastic matrix, the theorem is a scheduling form of the Birkhoff–von Neumann decomposition. It also underlies timetabling and edge-colouring results for bipartite multigraphs.

Formalizing it. The theorem has been proved since 1976 and is textbook material. No machine-checked proof is known to exist: Mathlib has the Birkhoff–von Neumann theorem for doubly stochastic matrices but no model of open-shop schedules. A formalization adds a reusable model of preemptive multi-machine schedules with both disjointness requirements, a checked proof of the decrementing-set construction, and a termination argument the survey asserts without proof.

Difficulty

The lower bound is a one-line counting argument. The difficulty is the construction of a schedule of length exactly CCC. Scheduling each machine's operations back to back gives length max⁡i∑jpij\max_i\sum_j p_{ij}maxi​∑j​pij​, but may run one job on two machines at once. Scheduling job by job has the symmetric defect. A greedy list schedule that only respects both constraints can leave machines idle and overshoot CCC. The construction must keep every tight line busy at every moment while never letting a slack line fall behind. The existence of the decrementing set at each stage is the combinatorial core: it is a Hall-type matching condition, not a local choice. Termination is also not automatic, because a careless choice of step length can produce infinitely many shrinking steps.

Formalization scope

All objects live in the namespace SchedSurvey.OPmtn. Machines and jobs are Fin m and Fin n, both 0-based, and processing times and piece endpoints are real numbers; integer data are a special case. A schedule is a List of pieces. Feasibility requires nonnegative start times, disjointness for pieces sharing a machine or a job (touching intervals allowed), and exactly pijp_{ij}pij​ units of processing for every pair (i,j)(i,j)(i,j). Every theorem assumes pij≥0p_{ij}\ge 0pij​≥0.

"CCC is the maximum" is the predicate IsMaxLoad P C: all line sums are at most CCC and one equals CCC. The goal is stated in threshold form and mentions no maximum at all. The display defining CCC on p. 313 prints max⁡i{∑ipij}\max_i\{\sum_i p_{ij}\}maxi​{∑i​pij​} for the second term; the following sentence shows it means the row sums ∑jpij\sum_j p_{ij}∑j​pij​, and the formalization uses those. The hypothesis T≥0T\ge 0T≥0 matters only for P=0P=0P=0, where the empty schedule finishes by every TTT.

A trivializing formalization is ruled out: the goal mentions neither decrementing sets nor δ\deltaδ. Its "if" direction asserts that a schedule exists. Feasibility counts work per pair (machine, job), not per job, and forbids a job from running on two machines at once. Without either requirement the statement would be a different and easier theorem.

A complete development needs: list sums of interval lengths over disjoint intervals, the existence of decrementing sets (via Birkhoff–von Neumann, König's theorem or Hall's theorem on the bipartite graph of positive entries), the step and termination lemmas, and concatenation of schedules. The schedule model and the decrementing-set lemma are reusable for other preemptive shop problems. Contributions of alternative proofs of any milestone, for example a direct Hall-theorem proof of the existence of decrementing sets, are welcome.

Selected references

  • R. L. Graham, E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kan, Optimization and approximation in deterministic sequencing and scheduling: a survey, Annals of Discrete Mathematics 5 (1979) 287–326. https://doi.org/10.1016/S0167-5060(08)70356-X
  • T. Gonzalez, S. Sahni, Open shop scheduling to minimize finish time, Journal of the ACM 23 (1976) 665–679. https://doi.org/10.1145/321978.321985
  • E. L. Lawler, J. Labetoulle, On preemptive scheduling of unrelated parallel processors by linear programming, Journal of the ACM 25 (1978) 612–619. https://doi.org/10.1145/322077.322090
9 thms1 active userReviewed
CombinatoricsOperations ResearchTheoretical Computer Science·Captain: mikedeng1

Flowshop and Jobshop Schedules: Complexity and Approximation 1: The Partition Flow Shop on Three Machines Has a Schedule of Finish Time 2T, Preemptive or Not, Iff a Partition ExistsResearch Paper

Motivation

Shop scheduling asks how to process a set of jobs, each a sequence of tasks on prescribed machines, so that all work is completed as early as possible. The flow shop, in which every job visits the machines in the same order, is the most studied of these models in operations research. For two machines, Johnson's rule (1954) computes a schedule of minimum finish time in O(nlog⁡n)O(n\log n)O(nlogn) time, and for two machines allowing interruptions (preemption) does not help. Garey, Johnson and Sethi (Math. Oper. Res. 1976) and Brucker, Lenstra and Rinnooy Kan (Mathematisch Centrum report BW 43/75, 1975; Ann. Discrete Math. 1977) showed that the non-preemptive problem becomes NP-complete with three machines.

Gonzalez and Sahni (Operations Research, 1978) extended this picture to preemptive schedules. Their Theorem 1 shows that minimizing the finish time of a three-machine flow shop is NP-complete with or without preemption, even when every job has at most two tasks of nonzero length. When every job has only one task the problem is trivial, so this is the simplest NP-complete case of the flow-shop finish-time problem. The result explains why no exact polynomial algorithm is expected and motivates the approximation results in the second half of the same paper.

Timeline:

  • 1954: Johnson, two-machine flow shop, optimal non-preemptive rule.
  • 1975: Brucker, Lenstra, Rinnooy Kan: non-preemptive three-machine flow shop NP-complete, including the case of two nonzero tasks per job (the paper's Corollary 1, which it says "is also obtained in [1]").
  • 1976: Garey, Johnson, Sethi: non-preemptive three-machine flow shop NP-complete even when the problem size is the sum of the task lengths.
  • 1978: Gonzalez, Sahni: the preemptive three-machine flow shop is NP-complete, by a reduction from PARTITION that also covers the non-preemptive case with two nonzero tasks per job.

Setting

A flow shop has m≥1m\ge1m≥1 processors P1,…,PmP_1,\dots,P_mP1​,…,Pm​ and a finite set of jobs. Task jjj of job iii must be processed on PjP_jPj​ for tj,i≥0t_{j,i}\ge 0tj,i​≥0 time units, and it can start only after task j−1j-1j−1 of the same job is completed. Task times may be zero. The schedule starts at time 000.

A preemptive schedule gives every task a finite set of pieces (s,f)(s,f)(s,f) with 0≤s<f0\le s<f0≤s<f: the task is processed on its processor during [s,f)[s,f)[s,f). Pieces on the same processor do not overlap, the pieces of a task have total length tj,it_{j,i}tj,i​, and every piece of a task starts after every piece of the earlier tasks of the same job has ended. A non-preemptive schedule processes every task in at most one piece. For a schedule SSS, fi(S)f_i(S)fi​(S) is the time at which job iii is completed and the finish time is FT(S)=max⁡ifi(S)\mathrm{FT}(S)=\max_i f_i(S)FT(S)=maxi​fi​(S).

PARTITION. A multiset S={a1,…,an}S=\{a_1,\dots,a_n\}S={a1​,…,an​} of nonnegative integers has a partition if some set uuu of indices satisfies ∑i∈uai=12∑i=1nai\sum_{i\in u}a_i=\tfrac12\sum_{i=1}^n a_i∑i∈u​ai​=21​∑i=1n​ai​.

The instance FS. With T=∑iaiT=\sum_i a_iT=∑i​ai​, the flow shop FS\mathrm{FS}FS has m=3m=3m=3 processors and n+2n+2n+2 jobs:

t⋅,i=(ai,0,ai) (1≤i≤n),t⋅,n+1=(T/2, T, 0),t⋅,n+2=(0, T, T/2),t_{\cdot,i}=(a_i,0,a_i)\ (1\le i\le n),\qquad t_{\cdot,n+1}=(T/2,\,T,\,0),\qquad t_{\cdot,n+2}=(0,\,T,\,T/2),t⋅,i​=(ai​,0,ai​) (1≤i≤n),t⋅,n+1​=(T/2,T,0),t⋅,n+2​=(0,T,T/2),

and the threshold is τ=2T\tau=2Tτ=2T. Every job has at most two nonzero tasks.

Formalization targets

Goal: Theorem 1 (p. 38)

For every nnn and every a1,…,an∈Na_1,\dots,a_n\in\mathbb Na1​,…,an​∈N:

FS has at most two nonzero tasks per job,\mathrm{FS}\ \text{has at most two nonzero tasks per job},FS has at most two nonzero tasks per job, (∃ S′ preemptive, FT(S′)≤2T)  ⟺  S has a partition,\big(\exists\,S'\ \text{preemptive},\ \mathrm{FT}(S')\le 2T\big)\iff S\ \text{has a partition},(∃S′ preemptive, FT(S′)≤2T)⟺S has a partition, (∃ S′ non-preemptive, FT(S′)≤2T)  ⟺  S has a partition.\big(\exists\,S'\ \text{non-preemptive},\ \mathrm{FT}(S')\le 2T\big)\iff S\ \text{has a partition}.(∃S′ non-preemptive, FT(S′)≤2T)⟺S has a partition.

Milestones

  • Lemma 1(a) (p. 39): a partition of SSS yields a non-preemptive schedule of FS with FT=2T\mathrm{FT}=2TFT=2T (Figure 1).
  • Observations (i)–(ii) (p. 39): in any preemptive schedule with FT≤2T\mathrm{FT}\le 2TFT≤2T, task t1,n+1t_{1,n+1}t1,n+1​ ends by TTT and task t3,n+2t_{3,n+2}t3,n+2​ starts no earlier than TTT.
  • Lemma 1(b) (p. 39): if SSS has no partition, every preemptive schedule of FS has FT>2T\mathrm{FT}>2TFT>2T.
  • Lemma 1 (p. 38): the preemptive equivalence.
  • Corollary 1 (p. 39): the non-preemptive equivalence.

Significance

The result. The equivalence shows that a polynomial-time algorithm deciding whether a three-machine flow shop (with two nonzero tasks per job) has a schedule of finish time at most τ\tauτ, preemptive or not, would decide PARTITION in polynomial time. With membership in NP (the paper's Lemma 2) it gives NP-completeness of both versions. It also marks the boundary with the polynomial cases: m=2m=2m=2 (Johnson's rule), and jobs with a single task.

Formalizing it. The result is proved in the paper; nothing here is open. To our knowledge no machine-checked proof of this reduction exists, and the platform has no formal model of preemptive shop schedules. The mission produces one: a piece-based preemptive schedule with zero task times, which subsumes the non-preemptive case, together with the first formal NP-hardness reduction for preemptive flow shops on the platform.

Difficulty

Direction (a) asks for one explicit schedule. Direction (b) must rule out every preemptive schedule of FS, and preemption is exactly what makes this delicate: a task may be split into any finite number of pieces placed anywhere on its processor, so the naive intuition that a failed partition leaves "unusable gaps" is no longer evident, since pieces of different jobs can be interleaved to fill gaps. A correct argument must therefore be an accounting of processor time over the pieces, valid for any number and position of pieces, and it must treat zero-length tasks, which occupy no processor time but still delay the next task of their job. Finally, the non-preemptive equivalence is not a formal consequence of the preemptive one alone: it uses that (a) produces a non-preemptive schedule and that (b) holds for all preemptive schedules, which include the non-preemptive ones.

Formalization scope

  • Processors are Fin 3 (P1,P2,P3P_1,P_2,P_3P1​,P2​,P3​ = 0, 1, 2), jobs of FS are Fin n ⊕ Fin 2 (Sum.inr 0 is job n+1n+1n+1, Sum.inr 1 is job n+2n+2n+2). Task times are real numbers; the PARTITION data are a : Fin n → ℕ, and "has a partition" is 2∑i∈uai=∑iai2\sum_{i\in u}a_i=\sum_i a_i2∑i∈u​ai​=∑i​ai​ in N\mathbb NN.
  • A schedule is a Finset of pieces (s,f)(s,f)(s,f) per task with the four conditions of the Setting. Non-preemptive means at most one piece per task. Zero tasks have no pieces and occupy no processor time. fi(S)f_i(S)fi​(S) and FT(S)\mathrm{FT}(S)FT(S) are maxima with baseline 000.
  • Explicit constants: T=∑iaiT=\sum_i a_iT=∑i​ai​, the times T/2T/2T/2 and TTT of jobs n+1,n+2n+1,n+2n+1,n+2, and the threshold τ=2T\tau=2Tτ=2T, as on p. 39. Lemma 1(a) states finish time exactly 2T2T2T, as the paper does.
  • Not formalized: "NP-complete", the reducibility relation "α\alphaα", membership in NP (Lemma 2, p. 40) and the polynomial computability of FS from SSS. The paper states Theorem 1, Lemma 1 and Corollary 1 as complexity claims. Their proofs establish the equivalences above for the constructed instance, and those equivalences are what is formalized.
  • No trivializing reading is admitted: the statements concern the specific instance FS built from aaa, not an arbitrary flow shop, and the schedule model rules out overlapping pieces and out-of-order tasks while still allowing zero tasks. A sorry-free check confirms that Figure 1 is a valid non-preemptive schedule of FS for S={1,1}S=\{1,1\}S={1,1}.
  • Reusable beyond this mission: the flow-shop model with preemptive pieces, and PARTITION. Proofs of the milestones and a proof of the goal from them are welcome.

Selected references

  • T. Gonzalez, S. Sahni, Flowshop and Jobshop Schedules: Complexity and Approximation, Operations Research 26(1), 36–52, 1978. https://doi.org/10.1287/opre.26.1.36
  • M. R. Garey, D. S. Johnson, R. Sethi, The Complexity of Flowshop and Jobshop Scheduling, Mathematics of Operations Research 1(2), 117–129, 1976. https://doi.org/10.1287/moor.1.2.117
  • S. M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Research Logistics Quarterly 1(1), 61–68, 1954. https://doi.org/10.1002/nav.3800010110
  • P. Brucker, J. K. Lenstra, A. H. G. Rinnooy Kan, Complexity of Machine Scheduling Problems, Mathematisch Centrum report BW 43/75, 1975; Annals of Discrete Mathematics 1, 343–362, 1977. https://doi.org/10.1016/S0167-5060(08)70743-X
  • R. M. Karp, Reducibility among Combinatorial Problems, in Complexity of Computer Computations, Plenum, 85–103, 1972. https://doi.org/10.1007/978-1-4684-2001-2_9
9 thms1 active userReviewed
CombinatoricsOperations ResearchTheoretical Computer Science·Captain: mikedeng1

Flowshop and Jobshop Schedules: Complexity and Approximation 2: The 3-Partition Flow Shop on Three Machines Has a Preemptive Schedule of Finish Time 2tB Iff a 3-Partition ExistsResearch Paper

Motivation

A flow shop is the simplest multi-stage production model: every job passes through the same machines in the same order, and the question is how to sequence the work so that everything is finished as early as possible. Gonzalez and Sahni's 1978 paper in Operations Research settled the computational complexity of the preemptive version of this problem, in which a task may be interrupted and resumed later on the same machine. For two machines the optimal finish time is computed by Johnson's rule, and preemption does not help. The paper shows that with three machines the preemptive problem is already NP-complete, and its second result, Theorem 2, strengthens this to NP-completeness in the strong sense: the problem stays hard even when the task times are written in unary.

Strong NP-completeness matters because it rules out a pseudo-polynomial algorithm, one whose running time is polynomial in the sum of the task lengths. The preemptive three-machine flow shop (F3∣pmtn∣Cmax⁡F3\mid pmtn\mid C_{\max}F3∣pmtn∣Cmax​ in later notation) is a standard entry in complexity classifications of scheduling problems, and Theorem 2 is the reference for its status. The paper notes that Garey and Johnson obtained a proof independently.

Timeline. Johnson (1954) solved the two-machine flow shop. Garey, Johnson and Sethi (1976) proved the non-preemptive three-machine flow shop NP-complete in the strong sense. Gonzalez and Sahni (1978) treated the preemptive case: Theorem 1 (ordinary NP-completeness via Partition) and Theorem 2 (strong NP-completeness via 3-Partition), the subject of this mission.

Setting

A flow shop has m≥1m\ge 1m≥1 processors P1,…,PmP_1,\dots,P_mP1​,…,Pm​ and a finite set of jobs. Task jjj of job iii runs on PjP_jPj​ and takes time tj,i≥0t_{j,i}\ge 0tj,i​≥0; zero times are allowed. For each job, task j≥2j\ge 2j≥2 can begin only after task j−1j-1j−1 has been completed, and schedules start at time 000.

A preemptive schedule is given, as in the paper's footnote on p. 40, by finitely many pieces (s,f)(s,f)(s,f) per task: the task is processed on its processor during [s,f)[s,f)[s,f). Pieces have 0≤s<f0\le s<f0≤s<f, pieces on the same processor do not overlap, the pieces of a task have total length tj,it_{j,i}tj,i​, and a piece of task j′j'j′ starts only after every piece of every earlier task j<j′j<j'j<j′ of the same job has ended. A task has no preemption when it is processed in at most one piece; a non-preemptive schedule has no preemption anywhere. The completion time of job iii is fi(S)f_i(S)fi​(S), the end of its last piece, and the finish time is FT(S)=max⁡ifi(S)FT(S)=\max_i f_i(S)FT(S)=maxi​fi​(S).

3-Partition. An instance C=(a1,…,as,B)C=(a_1,\dots,a_s,B)C=(a1​,…,as​,B), s=3ts=3ts=3t, consists of a positive integer BBB and nonnegative integers aia_iai​ with ∑iai=tB\sum_i a_i=tB∑i​ai​=tB and B/4<ai<B/2B/4<a_i<B/2B/4<ai​<B/2. It has a 3-partition if {1,…,s}\{1,\dots,s\}{1,…,s} splits into ttt disjoint sets L1,…,LtL_1,\dots,L_tL1​,…,Lt​, each of three elements with ∑j∈Lkaj=B\sum_{j\in L_k}a_j=B∑j∈Lk​​aj​=B.

The instance FS. From CCC the proof of Lemma 4 builds a three-processor flow shop with s+t+2s+t+2s+t+2 jobs:

  • jobs 1,…,s1,\dots,s1,…,s: times (ai, 0, ai)(a_i,\,0,\,a_i)(ai​,0,ai​) on (P1,P2,P3)(P_1,P_2,P_3)(P1​,P2​,P3​);
  • job s+1s+1s+1: (0, 2B, B)(0,\,2B,\,B)(0,2B,B);
  • jobs s+i+1s+i+1s+i+1, 1≤i≤t−21\le i\le t-21≤i≤t−2: (B, 2B, B)(B,\,2B,\,B)(B,2B,B);
  • job s+ts+ts+t: (B, 2B, 0)(B,\,2B,\,0)(B,2B,0);
  • job s+t+1s+t+1s+t+1: (0, 0, B)(0,\,0,\,B)(0,0,B);
  • job s+t+2s+t+2s+t+2: (B, 0, 0)(B,\,0,\,0)(B,0,0).

Each processor carries total work exactly 2tB2tB2tB, and the threshold is τ=2tB\tau=2tBτ=2tB.

Formalization targets

Goal: Theorem 2, as Lemma 4's equivalence

For every 3-Partition instance CCC with t≥2t\ge 2t≥2,

∃ S preemptive schedule of FS: FT(S)≤2tB⟺C has a 3-partition,\exists\,S \text{ preemptive schedule of } FS:\ FT(S)\le 2tB \quad\Longleftrightarrow\quad C \text{ has a 3-partition},∃S preemptive schedule of FS: FT(S)≤2tB⟺C has a 3-partition,

and every task time of FSFSFS satisfies tj,i≤2Bt_{j,i}\le 2Btj,i​≤2B. The second clause records that the instance's numbers are bounded by those of CCC, the reduction's contribution to "the problem size being measured as the sum of the length of the tasks".

Milestones

  1. Lemma 3 (p. 40). For a flow shop with m≥1m\ge 1m≥1 processors, every preemptive schedule SSS can be replaced by a schedule S′S'S′ with no preemptions on P1P_1P1​ and on PmP_mPm​ and FT(S′)=FT(S)FT(S')=FT(S)FT(S′)=FT(S).
  2. Lemma 4(a) (p. 41). If CCC has a 3-partition, FSFSFS has a non-preemptive schedule with FT≤2tBFT\le 2tBFT≤2tB.
  3. First step of Lemma 4(b) (pp. 41–42). In every preemptive schedule of FSFSFS with FT≤2tBFT\le 2tBFT≤2tB, the jobs among 1,…,s1,\dots,s1,…,s whose P1P_1P1​ task is completed by time 2B2B2B have ∑t1,i=B\sum t_{1,i}=B∑t1,i​=B.
  4. Lemma 4(b) (pp. 41–42). If CCC has no 3-partition, every preemptive schedule of FSFSFS has FT>2tBFT>2tBFT>2tB.

Significance

The result. Theorem 2 places the preemptive three-machine flow shop among the strongly NP-hard scheduling problems, so no algorithm polynomial in the number of jobs and the total processing time exists unless P = NP. It also shows that allowing preemption, which makes several single-stage problems (such as P∣pmtn∣Cmax⁡P\mid pmtn\mid C_{\max}P∣pmtn∣Cmax​) easy, does not help for three-stage flow shops. Lemma 3, that preemptions on the first and last machines can be removed without changing the finish time, holds for any number of machines and is a reusable structural fact about flow-shop schedules.

Formalizing it. The result is proved on paper, and its proof of the "only if" direction is an informal busy-processor argument repeated window by window. As far as is known, no part of it has a machine-checked proof. A formal development has to make the interval accounting rigorous: why each processor is busy throughout [0,2tB][0,2tB][0,2tB], why exactly BBB units of element jobs end on P1P_1P1​ by 2B2B2B, and how the argument restarts on [2B,2tB][2B,2tB][2B,2tB]. Lemma 3 needs an exchange argument on piece representations. Both are new for the platform.

Difficulty

The direction "3-partition ⇒\Rightarrow⇒ schedule" is a direct construction. The hard direction is the converse. Preemption lets any task be split across many intervals, so the usual non-preemptive arguments, which reason about the order in which whole tasks run, do not apply directly. The paper's argument that the window [0,2B][0,2B][0,2B] must contain exactly three element jobs of total BBB on P1P_1P1​ depends on every processor being continuously busy, and turning "otherwise there is idle time" into a precise statement requires a careful account of which jobs are available to each processor at each moment. The induction on windows is then not a literal restriction of the schedule to a smaller instance, because pieces may cross the boundary at 2B2B2B.

Formalization scope

  • Times are real numbers; the 3-Partition data are natural numbers cast to R\mathbb RR. Processors are Fin m with P1=P_1=P1​= 0; in FSFSFS, P1,P2,P3P_1,P_2,P_3P1​,P2​,P3​ are 0, 1, 2.
  • The 3-Partition instance is the published ResourceScheduling.Chain.ThreePartition (0-based indices, t parts, b =B=B=B, Valid, HasSolution), whose definition is the paper's p. 37 problem.
  • Preemptive schedules are finite sets of pieces per task; precedence is required between every pair of tasks j<j′j<j'j<j′ of a job, so a zero task occupies no time and does not break the job's order. Finish time is a maximum over jobs with baseline 000, never an unattained supremum.
  • "No preemptions on PjP_jPj​" means at most one piece per task on PjP_jPj​.
  • Not formalized: "NP-complete", the reduction symbol ∝\propto∝, "the problem size being measured as the sum of the length of the tasks", and Lemma 2 (membership in NP). The goal states the equivalence Lemma 4 proves for the constructed instance, plus the bound tj,i≤2Bt_{j,i}\le 2Btj,i​≤2B on its task times.
  • Added hypothesis: t≥2t\ge 2t≥2. For t<2t<2t<2 the paper's job indices s+1s+1s+1 and s+ts+ts+t coincide with conflicting times, so the construction is undefined there.
  • The first step of Lemma 4(b) is read as: the sum of t1,it_{1,i}t1,i​ over element jobs whose P1P_1P1​ task has completed by time 2B2B2B equals BBB.
  • A trivializing formalization is ruled out: the schedules quantified over are all preemptive schedules of the specific instance FS(C)FS(C)FS(C), the threshold 2tB2tB2tB is explicit, and the validity conditions B/4<ai<B/2B/4<a_i<B/2B/4<ai​<B/2 are kept, so the schedule side cannot match the weaker "partition into ttt groups of sum BBB".

Contributions welcome: the interval-accounting lemmas (busy processors, work available before a time), Lemma 3's exchange argument, and the schedule of Figure 2.

Selected references

  • T. Gonzalez, S. Sahni, Flowshop and Jobshop Schedules: Complexity and Approximation, Operations Research 26(1):36–52, 1978. https://doi.org/10.1287/opre.26.1.36
  • M. R. Garey, D. S. Johnson, R. Sethi, The Complexity of Flowshop and Jobshop Scheduling, Mathematics of Operations Research 1(2):117–129, 1976. https://doi.org/10.1287/moor.1.2.117
  • S. M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Research Logistics Quarterly 1(1):61–68, 1954. https://doi.org/10.1002/nav.3800010110
  • M. R. Garey, D. S. Johnson, "Strong" NP-Completeness Results: Motivation, Examples, and Implications, Journal of the ACM 25(3):499–508, 1978. https://doi.org/10.1145/322077.322090
8 thms1 active userReviewed
CombinatoricsOperations ResearchTheoretical Computer Science·Captain: mikedeng1

Flowshop and Jobshop Schedules: Complexity and Approximation 4: The 3-Partition Job Shop on Two Machines Has a Schedule of Finish Time 2tB, Preemptive or Not, Iff a 3-Partition ExistsResearch Paper

Motivation

In a job shop, each job has an ordered list of tasks, and each task must use a specified machine. A production planner may be able to interrupt a task and resume it later, yet still be unable to find a short schedule efficiently. Gonzalez and Sahni studied how the ability to preempt changes the difficulty of minimizing the time at which all jobs are complete. Their 1978 paper establishes complexity results for flow shops and job shops and then examines approximation schedules when exact optimization is difficult (Gonzalez and Sahni, 1978).

This mission concerns the paper's two-machine construction from 3-PARTITION. It is the reduction used for their claim that finding an optimal preemptive or non-preemptive finish-time schedule remains NP-complete when input size is measured by the sum of task lengths. The formal target isolates the decision equivalence proved for the constructed instance. It gives solvers a precise schedule statement to establish without conflating the scheduling theorem with the separate complexity-class argument.

Setting

A 3-PARTITION input CCC comprises an integer t≥0t\ge0t≥0, a positive integer target BBB, and s=3ts=3ts=3t positive integer sizes a1,…,asa_1,\ldots,a_sa1​,…,as​. A valid input satisfies

∑i=1sai=tB,B/4<ai<B/2(1≤i≤s).\sum_{i=1}^{s}a_i=tB,\qquad B/4<a_i<B/2\quad(1\le i\le s).i=1∑s​ai​=tB,B/4<ai​<B/2(1≤i≤s).

It has a 3-partition when the sss indices can be assigned to ttt disjoint groups, each containing exactly three indices and having total size BBB. The strict bounds rule out groups of other cardinalities at that sum and are part of the source problem, not a convenience added for formalization. When t=0t=0t=0, the input has no sizes or groups and the empty grouping is a solution.

The paper builds a job shop JS(C)JS(C)JS(C) with machines P1,P2P_1,P_2P1​,P2​ and s+1s+1s+1 jobs. For 1≤i≤s1\le i\le s1≤i≤s, job iii has a task of length aia_iai​ on P1P_1P1​, followed by a task of length aia_iai​ on P2P_2P2​. The last job, s+1s+1s+1, has 2t2t2t tasks, each of length BBB. Its tasks alternate between the machines, starting on P2P_2P2​. This last order matters: reversing it would produce a different construction. The source gives the decision threshold τ=2tB\tau=2tBτ=2tB (Lemma 7, p. 44).

A non-preemptive schedule gives each task one continuous processing interval. A preemptive schedule may divide an operation into finitely many positive-length intervals. In either case, jobs obey their task order, distinct pieces on the same machine do not overlap, and processing starts at or after time zero. Write FT(S)FT(S)FT(S) for the time at which all tasks of schedule SSS have finished. The paper allows the same job to revisit a machine, as the final job does here.

Formalization targets

Lemma 7: the constructed instance

For every valid CCC, the main goal states both the paper's preemptive equivalence and the non-preemptive form established by its two directions:

∃S preemptive for JS(C):FT(S)≤2tB  ⟺  C has a 3-partition,∃S non-preemptive for JS(C):FT(S)≤2tB  ⟺  C has a 3-partition.\begin{aligned} \exists S\text{ preemptive for }JS(C): FT(S)\le2tB &\iff C\text{ has a 3-partition},\\ \exists S\text{ non-preemptive for }JS(C): FT(S)\le2tB &\iff C\text{ has a 3-partition}. \end{aligned}∃S preemptive for JS(C):FT(S)≤2tB∃S non-preemptive for JS(C):FT(S)≤2tB​⟺C has a 3-partition,⟺C has a 3-partition.​

The milestones follow the source's proof text: the schedule supplied by a solution in Lemma 7(a), the timing forced on the final job, the exclusion of short preemptive schedules in Lemma 7(b), and the preemptive equivalence stated in the proof. The final-job milestone describes the occupied time slots of the paper's Figure 4, independently of how many adjacent pieces a formal schedule uses.

Significance

The equivalence transfers the distinction between solvable and unsolvable 3-PARTITION inputs to an exact finish-time threshold in a job shop with only two machines. It also establishes the non-preemptive decision equivalence for this construction, because a solution yields a non-preemptive schedule while an unsolvable input rules out even the more permissive preemptive schedules. These facts supply the scheduling part of the paper's strong NP-completeness claim; membership in NP is handled separately by Lemma 6 (pp. 44–45).

The result is proved in the source paper. The work proposed here is a machine-checked development of its explicit reduction equivalence and the finite-piece scheduling model needed to state it. The milestone theorems expose statements that can be reused when formalizing other preemptive scheduling reductions. The shared job-shop instance and 3-PARTITION input are already published definitions; the particular reduction instance and preemptive schedule predicate are new local definitions.

Difficulty

Preemption makes a task's processing time distributable across intervals. Merely checking that each machine has enough total capacity does not characterize feasible schedules: every job's operations must still occur in order, and pieces of different jobs must avoid one another on each machine. The converse direction must constrain every preemptive schedule that meets the threshold, not only a schedule having the visual pattern in Figure 4. A schedule can also represent one uninterrupted interval as several adjacent pieces, so piece count alone cannot express the source's timing claim.

Formalization scope

Machines are Fin 2, with P1P_1P1​ numbered 000 and P2P_2P2​ numbered 111. Jobs are Fin (3t+1); the final job is index 3t3t3t. Its zero-based operation iii uses machine 111 for even iii and machine 000 for odd iii. The definition uses the published JobShopLTAS.Core.Instance for ordered operations, machines, real processing times, and non-preemptive feasibility. It uses the published ResourceScheduling.Chain.ThreePartition for t,B,ait,B,a_it,B,ai​, validity, and solutions. Those objects have the same conventions as the paper here. The local preemptive model uses finitely many positive-length pieces per task, whose durations sum exactly to that task's processing time. The threshold is the explicit real cast of 2tB2tB2tB; no real infimum or division by a possibly zero optimum appears.

The goal is specific to the instance the paper constructs from each valid input. A free job-shop instance, a freely chosen schedule, or an extra hypothesis that the input has a solution would erase the reduction's content. Validity carries B>0B>0B>0, total tBtBtB, and both strict bounds on each aia_iai​. The case t=0t=0t=0 remains in scope: the constructed job has no tasks and its finish-time threshold is zero. All existing tasks have positive length whenever the input is valid, so the published non-preemptive predicate's treatment of zero-length tasks does not affect this mission.

The paper states “3-Partition α\alphaα preemptive JOFT with m=2m=2m=2” and connects it to NP-completeness for preemptive and non-preemptive scheduling when complexity is measured by the sum of task lengths. The Lean theorem states the proof's two decision equivalences with constant 2tB2tB2tB and machine count 222. It does not formalize α\alphaα as a polynomial-time many-one reduction, the unary task-length measure, NP-completeness, or Lemma 6's NP-membership argument. Contributions that establish the reduction statements, the schedule construction, or general finite-piece scheduling facts are within scope.

Selected references

  • Teofilo Gonzalez and Sartaj Sahni, Flowshop and Jobshop Schedules: Complexity and Approximation, Operations Research 26(1), 1978, pp. 36–52. DOI: 10.1287/opre.26.1.36.
9 thms1 active userReviewed
Operations ResearchTheoretical Computer Science·Captain: mikedeng1

Flowshop and Jobshop Schedules: Complexity and Approximation 5: Sequencing Jobs by Shortest Total Processing Time Gives Mean Flow Time within m Times the OptimumResearch Paper

Motivation

Flow shops and job shops are the basic models of multi-stage production: every job passes through several machines, and each machine handles one task at a time. Gonzalez and Sahni (Operations Research 26(1), 1978) showed that minimizing the finish time of such shops is NP-complete even with preemption, and then asked how well simple heuristics do. One of the two objectives they study is the mean flow time, the average completion time of the jobs, which measures how long a job spends in the shop on average.

Their Lemma 9 analyses the most natural rule for that objective, shortest processing time first (SPT): process the jobs in order of nondecreasing total work. For a single machine SPT is optimal (Smith 1956; Conway, Maxwell and Miller, Theory of Scheduling, 1967, p. 76, which the paper cites). Lemma 9 shows that with mmm processors the same rule loses at most a factor mmm, and the paper's Example 2 shows that the factor mmm is attained in the limit.

Setting

A job shop has m≥1m\ge1m≥1 processors P1,…,PmP_1,\dots,P_mP1​,…,Pm​ and nnn jobs. Job iii is a finite sequence of tasks; each task names the processor that must process it and a processing time p≥0p\ge0p≥0. The tasks of a job are processed in their order: a task may start only after the job's previous task has completed. A flow shop is the special case in which every job has mmm tasks and its kkk-th task runs on PkP_kPk​.

A non-preemptive schedule gives every task a start time s≥0s\ge0s≥0; the task then occupies its processor during [s,s+p)[s,s+p)[s,s+p), and two distinct tasks on one processor never overlap. The finish time fi(S)f_i(S)fi​(S) of job iii in schedule SSS is the time at which all tasks of job iii have been completed, and the mean flow time is

MFT(S)=1n∑i=1nfi(S).\mathrm{MFT}(S)=\frac1n\sum_{i=1}^n f_i(S).MFT(S)=n1​i=1∑n​fi​(S).

An OMFT schedule S∗S^*S∗ is a feasible schedule of least mean flow time.

Let LiL_iLi​ be the sum of the task times of job iii. An SPT order is a listing σ(0),…,σ(n−1)\sigma(0),\dots,\sigma(n-1)σ(0),…,σ(n−1) of the jobs with Lσ(0)≤⋯≤Lσ(n−1)L_{\sigma(0)}\le\dots\le L_{\sigma(n-1)}Lσ(0)​≤⋯≤Lσ(n−1)​, ties broken arbitrarily. The SPT schedule processes the jobs in that order: each job in turn, each positive-time task starting at the later of the completion of the job's previous task and the latest completion of a task already placed on its processor. A zero-time task completes when its preceding task completes and leaves the processor available.

Formalization targets

Goal: Lemma 9

For every job shop, every SPT order σ\sigmaσ with SPT schedule SSS, and every feasible non-preemptive schedule τ\tauτ,

MFT(S)≤m⋅MFT(τ),\mathrm{MFT}(S)\le m\cdot\mathrm{MFT}(\tau),MFT(S)≤m⋅MFT(τ),

so that MFT(S)/MFT(S∗)≤m\mathrm{MFT}(S)/\mathrm{MFT}(S^*)\le mMFT(S)/MFT(S∗)≤m for an OMFT schedule S∗S^*S∗. A separate item states the same bound for flow shops.

Milestones

The milestones follow the paper's proof of Lemma 9 on p. 47:

  1. the SPT schedule is a feasible schedule;
  2. the job in position kkk of the SPT schedule finishes by ∑j≤kLσ(j)\sum_{j\le k}L_{\sigma(j)}∑j≤k​Lσ(j)​;
  3. in any feasible schedule, if i1,…,ini_1,\dots,i_ni1​,…,in​ is the order in which the jobs finish, then fik≥∑j≤kLij/mf_{i_k}\ge\sum_{j\le k}L_{i_j}/mfik​​≥∑j≤k​Lij​​/m;
  4. a prefix sum of any listing of the LiL_iLi​ is at least the corresponding prefix sum of the sorted listing;
  5. MFT(S∗)≥1n∑k=1n∑j=1kLj/m\mathrm{MFT}(S^*)\ge\frac1n\sum_{k=1}^n\sum_{j=1}^k L_j/mMFT(S∗)≥n1​∑k=1n​∑j=1k​Lj​/m.

Significance

Lemma 9 is one of the earliest performance guarantees for a shop-scheduling heuristic under a sum objective. It shows that a rule computable by one sort, O(nlog⁡n)O(n\log n)O(nlogn) plus a linear pass, is within a factor equal to the number of machines, independently of the number of jobs. This is better than the factor nnn that Lemma 8 of the same paper gives for an arbitrary busy schedule, whenever m<nm<nm<n. Example 2 of the paper shows that the factor cannot be improved for SPT. Lower bounds of the work-per-machine type used here recur in later approximation results for total completion time in shops and on parallel machines.

The result has been proved since 1978. As far as a search of the Prove2Me catalogue shows, it has not been machine-checked. This mission adds a machine-checked statement of the SPT schedule as an algorithm, not as an arbitrary schedule with a property. It also adds the guarantee for job shops with arbitrary task sequences, of which flow shops are a special case.

Difficulty

The arithmetic of the proof is short. The work is in two places. The SPT schedule is a concrete construction, a fold over jobs and tasks that updates processor availability, so the bound on its finish times has to be carried through an invariant of that construction. The lower bound on every feasible schedule needs a packing argument: tasks on one processor that complete by a given time have total length at most that time. That argument is not available in Mathlib in a form that applies here. The tempting shortcut of comparing the two schedules job by job fails: the optimal schedule need not finish jobs in SPT order, so the comparison must go through sums of sorted prefixes.

Formalization scope

  • Instance and feasibility. The job data come from the published JobShopLTAS.Core.Instance (jobs Fin n, processors Fin m, tasks Fin (μ j), real processing times ≥0\ge0≥0). The local IsPaperFeasibleSchedule requires nonnegative starts, in-job order, and no overlap of positive-time tasks on the same processor. Zero-time tasks occupy no processor interval. The paper assumes m≥1m\ge1m≥1, and the scheduling theorems carry that hypothesis.
  • Finish time and MFT. fif_ifi​ is the maximum completion time over the tasks of job iii, with baseline 000; MFT divides by nnn, and for n=0n=0n=0 both sides are 000.
  • The SPT schedule is the list schedule constructed by the heuristic, for every SPT order, so ties are broken in every possible way. Zero-time tasks do not advance processor availability. It is not "any feasible schedule whose jobs finish in SPT order", a reading under which an optimal schedule would qualify and the goal would be trivial.
  • The optimum. The paper's "Let S∗S^*S∗ be an OMFT schedule" is stated as "for every feasible non-preemptive schedule τ\tauτ". This is equivalent and does not assume that an optimum exists.
  • Ratios multiplied out. MFT(S)/MFT(S∗)≤m\mathrm{MFT}(S)/\mathrm{MFT}(S^*)\le mMFT(S)/MFT(S∗)≤m is stated as MFT(S)≤m⋅MFT(τ)\mathrm{MFT}(S)\le m\cdot\mathrm{MFT}(\tau)MFT(S)≤m⋅MFT(τ), and the proof's bounds divided by mmm are multiplied by mmm. No division by a possibly zero quantity occurs.
  • Constants. The only constant is the factor mmm, the number of processors.
  • Not formalized. The running time of SPT, the comparison with Lemma 8 and its remark "it is assumed that m<nm<nm<n" (not a hypothesis of Lemma 9), and the tightness Example 2.
  • Milestones 2 and 4 are stated for every listing σ\sigmaσ and every pair of listings; they are combinatorial facts about list schedules and sorted sums that are reusable beyond this mission. Proofs of any milestone, and a reusable packing lemma for non-overlapping intervals, are welcome.

Selected references

  • T. Gonzalez, S. Sahni, Flowshop and Jobshop Schedules: Complexity and Approximation, Operations Research 26(1), 36–52, 1978. https://doi.org/10.1287/opre.26.1.36
  • R. W. Conway, W. L. Maxwell, L. W. Miller, Theory of Scheduling, Addison-Wesley, 1967.
  • W. E. Smith, Various optimizers for single-stage production, Naval Research Logistics Quarterly 3, 59–66, 1956. https://doi.org/10.1002/nav.3800030106
  • K. Jansen, R. Solis-Oba, M. Sviridenko, Makespan Minimization in Job Shops: A Linear Time Approximation Scheme, SIAM J. Discrete Math. 16(2), 288–300, 2003 (source of the job-shop definition reused here). https://doi.org/10.1137/S0895480199363908
9 thms1 active userReviewed
Operations ResearchTheoretical Computer Science·Captain: mikedeng1

Flowshop and Jobshop Schedules: Complexity and Approximation 6: Concatenating Optimal Schedules of Processor Pairs Gives Finish Time within ⌈m/2⌉ Times the OptimumResearch Paper

Motivation

A flow shop is the simplest model of a production line: every job passes through the same sequence of machines in the same order. Minimizing the time at which the last job leaves the last machine (the finish time, or makespan) is easy for two machines, where Johnson's rule gives an optimal schedule in time O(nlog⁡n)O(n\log n)O(nlogn) (Johnson 1954), and NP-hard from three machines on (Garey, Johnson, Sethi 1976; Gonzalez, Sahni 1978, §1, for preemptive schedules). For three or more machines the practical question is therefore how far a fast heuristic can be from the optimum in the worst case.

Gonzalez and Sahni (1978, §2) first show that any busy schedule, one that never leaves a processor idle while a task is available for it, has finish time at most mmm times the optimum (their Lemma 10), and that the natural "longest job first" order does no better. They then give a heuristic, H, that uses Johnson's two-machine algorithm as a subroutine and has the better worst-case ratio ⌈m/2⌉\lceil m/2\rceil⌈m/2⌉ (Lemma 11). This mission formalizes that bound.

Setting

A flow shop has mmm processors P1,…,PmP_1,\dots,P_mP1​,…,Pm​ and nnn jobs. Job iii consists of mmm tasks; task jjj runs on processor PjP_jPj​ and needs processing time tj,i≥0t_{j,i}\ge 0tj,i​≥0 (zero is allowed). A non-preemptive schedule gives every task a start time sj,is_{j,i}sj,i​, and the task occupies PjP_jPj​ during [sj,i,sj,i+tj,i)[s_{j,i},s_{j,i}+t_{j,i})[sj,i​,sj,i​+tj,i​). It is feasible when all start times are nonnegative, when task j+1j+1j+1 of a job starts only after task jjj of that job has completed (sj,i+tj,i≤sj+1,is_{j,i}+t_{j,i}\le s_{j+1,i}sj,i​+tj,i​≤sj+1,i​), and when no processor runs two tasks of positive length at the same time. Its finish time FT(s)\mathrm{FT}(s)FT(s) is the latest completion time sj,i+tj,is_{j,i}+t_{j,i}sj,i​+tj,i​ (and 000 if there is no task). An optimal finish time (OFT) schedule S∗S^*S∗ is a feasible schedule of least finish time.

Heuristic H (p. 48) divides the processors into ⌈m/2⌉\lceil m/2\rceil⌈m/2⌉ groups: group ggg consists of P2g−1P_{2g-1}P2g−1​ and P2gP_{2g}P2g​, and when mmm is odd the last group is PmP_mPm​ alone. The flow shop FgF_gFg​ on group ggg has the same jobs, with task times t2g−1,i,t2g,it_{2g-1,i},t_{2g,i}t2g−1,i​,t2g,i​ only. For each group an OFT schedule R(g)R(g)R(g) of FgF_gFg​ is computed (by Johnson's algorithm), with finish time f(R(g))f(R(g))f(R(g)). The schedule SSS generated by H runs these schedules one after another: every task of group ggg starts at its time in R(g)R(g)R(g) plus the offset ∑h<gf(R(h))\sum_{h<g}f(R(h))∑h<g​f(R(h)).

Formalization targets

Goal: Lemma 11 (p. 49)

For every flow shop with mmm processors and nnn jobs, every choice of OFT schedules R(g)R(g)R(g) of the group flow shops, the schedule SSS generated by H, and every feasible non-preemptive schedule τ\tauτ of the flow shop (in particular an OFT schedule S∗S^*S∗),

FT(S)≤⌈m2⌉ FT(τ).\mathrm{FT}(S)\le\Big\lceil\frac m2\Big\rceil\,\mathrm{FT}(\tau).FT(S)≤⌈2m​⌉FT(τ).

The paper writes this as FT(S)/FT(S∗)≤⌈m/2⌉\mathrm{FT}(S)/\mathrm{FT}(S^*)\le\lceil m/2\rceilFT(S)/FT(S∗)≤⌈m/2⌉.

Milestones

  1. Every group flow shop FgF_gFg​ has an OFT schedule (p. 48; the paper obtains it with Johnson's algorithm).
  2. The concatenation of feasible group schedules is a feasible schedule of the mmm-processor flow shop (p. 48).
  3. FT(S∗)≥max⁡gf(R(g))\mathrm{FT}(S^*)\ge\max_g f(R(g))FT(S∗)≥maxg​f(R(g)) (proof of Lemma 11, p. 49).
  4. FT(S)≤∑gf(R(g))≤⌈m/2⌉max⁡gf(R(g))\mathrm{FT}(S)\le\sum_g f(R(g))\le\lceil m/2\rceil\max_g f(R(g))FT(S)≤∑g​f(R(g))≤⌈m/2⌉maxg​f(R(g)) (proof of Lemma 11, p. 49).

Significance

The result gives a polynomial-time heuristic, running in time O(mnlog⁡n)O(mn\log n)O(mnlogn), whose finish time is within a factor ⌈m/2⌉\lceil m/2\rceil⌈m/2⌉ of the optimum on every instance, half the factor mmm that every busy schedule already achieves. The paper's Example 4 (p. 49) shows that for m=3m=3m=3 the factor 2=⌈3/2⌉2=\lceil 3/2\rceil2=⌈3/2⌉ is approached, so the analysis cannot be improved in general.

Formalizing it produces a reusable, machine-checked model of the mmm-processor flow shop with non-preemptive schedules, its restriction to blocks of consecutive processors, and the concatenation of schedules of disjoint blocks. Lemma 11 has a short paper proof; to our knowledge it has no machine-checked proof. The model's careful treatment of zero task times, of odd mmm, and of the restriction of a schedule to a processor group is itself part of the value: these are the points at which an informal argument is silent.

Difficulty

The arithmetic of the bound is short; the content lies in two structural facts about a precise model: that the concatenated object is a feasible schedule of the whole flow shop, including across the boundary between consecutive groups and for a final group of a single processor, and that the optimum of the whole flow shop is at least the optimum of each group flow shop, whose first processor has no predecessor. Informal arguments are silent on exactly these points. A naive formalization that leaves the offsets free, or that does not require the R(g)R(g)R(g) to be optimal, makes the statement false; one that lets SSS be any schedule with the right restrictions makes it witnessed by S∗S^*S∗ itself.

The existence of OFT schedules for the group flow shops (milestone 1) is a separate matter: the paper takes it from Johnson's algorithm, and proving it requires an optimality argument for two-machine flow shops (or a compactness argument over finitely many processing orders).

Formalization scope

  • Representation. Processors are Fin m and jobs Fin n, both 0-based; times are real numbers. A flow shop is a matrix t : Fin m → Fin n → ℝ with t ≥ 0. A schedule is a matrix of start times. Group ggg (0-based, g : Fin ((m + 1) / 2)) contains the processors 2g2g2g and 2g+12g+12g+1 that exist, min 2 (m - 2g) of them.
  • Finish time. A fold of max with baseline 000 over all tasks; it is 000 for m=0m=0m=0 or n=0n=0n=0. The maximum of the group finish times is also a fold of max with baseline 000. No supremum over an unbounded or empty set is taken.
  • Zero task times. A zero-length task occupies no processor time (it is exempt from the non-overlap condition) but still respects the job's task order and counts in the finish time when it is placed late; optimal schedules are unaffected.
  • The optimum. "OFT schedule S∗S^*S∗" is replaced by a universally quantified feasible schedule τ\tauτ, which is stronger and needs no existence assumption for S∗S^*S∗. Optimality of R(g)R(g)R(g) is the predicate "feasible, and finish time at most that of every feasible schedule of the same group flow shop".
  • Constants. ⌈m/2⌉\lceil m/2\rceil⌈m/2⌉ is (m + 1) / 2 in N\mathbb NN, cast to R\mathbb RR; the two agree for every m≥0m\ge 0m≥0. The ratio is multiplied out, so a zero optimum does not divide by zero.
  • Not formalized. Johnson's algorithm and the running times O(nlog⁡n)O(n\log n)O(nlogn) and O(mnlog⁡n)O(mn\log n)O(mnlogn). The goal quantifies over every family of optimal group schedules, which includes the one Johnson's algorithm computes; the paper's proof uses only optimality. The preemptive comparison on p. 50 and the tightness examples are outside the mission.
  • Trivialization ruled out. The schedule SSS is a function of the R(g)R(g)R(g) with the fixed offsets ∑h<gf(R(h))\sum_{h<g}f(R(h))∑h<g​f(R(h)), and each R(g)R(g)R(g) must be optimal for its group flow shop; neither the offsets nor SSS are free.
  • Infrastructure. Elementary facts about Finset.fold max and sums over Fin; nothing beyond Mathlib. Contributions proving milestone 1 by formalizing Johnson's rule for this model are welcome and reusable.

Selected references

  • T. Gonzalez, S. Sahni, Flowshop and Jobshop Schedules: Complexity and Approximation, Operations Research 26(1), 36–52, 1978. https://doi.org/10.1287/opre.26.1.36
  • S. M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Research Logistics Quarterly 1(1), 61–68, 1954. https://doi.org/10.1002/nav.3800010110
  • M. R. Garey, D. S. Johnson, R. Sethi, The Complexity of Flowshop and Jobshop Scheduling, Mathematics of Operations Research 1(2), 117–129, 1976. https://doi.org/10.1287/moor.1.2.117
7 thms1 active userReviewed
CombinatoricsOperations ResearchProbability+1·Captain: mikedeng1

Packet Routing and Job-Shop Scheduling in O(Congestion + Dilation) Steps: Edge-Simple Paths with Congestion c and Dilation d Admit an O(c + d)-Step Schedule with Constant-Size QueuesResearch Paper

Motivation

In a store-and-forward network, messages are cut into packets that travel from node to node along wires, one wire per time step, and wait in buffers between moves. Routing such traffic splits into two problems: choosing a path for each packet, and scheduling the packets along their paths, deciding at every step which packets move and which wait. Leighton, Maggs and Rao showed that the second problem always has an essentially optimal solution: once paths are fixed, two simple parameters of the paths determine the routing time up to a constant factor, on every network.

The result separates path selection from timing in the design of routing algorithms for parallel machines, and it reaches beyond networks: a job-shop problem in which every operation takes one unit of time and no job visits a machine twice is the same problem with jobs as packets and machines as edges.

Timeline.

  • 1988: Leighton, Maggs and Rao, extended abstract at FOCS, Universal packet routing algorithms.
  • 1994: the full paper in Combinatorica 14, with the existence theorem of an O(c+d)O(c+d)O(c+d) schedule with constant queues (Theorem 3.4) and a randomized on-line algorithm.
  • 1999: Leighton, Maggs and Richa, Fast algorithms for finding O(congestion + dilation) packet routing schedules, make the construction algorithmic, using the algorithmic Local Lemma of Beck.

Setting

A network is a directed multigraph: a type VVV of nodes, a type EEE of edges, and maps src,tgt:E→V\mathrm{src},\mathrm{tgt}:E\to Vsrc,tgt:E→V. A path is a list of edges e0,…,eℓ−1e_0,\dots,e_{\ell-1}e0​,…,eℓ−1​ with tgt(ek)=src(ek+1)\mathrm{tgt}(e_k)=\mathrm{src}(e_{k+1})tgt(ek​)=src(ek+1​); it is edge-simple if no edge occurs twice. A finite set PPP of packets is given, each with its path.

The dilation ddd is the largest number of edges on a path; the congestion ccc is the largest number of paths through one edge. Since a packet crosses at most one edge per step and an edge carries at most one packet per step, every schedule needs at least max⁡(c,d)\max(c,d)max(c,d) steps.

A schedule assigns to every packet ppp and every index kkk of its path the step τ(p,k)≥1\tau(p,k)\ge1τ(p,k)≥1 at which ppp crosses its kkk-th edge, strictly increasing in kkk. Its length is the last crossing step. A packet waits in its initial queue before its first crossing, in the edge queue at the head of the edge it last crossed between two crossings, and in its final queue after its last crossing. Only edge queues count for queue size: the other two are fixed by the instance. A schedule is valid if at most one packet crosses each edge at each step.

For the proof, the paper measures schedules that are not yet valid through frames: a TTT-frame is a run of TTT consecutive steps, and the relative congestion of a frame is the largest number of packets crossing one edge in it, divided by TTT.

Formalization targets

Goal: Theorem 3.4 (p. 11)

There are absolute constants KKK and QQQ such that every finite set of packets with edge-simple paths of congestion at most ccc and dilation at most ddd, on any network, has a valid schedule with

length≤K (c+d),every edge queue≤Q at every step.\text{length}\le K\,(c+d),\qquad \text{every edge queue}\le Q \text{ at every step}.length≤K(c+d),every edge queue≤Q at every step.

The constants are not fixed: the paper proves existence, and any constants are a valid answer.

Milestones, in the order the proof uses them

  1. Lemma 3.1 (p. 8), the Lovász Local Lemma: events of probability at most ppp with dependence at most b≥1b\ge1b≥1 and 4pb<14pb<14pb<1 all fail together with positive probability.
  2. Lemma 3.2 (p. 8): with congestion and dilation at most ddd, a schedule of length O(d)O(d)O(d) with no waiting in edge queues and at most TTT packets per edge in every frame of size T≥log⁡2dT\ge\log_2 dT≥log2​d.
  3. The recurrences (pp. 12–13): I(1)=log⁡dI^{(1)}=\log dI(1)=logd, I(i+1)=log⁡5I(i)I^{(i+1)}=\log^5 I^{(i)}I(i+1)=log5I(i), r(1)=1r^{(1)}=1r(1)=1, r(i+1)=r(i)(1+κ/log⁡I(i))r^{(i+1)}=r^{(i)}(1+\kappa/\sqrt{\log I^{(i)}})r(i+1)=r(i)(1+κ/logI(i)​) stop at some j=O(log⁡∗d)j=O(\log^* d)j=O(log∗d) with r(j)=O(1)r^{(j)}=O(1)r(j)=O(1).
  4. Lemma 3.5 (p. 14): frame bounds for all sizes from TTT to 2T−12T-12T−1 imply them for all sizes ≥T\ge T≥T.
  5. The final simulation (pp. 12–13): a schedule with relative congestion O(1)O(1)O(1) in frames of constant size, in which every packet waits at most once every k1≥2k_1\ge2k1​≥2 steps, becomes a valid schedule, a constant factor longer, with constant edge queues.

Significance

The theorem shows that congestion and dilation, two quantities read off the paths alone, determine the optimal schedule length up to a constant factor on every network, with buffers of constant size. Path-selection algorithms that minimize c+dc+dc+d therefore yield near-optimal routing, and the same bound holds for unit-time job shops without repeated machines. It is also an often-cited application of the Local Lemma beyond a single round of random choices: the proof applies it O(log⁡∗d)O(\log^* d)O(log∗d) times in succession.

The result has been proved since 1994, and the algorithmic version since 1999. As far as is known, no part of it is machine-checked. The mission produces a formal model of store-and-forward schedules with edge queues and frames, a formal statement of the theorem that excludes the degenerate readings, and formal versions of the steps of its proof.

Difficulty

The naive approach gives each packet a random initial delay and then lets it move without waiting. That gives O(log⁡(Nd))O(\log(Nd))O(log(Nd)) packets per edge per step, and O(c+dlog⁡(Nd))O(c+d\log(Nd))O(c+dlog(Nd)) steps after slowing down. Lemma 3.2 does better only in frames of size log⁡d\log dlogd, not in single steps. Recursing on frames, as in Theorem 3.3, loses a constant factor per level and gives (c+d)2O(log⁡∗(c+d))(c+d)2^{O(\log^* (c+d))}(c+d)2O(log∗(c+d)).

Removing that factor is the central difficulty. Each refinement must keep the relative congestion nearly unchanged, r(i+1)=r(i)(1+O(1)/log⁡I(i))r^{(i+1)}=r^{(i)}(1+O(1)/\sqrt{\log I^{(i)}})r(i+1)=r(i)(1+O(1)/logI(i)​), which requires second-order terms in the tail estimates, delays spread over the block rather than inserted at its start, and careful handling of block boundaries. The constant queue bound needs an invariant: every packet waits at most once every I(i)I^{(i)}I(i) steps. The Local Lemma gives existence only; the construction is non-constructive.

Formalization scope

Conventions committed to in Lean:

  • The network is arbitrary: V E : Type with src tgt : E → V, no finiteness or degree bound. Packets form a Fintype P; paths are List E with matching endpoints (List.IsChain) and List.Nodup.
  • Congestion and dilation are bounds (CongestionLE path c, DilationLE path d), equivalent to exact values because every bound is monotone.
  • A schedule is a Timetable: time p k : ℕ, the step at which packet p crosses its k-th edge, at least 1 and strictly increasing in k. Length at most L means every crossing step is ≤ L. Valid means two different crossings of one edge happen at different steps.
  • The edge-queue size of edge g at the end of step t counts crossings of g at a step ≤ t whose packet crosses its next edge at a step > t. Initial and final queues are not counted.
  • Frames: frameCount τ g t T counts the packets that cross g at a step in [t, t+T). Relative congestion at most r in frames of size ≥ T₀ is frameCount ≤ r·T for all T ≥ 1 with T₀ ≤ T.
  • log is Real.logb 2. Every O(1) and "sufficiently large" is a constant quantified before the instance, and in the goal ∃ K Q comes before the network.
  • Lemma 3.1 is stated on an arbitrary probability space with measurable events. Dependence uses independence from the generated σ-algebra, and the statement adds 1 ≤ b, without which the page's statement is false.

These choices rule out the trivial formalizations: constants chosen after the instance would make K=cdK=cdK=cd suffice; a schedule without edge exclusivity would make the greedy schedule of length ddd a solution; a missing queue bound drops half of the theorem; and a statement without its length bound is solved by sending one packet at a time.

Not stated: Lemmas 3.6–3.10 and the summary of the refinement step (p. 20). They concern the block decomposition and delay-insertion rules of pp. 13–14 and 17–18, which the paper defines only in prose. Contributions are welcome on the Local Lemma (finite or general), the probabilistic estimates of Lemma 3.2, Lemma 3.5, the elementary simulation step, and formal definitions of the block operations from which Lemmas 3.6–3.10 can be stated. The schedule model is reusable for other routing results, such as the on-line algorithm of §2 or the O(c+d)O(c+d)O(c+d) results for leveled networks.

Selected references

  • F. T. Leighton, B. M. Maggs, S. B. Rao, Packet routing and job-shop scheduling in O(congestion + dilation) steps, Combinatorica 14 (1994) 167–186. https://doi.org/10.1007/BF01215349 (this mission cites the authors' manuscript).
  • F. T. Leighton, B. M. Maggs, S. B. Rao, Universal packet routing algorithms, Proc. 29th IEEE FOCS (1988) 256–269.
  • F. T. Leighton, B. M. Maggs, A. W. Richa, Fast algorithms for finding O(congestion + dilation) packet routing schedules, Combinatorica 19 (1999) 375–401. https://doi.org/10.1007/s004930050061
  • P. Erdős, L. Lovász, Problems and results on 3-chromatic hypergraphs and some related questions, in Infinite and Finite Sets, Colloq. Math. Soc. János Bolyai 10 (1975) 609–627.
  • J. Spencer, Ten Lectures on the Probabilistic Method, SIAM (1987), pp. 57–58. https://doi.org/10.1137/1.9780898719918
10 thms1 active userReviewed
Control TheoryDynamical SystemsOperations Research·Captain: mikedeng1

Dynamic Instabilities and Stabilization Methods in Distributed Real-Time Scheduling of Manufacturing Systems 1: Clearing Policies Are Unstable on a Re-Entrant Two-Machine Line, Even Without Set-UpsResearch Paper

Motivation

A flexible manufacturing system is a set of machines through which parts of several types travel along fixed routes; each machine serves several buffers and must pay a set-up time whenever it switches from one buffer to another. Real-time scheduling decides, as the system evolves, which buffer each machine works on. Perkins and Kumar (IEEE Trans. Automat. Control 34, 1989) introduced simple distributed policies for this problem, of which the most natural is the clearing policy: a machine keeps working on a buffer until it is empty, and only then switches. They proved that every clear-a-fraction policy, a subclass of clearing policies, keeps every buffer bounded on acyclic systems whenever each machine has spare capacity, and left open whether clear-a-fraction policies stabilize all systems in which material flows around cycles.

Kumar and Seidman (IEEE Trans. Automat. Control 35(3), 1990, doi:10.1109/9.50339) answered no. Their Example 1 is a single part type that visits two machines in the order 1, 2, 2, 1. Every machine has spare capacity, yet under the clearing policy the buffer levels grow without bound, and they do so even when all set-up times are zero, so the instability comes from machines starving each other rather than from time lost to set-ups. Until then, instability had been suspected to require positive set-up times. Shortly afterwards Lu and Kumar exhibited instability of a static buffer-priority rule in a re-entrant network (IEEE Trans. Automat. Control 36, 1991); together these examples started the study of stability of multiclass queueing networks.

Setting

A manufacturing system has part types ppp arriving at rates dp>0d_p > 0dp​>0. Parts of type ppp follow a route of length npn_pnp​: their iii-th operation is at machine μp,i\mu_{p,i}μp,i​, and they wait for it in buffer bp,ib_{p,i}bp,i​, where each part needs processing time τp,i>0\tau_{p,i} > 0τp,i​>0. Machine mmm serves the buffers Bm={b:μb=m}B_m = \{b : \mu_b = m\}Bm​={b:μb​=m}, and switching from bbb to b′b'b′ costs set-up time δb,b′≥0\delta_{b,b'} \ge 0δb,b′​≥0.

Flows are continuous (fluid). The level of buffer bbb at time t≥0t \ge 0t≥0 is xb(t)=xb(0)+ub(t)−yb(t)≥0x_b(t) = x_b(0) + u_b(t) - y_b(t) \ge 0xb​(t)=xb​(0)+ub​(t)−yb​(t)≥0, where yb(t)y_b(t)yb​(t) is its cumulative output and ub(t)u_b(t)ub​(t) its cumulative input: dptd_p tdp​t for the first buffer of a route, and the output of the preceding buffer otherwise. Each machine works in runs: run kkk is a set-up phase of length δβk−1,βk\delta_{\beta_{k-1},\beta_k}δβk−1​,βk​​ followed by a processing phase on buffer βk\beta_kβk​, during which the buffer is drained at rate 1/τb1/\tau_b1/τb​ while it is nonempty and passed through at its inflow rate when it is empty. The system is stable if sup⁡0≤t<∞xb(t)<∞\sup_{0 \le t < \infty} x_b(t) < \inftysup0≤t<∞​xb​(t)<∞ for every buffer.

A clearing policy (Definition 1) is one in which a machine processing bbb continues until the first time that bbb is empty and some other buffer of the same machine is nonempty, and then commences a set-up for one of the nonempty buffers.

Example 1. One part type arrives at rate d=1d = 1d=1 and visits machine 1, machine 2, machine 2 and machine 1; its buffers are 1,2,3,41, 2, 3, 41,2,3,4, so B1={1,4}B_1 = \{1, 4\}B1​={1,4} and B2={2,3}B_2 = \{2, 3\}B2​={2,3}. Processing times are τ1,…,τ4>0\tau_1, \dots, \tau_4 > 0τ1​,…,τ4​>0, and δk\delta_kδk​ is the time to set up to buffer kkk. The parameters satisfy the critical condition and the capacity condition

τ2+τ4>1,τ1+τ4<1,τ2+τ3<1.(3–5)\tau_2 + \tau_4 > 1, \qquad \tau_1 + \tau_4 < 1, \qquad \tau_2 + \tau_3 < 1. \tag{3–5}τ2​+τ4​>1,τ1​+τ4​<1,τ2​+τ3​<1.(3–5)

The initial state is x(0)=(ξ,0,0,0)x(0) = (\xi, 0, 0, 0)x(0)=(ξ,0,0,0), with machine 1 set up for buffer 4 and machine 2 set up for buffer 3. Write

λ=τ41−τ2>1,α=(τ4+1)(δ1+δ2)1−τ2+δ3(τ4+1)+δ4,β=τ4(δ1+δ2)1−τ2+τ4δ3+δ4.\lambda = \frac{\tau_4}{1-\tau_2} > 1, \quad \alpha = \frac{(\tau_4+1)(\delta_1+\delta_2)}{1-\tau_2} + \delta_3(\tau_4+1) + \delta_4, \quad \beta = \frac{\tau_4(\delta_1+\delta_2)}{1-\tau_2} + \tau_4\delta_3 + \delta_4.λ=1−τ2​τ4​​>1,α=1−τ2​(τ4​+1)(δ1​+δ2​)​+δ3​(τ4​+1)+δ4​,β=1−τ2​τ4​(δ1​+δ2​)​+τ4​δ3​+δ4​.

Formalization targets

Goal: Example 1, both cases

Assume (3)–(5).

  1. If δ1,…,δ4>0\delta_1, \dots, \delta_4 > 0δ1​,…,δ4​>0, there is ξ0\xi_0ξ0​ such that for every ξ≥ξ0\xi \ge \xi_0ξ≥ξ0​ (ξ>0\xi > 0ξ>0) a clearing trajectory from (ξ,0,0,0)(\xi, 0, 0, 0)(ξ,0,0,0) exists, and every such trajectory has
sup⁡0≤t<∞x1(t)=+∞.\sup_{0 \le t < \infty} x_1(t) = +\infty.0≤t<∞sup​x1​(t)=+∞.
  1. If δ1=⋯=δ4=0\delta_1 = \dots = \delta_4 = 0δ1​=⋯=δ4​=0, the same holds for every ξ>0\xi > 0ξ>0.

Milestone: the Case 1 cycle map

For ξ\xiξ large enough, every clearing trajectory from (ξ,0,0,0)(\xi, 0, 0, 0)(ξ,0,0,0) reaches, at T1=(λ+τ2/(1−τ2))ξ+αT_1 = (\lambda + \tau_2/(1-\tau_2))\xi + \alphaT1​=(λ+τ2​/(1−τ2​))ξ+α,

x(T1)=(λξ+β,0,0,0),x(T_1) = (\lambda\xi + \beta, 0, 0, 0),x(T1​)=(λξ+β,0,0,0),

with machines 1 and 2 again set up for buffers 4 and 3.

Milestone: the Case 2 magnification

With zero set-up times and any ξ>0\xi > 0ξ>0, every clearing trajectory reaches, at t5=(τ2+τ4)ξ/(1−τ2)t_5 = (\tau_2+\tau_4)\xi/(1-\tau_2)t5​=(τ2​+τ4​)ξ/(1−τ2​),

x(t5)=(λξ,0,0,0),x(t_5) = (\lambda\xi, 0, 0, 0),x(t5​)=(λξ,0,0,0),

with machines 1 and 2 again set up for buffers 4 and 3.

Significance

The example shows that the condition ρm<1\rho_m < 1ρm​<1 on every machine, which is necessary for stability and sufficient for the existence of some stabilizing policy, does not make natural distributed policies stable once material flows around a cycle. The throughput of the line falls to 1/(τ2+τ4)<11/(\tau_2+\tau_4) < 11/(τ2​+τ4​)<1 part per unit time although each machine could handle the demand. This motivates the paper's two positive results: sufficient conditions under which clear-a-fraction policies are stable (Theorem 1), and a supervisory mechanism that stabilizes any policy (Theorem 2), which are the subjects of the other missions of this series. The example is also an early instance of the phenomenon later studied as instability of multiclass fluid networks under work-conserving policies.

The paper's argument is a stage-by-stage computation of piecewise linear trajectories. No machine-checked version of it exists. A formal proof has to make precise what the paper leaves to the reader: that the clearing rule determines the trajectory, that the stage formulas are what that trajectory does, and that the cycle can be restarted. The formal model of runs, set-ups and the clearing rule built here is the same as in the other missions of the series.

Difficulty

The arithmetic of each cycle is routine once the trajectory is known. The difficulty is in the universal quantifier: the claim covers every clearing trajectory, and the clearing rule is defined implicitly, through "the first time thereafter" at which a buffer is empty and another one is nonempty. At several switching instants the buffer a machine switches to is empty and only starts to fill at that instant, and with zero set-up times a machine may begin a run at an instant where the switching condition already holds. Showing that each switch happens exactly when the paper says, and that the fluid levels then follow the printed formulas (including the reduced rate of a machine working on an empty buffer), is a uniqueness argument for a hybrid system, not a simulation. The existence half asks for the converse: an explicit trajectory, defined for all time, with infinitely many runs whose start times tend to infinity.

Formalization scope

  • Time is real (t≥0t \ge 0t≥0); flows are fluid; there are no transport delays or assembly.
  • The system is a general structure (part types Fin P, machines Fin M, buffers ⟨p, i⟩ with i : Fin (n p), paper index iii = Lean index i+1i+1i+1), instantiated as Example 1 with d=1d = 1d=1, route (1,2,2,1)(1,2,2,1)(1,2,2,1), and δb,b′=δb′\delta_{b,b'} = \delta_{b'}δb,b′​=δb′​ for b≠b′b \ne b'b=b′; staying on a buffer costs nothing.
  • A trajectory is a schedule of runs per machine (possibly finitely many, the last lasting forever), with only finitely many run starts in any bounded interval. Processing obeys a rate cap (yby_byb​ grows at most at rate 1/τb1/\tau_b1/τb​, and only while machine μb\mu_bμb​ is in a processing phase of bbb) and runs at full rate while the buffer is nonempty.
  • In Definition 1, a target buffer counts as "nonempty" when it is demanding: positive level, or inflow starting at that instant. The no-early-exit condition is imposed on the open processing interval. Under the literal reading (positive level) or a closed interval, the paper's own trajectories are not clearing, and the goal would hold vacuously; the existence clause in the goal rules out that trivialization.
  • "Set up for buffer bbb at time TTT" means the run in force on (sk,sk+1](s_k, s_{k+1}](sk​,sk+1​].
  • Unboundedness is stated for buffer 1: for every CCC there is t≥0t \ge 0t≥0 with x1(t)>Cx_1(t) > Cx1​(t)>C; "ξ\xiξ large enough" is ∃ξ0,∀ξ≥ξ0\exists \xi_0, \forall \xi \ge \xi_0∃ξ0​,∀ξ≥ξ0​.

Useful contributions include lemmas about fluid trajectories that do not depend on the example (continuity of levels, the pass-through rate on an empty buffer, restarting a trajectory at a run boundary), which also serve the other missions of the series.

Selected references

  • P. R. Kumar and T. I. Seidman, Dynamic instabilities and stabilization methods in distributed real-time scheduling of manufacturing systems, IEEE Trans. Automat. Control 35(3), 289–298, 1990. https://doi.org/10.1109/9.50339
  • J. R. Perkins and P. R. Kumar, Stable, distributed, real-time scheduling of flexible manufacturing/assembly/disassembly systems, IEEE Trans. Automat. Control 34, 139–148, 1989 (reference [18] of the paper).
  • S. H. Lu and P. R. Kumar, Distributed scheduling based on due dates and buffer priorities, IEEE Trans. Automat. Control 36, 1991.
7 thms1 active userReviewed
CombinatoricsOperations ResearchOptimization·Captain: mikedeng1

Application of the Branch and Bound Technique to Some Flow-Shop Scheduling Problems 1: Branch and Bound with the Three-Machine Lower Bound Finds a Minimum-Makespan SequenceResearch Paper

Motivation

In a flow shop every job passes through the same machines in the same order. Choosing the order in which jobs enter the shop so that the last job finishes as early as possible (minimizing the makespan) is one of the oldest problems of scheduling theory. For two machines Johnson (1954) gave an exact sorting rule; for three machines his rule is exact only in special cases, and the general problem was later shown to be NP-hard (Garey, Johnson and Sethi, 1976). Exact methods for three or more machines therefore enumerate sequences, and the question is how to enumerate as few of them as possible.

Ignall and Schrage (1965), at the same time as Lomnicki (Operational Research Quarterly, 1965), introduced branch and bound for the three-machine permutation flow shop. Their lower bound, which adds to the time each machine becomes free the work that remains on it and the least work that must follow on later machines, became the template for the machine-based bounds used in flow-shop branch and bound ever since.

Timeline. 1954: Johnson proves the two-machine rule and shows that for three machines a common job order on all machines loses nothing for the makespan. 1960: Land and Doig introduce branch and bound for integer programs. 1965: Ignall–Schrage and Lomnicki apply it to the three-machine flow shop. 1976: Garey, Johnson and Sethi prove the three-machine makespan problem NP-hard, so exact enumeration with good bounds remains the method for exact solutions.

Setting

There are n≥1n\ge1n≥1 jobs and three machines AAA, BBB, CCC. Job iii needs time aia_iai​ on AAA, then bib_ibi​ on BBB, then cic_ici​ on CCC. Following Johnson, only permutation schedules are considered: a full sequence is a permutation σ\sigmaσ of the jobs, processed in that order on all three machines, each operation starting as early as possible. Its makespan is the time machine CCC finishes the last job.

A node JrJ_rJr​ is a partial sequence: an ordered list of rrr distinct jobs. Its unscheduled set Jˉr\bar J_rJˉr​ is the set of the other n−rn-rn−r jobs. The attributes TIMEA(Jr)\mathrm{TIMEA}(J_r)TIMEA(Jr​), TIMEB(Jr)\mathrm{TIMEB}(J_r)TIMEB(Jr​), TIMEC(Jr)\mathrm{TIMEC}(J_r)TIMEC(Jr​) are the times at which machines AAA, BBB, CCC finish the jobs of JrJ_rJr​ processed in order. A full sequence begins with JrJ_rJr​ when its first rrr positions are JrJ_rJr​. The lower bound of a node with Jˉr≠∅\bar J_r\neq\emptysetJˉr​=∅ is

LB(Jr)=max⁡[TIMEA(Jr)+∑Jˉrai+min⁡Jˉr(bi+ci), TIMEB(Jr)+∑Jˉrbi+min⁡Jˉrci, TIMEC(Jr)+∑Jˉrci].LB(J_r)=\max\Big[\mathrm{TIMEA}(J_r)+\sum_{\bar J_r}a_i+\min_{\bar J_r}(b_i+c_i),\ \mathrm{TIMEB}(J_r)+\sum_{\bar J_r}b_i+\min_{\bar J_r}c_i,\ \mathrm{TIMEC}(J_r)+\sum_{\bar J_r}c_i\Big].LB(Jr​)=max[TIMEA(Jr​)+Jˉr​∑​ai​+Jˉr​min​(bi​+ci​), TIMEB(Jr​)+Jˉr​∑​bi​+Jˉr​min​ci​, TIMEC(Jr​)+Jˉr​∑​ci​].

The branch-and-bound procedure keeps a list of nodes ranked by LBLBLB, starting from the root (no job scheduled). At each step it removes the first node, creates one child per unscheduled job by appending that job, and inserts the children ranked into the list, a new node going before old nodes of equal bound. It stops when the first node of the list is terminal, i.e. has scheduled n−1n-1n−1 jobs, so that its last job is forced.

Formalization targets

Goal: the stopping rule certifies an optimal sequence

∃k: the first node of run(k) is terminal,andfirst node P terminal ⟹ makespan(σP)≤makespan(σ)  ∀σ,\exists k:\ \text{the first node of } \mathrm{run}(k) \text{ is terminal},\qquad\text{and}\qquad \text{first node } P \text{ terminal} \ \Longrightarrow\ \mathrm{makespan}(\sigma_P)\le\mathrm{makespan}(\sigma)\ \ \forall\sigma ,∃k: the first node of run(k) is terminal,andfirst node P terminal ⟹ makespan(σP​)≤makespan(σ)  ∀σ,

where σP\sigma_PσP​ is PPP followed by its one unscheduled job. This is the paper's "the problem is solved: that node's sequence is an optimal one" (p. 402), for any real processing times.

Milestones

  1. Validity of the bound (p. 401): LB(Jr)≤makespan(σ)LB(J_r)\le\mathrm{makespan}(\sigma)LB(Jr​)≤makespan(σ) for every σ\sigmaσ beginning with JrJ_rJr​, r<nr<nr<n.
  2. Exactness at depth n−1n-1n−1 (general form of an observation on p. 403): for r=n−1r=n-1r=n−1, LB(Jn−1)LB(J_{n-1})LB(Jn−1​) equals the makespan of the completed sequence.
  3. Node counts (p. 403): at least 12n(n+1)\tfrac12n(n+1)21​n(n+1) nodes are created before stopping, at most 1+n+n(n−1)+⋯+n!1+n+n(n-1)+\cdots+n!1+n+n(n−1)+⋯+n! are ever created, and the list never holds more than n!n!n! nodes.
  4. Dominance (pp. 403–404): if JrJ_rJr​ and IrI_rIr​ contain the same jobs, TIMEA(Jr)=TIMEA(Ir)\mathrm{TIMEA}(J_r)=\mathrm{TIMEA}(I_r)TIMEA(Jr​)=TIMEA(Ir​); if also TIMEB(Jr)≤TIMEB(Ir)\mathrm{TIMEB}(J_r)\le\mathrm{TIMEB}(I_r)TIMEB(Jr​)≤TIMEB(Ir​) and TIMEC(Jr)≤TIMEC(Ir)\mathrm{TIMEC}(J_r)\le\mathrm{TIMEC}(I_r)TIMEC(Jr​)≤TIMEC(Ir​), replacing IrI_rIr​ by JrJ_rJr​ at the beginning of any sequence does not increase its makespan, and LB(Jr)≤LB(Ir)LB(J_r)\le LB(I_r)LB(Jr​)≤LB(Ir​) (p. 404).
  5. The 4-job example (pp. 402–403): the run stops after 6 steps with node 231 first, whose bound 62 is the optimal makespan.
  6. The refined bound (p. 409): the strengthened bound used in the paper's computations is still a lower bound.

Significance

The goal is the correctness theorem of the Ignall–Schrage algorithm: best-first search over partial sequences, with a machine-based bound, returns an optimal permutation. Milestone 1 is the bound's validity, which every later machine-based flow-shop bound generalizes; milestone 4 is the dominance rule that justifies discarding nodes; milestone 3 brackets the effort of the search between the best case 12n(n+1)\tfrac12n(n+1)21​n(n+1) and full enumeration.

The paper's arguments are short and informal: validity of the bound is asserted with a one-line reason, and optimality at stopping is argued on the example. None of these results has a machine-checked proof. The formalization makes the procedure itself a precise object (list, insertion rule, stopping rule) and turns the paper's claims into statements about it, so that the correctness of the search is proved rather than illustrated.

Difficulty

Each inequality is elementary, but the goal is a statement about an iterated list-manipulating procedure. The obvious argument "the first node has the smallest bound and the bound is valid" needs an invariant that the paper does not state: at every step, every full sequence begins with some node on the list, and the list is sorted. Both must be proved to survive one step of removal and ranked insertion. Termination is likewise not stated: it needs a measure that strictly decreases, for instance the set of nodes that remain to be created, which requires showing that no node is created twice. A tempting shortcut, proving optimality only among the sequences whose nodes were created, is not the theorem.

Formalization scope

Jobs are Fin n (the paper's job iii is i−1i-1i−1), processing times are arbitrary reals with no sign condition, and full sequences are Equiv.Perm (Fin n). The makespan is the machine-CCC completion time of Johnson's as-soon-as-possible schedule, taken from the published definition JohnsonFlowShop.ThreeStage.asapSchedule. Nodes are lists of jobs, and the node attributes are the same recursion folded over the list. Minima over Jˉr\bar J_rJˉr​ are Finset.inf'; on an empty set the auxiliary minimum returns a placeholder 000 that no statement evaluates.

Explicit readings of the paper's phrases:

  • "is a lower bound … for any node that emanates from node PPP" is "≤\le≤ the makespan of every permutation whose first rrr positions are JrJ_rJr​";
  • "a node that has scheduled all nnn jobs" is read as a node with n−1n-1n−1 jobs, whose sequence is completed by the forced last job. The example (stop at node 231 of a 4-job problem), the node counts and the formula for LBLBLB all require this reading;
  • "the problem is solved: that node's sequence is an optimal one" is termination together with optimality over all n!n!n! permutations;
  • "cannot be hurt by replacing IrI_rIr​ with JrJ_rJr​" compares the completions of JrJ_rJr​ and IrI_rIr​ by the same ordering of the remaining jobs;
  • children are inserted one at a time in increasing job index, each before every node with an equal bound; this reproduces the paper's LIST table;
  • dominance discarding is not part of the procedure in the goal.

A formalization in which the optimality claim ranges only over sequences the run created, or one that asserts optimality without termination, would be trivial or vacuous and is ruled out by the goal's statement.

Not formalized: the reduction from general schedules to permutation schedules (Johnson's Lemma 3, proved on the platform as JohnsonFlowShop.ThreeStage.same_ordering_dominant), the dominance bookkeeping and its percentages, the two-machine mean-completion problem (a separate mission of this series), the computational tables, and the TIMEB/TIMEC columns of the example's LIST table. No platform item treats flow-shop lower bounds or branch and bound over sequences; the nearest branch-and-bound mission, BiconvexProg.BranchBound (Al-Khayyal and Falk), concerns biconvex programs and is unrelated.

The lemmas a solver will want (the invariant of the list, monotonicity of the completion recursion in its start times, validity of the bound) are reusable for the two-machine mission and for any other machine-based bound. Proofs of the milestones, and of the goal from them, are welcome in any order.

Selected references

  • E. Ignall and L. Schrage, Application of the branch and bound technique to some flow-shop scheduling problems, Operations Research 13(3), 400–412, 1965. https://doi.org/10.1287/opre.13.3.400
  • S. M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Research Logistics Quarterly 1(1), 61–68, 1954. https://doi.org/10.1002/nav.3800010110
  • A. H. Land and A. G. Doig, An automatic method of solving discrete programming problems, Econometrica 28(3), 497–520, 1960. https://doi.org/10.2307/1910129
  • M. R. Garey, D. S. Johnson and R. Sethi, The complexity of flowshop and jobshop scheduling, Mathematics of Operations Research 1(2), 117–129, 1976. https://doi.org/10.1287/moor.1.2.117
13 thms1 active userReviewed
Dynamic ProgrammingOperations ResearchOptimization·Captain: mikedeng1

Efficient Algorithms for Scheduling Semiconductor Burn-In Operations 2: Dynamic Program DP2 Finds a Minimum-Makespan On-Time Batch Schedule When Processing Times and Due Dates Are AgreeableResearch Paper

Burn-in ovens as batch processing machines

In semiconductor manufacturing, finished chips go through burn-in: they are loaded on boards and held in an oven at high temperature to expose early failures. An oven holds a bounded number of boards, a load cannot be interrupted once started, and a chip may stay in the oven longer than its specified burn-in time but not shorter. Lee, Uzsoy and Martin-Vega (Oper. Res. 40(4), 1992) model the oven as a batch processing machine and give polynomial algorithms for several due-date objectives. The model has since become a standard one in scheduling theory; the survey of Potts and Kovalyov (2000) traces the batching literature that grew from it.

This mission formalizes the part of the paper's §3 on minimizing maximum tardiness when all jobs are available at time 000 and processing times and due dates are agreeable. That is the problem the paper writes 1/B/Tmax⁡1/B/T_{\max}1/B/Tmax​. The paper's own route is a feasibility test by dynamic programming, Algorithm DP2, which a bisection over due-date shifts turns into a Tmax⁡T_{\max}Tmax​ minimizer.

The batch machine

There are nnn jobs 1,…,n1,\dots,n1,…,n. Job iii has a processing time pip_ipi​ and a due date did_idi​, both natural numbers. The machine has capacity B≥1B\ge 1B≥1. A batch is a nonempty set of at most BBB jobs processed together. It occupies the machine for the processing time of its longest job,

t(P)=max⁡i∈Ppi.t(P)=\max_{i\in P}p_i .t(P)=i∈Pmax​pi​.

A batch schedule of a job set JJJ is a sequence S=(P1,…,Pm)S=(P_1,\dots,P_m)S=(P1​,…,Pm​) of pairwise disjoint batches covering JJJ, processed in this order and back to back from time 000. Batch PkP_kPk​ and all of its jobs complete at C(Pk)=t(P1)+⋯+t(Pk)C(P_k)=t(P_1)+\dots+t(P_k)C(Pk​)=t(P1​)+⋯+t(Pk​). The makespan is Cmax⁡(S)=C(Pm)C_{\max}(S)=C(P_m)Cmax​(S)=C(Pm​), and the maximum tardiness is

Tmax⁡(S)=max⁡kmax⁡i∈Pkmax⁡{0, C(Pk)−di}.T_{\max}(S)=\max_k\max_{i\in P_k}\max\{0,\,C(P_k)-d_i\}.Tmax​(S)=kmax​i∈Pk​max​max{0,C(Pk​)−di​}.

A schedule is feasible when Tmax⁡(S)=0T_{\max}(S)=0Tmax​(S)=0, that is, when every job meets its due date.

A sequence is in batch-EDD order (Definition 1) if no job in an earlier batch has a strictly later due date than a job in a later batch. Processing times and due dates are agreeable if pi<pjp_i<p_jpi​<pj​ implies di≤djd_i\le d_jdi​≤dj​. A schedule is consecutive when every batch is a block {i,i+1,…,k}\{i,i+1,\dots,k\}{i,i+1,…,k} of indices and the blocks appear in increasing order.

Algorithm DP2 computes values f(0),…,f(n)∈N∪{∞}f(0),\dots,f(n)\in\mathbb N\cup\{\infty\}f(0),…,f(n)∈N∪{∞}:

f(0)=0,f(j)=min⁡max⁡{1, j−B+1}≤i≤jfi(j),fi(j)={f(i−1)+pj,f(i−1)+pj≤di,∞,otherwise.f(0)=0,\qquad f(j)=\min_{\max\{1,\,j-B+1\}\le i\le j} f_i(j),\qquad f_i(j)=\begin{cases}f(i-1)+p_j,& f(i-1)+p_j\le d_i,\\ \infty,&\text{otherwise.}\end{cases}f(0)=0,f(j)=max{1,j−B+1}≤i≤jmin​fi​(j),fi​(j)={f(i−1)+pj​,∞,​f(i−1)+pj​≤di​,otherwise.​

Formalization targets

Goal: correctness of DP2

Index the jobs so that d1≤⋯≤dnd_1\le\dots\le d_nd1​≤⋯≤dn​ and p1≤⋯≤pnp_1\le\dots\le p_np1​≤⋯≤pn​. Then for every 0≤j≤n0\le j\le n0≤j≤n,

f(j)=min⁡{ Cmax⁡(S):S a batch schedule of jobs 1,…,j, Tmax⁡(S)=0 },f(j)=\min\{\,C_{\max}(S) : S \text{ a batch schedule of jobs } 1,\dots,j,\ T_{\max}(S)=0\,\},f(j)=min{Cmax​(S):S a batch schedule of jobs 1,…,j, Tmax​(S)=0},

with min⁡∅=∞\min\emptyset=\inftymin∅=∞. The minimum ranges over all schedules: any batching, any order. This is the paper's reading of f(j)f(j)f(j) as "the minimum completion time of jobs 1,…,j1,\dots,j1,…,j if they can be scheduled feasibly, and infinity otherwise".

Milestones

  1. Lemma 3. With agreeable processing times and due dates, if a feasible schedule exists, then a feasible schedule in batch-EDD order exists.
  2. Consecutive partition (justification of DP2). Under the index order above, if jobs 1,…,j1,\dots,j1,…,j can be scheduled feasibly, then some feasible schedule of minimum makespan is consecutive.
  3. FBEDD. With equal processing times and due dates in index order, the Full-Batch EDD schedule {1,…,B},{B+1,…,2B},…\{1,\dots,B\},\{B+1,\dots,2B\},\dots{1,…,B},{B+1,…,2B},… has Tmax⁡T_{\max}Tmax​ no larger than that of any batch schedule.

Significance

DP2 is the paper's feasibility test for 1/B/Tmax⁡1/B/T_{\max}1/B/Tmax​ with agreeable data. With a bisection over the common shift of the due dates, it yields a polynomial algorithm for minimizing Tmax⁡T_{\max}Tmax​. A correct statement of what DP2 computes is therefore the core of that result. The same consecutive-partition structure underlies the paper's DP1 (release times, equal processing times) and DP3 (number of tardy jobs), which are separate missions of this series.

No machine-checked proof of any of these statements is known. The dynamic program's correctness is argued in the paper only by reference ("the justification of this algorithm is similar to that of algorithm DP1"), and the index order it needs is left implicit. A formal proof pins down exactly which ordering of the jobs makes the recursion correct.

Difficulty

The recursion charges pjp_jpj​ for the last batch {i,…,j}\{i,\dots,j\}{i,…,j} and checks only did_idi​. Both shortcuts rely on the jobs being sorted by due date and by processing time at the same time. Lemma 3's exchange argument sorts a feasible schedule by due date, but it does not by itself produce consecutive blocks of a fixed index order. With ties in due dates the indexing also has to be compatible with processing times. Without that, the recursion is wrong: for B=2B=2B=2, p=(3,1)p=(3,1)p=(3,1), d=(5,5)d=(5,5)d=(5,5) it gives f(2)=1f(2)=1f(2)=1, while every schedule takes at least 333. The goal compares the DP with the optimum over all schedules, so the exchange arguments have to bridge arbitrary batchings and the consecutive ones the recursion enumerates. That bridge is the main step left to prove.

Formalization scope

  • Jobs are Fin n (job iii of the paper is index i−1i-1i−1); jobs 1,…,j1,\dots,j1,…,j are jobsUpTo n j. Data are natural numbers; the paper assumes integral data (p. 769).
  • A schedule is a List (Finset (Fin n)); validity requires nonempty batches of size at most BBB inside the job set, pairwise disjoint, covering the set. Batches start as early as possible. Batch time is the maximum processing time in the batch.
  • ∞\infty∞ is ⊤ : ℕ∞, and the goal's minimum is the infimum in ℕ∞, which is ⊤ exactly when no feasible schedule exists. DP2 is defined by the printed recursion, not as an optimum.
  • Explicit readings of loose phrases:
    • "jobs are indexed in increasing order of due dates" (p. 767) becomes Monotone d ∧ Monotone p for DP2 and its justification, and Monotone d for FBEDD;
    • "agreeable" (printed "pi≤pjp_i\le p_jpi​≤pj​ implies di≤djd_i\le d_jdi​≤dj​", which would force equal due dates for equal processing times) becomes the strict form pi<pj⇒di≤djp_i<p_j\Rightarrow d_i\le d_jpi​<pj​⇒di​≤dj​, a weaker hypothesis;
    • "optimally solves" for FBEDD becomes "valid, and Tmax⁡T_{\max}Tmax​ at most that of every valid schedule";
    • "a consecutive partition problem" becomes the existence of a consecutive minimum-makespan feasible schedule.
  • Not formalized: the O(nB)O(nB)O(nB) and O[nBlog⁡2(npmax⁡)]O[nB\log_2(np_{\max})]O[nBlog2​(npmax​)] running times, the bisection procedure, and the remark that npmax⁡np_{\max}npmax​ bounds Tmax⁡T_{\max}Tmax​.
  • Trivializations ruled out: the goal's minimum ranges over all valid schedules, not only batch-EDD or consecutive ones (which would assume the milestones), and DP2 is the printed recursion, not a restatement of the optimum.
  • Infrastructure needed: list-indexed schedules, exchange arguments on adjacent batches, and induction on prefix length for the recursion. The single-machine batch model is shared in spirit with missions 1 and 3 of this series. No published platform definition was reused, since nothing on batch machines exists yet.

Selected references

  • C.-Y. Lee, R. Uzsoy, L. A. Martin-Vega, Efficient Algorithms for Scheduling Semiconductor Burn-In Operations, Operations Research 40(4), 764–775, 1992. https://doi.org/10.1287/opre.40.4.764
  • Y. Ikura, M. Gimple, Efficient scheduling algorithms for a single batch processing machine, Operations Research Letters 5(2), 61–65, 1986. https://doi.org/10.1016/0167-6377(86)90104-5
  • C. N. Potts, M. Y. Kovalyov, Scheduling with batching: A review, European Journal of Operational Research 120(2), 228–249, 2000. https://doi.org/10.1016/S0377-2217(99)00153-8
7 thms1 active userReviewed
Previous

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