Anylogic 和Vensim软件的区别是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Anylogic 和Vensim软件的区别是啥相关的知识,希望对你有一定的参考价值。

这两款系统动力学软件,有相通之处,但区别还是比较明显的:

1 应用领域不同
Anylogic软件偏工科,主要用于交通、通信、供给、后勤、网络、机械等系统的建模;
Vensim软件偏文理综合,主要用于经济、社会、产业、管理、仓储等系统的建模。

2 建模平台与方式不同
Anylogic软件是基于Java语言开发的,可视化程度较高,甚至可以进行动画、3d动画仿真演示;
Vensim软件则是基于C、C++语言开发的,直接在Windows平台运行,也是可视化的图形,但不及前者,基本是图形都是二维圈框图形。

3 模型适用性不同
Anlogic软件构建的模型模拟真实的工程控制系统比较突出;
Vensim软件构建社会、管理等抽象系统的理论模型比较出色。

注:我对Vensim软件较了解,Anylogic不多,对两者的区别也限于此。另外,还有STELLA、Ithink、Powersim studio等系统动力学软件,需要的话,你也可以了解一下。
参考技术A 楼主怎么练习,求助

在 Anylogic 中为代理参数分配不同值的正确方法是啥?

【中文标题】在 Anylogic 中为代理参数分配不同值的正确方法是啥?【英文标题】:What is the right way to allot a distinct value to an agent's parameter in Anylogic?在 Anylogic 中为代理参数分配不同值的正确方法是什么? 【发布时间】:2020-09-10 21:29:48 【问题描述】:

我希望我的代理是单一类型的。其中 type 包含 3 个选项的列表。并且分配应该基于概率。例如。假设我想将 1: 30%、2: 50% 和 3: 20% 分配给在我的主选项卡源中生成的每个代理。

我尝试了一种方法,将参数声明为 int,然后将 randomTrue(0.3)?1:randomTrue(0.7)?2:3 写入默认值。但是每次代理都带有相同的值2。

谁能帮我解决这个问题?

如果我尝试在任何块的主窗口中分配参数,它们是否会附加到通过该块的特定代理,或者它的值只是在这段时间内更新,直到另一个代理通过?实际上,我必须检查每个代理的参数,然后通过 selectoutput 块中的特定输出路径发送它。

【问题讨论】:

【参考方案1】:

您的代码实际上并未更改已创建代理中的任何内容。

创建一个整数类型的参数“myType”。

在您的源代码中编写: agent.myType = randomTrue(0.3) ? 0 : randomTrue(0.7) ? 1 : 2

确保您的 Source 块实际上创建了包含 myType 参数的 Agent 类型的代理。

学习一些示例模型和教程,它在很多地方都有介绍:-)

【讨论】:

谢谢,我会尝试,是否也可以通过根据概率通过不同的选择输出块发送代理来分配主值,然后根据概率写入 agent.myType = 1 或 2 或 3在它去的街区。 当然,在 AnyLogic 中几乎任何事情都是可能的(它的名字;-))。如果您遇到困难,请随时提出一个明确的新问题(但始终先尝试自己;-))。 如果参数在您的代理中,那么您在原始帖子中描述的内容应该可以工作。您能否澄清一下您的原始问题是如何设置的?我认为它不起作用的唯一方法是如果您在某处覆盖了默认值。我打算添加一些关于 set_parameter 与参数 equals 的注释,但我很困惑为什么你写的东西不起作用。

以上是关于Anylogic 和Vensim软件的区别是啥的主要内容,如果未能解决你的问题,请参考以下文章

python和netlogo软件模拟病毒传播仿真模型

python和netlogo软件模拟病毒传播仿真模型

在 Anylogic 中为代理参数分配不同值的正确方法是啥?

Java中等效的Anylogic函数“zidz”是啥?

在 Anylogic(Java、SQL)上查找连续数据的最快方法是啥

anylogic 是哪个国家的