微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何选择在同一个提货区等待的确切数量和可用数量?

如何解决我如何选择在同一个提货区等待的确切数量和可用数量?

所以我有一辆汽车将在模拟的前 50 分钟内提取准确数量(等待)。在这 50 分钟过去后,我想要同一辆车来取货(如果有的话)。我该怎么办?

解决方法

默认为第一次设置。

创建一个事件以在 50 分钟后触发并使其执行此代码:

myPickupObject.set_pickupType(PickupType.QUANTITY);
,

替代方法(避免复杂的 Java 编码)是使用 2 个 Pickup 块,每个块都有不同的设置。在它们之前放置一个 SelectOutput 块,并在 time()>50*minute() 条件中使用 SelectOutput 将代理路由到相应的块

,

这里有一种方法可以让容器实体在取货中等待一段时间t,然后带着任何已取货的实体离开。示例模型如下所示:

enter image description here

有两个关键组件:

  1. ReleaseOnTimeout 动态事件,它有一个名为“_agent”的类型为 Agent 的参数和以下代码:
for (Object o : pickup.getEmbeddedObjects()) {
    // find the Delay object inside Pickup
    if (Delay.class == o.getClass().getSuperclass()) {
        // remove the container from the Delay
        Agent a = ((Delay)o).remove(_agent);
        if (a != null) {
            // send the removed container into Enter
            enter.take(a);
        }       
    }
}
  1. pickup on enter 操作中包含以下代码:`create_ReleaseOnTimeout(10,container);

这是如何工作的:

  1. pickup 配置为具有 Exact quantity (wait for) 行为
  2. 一个容器对象进入拾取拾取
  3. 在进入时,一个动态事件 ReleaseOnTimeout 被安排在 10 个单位内检查 容器
  4. 如果有足够数量的实体可用,则容器将它们捡起并离开
  5. 替代 (4),如果到 10 个单位时 容器 仍然卡在 pickup 中,那么它将被移除并放入 enter

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。