Reputation: 338
I am simulating a process in AnyLogic.
My agents are available as 'raw materials' in time t=0. I have 30,000 many of the same agents at the beginning of the simulation. Hence, for the source module, I am referring to a database, where the multiple agents per arrival box is ticked and the agents per arrival number is taken from a database (which is 30,000 there).
I am using a dummy process, where these agents arrive at the "source" and immediately go out from the "sink". When I have, e.g., 30 many agents coming there is not a problem. However, when I have 30,000 the memory blows up and the simulation stops. I don't know why there is a problem. What is the difference between 30 and 30,000 agents in such a simple example?
ScreenShot:
My simple model looks like:
And the database which works:
And the quantities are called via:
And all done:
But when I make the first products 30,000 many, then it gets stuck in the arrival date:
Moreover, my agent class is here:
And it shows on the Projects view as:
Upvotes: 0
Views: 324
Reputation: 2517
If your rectangular node has "Visible on upper agent" set, try unticking that.
There is currently a bug in AnyLogic when this is set and an agent's (or a population of agents') presentation is not shown in an upper-level agent, which causes extreme slowdowns as you are experiencing (particularly for larger numbers of agents; even, it seems, if the "Visible on upper agent" presentation elements are not in the agent type that there are many instances of).
In your case, your rectangular node is in the top-level agent Main, which is by definition a 'child' of the experiment from a presentation point of view --- it is also meaningless to set "Visible on upper agent" here (but it still seems to trigger the bug in some cases).
(Having said all this, the bug did not cause the '500 error' in the cases I saw so this might not work.)
Upvotes: 2
Reputation: 12660
Can you upload a screenshot of your source and dbase table?
If you tick that box, it sounds like you are creating 30000x30000 agents?
In any case, it is not a good strategy to model that many agents if it is not necessary. In your case, you could either combine 30000 materials into 1 agent (until they are broken apart?) or use the material library or a SD setup.
Only model individual agents if you really need it.
Upvotes: 1