How to do a route optimization for the real world

Did you miss the Python Sevilla meetup? Don’t worry, we were there and now we are going to tell you everything we had the opportunity to learn!

On the Thursday 22th of March, we attended the Python Sevilla meetup, which is held every month. On this occasion it was held at the Geographica GS facilities. The course duration was an hour and a half and, during this time we got to understand, from the experience of speakers, how to do a route optimization for the real world.

Meetup Python

The presentation was given by Cayetano Benavent, Head of Data science & maps at Geographica GS, He introduced the subject and then it followed by Josema Camacho, Machine Learning Developer, who continued with the issue that they found during the project and what solutions they applied then finally. During the meeting, Alberto Asuero, Chief Technology Officer, supported and intervened at different points.

In the first part, Cayetano laid out the problem which they had discovered. Working side by side with the garbage collection company, they detected that they needed an optimal route optimization to generate an optimal route for all drivers in order to to save time, kilometres, petrol etc. That is to say to convert the daily deliveries to an agile process. On the other hand, Josema talked about the optimization algorithms and the different packages that we recommend to use if we want to do some tests, for this purpose have put a repository with sample code available to the community.

At the end, also Cayetano and Alberto talked about a similar problem that they had found working with a delivery company. They had only 3 hours to get the best optimal route, which is why they started to think that the best solution to that problem would be Kubernetes on Cloud.

Python meetup

This kind of problem is known as VRP (Vehicle Routing Problems). VRP problems are within the combinatorial optimization, one branch of mathematical optimization.

What did solution they find?

In the end, the solution to the problem was the construction of an engine route optimization.

For Geographica, the problem was divided up into 4 steps.

  1. Step 1. The data (ETL phase).
  2. Step 2. Network: topology and costs.
  3. Step 3: The optimization.
  4. Step 4: Results.

In addition, they chose to work with Python for several reasons:

  1. It is perfect for prototyping and testing algorithms.
  2. It is extremely versatile to build complex architectures.
  3. It is the best for unifying different technologies.

Why Python and not another programming language?

During all the session, they made it clear that working with Python was the right choice. The decision was the easiest, due to Python has many advantages such as the huge support within the community, the facility to develop asynchronous tasks, execution speed, credibility and lots of different solutions for each problem you may face.

The meetup was a success, and the discussion round led to promise of future sessions. Each assistant could express their concerns and offer their suggestions. Geographica GC encouraged us to continue with Python meetups, due to these kind of workshops are being so useful to develop our knowledge.

If you could not attend, and you would like to check out the session, you can find the presentation below.

We encourage you to participate in these meetups in the future!


About the author

Let’s have a coffee and talk about your project


Let’s have a coffee and talk about your project


We use cookies to ensure you get the best experience on our website. More info.