Skip to main content

Single-Machine Scheduling

SFC · Operational · Foundation of scheduling theory

Graham three-field classification 1 | β | γ

The single-machine scheduling problem is the foundation of the entire scheduling literature. A single processor, n jobs, each with a processing time pj, weight wj and due date dj. Choose the sequence that minimises a chosen objective — total completion time, weighted completion time, maximum lateness, tardy-job count, or weighted tardiness. Objectives that look similar can be strikingly different computationally: ΣwjCj is solved in O(n log n) by Smith’s rule, but ΣwjTj is strongly NP-hard.

Where This Decision Fits

APICS planning hierarchy — the highlighted level is what this page optimises

S&OPYears
MPSMonths
MRPWeeks
CRPDays–Weeks
SFCHours–Days

The Problem

Eight jobs, one machine, six objectives

A single bottleneck resource must process n = 8 jobs. Each job j has a processing time pj, a weight wj, and a due date dj. No preemption: once started, a job runs to completion. All jobs are available at time 0 (no release dates). The sequence we pick determines every job’s completion time Cj and therefore every objective.

Historically, single-machine theory was the first and most fundamental area of scheduling research. Every optimal dispatching rule here becomes a subroutine for multi-machine algorithms: SPT and EDD are embedded in Giffler-Thompson job-shop active schedules; WSPT appears inside Shifting-Bottleneck; ATC drives parallel-machine tardiness heuristics.

Jobpjwjdj
Canonical objectives (1 | | γ) Cj = Σk:π(k)≤j pπ(k)   // completion time given sequence π
min Σ Cj   // total completion — SPT optimal, O(n log n)
min Σ wjCj   // weighted — WSPT (Smith 1956), O(n log n)
min Lmax = max(Cj−dj)   // maximum lateness — EDD (Jackson 1955), O(n log n)
min Σ Uj, Uj=[Cj>dj]   // tardy-job count — Moore (1968), O(n log n)
min Σ Tj, Tj=max(0,Cj−dj)   // total tardiness — NP-hard (Du & Leung 1990)
min Σ wjTj   // weighted tardiness — strongly NP-hard

There are n! = 40,320 possible sequences for eight jobs — small enough to brute-force for verification, but the point here is the algorithmic landscape. For five of the six objectives there is a provably optimal rule that runs in O(n log n); only ΣTj and ΣwjTj require dynamic programming or branch-and-bound.

Manufacturing framework Multi-machine extension (PFSP)

Try It Yourself

Six algorithms, six objectives — see which rule is optimal for which goal

Single-Machine Scheduler

8 jobs · 1 machine · 6 objectives
Tight deadlines: all eight jobs are due within a short window. Moore’s algorithm should minimise the number of tardy jobs; the tardiness objectives are non-trivial.

Click “Solve & Compare” to run all six algorithms on the current scenario.

Algorithm ΣCj ΣwjCj Lmax ΣUj ΣTj ΣwjTj
Click Solve to run
Select an algorithm above and click Solve to see the sequence and completion times.
Reading the table
Gold cells are the provably optimal value for that column objective (the rule that matches is marked as exact in its algorithm card below). Green cells mark the minimum found by any algorithm on the objective you selected above. SPT is optimal for ΣCj; WSPT for ΣwjCj; EDD for Lmax; Moore for ΣUj; bitmask DP is exact for ΣTj; ATC is an effective heuristic for ΣwjTj.

The Algorithms

Six rules, each optimal for a specific γ

SPT — Shortest Processing Time

Exact for ΣCj O(n log n) 1 || ΣCj

Sort jobs by non-decreasing processing time. The smallest pj goes first. A pairwise-swap argument proves optimality: in any schedule, if the job at position k has a larger p than the one at position k+1, swapping them strictly reduces ΣCj.

Conway, Maxwell & Miller (1967). Also optimal for average flow time, which differs from ΣCj only by a constant factor of 1/n.

WSPT — Smith’s Weighted Shortest Processing Time Rule

Exact for ΣwjCj O(n log n) 1 || ΣwjCj

Sort jobs by non-decreasing ratio pj / wj. Smith (1956) proved optimality by the same adjacent-swap argument generalised to weighted completion times. Equivalent to prioritising high-weight short jobs — the intuition behind WSJF in modern dispatching.

EDD — Earliest Due Date

Exact for Lmax O(n log n) 1 || Lmax

Sort jobs by non-decreasing due date. Jackson (1955). Minimises maximum lateness Lmax = max(Cj−dj) and also maximum tardiness Tmax. A staple heuristic for deadline-sensitive applications where the worst late job matters more than the average.

Moore’s Algorithm

Exact for ΣUj O(n log n) 1 || ΣUj

Minimises the number of tardy jobs. Schedule jobs in EDD order; whenever a newly added job becomes tardy, discard the longest-processing job seen so far. The discarded jobs form the tardy set; the kept jobs are on-time.

Moore (1968), refined by Hodgson. Remarkable result: a polynomial-time algorithm for ΣUj despite the weighted variant ΣwjUj being NP-hard.

ATC — Apparent Tardiness Cost

Heuristic for ΣwjTj O(n²) 1 || ΣwjTj

Composite dispatching rule. At each step, schedule the job with the largest priority index πj(t) = (wj/pj) · exp(−max(0, dj−t−pj)/(k·p̅)), where t is the current time, is the average processing time, and k is a look-ahead parameter (typically 1–5).

Vepsalainen & Morton (1987). ATC blends WSPT (urgency via w/p) with EDD (lateness via the exponential slack term). Typically achieves within 5–10% of the optimum on ΣwjTj benchmarks — the warm-start of choice for B&B implementations.

DP — Bitmask Dynamic Programming

Exact for ΣTj O(2n · n) 1 || ΣTj

Enumerate subsets S ⊆ N. State f(S) is the minimum total tardiness to complete all jobs in S. Since all jobs are available at time 0, the completion time of any last-scheduled job j ∈ S is simply Σk∈S pk, regardless of order. Recurrence:

f(S) = minj∈S { f(S−{j}) + max(0, t(S) − dj) }   // t(S) = Σk∈S pk

Base case f(∅) = 0; answer is f(N). Du & Leung (1990) proved that 1 || ΣTj is NP-hard in the ordinary sense — pseudo-polynomial DP exists in processing-time magnitude, but exponential in n. Practical limit ~20–24 jobs. For weighted tardiness, B&B with ATC warm-start is preferred.

The complexity landscape
ProblemComplexityOptimal rule / methodReference
1 || CmaxTrivialAny order (Cmax = Σpj)
1 || ΣCjO(n log n)SPTConway et al. (1967)
1 || ΣwjCjO(n log n)WSPT (Smith’s rule)Smith (1956)
1 || LmaxO(n log n)EDDJackson (1955)
1 || ΣUjO(n log n)Moore’s algorithmMoore (1968)
1 || ΣTjNP-hardBitmask DP O(2n·n)Du & Leung (1990)
1 || ΣwjTjStrongly NP-hardB&B, ATC warm-startPotts & Van Wassenhove (1985)
1 | rj | LmaxNP-hardB&B; SRPT preemptiveLenstra et al. (1977); Schrage (1968)
1 | sjk | CmaxNP-hardReduces to TSP

References

Foundational papers on single-machine scheduling

  • Smith, W. E. (1956). Various optimizers for single-stage production. Naval Research Logistics Quarterly, 3(1–2), 59–66. — Smith’s rule (WSPT).
  • Jackson, J. R. (1955). Scheduling a production line to minimize maximum tardiness. UCLA Management Science Research Project, Research Report 43. — EDD for Lmax.
  • Moore, J. M. (1968). An n job, one machine sequencing algorithm for minimizing the number of late jobs. Management Science, 15(1), 102–109. doi:10.1287/mnsc.15.1.102
  • Conway, R. W., Maxwell, W. L., & Miller, L. W. (1967). Theory of Scheduling. Addison-Wesley. — classical foundation; SPT optimality proof.
  • Lawler, E. L. (1977). A pseudopolynomial algorithm for sequencing jobs to minimize total tardiness. Annals of Discrete Mathematics, 1, 331–342.
  • Potts, C. N., & Van Wassenhove, L. N. (1985). A branch and bound algorithm for the total weighted tardiness problem. Operations Research, 33(2), 363–377. doi:10.1287/opre.33.2.363
  • Du, J., & Leung, J. Y.-T. (1990). Minimizing total tardiness on one machine is NP-hard. Mathematics of Operations Research, 15(3), 483–495. doi:10.1287/moor.15.3.483
  • Lenstra, J. K., Rinnooy Kan, A. H. G., & Brucker, P. (1977). Complexity of machine scheduling problems. Annals of Discrete Mathematics, 1, 343–362.
  • Vepsalainen, A. P. J., & Morton, T. E. (1987). Priority rules for job shops with weighted tardiness costs. Management Science, 33(8), 1035–1047. doi:10.1287/mnsc.33.8.1035 — ATC rule.
  • Graham, R. L., Lawler, E. L., Lenstra, J. K., & Rinnooy Kan, A. H. G. (1979). Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5, 287–326. doi:10.1016/S0167-5060(08)70356-X — three-field notation.
  • Pinedo, M. L. (2022). Scheduling: Theory, Algorithms, and Systems (6th ed.). Springer. doi:10.1007/978-3-031-05921-6 — canonical reference; single-machine chapter covers all objectives above.

Need to optimise
sequencing on a bottleneck machine?

Get in Touch
Disclaimer
Processing times, weights, and due dates are illustrative educational instances, not production data. The browser-based solver uses exact polynomial rules where applicable and a bitmask DP that is practical up to roughly n = 20; beyond that, industrial deployments use commercial solvers (Gurobi, CPLEX, OR-Tools CP-SAT) with branch-and-bound and ATC warm-start.
Manufacturing