Skip to main content

Viablab

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

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 !

 

[Texte] Fichiers de sortie de ViabLab en anglais

Niveau de difficulté
Thématique
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.

Installation de ViabLab en clonant un dépôt Git en anglais

Niveau de difficulté
Thématique
Présentation formation

Sous MacOS :

Prérequis : 

  • Installer g++ [todo]
  • Installer cmake-3.13.5 

Pour vérifier la version de cmake installée,

which cmake

Si ce n'est pas la bonne version, la désinstaller : 

brew uninstall --force cmake

Telecharger cmake-3.13.5-Darwin-x86_64.tar.gz sur https://github.com/Kitware/CMake/releases/tag/v3.13.5 

Verifier la version de cmake tékéchargée, dans le répertoire tékéchargements 

ls ~/Downloads | grep cmake

doit répondre

cmake-3.13.5-Darwin-x86_64.tar

 Décompresser l'archive :

 tar -xvf cmake-3.13.5-Darwin-x86_64.tar

  Déplacer le dossier dans le dossier viablab :

 mv cmake-3.13.5-Darwin-x86_64 ~/Desktop/viablab/cmake

 Vérifier la version de cmake installée :

 ~/Desktop/viablab/cmake/CMake.app/Contents/bin/cmake --version

 doit répondre : 

cmake version 3.13.5

 Ajouter la commande cmake au PATH global pour l'utiliser plus facilement : 

nano ~/.zshrc

Ajouter la ligne suivante à la fin du fichier :
export PATH="$HOME/Desktop/viablab/cmake/cmake-3.13.5-Darwin-x86_64/CMake.app/Contents/bin:$PATH"
 Sauvegarder et quitter (appuyez sur Ctrl + X, puis Y, et enfin Entrée). 
 Appliquez les modifications :

 source ~/.zshrc
  • Installer les libriries boost [todo]

 

Installation de ViabLab :

[To do] #### Suivez https://viability-theory.org/node/22/ pour cloner le dossier VIABLAB  ####

  • Vérifier que le dossier VIABLAB/build est vide :
cd ~/VIABLAB 
rm -rf build
mkdir build
  • Remplacer le fichier CMakeLists.txt dans VIABLAB/source par celui-ci CMakeLists.txt
    Dans le nouveau fichier CMakeLists.txt, remplacer le contenu sous  ## Substitute the text within the parentheses with your ... path  lignes 8, 15, 27 et 53 par vos propres chemins d'accès.
  • Générer le projet avec CMake depuis le dossier build 
 cd build 
 cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug ../source

   Des fichiers sont crées dans le dossier build.

 

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é les Libraries Boost (ce sont des librairies C/C++ complémentaires, open source dont VIABLAB est dépendant):

   Pour vérifier la version de Boost installée:

 grep "#define BOOST_LIB_VERSION" /usr/include/boost/version.hpp

Si Boost n'est pas encore installé:        

sudo apt install libboost-all-dev
  • Avoir installé l'IDE Eclipse (facultatif)

    sudo apt-get install -y eclipse-cdt

 

Prérequis :

  • Créer le dossier qui contiendra le programme et les résultats dev-cpp, créer deux sous dossier /libs et /ViablabGit, et dans /ViablabGit, un dossier /VIABLAB
  • git : pour l'installer, taper dans un terminal :
sudo apt-get update
sudo apt install git

 

A partir du dépôt forgemia (pour les membres d'Inrae) :

Aller sur la page : https://github.com/lastre-viab/VIABLAB

Se connecter

Aller sur votre profil - Edit Profile - SSH Keys

Si le champ "Your SSH Keys" est vide : 

  • Générer une clé, dans un terminal, tapez 
ssh-keygen
  • Quand on demande un répertoire, on peut laisser vide, un répertoire est créé automatiquement
  • Entrer une phrase à mémoriser
  • Dans le répertoire créé, deux fichiers sont créés, copier le contenu du fichier .pub

Cliquer sur "Add new key"

Coller dans le champ "Your SSH Keys" 

Cliquer sur "Add key".

Dans un terminal, 

git clone git@forgemia.inra.fr:lisc/VIABLAB.git <nom du dossier (sinon sera copié dans le dossier courant>

Choisir la branche que l'on souhaite utiliser (celle de Matéu est my_branch) avec 

git checkout my_branch

Dans le répertoire VIABLAB/, créer le répertoire build 

mkdir build

Si pas de cmake,  (pour vérifier taper cmake --version), il faut installer cmake :

brew install cmake

MAIS il semble y avoir un problème de version, la commande précédente a installé une version 4..... il semblerait qu'il faille utiliser une version au plus 3....

cmake -S source/ - B build/

 

Sous WINDOWS :

Prérequis :

  • Avoir créé le dossier qui contiendra le programme et les résultats dev-cpp, créer deux sous dossier /libs et /ViablabGit, et dans /ViablabGit, un dossier /VIABLAB
  • Avoir installé git-for-Windows : 

Aller à l'adresse https://git-scm.com/downloads/win 

Cliquer sur: Click here to download

Exécuter le fichier téléchargé et choisir toutes les options par defaut.

  • 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.

  • Avor installé boost, les Libraries Boost sont nécessaires, ce sont des librairies C/C++ complémentaires, open source dont VIABLAB est dépendant.
  • 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
  • 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

Contenu

VIABLAB est une bibliothèque implémentant un ensemble d'algorithmes numériques de la théorie mathématique de la viabilité. Développée par Anna DESILLES en collaboration avec des chercheurs du LASTRE, sous la direction de Jean-Pierre Aubin, cette bibliothèque permet l'analyse de systèmes dynamiques contrôlés sous contraintes d'état.

[Texte] Installation ViabLab with Gui v3.0

Niveau de difficulté
Thématique
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

Théorie mathématique de la viabilité en anglais

Université des Antilles, Pôle Martinique
01-08-2025
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.

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

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)

Description localisation

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

14.620041056675, -61.0940054

Intervenant(s)
M. Samuel Bates, Contenu à venir !