Computing Library › Applications
Applications

Scheduling Optimization for Maintenance

Planning maintenance activities to keep a plant available while respecting resource, access, and safety constraints.

The scheduling problem

Maintenance competes with operation for time, and maintenance tasks compete with each other for people, tools, and physical access. Scheduling optimization plans when each task happens so that the plant stays as available as possible while every constraint is respected. It is a constrained optimization problem, often a hard combinatorial one, not a simple calendar exercise.

The constraints

Kronos motion — maintenance

Why it is computationally hard

Scheduling with resource and precedence constraints is combinatorial: the number of possible orderings explodes with task count. Exact solutions become infeasible at scale, so practical schedulers use optimization methods that find good, constraint-respecting schedules without guaranteeing the absolute best, and re-optimize as conditions change.

python
def schedule(tasks, resources, deps):
    time, done = 0, set()
    while len(done) < len(tasks):
        ready = [t for t in tasks if t not in done
                 and deps_met(t, done) and resources.available(t)]
        for t in prioritize(ready):     # by deadline, then criticality
            resources.assign(t); done.add(t)
        time += 1
    return time

The link to prediction

Maintenance schedules driven by predicted component life (from predictive maintenance and degradation modeling) beat fixed calendars: work happens when condition warrants, batched into planned outages. The scheduler consumes those life predictions as deadlines and packs the work efficiently.

Kronos framing

For the Hyperion breeder, maintenance scheduling accounts for the radiation-access constraint, activated components needing cooling time, alongside ordinary resource limits. It ties together predictive maintenance, activation inventory, and availability planning. This is operations planning and carries no economics.