Inspiration
Damm’s delivery routes involve many clients, time windows, pallets, returnables, and real truck-loading constraints. The challenge inspired us because the problem is not only about finding the shortest route: the loading order inside the truck also affects how fast and easy each delivery is.
We wanted to build a smart planning tool that connects route optimization with truck-loading optimization, so the driver can follow a better route and unload more efficiently.
What it does
Damm Smart Planner analyzes a real delivery route and creates a more efficient delivery plan.
The system:
- Extracts and cleans the real delivery data.
- Geocodes all clients and the depot.
- Calculates the current baseline route.
- Optimizes the visit order.
- Designs a 6-zone truck loading layout.
- Visualizes the route and the pallet distribution.
- Compares the optimized plan with the original baseline.
The goal is to reduce kilometers, save time, and make unloading easier for the driver.
How we built it
We built the project in Python using a modular pipeline.
First, we processed the real route data for route DR0051, corresponding to 2026-02-05. We cleaned the order lines, grouped deliveries by client, and generated a geocoded client file with the depot as point 0.
Then, we calculated the real baseline using OSRM road distances and compared it with an optimized route generated from the processed client data.
Finally, we created a truck-loading optimizer. The truck is modeled as 6 pallet zones: 3 on the left and 3 on the right. The loading logic considers common products, large clients, visit order, returnables, and weight/stacking constraints.
Challenges we faced
One of the biggest challenges was keeping all parts of the project consistent. A small error in the first dataset affects geocoding, route optimization, baseline comparison, and truck loading.
We also had to deal with real-world constraints such as incomplete geocoding, time windows, returnables, pallet capacity, and the physical accessibility of the truck.
Another challenge was making the solution explainable. We did not want to create only an optimized output; we wanted to show why each client, product, and pallet zone was assigned in a certain way.
What we learned
We learned that logistics optimization is not just a mathematical routing problem. A good solution must combine data cleaning, geospatial analysis, route planning, operational constraints, and human usability.
We also learned the importance of building a reproducible pipeline, validating every intermediate file, and designing outputs that can be understood by both technical and non-technical users.
What's next
The next step would be to integrate live traffic data, driver feedback, automatic re-planning, and historical delivery performance. The tool could also be extended to compare multiple trucks, multiple routes, and different loading strategies.
Log in or sign up for Devpost to join the conversation.