装箱(背包)问题(Packing Problem)

装箱问题也叫背包问题,简单来说,就是把小货物往大箱子里装,要如何才能装得多。个人常见的经历就是“装冰箱”,很有趣的现象就是常常感觉冰箱再也装不下了,但是经过一翻折腾之后又神奇的装下了。


从企业运作角度来看就是尽量让每个容器(仓库、车辆、集装箱、船等)装的尽量多,可以节约企业的费用。通常,装载率85%左右,使用装箱优化方法后,可以达到90~95%左右。海尔做过一个海运装箱的项目,节约了大量运费。日本的汽车企业也非常重视装箱问题,他们海运过来的汽车零件箱内几乎每个角落都会被填满,而且经常改进其装箱方案。


装箱问题是典型的NP难问题,一般使用启发式算法——贪婪算法、蚁群算法、禁忌搜索、遗传算法、NF(Next Fit)近似算法,FF(First Fit)近似算法、FFD(First Fit Decreasing)近似算法、BF(best Fit)、BFD(Best Fit Deceasing)等。


装箱问题可以分为一维、二维、三维、多维等。


一维装箱问题是最常见的,只考虑一个因素,比如重量、体积、长度等。问题描述:装箱问题可简述如下:设有

编号为1,2, …, n的n种物品,体积分别为v1v2, …,vn。将这n种物品装到容量都为V的若干箱子里。约定这n种物品的

体积均不超过V,即对于1≤in,有0<vi≤V。不同的装箱方案所需要的箱子数目可能不同。装箱问题要求使装尽这n种物品的箱子数要少。


二维装箱问题考虑两个因素——给定一张矩形的纸(布料、皮革),要求从这张纸上剪出给定的大小不一的形

状,求一种剪法使得剪出的废料的面积总和最小。常见问题包括堆场中考虑长和宽进行各功能区域划分、停车场区位

划分、包装材料裁切时考虑怎样裁切使得材料浪费最少、服装布料裁切、皮鞋制作中的皮革裁切等。


三维装箱问题考虑三个因素——一般指长、宽、高。装车、装船、装集装箱等要考虑这三个维度都不能超


多维装箱问题要考虑多个因素——比如既包括体积因素长、宽、高,又包括重量。

    原文作者:蚁群算法
    原文地址: https://blog.csdn.net/zuochao_2013/article/details/73293372
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞