Route optimisation done right - time windows

Posted 02 Mar 2021

This is the second post in our ‘route optimisation done right’ series, where we consider time windows. A time window is the earliest and latest time a stop can be served in a vehicle routing problem. Most (if not all) commercial vehicle route optimiser engines support time windows, but many of them just support a single hard time window. This works for simple ‘next-day delivery from a depot’ type problems, but many real-world routing problems require more flexible ways to define time windows.

ODL Live supports 4 different types of time window:

  1. Single hard time window. Stops can have a single time window (TW) when they can be served – e.g. 8:00-10:00. A hard time window will leave a job unassigned rather than serve it outside the TW.

  2. Multiple time windows. Multi TWs are needed for some types of routing problems - (a) when deciding what day to serve a job, or (b) job can’t be served at certain times of the day (e.g. not open at lunchtime). Stops can have any number of TWs in the ODL Live route optimiser engine.

  3. Simple soft time windows. A soft TW allows a stop to be served after a late time instead of being unassigned; the optimiser will schedule to minimise lateness. Soft TWs are needed for realtime problems – e.g. on-demand deliveries, same-day jobs for technicians. ODL Live schedules to minimise the total lateness penalty and can spread it out intelligently over jobs.

  4. Custom lateness penalty functions. For problems with different levels of urgency or preferences when job should be done by. For example, delivery within (a) 1 hour is good, (b) 2 hours is OK, (c) 3 hours is bad. ODL Live supports custom lateness functions specific to each job, for single or multi TWs.