我在一家公司的物流部门工作,最近我们一直在努力缩小我们使用的不同 Package 选择的数量。
我有所有必要的产品数据,如长度,宽度,高度,体积和销售数据。
因此,我在想,是否有可能使用一种算法来聚类不同数量的产品,也许还可以考虑哪些尺寸的销售最多,以确定,哪些盒子尺寸将是理想的。(考虑多久一个产品的销售是次要的,所以这不是绝对必要的)
我想要的是,我可以给予算法多少不同的盒子大小我想要的数量,算法应该确定在哪里放置限制,这样就有一个解决方案,我们有每一个产品。优化的目标是最小的体积浪费,同时也不使用超过不同的盒子设置数量。
同样重要的是要注意,产品的方向和每盒的数量是固定的,所以没有必要确定如何 Package 产品和有多少进入一个盒子理想或类似的东西。
什么样的算法可以用来解决这样的问题,我有什么选择来编写它们?我在考虑使用Matlab,但也会考虑其他可能的选择。我想编写它,而不是简单地使用现有的程序,如SPSS。
提前感谢,如果我的英语不是最好的,请原谅,我不是一个母语。
1条答案
按热度按时间f4t66c6m1#
下面的C++程序将为小示例找到最佳解决方案。对于10个输入框大小,每个大小的维度在1..100范围内随机选择,并且对于1..10个任意数量的框大小可供选择,它在我的计算机上几秒钟内计算出答案。对于15个输入框大小,它需要大约10秒。对于20个输入框大小,我可以在大约3分钟内计算出4个选择的盒子大小,内存成为一个问题(它使用了大约3GB),我不得不增加链接器的默认堆栈大小以避免堆栈溢出。
输入示例:
输出示例:
如果大家感兴趣的话,我会解释一下这背后的算法,这比考虑k个候选框大小的所有可能组合要好,但效率不是很高。