Question: For this program you will be implementing an outbreak model in C or C++. Specifically, you will be creating an agent-based model of a flu
For this program you will be implementing an outbreak model in C or C++. Specifically, you will be creating an agent-based model of a flu outbreak in an island nation. You will need to come up with a way to represent each individual, on each island, and their respective health status: Healthy, Infected, Infectious, and Recovered. Your program should be able to read in multiple user defined parameters from the terminal, and output the outbreaks progress over time in a consistent, understandable format. Some of the key parts of modelling many diseases are how to model the transmission of a disease from person to person, and how to represent the disease characteristics. To start, representing a transmission is based on two factors, contacts and a transmission probability. In this model, each individual will have a set number of contacts they can make with other individuals every day. When two individuals make a contact, one of two things can happen based on their health status:
1. If one individual is Infectious and the other is Healthy, then both individuals expend a contact and there is a possible transmission of disease from the Infectious individual to the Healthy one.
2. All other cases result in both individuals expending a contact and no transmission occurring.
An additional part of the model is how to represent the disease itself. First, we need to represent the infectious period, or how many days someone remains Infectious before becoming Recovered. Next, we need to represent the infected period, or how many days after someone is Infected they become Infectious. We also assume that once a person has recovered from the disease they are permanently immune and can never be reinfected. Additionally, a number of randomly selected individuals must be initially Infectious at the outset of the model for the disease to begin spreading. Further, the population itself needs to be modelled in such a way that each individual is represented, rather than representing the population as a total count. We assume that because the outbreak will not last sufficiently long, the human population total will not change during the model. Since this is an island nation, we assume that people can only make contacts with other individuals on the same island each day. We also assume that every day a certain number of people travel from island to island via ferry or airplane. For the purposes of this model we will assume travel time is relatively small and thus people move instantly from one island to another, though an individual may only move once per day.
Requirements:
1. A person must be represented as an individual
2. The health status of each individual must be maintained throughout the modelling process
3. People can only make contacts with other people on the same island
4. The number of islands and the total population must be defined by the user before the simulation can start. You can either allow the user to define the population for each island, or have your program automatically distribute the defined total population across the islands in some way
5. The transit routes and rates from each island must be defined by the user before the simulation can start
6. The user must be able to configure the number of contacts individuals make every day, the transmission probability, the infected period, the infectious period, and the initial number of infectious individuals
7. The model should output, perhaps to a file and/or the terminal, the total number of Healthy, Infected, Infectious, and Recovered individuals, across the entire island nation, for each day
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
