NetLogo可以处理数百万个代理吗?

时间:2017-10-16 18:43:52

标签: netlogo

对于项目,我们需要在NetLogo和RepastS之间做出决定。

我们将建立一个人与人之间流动的机构网络。人们进入和退出这些被实施为黑匣子的机构。我们认为使用NetLogo没有问题。该项目的扩展将明确实现具有交互代理的机构。这些相互作用发生在与宏观层面上的更新不同的时间尺度上(机构之间的移动)。

1)NetLogo可以处理数百万个代理(在机构之间移动并在其中进行交互)和2)NetLogo可以处理在不同时间尺度和粒度上运行的代理吗?

1 个答案:

答案 0 :(得分:5)

1)请参阅NetLogo FAQ on how big models can be以及如何增加其内存容量。

数百万代理商绝对有可能,但远非常见。我听说过一个实验室在模拟中使用了大约700万个代理(在集群上运行)。

在我的笔记本电脑上,在增加了内存限制(参见常见问题解答)后,我能够轻松创建数百万个代理并要求他们做些琐碎的事情。每个ask大约3-4百万,大约1-1.5秒。

2)绝对!请查看LevelSpace extension(与NetLogo捆绑在一起)。它允许NetLogo模型打开并与其他NetLogo模型交互。因此,在您的情况下,您将为机构内部交互创建一个模型,然后为机构之间的旅行创建另一个模型,该模型具有多个机构模型,可以向其添加代理并从中删除代理。然后,您可以以相对于主模型的任何比例运行机构内模型。

此外,通过LevelSpace在模型中分发代理通常应该运行得更快一些。调用多个模型时,LevelSpace将自动并行操作。