【问题标题】:Conditionally halting a seize taking place in Seize block有条件地停止在 Seize 区块发生的扣押
【发布时间】:2020-12-06 12:22:22
【问题描述】:

我想阻止患者(代理)从两个资源池中占用治疗室(资源),直到其中一个池有一个房间可用。这是因为一旦患者从一个池中癫痫发作,它将被阻止以评估另一个池的癫痫发作。我尝试使用“recalculateResourceChoiceConditions()”来解决这个问题。

现在,我尝试使用 Hold 块,只要阻塞条件为“(TreatmentRooms.idle() + TreatmentRooms1.idle()) == 0”,它在我的脑海中应该可以正常工作。然而,这会产生一个逻辑错误,即代理不能离开前一个块。是否有另一个块我可以用来模拟所需的逻辑,或者我可以用 Hold 块做些什么来规避这个错误?

【问题讨论】:

    标签: anylogic agent-based-modeling


    【解决方案1】:

    您需要在hold 块之前排队。 “保持”没有自己的队列。

    【讨论】:

    • 感谢您的建议。这样做揭示了潜在的问题:即使“阻塞条件”不再成立,Hold 块也不会打开。看来我必须做更多的事情才能让它打开..
    • 好吧,本杰明成功了!我所要做的就是使用hold.recalculateConditions() 设置一个循环事件。现在,我的模型似乎奏效了,这一切都归功于您给予我的所有帮助。非常感谢!
    猜你喜欢
    • 2017-10-04
    • 1970-01-01
    • 2017-09-29
    • 2021-02-27
    • 2020-04-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多