如何解决将代理位置保存在“抓住”块中,并使用位置在“移至”块中
我的模型是基本的仓库情况模型。卡车进入模型,被空的装卸码头资源占用,然后由叉车卸下。卡车的位置(装卸区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 举报,一经查实,本站将立刻删除。