Efficiently Donating Excess COVID Vaccine Supplies
Efficiently Donating Excess COVID Vaccine Supplies
Exploring logistics optimizations inside the context of COVID vaccination donations
by Kaan Karamete, Saif Ahmed, Matt Brown, Kyle Sutton, and Chad Meley
About The Project
We’ve all heard of the Traveling Salesperson Problem, it’s among the many commonest Graph points and has fairly just a few implementations. In the observe, nonetheless, points are quite extra refined. In the world of logistics, a additional life like setup is commonly the Multiple Supply Demand Chain Optimization (MSDO), the place there are a variety of sources and sinks and we’re looking for basically probably the most optimum provide routes. A generic overview may very well be seen proper right here: https://www.kinetica.com/weblog/kinetica-graph-analytics-multiple-supply-demand-chain-optimization-msdo-graph-solver/.
To reveal Multiple Supply Demand Chain Optimization (MSDO) with a direct drawback we face globally, we’ve modeled the issue of vaccine donations. The US has additional vaccine present which expires over time. If present is expiring, it is greater to donate it abroad sooner than expiration, as shortly as potential. The White House has been doing this. But can it is accomplished additional successfully?
This is a fancy draw back:
- We have quite a few present web sites (each state or space) which can feed into principal worldwide airports
- We have quite a few demand web sites (many nations), a whole lot of which desperately require additional vaccine present
- We have time constraints since accumulation, transport, and distribution must be ahead of expiration timelines
- Everything above is dynamic — the supply and demand at all times modifications with broad utilization and an an infection developments
We have a Multiple Supply Demand Chain Optimization (MSDO) draw back! We’ve modeled the supply, demand, routes, and have all of the issues capable of run on a database (to answer to every day modifications in worldwide present and demand.) The setup documentation may very well be seen at https://docs.kinetica.com/7.1/guides/match_graph_dc_multi_supply_demand/ nonetheless it’ll possible be additional instructive to run it your self beneath. Everything beneath will run on the Developer Edition (https://www.kinetica.com/try/) or on Kinetica Cloud (https://www.kinetica.com/kinetica-as-a-service-on-azure/)
Getting Started
Import from GitHub:
git clone git@github.com:kineticadb/community-vaccines.git cd community-vaccines
Set up python dependencies:
pip arrange -r requirements.txt
Set up Kinetica Developer Edition or Kinetica Cloud and export your credentials as environment variables. The Jupyter pocket ebook will lead you from start to finish!
jupyter pocket ebook
Results
Quick Test Run: Single Source –> Multiple Destinations
You can see some outcomes beneath, nonetheless we encourage you to run this your self and tune the optimization per your liking. The biggest means is to run the Jupyter Notebook https://github.com/kineticadb/community-vaccines/blob/grasp/start-here.ipynb Finally, we plot out the full route we would use for the round-trip:
Incremental Improvement: Two Sources –> Multiple Destinations
This is nice, nonetheless lets proceed to refine this. We can add a second departure hub inside the US to route vaccine present from the south, lets prepare every IAD (Washington Dulles Airport) and DFW (Dallas Fort Worth Airport.) There are a complete lot of prospects proper right here, and you will customise this any means you desire to — the simplest method is to run the Jupyter Notebook https://github.com/kineticadb/community-vaccines/blob/grasp/start-here.ipynb
Taking This Further
Real life is difficult. To make predictions or decisions, we create fashions to characterize actuality among the finest we’ll — balancing trade-offs between correctness with complexity. So far, we’ve made varied simplifying assumptions, nonetheless we’ll proceed to refine the model to introduce additional choices and sort out nuances. Some low cost subsequent steps will be:
- Start with the working Jupyter Notebook and refine iteratively
- Come up with a additional superior present model using CDC info nonetheless with additional nuance spherical vaccine expirations, anticipated utilization sooner than expiration, and so forth. (change the SQL view
vaccine_supply_usa
) - Come up with a additional superior demand model using OWID info, nonetheless alongside along with your concepts on prioritization approaches — can we prioritize the aged inhabitants (additional at risk), or prioritize the youthful (additional extra prone to be outdoor and unfold sickness), or prioritize worldwide places with basically probably the most deaths, or prioritize the worldwide places with the least entry to vaccination? (change the SQL view
vaccine_demand_intl
) - Add quite a few additional regional US services, possibly one for the midwest (Chicago ORD) and one for the west (San Francisco SFO). We have references to the entire US airports, and you might want to use geodesic distance with SQL
- Consider that multi-hop drop-offs themselves require time, and thus, take into consideration what variety of days to expiration are required on vaccines previous which we should at all times avoid transporting them
Contact Us
- information@kinetica.com
- https://www.kinetica.com/contact/
- We’re a world crew, and you will work collectively on Slack
- Authors
- Kaan Karamete
- Saif Ahmed
- Matt Brown
- Kyle Sutton
- Chad Meley
Data Sources
- Daily Vaccine Distribution Data (US) by the CDC
- Global COVID Statistics from Our World in Data
References
- Travelling Salesperson Problem
- White House Fact Sheet: President Biden Announces Major Milestone in Administration’s Global Vaccination Efforts: More Than 100 Million U.S. COVID-19 Vaccine Doses Donated and Shipped Abroad
- Multiple Supply Demand Chain Optimization (MSDO)
- YouTube: A quick introduction to graph group analytics
- YouTube: An overview of graph group analysis with Kinetica