Collaborative Delivery System
Collaborative Delivery System.
- Perform collaborative delivery with a given set of delivery agents to any no: of delivery locations based on demand.
- The path traversed by the agent should be kept to a minimum, based on constraints in delivery time and a custom cost function.
- Delivery runs occurring around the same time with overlapping segments are to be optimised in such a way that the overlapping segments are handled by a single delivery agent.
- This means the items are swapped between delivery agents at dynamically determined way points, which leads to a drastic reduction in the overall distance covered by all the agents.
- A custom cost function was designed as the weighted sum of distance and time with the weights varying based on different scenarios like traffic, weather etc.
- Derivative free optimisation for the route plan was performed using Google OR-Tools.
- The modules were designed as microservices using Vert.x. The microservices approach was used so that individual modules could be scaled up/down automatically based on load specifically occurring at those specific modules.
- The platform was developed in Python.
- Google OR-Tools