有访问限制的节点导致行人无法到达目标的错误

问题描述 投票:0回答:1

我正在构建一个类似于地铁站台模型的客流模型这里,但在登机区和自动扶梯之间有一些支柱,如下所示:

enter image description here

我想计算门区域(黄色节点)和门区域附近(紫色节点)的乘客数量,所以我应用了这个关于“假”访问限制的技巧

然而,随着乘客的聚集,这似乎导致一些乘客无法到达登机口区域。这些紫色节点可能不是真正的原因,但是当我忽略这些紫色节点或只是关闭紫色节点中的访问限制时,即使黄色节点仍然处于活动状态并具有访问限制,这个问题似乎也消失了。

enter image description here

我怀疑这可能与寻路有关,因为错误路径往往会经过拥挤的区域。那么也许一种可能的解决方案是通过这种方法捕获并取消那些无法到达目标的乘客,然后让他们去其他地方?

但我想知道为什么只有在打开“假”访问限制时才会出现此问题。

在不改变上述建议方法的逻辑的情况下,我还能做些什么来解决这个问题?比如调整寻路算法,让乘客不要穿过拥挤的门区域(最短路径),而是在拥挤时绕道棕色柱子?

anylogic
1个回答
0
投票

确实很奇怪。一种可能的解决方法:以不同的方式计算您的 ped:

  • 选项 1:在 ped 中具有内部循环事件,检查它们是否在节点内 (
    node.contains(...)
    )
  • 选项 2:使用链接到节点的
    PedMoveTo
    块的“On Enter”和“On exit”代码块:enter image description here

请注意,这两种方法在短期内都不太准确,但从长远来看应该是相等的(但一定要测试它!)。

如果全部失败,您可能需要应用基于代理的网络:https://benjamin-schumann.com/blog/agentify-your-network-pathfinding

© www.soinside.com 2019 - 2024. All rights reserved.