Java Netlogo流量模拟的实现

Java implementation of Netlogo traffic simulation

我在 Netlogo 模拟方面有点新手。 我正在收集有关调用不同交通模拟器的信息。 Netlogo 是否有可能通过控制代理或流量的库接收来自 Java 端的调用,或者有一些扩展能够通过某些外部逻辑处理它?

例如,SUMO 模拟器完全是为交通模拟而设计的,使用 TraCI 连接很容易控制它。 是否有可能仅使用Java/Python/C++代码在NetLogo中编写类似的网格模拟,或者NetLogo模拟器需要NetLogo界面中清晰的Logo语义代码?

我的比较是由于我对使用命令行、库或 API 的特定解决方案性能的调查引起的。 NetLogo 似乎需要 Logo-inspired 代码,它模拟具有 GUI 界面的进程。该系统中的 GUI 似乎相当慢...

由于缺少通信接口,貌似是一个单线程的GUI模拟器,我以为主要用于初级模拟。

我这个假设正确吗?它是一个受徽标启发的解释器,不能用于大规模分布式系统,通常用于学生展示目的吗?

NetLogo 可以与 Java、R、Mathematica 通信,不确定还有什么。但 NetLogo 不适合构建 GUI 界面,它提供了模拟引擎。不仅仅是学生展示,而且我可能不会在大约 50,000 个代理以上使用它,所以对于大型分布式系统来说不是真的

您不需要使用 NetLogo GUI;您可以 运行 完全从命令行进行模拟,如此处记录:http://ccl.northwestern.edu/netlogo/docs/behaviorspace.html#advanced-usage

研究人员这样做实际上很常见,通常这样他们就可以 运行 在集群上进行实验。 Hundreds of research papers 已经发布,使用 NetLogo 作为进行模拟的基础。 NetLogo 也是一种教学工具,但将其描述为仅用于“学生展示”目的与事实相去甚远。

NetLogo 语言本身是单线程的,但 BehaviorSpace 支持并行进行多个模拟 运行s(在 GUI 或命令行中,无论哪种方式)。

我不知道你所说的“缺少通信接口”是什么意思;我认为你在那里被误导了。 NetLogo 可以并且已经连接到许多其他工具和系统,并且可以通过 Java API 进行扩展。

但是你必须用 NetLogo 语言来编写你的模拟吗,NetLogo 语言是 Logo 的一种方言?是的你是。该语言可以通过 extensions API 进行扩充,但如果您想完全避免使用 NetLogo 语言,那么 NetLogo 不是一个好的选择。