← Back to projects

Dual Heuristics Scheduling

Research on the NP-hard personnel tour scheduling problem, pairing two heuristics (one for which staff to assign, one for when) so planners can tune priorities without recomputing the whole schedule.

Academic·complete·December 2023
Dual Heuristics Scheduling

A research paper from a senior-level Artificial Intelligence course, proposing a different decomposition of the personnel tour scheduling problem.

The Problem

Personnel tour scheduling is NP-hard: assign people to time slots under constraints on availability, coverage, and sequence. Standard approaches fold resource and time-slot considerations into a single heuristic, which is efficient but leaves the relative weight of each constraint fixed inside that function.

Approach

The method splits that heuristic in two, one scoring which resource to assign and one scoring when, and alternates between them through mutually recursive search (A to B to A). Graph search with depth-limit pruning keeps the expanded solution space from blowing up exponentially.

Trade-offs

Separating the heuristics costs speed against classic combined solutions. What it buys is control: a planner can retune the priority weighting of individual constraints on selected targets, which a single blended heuristic makes nearly impossible. That makes it suited to scheduling where constraint priorities shift by context, where users need to adjust preferences directly, and where an explainable assignment matters more than the fastest possible solve.

Implemented in Python.