问题:机架被占用。是否可以在不在流程图中使用代理的情况下从机架系统中删除代理?

Problem: rack is occupied. Is it possible to remove agents from a racksystem without using them in a flowchart?

我正在用 anylogic 对订单拣选进行建模:目前我创建了一组代理并通过事件将它们提供给输入块。该块与 rackstore 块相连,并将代理放入 racksystem。在一个人的状态图中(当人到达代理位置时),代理被带入另一个 enterblock,它只与一个接收器连接 -> 代理从机架系统中删除。

问题:如果我想再次将代理存储在机架系统中,单元格(之前代理所在的位置)已被占用。我认为单元格的保留不会被丢弃。我该如何解决这个问题?

或者:是否有更好的解决方案来存储 and/or 删除代理?也许根本不使用流程图?

除非您通过 RackPick 块删除机架中的代理,否则您实际上并没有将它们从机架系统中删除(即使代理正在移动 'past' RackStore 流程中的块)。所以你的过程需要是这样的:

  • RackStore 之后有一个 Wait 块(将它们保留在进程中直到需要)。
  • 当“人员到达代理位置”时(您将代理从机架中移除的触发器,但不清楚这意味着什么——“代理位置”是什么,因为它在机架中?) , 你 free 他们来自 Wait 块。
  • Wait 块之后是 RackPick 块,这会将它们从机架中移除。
  • 无论后续流程如何(在您的情况下可能只是 Sink),删除的代理都会继续。

NB:另外,RackStoreRackPick块的部分功能是使用资源代理移动到机架和deposit/retrieve 代理,因此您可能不需要“人员代理”明确移动到代理位置(这些块之外),尽管这取决于您希望模型执行的操作的确切规范。