5 October 2018



Part of our Tech Team’s blog series about their roles at Yojee. In the first of this series Yojee’s Vivek Gudapuri takes us through some of the challenges facing the logistics industry, and how his team are applying cutting-edge technological solutions to overcome them.

At Yojee, we are excited to be able to work on some of the most challenging problems facing the logistics industry today. Imagine being able to work on Dijkstra, A*, VRP and constraint programming every day to deliver optimisations and improve the daily lives of business operators and owners!

The Yojee solutions range from frontend apps using AngularJS and ReactJS to mobile applications written in React Native. The entire Yojee Software talks to an Elixir powered backend, with AI incorporated into every part of the ecosystem.

Our solvers leverage the raw power of C++ a computing language and our infrastructure is (almost) infinitely scalable because of the flexibility and efficiency of Elixir as a programming language. The primary motivation fueling the tech team is the challenge to make a difference in someone’s life by solving their problems with technology.



Imagine a courier company that needs to deliver between 300 and a few thousand parcels a day, with a fleet of drivers and vehicles ranging from 10 to several hundred. On top of these variations, they have to comply with strict delivery windows, while managing advanced constraints (e.g. certain vehicles cannot carry liquids), and heterogeneous vehicle types (vans, motorcycles, bicycles, scooters, etc.)


The core of the Yojee Software provides the dispatcher with the ability to plan fleet allocations seamlessly, optimised to the fullest efficiency while tracking every detail of their operations in real-time.

Logistics operations are complex, and often involve a high-pressure environment that requires decisions to be made on a continuous basis. This is especially true for last-mile logistics. This is why the real-time capability of the Yojee Software allows dispatchers to respond quickly to new developments as they occur throughout the day.

We have found a feasible solution using a variety of heuristic and meta-heuristic techniques depending on the problem, to continuously optimising until we locate the best solution. On top of this, we use pre-processing for faster run times.

Macro planning: Break the problem size into smaller problems which can run in parallel by using a variant of constrained K-means technique.

Micro planning: Consolidate and cluster neighbourhood locations. Imagine a car going to a neighbourhood and delivering newspapers on foot.

Continuous planning: This is the foundation of the Yojee Software. We work on the assumption that no plan is perfect and requirements may change throughout the day. For instance, new orders may come in or get cancelled, and external factors (hello traffic!) may impact drivers’ delivery speeds. The Yojee Software can continuously optimise based on multiple factors and events throughout the day.


The next Tech Team blog post will look at how IoT further strengthens the Yojee Software and how companies in the logistics industry can do to be ready for the next wave of change.

To register for a demo of the Yojee Software, click here.


He is an avid programmer, polyglot (human and machine), and very excited about the potential of Elixir. Currently, he spends a lot of time delving into the possibilities presented by Artificial Intelligence optimisations and deep learning. One of Vivek’s objectives is to build a platform to fly a fleet of drones.