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:
and maximum lateness is:
API used in tilearn
- Main function:
tilearn.edd - Optional metric helpers:
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
eddsorts in-place using due date column index3.- If you need deterministic tie behavior, remember Python sort is stable (equal due dates keep original relative order).
Related topics
- Weighted completion objective: WSPT
- Full API details: Sorting module