The issue of efficient vehicle routing crops up all over the place. Initially a mainstay of large logistics companies (e.g. UPS saved $30m a year for every mile they shaved off delivery routes per day in 2013), companies like Uber and Deliveroo have brought local-scale optimisation to the attention of consumers who now expect efficient service on their terms; usually as soon as possible but in a specified time slot. In addition to the service itself, there is also a need to consider the environmental impact of supply chains, and efficient routing has a strong role to play.

The demands of the customer have to be balanced against the available resources of the company. A good chunk of my work has been not only in implementing the technical side of vehicle routing, but also in handling the reality of how customers behave, and adapting to dynamic situations (e.g. a customer not being immediately available but rescheduling a delivery).

Below is an interactive vehicle routing system to see some a small example of the system in action. If you are curious about the more technical details on how this works, click .

Create a unique vehicle routing problem by setting the parameters below. Locations and timeslots are chosen at random

Number of customers
Max number of drivers
Timeslot length (hrs)
Drivers get breaks?