Data processing
Raw job data becomes a structure built for routing: locations geocoded, time windows
converted to minute-based schedules, and service frequencies expanded across the horizon
with each instance uniquely identified by date.
Geographic intelligence
Machine-learning clustering groups nearby locations, cutting computational complexity
while keeping route assignments geographically sensible. Clustering adapts to available
vehicles and job density.
Distance matrix
Precise travel times between all locations via professional routing services — real road
networks and the actual routes drivers take, never straight-line approximations. This
matrix is the foundation for every decision that follows.
Capacity-aware assignment
Jobs are pre-assigned to vehicles from geographic proximity, crew size requirement, shift
preference and capacity limits — creating a feasible starting point rather than making the
solver find one.
Constraint-based optimisation
The core engine solves the Vehicle Routing Problem with Time Windows, weighing time
windows, capacity, service durations, shift boundaries and depot requirements together,
escaping local optima to converge in roughly five to ten minutes.
Load balancing
A balancing phase redistributes jobs towards ~80% utilisation, preventing overloaded
routes while eliminating near-empty ones — moving work only where constraints still hold.
Results generation
Daily route assignments with sequenced job lists · travel time and distance per route ·
workload summaries showing capacity utilisation · unscheduled job reports · interactive map
URLs with turn-by-turn navigation · exportable CSV schedules for field deployment.