2ème année de cycle d’ingénieurs
EIL - Côte d’Opale
Année universitaire 2023-24
Gilles Roussel
Modélisation des systèmes dynamiques : TP3
1 Objectifs
Ce TP a pour objectif :
1. De comprendre un modèle compartimenté à interactions
2. De concevoir et faire évoluer un modèle simulink pour obtenir des données numériques
3. D’analyser des simulations numériques
4. De proposer des évolutions
2 Modèles compartimentés à interactions
De nombreuses situations peuvent se modéliser comme des interactions au cours du temps : des
appels téléphoniques, du trafic réseau, des échanges de messages, des achats en ligne, des flux
financiers, des contacts physiques, l’activité cérébrale, des virus . . . Disposant de connaissances
sur les interactions entre les diverses entités qui composent le système étudié, est-il possible de
comprendre comment les valeurs de ces variables évoluent dans le temps, et par là-même, de
comprendre le comportement du système ? Lorsque les entités échangent une grandeur de
type flux, il est alors possible de voir un groupe de variables comme des réservoirs reliés entre
eux par des liens de flux. La modélisation de l’évolution de ces réservoirs passe alors par les
équations différentielles.
2.1 Propagation de virus
La propagation d’un agent infectieux au sein d’une population est un phénomène dynamique
: les effectifs d’individus sains et malades évoluent dans le temps, en fonction des contacts au
cours desquels cet agent passe d’un individu infecté à un individu sain non immunisé, l’infectant
à son tour. Un tel phénomène peut être étudié en le modélisant par des équations différentielles
et en déterminant son comportement à travers la résolution numérique de ces équations. Le
modèle SIR est un exemple de modèle à compartiments, c’est à dire que l’on divise la population
en plusieurs catégories.
2.2 Le modèle SIR (Suceptible Infected Recovered)
Il fait intervenir 3 variables :
• S(t) désigne, au sein de la population concernée, les individus Sains (Susceptible en
anglais) d’être infectés,
• I(t) désigne ceux qui sont Infectés (Infected)
• R(t) ceux qui sont Rétablis (Recovered en anglais) et ne peuvent plus être infectés, sous
l’hypothèse, liée à ce premier modèle, qu’un individu guéri est définitivement immunisé.
L’effectif de chacune de ces populations est évidemment variable dans le temps, modélisable
de ce fait par une fonction de la variable indépendante t, le temps.
Si, au cours de la propagation de l’épidémie, l’effectif P de la population totale peut être con-
sidéré constant, on écrit :
S(t) + I(t) + R(t) = P (2.1)
Ce système peut être représenté graphiquement par un ensemble de trois compartiments
connectés par des flux d’individus qui passent de l’un à l’autre :
Figure 1: Diagramme des flux d’individus dans le modèle SIR
Une analogie peut être faite avec des réservoirs d’eau entre lesquels s’écoulent des flux (voir
exemple du TP1). À chaque compartiment est associée une variable d’état : S(t), I(t) et R(t)
toujours positives et sans dimension.
L’écriture du système différentiel s’inspire des formulations mathématiques de l’exemple
de l’interaction de deux populations (voir l’exemple du système proies prédateurs vu en cours
et en TP 2).
La propagation de l’épidémie (ici la variation du nombre d’infectés au sens de la dérivée
temporelle) résulte des contacts contaminants entre les personnes infectées et les personnes
saines et donc au produit des deux effectifs I(t) × S(t). On peut donc écrire :
dI(t)
= β.I(t).S(t) (2.2)
dt
2
β × I(t) × S(t) est la mesure instantanée (comptée en individus par unité de temps) du flux
des individus qui passent du compartiment «Sains» au compartiment «Infectés». Le paramètre
β > 0, appelé taux d’incidence, pourrait s’écrire β = β1 ×β2 où β1 rend compte de la proportion
des contacts effectifs entre les personnes saines et infectées (parmi tous les contacts possibles
C(t) pendant un intervalle de temps dt : ici C(t) = I(t) × S(t)) et où β2 rend compte de la
probabilité qu’un tel contact transmette la maladie de la personne infectée à la personne saine
(probabilité dépendante de la virulence de l’agent infectieux).
L’effectif de la population saine diminue symétriquement :
dS(t)
= −β.I(t).S(t) (2.3)
dt
Les malades guérissent en moyenne au bout d’un temps λ, appelé taux de guérison. Si un
individu reste en moyenne malade λ jours, λI est, à tout instant, la mesure du flux d’individus
qui guérissent, quittent donc le compartiment «Infectés», viennent s’accumuler dans le com-
partiment «Rétablis» et ne peuvent plus être contaminés, car immunisés. λI a pour dimension
[temps]−1 (ici temps =jours). L’équation différentielle qui régit l’évolution de l’effectif des
infectés s’écrit :
dI(t) I
= β.I(t).S(t) − (2.4)
dt λ
I
λ est la valeur instantanée du flux entre «Infectés» et «Rétablis». L’effectif des rétablis
s’accroît ainsi symétriquement du même flux de valeur λI des personnes guéries :
dR(t) I
= (2.5)
dt λ
Le modèle SIR s’écrit donc :
dS(t)
dt = −β.I(t).S(t)
dI(t) I
dt = β.I(t).S(t) − λ
(2.6)
dR(t) I
dt = λ
En additionnant ces trois équations membre à membre, on obtient :
dS(t) dI(t) dR(t) I I
+ + = −β.I(t).S(t) + β.I(t).S(t) − + = 0 (2.7)
dt dt dt λ λ
ce qui est conforme au fait que l’effectif de la population P est constant, donc de dérivée nulle:
dS(t) dI(t) dR(t) d(S(t) + I(t) + R(t)) dP
+ + = = =0
dt dt dt dt dt
2.3 Simulation du modèle SIR
Le comportement des variables I(t), S(t) et R(t) de ce modèle peut être obtenu par simulation,
c’est-à-dire à travers la résolution numérique des équations différentielles associées. Dans le
modèle simulé, les variables S et I ont été normalisées : leur valeur est comprise entre 0 et 1 et
représente une fraction de la population totale.
Comme pour toute simulation, il est nécessaire de fixer :
3
• la valeur des conditions initiales, c’est-à-dire les valeurs de I, de S et de R au temps t = 0,
soit I(0), S(0) et R(0), notées I0, S0 et R0 dans les tests. Dans ce premier scénario, aucun
individu n’est immunisé au début de la période épidémique : R0 = 0. Et puisqu’à tout
instant I + S + R = P, il suffit de fixer I0, effectif initial de la population d’individus
infectés, c.a.d une fraction (entre 0 et 1) de la population P.
• les valeurs des paramètres, ici β et λ
2.3.1 Questions
1. A partir des équations différentielles établies en (2.6), construire un schéma simulink per-
mettant de simuler et visualiser les courbes d’évolution de S(t), I(t) et R(t). Les éléments
(intgrateur, gain, multiplication, division, Slider_gain, scope, multipexeur, ...) pour-
ront être obtenus depuis les bibliothèques (Math operations, Continuous, Sinks, Sources,
Routing, etc ...).
Le réglage de β et λ sera réalisé par deux éléments de type Slidergain.
L’ensemble des grandeurs S, I, R seront visualisées sur un même Scope.
Le fichier simulink sera appelé [Link]
Un script matlab (propvirus.m), lancé avant la simulation sera chargé d’affecter les vari-
ables internes au workspace utilisées dans le fichier simulink et de lancer la simulation
par la commande : SimOut=sim(’SIR1’);
Pour la mise au point, les paramètres de simulation seront réglés à : I0 = 0.02; λ = 7;
β = 0.5; Temps de simulation : 28 (jours).
2. Avant de simuler, explicitez le comportement que vous attendez de S, I et R. Vous con-
fronterez vos attentes aux résultats de la simulation
3. Réaliser les simulations avec les paramètres précédents, et faire une copie d’écran du
schéma et des courbes pour être intégrés au rapport.
4. Ajouter la visualisation de la population totale, P = S + I + R.
5. Êtes-vous surpris par l’existence d’un pic de l’effectif des infectés ? Pourquoi ?
6. Observez l’impact des changements des valeurs des paramètres sur le comportement du
système. La simulation est-elle en accord avec votre compréhension du phénomène ?
7. Remarque : afin de faciliter la visualisation des changements de valeurs, il est conseillé
d’adopter une structure itérative du lancement de la simulation sous la forme :
% Initialisation
4
...
% Exécution
for i=1:nb_iter
SimOut=sim(’SIR1’);
pause;
i=i+1;
end;
Cette structure permet de modifier les paramètres sur les "Slider Gain" à chaque pause,
pendant la simulation.
2.3.2 Modèle SIR avec prise en compte de la mortalité
Le modèle précédent est particulièrement simple, car il véhicule de très nombreuses hypothèses
simplificatrices : pas de mortalité, qu’elle soit liée ou non à la maladie, brassage uniforme de la
population, etc.
Un terme -µ.I permet de prendre en compte la mortalité liée à la maladie, notée par le taux µ,
dans l’équation différentielle qui régit l’évolution de l’effectif des infectés :
dI(t) I
= β.I(t).S(t) − − µ.I (2.8)
dt λ
µ > 0 est un paramètre dont la valeur est proportionnelle à la virulence de l’agent contami-
nant. Avec l’adjonction de ce terme -µ.I < 0, la population totale P ne peut plus rester constante.
Elle diminue sous l’effet de cette mortalité.
2.3.3 Questions
1. Appliquer les changements nécessaires au schéma précédent pour prendre en compte la
mortalité dans le modèle SIR
2. Faire la simulation avec la valeur µ = 0.01
3. La simulation permet d’explorer l’impact de cette adjonction, selon les valeurs du paramètre
µ. Ici encore, modifiez la valeur de µ et explicitez le changement de comportement que
vous attendez et confrontez cette attente au résultat de la simulation.
4. Pourquoi l’effectif de la population des individus sains se stabilise-t-il à un niveau d’autant
plus élevé que le taux de mortalité µ est élevé?
2.4 Simulation du modèle SEIR
Un nouveau compartiment peut également être introduit pour prendre en compte le fait qu’un
individu peut être contaminé sans être encore contagieux. On introduit donc une quatrième vari-
able d’état C, dont la valeur est l’effectif des individus dans cet état contaminé non contagieux.
ν est la durée, en jours, de la période d’incubation.
5
Figure 2: Diagramme des flux d’individus dans le modèle SEIR. Une période d’incubation est
introduite : pendant un laps de temps moyen ν, les individus contaminés ne sont pas encore
contagieux ; ils forment la population d’effectif C. Un taux de mortalité µ a également été
introduit.
Le modèle devient :
dS(t)
dt = −β.I(t).S(t)
dC(t) C
dt = β.I(t).S(t) − ν (2.9)
dI(t) C I
dt = ν − λ − µ.I
dR(t) I
dt = λ
Il faut ici considérer que la population totale initiale P0 = S0 +C0 + I0 + R0.
2.4.1 Questions
1. Appliquer les changements nécessaires au schéma précédent pour prendre en compte le
réservoir de personnes en incubation C(t) dans le modèle SEIR
2. Faire la simulation avec la période d’incubation ν = 3 jours, le taux d’incidence β = 0.6,
le temps de guérison λ = 7 jours, le taux de mortalité µ = 0.005, la proportion initiale de
personnes en incubation C0 = 0.1.
3. La simulation permet d’explorer l’impact de cette adjonction, selon les valeurs du paramètre
ν. Ici encore, modifiez la valeur de ν et explicitez le changement de comportement que
vous attendez et confrontez cette attente au résultat de la simulation.
2.5 Introduction de la vaccination
Datant de 1927, le modèle SIR a aidé la politique sanitaire de vaccination contre la variole au
début du XXe siècle. Les personnes saines vaccinées passent directement dans le comparti-
ment des immunisés ou Recovered, et à terme l’épidémie s’arrête. On propose d’introduire la
modélisation de la vaccination au modèle SEIR.
6
2.5.1 Questions
1. Appliquer les changements nécessaires au schéma précédent pour prendre en compte
l’impact d’une vaccination sur les individus sains. L’idée est de considérer qu’un individu
vacciné rejoint le réservoir des immunisés (recovered) après une période moyenne de δ
jours. Cependant, la campagne de vaccination est bornée par une vitesse de vaccination
de U% par jour de la population saine.
2. Faire la simulation avec une susceptibilité avant immunisation δ = 21 jours. La période
d’incubation ν = 3 jours, le taux d’incidence β = 0.4, le taux de guérison λ = 7 jours, le
taux de mortalité µ = 0.005, la proportion initiale de personnes en incubation C0 = 0.1.
U=1/300. Allonger la durée de simulation pour voir l’effet long terme.
3. La simulation permet d’explorer l’impact de cette adjonction, selon les valeurs du paramètre
δ. Ici encore, modifiez la valeur de δ et explicitez le changement de comportement que
vous attendez et confrontez cette attente au résultat de la simulation.