12.4 Job Sequencing, Dispatching Rules, and Flow Shop Scheduling
Key Takeaways
- Sequencing performance is judged on flow time (completion minus release), lateness (completion minus due date, which may be negative), tardiness (lateness truncated at zero), makespan, and the number of tardy jobs.
- On a single machine with all jobs available at time zero, Shortest Processing Time (SPT) provably minimizes mean flow time, mean lateness, mean waiting time, and average work-in-process.
- Earliest Due Date (EDD) sequencing provably minimizes maximum lateness and maximum tardiness on a single machine, while Moore's algorithm minimizes the number of tardy jobs.
- Critical Ratio, CR = (Due date - Today) / Remaining processing time, is a dynamic rule that re-ranks jobs every dispatch decision; CR < 1.0 means the job is already behind and CR > 1.0 means it has slack.
- For a two-machine flow shop in which every job visits Machine 1 then Machine 2, Johnson's rule yields the makespan-minimizing sequence: repeatedly select the smallest remaining time, scheduling it earliest if it is on Machine 1 and latest if it is on Machine 2.
12.4 Job Sequencing, Dispatching Rules, and Flow Shop Scheduling
Aggregate planning sets the workforce, the master production schedule sets the end items, and MRP releases the orders. Sequencing answers the last and most immediate question on the shop floor: of the jobs now queued in front of this machine, which one runs next? The NCEES FE Industrial and Systems specification lists sequencing alongside inventory, aggregate planning, MRP, and the theory of constraints under Planning and Scheduling, and it is tested with short, fully computable single-machine and two-machine problems.
1. Scheduling Terminology and Performance Measures
Consider $n$ jobs, all available at time zero, queued at a single work center. For job $i$ let:
- $p_i$ = processing time (including setup)
- $r_i$ = release (ready) time; here $r_i = 0$ for all jobs
- $d_i$ = due date
- $C_i$ = completion time under the chosen sequence
The standard measures follow directly:
| Measure | Definition | Interpretation |
|---|---|---|
| Flow time $F_i$ | $F_i = C_i - r_i$ (here $= C_i$) | Total time the job spends in the shop; the job's manufacturing lead time |
| Waiting time $W_i$ | $W_i = F_i - p_i$ | Queue time, the non-value-added portion of flow time |
| Lateness $L_i$ | $L_i = C_i - d_i$ | Signed: negative means early, positive means late |
| Tardiness $T_i$ | $T_i = \max(0, L_i)$ | Never negative: earliness earns no credit |
| Makespan $C_{\max}$ | $\max_i C_i$ | Time to finish the entire job set |
| Number tardy $N_T$ | Count of jobs with $T_i > 0$ | How many customers are affected |
Exam Watchout — Lateness versus Tardiness: Lateness can be negative; tardiness cannot. A job finishing 6 days early has lateness $-6$ and tardiness $0$. Averaging lateness across a job set therefore understates customer impact, which is why service targets are written on tardiness, not lateness.
Two Derived Quantities
On a single machine with no idle time, the makespan is fixed at $\sum p_i$ no matter what sequence is chosen. Two other quantities do change with sequence:
The second expression is Little's Law applied to the shop: average WIP equals total flow time divided by the makespan. Minimizing mean flow time is therefore mathematically identical to minimizing average WIP.
A third identity is worth memorizing because it explains why one rule can win two objectives at once:
Because the mean due date $\bar{d}$ is a property of the job set and not of the sequence, any sequence that minimizes mean flow time simultaneously minimizes mean lateness.
2. Priority (Dispatching) Rules
A dispatching rule is a formula the operator or MES applies to pick the next job from the queue. Rules are classed as static (priority fixed when the job arrives) or dynamic (priority recomputed at every dispatch decision).
| Rule | Priority Basis | Type | Primary Strength | Primary Weakness |
|---|---|---|---|---|
| FCFS (First Come, First Served) | Arrival order | Static | Perceived fairness; trivially simple; the default queue discipline | Ignores both job length and due date; poor on every quantitative measure |
| SPT (Shortest Processing Time) | Smallest $p_i$ first | Static | Minimizes mean flow time, mean lateness, mean waiting time, and average WIP | Long jobs can starve indefinitely if new short jobs keep arriving |
| LPT (Longest Processing Time) | Largest $p_i$ first | Static | Useful for loading parallel machines so the long jobs start first | Worst mean flow time on a single machine |
| EDD (Earliest Due Date) | Smallest $d_i$ first | Static | Minimizes maximum lateness and maximum tardiness | Ignores processing time; can inflate mean flow time |
| CR (Critical Ratio) | Smallest $CR$ first | Dynamic | Balances remaining time against remaining work; responds to schedule slippage | Must be recomputed at every dispatch |
| S/RO (Slack per Remaining Operation) | Smallest slack per operation first | Dynamic | Accounts for how many operations remain downstream | Requires full routing data |
| WSPT (Weighted SPT) | Largest $w_i / p_i$ first | Static | Minimizes weighted mean flow time when jobs carry unequal value | Requires defensible weights |
| Random / SIRO | Arbitrary | Static | Benchmark baseline only | No operational merit |
Critical Ratio and Slack
- $CR > 1.0$: The job has slack and is ahead of schedule.
- $CR = 1.0$: The job is exactly on schedule and must run without delay.
- $CR < 1.0$: The job is already behind; it will be late unless expedited. A negative $CR$ means the due date has already passed.
The job with the smallest critical ratio is dispatched first. The related slack rules are:
Optimality Results to Memorize
For $n$ jobs on one machine, all available at time zero:
- SPT minimizes mean flow time. Proof sketch: swapping any adjacent pair so the shorter job runs first reduces the sum of completion times, so no sequence with a longer job ahead of a shorter one can be optimal. Because $\bar{L} = \bar{F} - \bar{d}$ and average WIP $= \sum F_i / \sum p_i$, SPT simultaneously minimizes mean lateness, mean waiting time, and average WIP.
- EDD minimizes maximum lateness $L_{\max}$ (and therefore maximum tardiness). This is Jackson's rule.
- Moore's algorithm minimizes the number of tardy jobs $N_T$: sequence by EDD; scan forward until the first job becomes tardy; from the sequence up to and including that job, remove the one with the largest processing time and set it aside to run last; repeat on the shortened list.
- WSPT (largest $w_i/p_i$ first) minimizes weighted mean flow time, the correct rule when jobs carry unequal holding cost or customer value.
Critical Limitation: These theorems hold for a single machine with all jobs available at time zero. Once jobs arrive dynamically, machines run in parallel, or routings differ, general job-shop scheduling becomes NP-hard and dispatching rules become heuristics evaluated by simulation, not proofs.
3. Flow Shop Scheduling and Johnson's Rule
In a flow shop, every job visits the same work centers in the same technological order. The classical two-machine case has an exact polynomial-time solution.
Johnson's Rule (Two Machines, n Jobs)
Given $n$ jobs each requiring time $a_i$ on Machine 1 followed by $b_i$ on Machine 2, the sequence that minimizes makespan (equivalently, minimizes total idle time on Machine 2) is constructed as follows:
Johnson's Rule Algorithm (2 machines, n jobs)
1. List every processing time a_i (Machine 1) and b_i (Machine 2).
2. Find the SMALLEST unassigned time in the whole list.
|
+-- If it is on MACHINE 1 -> place that job in the EARLIEST
| open position (front of sequence)
+-- If it is on MACHINE 2 -> place that job in the LATEST
open position (back of sequence)
3. Remove that job from further consideration.
4. Repeat until every position is filled.
(Break ties arbitrarily; alternate optimal sequences exist.)
The logic is intuitive: jobs with short Machine-1 times should go first so Machine 2 starts as early as possible, and jobs with short Machine-2 times should go last so Machine 2 is not left idle at the end waiting for a long finishing operation.
Johnson's rule extends exactly to three machines only when a special condition holds — either $\min a_i \ge \max$ of the middle-machine times, or $\min c_i \ge \max$ of the middle-machine times — in which case the middle machine is collapsed by forming $a_i' = a_i + b_i$ and $b_i' = b_i + c_i$ and applying the two-machine rule. Beyond that, flow shop scheduling is NP-hard.
Reading a Gantt Chart
A Gantt chart plots each machine on a horizontal time axis with a bar for every job. It is the standard way to expose two distinct losses:
- Idle time: a machine has no job available (starvation, typically on Machine 2 at the start of the schedule).
- Blocking: a machine has finished but cannot discharge because the downstream buffer is full.
Total idle time on Machine 2 equals the makespan minus the sum of the Machine 2 processing times; minimizing makespan in a two-machine flow shop is therefore precisely equivalent to minimizing Machine 2 idle time.
4. Step-by-Step Worked Engineering Calculations
Worked Example 12.4.1: Single-Machine Sequencing under FCFS, SPT, and EDD
Problem: Five jobs wait at a CNC machining center at time zero. Processing times and due dates (in days from now) are:
| Job | Processing Time $p_i$ (days) | Due Date $d_i$ (days) |
|---|---|---|
| A | 6 | 9 |
| B | 2 | 25 |
| C | 8 | 15 |
| D | 3 | 12 |
| E | 9 | 28 |
Jobs arrived in the order A, B, C, D, E. For each of FCFS, SPT, and EDD, determine the sequence, mean flow time, mean tardiness, maximum lateness, number of tardy jobs, and average number of jobs in the system.
Solution:
Total processing time $\sum p_i = 6 + 2 + 8 + 3 + 9 = 28$ days, so the makespan is 28 days under every sequence (single machine, no idle time).
Sequence 1 — FCFS (A, B, C, D, E)
| Job | $p_i$ | Completion $C_i$ | $d_i$ | Lateness $L_i$ | Tardiness $T_i$ |
|---|---|---|---|---|---|
| A | 6 | 6 | 9 | $-3$ | 0 |
| B | 2 | 8 | 25 | $-17$ | 0 |
| C | 8 | 16 | 15 | $+1$ | 1 |
| D | 3 | 19 | 12 | $+7$ | 7 |
| E | 9 | 28 | 28 | $0$ | 0 |
| Total | 28 | 77 | — | $-12$ | 8 |
Sequence 2 — SPT (B, D, A, C, E), ordering by $p_i$ = 2, 3, 6, 8, 9
| Job | $p_i$ | Completion $C_i$ | $d_i$ | Lateness $L_i$ | Tardiness $T_i$ |
|---|---|---|---|---|---|
| B | 2 | 2 | 25 | $-23$ | 0 |
| D | 3 | 5 | 12 | $-7$ | 0 |
| A | 6 | 11 | 9 | $+2$ | 2 |
| C | 8 | 19 | 15 | $+4$ | 4 |
| E | 9 | 28 | 28 | $0$ | 0 |
| Total | 28 | 65 | — | $-24$ | 6 |
Sequence 3 — EDD (A, D, C, B, E), ordering by $d_i$ = 9, 12, 15, 25, 28
| Job | $p_i$ | Completion $C_i$ | $d_i$ | Lateness $L_i$ | Tardiness $T_i$ |
|---|---|---|---|---|---|
| A | 6 | 6 | 9 | $-3$ | 0 |
| D | 3 | 9 | 12 | $-3$ | 0 |
| C | 8 | 17 | 15 | $+2$ | 2 |
| B | 2 | 19 | 25 | $-6$ | 0 |
| E | 9 | 28 | 28 | $0$ | 0 |
| Total | 28 | 79 | — | $-10$ | 2 |
Comparison
| Measure | FCFS | SPT | EDD | Winner |
|---|---|---|---|---|
| Mean flow time (days) | 15.4 | 13.0 | 15.8 | SPT |
| Mean lateness (days) | $-2.4$ | $-4.8$ | $-2.0$ | SPT |
| Average jobs in system | 2.75 | 2.32 | 2.82 | SPT |
| Maximum lateness (days) | $+7$ | $+4$ | $+2$ | EDD |
| Mean tardiness (days) | 1.6 | 1.2 | 0.4 | EDD |
| Number of jobs tardy | 2 | 2 | 1 | EDD |
| Makespan (days) | 28 | 28 | 28 | Tie |
Engineering interpretation: SPT delivers the lowest mean flow time (13.0 versus 15.4 and 15.8 days) and therefore the lowest average WIP — 2.32 jobs on the floor instead of 2.75 or 2.82. EDD delivers the best customer-facing result: maximum lateness falls from 7 days to 2 days and only one job is tardy. The two rules optimize different objectives, and the choice is a business decision, not a mathematical one. Note also the identity check: mean due date $= (9 + 25 + 15 + 12 + 28)/5 = 17.8$ days, and for SPT $\bar{L} = 13.0 - 17.8 = -4.8$, exactly as $\bar{L} = \bar{F} - \bar{d}$ predicts.
Worked Example 12.4.2: Johnson's Rule in a Two-Machine Flow Shop
Problem: Five jobs must each be milled on Machine 1 and then deburred on Machine 2, in that order. Processing times in hours:
| Job | Machine 1 ($a_i$) | Machine 2 ($b_i$) |
|---|---|---|
| J1 | 5 | 2 |
| J2 | 1 | 6 |
| J3 | 9 | 7 |
| J4 | 3 | 8 |
| J5 | 10 | 4 |
- Apply Johnson's rule to find the makespan-minimizing sequence.
- Compute the makespan and the idle time on each machine.
- Compare against processing the jobs in numerical order (J1 through J5).
Solution:
Step 1: Apply Johnson's Rule Positions to fill: $[_,, _,, _,, _,, _,]$.
- Smallest time in the whole table is 1 (J2 on Machine 1) $\to$ Machine 1, so J2 takes the earliest open position: $[J2, _, _, _, _]$.
- Next smallest among remaining jobs is 2 (J1 on Machine 2) $\to$ Machine 2, so J1 takes the latest open position: $[J2, _, _, _, J1]$.
- Next is 3 (J4 on Machine 1) $\to$ earliest open: $[J2, J4, _, _, J1]$.
- Next is 4 (J5 on Machine 2) $\to$ latest open: $[J2, J4, _, J5, J1]$.
- Only J3 remains: $[J2, J4, J3, J5, J1]$.
Optimal sequence: J2 $\to$ J4 $\to$ J3 $\to$ J5 $\to$ J1
Step 2: Build the Gantt schedule Machine 2 can start a job only when both (a) Machine 1 has released it and (b) Machine 2 is free.
| Job | M1 Start | M1 Finish | M2 Start = max(M1 finish, M2 free) | M2 Finish |
|---|---|---|---|---|
| J2 | 0 | 1 | max(1, 0) = 1 | 7 |
| J4 | 1 | 4 | max(4, 7) = 7 | 15 |
| J3 | 4 | 13 | max(13, 15) = 15 | 22 |
| J5 | 13 | 23 | max(23, 22) = 23 | 27 |
| J1 | 23 | 28 | max(28, 27) = 28 | 30 |
Idle time:
- Machine 1 total work $= 5 + 1 + 9 + 3 + 10 = 28$ hours, so Machine 1 idles $30 - 28 = 2$ hours (all at the end, waiting for the schedule to close out).
- Machine 2 total work $= 2 + 6 + 7 + 8 + 4 = 27$ hours, so Machine 2 idles $30 - 27 = 3$ hours: 1 hour of initial starvation (0 to 1), 1 hour waiting for J5 (22 to 23), and 1 hour waiting for J1 (27 to 28).
Step 3: Compare against numerical order (J1, J2, J3, J4, J5)
| Job | M1 Start | M1 Finish | M2 Start | M2 Finish |
|---|---|---|---|---|
| J1 | 0 | 5 | 5 | 7 |
| J2 | 5 | 6 | max(6, 7) = 7 | 13 |
| J3 | 6 | 15 | max(15, 13) = 15 | 22 |
| J4 | 15 | 18 | max(18, 22) = 22 | 30 |
| J5 | 18 | 28 | max(28, 30) = 30 | 34 |
Makespan $= 34$ hours, with Machine 2 idle for $34 - 27 = 7$ hours.
Engineering conclusion: Johnson's rule reduces the makespan from 34 hours to 30 hours, an 11.8% reduction, and cuts Machine 2 idle time from 7 hours to 3 hours — with zero capital investment and no change to any processing time. The gain comes entirely from starting with the job that clears Machine 1 fastest (J2, 1 hour) and finishing with the job that occupies Machine 2 for the shortest time (J1, 2 hours), so the downstream machine is fed early and drained late.
5. NCEES Reference Handbook Tips and Realistic Exam Traps
- Makespan Does Not Change on One Machine: With a single machine, no idle time, and all jobs available at time zero, every sequence finishes at $\sum p_i$. If a question asks which rule minimizes makespan in that setting, the answer is that all rules tie. Makespan only becomes sequence-dependent with two or more machines.
- Tardiness Is Truncated at Zero: When totaling tardiness, replace every negative lateness with 0 before summing. Averaging raw lateness values (including the negatives) understates customer impact and is the most common numerical error on these problems.
- Match the Rule to the Objective: SPT for mean flow time, mean lateness, or average WIP; EDD for maximum lateness or maximum tardiness; Moore's algorithm for the number of tardy jobs; WSPT when jobs carry unequal weights. Selecting SPT for a maximum-lateness question is the standard distractor.
- Critical Ratio Direction: The job with the smallest critical ratio has the highest priority. $CR < 1.0$ signals a job already behind schedule. Choosing the largest CR inverts the rule.
- Johnson's Rule Placement Direction: A smallest time on Machine 1 goes to the front; a smallest time on Machine 2 goes to the back. Reversing the two directions produces a valid-looking but non-optimal sequence, and it is the built-in distractor on nearly every Johnson's rule item.
- Check Johnson's Applicability: Johnson's rule requires a true flow shop — every job passes through Machine 1 and then Machine 2 in the same order, with no passing and no missed operations. It does not apply to a job shop with mixed routings.
Four jobs are waiting at a single grinding machine, all available now, with processing times of 4, 7, 2, and 5 hours (listed in their order of arrival). If the dispatcher sequences the jobs using the Shortest Processing Time (SPT) rule, what is the resulting mean flow time?
A production control analyst must sequence eight jobs on a single heat-treat furnace. Management's stated priority is that no individual customer order should be more than a few days past its promised date, so the analyst is asked to minimize the maximum lateness across the job set. Which dispatching rule provably achieves this objective, and why?
Four jobs must each be processed first on a milling machine (Machine 1) and then on a finishing machine (Machine 2). Processing times in hours are: Job A (M1 = 6, M2 = 4), Job B (M1 = 2, M2 = 9), Job C (M1 = 8, M2 = 3), and Job D (M1 = 5, M2 = 7). Using Johnson's rule, what is the makespan-minimizing sequence?