Inspiration
We were inspired by the Covid19 pandemic, and the desire to use vaccines to return to a normal life.
What it does
This program will take vaccine shipments in a time sequence and allocate them to groups in the population with the goal of minimizing the spread of the virus. It will then model its effectiveness, including in comparison to intuitional methods (such as always giving it to the groups most likely to die, most likely to spread, etc).
How we built it
We started with a SIR model which could take various population groups (20yos, people with cancer, teachers, etc) with different aspects (transmission rate, probability of death, etc) and model the transmission of the virus. It would also keep track of where each of its members were in terms of the vaccination process (unvaccinated, done, ready for the second vaccine, between vaccines). Over a series of time-steps, this would move the model forward one step. We then used a machine learning agent (reinforcement learning model, TD3) to allocate incoming shipments of vaccines to the groups according to specific priorities (minimize deaths, minimize infections, etc). The agent was also allowed to choose whether to allocate vaccines to groups as a first or second vaccine. Finally, we visualized the effectiveness of the model over given sequences. We also hand-crafted a vaccination strategy (highest death rate first) to compare with and modeled the impact of no vaccinations over the timeframe.
Challenges we ran into
Creating the environment was a challenge. Many complexities made it complicated to track possible outcomes (such as multiple different vaccines, needing to vaccinate people twice at specific intervals, having different infection rates for different parts of the population, etc)
Accomplishments that we're proud of
We are proud to have created a successful model of the spread and vaccination schedules.
What we learned
We had never worked with an infection model before (SIR). In addition to the basic model, we learned how to modify the model to track more complicated scenarios.
What's next for Vaccine Allocation
How the variables are set up at the moment, it is not obvious that TD3 performs better than the baselines. We would like to modify the inputs until it is obvious that the agent improves the baseline (currently the infection spreads through the population to quickly to see the difference). We would like to update this to have more features which can more accurately model the complexities of pandemics (hospitalization rates, economic inpact, etc). These complexities can be balanced to find the optimal answer based on the priorities of a population. We would also like to test on real-world data.

Log in or sign up for Devpost to join the conversation.