Models
Task Scheduling
This Timefold Model exposes an API that helps your software assign tasks to machines and employees, optimizing to increase the number of jobs that can be completed while also minimizing the makespan.



Service quality
Time windows
DOCSStart and finish jobs within their time windows to ensure jobs are finished on time.
Time management
DOCSReduce the overall makespan of jobs to balance the workload and meet deadlines.
Job dependencies
DOCSSequence jobs in the right order, ensuring they have the right delays between them and are coordinated on the same machines when required.
Resource transitions
DOCSManage transitions between resources effectively so that prep work and post cleanup are part of the schedule.
Tags and specific resources
DOCSAssign jobs to machines and employees and use tags to include additional information about jobs, machines, and employees.
Planning processes
Resource limited planning
DOCSWith too few resources for all the work, schedule as much (priority) work as possible.
Constraints
Dependencies
- Job assignment is invalid
Ensure that a job is only scheduled when it is valid (not part of a loop).
- Job dependency does not allow intermediate jobs violation
Ensure that no intermediate jobs are scheduled between the two jobs.
- Job dependency not assigned to the same resource violation
Ensure that a job is scheduled on the same resource as its dependency.
- Job dependency not assigned violation
Ensure that a job is only scheduled when the job it depends on is also scheduled.
- Job dependency timing violation
Ensure that a job is scheduled in the correct timely relation as specified by the dependency.
Resource transitions
- Machine transition forbidden
Prevent scheduling dependent jobs on from/to specific resources (machines/employees) according to the provided transitions.
- Machine transition reward
Reward scheduling dependent jobs on from/to specific resources (machines/employees) according to the provided transitions.
Resource-limited planning
- Minimize number of unassigned jobs
Minimize the number of unassigned jobs.
Tags and specific resources
- Required resources do not match
Ensure that a job is only scheduled on a resource that is listed as a required resources.
- Required tags do not match
Ensure that a job is only scheduled on a resource that matches all of its required tags.
Time management
- Minimize ideal end difference
Minimize the deviation from a job's ideal end.
- Minimize makespan
Minimize the makespan of the schedule.
Time windows
- Job finished after maximum end
Ensure that a job is only scheduled before its maximum end time.
- Job started before minimum start
Ensure that a job is only scheduled after its minimum start time.
Interested in learning more about how this model can help solve your optimization challenges? Talk to an expert.