DOI: 10.5061/dryad.h70rxwdjq
title: Scheduling Mechanisms to Control Spread of Covid-19 (Simulation Results)

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 group
 scheduling, are based on partitioning the
 population randomly 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. 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:     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.
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
 & 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