ODL Live introduction

ODL Live is a planning engine custom-built for real-time route optimisation and route-efficient appointment scheduling. With real-time vehicle scheduling, some or all future jobs for the current shift are unknown. Appointment scheduling – the process of offering service time slots to customers and then confirming their selection, is also a real-time planning problem as the booking of one slot affects others.

ODL Live is suitable for planning:

  • Taxi services, both ASAP and advance bookings.

  • On-demand couriers.

  • Takeout or on-demand grocery deliveries.

  • Real-time mobile workforce management - e.g. technicians on callouts, surveyors, cleaners etc.

  • Any on-demand service requiring route planning - e.g. drinks deliveries, laundry collection and delivery.

The ODL Live webservice is designed to work with your pre-existing IT system - so you keep your current driver’s app, dashboards etc. You simply connect your existing back-end system to the ODL Live webservice, using a secure HTTPS connection over the internet.

Basic architecture

ODL Live is closed-source software built on top of several great open source software projects (Graphhopper, Jsprit, ODL Studio). It adds the following features to those available in the open source libraries:

Vehicle routing model built for real-time problems

The engine takes real-time data feeds as input - stop arrival and completed events, GPS traces and manual dispatches as well as new or cancelled jobs. It processes the real-time data to estimate the state of your vehicle fleet and then plan accordingly, reassigning and re-ordering jobs when drivers are running ahead or behind schedule.

Dispatching support lets you lock-down a driver’s near-future, by marking their next one or two planned stops as dispatched, so the engine optimises their route after the dispatched stops (i.e. it optimises their longer-term future). This handles delays in communication between your driver (via your mobile app or pre-existing job dispatching system) and the planning engine, as the driver holds a short-term buffer of locked-down jobs to be actioned by them in the immediate future.

In a real-time setting, unexpected delays are unavoidable and jobs will sometimes run late. ODL Live optimises to minimise lateness (technically speaking, it supports a soft end time window) as well as respecting the usual ‘hard constraint’ start and end times. This is a key feature for real-time planning; if instead you used a hard end time window on its own, jobs would be dropped from the plan even if they were only going to be served one second late.

It is important to spread work across your workforce when optimising in real-time, to maximise the chances of having resource available close enough to serve new orders when they come in. ODL Live supports workload balancing by penalising fuller vehicle routes, modelling the trade-off between travel cost and balance.

In real-time freight collection and delivery scenarios, ODL Live can lock on-board-deliveries to a route after leaving the depot or at a pre-determined time before loading commences. Pending collections can be reassigned between routes and deliveries locked to a route can still be re-ordered within the route, to maximise efficiency as new collections come in or other conditions change.

Customised rush hour modelling

Using ODL Live you can customise rush hour periods as you like based on your team’s knowledge. Set rush hour start and end times, define intermediary periods (e.g. ‘early rush hour’), different speed profiles for night-time etc. We provide a desktop app for your analysts and planners to fine-tune road speeds by postcode or zip and compare travel times to historic journeys.

Rush hour modelling

Lightning-fast response to new jobs

ODL Live is engineered for response speed and can reoptimise routing plans in seconds, when input data changes (e.g. updated vehicle events, new or cancelled jobs), dependent on problem size and system configuration.

A model is always ready pre-loaded in server memory (e.g. the road network data, travel time matrix, solution state are all loaded) and the model is always running, constantly refining its routing plans. The engine reuses its current calculations when new data becomes available, by incrementally adding new records to the travel distance / time matrix and updating its collection of routing plans. By updating and reoptimising its plans in response to new data, it finds high quality routes far quicker than starting the optimisation from scratch on each data update.

Route-efficient appointment booking

Appointment booking is a process where you give a customer one or more possible service slots (e.g. Monday 2pm – 5pm, Tuesday 10am – 11am, etc) and they select their preferred slot, which is then booked and confirmed in your order processing system. As your workforce resource is finite, available slots are finite and a customer booking one slot can make it unavailable for another customer. Traditionally companies manage this process in a simple manner without considering routing costs, e.g. by allowing a maximum number of bookings per hour or per AM / PM. Appointment booking is a real-time planning problem, even if you’re booking jobs for tomorrow, next week etc, because the booked slots affect the availability and efficiency of other slots.

ODL Live provides route-aware appointment booking with response times within a second or two, dependent on problem size. You send a planning query to ODL Live, to gather metrics such as increased travel time or lateness associated with different slots, which you use to preferentially offer customers route-efficient slots (e.g. through dynamic pricing). Route-aware appointment booking gives a much better estimate of your available resource, ability to serve customers within SLAs and better management of your transport costs.

Appointment booking is a conversation between your order processing system and ODL Live - post the planning query, poll for the results, present to the customer, send the selected slot back to ODL Live for acceptance into the routing plan. ODL Live uses optimistic locking when accepting a job into the routing plan, you specify metrics such as ‘no increase in lateness’ or ‘no more than 10 minutes extra driving’ when you create the planning query and again when you send the slot back for acceptance. The slot is accepted into the plan if the metrics still hold.

Resilient cloud-based hosting

Real-time optimisation must be resilient to hardware failure, making cloud-based server virtualisation the ideal hosting solution. ODL Live is deployed as a microservice on Amazon Webservices (AWS) and is compatible with other cloud hosting providers. We offer ODL Live trials using AWS.

ODL Live does an intelligent allocation of server CPU resources for models in parallel (e.g. for independent teams or different cities), to minimise server hosting costs. CPU processing time is assigned to routing models based on their relative need – e.g. larger models or models with new jobs require more CPU time than small or slow-changing models. A relatively modest virtual server with a fixed rental cost can therefore run many routing models in parallel (greatly exceeding the number of CPU cores on the server).

ODL Live is designed to minimise hosting data transfer costs. The mature hosting providers – AWS, Azure etc – can charge for data transfer across their internal network. The communication between ODL Live and its back-end database is engineered to minimise data transfer costs, for example by caching data and throttling solution updates to the database.

ODL Live is available as a RESTful JSON webservice built to modern web-programming standards, based on the standard HTTP methods (GET, PUT, POST, DELETE). It supports simple data syncing between systems – you push data changes (new jobs, vehicle events) to the webservice from your order processing systems either incrementally as they happen, or refresh all data every minute or so, or use a combination syncing strategy. Data objects (vehicles, jobs) can be stored directly using the primary key ids from your own system, making syncing easy. Webhooks can be configured to call back to your system and tell it when planned routes have changed.

Pricing, trial period and global availability

ODL Live is available on a monthly subscription. We setup and maintain a dedicated virtual server for your ODL Live system. Our simple cost-effective pricing is comprised of three components:

  • Flat fee licence. GBP £500 per month for a single AWS virtual server covering a single country.

  • AWS virtual server rental costs. You size the virtual server to cover as many routing models, resources or delivery jobs as you need and only pay for the AWS hardware to run it. AWS charges you directly using their consolidated billing mechanism. Typical AWS costs are cheap - e.g. half the monthly flat fee - as you can run many routing models in-parallel on a server with only 2 or 4 CPU cores. AWS costs will include the optimiser server, a small database server and data transfer costs.

  • Support - including initial system setup. Charged by the minute, using a rate equivalent to GBP £85 per hour.

We also offer a two month trial of ODL Live, where you pay for the AWS charges and our support time, but we waive the flat licence fee for the duration of the trial.

ODL Live is available for any country in the world. It uses OpenStreetMap mapping data for its travel distance and time calculations, and quality of this data may vary from country to country.

If you’d like to discuss ODL Live further, would like to see your data modelled through our ODL Live Simulator, or would like a pdf copy of the extensive documentation (including walkthroughs), then please contact us.

Support sessions

We provide all the configuration, consultancy and training you need to get the best out of ODL Studio. Contact us to arrange a Skype or join.me support session today. Details of our support session pricing options are available here.

ODL Studio screenshots

ODL Newsletter

Want to know when a new version of ODL Studio is released? Click below to join our newsletter.

Recent posts

View all posts