MansiBreja / Flood-Hacked

A web app which provides an optimal solution to distribute food across all the relief shelters in a city, given limited resources including limited number of helicopters, drones, fuel, food supply and most importantly, time. This project was made as a part of HackIIITD, Esya'18. Our team was ranked among the top 10 teams.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Flood-Hacked

...80 dams opened, 325 dead, Kerala needs us

Introduction

A web app which provides an optimal solution to distribute food across all the relief shelters in a city, given limited resources including limited number of helicopters, drones, fuel, food supply and most importantly, time.

Working and Implementation

  • Our project requires a certain preprocessing, that is, a survey would have to be conducted where in drones will fly over the concerned territory and record locations of all the shelter homes. These locations will be inputted to our application and using the google map api, we can easily generate the geocodes of all the shelter homes.
  • Apart from these locations as an input, the second input we would be needing is the number of helicopters and drones available for the operation which will be constrained by the government's budget.
  • Having taken the necessary inputs, the algorithm to decide where should each helicopter release its drones and to which places should each drone drop supplies is as follows:
    1. Let the number of helicopters available be k. So, we divide the shelter homes into k clusters. Each cluster will have one helicopter each releasing drones for the distribution of supplies within that cluster.
    2. To divide the homes into clusters, k means clustering is used, which uses geocode, water level and population density of these locations as the features.
    3. Once we have the clusters, we compute the centroid of each cluster where helicopter will be sent.
    4. Now we have to divide the available drones among these clusters, which is done in poroportion to the number of shelter homes in a cluster. The more the number of shelter homes a cluster has, higher number of drones are assigned to it.
    5. To further define the group of homes for each drone, k means algorithm is used again. Suppose for a cluster i, we have ai drones. So we perform k means with k equal to ai.
    6. Thus we have the geocodes of the centroids where each helicopter will be releasing the drones and also the locations where each drone will be distributing supplies.

Installation Requirements

Framework : Django, Version : 1.11.8
Language : Python, Version : 3.6.3

To run it, you need to install some packages and libraries as follows:
Bootstrap 3
numpy
sklearn
bcrypt
django[argon]

To install these, write this on the command line terminal:
"pip install package-name"

To run

Clone this repo
cd into this repo
Enter the command: "python manage.py runserver"
Copy the url and paste it in your favourite browser window.

See for yourself:

screenshot 193 screenshot 197 screenshot 198 screenshot 199 screenshot 200

This project was made collectively by Mansi Breja, Anjali Agarwal, Aastha Agrawal and Anmol Jain as a part of the HackIIITD, Esya'18.

About

A web app which provides an optimal solution to distribute food across all the relief shelters in a city, given limited resources including limited number of helicopters, drones, fuel, food supply and most importantly, time. This project was made as a part of HackIIITD, Esya'18. Our team was ranked among the top 10 teams.


Languages

Language:Python 42.6%Language:CSS 23.8%Language:HTML 21.9%Language:JavaScript 11.7%