Search code examples
anylogic

Nodes with access restriction causing error of pedestrian unable to reach target


I'm building a passenger flow model similar to the Subway Platform model here, but with a few pillars in between the boarding areas and the escalators like this:

enter image description here

I want to count passengers at the door areas (yellow nodes) and near the door areas (purple nodes), so I applied this trick about the "fake" access restriction.

However, this seems to make some passenger unable to reach the door areas as the passengers build up. These purple nodes might not be the true cause, but when I ignore these purple nodes or just turn off the access restriction in the purple nodes, this issue seems to be gone even when the yellow nodes are still active with access restriction.

enter image description here

I suspect it might have something to do with the path-finding as the error path tends to go through crowded areas. So maybe one possible solution could be to catch and cancel those passengers unable to reach target through this method and let them go somewhere else?

But I wonder why this issue occurred only when the "fake" access restriction is turned on.

Without changing the logic like the proposed method above, what else I can do to resolve this issue? Something like tweaking the path-finding algorithm by letting the passengers not walk through the crowded door areas (shortest path) but rather take a detour around the brown pillars if crowded?


Solution

  • Weird indeed. One possible workaround: Count your peds differently:

    • Option 1: have internal cyclic events in the peds that check if they are inside a node (node.contains(...))
    • Option 2: use the "On enter" and "On exit" code blocks of a PedMoveTo block linked to a node: enter image description here

    Note that both methods are less accurate in the short term but should be equal in the long run (but do test it!).

    If all fails, you may need to apply agent-based networks instead: https://benjamin-schumann.com/blog/agentify-your-network-pathfinding