




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
簡(jiǎn)介問(wèn)題描述實(shí)現(xiàn)原理貪心性質(zhì)代碼實(shí)現(xiàn)致謝簡(jiǎn)介問(wèn)題描述1問(wèn)題描述有一批集裝箱要裝上一艘載重量為c的輪船。第i個(gè)集裝箱的重量為Wi。最優(yōu)裝載問(wèn)題要求在裝載體積不受限制的情況下,將盡可能多的集裝箱裝上輪船。
問(wèn)題描述有一批集裝箱要裝上一艘載重量為c的輪船。第i個(gè)集2問(wèn)題描述問(wèn)題可形式化描述為: 設(shè):
xi表示第i個(gè)集裝箱是否裝載,xi=0or1,i=1ton;
求:
Max(x1+x2+…+xn)
約束條件:
W1*x1+W2*x2+…+Wn*xn<=c
問(wèn)題描述問(wèn)題可形式化描述為:3實(shí)現(xiàn)原理每次選擇時(shí),從剩下的集裝箱中,選擇重量最小的集裝箱。通過(guò)這樣的選擇可以保證已經(jīng)選出來(lái)的集裝箱總重量最小,裝載的集裝箱數(shù)量最多,直到船只不能再繼續(xù)裝載為止。實(shí)現(xiàn)原理每次選擇時(shí),從剩下的集裝箱中,選擇重量最小的集裝箱。4證明考慮任意裝載容量為K的非空子問(wèn)題Sk,令am是Sk中重量最小的集裝箱,則am在Sk的某個(gè)集裝箱裝載數(shù)量最多且總重量最少的最優(yōu)子集中。 證明:令A(yù)k是Sk的一個(gè)最優(yōu)子集,且aj是Ak中重量最小的集裝箱。若aj=am,則證明am在Sk的某個(gè)最優(yōu)子集中。若aj≠am,則將Ak中的aj替換為am得到Ak’,am<=aj。由于|Ak’|=|Ak|,所以Ak’也是Sk的一個(gè)集裝箱裝載數(shù)量最多的的最優(yōu)子集,且它包含am。證明考慮任意裝載容量為K的非空子問(wèn)題Sk,令am是Sk中重量5貪心性質(zhì)通過(guò)上述證明我們可以知道,每次比較計(jì)算得到最小的集裝箱,它在最優(yōu)解中,選出來(lái)之后,對(duì)余下的集裝箱(子問(wèn)題)采取同樣的策略選取最輕的集裝箱,放入最優(yōu)解當(dāng)中,得到局部最優(yōu)解,這樣逐步縮小問(wèn)題規(guī)模即縮小剩余載重量。最終得到全局最優(yōu)解。貪心性質(zhì)通過(guò)上述證明我們可以知道,每次比較計(jì)算得到最小的集裝6代碼實(shí)現(xiàn)系統(tǒng)環(huán)境:Win7操作系統(tǒng)開(kāi)發(fā)平臺(tái):DEV-C++代碼實(shí)現(xiàn)系統(tǒng)環(huán)境:7代碼實(shí)現(xiàn)問(wèn)題實(shí)例假設(shè)集裝箱數(shù)量n=8,
八個(gè)集裝箱的重量是
[W0,W2,…,W7]=[100,200,50,90,150,50,20,80],
船只載重c=400。求該條件下的最優(yōu)裝載問(wèn)題。代碼實(shí)現(xiàn)問(wèn)題實(shí)例8代碼實(shí)現(xiàn)—數(shù)據(jù)結(jié)構(gòu)//集裝箱結(jié)構(gòu)體typedefstructbox{intweight;//重量
intindex;//初始序號(hào)};代碼實(shí)現(xiàn)—數(shù)據(jù)結(jié)構(gòu)9代碼實(shí)現(xiàn)//比較子函數(shù)intcmp(constvoid*a,constvoid*b){if(((structbox*)a)->weight>((structbox*)b)->weight)return1;elsereturn0;}//按集裝箱重量對(duì)集裝箱進(jìn)行快速排序qsort(boxes,8,sizeof(structbox),cmp);時(shí)間復(fù)雜度為O(n2)代碼實(shí)現(xiàn)//比較子函數(shù)10代碼實(shí)現(xiàn)//累加重量計(jì)算可裝載集裝箱數(shù)量maxLoad=500;countLoad=0;quantity=0;for(i=0;i<8;i++){//如果還能繼續(xù)裝載if(boxes[i].weight<=maxLoad-countLoad){countLoad=countLoad+boxes[i].weight;//計(jì)算最大裝載數(shù)量quantityquantity++;//獲取裝載標(biāo)記flag[boxes[i].index]=1;}}時(shí)間復(fù)雜度O(n)代碼實(shí)現(xiàn)//累加重量計(jì)算可裝載集裝箱數(shù)量11代碼實(shí)現(xiàn)編號(hào)為6,2,5,7,3,0的集裝箱總重量為390單位且已被裝載,剩余的裝載容量為10個(gè)單位,小于剩余任一集裝箱的重量。問(wèn)題結(jié)束。在這個(gè)貪心解決算法中通過(guò)flag數(shù)組中的結(jié)果可以得到
[x0,x1,…,x7]=[1,0,1,1,0,1,1,1],且∑xi=6,i=0to7總的時(shí)間復(fù)雜度為O(n2)+c*O(n),即O(n2)
([W0,W2,…,W7]=[100,200,50,90,150,50,20,80],船只載重c=400)代碼實(shí)現(xiàn)編號(hào)為6,2,5,7,3,0的集裝箱總重量為390單12代碼實(shí)現(xiàn)—截圖代碼實(shí)現(xiàn)—截圖13致謝感謝劉東林老師
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 彩鋼房基礎(chǔ)防水施工方案
- 裝配式預(yù)留預(yù)埋施工方案
- 玻璃鋼除塵凈化塔施工方案
- 合盛包裝科技(徐州)有限公司玻璃瓶包裝裝潢及配套件加工項(xiàng)目環(huán)境影響報(bào)告表
- 保亭縣大件垃圾及園林垃圾破碎分揀及建筑垃圾轉(zhuǎn)運(yùn)調(diào)配場(chǎng)項(xiàng)目環(huán)評(píng)報(bào)告表
- 超高速切削機(jī)床項(xiàng)目風(fēng)險(xiǎn)識(shí)別與評(píng)估綜合報(bào)告
- 陽(yáng)泉直埋式保溫管施工方案
- 場(chǎng)地平整及強(qiáng)夯施工方案
- 施工方案編制格式
- 湖北省黃岡市部分學(xué)校2024-2025學(xué)年九年級(jí)下學(xué)期入學(xué)化學(xué)試題(原卷版+解析版)
- 2025高考物理總復(fù)習(xí)電磁振蕩與電磁波
- YYT 0661-2017 外科植入物 半結(jié)晶型聚丙交酯聚合物和共聚物樹(shù)脂
- 施工機(jī)械檢查驗(yàn)收表(挖掘機(jī))
- JBT 14856-2023 高溫袋式除塵器 (正式版)
- 戶(hù)主變更協(xié)議書(shū)
- 2024年阜陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 《打草驚蛇》課件
- 圍手術(shù)期管理課件
- 蝦皮shopee新手賣(mài)家考試題庫(kù)及答案
- 公路隧道豎井施工技術(shù)規(guī)程(征求意見(jiàn)稿)
- 五年級(jí)口算1000題(打印版)
評(píng)論
0/150
提交評(píng)論