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=CjdjL_j = C_j - d_j

and maximum lateness is:

Lmax=maxjLjL_{\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).