2017-10-16 66 views
5

对于一个项目,我们需要在NetLogo和RepastS之间做出决定。NetLogo可以处理数百万个代理吗?

我们将模拟人与人之间移动的机构网络。人们进入和退出这些实施黑匣子的机构。我们看到使用NetLogo没有问题。该项目的扩展将具有与交互代理机构的明确实施。这些交互发生在与宏观层面上的更新(机构之间的移动)不同的时间尺度上。 1)NetLogo可以处理潜在的数百万代理(在机构之间移动并在其内部进行交互)和2)NetLogo可以处理以不同时间尺度和粒度运行的代理吗?

回答

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将自动并行操作。

+0

我真的很困惑的downvotes,这个问题,特别是答案。这个问题可能有点含糊,但主题。答案是对这个问题的一个很好的答案。我希望这样的反对票通常会附带一个解释(例如,“这很明显是因为常见问题解答”),但在这种情况下,常见问题仅给出部分答案,答案参考常见问题并提供更多信息。 – Alan

+0

谢谢Alan。如果任何人有改善我的答案的建议,我会很乐意改变它。考虑到这个问题的高层次,我并不认为要进入代码示例,这是合适的。 @Rainer,如果您对实施有任何疑问,我很乐意回答更多问题。 –

相关问题