装箱问题matlab
综合实验报告
一、实验名称
装箱问题
二、 实验目的
掌握装箱问题的近似解法:NF算法、FF算法;FFD算法;熟悉这些算法的程序编写.
三、 实验要求
(1)利用NF算法,FF算法,FFD算法,CF算法求解装箱问题,熟悉这些算法的程序编写;
(2)选择一种计算机语言设计或利用Matlab软件作为辅助工具来实现该实验。
四、 实验原理
NF算法:
按照物体给定的顺序装箱:把物品放到它第一个能放进去的箱子中。是具有最大下标的使用过的箱子,若的长度不大于的剩余长度,则把放入,否则把放入一个新的箱子,且在以后的装箱中不再使用。最后循环
FF算法:
按照物体给定的顺序装箱:把物品放到第一个箱子中。是当前已经使用过的箱子,在这些箱子中找一个长度不小于且下标最小的箱子,将放入,如果不存在这样的箱子,则另开一个新箱子 , 将放入中 。
FFD算法:
先将物体按长度从大到小排序,然后按FF算法对物体装箱. 不失一般性,对n件物品的体积按从大到小排好序,即有v1≥v2≥…≥vn,然后按排序结果对物品重新编号即可。
CF算法:
step1:把物件按其大小进行非增序排列,不妨设 。
step2:首先把放入箱子中,然后从最右端开始,依次把物件放入,直到下一个物件不能再放入箱子为止,开启新的箱子。
step3:设在第i 步循环时,打开第i 个箱子,此时把物件放入中. 假