Aller au contenu principal

Intermédiaire

[Texte] Calculs de viability-theory.org dans ViabLab

Niveau de difficulté
Thématique
Présentation formation

Reproduire les calculs des exemples de viability-theory.org :

Aller sur la page du cas d'usage choisi, par exemple l'exemple de Julia, et télécharger les deux fichiers .h et .json associés à l'implémentation dans Viablab.

Copier le fichier .json dans le répertoire ~/ViabLabGui/bin/VIABLAB/INPUT et le fichier .h dans le répertoire  ~/ViabLabGui/bin/VIABLAB/source/data/ 

Editer le fichier ~/ViabLabGui/bin/VIABLAB/source/data/ModelDataInclusion.h

Remplacer la ligne qui commence par string paramsFile avec le nom du fichier .json que vous venez de copier. Par exemple, si ce fichier s'appelle toto .json, il faut écrire écrire :

string paramsFile = "toto.json";

Remplacer dans la ligne qui commence par #include, le nom du fichier .h par celui du fichier que vous venez de copier : si ce fichier se nomme data_toto.h, écrire

#include  "../data//data_toto.h"

Enregistrer le fichier ModelDataInclusion.h

Retourner dans le répertoire ~/ViabLabGui/bin/VIABLAB/build :

 

Pour Linux : 

make

pour créer le fichier exécutable viabLabExe, puis, pour l'exécuter :

./viabLabExe

 

Pour MacOS : 

Générer avec make (en utilisant tous les CPU du Mac pour accélérer la compilation)

make -j$(sysctl -n hw.logicalcpu)

Pour exécuter viabLabExe

 ./viabLabExe 

 

 

Vous venez de lancer le calcul de noyau de viabilité identique à celui du site !

 

Contrôle de viabilité dans les systèmes biologiques

Lieu
Université de Liège
Date
15-06-2022
Langue de la conférence
Niveau de difficulté
Description

Étude de modèles de viabilité appliqués à la régulation des populations et à la santé publique.

Intervenant(s)
Dr. Sophie Charlier (Université de Liège), Contenu à venir !

Modèles de viabilité appliqués à la gestion des ressources halieutiques

Lieu
Université de Bretagne Occidentale
Date
15-03-2024
Langue de la conférence
Niveau de difficulté
Domaine
Description

Présentation d’un modèle de viabilité pour la régulation durable des pêcheries, en intégrant les contraintes biologiques et économiques.

Intervenant(s)
Pr. Alain Lefort, Contenu à venir !

Modeling Viability under Uncertainty

Type de document
Revue
Natural Resources Modeling
Volume
31: e12186
Année de publication
2018
Sous titre
An Illustration from Farming Systems
Auteur(s)
Bates, Samuel; Angeon, Valérie; Désilles, Anna; Saint-Pierre, Patrick
Niveau de difficulté
Thématique

Uncertainty occupies a major place in the literature, both when it is being defined and when it is being measured. The mathematical viability framework provides useful concepts to go beyond the probabilistic views of uncertainty that are not able to capture all forms of uncertainty, particularly in the absence of statistical regularities. Bounded-set uncertainty can help to analyze changes in the evolutionary conditions that affect ecological and social systems with probabilistic or nonprobabilistic distributions. This paper introduces uncertainty into a viability model by associating stochastic and bounded-set uncertainty related to sales price as a driver of economic uncertainty. Based on an illustration of agroecosystems, the model identifies decision rules that guarantee viability. The larger the initial crop portfolio for sequential diversification is, the lower the costs to belong to the viability kernels will be, regardless of economic and environmental constraints. The diversification of farming systems transforms their complexity into an advantage against uncertainty, which opens up numerous viability trajectories.

Julia

Niveau de difficulté
Domaine
Contenu

Dans le cas où f {\displaystyle f}$\phi$ est un polynôme, l'ensemble de Julia rempli est le complémentaire du bassin d'attraction du point à l'infini; autrement dit, ce sont les points dont l'orbite est bornée. 

Étant donnés un nombres complexes, $u:=a+ib$, soit la fonction complexe $\phi(z)=z^2+c$ ou de manière équivalente, la fonction $\phi(x,y):=(x^2-y^2+a,2xy+b)$ avec $z=x+iy$, on considère la suite $(z_n)$ définie par la relation de récurrence : $z_{n+1}=\phi(z_n,u)$ avec $\phi(z)=z^2+c$,

Pour une valeur donnée de $u$, l'ensemble de Julia correspondant est la frontière de l'ensemble des valeurs initiales $z_0$ pour lesquelles la suite est bornée. 

D'après

Aubin, J.-P., Bayen, A., & Saint-Pierre, P. Viability Theory: New Directions. Springer. 2011.

Le sous-ensemble $K_u:=Viab_{\phi}(B(0,1))$ est le sous-ensemble de Julia rempli pour la function $\phi$ et sa frontière $J_u:=\partial K_u$ est l'ensemble de Julia.

L'Algorithme de Viabilité permet donc de calculer une approximation de ces ensembles de Julia.


Voici le noyau de viabilité approché obtenu en utilisant le logiciel VIABLAB : 

Pour calculer ce noyau de viabilité avec VIABLAB, utilisez les deux fichiers ci-dessous en suivant cette procédure :

Fichier de code

Modèle d'interaction entre une ferme et un restaurant

Niveau de difficulté
Domaine
Contenu

Ce système décrit une ferme et un restaurant appartenant à un même projet. Par conséquent, ils fonctionnent en étroite collaboration.

Description du système :

de Lapparent, A., Martin, S. & Sabatier, R. Using System Modularity to Simplify Viability Studies: An Application to a Farm-Restaurant Interaction. Environ Model Assess (2024). https://doi.org/10.1007/s10666-024-10014-w

L'objet calculé est un noyau de viabilité. Le modèle est discret en termes d'états, de contrôles et de temps.

Le calcul prend un instant (4088 s sur mon ordinateur), veuillez patienter…

Modèle

États et contrôles

Variables d'état

Notation Description Number of points Maximal value Minimal value
$x_1$ Cumulative cash flow (€) 41 100 000 0
$x_2$ Restaurant attractivity coefficient (no unit) 31 1 0
$x_3$ General Index for Soil Quality 51 1 0

la limite supérieure de  $x_1$ peut être relâchée.


Variables de contrôle

Notation Description Number of points Maximal value Minimal value
$u_1$ Choice of N-crops rotation 126 126 1
$u_2$ Surface dedicated to market gardening (in ha) 21 2 0.05
$u_3$ Price of a meal (in €) 21 15 2

Dynamiques

Les dynamiques sont décrites par :

\begin{equation}
   \mathcal{S}_U
   \begin{cases}
   x_{1}^{t+1} = x_{1}^t + G(x_{2}^t,u_{3}^t,R(x_3^t,u_1^t,u_2^t)) - E(u_{1}^t,u_{2}^t)\\
   x_{2}^{t+1} = \alpha(x_{2}^t,u_{3}^t,R(x_3^t,u_1^t,u_2^t))\\
   x_{3}^{t+1} = \Phi (x_{3}^t ,u_{1}^t,u_{2}^t) \\
   \end{cases}
\end{equation}

avec comme fonctions :

Notation

Description

$R(x_3,u_1,u_2)$ Agricultural production
$G(x_2,u_3,R(x_3,u_1,u_2))$ Restaurant economic outcome
$\alpha(x_2,u_3,R(x_3,u_1,u_2))$ Transition function for the restaurant attractivity
$\Phi(x_3,u_1,u_2)$ Transition function for the GISQ
$E(u_1,u_2)$ Cost of agricultural production

Certaines dynamiques nécessitent l'utilisation de paramètres de grille. Par conséquent, une fonction a été implémentée dans le fichier source pour obtenir ces valeurs.

Constraintes

Ce système comporte deux contraintes : la rentabilité du système global et la préservation d'une qualité minimale des sols pour répondre aux enjeux de durabilité. Ces contraintes se traduisent par des seuils sur les flux de trésorerie cumulés ($x_{1} \geq x_{1min}$) et sur la qualité du sol ($x_3 \geq x_{3min}$), respectivement. En d'autres termes, $(x_1^t,x_2^t,x_3^t)$ doit rester dans $K$ pour tout $t\in \mathbb{N}$ avec : 
\begin{equation}
K:=\{(x_1,x_2,x_3)\in \mathbb{R}^+\times [0;1]^2 \; |\; x_1\geq x_{1min} \text{ and }x_3\geq x_{3min}\}.
\end{equation}

 

Implementation parameters

Time horizon

The time horizon (for trajectory computations) is 20 years.


Algorithm parameters

Default parameters are used.


System parameters

We used the parameters for a low-hypotheses computation.

   "SYSTEM_PARAMETERS": {
       "DYNAMICS_TYPE": 2,
       "DYN_BOUND": 1,
       "DYN_BOUND_COMPUTE_METHOD": 2,
       "IS_TIMESTEP_GLOBAL": 0,
       "LIPSCHITZ_CONSTANT": 1,
       "LIPSCHITZ_CONSTANT_COMPUTE_METHOD": 2,
       "TIME_DISCRETIZATION_SCHEME": 4
   }

 

Viability kernel computed using ViabLab

Systèmes transhumant multi-espèce en Mongolie

Niveau de difficulté
Domaine
Contenu

Ce modèle représente l’effet du pâturage de troupeaux plurispécifiques sur la ressource alimentaire ainsi que ces effets sur le revenu et la capacité d’autosubsistance des éleveurs. Du fait de la nature très extensive des troupeaux considérés, seul un contrôle correspondant à l’abattage des animaux permet de réguler le troupeau (pas de gestion de la reproduction ni d’affouragement).

Ces systèmes pastoraux ont la particularité d’être soumis à des aléas bioclimatiques extrêmes nommés Dzuds qui seront au centre de la démarche de modélisation que nous entreprendrons.

Les Dzuds correspondent à des épisodes de mortalité massive et soudaine dans les troupeaux intervenant généralement en fin d’hiver lorsque le chargement est trop important par rapport à la ressource fourragère et que les conditions climatiques sont particulièrement rudes. Ce phénomène binaire dépend donc à la fois des pratiques des éleveurs et des conditions climatiques puisque c’est bien la combinaison des deux facteurs qui entraine son déclenchement.
Le modèle que nous avons développé lie la dynamique de troupeaux de 5 espèces d’herbivores (bovins, ovins, caprins, équins et chameaux) à la dynamique de la ressource fourragère et pose le Dzud comme mécanisme central dans la dynamique du système.

 

Sur le plan méthodologique, ce cas d'application à permis d'évaluer sur un même cas d’étude les trois propriétés de robustesse, adaptabilité et résilience.

Sur le plan appliqué, le travail que nous avons mené sur le temps long sur ce cas d’étude nous a permis de comprendre finement la dynamique du système. Nous avons ainsi pu distinguer deux régimes de fonctionnement viables du système : des troupeaux à petits effectifs permettant d’éviter le déclenchement des Dzuds en préservant la ressource ou des troupeaux à très grands effectifs permettant d’encaisser les Dzuds lorsque ceux-ci se produisent.

Le modèle détaillé peut être retrouvé dans l'article suivant:
Rodolphe Sabatier, Frédéric Joly, Bernard Hubert. Assessing both ecological and engineering resilience of a steppe agroecosystem using the viability theory. Agricultural Systems, Elsevier Masson, 2017, 157, pp.146-156. ⟨10.1016/j.agsy.2017.07.009⟩. ⟨hal-02627849⟩

Gestion collective d'un problème d'eutrophisation

Niveau de difficulté
Contenu

Introduction

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

Version auteur disponible ici

Les caractéristiques 

Les caractéristiques du problème modélisé sont les suivantes :  

  1.  $N$ individus utilisent les même variables pour décrire le système. Dans cet exemple du lac, ce sont les mêmes variables $L$ (apports de phosphore) et $P$ (concentration totale de phosphore) que dans le cas du décideur unique.
  2. Les contrôles admissibles retenus dans les modèles sont communs à tous les individus. On garde donc la même variable de contrôle et les mêmes bornes : $u\in U=[u_{min},u_{max}]$.
  3. Tous les individus $i$ peuvent définir un ensemble d'états souhaitables $K_i$ dont l'intersection est non vide. On garde donc un ensemble de contraintes similaires au cas du décideur unique :  $x=\left(L(t),P(t)\right) \in K=[L_{min}, +\infty[ \times [0,P_{max}]$
  4. La dynamique du système est modélisée pour chaque individu par un ensemble d'équations (ou d'inclusion différentielles) $S_i$
  5. L'objectif de chaque individu est de maintenir le système modélisé par leur dynamique $S_i$ dans leur ensemble d'états souhaitables $K_i$
  6. 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}

 

Problèmes

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://forge.inrae.fr/isabelle.alvarez/emlake

Commentaires

Contenu à venir !

Notes / Remarques

Contenu à venir !

Fichier de code