anylogic

What does the red "overfill" warning of a delay block in anylogic mean?


I noticed a red "overfill" warning displayed on one of my delay blocks. What does this warning indicate, and how can I address it?

warning screenshot

For context: The capacity of the delay block is determined dynamically based on a function result. The function is triggered by a cyclic event occurring each day.

Function

Function trigger

What I tried: I set the initial capacity of the block to a large number (1000), because I thought maybe the problem is that the result of the function is larger than the initial capacity, but it did not solve the problem. Is there a time mismatch between the update of the capacity and the delay block processing agents - is that the reason?


Solution

  • It's almost certainly because you are dynamically changing the capacity to less than the current number of agents being processed (so the Delay block is 'overfull'). You have to decide whether this is 'allowed' (according to how the real-world system works) and what you want to happen to currently-being-processed agents. (The block will just finish processing the 'extra' agents as normal.)

    Setting the initial capacity to 1000 doesn't help diagnose it because it's to do with the current number of agents being processed (not the block's capacity).