Introduction

This project provides a template and a running environment for executing and calibrating epidemic models.

Epidemic models can heavily vary in their complexity, as their formulas get more and more complex with the number of configurable parameters. Because of this reason, traditional fitting methods are not always optimal for fitting the configurable parameters of a complex model.

This project provides a generic optimization template based on black box optimization. With this approach, the optimization algorithm can fit the configurable parameters through repeated calls to the model regardless of its complexity. This is possible thanks to the GGA algorithm 1 implemented by PyDGGA available at https://ulog.udl.cat/software/.

Moreover, this template project provides all the necessary files and configuration options to automatically call the configurator with your model parameters. This is possible thanks to OptiLog, which provides a configuration Python module that allows annotation of Python functions that can then be fitted (also known as configured) to a cost function.

In the files contained in this repository you will find specific places where you can place your code and let the template handle the entire execution pipeline for you. The documentation has details on how to run this template in a Docker environment with all its dependencies locally and then how to deploy this environment to a Cloud service.

Who should use this

The primary target of this project are biologists and researchers that may not necessarily have deep knowledge in system configuration or low-level dependency management. However, it should also appeal to developers that may have deeper knowledge and feel comfortable tweaking very advanced settings.

This template has been has been heavily documented and simplified in order to allow any biologists with minimum Python knowledge to get it up and running as simply as possible.

It allows fitting epidemic models to a set of data points in a very transparent and friendly manner. Users of this template do not need to understand the underlying Docker infrastructure, OptiLog template generation or the configuration algorithm used by PyDGGA.

The basic premises of this project are:

  • You have an epidemic model with a set of parameters that needs fitting

  • You know the domain of this parameters (e.g A Real number between 0 and 500)

  • Your model reports a number as its cost function (e.g 42.32)

  • You want to fit your epidemic model to a set of data

If the previous points fit your use case then this template will probably suit you well.

References

1

Carlos Ansótegui, Josep Pon, and Meinolf Sellmann. Boosting evolutionary algorithm configuration. Annals of Mathematics and Artificial Intelligence, 2021. URL: https://doi.org/10.1007/s10472-020-09726-y, doi:10.1007/s10472-020-09726-y.