latency_period_mean=latency_period_mean, latency_period_stdev=latency_period_stdev, incubation_period_mean=incubation_period_mean, incubation_period_stdev=incubation_period_stdev, disease_period_mean=disease_period_mean, disease_period_stdev=disease_period_stdev, asymptomatic_isolation_rate=asymptomatic_isolation_rate, symptomatic_isolation_rate=symptomatic_isolation_rate, daily_interaction_count=daily_interaction_count, contagion_probability=contagion_probability)) sum = 0.0 for k in range(epochs): model = CovidModel() location = SimpleLocation(0, model, population_size) statistics = BasicStatistics(model) model.add_location(location) model.add_listener(statistics) for i in range(simulation_cycles): model.step() sum += statistics.death[-1] baseline_deaths = sum / epochs # Parameter variation ME = float(sys.argv[1]) difference = [None] * len(ICR) for i in range(len(ICR)): difference[i] = [None] * len(ICS) for j in range(len(ICS)): sum = 0.0
sc7_model = CovidModel() np.random.seed(seed) setup_city_layout(sc7_model, population_size) sc7_model.add_listener(Propaganda(sc7_model, 1)) sc7_model.add_listener(RemovePolicy(sc7_model, SocialPolicy.LOCKDOWN_RETAIL, 30)) sc7_model.add_listener(RemovePolicy(sc7_model, SocialPolicy.LOCKDOWN_FACTORY, 60)) sc7_model.add_listener(RemovePolicy(sc7_model, SocialPolicy.LOCKDOWN_OFFICE, 90)) sc7_model.add_listener(RemovePolicy(sc7_model, SocialPolicy.LOCKDOWN_ELEMENTARY_SCHOOL, 90)) sc7_model.add_listener(RemovePolicy(sc7_model, SocialPolicy.LOCKDOWN_MIDDLE_SCHOOL, 90)) sc7_model.add_listener(RemovePolicy(sc7_model, SocialPolicy.LOCKDOWN_HIGH_SCHOOL, 120)) scenario[sc]['parameters'] = sc7_parameters scenario[sc]['model'] = sc7_model ################################################################################ # Simulation of all scenarios for sc in scenario: #for sc in [1, 2, 3, 4, 5, 6, 7, 8]: #print("--------------------------------------------------------------------------------") print(f"Running scenario {sc}") set_parameters(scenario[sc]['parameters']) model = scenario[sc]['model'] model.reset_randomizer(seed) statistics = BasicStatistics(model) model.add_listener(statistics) for i in range(simulation_cycles): model.step() statistics.export_chart("scenario" + str(sc) + ".png") statistics.export_csv("scenario" + str(sc) + ".csv")
for value in var_values: infections_in_restaurants[value] = [] for k in range(multiple_runs): params = copy.deepcopy(basic_parameters) params.params[var_name] = value set_parameters(params) model = CovidModel() setup_city_layout(model, population_size) model.add_listener(Propaganda(model, 30)) model.add_listener( RemovePolicy(model, SocialPolicy.LOCKDOWN_ELEMENTARY_SCHOOL, 30)) model.add_listener( RemovePolicy(model, SocialPolicy.LOCKDOWN_MIDDLE_SCHOOL, 60)) model.add_listener( RemovePolicy(model, SocialPolicy.LOCKDOWN_HIGH_SCHOOL, 90)) statistics = BasicStatistics(model) model.add_listener(statistics) debug = DebugUtils(model) logger().model = model for i in range(simulation_cycles): model.step() statistics.export_chart(f'scenario_{var_name}_{value}_{k}.png') statistics.export_csv(f'scenario_{var_name}_{value}_{k}.csv') debug.update_infection_status() infections_in_restaurants[value].append(debug.count_restaurant) print(infections_in_restaurants)