FarmHub

11.7 建模工具

· Aquaponics Food Production Systems

在水生学中,流程图或股票和流程图 (SFD) 和因果环图 (CLD) 通常用于说明水生系统的功能。 下面将介绍流程图和 CLD。

#11.7.1 流程图

为了系统地了解水生动物,包含水生动物最重要组成部分的流程图是显示材料在系统中如何流动的一个很好的工具。 例如,这可以帮助找到缺失的组件和不平衡的流动,并主要影响子进程的决定因素。 图 11.18 显示了一个简单的水上乐器流程图。 在流程图中,鱼类食物和水被添加到鱼缸中,鱼类将饲料用于生长,水富含鱼类废物,并将富含营养的水添加到水培系统中,以产生植物生物量。 从流程图中可以轻松构建图 11.19 所示的 CLD。

图片-3

** 图 11.18** 水产品流程图示例(仅限 RAS 和惠普交换)

图片-3

** 图 11.19** 因果循环图 (CLD) 说明了水生系统中增强和平衡循环的示例。 强化循环 (R) 是一个动作产生一个结果,影响更多的相同动作,从而导致生长或下降,其中作为一个平衡循环 (B) 尝试将东西带到所需状态并保持在那里(例如,房子中的温度调节)

11.7.2 因果循环图

因果环图(CLD)是一种显示系统反馈结构的工具(Sterman 2000)。 这些图可以通过可视化系统内不同变量的相互连接来为理解复杂系统奠定基础。 绘制 CLD 时,变量将被图像为节点。 这些节点通过边连接,边相应地形成两个变量之间的连接。 图 11.19 显示,这些边可以标记为正面或负面。 这取决于变量之间的关系。 当两个变量变成相同的方向时,人们可以说出积极的因果关系。 因此,消极因果关系导致相反方向的变化。 当从两侧连接两个节点时,一个节点会创建一个封闭循环,该循环可以具有两个特征:(1) 描述因果关系的 强化环路,在循环内创建指数增长或崩溃,或者 (2) 因果影响使系统保持平衡的 _平衡环路。 图 11.19 显示了这两种类型的循环的示例。

让我们在图 11.18 的流程图中说明这一点(图 11.20)。

很明显,当模型不需要数值精度时,CLD 和 SFD 对系统理解非常有用。 如果需要数值精确度,则应使用系统动态工具图 (SDTD) 进一步研究该过程,并在动态系统仿真软件中建模。 例如,图 11.20 中的 CLD 可以通过微分方程来扩展为 SDTD(图 11.21)。

图片-3

** 图 11.20** 用于 RAS 和惠普交换的 CLD 示例

从 SDTD,我们现在可以看到储罐中营养素平衡的微分方程的外观。 我们知道,从鱼缸(MSubxFout/Sub)流出的营养物质必须是水流(QSubfout/Sub)乘以外流中的浓度(CSubxF/ Sub):

$M_ {xfout} == C_ {xf} 问题 _ {fout} $

假设搅拌罐给出翅罐的营养浓度,以:

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

RAS 部分的微分方程可以推导为:

$XV_F/DT=Q_ {鳍}-Q_ {fout} $

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

图片-3

** 图 11.21** 适用于 RAS 和惠普交换的 SDD 示例

并用于浓度

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

#11.7.3 软件

除了基本的计算机语言(例如 Fortran、C++ 和 Python),用于快速计算和完全用户特定的实现,还提供各种高级软件工具。 这些先进的软件工具提供了各种环境、概念和选项。 我们可以对状态变量、微分方程、连接和循环进行建模。 此外,我们还可以使用模型进行仿真、稳定性分析、优化和控制。

建立系统模型的主要原因是理解和控制系统。 因此,该模型有助于预测系统动态或行为。 软件应用程序可以使我们完成三项随后的任务:(a) 建模本身,(b) 模型的模拟和 (c) 优化模型和/或模拟。

Mathematica 软件用于对数学描述的问题进行功能分析(Wolfram 1991)。 这个概念基于 LISP 方法(麦卡锡和莱文 1965),这是一种非常有效的函数式编程语言。 语法是相当简单的,这个软件在数学,物理和系统生物学方面很受欢迎。 特别是,Ndsolve 模块有助于求解普通微分方程,绘制解并找到特定值。

枫之谷提供了非常类似的求解 ODE 的工具。 这个软件是非常强大的; 其特征之间属于边界问题的解决方案, 精确的解决方案和数学近似. Copasi(复杂通路模拟器)是一种通过普通微分方程模拟和分析生物化学网络的软件工具。

Sagemath 是一个免费的开源数学软件系统。 该软件是基于 Python 的,方便了 ODE 模型的仿真。 Data2Dynamics 软件是用于定量动态建模的数值方法的集合,是一种综合的模型和数据描述语言。 该软件允许分析噪声、校准和不确定性,并具有生物模型库。

可能最好的模拟语言是 Simula(可能不再使用)和 Simula 67,在开始时被认为是 Algol 60 的软件包。 这些是第一种完全面向对象的语言,引入类,继承,子类,垃圾收集器等。 在二十一世纪初,创作者奥勒-约翰·达尔和克里斯汀·尼加尔被授予 IEEE 约翰·冯·诺伊曼勋章和 A. M. 图灵奖(达尔和尼加德 1966 年)。

模拟背后的想法是,对象有生命; 它们开始存在,做他们的存在和停止。 这些对象被定义为常规类(模板代码),并且这些对象的每个实例在模拟中都有 “生命”。 语言是相当困难的学习。 然而,它提供了一种可能性,按对象对进程进行模拟,并运行他们的生活模拟。 仿真基于离散事件运行,并且可以在共同例程中模拟对象。 在准并行进程中,可以在重叠的时间段内启动、运行、分离、恢复和完成更多任务。 如今的硬件使我们能够在完全并行的线程中进行建模和仿真。 然而,许多模拟概念已经被用于其他语言的开发,即 Java,C/C++/C\ # 和 DOL 等持久对象库(Soukup 和马切克 2014)。 模拟的当前继承者是 BETA,扩展和特征在嵌套(子)类(嵌套本地时间)和模式(Madsen 等人,1993 年)概念中继承的可能性。

它始终是一个选项,可以使用任何面向对象的语言和特定库,并为特定模型编程所有必要的代码。 另一方面,现有的图形编程环境允许设计和链接建模系统的结构从对象库(信号发生器,总和,积分器等),参数化它们并在虚拟时间运行仿真。

另一个用于仿真的流行软件是 MathWorks Simulink,将自己描述为基于模型的设计工具。 该环境允许将预定义的块(来自各种库)和逻辑示意图组合到子系统中并将其参数化。 编程是使用图形模块和它们连接到功能部件与反馈循环完成的。 该环境被广泛应用于控制、自动化和信号处理。 另一种可能性是从 MathWorks Matlab 语言集成自己的代码或使用各种工具箱(Jablonsky 等人,2016 年)。 其中一个是 SENSB,专注于敏感度分析,并允许使用系统生物学标记语言导入其他模型。 对于 Simulink 中现有模型的可视化,还可以使用非常快速的模型查看器 DiffPlugPottersWear 支持时间相关动态系统的建模、参数校准、分析和预测。 有趣的工具是模型验证的实验设计。

对于系统动力学的建模和分析,Stella Architection isee 软件应用程序使用类似的策略,其中模型由块组成,这些块通过关系连接。 Stella 允许对非常不同类型的应用进行建模和仿真,从医疗需求到建筑施工到飞机。 斯特拉有时被销售为 iThink 软件。 _ Powersim_ 软件最初是为了经济目的而设计的。 然而,它发展成为更加复杂的工具,包括电子、太阳能或药物治疗模拟。 Powersim 的前开发人员目前正在生产一个类似的软件,用于更复杂的任务 Dynaplan Smia。 Vensim 是一个用于建模真实系统的大数据关系的系统。 Vensim 的功能在于它允许因果跟踪、灵敏度分析、校准和密集仿真。 然而,该软件还能够处理广泛的简单和复杂的真实系统(Hassan 等人,2016 年)。 True-World 系统动力学软件有助于在离散和连续时间中进行复杂的多体动力学仿真。 建模基本上从天平开始。

完全不同的建模和模拟方法是元胞自动机或基于代理的建模方法,斯蒂芬·沃尔弗拉姆(Wolfram 1991)作为一种新的科学推广。 这种方法有时也被称为生活的游戏。 建模是通过自治个体的互动来实现的(马卡尔和北方,2005 年)。 模拟结果显示出新的行为,因此在人口动态系统生物学中非常受欢迎。 NetLogo 软件是一个简单的基本(以及高级)基于代理的建模和仿真工具,其中简单的描述和参数化可创建强大的模型。 该软件允许对时间开发和噪声感应进行可视化(Sys 等人,2015 年)。 应用程序是用 Java 编写的,有时会限制可用内存。 在多代理建模方面最大的努力可能是通过开发 Wolfram 软件来完成的,这是流行的 Mathematica 的延续,并具有扩展的建模和仿真工具。 它使类似 Simulink 的建模更具吸引力,并且还为其他数学学科(多变量统计、数据挖掘、全局优化)创造了基于代理的建模和更多工具的可能性。

Anylogic 是非常有趣的软件流动问题 — 信息、金钱、交通、物流和采矿。 仿真解决了设计系统中最优流量的问题,最小的工作量和最大的效率。 使用的概念包括系统动力学和基于代理和离散事件建模。 它还提供不同建模概念之间的混合动力。 例如,该软件在流行病传播模拟中非常有用(Emrich 等人,2007 年)。

另一个基于代理的建模工具是 Insight Maker,用于模拟地理或网络空间中的人口交互。 该软件支持图形模型构建、多个范例的使用、嵌入式脚本和优化工具集(Fortmann-Roe 2014)。

对于建模本身,可以毫不犹豫地使用状态变量的描述、ODE 的解、参数化和时间依赖性分析、第一组软件(从 MathematicaMatlab)。 它们代表着用于建模目的的强大工具。 如果需要更复杂的分析,例如与大数据、仿真、噪声感应、优化、灵敏度和随机学有关的分析,则需要更先进的工具,采用面向对象的方法,还涉及更高的编程语言语法感应。

相关文章