資料介紹
裝箱問(wèn)題是NP問(wèn)題。該文對(duì)裝箱問(wèn)題的BF算法進(jìn)行了分析,用Visual C++實(shí)現(xiàn)該算法。
NP問(wèn)題有好多個(gè),裝箱問(wèn)題是其中一個(gè)。設(shè)有體積分別為T1 ,T2 , T3 ,…… Tn的m種貨品要裝容量為c 的箱子里。采用不同裝箱方法所需的箱子數(shù)可能不同[1] 。要解決的問(wèn)題是如何使用最少的箱子數(shù)將這 m 種貨品裝進(jìn)去。裝箱問(wèn)題是 NP 問(wèn)題,這是不容易得到一個(gè)最佳的解決方案,為了比較快速得到滿意解,近似算法經(jīng)常被使用。常見(jiàn)的算法[2] :NF(Next Fit)近似算法,BF(Best Fit)算法,BFD(Best Fit Deceasing)算法,F(xiàn)F(First Fit)近似算法,F(xiàn)FD(First Fit Decreasing)近似算法等。
下次適應(yīng)算法NF(Next Fit):最簡(jiǎn)單也是最早研究的算法是 NF算法。它的特點(diǎn)是至始至終保持一個(gè)當(dāng)前打開(kāi)的箱子,在要將貨品裝入到箱子時(shí),查看這個(gè)貨品能不能裝入到當(dāng)前打開(kāi)的箱子,如果可以則裝入。如果沒(méi)有辦法裝進(jìn)去,就新打開(kāi)一個(gè)空的箱子作為當(dāng)前的箱子,將貨品裝入。這個(gè)算法裝箱的效率不高,原因是只有現(xiàn)在打開(kāi)的箱子和空的箱可以作為選擇裝入貨品。最佳適應(yīng)算法BF(Best Fit):在裝入貨品時(shí)裝入到最合適這個(gè)貨品的箱子里,這個(gè)箱子不是第一個(gè)可裝的箱子,而是最合適的。當(dāng)沒(méi)有適合該物體的箱子時(shí),打開(kāi)一個(gè)空箱子。降序最佳適應(yīng)算法BFD(Best Fit Deceasing):是按照BF(Best Fit)算法進(jìn)行裝箱,不過(guò)該算法會(huì)先對(duì)貨品按容量從大到小進(jìn)行排序。首次適應(yīng)算法FF(First Fit):和下次適應(yīng)算法的不同,F(xiàn)F算法要先檢查所有非空的箱子,如果第一個(gè)非空箱子能放進(jìn)去該貨品則放入,沒(méi)辦法放入的話再檢查第二個(gè)非空箱子,以此類推;如果沒(méi)有合適的箱子,就打開(kāi)一個(gè)空的箱子。降序首次適應(yīng)算法 FFD(First Fit Decreasing):是按照 FF (First Fit)算法進(jìn)行裝入箱子,不同之處會(huì)對(duì)先對(duì)貨品按容量從大到小進(jìn)行排序。一些學(xué)者提出了最佳適應(yīng)算法和首次適應(yīng)算法的改進(jìn)算法。我們觀察首次適應(yīng)算法和最佳適應(yīng)算法,貨品是隨機(jī)的沒(méi)有降序排列,會(huì)發(fā)生容量大的排列,裝不進(jìn)去,原因是可能先裝了小的貨品,只能再開(kāi)啟新的箱子,使空間的沒(méi)有充分利用。
Best Fit 的基本思想是:n 種貨品依次放入箱子,將貨品i 裝入箱子j應(yīng)滿足 c - cj- vi= min {c- ck- vi} c- ck-vi》=0,即選取第j號(hào)箱子,使得裝入貨品i后所留空隙最小,其中ck表示已裝入第k號(hào)箱子的貨品的體積 。把每個(gè)貨品的與箱子的容量的差值存在鏈表數(shù)組里,(鏈表的結(jié)點(diǎn)存放貨品的號(hào)碼)插入每一個(gè)貨品時(shí)就可以直接先找到與之容量相同的箱子和可以與之同放一個(gè)箱子的貨品號(hào)碼,并把那箱子刪掉;若容量相同的箱子沒(méi)有剩,就找比它大的箱子,把原結(jié)點(diǎn)刪掉,并把還有空間剩下的箱子插入的相應(yīng)的鏈表里;若已經(jīng)沒(méi)有比它大的箱子,就開(kāi)辟新的箱子。
- Visual C++和MFC創(chuàng)建的應(yīng)用程序基礎(chǔ)知識(shí) 0次下載
- 如何使用Visual C++和OpenGL設(shè)計(jì)實(shí)現(xiàn)雷達(dá)顯示系統(tǒng) 13次下載
- visual C++編程詞典應(yīng)用程序免費(fèi)下載 27次下載
- Visual C++教程之C++的語(yǔ)言資料概述免費(fèi)下載 3次下載
- Visual C++教程之C++的基礎(chǔ)知識(shí)介紹 9次下載
- VISUAL C++教程之VISUAL C++的安裝和使用方法 19次下載
- 《Visual C++游戲編程基礎(chǔ)》電子書(shū).pdf 0次下載
- Visual C++ 6.0上機(jī)指導(dǎo) 0次下載
- C++程序在Visual_C++6.0編譯系統(tǒng)中的實(shí)現(xiàn) 1次下載
- Visual C++編程入門視頻 6次下載
- Visual C++編程技術(shù)文檔 0次下載
- 基于Visual C++電路測(cè)試界面設(shè)計(jì)
- Visual C++ 6.0 高級(jí)編程 -下載 0次下載
- VISUAL C++ MFC編程實(shí)例 0次下載
- Visual C++ 6 24學(xué)時(shí)學(xué)習(xí)教程
- C++中實(shí)現(xiàn)類似instanceof的方法 631次閱讀
- vb語(yǔ)言和c++語(yǔ)言的區(qū)別 2431次閱讀
- C++簡(jiǎn)史:C++是如何開(kāi)始的 637次閱讀
- C語(yǔ)言和C++中那些不同的地方 985次閱讀
- 用OpenVINO? C++ API編寫YOLOv8-Seg實(shí)例分割模型推理程序 1666次閱讀
- C與C++混合編程是什么 1744次閱讀
- C++多文件寫法輕松實(shí)現(xiàn)練手小游戲:貪吃蛇! 2379次閱讀
- 基于OpenHarmony開(kāi)發(fā)板上測(cè)試Native C++應(yīng)用開(kāi)發(fā) 4029次閱讀
- C++語(yǔ)言的發(fā)展 617次閱讀
- C/C++基礎(chǔ)知識(shí)匯總 2437次閱讀
- 如何使用C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容的string 2033次閱讀
- C++:引用的使用場(chǎng)景 4092次閱讀
- C++封裝:this指針 3492次閱讀
- 詳談C++特性:多態(tài)的概念分類和實(shí)現(xiàn)原理 2092次閱讀
- 根據(jù)WebSocket協(xié)議完全使用C++實(shí)現(xiàn)函數(shù) 4944次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多