2017-08-14 8 views
1

NetLogoと拡張機能Rでシミュレーションを行っています。私はディストリビュータとコンシューマがあるサプライチェーンモデルを作成しました。消費者は、ディストリビューターやディストリビューターに注文を提供し、将来の需要を予測し、市場の需要を満たすためにサプライヤーに事前に注文します。予測は、elmNNパッケージを呼び出すことによって、拡張子R(https://ccl.northwestern.edu/netlogo/docs/r.html)で実装されます。単純に "go"を使用すると、モデルは正常に動作します。 しかし、ビヘイビア空間を使って実験をしたいときは、エラーが出ます。私がビヘイビア空間で数ティックだけを設定すると、モデルは正常に動作します。しかし、私が数百ダニを打ちたいとき、行動スペースが壊れてしまいます。たとえば、「拡張例外:R拡張のエラー:evalのエラー、演算子がアトム・ベクトルに対して無効です」、「拡張例外:R拡張のエラー:evalのエラー:CHARSXPの属性を持つことはできません。場合によっては、エラーが発生しなくてもクラッシュすることがあります。拡張機能を使用するとNetlogoの動作スペースがクラッシュする

エラーは、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

答えて

2

問題は、行動のスペースに適していないプログラミングスタイル、とありました。行動空間はパラレルプログラミングをサポートしているため、プロセス内の新しい情報によっていくつかの変数が書き換えられました。ビヘイビア空間でSimultaneous runを1​​と並列に設定すると、すべてうまくいきました。

関連する問題