我是 Simpy 的新手,在弄清楚如何为具有复杂依赖关系的进程调度程序建模时遇到了麻烦。
我的问题的高级摘要:
- 我有一个仓库,通过入口接收装有物品的盒子。这些盒子被放入队列中等待处理。
- 每个箱子都有一个目的地房间,必须使用传送带运送到那里。传送带服务多个房间。
- 仅当传送带和目的地房间都可用时,操作员查看队列中的箱子并将箱子放在适当的传送带上。操作员按顺序发送盒子,但跳过无法处理的盒子。
- 在房间内打开盒子后,需要一定的时间来存放物品。在此期间,房间无法接收其他盒子。
- 物品入库后,空箱通过其进来的同一条传送带被送到仓库出口。
- 操作员随时了解哪些传送带和房间是空闲的。
我的问题是如何建模这个运算符。到目前为止,我还没有在 Simpy 中找到一种优雅的方式来做到这一点。我本质上想要一个只有在以下三个条件成立时才唤醒的过程:a)一个房间是空闲的;b) 这个房间的队列中有一个盒子,并且 c) 去房间的皮带是免费的。
非常感谢任何想法、建议或指向现有示例的指针。谢谢!