FarmHub

11.7 Strumenti di modellazione

· Aquaponics Food Production Systems

In acquaponica, diagrammi di flusso o diagrammi di stock e di flusso (SFD) e diagrammi di ciclo causale (CLD) sono comunemente utilizzati per illustrare la funzionalità del sistema aquaponico. Di seguito verranno descritti i diagrammi di flusso e i CLD.

11.7.1 Grafici di flusso

Per ottenere una comprensione sistemica dell’acquaponica, i diagrammi di flusso con i componenti più importanti dell’acquaponica sono un buon strumento per mostrare come fluisce il materiale nel sistema. Ciò può aiutare, ad esempio, a trovare componenti mancanti e flussi sbilanciati e influenzare principalmente i determinanti dei sottoprocessi. La Figura 11.18 mostra un semplice diagramma di flusso in acquaponica. Nel diagramma di flusso, il cibo per pesci e l’acqua vengono aggiunti all’acquario, dove il mangime viene prelevato dal pesce per la crescita, l’acqua viene arricchita con i rifiuti di pesce e l’acqua arricchita di nutrienti viene aggiunta al sistema idroponico per produrre biomassa vegetale. Dal diagramma di flusso, un CLD mostrato in Fig. 11.19 può essere facilmente costruito.

Fig. 11.18 Esempio di diagramma di flusso in acquaponica (solo scambio RAS e HP)

Fig. 11.19 Diagramma ad anello causale (CLD) che illustra esempi di un anello di rinforzo e bilanciato all’interno dei sistemi aquaponici. Il circuito di rinforzo (R) è uno in cui un’azione produce un risultato che influenza più della stessa azione e conseguentemente con conseguente crescita o declino, dove come un anello di bilanciamento (B) tenta di portare le cose allo stato desiderato e mantenerle lì (es. regolazione della temperatura in casa)

11.7.2 Diagrammi dell’anello causale

I diagrammi a ciclo causale (CLD) sono uno strumento per mostrare la struttura di feedback di un sistema (Sterman 2000). Questi diagrammi possono creare una base per la comprensione di sistemi complessi visualizzando l’interconnessione di diverse variabili all’interno di un sistema. Quando si disegna un CLD, le variabili vengono rappresentate come nodi. Questi nodi sono collegati da bordi, che formano una connessione tra due variabili di conseguenza. La figura 11.19 mostra che tali bordi possono essere contrassegnati come positivi o negativi. Questo dipende dalla relazione tra le variabili. Quando entrambe le variabili cambiano nella stessa direzione, allora si può parlare di un legame causale positivo. Un nesso causale negativo provoca quindi un cambiamento in direzioni opposte. Quando si collegano due nodi da entrambi i lati, si crea un ciclo chiuso che può avere due caratteristiche: (1) un rinforzo loop che descrive una relazione causale, creando crescita esponenziale o collasso all’interno del ciclo o (2) un bilanciamento loop in cui le influenze causali mantengono il sistema in equilibrio . La Figura 11.19 mostra un esempio di entrambi i tipi di loop.

Vediamo di illustrare questo (Fig. 11.20) per il diagramma di flusso di Fig. 11.18.

È ovvio che CLD e SFD sono molto utili per la comprensione del sistema, quando il modello non richiede precisione numerica. Se è richiesta una precisione numerica, il processo deve essere studiato ulteriormente con un sistema Dynamic Tool Diagram (SDTD) e modellato nel software di simulazione dinamica del sistema. Ad esempio, il CLD in Fig. 11.20 può essere aumentato con equazioni differenziali a un SDTD (Fig. 11.21).

Fig. 11.20 Esempio CLD per lo scambio RAS e HP

Dall’SDTD, ora possiamo vedere come appaiono le equazioni differenziali per l’equilibrio dei nutrienti nel serbatoio. Sappiamo che il flusso di nutrienti fuori dall’acquario (mSubxfout/sub) deve essere il flusso d’acqua (Qsubfout/sub) volte la concentrazione nel flusso di uscita (CSubXF/sub):

$M_ {xfout} == C_ {xf} Q_ {fout} $

Supponendo che un serbatoio agitato dia la concentrazione di nutrienti del serbatoio per:

$C_ {xf} = M_ {xf} /v_f$

Le equazioni differenziali della parte RAS possono essere derivate da:

$XV_f/dt=Q_ {fin} -Q_ {fout} $

$dm_ {xf} /dt=m_ {xfin} -M_ {xfout} $,

Fig. 11.21 Esempio SDTD per RAS e HP exchange

e per la concentrazione

$dc/dt= (Q_ {fin} C_ {xfin} -Q_ {fout} C_ {xf} /v_f) $

11.7.3 Software

Oltre ai linguaggi informatici di base, come Fortran, C++ e Python, per un calcolo veloce e un’implementazione completamente specifica dell’utente, sono disponibili tutti i tipi di strumenti software avanzati. Questi strumenti software avanzati offrono una varietà di ambienti, concetti e opzioni. Siamo in grado di modellare variabili di stato, equazioni differenziali, connessioni e loop. Inoltre, possiamo utilizzare il modello per simulazioni, analisi della stabilità, ottimizzazione e controllo.

I motivi principali per la modellazione di un sistema sono di comprenderlo e controllarlo. Pertanto, il modello aiuta a prevedere la dinamica o il comportamento del sistema. Le applicazioni software potrebbero permetterci di svolgere tre compiti conseguenti: (a) la modellazione stessa, (b) le simulazioni del/i modello/i e (c) l’ottimizzazione del modello e/o della simulazione.

Il software Mathematica serve per l’analisi funzionale dei problemi descritti matematicamente (Wolfram 1991). Il concetto si basa sull’approccio LISP (McCarthy e Levin 1965.), un linguaggio di programmazione funzionale molto efficace. La sintassi è ragionevolmente semplice, e questo software è popolare in matematica, fisica e biologia dei sistemi. Soprattutto, il modulo Ndsolve aiuta a risolvere equazioni differenziali ordinarie, tracciare la soluzione e trovare valori specifici.

Strumenti molto simili per risolvere gli ODE sono offerti da Maple. Questo software è molto potente; tra le sue caratteristiche appartengono soluzione problemi di confine, soluzioni esatte e approssimazioni matematiche. Copasi (simulatore di percorsi complessi) è uno strumento software per la simulazione e l’analisi di reti biochimiche tramite equazioni differenziali ordinarie.

sageMath è un software di matematica open-source gratuito. Il software è basato su Python e facilita la simulazione dei modelli ODE. Il software Data2Dynamics è una raccolta di metodi numerici per la modellazione dinamica quantitativa ed è un modello completo e linguaggio di descrizione dei dati. Il software consente l’analisi delle previsioni di rumore, calibrazione e incertezza e dispone di librerie di modelli biologici.

Probabilmente il miglior linguaggio di simulazione è Simula (probabilmente non più in uso) e Simula 67, considerato all’inizio come un pacchetto per Algol 60. Questi erano i primi linguaggi completamente orientati agli oggetti, introducendo classi, ereditarietà, sottoclassi, garbage collector e altri. All’inizio del XXI secolo, i creatori Ole-Johan Dahl e Kristen Nygaard hanno ricevuto la medaglia IEEE John von Neumann e il premio A. M. Turing (Dahl e Nygaard 1966).

L’idea alla base di Simula era che gli oggetti hanno vita; iniziano ad esistere, fanno il loro essere e cessano. Gli oggetti sono definiti come classi generali (codice modello), e ogni istanza di tale oggetto ha una ‘vita’ nella simulazione. La lingua era abbastanza difficile da imparare. Tuttavia, ha offerto la possibilità di modellare i processi oggetto per oggetto ed eseguire la simulazione delle loro vite. La simulazione viene eseguita sulla base di eventi discreti ed è possibile simulare oggetti in co-routine. Più attività possono iniziare, eseguire, staccare, riprendere e completare in periodi di tempo sovrapposti in processi quasiparalleli. L’hardware di oggi ci permette di modellare e simulare in filettature completamente parallele. Tuttavia, molti dei concetti Simula erano già stati utilizzati per lo sviluppo di altri linguaggi, vale a dire Java, C/C++/C\ # e librerie di oggetti persistenti come DOL (Soukup e Machacek 2014). L’attuale successore di Simula è BETA, che estende e presenta le possibilità di ereditarietà nei concetti di classi annidate (sub) (con ora locale nidificata) e modelli (Madsen et al. 1993).

È sempre un’opzione per utilizzare uno qualsiasi dei linguaggi orientati agli oggetti e librerie specifiche e programmare tutto il codice necessario per un modello specifico. D’altra parte, gli ambienti di programmazione grafica già esistenti consentono di progettare e collegare la struttura del sistema modellato da librerie di oggetti (generatore di segnali, somma, integratore, ecc.), parametrizzarli ed eseguire la simulazione in tempo virtuale.

Un altro software popolare per la simulazione è MathWorks Simulink, che si descrive come uno strumento di progettazione basato su modelli. L’ambiente consente di combinare e parametrizzare blocchi predefiniti (da un’ampia gamma di librerie) e diagrammi in sottosistemi. La programmazione viene eseguita utilizzando blocchi grafici e le loro connessioni in parti funzionali con loop di feedback. L’ambiente è ampiamente utilizzato per il controllo, l’automazione e l’elaborazione del segnale. Un’altra possibilità è integrare il proprio codice dal linguaggio MathWorks Matlab o utilizzare varie cassette degli strumenti (Jablonsky et al. 2016). Uno di questi, SENSSB, è focalizzato sull’analisi della sensibilità e permette di importare altri modelli utilizzando il System Biology Markup Language. Per solo la visualizzazione di modelli esistenti in Simulink, è anche possibile utilizzare il visualizzatore di modelli molto veloce diffPlug. PottersWheel supporta la modellazione di sistemi dinamici dipendenti dal tempo, la calibrazione dei parametri, l’analisi e la previsione. Interessante strumento è la progettazione sperimentale per la verifica del modello.

Per la modellazione e l’analisi delle dinamiche di sistema, una strategia simile viene utilizzata dall’applicazione software Stella Architect isee, dove il modello è composto da blocchi, che sono collegati da relazioni. Stella consente di modellare e simulare tipi di applicazioni molto diversi, dalle esigenze mediche alla costruzione di edifici agli aerei. Stella viene a volte commercializzata come software iThink. Il software Powersim è stato progettato originariamente per scopi economici. Tuttavia, si è sviluppato in uno strumento più sofisticato, tra cui simulazioni elettroniche, di energia solare o di trattamento farmacologico. L’ex sviluppatore di Powersim sta attualmente producendo un software simile per compiti più complessi Dynaplan Smia. Vensim è un sistema per modellare le relazioni big data di sistemi reali. Il potere di Vensim è che consente il rilevamento causale, l’analisi della sensibilità, la calibrazione e la simulazione intensiva. Tuttavia, il software è anche in grado di gestire una vasta gamma di sistemi reali semplici e complessi (Hassan et al. 2016). Il software di dinamica di sistema True-World facilita complesse simulazioni dinamiche multicorpo in tempo discreto e continuo. La modellazione inizia fondamentalmente dalle bilance.

Approcci completamente diversi alla modellazione e alla simulazione sono gli automi cellulari o gli approcci di modellazione basati su agenti, resi noti da Stephen Wolfram (Wolfram 1991) come un nuovo tipo di scienza. L’approccio è talvolta chiamato anche il gioco della vita. La modellazione è attuata tramite interazioni di individui autonomi (Macal e Nord 2005). Le simulazioni mostrano comportamenti emergenti e quindi sono molto popolari nella biologia dei sistemi per la dinamica della popolazione. Uno strumento semplice per la modellazione e la simulazione basata su agenti di base (e anche avanzata) è il software NetLogo, dove semplici descrizioni e parametrizzazione creano modelli potenti. Il software consente di visualizzare lo sviluppo del tempo e l’induzione del rumore (Stys et al. 2015). L’applicazione è scritta in Java, che a volte limita la memoria disponibile. Probabilmente il più grande sforzo nella modellazione multi-agente è stato fatto dallo sviluppo del software Wolfram, che è la continuazione della popolare Mathematica, con strumenti estesi per la modellazione e la simulazione. Ha messo la modellazione simile a Simulink in un abito più attraente e crea anche possibilità di modellazione basata su agenti e molti più strumenti per altre discipline matematiche (statistiche multivariate, data mining, ottimizzazione globale).

anyLogic è un software molto interessante per problemi di flusso — informazioni, denaro, traffico, logistica e mineraria. La simulazione risolve il problema del flusso ottimale nel sistema progettato con il minimo sforzo e la massima efficienza. I concetti utilizzati sono la dinamica di sistema e la modellazione di eventi discreti e basati su agenti. Offre anche ibridi tra diversi concetti di modellazione. Il software è utile, ad esempio, nelle simulazioni di diffusione epidemica (Emrich et al. 2007).

Un altro strumento di modellazione basato su agenti è Insight Maker, per la simulazione della popolazione che interagisce nello spazio geografico o di rete. Il software supporta la costruzione di modelli grafici, l’utilizzo di paradigmi multipli, lo scripting incorporato e il set di strumenti di ottimizzazione (Fortmann-Roe 2014).

Per la modellazione stessa, la descrizione delle variabili di stato, la soluzione degli ODE, la parametrizzazione e l’analisi delle dipendenze temporali, il primo gruppo di software, da Mathematica a Matlab, potrebbe essere utilizzato senza esitazione. Rappresentano strumenti potenti per la modellazione. In caso di analisi più complesse, come quelle relative a big data, simulazione, induzione del rumore, ottimizzazione, sensibilità e stocastica, sono necessari strumenti più avanzati, con approccio orientato agli oggetti, che coinvolgono anche una maggiore induzione nella sintassi dei linguaggi di programmazione.

Articoli correlati