Optimising Drone Blood Delivery

Zipline is a startup which supplies blood to hospitals in rural areas using drones. Groups of drones are stored in ‘launchpads’ which are strategically placed between villages and towns to maximise the number of lives saved by delivering the required blood quickly. The company provides over 65% of blood deliveries in Rwanda outside the capital city, and are planning on expanding to Ghana. This project involved modelling the drone delivery network and then finidng the optimal drone and launchpad configuration for building a new network in Ghana provided with a specified budget.

//Method Overview
The problem was to optimise the location of launchpads, and the number of drones at each launchpad, given a budget and array of hospitals in order to maximise the number of lives saved. The objective function shown above is complex and nested to account for subtle nuances in the problem such as over-saturation of supply and distance utility. A Differential Evolution algorithm was employed to solve the inner layer optimisation problem shown in blue. This is all wrapped in a function which distributes the number of drones between launchpads and finds the overall optimum through testing different configurations.

︎Report Available Here

︎Code Available Here

//Optimal Solution
The results are intuitive distributions of drones and launchpads. The diagram on the right shows the final optimum network design which should be implemeted acording to the model created. The green dots represent the launchpad locations and number of drones located at that launchpad. The yellow dots represent the hospitals and their respective populations served. The map above shows the advised distribution which should be constructed.

//Tools Used
+ Laptop
+ Visual Studio Code
+ Python
+ Pygame Module
+ Numpy Module
+ Scipy.Optimise
+ Josh Anderson
+ Dan Thurston

+ December 2019