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

将代理位置保存在“抓住”块中,并使用位置在“移至”块中

如何解决将代理位置保存在“抓住”块中,并使用位置在“移至”块中

我的模型是基本的仓库情况模型。卡车进入模型,被空的装卸码头资源占用,然后由叉车卸下。卡车的位置(装卸区1,装卸区2等)由被占用的可用资源确定。然后,我的“移至”块选中了“移至所捕获资源的位置”选项。在这种情况下,该模型的卡车一半按预期工作。

叉车的一半较硬。建议我将托盘代理注入模型中,而不要将它们从传入的卡车中分离出来。问题是我无法为特定资源指定代理的位置。

如何将新停放的卡车(装卸区1,装卸区2等)的位置保存在变量中,然后调用相同的变量将特工注入该位置?充当装载区的节点是特定资源(装载区)的原始位置。

当我保存位置时(varagentLocation = getNetworkNode();),我必须将变量类型设置为键入“ custom”(INode)以消除错误。如果在源的位置框中键入“ varagentLocation”,则会收到一条错误消息,指出类型不同(INode和InitialLocationType)

解决方法

不需要在您的(固定的)装卸区资源中使用家庭位置。

只需将它们作为自定义资源代理类型(例如,代理类型LoadingBay,而不是普通Agent),并将类型Node参数设置为在模型启动时设置的相关空间标记节点。 (您需要让资源池将资源代理添加到预先创建的LoadingBay的自定义(初始为空)填充中;这使您可以在模型启动时遍历资源代理以设置任何参数等等。)

那么可能最一致的方法是

  • 通过Truck块的onseize操作将此值复制到Seize代理中的变量中。

  • 已创建Pallet代理,并引用了它们来自的Truck代理(在变量或参数中)。对于是否预先存在托盘(可以在其中使用Unbatch块“释放”它们)还是即时创建它们,有多种设计选择。

  • 在将托盘代理注入到Source块中时,将其设置为使到达节点(可以是动态表达式)从“父级”卡车代理获取相关节点(例如agent.arrivalTruck.loadingBayNode)。

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