我有以下数字:6、8、9、4、3、2、10、7、14、12、6、2、3、1、10、11、13、5
我希望知道正确的方法,以实现最适合的一维装箱算法这些。因为在这个视频http://www.youtube.com/watch?v=B2P1TzKKWOI&feature=related中,他们的解决方法与我的想法不同,所以我不知道正确的答案。
我的解决方案,先到先得,所以:
他们的解决方案,我猜他们“配对”适当的数字在一起,所以它是这样的:
哪一个是对的?
发布于 2012-09-06 11:22:34
我在评论的末尾附上了算法。
@AngelicCore,我认为您的解决方案与视频中的解决方案的根本区别在于,您的解决方案是“在线”解决方案,而视频中的解决方案是“脱机”解决方案。
离线垃圾箱包装假设封隔器有关于每个项目的完美信息,并有时间按他或她想要的任何顺序排列它们。考虑一个有运输中转区的仓库。所有的箱子可以堆叠,托盘化,并根据需要重新订购,直到它准备好装运。
在线垃圾箱包装通常是在先进先出(FIFO)的基础上进行的。想象一下,你正在接收从进货卡车到传送带的箱子。物料处理设备迅速将所有案件重新导向一队即将离开的卡车.
补充说明
垃圾箱容量为16。(14+13+12+11+10+10+9+8+7+6+6+5+4+3+3+2+2+1)/16 = 126/16 ~ 7.87 =>上限(7.87)=8个最低垃圾箱为下限。
算法
最佳配合启发式
这种启发式尝试在每次分配项时尽可能地创建一个完整的bin。再一次,所有未满的垃圾箱都保持打开。它将下一项j放在当前内容最大但不超过q−qj的bin中(因此该项适合)。如果它不适合在任何垃圾箱,将打开一个新的垃圾箱。
初始化:
给出了项目权重L= {q1,q2,…,qn}的列表。
将item1置于bin1中,从L. Letj=2、m=1中移除。
迭代:
https://stackoverflow.com/questions/12297791
复制相似问题