2017-10-16 64 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,如果您對實施有任何疑問,我很樂意回答更多問題。 –

相關問題