OptaPlanner continues as Timefold

Maintenance scheduling

Building effective Maintenance Scheduling management software is complex. There are various constraints to keep into account to ensure operational efficiency. For instance: staff availability, skill level, task priority, …

At Timefold we support software builders with the right toolbox to tackle these hard mathematical problems. Our Maintenance Scheduling model helps companies to manage their workforce efficiently and reduces wasteful planning.

What is a Maintenance Scheduling Problem?

A Maintenance Scheduling Problem (MSP) is an optimization problem where each task needs to be assigned to a worker and scheduled, ensuring all tasks are completed within given constraints. A solution decides for each worker which tasks to undertake and in which order, while minimizing the overall time and adhering to constraints.


Like other Optimization problems, the Maintenance Scheduling Problem has Constraints. Constraints define the rules and objectives of the MSP solution. We distinguish between hard and soft constraints

Hard constraints

Hard constraints represent limitations or requirements that cannot be violated. They are often essential for ensuring the feasibility, practicality or following business rules and SLAs of the optimized solution. Failure to satisfy a hard constraint would render the solution infeasible, impractical, in contradiction to legislation for implementation.

Hard constraint examples in MSP:

  • Worker availability: A worker can’t work more hours than available.

  • Skill level: Some tasks require specific skills or certifications.

  • Task priority: High-priority tasks need to be scheduled first.

  • Equipment availability: Some tasks require specific equipment, which may not always be available.

  • Task duration: Each task requires a certain amount of time to complete.

Soft constraints

Soft constraints represent a cost reduction, preferences, service quality, employee wishes, …​ Meeting them is desirable but not mandatory for a feasible planning solution.

Why solving a Maintenance Scheduling Problem is complex

As the number of tasks and employees increases, the possible combinations grow exponentially, making exhaustive search infeasible. Additionally, incorporating constraints like worker availability and task priority further escalates the complexity. A mathematical planning optimization solver like Timefold has a proven track record of dealing with this complex matter.

Operational fit

When handling day-to-day planning for maintenance scheduling you need your planning software to offer you:

  • Continuous planning: Dynamically adapting and updating the optimized schedule as new information becomes available.

  • Pinning: Fixing or locking specific elements of the problem to their current state or desired values. For instance: worker preference for a specific task.

  • Overconstrained planning: Making tasks optional. When there are too few resources to cover all the work, help find a solution.

  • Real-time planning: React on real-time disruptions of the plan within milliseconds.