Modéliser un système dynamique avec contraintes en anglais
Contenu à venir !
Contenu à venir !
Contenu à venir !
Contenu à venir !
Contenu à venir !
Contenu à venir !
Contenu à venir !
Contenu à venir !
Modélisation des politiques énergétiques respectant les contraintes de viabilité environnementale et économique.
Comment les algorithmes de viabilité peuvent aider à concevoir des IA respectant des contraintes de sécurité et d’éthique.
Approches mathématiques pour concilier développement économique et préservation du littoral.
Étude de modèles de viabilité appliqués à la régulation des populations et à la santé publique.
Présentation d’un modèle de viabilité pour la régulation durable des pêcheries, en intégrant les contraintes biologiques et économiques.
Cet atelier propose une introduction appliquée à la théorie de la viabilité, notamment dans le cadre des écosystèmes soumis à des contraintes environnementales. Les participants exploreront comment formaliser des politiques durables de gestion à l’aide d’algorithmes de viabilité, et comment modéliser la résilience d’un système via des cas concrets comme l’eutrophisation d’un lac ou la gestion d'une population.
LUNDI 27 avril
LUNDI 27 AVRIL
8h15 - Rendez-vous de l’ensemble des participants devant la Bibliothèque Universitaire
SESSION 1 : POSER UN PROBLEME EN VIABILITE
Animateur : Bates – De Lapparent - Lavallée - Désilles
8h30 - 8h50 La viabilité mathématique en question ? (Samuel Bates)
8h50 - 9h50 Concept et illustration du noyau de viabilité (François Lavallée)
Pause & discussion
10h00-11h15 Formuler mathématiquement un problème de viabilité (François Lavallée)
11h15-12h00 Cas de résolution analytique de la viabilité (François Lavallée)
Déjeuner
13h30-14h15 Cas de résolution numérique de la viabilité (François Lavallée)
14h15-15h00 Cas de résolution de viabilité avec cible terminale (François Lavallée)
Pause & discussion
15h15-16h00 Cas de résolution de viabilité en situation de risque (François Lavallée)
16h00-16h45 Cas de résolution de viabilité en situation d’incertitude (François Lavallée)
Pause & discussion
17h00-17h45 Cas de résolution de viabilité multi-agent (Alice De Lapparent)
MARDI 28 AVRIL
SESSION 2 : L’INFORMATIQUE DE LA VIABILITE
Animateur : Désilles - Lavallée
8h00-9h00 Préparation à l’informatique de la viabilité (Anya Désilles)
9h00-10h30 Présentation du logiciel Viablab (Anya Désilles)
Pause & discussion
10h45-11h15 Enjeux informatiques sur les noyaux de viabilité (Anya Désilles)
11h15-12h00 Enjeux informatiques sur les trajectoires de viabilité (Anya Désilles)
Déjeuner
13h30-15h30 Atelier de manipulation du Logiciel autour d’un cas d’étude (1/2) (François Lavallée & Anya Désilles)
Pause & discussion
15h45-17h45 Atelier de manipulation du Logiciel autour d’un cas d’étude (2/2) (François Lavallée & Anya Désilles)
MERCREDI 29 AVRIL
SESSION 3 : ATELIERS THEMATIQUES D’APPLICATION
Animateurs Désilles - Gloglo
8h00-10h00 Atelier autour de AgroViablab : Illustration vers une montée en
complexité (Anya Désilles)
Pause & discussion
10h15-12h15 Brainstorming autour d’AgroViablab (collectif)
Déjeuner
13h45-15h45 Atelier d’application sur un système monétaire : Illustration vers une simplification de complexité (Beringer Gloglo)
15h45-17h45 Brainstorming sur les applications (collectif)
18h00-19h00 Séminaire sur la viabilité en économie monétaire (en marge de l’école chercheur à destination des étudiants de Master d’économie) (Beringer Gloglo, Samuel Bates)
JEUDI 30 AVRIL
SESSION 4 : MODELISATION EN VIABILITE
8h00-09h00 Brainstroming autour d’un 1er sujet de modélisation (collectif)
9h00-10h00 Brainstroming autour d’un 2e sujet de modélisation (collectif)
Pause & discussion
10h15-11h15 Brainstroming autour d’un 3e sujet de modélisation (collectif)
11h15-12h00 Retour d’expériences
Déjeuner & clôture hors les murs (13h00-17h00 : Saint-Pierre)
L'atelier aura lieu à l'Université des Antilles, Pôle Martinique
Let us consider complex quadratic polynomials that can be expressed as
$$\phi_c(z)=z^2+c.$$
The filled Julia set gathers $z$ such that the sequence of their iterates by $\phi_c$ is bounded.
Fix some $R>0$ large enough that $R^2-R\geq |c|$, the filled Julia set for this system is the subset of the complex plane given by
$$K(\phi_c)=\{z\in C\; :\; \forall n \in N, \;|\phi_c^n(z)|\leq R\},$$
where $\phi_c^n(z)$ is the nth iterate of $\phi_c(z)$. The Julia set $J(\phi_c)$ of this function is the boundary of $K(\phi_c)$.
In 1982, a deep theorem by Adrien Douady and Hubbard states that Julia sets are path-connected if and only if the sequence of the iterates of $0$ is bounded.
Moreover, $K(\phi_c)$ and $J(\phi_c)$ are either path-connected (there is a path within the set that connects any two given points in the set) or path-disconnected (for any two given points in the set, it is impossible to find a path within the set that connects the pair). The set of complex numbers $c$ that can form a path-connected Julia set is called the Mandelbrot set. It is defined in the complex plane as the complex numbers $c$ for which the function $\phi_c$ does not diverge to infinity when iterated starting at $z=0$.
The set Mandelbrot set is bounded, included in $B(0,2)$. Different components of the Mandelbrot set correspond to different dynamical behaviors of the corresponding filled Julia sets.
From
Aubin, J.-P., Bayen, A., & Saint-Pierre, P. Viability Theory: New Directions. Springer. 2011.
We can approximate these Julia sets thanks to the Viability Algorithm.
| Dynamics | Constraints | Target | Viability Concept |
|
Discrete Time Continous 2-dimensional space $\phi(x,y):=(x^2-y^2+a,2xy+b)$ Parameters : $a$, $b$ |
B(0,2) | None | Viability Kernel |
Two famous Julia sets :
You can see below an approximation of the filled Julia and the Julia set for $c=???$ obtained using the VIABLAB software:.

Le problème d'eutrophisation du lac décrit comme le problème de viabilité du lac et des exploitations riveraines est traité à un niveau global et suppose un décideur unique. Dans le présent exemple les parties prenantes sont réunies dans un comité, et les membres du comité (appelés individus dans la suite) ne sont pas nécessairement d'accord sur la dynamique du lac. Cet exemple illustre les cas où la gestion est collective et où il n'y a pas de consensus sur la dynamique. Ce problème est un problème de viabilité garantie.
Ce problème est décrit en détail dans :
Alvarez, I., Zaleski, L., Briot, J.-P., Irving, M. de A. (2023). Collective management of environmental commons with multiple usages: A guaranteed viability approach. Ecological Modelling, 475, Article 110186
Les caractéristiques du problème modélisé sont les suivantes :
Les individus acceptent de partager leurs informations personnelles avec un tiers de confiance.
Dans cet exemple, on considère $N=4$ individus. Trois d'entre eux ($i\in\{1,2,3\}$) adoptent la dynamique classique, mais avec des paramètres différents :
\begin{equation}
(P_i \text{ modèle 1})\left\{
\begin{array}{l}
\frac{dL}{dt}=u\in U=\left[ u_{min},u_{max}\right] \\
\frac{dP}{dt}=-b_i P(t) + L(t) +r_i\frac{P(t)^{q_i}}{m_i^{q_i} + P(t)^{q_i}} \\
\left(L(t),P(t)\right) \in K=[L_{min}, +\infty[ \times [0,P_{max}]
\end{array}
\right.
\end{equation}
Un individu ($i=4$) considère que le processus de relargage peut se produire différemment, et utilise une formule différente pour la pseudo-sygmoïde :
\begin{equation}
(S' \text{ modèle 0}) \quad \frac{dP}{dt}=-b_i P(t) + L(t) + r_i \frac{P(t)}{P(t) + m_i e^{(-\lambda_i(P(t)-m_i)) }}
\end{equation}
Les valeurs numériques pour les calculs sont les suivantes : $u_{min}=-u_{max}/2$ ; $u_{max}\approx 3,15\; \mu g.l^{-1}.\text{an}^{-1}$, $L_{min}\approx6,94 \; \mu g.l^{-1}$, $P_{max}=24.76 \; \mu g.l^{-1}$,
Le tableau suivant rassemble les valeurs des paramètres pour chaque individu (b,r,m sont en $\mu g.l^{-1}$).
| Paramètres | $b_i$ | $r_i$ | $m_i$ | Modèle | $q_i$ | $\lambda_i$ | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| perte | taux | valeur de P | choix du | pente du | pente du | ||||||
| max. | pour $r_i/2$ | modèle | modèle 1 | modèle 0 | |||||||
| Individu 1 | 2,2676 | 101,96 | 26,90 | 1 | 2,222 | - | |||||
| Individu 2 | 2,2676 | 101,96 | 26,90 | 1 | [2,2;2,3] | - | |||||
| Individu 3 | [2,2;2,3] | 101,96 | 26,90 | 1 | 2,222 | - | |||||
| Individu 4 | 2,2676 | 101,96 | 26,90 | 0 | - | [1/19;1/16] |
Les incertitudes sont traitées comme des variables prenant leur valeur dans des ensembles. Le problème est un problème de viabilité garantie, dans lequel le vecteur $v$ des "tyches" regroupent les paramètres incertains : $v_1$ représente le paramètre $b_i$, $v_2$ : $\alpha_i$, $v_3$ : $q_i$ et $v_4$ représente $\lambda_i$. La dynamique du modèle avec incertitudes devient :
\begin{equation}
f_v(x=(L,P),u,v)=\left(
\begin{array}{l}
u\\
- v_1 P + L + r \left( (1-v_2) \frac{P^{v_3}}{m^{v_3} + P^{v_3}} + v_2 \frac{P}{P + m e^{(-v_4(P-m)) }}\right) \;
\end{array}
\right)
\end{equation}
Le problème de viabilité garantie qui doit être résolu est le suivant :
\begin{equation}
(P_v)\left\{
\begin{array}{lcl}
(L,P)'(t)&=&f_B((L,P)(t),u(t),v(t))\\
u(t)&\in& U=\left[ u_{min},u_{max}\right] \\
v(t)&\in & V=[2.2,2.3]\times[0,1]\times[2.2,2.3]\times[1/19,1/18]\\
(L,P)(t) &\in& K \;
\end{array}
\right.
\end{equation}
Le noyau garanti peut être approximé avec ViabLab (version 2.2). Le code correspondant est ici : https://forgemia.inra.fr/isabelle.alvarez/emlake
The accumulation of nutrients (such as phosphorus or nitrogen) in the water of a lake can lead to a change of state that results in the proliferation of algae, the degradation of water quality and biodiversity, and possibly bacterial blooms: this is eutrophication. The problem of the lake and its riparian holdings is to determine whether it is possible to reconcile the practice of an activity which provides nutrients and the conservation of the lake in a desirable state (oligotrophic, as opposed to eutrophic).
This problem is described in detail in:
S. Martin. The cost of restoration as a way of defining resilience: a viability approach applied to a model of lake eutrophication. Ecol. Soc. http://www.ecologyandsociety.org/vol9/iss2/art8
Nutrients inputs $L$ must be above a minimal threshold $L_{min}$, to take into account the needs of the holdings' activities; And the concentration of total Phosphorus $P$ must remain below a threshold $P_{max}$, to keep the lake in an oligotrophic state. These desirable states form the constraints set $K=[L_{min}, +\infty[ \times [0,P_{max}]$.
The evolution of the concentration of total phosphorus in the lake is modeled by a pseudo-sygmoid:
$$\frac {dP} {dt}=-bP(t)+L(t)+r\frac {P(t)^{q}} {m^{q} + P(t)^{q}} \qquad$$
It is assumed that the evolution of phosphorus inputs can be controlled (by decontamination units, the establishment of wetlands, changes in agricultural or industrial practices, etc.), and we model these controls by a single quantity $u\in U=[u_min,u_max]$. The dynamics of the inputs are modeled by:
$$\frac {dL} {dt}=u \in [- u_{min}, u_{max}] \qquad$$
The viabillity problem is then defined by:
\begin{equation}
(P)\left\{
\begin{array}{l}
\frac{dL}{dt}=u\in U=\left[ u_{min},u_{max}\right] \\
\frac{dP}{dt}=-b P(t) + L(t) +r\frac{P(t)^{q}}{m^{q} + P(t)^{q}} \\
\left(L(t),P(t)\right) \in K=[L_{min}, +\infty[ \times [0,P_{max}]
\end{array}
\right.
\end{equation}
The viabillity kernel can be obtained by calculating an integral curve, starting from the intersection between the boundary of the constraint set and the upper stable curve of equilibrium (see page 7 in https://arxiv.org/pdf/2107.02684 ) and following the backward dynamics. Next figure shows the result for the following parameters: $b=1.95$ an$^{-1}$ ; $q=1.9$ ; $m=19.44\ \mu gl^{-1}$; $r=72.22\ \mu gl^{-1}$ an$^{-1}$; $L_{min}=1.25\ \mu gl^{-1}$ ; $P_{max}=17.39\ \mu gl^{-1}$ ; $|u_{min}|=u_{max}=3.15$.
An approximation can be calculated directly with viability kernel calculation software such as ViabLab.
File .json (to be placed in the following repertory: VIABLAB/INPUT): Lac_params.json
File .h (to be placed in the following repertory: VIABLAB/source/data : data_Lac.h
These files correspond to the parameters: $b=0.8$ year$^{-1}$ ; $q=8$ ; $m=1\ \mu gl^{-1}$; $r=1\ \mu gl^{-1}$ year$^{-1}$; $L_{min}=0.1\ \mu gl^{-1}$ ; $P_{max}=1.4\ \mu gl^{-1}$ ; $|u_{min}|=u_{max}=0.09$.
The control is discretized onto 3 values due to the specific characteristics of the problem.
The discretization is performed on 5000 points per axis. The approximation calculated by ViabLab is shown in the following figure. The constraint thresholds are shown in red. It can be seen that the kernel approximation is well performed from the outside.

To compute apporximations of these viability kernels, simply place the .cpp file in ViabLab's /source directory and the .json file in the /INPUT directory.
Then, run ViabLab ; the output files will be placed in the /OUTPUT directory.
To visualize the viability kernel and its boundary, place the .py file in the /OUTPUT directory and run it.
For assistance, consult the training materials.