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