Aller au contenu principal

Intermédiaire

Racines d'équations non linéaires

Niveau de difficulté
Domaine
Cadre mathématique
Temps continu
Espace continu
Noyau de viabilité
Contenu

Introduction

L'ensemble de toutes les racines d'une équation non linéaire comme celui des équilibres de dynamiques multivoques situés dans un ensemble donné $K$ peut être formulé comme le noyau de viabilité d'un ensemble auxiliaire associé à une équation différentielle auxiliaire et peut donc être calculé à l'aide de l'algorithme du noyau de viabilité. 

Problème de viabilité associé aux racines ou aux équilibres

Ce résultat a été démontré dans l'article :

Patrick Saint-Pierre "Equilibria and Stability in Set-Valued Analysis: a Viability Approach" Volume 35 / 1996 Banach Center Publications 35 (1996), 243-255 DOI: 10.4064/-35-1-243-255.


Soient $F : X \leadsto Y$ une application multivoque et $K$ un sous-ensemble fermé de $X$. On note

$$\text{Equi}_F(K) := \{x \in K \mid 0 \in F(x)\}$$

l'ensemble de tous les équilibres de $F$ contenus dans $K$.
Soit $Z := X \times Y$, on définit $\Phi : Z \leadsto Z$ par :
$$\Phi(x, y) = \begin{pmatrix} 0 \\ F(x) \end{pmatrix}$$.
On considère le système d'inclusion différentielle
$$(x'(t), y'(t)) \in \Phi(x(t), y(t)), \text{ p.p. } t \geq 0$$

et, pour tout $c \geq 0$, l'ensemble de contraintes

$$(x(t), y(t)) \in K \times cB, \forall t \in [0, +\infty)$$.

Soit $\Pi_X$ la projection $(x, y) \to x$.


Proposition : Soit $F$ une application multivoque Marchaud et $K \subset X$ un fermé. 
Alors $\forall c \in \mathbb{R}^+$, $$\text{Equi}_F(K) = \Pi_X(\text{Viab}_\Phi(K \times cB)).$$

Pour $c = 0$, le résultat reste vrai : la projection du noyau de viabilité de $K \times \{0\}$ est l'ensemble des équilibres du système.


Remarque : On peut également appliquer la proposition avec $\phi(x) := \min_{y \in F(x)} \|y\|$, ou $\phi(x) := \|f(x)\|$
lorsque $F$ est une application continue univoque $f : X \to Y$, et considérer le système d'équations différentielles

$$(x'(t),z'(t)) = (0,\phi(x(t)),$$

sous la contrainte

$$(x(t), z(t)) \in K \times [0, c], \forall t \in [0, +\infty).$$


Application

Comme dans le chapitre 1 de l'ouvrage

Jean-Pierre Aubin, Alexandre Bayen, Patrick Saint-Pierre. Viability Theory: New Directions. Springer, pp.830, 2011, ISBN 978-3-642-16683-9. ⟨10.1007/978-3-642-16684-6⟩. ⟨inria-00636570⟩

nous illustrons la proposition ci-dessus avec le calcul d'une approximation de l'ensemble des racines de l'application $f : R^3 \rightarrow R$ définie par

$$
f(x,y,z)=(|x-\sin z|+|y-\cos z|)(|x+\sin z|+|y+\cos z|).
$$

Ainsi, l'ensemble des racines de $f$ dans l'ensemble $K$ peut être caractérisé comme une projection du noyau de viabilité du système auxiliaire 

$$
\left\{\begin{array}{ll}
x'&= 0\\
y'&= 0\\
z'&= 0\\
e' &= f(x,y,z)
\end{array}\right.
$$

avec l'ensemble de contraintes

$$
K\times [0;c].
$$

 

Dynamiques Contrôles Incertitudes Contraintes Cible Concept de Viabilité

Temps continu

Continues en espace de dimension 3

$
\left\{\begin{array}{ll}
x'&= 0\\
y'&= 0\\
z'&= 0\\
e' &= f(x,y,z)
\end{array}\right.
$

$(x,y,z,e)\in \mathbb{R}^3
$

 

Aucun Aucune

$
K\times [0;c]
$

 

Paramètres : $K$, $c$

Aucune Noyau de viabilité

Résultats

L'ensemble des solutions de l'équation 

$$
(|x-\sin z|+|y-\cos z|)(|x+\sin z|+|y+\cos z|) = 0
$$

peut être décrit analytiquement, c'est une double hélice définie par

$$
\left\{\begin{array}{l}
x=\sin z\\
y=\cos z
\end{array}\right.
$$

$$
\left\{\begin{array}{l}
x=-\sin z\\
y=-\cos z
\end{array}\right.
$$

Grâce à sa caractérisation en terme de projection de noyau de viabilité, une approximation de cet ensemble de solutions peut être calculé par le logiciel ViabLab dont on peut ainsi tester la précision.

Nous reproduisons ci-dessous une vue 3D de la projection selon le 4ème axe de l'approximation du noyau de viabilité calculé par le logiciel ViabLab à partir d'une grille de $401\times 401\times 801 \times 5$ points pour les valeurs de paramètres : $K = [-1;1]\times [-1;1]\times [-2;2]$ et $c=0.01$.

Les points colorés appartiennent à la projection de l'approximation du noyau de viabilité calculé par ViabLab et les points noirs des racines exactes

Ce graphique illustre la précision de l'approximation du résultat obtenu par ViabLab qui contient l'ensemble des équilibres puisque l'algorithme de viabilité approche les noyaux de viabilité par l'extérieur.

Commentaires

Nous mettons à disposition ci-dessous les fichiers nécessaires pour calculer l'approximation ci-dessus à l'aide du logiciel ViabLab.

Veuillez consulter les supports de formation :

Théorie mathématique de la viabilité

Université des Antilles, Pôle Martinique
27-04-2026
20
Niveau de difficulté
Présentation de l'atelier

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.

Pour consulter un compte-rendu de cet atelier : ici

Objectifs de l'atelier
  • Comprendre les bases mathématiques de la viabilité dynamique.
  • Utiliser des modèles simples pour représenter des contraintes écologiques.
  • Manipuler un simulateur interactif pour visualiser les trajectoires viables.
  • Favoriser les échanges entre chercheurs, étudiants et praticiens.
Programme

LUNDI 27 AVRIL

8h15 - Rendez-vous de l’ensemble des participants devant la Bibliothèque Universitaire

 

SESSION 1 : POSER UN PROBLEME EN VIABILITE

Animateurs : Bates - Lavallée - De Lapparent 

8h30 - 8h50 La viabilité mathématique en question ? (Samuel Bates)
8h50 - 9h50 Formuler mathématiquement un problème de viabilité (François Lavallée)

Pause & discussion

10h00-10h30 Exercice sur l'art de poser un problème de viabilité (François Lavallée)
10h30-11h15 Cas de résolution analytique de la viabilité (François Lavallée)
11h15-12h00 Exercice sur la résolution analytique de la viabilité (François Lavallée)

Déjeuner

13h30-14h00 Cas de résolution numérique de la viabilité (François Lavallée)
14h00-15h15 Cas de résolution de viabilité en situation d’incertitude (François Lavallée)

Pause & discussion

15h30-16h00 Cas de résolution de viabilité avec cible terminale (François Lavallée)
16h00-17h00  Viabilité individuelle et collective : cas de résolution de viabilité multi-agent (François Lavallée)
17h00-17h45 Illustration d'un cas de viabilité multi-agent (Alice De Lapparent)
19h00 Diner d'accueil sur inscription (Fort-de-France)

 MARDI 28 AVRIL

SESSION 2 : L’INFORMATIQUE DE LA VIABILITE

Animateur : Désilles - Lavallée - Gloglo - Andres-Domenech

 

 

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)
18h00-19h00 Introduction à la Théorie Mathématique de la Viabilité 
(à destination du Master MBFA : Pablo Andres Domenech, Samuel Bates, Beringer Gloglo)

 


MERCREDI 29 AVRIL

SESSION 3 : ATELIERS THEMATIQUES D’APPLICATION

Animateurs Désilles - Bates - Gloglo - Andres-Domenech

 

8h00-10h00 Atelier autour de AgroViablab : Illustration vers une montée en complexité 
(Anya Désilles & Samuel Bates)

Pause & discussion

10h15-12h15 Brainstorming autour d’AgroViablab (collectif)

Déjeuner

13h45-15h30 Atelier d’application sur un système monétaire : Illustration vers une simplification 
de complexité (Beringer Gloglo)
15h30-17h30 Brainstorming sur les applications (collectif)
18h00-19h00 Viabilité d'une union monétaire : le cas de l'UEMOA (à destination du Master MBFA : Béringer Gloglo, Pablo Andres Domenech, Samuel Bates)

JEUDI 30 AVRIL



 

SESSION 4 : MODELISATION EN VIABILITE

8h00-9h00

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 Brainstroming autour d’un 4e sujet de modélisation (collectif)

 13h30           Déjeuner & clôture hors les murs sur inscription (Saint-Pierre)

Description localisation

L'atelier aura lieu à l'Université des Antilles, Pôle Martinique

Liste des participants
Science économique

- Pablo Andres-Domenech
- Valérie Angeon
- Samuel Bates
- Abdoul Cisse
- Issaka Dialga
- Beringer Gloglo
- Thaly Janloup
- Eric Kamwa
- Kevin Spinassou

Mathématique

- Severine Andouze/Bernard
- James Larrouy
- François Lavallée
- Loïc Louison
- Paul Silvere Nuiro

Géographie

- Etienne Delay
- Pastel Audrey

Agronomie

- Alice De-Lapparent

Informatique

- Anya Désilles

[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 !

 

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.

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

Niveau de difficulté
Domaine
Cadre mathématique
Temps discret
Espace discret
Noyau de viabilité
Contenu

Introduction

Ce système décrit une ferme maraîchère et un restaurant appartenant à un même projet, la production maraîchère ayant pour vocation d'alimenter le restaurant et de limiter les achats auprès de fournisseurs extérieurs. Par conséquent, les deux activités fonctionnent en étroite collaboration et un dimensionnement respectif est nécessaire afin d'assurer la viabilité de l'ensemble. En effet, en l'absence d'autres débouchés, une surproduction de légumes ne serait pas utilisée, entraînant la perte des coûts de production associés. Une utilisation trop intense des parcelles maraîchères peut aussi entraîner un épuisement des sols, réduisant de ce fait les productions futures. Au contraire, laisser en jachère une partie des surfaces disponibles permet de maintenir la qualité des sols, mais une sous-production de légumes rendrait nécessaire l'achat à prix fort d'un approvisionnement complémentaire pour subvenir aux besoins du restaurant. 

Ce système, et le modèle associé, sont décrits dans l'article suivant :

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é ici est un noyau de viabilité. Le modèle est discret en termes d'états, de contrôles et de temps.

Le calcul prend un moment (4088 s sur mon ordinateur), il va falloir un peu de patience…

 

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.

Contraintes

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}

 

Paramètres

Le calcul peut être réalisé en utilisant ViabLab.

 

Horizon temporel

L'horizon temporel utilisé pour les calculs de trajectoires est de 20 ans.


Algorithm parameters

Les paramètres par défaut sont utilisés.


System parameters

Les paramètres correspondant à des hypothèses faibles ont été utilisés.

   "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
   }

 

Noyau de viabilité calculé en utilisant 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⟩