Skip to content

AnasXbouali/SIR-final-size-minimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Numerical Resolution for Minimizing Epidemic Final Size in SIR Model

Julia Version

🔷 Overview

This repository contains the Julia code and numerical results supporting the paper:

On the problem of minimizing the epidemic final size for SIR model by social distancing

Authors: Pierre-Alexandre Bliman, Anas Bouali, Patrice Loisel, Alain Rapaport, Arnaud Virelizier

We address the optimal control problem of minimizing the final epidemic size under an $L^1$ constraint on the confinement effort that reduces the infection rate.


🔶 Problem Statement

We consider the following optimal control problem $\mathcal{P}_S$:

$$\begin{aligned} &\underset{u(\cdot) \in \mathcal{U}}{\text{maximize}}\; S(T) \\\ &\text{subject to} \quad \|u(\cdot)\|_{1} \le K, \quad T > 0 \text{ (fixed, sufficiently large)}. \end{aligned}$$
  • $S(t)$, $I(t)$: susceptible and infected populations at time $t$.
  • Control $u(t)$: social distancing effort, $0 \le u(t) \le \bar u$.
  • Budget $K$: total effort constraint, tracked by auxiliary state $C(t)$ with
$$\dot C(t) = -u(t), \quad C(0) = K, \quad C(T) \ge 0.$$

🔷 Mathematical Model

We augment the classical SIR dynamics to include social distancing:

$$\begin{cases} \dot S = -(1 - u)\, \beta\, S\, I, \\\ \dot I = (1 - u)\, \beta\, S\, I - \gamma\, I, \\\ \dot C = -u. \end{cases}$$
  • $\beta$: transmission rate
  • $\gamma$: recovery rate

🔶 Numerical Resolution Strategy

We solve $\mathcal{P}_S$ using the OptimalControl.jl package in Julia and we present the following cases:

Case of constant $\beta$

Description of Simulation Description of Simulation

Case of piecewise constant $\beta$

Case where $\beta_1>\beta_2$ (with two interventions)

Description of Simulation

Case where $\beta_1>\beta_2$ (with one interventions)

Description of Simulation

Case where $\beta_1<\beta_2$ (with two interventions)

Description of Simulation

Case where $\beta_1<\beta_2$ (with one interventions)

Description of Simulation


🔷 Getting Started

  1. Clone this repository:
    git clone https://github.com/AnasXbouali/SIR-final-size-minimization.git
    cd SIR-final-size-minimization
  2. Install dependencies in Julia REPL:
    import Pkg; Pkg.instantiate(); Pkg.precompile();

🔶 Usage

This project is implemented in a Julia Jupyter notebook.

For Constant Transmission Rate $\beta$

Use the function:

SIRocp(tf, S0, I0, K, β, γ, umax)
  • tf: final time
  • S0, I0: initial susceptible and infected fractions
  • K: total social distancing budget
  • β: constant transmission rate
  • γ: recovery rate
  • umax: maximum control effort

For Piecewise Constant Transmission Rate $(\beta_1, \beta_2)$ at time $\tau$

Use the function:

SIRocp2beta(T, S0, I0, K, τ, β1, β2, γ, umax, k)
  • T: final time
  • S0, I0: initial conditions
  • K: budget value
  • τ: time when transmission rate changes
  • β1, β2: transmission rates before and after τ
  • γ: recovery rate
  • umax: max control level
  • k: regularization parameter

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published