在 AnyLogic 中选择机架后保持资源被占用

问题描述

我似乎找不到在“rackPick”之后保留资源的方法。在“rackPick”块中,我选择“使用资源移动”。所以我想要一个资源来将代理从托盘架移动到某个节点。当到达节点时,我希望相同的资源留在那里以处理其他活动(例如拾取块)。但是,没有选择在拣配后不释放资源。我也不想在货架拣选之前使用抢占块,因为我希望代理在拣选期间以资源的速度移动。有什么建议吗?

谢谢。

其他细节: 具体流程如下:

货架挑选 --> 取货 --> 货架商店

我需要相同的资源来完成这三个步骤。

解决方法

你要做的就是保留资源。您可以在名为 agentLink 的资源中拥有一个指向代理的链接...如果保留则将连接,如果未保留则断开连接。

在resourcePool on seize unit action 中可以通过agentLink (unit.agentLink.connectTo(agent)) 连接代理和资源

您还可以根据条件 !unit.agentLink.isConnected() 在 rackpick 块中自定义选择资源

然后在机架商店中使用资源的条件作为 unit.agent.equals(agent.resourceLink.getConnectedAgent())

就是这样:)