AddNoOverlap for Single-Machine Scheduling
Use the AddNoOverlap constraint to model a single machine that can process at most one task at a time. Determine whether candidate schedules are feasible, compute the schedule induced by a given task order, incorporate release times, and check feasibility against deadlines.
Tutorial
The AddNoOverlap Constraint
A single-machine scheduling problem has tasks competing for one resource that can process at most one task at a time. In constraint programming we model each task as an interval variable with start , processing time , and end .
The constraint
forces every pair of intervals to be disjoint. For all , the solver requires
Geometrically, the intervals lie on a single time axis and may touch but never overlap.
Illustration. Take two tasks with and . The assignment produces and , and — accepted. The assignment produces , which overlaps on — rejected by AddNoOverlap.