【问题标题】:How to restrict a queue size?如何限制队列大小?
【发布时间】:2020-09-02 18:58:27
【问题描述】:

我在限制特定车站的队列大小时遇到​​了一些问题。 因此,我将包装站作为资源使用了 11 次,即我有 11 个占用块占用该资源。现在,我收到了包含多个代理的订单,例如,如果一个订单到达并且说有 10 个包裹,那么订单会被挑选出来,然后使用输入功能,这 10 个包裹会进入包装站。这在我的模型中发生了大约 11 次。 现在,我希望如果我的包装队列达到某个特定数量,那么拣货应该停止。我尝试了几个替代方案,但无法达到预期的结果。每个订单都有不同数量的包裹。 如果有人能帮我解决这个问题,我会很高兴?

【问题讨论】:

  • 不是 Anylogic 用户,但这看起来可能适用:help.anylogic.com/…
  • 是的,当你的队列达到一个数字时,一个保持块会被阻塞......就是这样

标签: simulation anylogic


【解决方案1】:

您可以使用在队列达到某个数字时被阻止的保持阻止。

为此,您可以在进入队列时做一些事情:

 if(self.size()>someNumber)
        hold.block();

然后在队列退出时解除阻塞

hold.unblock();

当然,在哪里放置取决于模型的特定特征

另一种选择是使用禁区... 另一种选择是在队列之前使用另一个队列并将您的有限队列设置为最大数量的代理 另一种选择是在队列之前使用等待块

有很多方法...

【讨论】:

    猜你喜欢
    • 2018-06-24
    • 2016-10-30
    • 2020-01-09
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 2011-08-19
    相关资源
    最近更新 更多