2017-10-16 11 views
5

プロジェクトでは、NetLogoとRepastSのどちらかを決定する必要があります。NetLogoは何百万ものエージェントを処理できますか?

私たちは、人々の間を移動する機関のネットワークをモデル化します。人々は、ブラックボックスとして実装されているこれらの機関に出入りします。これにNetLogoを使用しても問題はありません。このプロジェクトの拡張には、相互作用するエージェントを持つ機関の明示的な実装が必要です。これらの相互作用は、マクロレベル(機関間の動き)の更新とは異なる時間スケールで発生する。

1)NetLogoは、潜在的に何百万ものエージェント(組織間を移動し、その内部で相互作用する)を扱うことができますか?2)NetLogoは、異なる時間スケールと粒度で動作するエージェントを処理できますか?

答えて

5

1)NetLogo FAQ on how big models can beを参照して、メモリの容量を増やす方法を参照してください。

確かに何百万ものエージェントがありますが、一般的なものとはかけ離れています。私は、(クラスタ上で実行されている)シミュレーションで約700万のエージェントを使用するラボについて聞いたことがあります。

私のラップトップでは、メモリの制限(FAQを参照)を増やした後、数百万のエージェントを簡単に作成して、簡単なことを実行するように求めました。それぞれaskは3〜400万件で、1〜1.5秒ほどです。

2)絶対に!これについては、LevelSpace extension(NetLogoにバンドルされています)を参照してください。これにより、NetLogoモデルを開き、他のNetLogoモデルを開くことができます。あなたのケースでは、施設内の相互作用のためのモデルを作成し、エージェントを追加したりエージェントを削除したりする多数の施設モデルを公開している施設間の移動のためのモデルを作成します。次に、メインモデルに関連して、任意のスケールで組織内モデルを実行することができます。

また、LevelSpace経由でモデル間でエージェントを配布するのは、通常は少し速く実行する必要があります。 LevelSpaceは、複数のモデルを呼び出すときに自動的に操作を並列化します。

+0

私は本当に、特に質問と回答の両方の下降声に困惑しています。質問はおそらく多少曖昧ですが、トピックに関するものです。答えは質問に対する良い答えです。私はこのような下降票が通常は説明を伴うことを願っています(例えば、「これはFAQのために明らかです」)。この場合、FAQは部分的な答えのみを与え、答えはFAQを参照して、 。 – Alan

+0

ありがとうアラン。誰かが私の答えを改善するための提案を持っていれば、私はそれを変更して嬉しいです。問題のレベルが高いことを考えると、私はコード例に入ることは適切ではないと思っていました。 @Rainer、実装に関する質問があれば、私はさらに質問に答えることができます。 –

関連する問題