Can NetLogo handle millions of agents?

For the project, we need to decide between NetLogo and RepastS.

We will model a network of institutions with people moving between them. People enter and exit these institutions, which are sold as black boxes. We see no problem using NetLogo for this. The expansion of this project will have explicit implementations of institutions with interacting agents. These interactions occur on a different time scale than updates at the macro level (moving between institutions).

1) Can NetLogo process potentially millions of agents (move between institutions and interact within them) and 2) can NetLogo process agents that work with different time scales and granularities?

+5
source share
1 answer

1) See the NetLogo FAQ for how large models can be and how to increase its memory capabilities.

Millions of agents are certainly possible, but far from common. I heard about a laboratory that uses about 7 million agents in their simulation (works in a cluster).

On my laptop, increasing the memory limit (see FAQ), I was able to easily create several million agents and ask them to do trivial things. Each ask for 3-4 million is also about 1-1.5 seconds.

2) Absolutely! To do this, check out the LevelSpace extension (bundled with NetLogo). This allows NetLogo models to open and interact with other NetLogo models. Thus, in your case, you will create a model of interaction within the institution, and then another model for travel between institutions, which have several models of organizations that discover that it adds agents and removes agents. You can then run models within the institution at any scale that you want relative to your main model.

In addition, agent distribution among models through LevelSpace should be a little faster. LevelSpace will automatically parallelize operations when called to multiple models.

+5
source

Source: https://habr.com/ru/post/1272672/


All Articles