Improving Operations with Route Optimization
By: Kamil Bujel
Tags: Artificial Intelligence, Dbscan, Data Science, Algorithms, Self Driving Cars

Improving Operations with Route Optimization

Contributors: Feiko Lai, Michal Szczecinski, Winnie So, Miguel Fernandez

This story was originally published at GOGOVAN Technology Blog Please find our academic paper on the topic here.

Every day, GOGOVAN drivers arrive at warehouses across Asia to pick up thousands of orders that our business partners have asked us to deliver to their clients.

These orders can be a range of things — from that long-awaited new phone, to an anniversary present that was ordered last minute. All of them will be of different sizes, shapes and weights. For each one of them, there will be a person waiting and hoping this time the courier company gets there on time…

This is why at GOGOVAN, we do everything in our power to ensure smooth and timely deliveries with quality of service that will amaze our customers. Every delivery route is carefully planned manually and double-checked by our Operations Team, to make sure we never fail.

MANUALLY?!

DIDN’T YOU JUST SAY THAT YOU HAVE THOUSANDS ORDERS DAILY?!

Yes, that is correct.

In the past, Operations Team would have to manually sort out the delivery routes, usually on the morning of pickup, and ensure we meet all the delivery time requirements for that day. As you might imagine, that is not a particularly exciting or easy task :)

It took one person approximately 1 hour to create a sub-optimal route for 100 waypoints. For requests bigger than that, this time grew exponentially.

We instantly realised that this process was simply begging for some automation.

Not only we felt sorry for the Operations Team who had to do such mundane work each early morning, but we also knew that as our order volume grew, that task would slowly become mission impossible. We saw it as an opportunity to develop a cutting-edge technology that will become a core component of GOGOVAN’s Data Science stack.

How did we start?

We are very client and driver-centric. Consequently, we always try first to analyse a problem from their perspectives in order to understand how our solution could impact and benefit them. After a lot of brainstorming, these are the goals we came up with:

All orders need to be delivered on time .

. Ensure drivers are not rushed to make it on time by using buffer times and real-time distance .

. Save fuel by reducing the distance driven.

by reducing the distance driven. Minimise idle time for drivers — no one likes waiting with a trunk full of packages.

— no one likes waiting with a trunk full of packages. Improve vehicle utilisation .

. Fully automate the process.

The algorithm needs to be able to grow with us — supporting different types of deliveries, vehicles and countries.

Having determined our main objectives, we decided to explore the world of academia and open source — there’s no point in rediscovering the wheel. We realised that the problem we faced was widely known as the Vehicle Routing Problem.

What is Vehicle Routing Problem?

Vehicle Routing Problem (VRP) can be described as the problem of creating a set of optimal routes from one, or many, depots to multiple customers, subject to a set of constraints. The objective is to deliver goods to all customers, at the same time minimising for the cost of the routes and the number of vehicles.

This problem is NP-hard, as proven by Lenstra and Rinnooy Kan¹. However, there are still some exact solution methods, using a branch-and-bound², or dynamic programming³, however, as described in the papers above, they only seem to be working for up to 150 waypoints.

Currently, the state-of-art solutions are obtained using the metaheuristics: Genetic Algorithms⁴, Tabu Search⁵ and Ant Colony Optimization⁶. These are the methods mainly used in the field nowadays.

For in-depth review of the field, we recommend this brilliant thesis⁷ by Xiaoyan Li.

Our solution

With VRP being a widely recognised problem, there are indeed a lot of companies out there who seem to be tackling the problem.

However, we somehow did not feel satisfied with their solutions…

We just knew that if we combined our operations know-how, data science and research expertise, large volumes of data, and open source state-of-the-art contributions, we can arrive at a robust in-house solution that:

Is more up-to-date, performant and has customisable algorithms and iteration logic.

Is cheaper, more efficient and more scalable.

Allows developing tangible intellectual property assets and building competitive advantage around it.

Allows us to guarantee to our clients that their delivery data will go no further than GOGOVAN.

Having thought about it for quite a time, we decided that if we want to be the leaders in the field, we need to do it our way, not use some blackbox solution.

So we got going…