我希望最大化我可以在货件中发送的材料托盘数量。我的托盘材料是三个不同的类别之一:
如果我获得了订购托盘材料的清单,我需要计算任何订单需要多少托盘脚印或底托盘。例如:10个材料类型的托盘1和20个材料类型2的托盘和3个材料类型3的托盘。订单将占用多少个托盘?
编辑:我们将卡车底部托盘的限制设置为24.可堆叠的最大托盘为两个,也就是说,您不能将两个以上的托盘堆叠在一起。注意:材料2不能堆叠在材料1的顶部。答案 0 :(得分:2)
鉴于目前的重量,堆叠所需的足迹数量将是
t3 + ( 1 if t1 + t2 > 0, 0 otherwise )
其中t1
表示类型1的托盘数量,t2
表示类型2的托盘数量,t3
表示类型3的托盘数量。类型3的托盘不能与其他任何东西叠在一起;如果存在1型或2型托盘,它们可以堆叠在一起,首先是2型托盘,然后是1型托盘。
修改的
由于最多可以将2个托盘堆叠在一起,并且每辆卡车最多可以装载24个堆叠,因此答案是不同的。总筹码数量为
#Stacks = t3 + ceil( ( t1 + t2 ) / 2 )
其中ceil
表示向上舍入到最接近的整数。每个3型托盘必须单独堆叠,因此至少需要t3
个堆叠。类型1和类型2的剩余托盘可以以高度最多为2的堆叠组织,显然没有实际限制;如果Type 1和Type 2单独进入一个堆栈就没有问题,如果Type 1和Type 2都存在,则将Type 2放到底部。
最后,所需的卡车总数将是
#Trucks = ceil(#Stacks/24)
最后一辆卡车可能还有一些未使用的空间。