Intelligent Auto Planner
Constraint-Based Scheduling Engine
Scheduling engine integrated into an inspection platform to automate inspector-to-booking allocation. The planner evolved from a heuristic allocation strategy into a constraint-based optimization approach using Timefold.
Why this problem is hard
Assigning inspectors to bookings is a combinatorial problem rather than a sorting problem. Each assignment changes what the remaining ones cost, because travel time between sites, inspection duration, and per-inspector schedule and capacity limits all interact. A nearest-resource rule picks a defensible inspector for each booking in isolation and still produces a poor overall plan. Approved bookings also change, so the planner has to recompute without treating existing commitments as disposable.
Planning flow
Input → constraints → solver → allocation
Re-planning feeds back into the constraint model as new input.
Planning evolution
-
Version 1 — Heuristic / Greedy Allocation
- Nearest-resource assignment strategy
- Location-based prioritization using geospatial filtering
- Re-planning of previously approved bookings
-
Version 2 — Constraint-Based Optimization
- Integrated Timefold for vehicle-routing optimization
- Solver-driven allocation across scheduling constraints
- Modeled capacity limits and unassigned-booking penalties, and configured solver termination strategies (time-based and unimproved-spent limits)
- Exposed REST endpoints for dynamic planning and re-planning
- Improved the planning approach by modeling constraints explicitly rather than relying only on heuristic assignment
Real-world constraints
- Travel time
- Inspection duration
- Schedule limits
- Capacity limits
Outcome
Schema and query optimization on this work reduced data-retrieval latency by 35%.
Tech
Built at 28One. Source code and internal system details are not publicly available.