使用扩展 R 时 Netlogo 中的行为 space 崩溃
Behaviour space in Netlogo crashes when using extension R
我正在使用 NetLogo 和扩展 R 进行模拟。我制作了一个供应链模型,其中有分销商和消费者。消费者向分销商提供订单,分销商预测未来需求并提前向供应商下订单以满足市场需求。通过调用 elmNN 包,使用扩展 R (https://ccl.northwestern.edu/netlogo/docs/r.html) 实现预测。当简单地使用 "go" 时,该模型工作正常。
但是,当我想使用行为 space 进行实验时,我不断出错。如果我只设置几个行为 space,模型就可以正常工作。但是当我想启动几百个滴答声时,行为 space 一直崩溃。例如,"Extension exception: Error in R-extension: error in eval, operator is invalid for atomic vector"、"Extension exception: Error in R-extension: error in eval: cannot have attributes on CHARSXP"。有时该行为只是崩溃而没有任何错误。
我假设这些错误与 NetLogo、R、R 扩展和 java 之间的可计算性问题有关。我正在使用 NetLogo 5.3.1,64 位; R-3.3.3 64 位; rJava 0.9-8.
模型示例:https://www.youtube.com/watch?v=zjQpPBgj0A8
之前发过类似的问题,但是没有答案:NetLogo BehaviorSpace crashing when using R extension
问题出在编程风格上,不适合行为space。行为 space 支持并行编程,因此一些变量在过程中被新信息重写。当我在行为 space 中将 Simultaneous runs in paralleled 设置为 1 时,一切都很好。
我正在使用 NetLogo 和扩展 R 进行模拟。我制作了一个供应链模型,其中有分销商和消费者。消费者向分销商提供订单,分销商预测未来需求并提前向供应商下订单以满足市场需求。通过调用 elmNN 包,使用扩展 R (https://ccl.northwestern.edu/netlogo/docs/r.html) 实现预测。当简单地使用 "go" 时,该模型工作正常。 但是,当我想使用行为 space 进行实验时,我不断出错。如果我只设置几个行为 space,模型就可以正常工作。但是当我想启动几百个滴答声时,行为 space 一直崩溃。例如,"Extension exception: Error in R-extension: error in eval, operator is invalid for atomic vector"、"Extension exception: Error in R-extension: error in eval: cannot have attributes on CHARSXP"。有时该行为只是崩溃而没有任何错误。
我假设这些错误与 NetLogo、R、R 扩展和 java 之间的可计算性问题有关。我正在使用 NetLogo 5.3.1,64 位; R-3.3.3 64 位; rJava 0.9-8.
模型示例:https://www.youtube.com/watch?v=zjQpPBgj0A8
之前发过类似的问题,但是没有答案:NetLogo BehaviorSpace crashing when using R extension
问题出在编程风格上,不适合行为space。行为 space 支持并行编程,因此一些变量在过程中被新信息重写。当我在行为 space 中将 Simultaneous runs in paralleled 设置为 1 时,一切都很好。