## Inspiration

My own research publication was actually founded on Heuristical Analysis, with pathfinding, aimed to aid first responders at dangerous environments.

## What it does

The algorithm takes Waze JSON data, weighs down congestion paths, and finds the most efficient path to take in order to avoid traffic congestion and to save time.

## How I built it

I used my mathematical skills and knowledge of algorithms to optimize and create a powerful and working rendition of an algorithm that can optimize delivery routes.

## Challenges we ran into

Obtaining the data from the map was miserable, but doable.

## What's next for HEURE

* A formal research publication!
## Inspiration

The inspiration for our project came from hearing about the massive logistical challenges involved in organising evacuations for events such as Hurricane Florence. We felt that we could apply our knowledge of solving optimisation problems to great effect in this area.

## What it does

ResQueue is a web-app that is designed to be deployed by an aid organisation that is organising rescue or evacuation efforts. It provides an interface for people in need of rescue to mark their location and the urgency of their request on a map.

In the admin interface the aid organisation is able to define the resources it has in terms of capacity and quantity of vehicles (i.e. 3 busses with 50 seats. 5 minibuses with 10 seats). Using clustering followed by path finding a route is generated for each vehicle that provides an efficient overall plan for rescuing as many people as possible, as fast as possible.

## How we built it

The WebApp was built using Python combined with the Flask web framework. It was all hosted on Azure, with the database being an Azure Cosmo DB instance. This infrastructure setup would allow us to scale the project in times of crisis.

The routing is done using OpenStreetMap data, combined with the C++ based OSRM project. Groups of people who are required to be rescued are clustered using a minimum spanning tree based approach, combining additional weather data obtained from the IBM Cloud Weather API and self-reported required urgency. A greedy heuristic of the Travelling Salesman (farthest-insertion algorithm) was used to select the final order of visiting the users in each cluster.

## Challenges we ran into

As the technical core of the problem, we were attempting to solve (The Travelling Salesman Problem and other vehicle routing problems) is NP-Hard. Due to the fact that we knew that no exact algorithm with an acceptable running time exists we needed to determine a tradeoff between execution time and performance. We did this by reading papers and experimenting with various heuristics and implementations.

We set up automatic scaling resources with Azure, this was necessary to allow for preprocessing of the OpenStreetMap data to be done in a reasonable timeframe. OSRM also used a non-standard GPS coordinate ordering. this cost us a tremendous amount of time and sanity.

## Accomplishments that we're proud of

We managed to complete our project to a standard we can be proud of in the time frame allocated. We hope that what we have developed can be used to help those in need.

In doing so we came up with novel solutions to the tough technical challenges we faced and made difficult decisions and tradeoffs along the way.

## What we learned

We learned a great deal about the current state of the art in solving TSP. It was also a first for all of us using Azure's services.

## What's next for ResQueue

We will probably continue to add to ResQueue, there were many other cool features that didn't make the final cut suggested both from within the team and also from passerby hackathon-ers.

* A companion app for both drivers and rescuees to allow Uber-like tracking
* Support for special cases such as needing wheelchair accessible vehicles
* General improvements to the algorithms used, both efficiency and accuracy
* Allowing admins to geofence the area they are able to service.
## Inspiration

This project was a response to the events that occurred during Hurricane Harvey in Houston last year, wildfires in California, and the events that occurred during the monsoon in India this past year. 911 call centers are extremely inefficient in providing actual aid to people due to the unreliability of tracking cell phones. We are also informing people of the risk factors in certain areas so that they will be more knowledgeable when making decisions for travel, their futures, and taking preventative measures.

## What it does

Supermaritan provides a platform for people who are in danger and affected by disasters to send out "distress signals" specifying how severe their damage is and the specific type of issue they have. We store their location in a database and present it live on react-native-map API. This allows local authorities to easily locate people, evaluate how badly they need help, and decide what type of help they need. Dispatchers will thus be able to quickly and efficiently aid victims. More importantly, the live map feature allows local users to see live incidents on their map and gives them the ability to help out if possible, allowing for greater interaction within a community. Once a victim has been successfully aided, they will have the option to resolve their issue and store it in our database to aid our analytics.

Using information from previous disaster incidents, we can also provide information about the safety of certain areas. Taking the previous incidents within a certain range of latitudinal and longitudinal coordinates, we can calculate what type of incident (whether it be floods, earthquakes, fire, injuries, etc.) is most common in the area. Additionally, by taking a weighted average based on the severity of previous resolved incidents of all types, we can generate a risk factor that provides a way to gauge how safe the range a user is in based off the most dangerous range within our database.

## How we built it

We used react-native, MongoDB, Javascript, NodeJS, and the Google Cloud Platform, and various open source libraries to help build our hack.

## Challenges we ran into

Ejecting react-native from Expo took a very long time and prevented one of the members in our group who was working on the client-side of our app from working. This led to us having a lot more work for us to divide amongst ourselves once it finally ejected.
Getting acquainted with react-native in general was difficult. It was fairly new to all of us and some of the libraries we used did not have documentation, which required us to learn from their source code.

## Accomplishments that we're proud of

Implementing the Heat Map analytics feature was something we are happy we were able to do because it is a nice way of presenting the information regarding disaster incidents and alerting samaritans and authorities. We were also proud that we were able to navigate and interpret new APIs to fit the purposes of our app. Generating successful scripts to test our app and debug any issues was also something we were proud of and that helped us get past many challenges.

## What we learned

We learned that while some frameworks have their advantages (for example, React can create projects at a fast pace using built-in components), many times, they have glaring drawbacks and limitations which may make another, more 'complicated' framework, a better choice in the long run.

## What's next for Supermaritan

In the future, we hope to provide more metrics and analytics regarding safety and disaster issues for certain areas. Showing disaster trends overtime and displaying risk factors for each individual incident type is something we definitely are going to do in the future.