Non-pharmaceutical interventions (NPIs) are commonly used tools for controlling infectious disease transmission when pharmaceutical options are unavailable. Yet, identifying effective interventions that minimize societal disruption remains challenging. Agent-based simulation is a popular tool for analyzing the impact of possible interventions in epidemiology. However, automatically optimizing NPIs using agent-based simulations poses a complex problem because, in agent-based epidemiological models, interventions can target individuals based on multiple attributes, affect hierarchical group structures (e.g., schools, workplaces, and families), and be combined arbitrarily, resulting in a very large or even infinite search space. We aim to support decision-makers with our Agent-based Infectious Disease Intervention Optimization System (ADIOS) that optimizes NPIs for infectious disease simulations using Grammar-Guided Genetic Programming (GGGP). The core of ADIOS is a domain-specific language for expressing NPIs in agent-based simulations that structures the intervention search space through a context-free grammar. To make optimization more efficient, the search space can be further reduced by defining constraints that prevent the generation of semantically invalid intervention patterns. Using this constrained language and an interface that enables coupling with agent-based simulations, ADIOS adopts the GGGP approach for simulation-based optimization. Using the German Epidemic Micro-Simulation System (GEMS) as a case study, we demonstrate the potential of our approach to generate optimal interventions for realistic epidemiological models
Figures & tables
Figure 2: Example intervention tree for the intervention ”Symptomatic students have to self-isolate, and their school has to close”.
Figure 3: The parse tree for the example intervention tree in Figure 2 . In the brackets are the rules that are applied to the token above to reach the token below.
Figure 4: Filtering a set repeatedly with the same filter will repeatedly result in the same set (here, AS ). Banning repeating identical filters prevents these semantically pointless interventions.
Figure 5: Example of how the bans impact the expansion of symbols: Before the rule 5 ∈Q for {\color[rgb]{0,0.5,0.5}p_{a}?} is applied, it is filtered by the bans attached to the previous intervention tree edge. An intervention tree edge corresponds to a parse tree’s sub-tree starting with a node labeled with starta and ending before the next node labeled starta. Here, the nodes corresponding to the two intervention tree edges are grouped in the gray bubbles.
Figure 6: The steps in our GGGP algorithm. First, a new generation of NPIs is generated based on our language’s grammar. Then, the NPIs are evaluated in the context of a given goal function. Next, based on the NPIs’ fitness values, they are evolved into a new generation. The green intervention has a low fitness and is therefore not part of the new generation. The blue one has the best fitness and is cloned into the next generation, then crossed with the yellow one. In addition, one intervention in the new generation has been mutated, which is visualized by the pink node that has not yet been part of the population.
Figure 7: Example for a crossover between two intervention parse trees. With the given ban, the highlighted starta node in the left tree and the starta node in the right tree with the dashed outline are not a viable option for crossover. However, the combination of the left starta node and the other highlighted right starta node with the continuous outline is a legal crossover pair.
Figure 8: Observed Parameter values for the fittest NPI per scenario and for a baseline simulation without any NPIs. Scenario 1: Minimize sick days; Scenario 2: Minimize lost school days per student; Scenario 3: Minimize lost work days per worker; Scenario 4: combined goal function (lost_work_days + lost_school_days + 2 * sick_days).
Figure 9: The mean and max fitness of the NPIs over the generations of our genetic programming algorithm per scenario (with different goal functions). We define the fitness to be 1/(<target function>+1). Thus, the fitness in scenario four, where the goal function adds up the lost workdays, lost school days, and sick days, is generally lower than in the other scenarios, where only one metric makes up the goal function. Scenario 1: Minimize sick days; Scenario 2: Minimize lost school days per student; Scenario 3: Minimize lost work days per worker; Scenario 4: combined goal function (lost_work_days + lost_school_days + 2 * sick_days).
Agent-based modeling simulates how interacting, heterogeneous entities and their environments produce patterns in social, economic, biological, and engineered systems.