Skip to main content

Maximum Lateness with EDD

The Earliest Due Date (EDD) rule sorts jobs by increasing due date d_j. It is a standard strategy for controlling lateness in single-machine settings.

Objective​

EDD is commonly used for workflows where on-time completion relative to due dates is the main priority.

For a sequence, lateness is:

Lj=Cj−djL_j = C_j - d_j

and maximum lateness is:

Lmax⁡=max⁡jLjL_{\max} = \max_j L_j

API used in tilearn​

Input format​

[name, p, r, d, w]

Minimal runnable example​

import tilearn as tl

jobs = [
["J1", 4.0, 0, 10, 1.0],
["J2", 2.0, 0, 6, 2.0],
["J3", 1.0, 0, 8, 1.0],
]

ordered = tl.edd(jobs)
for row in ordered:
print(row)

Compute lateness values after sorting​

import tilearn as tl

jobs = tl.edd(jobs)
jobs = tl.c_time(jobs)
jobs = tl.lateness(jobs)

Final output rows include:

[name, p, r, d, w, C_j, L_j]

Practical notes​

  • edd sorts in-place using due date column index 3.
  • If you need deterministic tie behavior, remember Python sort is stable (equal due dates keep original relative order).