Scheduling Mechanisms to Control Spread of Covid-19 (Simulation Results)
Creators: name: Hourani, Khalid
name: Augustine, John
name: Molla, Anisur
name: Pandurangan, Gopal
name: Pasic, Adi
Publisher: name: Zenodo
Year: 2021

description: We study scheduling mechanisms that explore the trade-off between containing the spread of COVID-19 and performing in-person activity in organizations. Our mechanisms, referred to as <i>group scheduling</i>, are based on partitioning the population <i>randomly</i> into groups and scheduling each group on appropriate days with possible gaps (when no one is working and all are quarantined). Each group interacts with no other group and, importantly, any person who is symptomatic in a group is quarantined.<br> <br> We show that our mechanisms effectively trade-off in-person activity for more effective control of the COVID-19 virus spread. In particular, we show that a mechanism which partitions the population into two groups that alternatively work in-person for five days each, flatlines the number of COVID-19 cases quite effectively, while still maintaining in-person activity at 70% of pre-COVID-19 level. Other mechanisms that partitions into two groups with less continuous work days or more spacing or three groups achieve even more aggressive control of the virus at the cost of a somewhat lower in-person activity (about 50%). We demonstrate the efficacy of our mechanisms by theoretical analysis and extensive experimental simulations on various epidemiological models based on real-world data.
description: This DATSETNAMEreadme.txt file was generated on 2021-06-23 by Khalid Hourani<br> <br> <br> GENERAL INFORMATION<br> <br> 1. Title of Dataset: Scheduling Mechanisms to Control Spread of Covid-19 (Simulation Results)<br> <br> 2. Author Information<br> A. Principal Investigator Contact Information<br> Name: Gopal Pandurangan<br> Institution: University of Houston<br> Address: 3551 Cullen Blvd. Room 572, Houston, TX 77204<br> Email: gopal@cs.uh.edu<br> <br> B. Associate or Co-investigator Contact Information<br> Name: Khalid Hourani<br> Institution: University of Houston<br> Address: 3551 Cullen Blvd. Room 520, Houston, TX 77204<br> Email: <br> <br> 3. Date of data collection (single date, range, approximate date): 2021-01-25<br> <br> 4. Geographic location of data collection: NA <br> <br> 5. Information about funding sources that supported the collection of the data: NSF<br> <br> SHARING/ACCESS INFORMATION<br> <br> 1. Licenses/restrictions placed on the data: Code has GPL3 License<br> <br> 2. Links to publications that cite or use the data: https://arxiv.org/abs/2009.08872<br> <br> 3. Links to other publicly accessible locations of the data: Code (not CSVs) available at https://github.com/Covimulation/covimulation<br> <br> 4. Links/relationships to ancillary data sets: https://pubmed.ncbi.nlm.nih.gov/18366252/ used to create contact distribution<br> <br> 5. Was data derived from another source? yes/no<br> A. If yes, list source(s): https://github.com/skissler/haslemere<br> <br> 6. Recommended citation for this dataset: <br> <br> <br> DATA &amp; FILE OVERVIEW<br> <br> 1. File List: <br> alias_sampler.py: code for efficient weighted sampling<br> contact_distribution.csv: contact distribution based on https://pubmed.ncbi.nlm.nih.gov/18366252/<br> contact_distribution.py: reads above csv and returns a probability density function<br> contact_graph.py: base class for contact graph model<br> csv_helper.py: helper code to generate csvs after simulations<br> graph.py: base class that contact_graph inherits from<br> grid.py: code to improve efficiency of determining k closest neighbors by gridding<br> mechanisms.py: string manipulation for simulation - converts mechanism name from CSV to expected format<br> person.py: code for person class (effectively, code for nodes in graph)<br> plot_helper.py: code to generate plots (largely unused - plots where generated using PGF from raw data)<br> simulation.py: code to run simulation<br> simulation_kissler.py: code to grab data from https://github.com/skissler/haslemere and run simulation<br> sir_graph.py: inherits structure from contact graph class, adds SIR specific logic<br> <br> kissler_(0.01).csv: simulation results for kissler data with T_p = 0.01<br> kissler_(0.10).csv: simulation results for kissler data with T_p = 0.10<br> raw_geometric_(0.01).csv: simulation results for contact graph with T_p = 0.01<br> raw_geometric_(0.10).csv: simulation results for contact graph with T_p = 0.10<br> raw_seir_(0.01).csv: simulation results for SEIR simulation with T_p = 0.01<br> raw_seir_(0.10).csv: simulation results for SEIR simulation with T_p = 0.10<br> <br> CSVs are formatted:<br> day,basic,symptomatic,(1|5|2),(2|5|0),(3|3|0),(4|4|0)<br> <br> day: the number of days passed since start of the simulation<br> basic: number of new infections that day in basic model<br> symptomatic: number of new infections that day in symptomatic quarantine model<br> (1|5|2): number of new infections that day in group scheduling model with (g, d, t) = (1, 5, 2)<br> (2|5|0): number of new infections that day in group scheduling model with (g, d, t) = (2, 5, 0)<br> (3|3|0): number of new infections that day in group scheduling model with (g, d, t) = (3, 3, 0)<br> (4|4|0): number of new infections that day in group scheduling model with (g, d, t) = (4, 4, 0)<br> <br> 2. Relationship between files, if important: simulation should be able to run by calling<br> python simulation.py<br> python simulation_kissler.py<br> which uses the other files, as described in 1. <br> <br> 3. Additional related data collected that was not included in the current data package: <br> <br> 4. Are there multiple versions of the dataset? no<br> A. If yes, name of file(s) that was updated: <br> i. Why was the file updated? <br> ii. When was the file updated? <br> <br> <br> METHODOLOGICAL INFORMATION<br> <br> 1. Description of methods used for collection/generation of data: <br> We use https://pubmed.ncbi.nlm.nih.gov/18366252/ to create a contact distribution as a probability density function<br> then generate the required number of persons. People are placed randomly in the unit square and connect to a<br> number (drawn from the contact distribution) of closest neighbors. The people can then infect each contact with<br> probability T_p. The simulation is run (for various values of T_p) until there are no remaining infected participants.<br> <br> The same process is run on the data from https://github.com/skissler/haslemer.<br> <br> 2. Methods for processing the data: <br> The number of new infections per day are tracked in the provided source code.<br> <br> 3. Instrument- or software-specific information needed to interpret the data: <br> Python3.6 or later is necessary. Script plot_helper.py uses matplotlib. The Person class from person.py<br> makes use of various numpy functions. The remaining modules imported are all standard library files.<br> <br> 4. Standards and calibration information, if appropriate: <br> <br> 5. Environmental/experimental conditions: <br> <br> 6. Describe any quality-assurance procedures performed on the data: <br> <br> 7. People involved with sample collection, processing, analysis and/or submission: <br> John Augustine<br> Khalid Hourani<br> Anisur Rahaman Molla<br> Gopal Pandurangan<br> Adi Pasic Funding provided by: Science and Engineering Research Board<br>Crossref Funder Registry ID: http://dx.doi.org/10.13039/501100001843<br>Award Number: EMR/2016/003016Funding provided by: Department of Science and Technology, Ministry of Science and Technology, India<br>Crossref Funder Registry ID: http://dx.doi.org/10.13039/501100001409<br>Award Number: DST/INSPIRE/04/2015/002801Funding provided by: National Science Foundation<br>Crossref Funder Registry ID: http://dx.doi.org/10.13039/100000001<br>Award Number: IIS-1633720Funding provided by: National Science Foundation<br>Crossref Funder Registry ID: http://dx.doi.org/10.13039/100000001<br>Award Number: CCF-BSF-1717075Funding provided by: National Science Foundation<br>Crossref Funder Registry ID: http://dx.doi.org/10.13039/100000001<br>Award Number: CCF-1540512
description: We use https://pubmed.ncbi.nlm.nih.gov/18366252/ to create a contact distribution as a probability density function<br> then generate the required number of persons. People are placed randomly in the unit square and connect to a<br> number (drawn from the contact distribution) of closest neighbors. The people can then infect each contact with<br> probability T_p. The simulation is run (for various values of T_p) while tracking the number of new infections per day until there are no remaining infected participants.