如何计算卡车装载中托盘的最大数量?

时间:2015-11-25 11:15:32

标签: algorithm optimization transport logistics

我希望最大化我可以在货件中发送的材料托盘数量。我的托盘材料是三个不同的类别之一:

  • 材料类型1(易碎):可与另一个1型托盘堆叠, 可以堆放在2型材料托盘的顶部。
  • 材料类型2(坚固):可以与另一个托盘堆叠 材料类型2,可以堆叠在材料类型1下面。不能堆叠在材料1的顶部
  • 材料类型3(非常脆弱):无法堆叠。

如果我获得了订购托盘材料的清单,我需要计算任何订单需要多少托盘脚印或底托盘。例如:10个材料类型的托盘1和20个材料类型2的托盘和3个材料类型3的托盘。订单将占用多少个托盘?

编辑:我们将卡车底部托盘的限制设置为24.可堆叠的最大托盘为两个,也就是说,您不能将两个以上的托盘堆叠在一起。注意:材料2不能堆叠在材料1的顶部。

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)

最后一辆卡车可能还有一些未使用的空间。