Title: A Computational Framework for Modeling the Spread of Pathogens and Generating Effective Containment
1A Computational Framework for Modeling the
Spread of Pathogens and Generating Effective
Containment Strategies in Weakly Connected Island
Models
- Lucas R. Shaw
- Masters Thesis Defense
- April 23, 2007
- Advisor Dr. William M. Spears
- University of Wyoming
- Department of Computer Science
2Contributions
- Applied agent-based simulation, mathematical
analysis, and Evolutionary Algorithm (EA)
optimization tool to a simulation of virus spread
between cities - Implemented a parallelized simulation of virus
spread between cities in Starlogo and also in C - The general ideas used by our simulation could be
used as a computational framework for similar
simulation problems - Analyzed the properties of the simulation model
using EAs and mathematical analysis - Developed vaccine allocation policies to minimize
the impact of the virus on our simulated
population and compared them to EA generated
policies - Developed more effective vaccine allocation
policies based on mathematical analyses of the
model
3Overview
- Goal Create a simulation of viral spread in the
United States. - Focus on the 12 major airplane hub cities in the
US, and the air travel between them. - Create a macro-level model of the air travel
between those cities. - Create a micro-level model within the cities.
- Investigate vaccination policies using this
simulation.
4Two-Level Architecture
- Macro-Level models approximately 2000 flights
between the 12 busiest airports in the U.S. - Airplane flights are governed by a probability
matrix. - Micro-Level models the spread of a virus inside
each of the 12 cities - Differential equations model the spread of the
virus inside of each city. - The number of people captured by the model is
about 1/6th the population of the U.S.
5The 12 Cities
Minneapolis
Chicago
Detroit
San Francisco
Denver
Las Vegas
Los Angeles
Phoenix
Atlanta
Dallas
Houston
Miami
6The Air Travel Model (Macro-level)
- We found a list of the busiest airports in the
world and picked (all) the top 12 US airports in
the list. - We also compiled data on each of the 12 cities
(population, area, etc.) - Using airline flight data, we compiled the
frequencies of direct (non-stop) flights from one
airport to another for all 12 cities. - This data is compiled into a probability
transition matrix Q, where each entry Qij in Q
contains the probability a flight will leave from
cityi for cityj.
7Population Sizes
The total number of people is approximately
55,000,000
8Probability Matrix
Atlanta Chicago LA Dallas Denver Phoenix
LV Houston Minn Detroit SanFran Miami
Atlanta 0.00 0.1061 0.0909 0.1162
0.1162 0.0707 0.0505 0.1111 0.0859 0.0808
0.0758 0.0960 Chicago 0.0909 0.00
0.0818 0.0100 0.0818 0.0909 0.0818 0.0864
0.100 0.100 0.100 0.0864 LA
0.0966 0.1023 0.00 0.1193 0.1023
0.1193 0.0909 0.0852 0.0682 0.0398 0.0966
0.0795 Dallas 0.1061 0.1111 0.101
0.00 0.0960 0.0909 0.096 0.0909 0.0859
0.0707 0.1061 0.0455 Denver 0.1128
0.1077 0.0872 0.1026 0.00 0.1026 0.1026
0.0923 0.1077 0.0513 0.0923 0.0410
Phoenix 0.0814 0.1163 0.1105 0.1163 0.1163
0.00 0.064 0.093 0.093 0.0698
0.1279 0.0116 LasVegas 0.0803 0.1241
0.1168 0.1387 0.1460 0.0803 0.00 0.0511
0.0584 0.0511 0.1314 0.0219 Houston
0.1438 0.1125 0.0938 0.100 0.1125 0.100
0.0938 0.00 0.0563 0.0563 0.0813 0.0500
Minn. 0.1224 0.1497 0.0748
0.1156 0.1361 0.1088 0.0544 0.0612 0.00
0.102 0.0544 0.0204 Detroit 0.1417
0.1750 0.0583 0.1167 0.0833 0.100 0.0583
0.0750 0.1167 0.00 0.0250 0.0500 San
Fran 0.0750 0.1375 0.1125 0.1250 0.1188
0.1375 0.1063 0.0813 0.050 0.0188 0.00
0.0375 Miami 0.2083 0.1771 0.1458
0.0938 0.0938 0.0208 0.0313 0.0833 0.0313
0.0625 0.0521 0.00 Total
1.2593 1.4192 1.0734 1.2441 1.2029 1.0219
0.8297 0.9108 0.8532 0.7030 0.9428 0.5398
9Airplanes Flying
10The Virus Spread Model (Micro-level)
- People can be susceptible, asymptomatic,
infected, or recovered. - Susceptible people are healthy and can catch the
disease. - Asymptomatic and infected people are contagious.
Asymptomatic people do not show symptoms, while
infected people do. Asymptomatic people can fly. - Recovered people will not catch the disease again
for a long time.
11The Disease Cycle
P(Recovered Infected)
Infected
Recovered
P(Infected Asymptomatic)
P(Susceptible Recovered)
Susceptible
Asymptomatic
P(Asymptomatic Susceptible)
12Differential Equations
13Interpretation of Parameters
- Average infection rate
- Expected asymptomatic time 1/µ
- Expected infected time 1/d
- Expected time you are immune 1/d
- Everything is a constant, except To prove
this, we can derive a power series that computes
expected time ineach state and show it converges
to 1/parameter for all states (1/ could be
thought of as expected time before becoming
asymptomatic, though thisvalue constantly
changes as the population proportions change).
14What is the Average Infection Rate?
- Suppose some fraction f of the population is
vaccinated (0 f 1). - Let be the infection rate for the fraction of
the population that is not vaccinated - Let be the infection rate for the fraction
of the population that is vaccinated - Then the average infection rate is given by
15What are the Infection Rates a and a'?
- a and a' depend on the proportion of asymptomatic
a and infected i people, and on the number of
people n (neighbors) that you encounter daily. - Let ß and ß' be the probability that a contagious
neighbor will infect you - ß is used if you are not vaccinated
- ß' is used if you are vaccinated
- ß'
- Then the infection rates areNote We assume
n is the same for all cities
16Simulating City Population
People can be susceptible, contagious (sick or
asymptomatic), or recovered.
17Vaccine Allocation Policies
- Vaccines reduce the probability of infection.
- Given a fixed number V of vaccines, what is the
optimal way to distribute them to the 12 cities? - We compare hand-crafted benchmark policies versus
policies found by an evolutionary algorithm (EA).
18Vaccine Allocation Policies
- Experiments on vaccine supplies of 5 to 55
million vaccines (in increments of 5 million) - The comparison will be done based on the number
of sick days that occur better policies result
in fewer sick days. - Other possible measures are total number of
contagious people or deaths due to the virus.
19Vaccine Allocation Policies
- Benchmark Policies
- Uniform distribution
- Uniformly distribute vaccine supply
- Proportional distribution
- Give each city a proportion of the vaccine supply
equal to its proportion of the total population - Thought experiment Which of these two policies
is better?
20Results
21Discussion
- Why is a proportional distribution policy worse
than a uniform distribution policy? - Where are you more likely to run into one of 100
contagious people a small city or a big city?
(dilution factor) - Why is the EA outperforming both hand-crafted
policies? What is special about the EA policies?
22Example EA Policy
Note that the city of origin, Atlanta, receives a
lot of vaccine, as do the smaller cities!
23New Policy
- Give the city of origin a lot of vaccine and then
use an inverse proportional distribution policy
where smaller cities receive more vaccine.
24Results
25Discussion
- So, vaccinating smaller cities is important.
- However, further analysis of the EA-generated
policy made us realize that one should also
vaccinate cities that are flown to more often! - This information can be obtained from the
probability matrix.
26New Policy
- Give the city of origin as much vaccine as
possible. - Then order the cities important cities are
those that are flown to often and have small
population sizes. - Give as much vaccine to the important cities as
possible, until you run out of vaccine.
27Results
28Discussion
- Clearly, this new policy works very well we are
now outperforming the EA policy! - Question, do we really have to give as much
vaccine as possible to the important cities?
Not at 1.0! Why?
29Phase Transition
- An initially small infection will die off quickly
if the following inequality holds - For this simulation, f is approximately 0.9!
30New Policy
- Give the city of origin as much vaccine as
possible. - Then order the cities important cities are
those that are flown to often and have small
population sizes. - Give f 0.9 vaccine to the important cities,
until you run out of vaccine. - This leaves more vaccine for other cities.
31Results
32R and the Phase Transition
- We can relate our phase transition to R the
replacement number, which is used in mathematical
epidemiology - R estimates how fast a virus will spread
- R is the average number of secondary infections
generated by a typical infective over the
infectious period - When R 1, the virus will spread
- When R 1, the virus will not spread
- When R
33R and Phase Transition
34Vaccine Efficacy
- We can use the phase transition to define a
feasibility region in terms of f and ß' when h
1, letting f and ß' range over 0..1recall
d, µ and ß are constants defined by the virus
characteristics, and n is assumed constant as
well - We could also use the ratio c of ß' to ß to
define the feasibility region if we relate ß' and
ß by c ß' /ß. - We used a c 1/3 in our experiments.
35Vaccine Efficacy
This shows the possible vaccine efficacies in
terms of ß'. If there is no f value between
(0..1, then the virus cannot be controlled with
any amount of vaccine.
36Vaccine Efficacy
37Vaccine Efficacy
- The region of feasible vaccines in the experiment
corresponds directly with the theoretical limit.
38The 2005 Flu Season
- Given the initial flu outbreak, we can
potentially use our probability matrix to figure
out where the flu will go next! - During the 2005 Christmas week, the flu became
widespread in California and Arizona. Of the 10
states (12 cities) we model, our simulation
indicated that Nevada, Texas, and Colorado would
be next.
39Week Ending December 24
40Week Ending December 31
41Week Ending January 7
422006 Flu Season
- The model predicted spread from Florida to
Georgia.
432006 Flu Season
- Then the model predicted Minnesota, Colorado,
Texas, and Nevada. Only Nevada avoided the worst.
44Summary
- Lessons learned
- Vaccinating populations that are visited more
often is important. - Vaccinating smaller populations may be much
better than vaccinating larger populations! - If conditions change, the Evolutionary Algorithm
can automate the search for good policies. - This method can be applied to a variety of
similar problems (animal disease, computer
viruses, etc)!
45Loosely Connected Island Model
46Acknowledgements
- Thanks go to
- My Committee Members Dr. William Spears, Dr.
Diana Spears, Dr. Steven Barrett, and Dr. Lora
Billings - BRIN for funding development of the simulation
- INBRE for funding development of the Parallel
Evolutionary Algorithm toolkit - Dr. William M. Spears and Dr. Diana F. Spears for
choosing me to do this work and their guidance - Paul Maxim for his help with gathering data and
other work with the first version of this
simulation - Stormy Knight the UW Beowulf Cluster
administrator for his input regarding the
parallelization of the virus simulation
47Discussion
- Clearly, this is much closer to the EA-generated
policy. But why does it work? - Because the rate at which an infection takes off
depends on the proportion of contagious people - In other words,100 contagious people flying into
a small city have a greater impact than the same
people flying into a large city.