【问题标题】:Why do not agents go out from the queue?为什么代理不从队列中退出?
【发布时间】:2021-11-29 02:52:06
【问题描述】:

我有一个队列,然后是 selectoutput。问题是代理没有从队列中出去。在这种情况下代理应该选择selectoutput的第三个出口,所以不可能(我假设)代理没有出去,因为下面的块已满。可能是什么原因?谢谢

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    原因是你认为是真的条件,实际上是假的,因为anylogic首先计算选择输出块中的条件,然后它在queue7块的“退出”动作上运行代码.. .

    所以我在这里的猜测是,您正在对退出操作执行某些操作,这会改变条件的结果..但已经太晚了.. 使用“退出时开启”操作,或者有时您需要在 selectoutput 和 selectoutput 之前的最后一个块之间放置 1 毫秒左右的虚拟延迟,以确保正确满足您的条件

    这是事情发生的顺序:

    1. 在退出队列开启
    2. 检查条件
    3. 在退出队列中
    4. 在输入时选择输出

    【讨论】:

    • 动作码在进入,但是即使没有条件为真,为什么代理在出口5(无条件时的退出)不出去?
    • 很抱歉我的问题不清楚。无论如何我发现了问题(代理应该出去的出口与容量为0的组装机队列链接。)谢谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 2019-10-12
    相关资源
    最近更新 更多