如何实现仿真模型中叉车不释放物品或释放后必取回物品?
仿真模型叉车调度问题解决方案
问题背景
搭建仿真模型流程:集装器(uld)送达10个物品,由叉车(transporter)运送至指定区域,理论上叉车需在此区域放下物品、等待数秒后取回,再送至存储区。最初希望叉车全程不释放物品,仅前往节点等待后直接送最终位置但未找到实现方法,采用释放物品方案后,大量集装器集中送达时,叉车有时会去取新物品,而非取回自己放下的货。
方案一:实现叉车全程不释放物品
多数仿真软件(如AnyLogic、FlexSim)支持transporter携带货物完成等待动作,无需释放物品,核心是调整任务序列:
- 给叉车创建连续任务:先从集装器取货,移动到指定等待节点
- 在等待节点执行延迟动作(设置等待秒数),此动作无需释放货物
- 延迟结束后,直接移动到存储区,最后释放货物完成任务
- 关键:不要在等待节点添加释放/取回货物的动作,让货物全程保持在叉车上
方案二:确保同一叉车取回自己放下的物品
若必须采用释放物品的方案,可通过两种方式绑定叉车与货物:
- 属性绑定法
- 给物品添加自定义属性(如
assignedForkliftID) - 叉车放下物品时,将自身ID赋值给该物品的
assignedForkliftID - 叉车需要取回货物时,添加筛选条件:仅选择
assignedForkliftID等于自身ID的物品
- 给物品添加自定义属性(如
- 专属暂存位法
- 在等待区域为每个叉车设置专属暂存位(或专属小暂存区)
- 叉车放下物品时,指定放到自己的专属暂存位
- 取回时,仅从自己的专属暂存位取货
相关逻辑截图说明
- 叉车需放下并取回物品的区域
- 叉车前往该区域的移动逻辑
- moveby逻辑
- 存储逻辑
内容的提问来源于stack exchange,提问作者Yasss Yasss
相关产品推荐
相关产品推荐

