如何计算盒子分类/包装问题中所需的队列数?

时间:2019-06-29 22:55:13

标签: python queue classification bins

我需要确定一个箱子分类系统的大小,使箱子排在队列中,直到达到包装数量为止。然后他们都以固定的速率离开队列。

这是通过生产实时完成的。我可以估算每个SKU的数量,但不能预测它们到达分类/分拣设施的顺序。但是,我可以查看以前的制造数据来测试算法。

关键是您如何估计完成分类所需的箱/队列(最小化“使用的所有队列”条件)

我想到了队列理论,但我想对已知数据(数据并非完全随机)进行一些模拟,而我搜索的大多数内容都是假设随机进入队列的。

我开始编写一个python脚本来自己模拟队列行为,并给定固定的排空时间。

有什么建议吗?

谢谢。

理想情况下应基于python

预期输出应为使用的队列与时间的关系,如果队列数量有限,则“丢弃”的框数与时间的关系

1 个答案:

答案 0 :(得分:0)

您的问题令人沮丧。我想我了解您的要求,但是更多细节会有所帮助。

据我了解,您拥有类似于订单处理工具的功能,其中每个订单都是一个队列,您可以在其中存储项目,直到该订单的所有项目到达为止。然后您以某种速率(每个项目x秒或类似的时间)释放该队列。

您需要的队列数取决于:

  1. 预期交货率:您要完成每分钟多少订单?将此称为OPM:每分钟的订单数。
  2. 队列的平均停留时间。即,从第一个项目到达队列到最后一个项目离开的时间。 QLT:队列生存时间

您需要的队列数为OPM * QLT。如果要每分钟交付100个订单,并且平均队列寿命为3分钟。您将需要300个队列。如果平均队列生存时间为30秒,那么您只需要50个队列即可。

队列寿命是填充队列需要多长时间以及将队列清空需要多长时间的组合。分别称为QFTQETQET很简单:订单中的平均商品数量除以队列的空置率。您说项目以固定的速率从队列中释放。如果平均订单大小为5个项目,并且您以每分钟12个项目的速度清空队列,那么清空队列将需要5/12分钟(25秒)。

QFT(队列填充时间)取决于平均订单大小以及将物品拣选并交付到队列所花费的平均时间。如果您无法从制造数据中获得该数据,则必须自己进行估算。

进行这些计算可以使您很好地估计系统平均 的反应。然后,您可以使用这些数字构建简单的仿真,并开始更改一个或多个参数。例如,如果每个订单的平均项目数在一段时间内变大或变小,将会发生什么。如果变大,则QLT可能会增加。如果变小,QLT会减少,但是您可能会有更多的并发订单(因此需要更多的队列)。