7.3 Production Sequencing, Dispatching Rules & Johnson's Algorithm
Key Takeaways
Single-machine scheduling performance metrics—mean flow time, makespan, mean lateness, and mean tardiness—capture distinct operational objectives; while makespan is fixed for any non-preemptive sequence, flow time and tardiness depend heavily on job dispatch order.
Shortest Processing Time (SPT) mathematically minimizes mean flow time, mean completion time, mean waiting time, and average work-in-process (WIP) level via Little's Law.
Earliest Due Date (EDD) minimizes the maximum lateness (L_{max}) and maximum tardiness (T_{max}) according to Jackson's Theorem, making it the optimal rule when severe contractual penalties apply to late jobs.
Critical Ratio () provides a dynamic dispatching index: signals a job behind schedule, is exactly on schedule, and represents positive slack.
Johnson's Rule guarantees the optimal minimum makespan for n jobs across a two-machine flow shop by sequencing jobs with shortest processing time on Machine 1 earliest and Machine 2 latest.
Production Sequencing, Dispatching Rules & Johnson's Algorithm
Operations scheduling transforms aggregate production plans and master production schedules into actionable, short-interval execution sequences on the factory floor. While aggregate planning operates across monthly buckets, production scheduling allocates specific jobs, tooling, and labor to discrete machines over shift, hourly, or minute-by-minute timeframes.
In manufacturing environments, sequencing determines the exact order in which waiting jobs are processed at a workstation. Because machine capacity is finite, queue dispatching decisions dictate manufacturing lead times, work-in-process (WIP) accumulation, machine utilization, and on-time customer delivery performance.
1. Single-Machine Scheduling Framework & Performance Measures
The fundamental building block of scheduling theory is the single-machine model (). In this formulation, distinct jobs are available at time awaiting processing on a single, continuously available processing unit. Preemption is prohibited (once processing begins on a job, it must run to completion without interruption).
Primary Job Attributes
For each job :
- Processing Time (): The required machine execution time (including setup, run time, and teardown).
- Due Date (): The committed contractual completion deadline.
- Ready / Release Time (): The earliest time job is physically available for processing ( for static scheduling).
Mathematical Performance Metrics
Let denote the completion time of job under a given schedule sequence. The primary operational evaluation metrics are formulated as follows:
- Flow Time (): The total elapsed span spent by job in the shop environment:
- Makespan (): The total completion time of the entire job batch: Crucial Property: For any non-preemptive single-machine problem without inserted idle time, makespan is strictly constant, equal to the sum of all processing times regardless of the dispatch sequence.
- Mean Flow Time (): The average system residence time across all jobs:
- Average Work-in-Process (): By Little's Law (), the average number of jobs residing in the shop is: Minimizing mean flow time directly minimizes factory WIP inventory.
- Lateness (): The deviation of completion time from committed due date:
- : Job is late (completed after due date).
- : Job is early (completed ahead of due date).
- Mean Lateness (): .
- Tardiness (): The non-negative measure of lateness (penalizes tardy jobs while treating early completion as zero penalty):
- Mean Tardiness (): .
- Maximum Tardiness (): .
- Number of Tardy Jobs (): The count of jobs missing their committed due dates:
2. Priority Dispatching Rules & Optimality Theorems
When multiple jobs queue before a machine, dispatching heuristics prioritize the sequence of execution.
Dispatching Rule Taxonomy:
├── Static Rules (Calculated once at t = 0)
│ ├── FCFS (First-Come, First-Served) -> Baseline fairness, poor inventory efficiency
│ ├── SPT (Shortest Processing Time) -> Minimizes mean flow time, completion time & WIP
│ ├── WSPT (Weighted SPT / Smith) -> Minimizes weighted flow time sum(w_i * F_i)
│ ├── EDD (Earliest Due Date) -> Minimizes maximum lateness L_max & max tardiness T_max
│ └── Moore-Hodgson Algorithm -> Minimizes total number of tardy jobs N_T
└── Dynamic Rules (Recalculated dynamically as current time t advances)
├── CR (Critical Ratio) -> Sequence ascending CR = (d_i - t) / p_i
└── STR (Slack Time Remaining) -> Sequence ascending STR = (d_i - t) - p_i
Shortest Processing Time (SPT) Rule
Under SPT, jobs are ordered in ascending order of their processing durations:
Important
Smith's Theorem (1956): The Shortest Processing Time (SPT) sequencing rule mathematically guarantees the minimum mean flow time (), minimum mean completion time, minimum mean waiting time, and minimum average work-in-process () for any single-machine scheduling problem.
Proof Intuition: Under sequence , completion times accumulate as , , ..., . Summing completion times yields: To minimize this dot product, the largest multiplier coefficients () must pair with the smallest processing times , proving that sorting ascending minimizes total flow time.
Weighted Shortest Processing Time (WSPT): If jobs carry different holding or inventory carrying weights , the WSPT rule (Smith's Rule) minimizes total weighted flow time by sequencing jobs in descending order of the ratio:
Earliest Due Date (EDD) Rule
Under EDD, jobs are ordered in ascending order of their committed delivery due dates:
Important
Jackson's Theorem (1955): The Earliest Due Date (EDD) sequencing rule mathematically minimizes the maximum lateness () and the maximum tardiness () for any single-machine scheduling problem.
When an industrial facility faces steep contractual penalty clauses for any job delivered exceptionally late, EDD is the provably optimal dispatching policy.
Critical Ratio (CR) Rule
Critical Ratio () is an operational dynamic dispatching heuristic that evaluates the ratio of available slack time to remaining work at the current scheduling decision epoch :
- (Behind Schedule): Available time until due date is less than remaining processing duration. The job will be late unless expedited. Priority increases as decreases.
- (On Schedule): Job has zero slack; if initiated immediately, it completes precisely on its due date.
- (Ahead of Schedule): Job has positive slack time available.
- (Already Past Due): Due date has already passed (). These jobs require immediate emergency intervention.
Dispatch Logic: Sequence available jobs in ascending order of Critical Ratio (smallest first).
Slack Time Remaining (STR)
Slack Time Remaining computes the absolute surplus margin before a job must commence to meet its deadline:
Dispatching prioritizes jobs with the lowest . A variant for multi-operation routings is Slack Time Remaining per Operation ():
Moore-Hodgson Algorithm (Minimizing )
To minimize the total number of late jobs (), Moore and Hodgson developed an exact algorithm:
- Sequence all jobs according to the EDD rule ().
- Evaluate job completions sequentially. Find the first tardy job in the sequence (). If no jobs are tardy, the current schedule is optimal.
- Identify the job in the current set of scheduled jobs that has the largest processing time ().
- Remove that job from the active schedule and assign it to a rejected pool to be processed at the very end of the schedule (in any order).
- Recalculate completion times for remaining jobs and repeat steps 2–4 until no scheduled jobs are tardy. The resulting schedule minimizes .
3. Two-Machine Flow Shop Sequencing: Johnson's Rule
When production expands beyond a single workstation to multiple processing centers in series, scheduling complexity escalates rapidly. The classical Two-Machine Flow Shop Problem () models jobs processed sequentially across two machines, and .
Two-Machine Flow Shop Architecture:
[Job Queue] ===> [ Machine 1 (A_i) ] ===> [ Machine 2 (B_i) ] ===> [ Completed ]
(All n jobs) First Operation Second Operation Shipment
Problem Formulation
- Every job must be processed first on Machine 1, and subsequently on Machine 2.
- Operation time for job on Machine 1 is .
- Operation time for job on Machine 2 is .
- Machine 2 cannot begin working on job until Machine 1 completes job ().
- Both machines process jobs in identical permutation sequence.
Johnson's Algorithm (1954)
S.M. Johnson proved that a simple sorting heuristic finds the globally optimal sequence that minimizes the total makespan () across both machines.
Step-by-Step Algorithmic Procedure:
- Compile Processing Matrix: Tabulate processing times (Machine 1) and (Machine 2) for all unscheduled jobs.
- Identify Global Minimum: Scan all remaining processing times across both machines to locate the smallest value:
- Conditional Assignment:
- If the minimum processing time occurs on Machine 1 (): Schedule job in the earliest available unassigned position (toward the beginning of the sequence).
- If the minimum processing time occurs on Machine 2 (): Schedule job in the latest available unassigned position (toward the end of the sequence).
- Tie-Breaking Protocols:
- If a tie occurs between Machine 1 and Machine 2 (), place job at the beginning and job at the end.
- If a tie occurs between two jobs on Machine 1 (), arbitrarily place either job first.
- If a tie occurs between two jobs on Machine 2 (), arbitrarily place either job last.
- Iterate: Remove the assigned job from the candidate list and repeat steps 2–4 until all jobs have been sequenced.
Gantt Chart Construction & Makespan Calculation
Let denote the sequence determined by Johnson's algorithm. Tracking completion times recursively:
- Machine 1 Completion Times: Machine 1 runs continuously with zero idle time:
- Machine 2 Completion Times: Machine 2 cannot start job until Machine 2 finishes job AND Machine 1 finishes job :
- Machine 2 Idle Time: Idle time occurs on Machine 2 whenever (Machine 2 is waiting for Machine 1 to finish):
- Total Makespan (): The completion time of the final job on Machine 2:
4. Job Shop Scheduling Complexity and Advanced Heuristics
While flow shops enforce identical, unidirectional routings across all jobs, job shops () feature complex, multi-directional routings. Each job follows an individualized technological route sheet (e.g., Job 1 routes Lathe Mill Grind; Job 2 routes Mill Lathe Assembly).
Combinatorial Complexity
A general job shop with jobs and machines exhibits extreme combinatorial complexity. The theoretical schedule space contains active schedules. For a modest shop with 10 jobs and 5 machines:
General job shop scheduling is proven -hard. Finding guaranteed optimal schedules via exact mathematical programming (mixed-integer linear programming, branch-and-bound) is computationally intractable for industrial scales, forcing reliance on advanced heuristics.
The Shifting Bottleneck Heuristic (SBH)
Developed by Adams, Balas, and Zawack (1988), the Shifting Bottleneck Heuristic is one of the most powerful and widely cited algorithms for job shop scheduling:
- Decomposition: The overall job shop problem is decomposed into single-machine subproblems.
- Bottleneck Identification: For each unsequenced machine, release dates and due dates are derived from preceding and succeeding operations. Each machine is analyzed as a single-machine problem with release dates minimizing maximum lateness (, solved using Carlier's exact algorithm or Schrage's heuristic).
- Bottleneck Selection: The machine exhibiting the largest maximum lateness is identified as the current critical bottleneck.
- Fix Sequence: The sequence of operations on this bottleneck machine is permanently locked into the global schedule.
- Shifting / Re-optimization Phase: Every time a new bottleneck machine is sequenced, previously scheduled machines are systematically re-optimized to capture newly created schedule constraints.
- Termination: Repeat until all machines have been sequenced.
5. Worked Engineering Examples
Example 1: Comparing Dispatching Rules on a Single Machine
Problem Statement: Five jobs are waiting to be processed on a CNC vertical machining center at time . Job processing times and committed due dates are:
| Job | Processing Time (, hours) | Due Date (, hours) |
|---|---|---|
| J1 | 5 | 9 |
| J2 | 3 | 6 |
| J3 | 8 | 15 |
| J4 | 2 | 7 |
| J5 | 6 | 12 |
Evaluate the schedule under Shortest Processing Time (SPT) and compute: makespan (), mean flow time (), average WIP (), maximum lateness (), and maximum tardiness ().
Solution:
Step 1: Order jobs by SPT ( ascending): Sequence: J4 (2) J2 (3) J1 (5) J5 (6) J3 (8)
Step 2: Compute schedule timeline:
| Sequence | Job | Completion Time () | Due Date () | Lateness () | Tardiness () | |
|---|---|---|---|---|---|---|
| 1 | J4 | 2 | 2 | 7 | 0 | |
| 2 | J2 | 3 | 6 | 0 | ||
| 3 | J1 | 5 | 9 | 1 | ||
| 4 | J5 | 6 | 12 | 4 | ||
| 5 | J3 | 8 | 15 | 9 | ||
| Total | 24 | 57 | 14 |
Step 3: Compute Performance Metrics:
- Makespan ():
- Total Flow Time:
- Mean Flow Time ():
- Average WIP ():
- Maximum Lateness ():
- Maximum Tardiness ():
- Number of Tardy Jobs (): 3 jobs (J1, J5, J3)
(Note: Under EDD [J2 J4 J1 J5 J3] the completion times are 3, 5, 10, 16, and 24 hours, so total flow time rises to 58 hours and hours. is still +9 hours with the same three tardy jobs. That is the best possible here: some job must finish at , and the latest due date is 15, so no sequence can have below 9.)
Example 2: Two-Machine Flow Shop Optimization via Johnson's Rule
Problem Statement: Five structural weldments must be processed sequentially across two dedicated workstations: Fit-up/Tack Welding (Machine 1) and Final Robotic Seam Welding (Machine 2). Processing times (in hours) are:
| Job | Machine 1 () | Machine 2 () |
|---|---|---|
| J1 | 4 | 5 |
| J2 | 8 | 3 |
| J3 | 2 | 7 |
| J4 | 6 | 8 |
| J5 | 7 | 4 |
Determine the optimal sequence using Johnson's algorithm and calculate total makespan and idle time on Machine 2.
Solution:
Step 1: Execute Johnson's Algorithm Iterations:
- Iteration 1: Smallest processing time overall is 2 hours (Job 3 on Machine 1). Because it is on Machine 1, place J3 in the first available slot.
Current sequence:
[ J3, __, __, __, __ ] - Iteration 2: Smallest remaining processing time is 3 hours (Job 2 on Machine 2). Because it is on Machine 2, place J2 in the last available slot.
Current sequence:
[ J3, __, __, __, J2 ] - Iteration 3: Smallest remaining processing times are 4 hours (Job 1 on Machine 1, and Job 5 on Machine 2):
- Job 1 ( on M1) place J1 in earliest available slot.
- Job 5 ( on M2) place J5 in latest available slot.
Current sequence:
[ J3, J1, __, J5, J2 ]
- Iteration 4: Only Job 4 remains. Place J4 in the final remaining middle slot. Optimal sequence: [ J3 J1 J4 J5 J2 ]
Step 2: Construct Schedule Timeline:
| Sequence | Job | Start | Duration () | End () | Start | Duration () | End () | Idle Time |
|---|---|---|---|---|---|---|---|---|
| 1 | J3 | 0 | 2 | 2 | 2 | 7 | 9 | 2 (from 0 to 2) |
| 2 | J1 | 2 | 4 | 6 | 9 | 5 | 14 | 0 |
| 3 | J4 | 6 | 6 | 12 | 14 | 8 | 22 | 0 |
| 4 | J5 | 12 | 7 | 19 | 22 | 4 | 26 | 0 |
| 5 | J2 | 19 | 8 | 27 | 27 | 3 | 30 | 1 (from 26 to 27) |
Step 3: Evaluate Results:
- Makespan ():
- Machine 1 Total Runtime: (finishes at )
- Machine 2 Idle Time: (waiting for J3 to finish on M1) (waiting from to for J2 to finish on M1) = total idle time.
- Machine 2 runtime is hours. Total makespan = .
A production shop has five independent jobs waiting for execution at a single workstation at time t = 0. The job processing times are: Job 1 = 5 hr, Job 2 = 3 hr, Job 3 = 8 hr, Job 4 = 2 hr, and Job 5 = 6 hr. If the shop supervisor sequences the jobs using the Shortest Processing Time (SPT) dispatching rule, what is the resulting mean flow time?
14.2 hours
11.4 hours
11.6 hours
17.4 hours
Five jobs must be processed sequentially through two machines in series (Machine 1 then Machine 2). Processing times are: J1 (M1=4, M2=5), J2 (M1=8, M2=3), J3 (M1=2, M2=7), J4 (M1=6, M2=8), J5 (M1=7, M2=4). Using Johnson's Rule, what is the optimal sequence and the total makespan?
Sequence: J3 - J4 - J1 - J5 - J2; Makespan = 34 hours
Sequence: J2 - J5 - J4 - J1 - J3; Makespan = 37 hours
Sequence: J1 - J3 - J4 - J2 - J5; Makespan = 32 hours
Sequence: J3 - J1 - J4 - J5 - J2; Makespan = 30 hours
Sections you finish are checked off in the contents.