Files
vac-optimizer/docs/adr/0003-constraint-first-lexicographic-planning.md

1.3 KiB

Constraint-First Lexicographic Planning Without a Solver Dependency

The ten-second automatic deadline is superseded by ADR 0006, implemented by issue #59. Technical callers can still opt into an explicit planning-work budget; the user flow has no automatic cutoff.

The fixed ordering between user preferences and configurable optimization objectives, including the unconditional priority for at-risk loss prevention, is superseded by ADR 0008; implementation of that decision is pending.

VacOptimizer resolves obligation rules exactly and jointly, then applies deterministic heuristic stages for at-risk loss, ordered preferences, complete public-holiday weeks, calendar gain, work-sequence quality, supporting placements, balance expiry, and dates in that order; complete holiday weeks therefore precede broader calendar-gain and work-sequence optimization. A completed plan does not claim mathematical global optimality. The dependency-free planner targets five seconds, returns PlanningIncomplete if those stages are interrupted, and stops after ten seconds. A HiGHS WebAssembly spike missed that hard limit on representative inputs even on the development machine, so no solver dependency is accepted. This supersedes ADR 0001.