Skip to content

Job Sequencing Model

Definition

The job sequencing model orders jobs on one machine, each processed without interruption once started (nonpreemptive), to minimize total weighted tardiness penalties. Let si≥0s_i\ge0 be job ii's start, pip_i its duration, did_i its due date, Ti≥0T_i\ge0 its tardiness, and wiw_i its penalty rate. Minimize ∑iwiTi\displaystyle \sum_iw_iT_i subject to Ti≥si+pi−diT_i\ge s_i+p_i-d_i. For each pair i<ji<j, impose

si+pi≤sj+M(1−yij),sj+pj≤si+Myij,yij∈{0,1}.s_i+p_i\le s_j+M(1-y_{ij}),\qquad s_j+p_j\le s_i+My_{ij},\qquad y_{ij}\in\{0,1\}.

Here yij=1y_{ij}=1 means ii precedes jj, and MM must be valid for the scheduling horizon.


Interpretation

The job sequencing model decides in which order jobs run on a single machine so that lateness costs as little as possible. Pairwise order choices keep two jobs from occupying the machine at the same time, and tardiness variables charge for finishing after the due date but not for finishing early.

A timeline with three jobs processed one after another, job 2, job 1 and job 3, with vertical lines at their due dates and the tardiness of jobs 1 and 3 marked.

The timeline shows the sequence 2,1,32,1,3 from the Examples: job 2 runs from 00 to 2020, job 1 from 2020 to 2525 and job 3 from 2525 to 4040. Job 2 finishes before d2=22d_2=22, so T2=0T_2=0; job 1 finishes one unit after d1=24d_1=24 and job 3 five units after d3=35d_3=35, which gives the marked T1=1T_1=1 and T3=5T_3=5 and the cost 189189.

For each pair the two order constraints are an either-or pair. If yij=1y_{ij}=1, the first says that job ii finishes before job jj starts, and the second is switched off by MM; if yij=0y_{ij}=0, the roles are swapped. One binary variable per pair suffices because two non-overlapping jobs run in one of only two orders. With continuous start times, the model is a mixed integer program.

The tardiness constraint Ti≥si+pi−diT_i\ge s_i+p_i-d_i with Ti≥0T_i\ge0 only bounds TiT_i from below. Because the objective minimizes ∑iwiTi\displaystyle \sum_iw_iT_i with positive rates wiw_i, an optimal solution pushes each TiT_i down to the larger of 00 and si+pi−dis_i+p_i-d_i. Writing Ti=si+pi−diT_i=s_i+p_i-d_i instead is a common slip: an early job would then get negative tardiness, rewarding earliness, or, with Ti≥0T_i\ge0 kept, be ruled out altogether.


Key Results

  • For the supplied three jobs, total processing time is 40; a no-idle schedule starts at zero and lies within that horizon.
  • Nonnegative penalty rates make unnecessary idle time avoidable.
  • The formulation applies the either-or technique to the exercise's three jobs.

Examples

  • The course has processing times (5,20,15)(5,20,15), due dates (24,22,35)(24,22,35) and penalty rates (19,12,34)(19,12,34) for jobs 1, 2, 3.
  • Sequence 2,1,32,1,3 completes at 20, 25, 40 and incurs 12(0)+19(1)+34(5)=18912(0)+19(1)+34(5)=189.

Prerequisites

Sources

Aliases: single-machine weighted tardiness problem Symbols: element of, sum

Last updated: 27 October 2026 11:52