11.7 Outils de modélisation
En aquaponie, des diagrammes de flux ou des diagrammes de stock et de flux (SFD) et des diagrammes de boucle causale (CLD) sont couramment utilisés pour illustrer la fonctionnalité du système aquaponique. Dans ce qui suit, l’organigramme et les CLD seront décrits.
11.7.1 Organigrammes
Pour obtenir une compréhension systémique de l’aquaponie, les organigrammes avec les composants les plus importants de l’aquaponie sont un bon outil pour montrer comment les matériaux circulent dans le système. Cela peut aider, par exemple, à trouver des composants manquants et des flux déséquilibrés et à influencer principalement les déterminants des sous-processus. La figure 11.18 montre un organigramme simple en aquaponie. Dans l’organigramme, la nourriture et l’eau du poisson sont ajoutées à l’aquarium, où l’alimentation est prise par les poissons pour la croissance, l’eau est enrichie avec les déchets de poisson et l’eau enrichie en nutriments est ajoutée au système hydroponique pour produire de la biomasse végétale. À partir de l’organigramme, un CLD illustré à la figure 11.19 peut être facilement construit.
Fig. 11.18 Exemple d’un organigramme en aquaponie (seulement l’échange RAS et HP)
Fig. 11.19 Diagramme de causalité (CLD) illustrant des exemples d’un renforcement et d’une boucle équilibrée dans les systèmes aquaponiques. La boucle de renfort (R) est celle dans laquelle une action produit un résultat qui influe davantage sur la même action et qui entraîne par conséquent une croissance ou un déclin, où comme une boucle d’équilibrage (B) tente d’amener les choses à l’état désiré et de les y maintenir (p. ex. régulation de la température dans la maison)
11.7.2 Diagrammes de boucle causale
Les diagrammes de boucle causale (CLD) sont un outil pour montrer la structure de rétroaction d’un système (Sterman 2000). Ces diagrammes peuvent créer une base pour comprendre des systèmes complexes en visualisant l’interconnexion de différentes variables au sein d’un système. Lorsque vous dessinez un CLD, les variables sont illustrées en tant que nœuds. Ces nœuds sont connectés par des arêtes, qui forment une connexion entre deux variables en conséquence. La figure 11.19 montre que ces arêtes peuvent être marquées comme positives ou négatives. Cela dépend de la relation entre les variables les unes aux autres. Lorsque les deux variables changent dans la même direction, on peut parler d’un lien causal positif. Un lien de causalité négatif provoque donc un changement dans des directions opposées. Lors de la connexion de deux nœuds des deux côtés, l’un crée un cycle fermé qui peut avoir deux caractéristiques : (1) une boucle _renforcement qui décrit une relation causale, créant une croissance exponentielle ou un effondrement dans la boucle ou (2) une boucle équilibrage dans laquelle les influences causales maintiennent le système dans un équilibre . La figure 11.19 montre un exemple des deux types de boucles.
Illustrons ceci (Fig. 11.20) pour l’organigramme de la Fig. 11.18.
Il est évident que CLD et SFD sont très utiles pour la compréhension du système, lorsque le modèle ne nécessite pas de précision numérique. Si une précision numérique est requise, le procédé doit être étudié plus avant à l’aide d’un diagramme d’outils dynamiques (SDTD) et modélisé dans un logiciel de simulation dynamique de système. Par exemple, le CLD de la figure 11.20 peut être augmenté par des équations différentielles à une SDTD (figure 11.21).
Fig. 11.20 Exemple CLD pour l’échange RAS et HP
À partir de la SDTD, nous pouvons maintenant voir à quoi ressemblent les équations différentielles pour l’équilibre nutritionnel dans le réservoir. Nous savons que le débit d’éléments nutritifs sortant de l’aquarium (msubXfout/sub) doit être le débit d’eau (qsubfout/sub) multiplié par la concentration dans le cours d’eau sortant (csubXf/sub) :
$M_ {xfout} == C_ {xf} Q_ {fout} $
En supposant qu’une cuve agitée donne la concentration en éléments nutritifs de la cuve à fink :
$C_ {xf} = M_ {xf} /V_F$
Les équations différentielles de la partie RAS peuvent être dérivées de :
$xv_f/dt=q_ {fin} -Q_ {fout} $
$dm_ {xf} /dt=m_ {xfin} -M_ {xfout} $,
Fig. 11.21 Exemple de SDTD pour l’échange RAS et HP
et pour la concentration
$dc/dt= (Q_ {fin} C_ {xfin} -Q_ {fout} C_ {xf} /V_F) $
11.7.3 Logiciels
En plus des langages informatiques de base, tels que Fortran, C++ et Python, pour un calcul rapide et une implémentation entièrement spécifique à l’utilisateur, toutes sortes d’outils logiciels avancés sont disponibles. Ces outils logiciels avancés offrent une variété d’environnements, de concepts et d’options. Nous pouvons modéliser des variables d’état, des équations différentielles, des connexions et des boucles. En outre, nous pouvons utiliser le modèle pour les simulations, l’analyse de stabilité, l’optimisation et le contrôle.
Les principales raisons de la modélisation d’un système sont de le comprendre et de le contrôler. Par conséquent, le modèle aide à prédire la dynamique ou le comportement du système. Les applications logicielles pourraient nous permettre d’effectuer trois tâches en conséquence : a) la modélisation elle-même, b) les simulations du ou des modèles et c) l’optimisation du modèle et/ou de la simulation.
Le logiciel Mathematica est destiné à l’analyse fonctionnelle des problèmes mathématiquement décrits (Wolfram 1991). Le concept est basé sur l’approche LISP (McCarthy et Levin 1965.), un langage de programmation fonctionnel très efficace. La syntaxe est assez simple, et ce logiciel est populaire en mathématiques, physique et biologie des systèmes. En particulier, le module Ndsolve aide à résoudre des équations différentielles ordinaires, tracer la solution et trouver des valeurs spécifiques.
Des outils très similaires pour résoudre les ODE sont proposés par Maple. Ce logiciel est très puissant ; entre ses caractéristiques appartiennent solution de problèmes de limites, des solutions exactes et des approximations mathématiques. Copasi (simulateur de voies complexes) est un outil logiciel pour la simulation et l’analyse de réseaux biochimiques via des équations différentielles ordinaires.
SageMath est un logiciel libre libre de mathématiques. Le logiciel est basé sur Python et facilite la simulation de modèles ODE. Le logiciel Data2Dynamics est une collection de méthodes numériques pour la modélisation dynamique quantitative et est un langage complet de modélisation et de description des données. Le logiciel permet l’analyse des prévisions de bruit, d’étalonnage et d’incertitude et dispose de bibliothèques de modèles biologiques.
Probablement le meilleur langage de simulation est Simula (probablement plus utilisé) et Simula 67, considéré au début comme un paquet pour Algol 60. Ce sont les premiers langages entièrement orientés objet, introduisant les classes, l’héritage, les sous-classes, garbage collector et autres. Au début du XXIe siècle, les créateurs Ole-Johan Dahl et Kristen Nygaard ont reçu la médaille IEEE John von Neumann et le prix A. M. Turing (Dahl et Nygaard 1966).
L’idée derrière Simula était que les objets ont la vie ; ils commencent à exister, font leur être et cessent. Les objets sont définis comme des classes générales (code modèle), et chaque instance d’un tel objet a une « vie » dans la simulation. La langue était assez difficile à apprendre. Cependant, il offrait la possibilité de modéliser les processus objet par objet et d’exécuter la simulation de leur vie. La simulation s’exécute sur la base d’événements discrets, et il est possible de simuler des objets en co-routine. Plus de tâches peuvent démarrer, exécuter, détacher, reprendre et terminer dans des périodes de temps superposées dans des processus quasi parallèles. Le matériel d’aujourd’hui nous permet de modéliser et de simuler des threads entièrement parallèles. Cependant, de nombreux concepts Simula étaient déjà utilisés pour le développement d’autres langages, à savoir Java, C/C++/C \ # et les bibliothèques d’objets persistants comme DOL (Soukup et Machacek 2014). Le successeur actuel de Simula est BETA, étendant et présentant les possibilités d’héritage dans les concepts de (sous-) classes imbriquées (avec l’heure locale imbriquée) et les modèles (Madsen et al., 1993).
C’est toujours une option pour utiliser l’un des langages orientés objet et des bibliothèques spécifiques et programmer tout le code nécessaire pour un modèle spécifique. D’autre part, les environnements de programmation graphique déjà existants permettent de concevoir et de relier la structure du système modélisé à partir de bibliothèques d’objets (générateur de signaux, somme, intégrateur, etc.), de les paramétriser et d’exécuter la simulation en temps virtuel.
Un autre logiciel populaire pour la simulation est MathWorks Simulink, qui se décrit comme un outil de conception basé sur un modèle. L’environnement permet de combiner et de paramétrer des blocs prédéfinis (à partir d’un large éventail de bibliothèques) et des diagrammes en sous-systèmes. La programmation se fait en utilisant des blocs graphiques et leurs connexions dans des parties fonctionnelles avec des boucles de rétroaction. L’environnement est largement utilisé pour le contrôle, l’automatisation et le traitement du signal. Une autre possibilité est d’intégrer son propre code du langage MathWorks Matlab ou d’utiliser diverses boîtes à outils (Jablonsky et al. 2016). L’un d’eux, senssB, est axé sur l’analyse de sensibilité et permet d’importer d’autres modèles en utilisant le langage de balisage de la biologie des systèmes. Pour seulement la visualisation des modèles existants dans Simulink, il est également possible d’utiliser le visualiseur de modèles très rapide DiffPlug. PottersWheel prend en charge la modélisation des systèmes dynamiques dépendants du temps, l’étalonnage des paramètres, l’analyse et la prévision. Un outil intéressant est la conception expérimentale pour la vérification du modèle.
Pour la modélisation et l’analyse de la dynamique du système, une stratégie similaire est utilisée par l’application logicielle Stella Architect isee, où le modèle est composé de blocs reliés par des relations. Stella permet la modélisation et la simulation de types d’applications très différents, allant des besoins médicaux à la construction de bâtiments aux avions. Stella est parfois commercialisé comme logiciel iThink. Le logiciel Powersim a été conçu à l’origine à des fins économiques. Cependant, il est devenu un outil plus sophistiqué, y compris des simulations électroniques, solaires ou de traitement médicamenteux. L’ancien développeur de Powersim produit actuellement un logiciel similaire pour des tâches plus complexes Dynaplan Smia. Vensim est un système de modélisation des relations Big Data de systèmes réels. Le pouvoir de Vensim est qu’il permet le suivi causal, l’analyse de sensibilité, l’étalonnage et la simulation intensive. Cependant, le logiciel est également capable de traiter un large éventail de systèmes réels simples et complexes (Hassan et al. 2016). Le logiciel de dynamique système True-World facilite des simulations dynamiques complexes à corps multiples en temps discret et continu. La modélisation commence essentiellement à partir des soldes.
Les approches complètement différentes de la modélisation et de la simulation sont les automates cellulaires ou les approches de modélisation basées sur des agents, popularisées par Stephen Wolfram (Wolfram, 1991) comme un nouveau type de science. L’approche est parfois aussi appelée le jeu de la vie. La modélisation est mise en œuvre par le biais d’interactions d’individus autonomes (Macal et North 2005). Les simulations montrent un comportement émergent et sont donc très populaires en biologie des systèmes pour la dynamique des populations. Le logiciel NetLogo est un outil simple pour la modélisation et la simulation basées sur des agents de base (et avancées, également), où des descriptions simples et des paramétrages créent des modèles puissants. Le logiciel permet de visualiser le développement du temps et l’induction du bruit (Stys et al. 2015). L’application est écrite en Java, ce qui limite parfois la mémoire disponible. Probablement l’effort le plus important dans la modélisation multi-agents a été réalisé par le développement du logiciel Wolfram, qui est la continuation du populaire Mathematica, avec des outils étendus pour la modélisation et la simulation. Il a mis la modélisation similaire à Simulink dans une combinaison plus attrayante et crée également des possibilités de modélisation basée sur des agents et beaucoup plus d’outils pour d’autres disciplines mathématiques (statistiques multivariées, exploration de données, optimisation globale).
anyLogic est un logiciel très intéressant pour les problèmes de flux — information, argent, trafic, logistique et minier. La simulation résout le problème de débit optimal dans le système conçu avec un minimum d’effort et une efficacité maximale. Les concepts utilisés sont la dynamique du système et la modélisation basée sur des agents et des événements discrets. Il offre également des hybrides entre différents concepts de modélisation. Le logiciel est utile, par exemple, dans les simulations de propagation épidémique (Emrich et al., 2007).
Un autre outil de modélisation basé sur des agents est Insight Maker, pour la simulation de l’interaction des populations dans l’espace géographique ou réseau. Le logiciel prend en charge la construction de modèles graphiques, l’utilisation de plusieurs paradigmes, l’utilisation de scripts intégrés et l’optimisation des outils (Fortmann-Roe 2014).
Pour la modélisation elle-même, la description des variables d’état, la solution des ODE, la paramétrisation et l’analyse des dépendances temporelles, le premier groupe de logiciels, de Mathematica à Matlab, pourrait être utilisé sans hésitation. Ils représentent des outils puissants pour la modélisation. Dans le cas d’analyses plus complexes, telles que le Big Data, la simulation, l’induction du bruit, l’optimisation, la sensibilité et la stochastique, des outils plus avancés sont nécessaires, avec une approche orientée objet, impliquant également une induction plus élevée dans la syntaxe des langages de programmation.