将项目分成批次

我正在使用一个基于Excel VBA的计算器来帮助计划钢板的运输,我要求做的一部分是根据一定的公差和最大的堆叠将板块组织成最小数量的同样大小的堆叠高度。

问题是,我不知道如何去做,或者甚至是可能的。 我认为它将不得不从头开始按照宽度和长度进行分类(还没有被告知要优先考虑哪些),然后评估哪些可以被组合以形成尽可能less的堆叠(同时保持宽度差异在下面15%,堆高低于2.5米)。 我只是不知道如何才能做到这一点…

有什么build议么?


编辑以避免漫长的评论来回:

我们得到金属板的货物清单,每个项目有数量,长度,宽度,高度和重量。 我们也有卷尺(RT)的设定尺寸,最大容量(允许悬伸)由宽度,长度和重量定义为每个大小的拖车。 他们将要装载的船只,以及钢包装程序,限制所有堆栈的最大高度为2.5米。

拖车的尺寸根据堆中最长板的长度来select。 堆栈内的板的顺序并不重要 – 这是可操作的,所以不是我正在构build的计算器需要做的事情。 在每个堆叠中,最窄的板必须不小于最宽板的宽度的85%。 只要总体高度和重量在上述限制范围内,只要每个叠层内的宽度变化在15%窗口内,混合叠层就可以堆叠在彼此之上。

目前草案中的工作stream程如下: – 确定最长板块 – >selectRT-IF项目1的总高度<2.5m,堆叠下一个将适合的项目 – 直到总高度或总重量=> max身高/体重 – 计算剩余行项目 – 返回开始,直到所有行项目被堆叠现在closures做一些Googlesearch。

不幸的是,这些印版的密度并不一致 – 有时是低碳钢,有时是碳钢,有时甚至是其他金属。 🙁

@John Coleman:

是否有不同大小的RTs的上限? 而且,在某些意义上说,更长的RTs成本比更短的RTs成本更高,因此,具有更多但更短的RTs的解决scheme可能更适合于具有更less但更长的解决scheme?

最大的RT长24.4米,最大长度可达26.0米。 定价计算基于占地面积,最小的RT(6.1 m)类别每平方米的成本略低于其他类别。 但一般来说,通常的做法是使用12.2 m RTs的钢材,因为它们的装载量很大且简单。


尺寸限制不同的拖车有不同的悬伸限制。 可叉车的垫子的两端可以有两米的悬垂,但两边只有0.25米。 相比之下,较长的拖车在长度方面有更多有限的悬垂,但是在任何一边都可以达到半米。 我正在考虑将查询表中的最大维度放在查询表中,以免太多考虑。

样品货物随机货物的select

Ln Itm Cargo Description Type Qty L (m) W (m) H (m) Weight (kg) 3 Steel Plate Plates 1 6.000 3.000 0.025 3,533.000 4 Steel Plate Plates 1 4.000 2.580 0.150 12,152.000 16 Steel plates Plates 60 2.000 1.000 0.080 1,256.000