Skip to main content

Beginner

Viabic

Submitted by spbernard on
schéma
Domaine
Niveau de difficulté

But du projet

Trouver pour chaque individu son ensemble d'engagements préservant la viabilité de chacun. Un ensemble d'engagements individuel corresponds à l'ensemble des contrôles (actions min à max, supposées continues) que l'individu peut exercer.

Code

Le code est disponible sur la forge INRAE. Les supports de présentation de viabic sont disponibles sur HAL.

La résolution du problème (ie trouver les bornes des ensembles d'engagements individuels) s'appuie sur une optimisation par essaim particulaire (PSO - Particle Swarm Optimization).

Résilience et changements de régime dans les pêcheries continentales au Sénégal

Submitted by admin_viabilityT on
Niveau de difficulté
Problèmes mathématiques

Résumé

Ce travail propose d’explorer comment les concepts de durabilité, de résilience et de changement de régime peuvent être mobilisés dans le cadre de la modélisation et simulation participative (approche ComMod). 

En s’appuyant sur la méthode développée par Mathias et al. (2024) pour identifier les différents régimes d’un modèle stochastique, nous avon adapté ces outils à un modèle multi-agents représentant la pêcherie du lac de Guiers au Sénégal. L’objectif est d’évaluer, comment un système socio-écologique soumis à des incertitudes peut passer d’un état « satisfaisant et durable » à un état « satisfaisant et non-durable » ou « non satisfaisant durable », ou inversement (c.f. fig. 1), selon les conditions définies collectivement avec les parties prenantes.

Au-delà de la mise en œuvre technique, cette étude initie une réflexion sur les enjeux de l'exploration des régimes dans un cadre participatif, où les résultats de la modélisation peuvent déboucher sur des recommandations difficiles — comme une suspension temporaire de la pêche pour préserver la ressource. Elle souligne à la fois le potentiel de ces approches pour structurer le dialogue entre chercheurs et acteurs de terrain, et leurs limites pratiques liées à la complexité des modèles et à la nature stochastique des systèmes étudiés. Ce travail constitue ainsi une première étape vers une intégration concrète des notions de durabilité et de résilience dans les processus de décision collective autour de la gestion durable des pêcheries continentales

 

Les idées originelles

L’article « From tipping point to tipping set: Extending the concept of regime shift to uncertain dynamics for real-world applications » (Mathias, Deffuant & Brias, Ecological Modelling, 2024) propose une refondation du concept de changement de régime dans les systèmes socio-écologiques. Les auteurs soulignent que la définition classique, basée sur des transitions entre bassins d’attraction dans des systèmes déterministes, devient inadaptée lorsque les dynamiques sont soumises à des perturbations aléatoires. Pour pallier cela, ils introduisent la notion d’ensemble de bascule (tipping set), qui remplace le point de bascule unique. Leur approche s’appuie sur la définition d’un ensemble de satisfaction, correspondant aux états jugés « souhaitables » selon des critères écologiques, économiques ou sociaux, et sur deux indicateurs statistiques : le temps moyen de séjour dans cet ensemble et le temps médian de sortie. Ces mesures permettent de distinguer différents régimes — satisfaction durable, satisfaisant non durable, insatisfaisant durable, insatisfaisant non durable, et résiliente — et de caractériser la stabilité du système en prenant en compte les incertitudes.

Le contexte de l'intervention

Le travail s’inscrit dans le cadre du Living Lab de Mbane initier dans le cadre du projet Santés & Territoires, autour du lac de Guiers au Sénégal, où la pêche constitue à la fois une ressource alimentaire essentielle et un pilier économique pour les communautés locales. Face à la surexploitation des ressources halieutiques et aux pressions environnementales, Nous avons mis en place une démarche de modélisation d’accompagnement (ComMod) visant à co-construire avec les pêcheurs une compréhension partagée du système de pêche pour identifier les marges de manoeuvre d'addapations. Cette approche participative, a permis de co-construire un modèles a base d'agent (avec NetLogo) avec les pêcheurs du lac, qui permet de relier les savoirs locaux aux outils scientifiques. L’objectif est d’aider les acteurs locaux à anticiper les impacts de leurs pratiques et à formuler collectivement des règles de gestion plus robustes et adaptées à leur contexte socio-écologique.

Les résultats

Les résultats de ce travail montrent d’abord la faisabilité technique de l’implémentation des calculs de régimes dans des modèles stochastiques, en s’appuyant sur les travaux de Mathias et al. (2024). Après avoir vérifié la validité de leur approche sur un modèle théorique d’exploitation de ressources naturelles, les auteurs l’appliquent à un modèle multi-agents représentant la pêcherie du lac de Guiers au Sénégal. Les simulations permettent d’identifier différents types de régimes selon des critères de satisfaction définis collectivement : la durabilité économique des pêcheurs (mesurée par leur capital) et la durabilité écologique (liée à la biomasse du lac). Ces exploration révèlent que, dans les conditions simulées, les situations véritablement « satisfaisantes et durables » sont rares : le système tend globalement vers des états non durables, suggérant une vulnérabilité structurelle de la pêcherie face à la pression d’exploitation.

Figure 2 : 

Malgré la portée largement qualitative et exploratoire de ces résultats, le modèle n’étant pas encore calibré sur des données réelles. l'intérêt réside surtout dans la démonstration du potentiel de ces outils pour accompagner les acteurs dans la compréhension des dynamiques complexes de la pêche et dans la formulation de décisions collectives. En particulier, l’identification d’ensembles de bascule — zones d’incertitude entre régimes durables et non durables — offre un support de discussion sur les limites et les risques liés à certaines pratiques. Nous soulignons enfin que ces approches nécessitent un dialogue étroit avec les parties prenantes, car elles peuvent aboutir à des recommandations difficiles, comme la fermeture temporaire de la pêche, tout en constituant une base solide pour articuler modélisation scientifique, participation locale et gestion durable des ressources.

 

 

Agroécosystèmes prairiaux du Marais Poitevin

Submitted by admin_viabilityT on
Photos
Domaine
Niveau de difficulté

 

Le détail du modèle peut être retrouvé dans l'article suivant: 

Rodolphe Sabatier, Luc Doyen, Muriel Tichit. Action versus Result-Oriented Schemes in grassland agroecosystem: A dynamic modelling approach. PLoS ONE, Public Library of Science, 2012, 7 (4), 11 p. ⟨10.1371/journal.pone.0033257⟩. ⟨hal-01191070⟩

[Texte] Uninstall ViabLab

Submitted by admin_viabilityT on
Description

Guide désinstallation de Viablab

Présentation formation

Viablab uninstallation: 

  • in the working directory ViabLadGui using cd command : ~/ViabLabGui/  
  • then double-click on ViabLabGuiTool
  • Remove all components -  Next - Uninstall - Finish

[Texte] Désinstallation de ViabLab

Submitted by admin_viabilityT on
Description

Guide désinstallation de Viablab

Présentation formation

Viablab uninstallation: 

  • in the working directory ViabLadGui using cd command : ~/ViabLabGui/  
  • then double-click on ViabLabGuiTool
  • Remove all components -  Next - Uninstall - Finish

[Texte] Installation de ViabLab with Gui v3.0

Submitted by admin_viabilityT on
Description

Comment installer ViabLab with Gui v3.0 sous Linux, Mac et Windows

Présentation formation

Sous MAC

Pas possible pour le moment, le fichier binaire n'est disponible que pour Linux et Windows, il faut cloner à partir d'un dépôt.

Sous LINUX

Prérequis : 

  • Avoir installé g++ :   

 Pour vérifier si g++ est installé, dans un terminal : 

g++ --version

Si g++ n'est pas encore installé sur votre système :        

sudo apt install g++
  • Avoir installé cmake version 3.22.1 : 

Pour vérifier si cmake est installé et connaitre sa version, dans un terminal :

cmake --version

Si ce n'est pas la bonne version , supprimer les versions existantes de CMake, dans un terminal :

sudo apt remove --purge cmake

Vérifier la version de votre Ubuntu, dans un terminal : 

lsb_release -a

 Si votre version est 22.04, installer CMake 3.22.1 automatiquement :

    sudo apt update
    sudo apt install cmake

Si votre version n’est pas 22.04, installer les dépendances nécessaires :
 

    sudo apt update
    sudo apt install -y build-essential libssl-dev

 Télécharger CMake 3.22.1 :

       wget https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1.tar.gz

  Extraire l'archive :

    tar -zxvf cmake-3.22.1.tar.gz
    cd cmake-3.22.1

    Construire et installer :

    ./bootstrap
    make -j$(nproc)      # Compiles using all available CPU cores
    sudo make install

Vérifier la version de cmake, dans un terminal :

cmake --version

Doit afficher  cmake version 3.22.1.

  • Avoir installé l'IDE Eclipse (facultatif)

    sudo apt-get install -y eclipse-cdt

Installation de Viablab :

  • A l'adresse, https://github.com/lastre-viab/VIABLAB/releases/tag/v3.0
  • Télécharger InstallerViabLabGui_v1_linux.run
  • Pour rendre le fichier exécutable
chmod +x InstallerViabLabGui_v1_linux.run
  • Pour exécuter l'installeur
./InstallerViabLabGui_v1_linux.run
  • Next - Next - Next - Install - Finish
  • Puis se placer à l’aide de la commande cd dans le répertoire build : ~/ViabLabGui/bin/VIABLAB/build  
  • puis, pour une utilisation sans l'IDE Eclipse :
cmake -G "Unix Makefiles" ../source
make

 L'exécutable viabLabExe apparaît dans le répertoire build ! 

  • ou, pour une utilisation avec Eclipse :
cmake -D_ECLIPSE_VERSION=4.5 -DCMAKE_BUILD_TYPE=Debug ../source -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE

 

Sous WINDOWS :

Prérequis : 

  • Avoir installé MinGW, une distribution de compilateurs C/C++ GNU pour Windows :   

 A l'adresse https://sourceforge.net/projects/mingw/files/latest/download , téléchargez l'application MinGW Installation Manager.

Ouvrir cette application 

Dans le panneau gauche, développer All packages => MinGW, sélectionner MinGW Base System. Sélectionner dans la liste des packages tous les packages dont le nom contient « pthread », choisir Mark For Installation. Faire de même pour les packages gcc, omp, g++, libstd, mingw s’ils ne sont pas sélectionnés.

Une fois les packages sélectionnés, dans le menu Installation, cliquer sur Apply changes et attendre la fin d’installation.

Ajouter l’emplacement de l’installation MinGW dans la variable PATh du système :

Dans paramètres/settings du système, on cherche environmental/environnement et on clique dans «edit environment variables for your account »

Aller dans Path, edit, new et on copie colle : C:\MinGW\bin

Eteindre et redémarrer l'ordinateur.
 

  • Avoir installé cmake version 3.31.7:

Pour vérifier si cmake est installé et connaitre sa version, dans un terminal :

??

Si ce n'est pas la bonne version , supprimer les versions existantes de CMake, dans un terminal :

??

 Aller à l'adresse https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7-windows-x86_64.msi pour télécharger le Windows x64 installer.

Vérifier la version de cmake, dans un terminal :

????

Doit afficher  cmake version 3.31.7.

  • Avoir installé Eclipse Environnement de développement intégré) (facultatif) :  

Aller à l'adresse  https://www.eclipse.org/downloads/packages/release/kepler/sr2/eclipse-ide-cc-developers

Cliquer sur download, à nouveau sur download.

Une fois téléchargé, cliquer sur l’installeur et chosir  Eclipse IDE for C/C++ developers

On ‘’launch’’ par la suite (première exécution pour voir que tout fonctionne)

On ‘’launch’’ de nouveau.

Installation de Viablab :

  • A l'adresse, https://github.com/lastre-viab/VIABLAB/releases/tag/v3.0
  • Télécharger InstallerViabLabGui_Win.exe
  • Pour rendre le fichier exécutable
??
  • Pour exécuter l'installeur
??
  • Next - Next - Next - Install - Finish
  • Puis ouvrir un PowerShell, se placer à l’aide de la commande cd dans le répertoire build : ~/ViabLabGui/bin/VIABLAB/build  
  • puis, pour une utilisation sans l'IDE Eclipse :
cmake -G "MinGW Makefiles" ../source
make

 L'exécutable viabLabExe apparaît dans le répertoire build

  • ou, pour une utilisation avec Eclipse :
cmake -G"Eclipse CDT4 - MinGW Makefiles" -D CMAKE_BUILD_TYPE=Debug ../source

Après l’exécution de cmake le projet est prêt pour être importé dans Eclipse : le répertoire build ( vide au début) contient les données générées par cmake.

Dans Eclipse, aller dans le menu File => Import et sélectionner l’option Existing Projects into Workspace

Cliquer sur Next

Ensuite dans le fenêtre suivante sélectionner le répertoire build

Cliquer sur Finish

Après l’import on voit l’arborescence du projet dans le panneau gauche

[Texte] Fichiers de sortie de ViabLab

Submitted by admin_viabilityT on
Description

Description des fichiers de sortie de ViabLab

Présentation formation

Les fichiers de sortie de ViabLab

Les fichiers sorties de ViabLab se trouvent dans le répertoire ~/ViabLabGui/bin/VIABLAB/OUTPUT.

Un calcul génère plusieurs fichiers qui sont nommés avec le même préfixe.

Le fichier <prefixe>-grid_data.dat contient les informations sur le grille régulière sur laquelle est basée le calcul, ci-dessous un exemple :

2  ---- nombre de dimensions de l'espace des états
-2 ---- première coordonnée du point inférieur (dans toutes les dimensions) de la grille 
-2 ---- deuxième (ici seconde puisqu'on est en dimension 2) coordonnée du point inférieur (dans toutes les dimensions) de la grille
2  ---- première coordonnée du point supérieur (dans toutes les dimensions) de la grille
2  ---- deuxième (ici seconde puisqu'on est en dimension 2) coordonnée du point inférieur (dans toutes les dimensions) de la grille
4001 -- nombre de points de la grille selon le premier axe
4001 -- nombre de points de la grille selon le second axe
0
0     Anya HELP !
1
1

Le fichier <prefixe>-viab.dat contient les coordonnées des points de la grille suivies de 0.0 si le point n'appartient pas au noyau calculé et 1.0 s'il y appartient ; le nombre de colonnes est donc égale au nombre de dimensions de l'espace des états plus 1.

Le fichier <prefixe>-viab-bound.dat contient la liste des coordonnées des points de la grille qui ont au moins un voisin qui n'appartient pas au noyau calculé. Ils représentant la frontière de ce noyau.