1. Base case solution

In this scenario, the base case which is currently run at Lineage, we have 18 orders leaving from California (Pin 1)  to be delivered in the Pennsylvania cluster (Red Pins) and 24 trucks leaving from Pennsylvania (Pin 2) going to the California cluster (Blue Pins). These 42 trucks deliver their goods to their destination and then return to their home warehouse with an empty truck, taking a total of 360,000 km.

2. Solution with Backhauls

In order to try to improve the efficiency of Lineage delivery system, we ran our code to find possible backhauls between these trucks leaving from California for destinations in the Pennsylvania cluster and the trucks leaving from Pennsylvania. This function iterates through the list of CA trucks and matches them with an order from the PA warehouse and reroutes that truck to pick up that order to deliver somewhere in the CA cluster before returning home to the CA warehouse. The function then updates the total distance driven for that specific truck and moves on to find the next pair.

While this program does reduce the total travel distance of the trucks by 34%, we want to further improve the efficiency through the use of load consolidation.

3. Solution with Load Consolidation

This section of the program first attempts to combine orders onto a reduced number of trucks while keeping the total weight of the truck less than the maximum limit of 42,000 lbs.  Once the orders have been consolidated into their associated truckloads, that list of orders is run through the route planner to determine the total distance and optimal route that each new consolidated truck will travel. Then, the resulting list of trucks is ran through the backhaul function, once again finding the potential backhaul opportunities for each truck to take.

This combined solution resulted in a single truck completing all 42 orders in a total of 10,600 km. This is equivalent to a reduction in total travel distance by 97% and saves 41 trucks.

Load Consolidation Test

There are few things to note on load consolidation result. The result determined that it was most efficient to use just one truck to load all 42 orders, stopping at all destinations. Looking further into this, most of the order weights were far less than the truck max weight limit which is 42,000 lbs and the average of all of the orders was only 500 lbs. Because of this, it would take roughly 84 orders to completely fill a truck to its maximum capacity, and we were not likely to see the orders distributed between several trucks . Therefore, in order to prove that our algorithm was properly consolidating the orders, we tried a sample run with max weight limit of just 3,000 lbs.

Here, the result divides up the 18 orders into five different trucks with almost 3000 lbs per truck, showing that our load consolidation is working and the order of the deliveries is still optimally calculated.

Load Consolidation with Different Number of Trucks

Furthermore, because we saw that the loads could be loaded onto one truck, we wanted to prove this was the optimal solution. To do this, we ran the consolidation program using a varied number of trucks. This splits the already consolidated truckload first between three and then later five different trucks. This program calculates which orders go on what truck and in what order that they should be delivered.

a. using 3 trucks

As shown in the results for this test, the trucks leaving from California are consolidated onto three different trucks as expected each traveling around 5,000 km. However, with three trucks delivering orders, the total travel distance has now increased to over 14,000 km.

The routing program determined that adding a third truck from Pennsylvania would be much more costly to the total distance and therefore keeps the orders on just two trucks.

b. using 5 trucks

As can be seen in this figures, adding additional trucks in California did further decrease the travel distance slightly for each truck, the total distance traveled by all of the trucks was greatly increased. Additionally, the program once again determined that no more than two trucks should be used for the deliveries leaving from Pennsylvania. Therefore, we determined that, as was calculated in the original run of our load consolidation with backhauls,  it is most efficient for the orders to be loaded together onto a single truck for deliveries.


Python program

Input: Warehouse data for a given week

Output: Minimum number of trucks, Minimum total driving distance and optimal route for each truck


  • Clean data organization allows for dynamic manipulation
  • Consolidating loads and finding backhaul pairs can massively improve efficiency
  • Owning a truck costs $180,000 annually with spending $0.15 per km on fuel
  • We reduced both the number of trucks and distance driven by over 95%