版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
給定n種物品和一個背包,物品i的重量是wi,其價值為vi,背包的容量為C。背包問題是如何選擇裝入背包的物品,使得裝入背包中物品的總價值最大?如果在選擇裝入背包的物品時,對每種物品i只有兩種選擇:裝入背包或不裝入背包,即不能將物品i裝入背包多次,也不能只裝入物品i的一部分,則稱為0-1背包問題。3.100-1背包問題3.100-1背包問題考慮有三種物品,它們的重量為(w1,w2,w3)=(2,3,4),
價值為(v1,v2,v3)=(1,2,5),當(dāng)背包容量為c=6時,如何裝背包總價值最大??{x1,x2,x3}={1,0,1}v1*x1+v2*x2+v3*x3=6{x1,x2,x3}={0,0,0}{0,0,1}{0,1,0}{1,0,0}{1,0,1}{1,1,0}常規(guī)方法:枚舉
在0-1背包問題中,物品i或者被裝入背包,或者不被裝入背包,設(shè)xi表示物品i裝入背包的情況,則當(dāng)xi=0時,表示物品i沒有被裝入背包,xi=1時,表示物品i被裝入背包。根據(jù)問題的要求,有如下約束條件和目標函數(shù):(式1)(式2)問題歸結(jié)為尋找一個滿足約束條件式1,并使目標函數(shù)式2達到最大的解向量X=(x1,x2,…,xn)。3.100-1背包問題設(shè)(x1,x2,…,xn)是所給0-1背包問題的一個最優(yōu)解,則(x2,…,xn)是下面一個子問題的最優(yōu)解:如若不然,設(shè)(y2,…,yn)是上述子問題的一個最優(yōu)解,則,且。因此,,這說明(x1,y2,…,yn)是所給0-1背包問題比(x1,x2,…,xn)更優(yōu)的解,從而導(dǎo)致矛盾。背包問題的最優(yōu)子結(jié)構(gòu)性質(zhì)設(shè)背包問題子問題的最優(yōu)值為m(i,j),即m(i,j)是背包容量為j,可選擇物品為i,i+1,…,n時的最優(yōu)值。當(dāng)選擇第i個物品時,。
如果不選擇第i個物品,則。由背包問題的最優(yōu)子結(jié)構(gòu)性質(zhì),我們可以建立計算m(i,j)的遞歸式如下:m(i,j)=m(i+1,j-wi)+vim(i,j)=m(i+1,j)背包問題的遞歸關(guān)系背包問題算法描述voidKnapsack(Typev,intw,intc,intn,Type**m){intjMax=min(w[n]-1,c)//背包剩余容量//for(intj=0;j<=jMax;j++)//背包不同剩余容量jjMax<c//m[n][j]=0;for(intj=w[n];j<=c;j++)//背包不同剩余容量j>c//m[n][j]=v[n];for(inti=n-1;i>1;i--){jMax=min(w[i]-1,c);for(intj=0;j<=jMax;j++)//背包不同剩余容量j
jMax<c//m[i][j]=m[i+1][j];//沒產(chǎn)生任何效益//for(intj=w[i];j<=c;j++)//背包不同剩余容量j-wi
>c//m[i][j]=max(m[i+1][j],m[i+1][j-w[i]]+v[i]);
}m[1][c]=m[2][c];if(c>=w[1])m[1][c]=max(m[1][c],m[2][c-w[1]]+v[1]);}voidTraceback(Type**m,intw,intc,intn,intx){for(inti=1;i<n;i++)if(m[i][c]==m[i+1][c])x[i]=0;else{x[i]=1;c=c-w[i];}x[n]=(m[n][c])?1:0;}背包問題算法描述算法復(fù)雜度分析:從m(i,j)的遞歸式容易看出,算法Knapsack需要O(nc)計算時間;Traceback需O(n)計算時間;算法總體需要O(nc)計算時間。當(dāng)背包容量c很大時,算法需要的計算時間較多。例如,當(dāng)c>2n時,算法需要Ω(n2n)計算時間。例:四個物品,背包容積為5,w[4]={2,1,3,2},v[4]={12,10,20,15},求最大價值m[1][c]及選取的物品編號4321432105000001015151515151520203535302537ijx4X3X2X11m[1][5]>m[2][5]所以物品1被選c–w[1]=3,查看m[2][3]>m[3][3]1j–w[2]=2,查看m[3][2]=m[4][2]0查看m[4][2]>01一個簡單的例子m[1][5]<>m[2][5]4321432105000001010151515151520203535302537ij構(gòu)造最優(yōu)解x[1]=1c=5-w[1]=3m[2][3]<>m[3][3]x[2]=1c=3-w[2]=2m[3][2]=m[4][2]x[3]=0c=2m[4][2]<>0x[4]=10-1背包問題可以看作是決策一個序列(x1,x2,…,xn),對任一變量xi的決策是決定xi=1還是xi=0。在對xi-1決策后,已確定了(x1,…,xi-1),在決策xi時,問題處于下列兩種狀態(tài)之一:a.背包容量不足以裝入物品i,則xi=0背包不增加價值;b.背包容量可以裝入物品i,則xi=1背包的價值增加了vi。這兩種情況下背包價值的最大者應(yīng)該是對xi決策后的背包價值。背包問題解法二令m(i,j)表示在前i(1≤i≤n)個物品中能夠裝入容量為j(1≤j≤C)的背包中的物品的最大值,則可以得到如下動態(tài)規(guī)劃函數(shù):
m(i,0)=
m(0,j)=0(式3)式3表明:把前面i個物品裝入容量為0的背包和把0個物品裝入容量為j的背包,得到的價值均為0。背包問題解法二式4的第一個式子表明:如果第i個物品的重量大于背包的容量,則裝入前i個物品得到的最大價值和裝入前i-1個物品得到的最大價值是相同的,即物品i不能裝入背包。(式4)背包問題解法二第二個式子表明:如果第i個物品的重量小于背包的容量,則會有以下兩種情況:(1)如果把第i個物品裝入背包,則背包中物品的價值等于把前i-1個物品裝入容量為j-wi的背包中的價值加上第i個物品的價值vi;(2)如果第i個物品沒有裝入背包,則背包中物品的價值就等于把前i-1個物品裝入容量為j的背包中所取得的價值。顯然,取二者中價值較大者作為把前i個物品裝入容量為j的背包中的最優(yōu)解。(式4)背包問題解法二第一階段,只裝入前1個物品,確定在各種情況下的背包能夠得到的最大價值;第二階段,只裝入前2個物品,確定在各種情況下的背包能夠得到的最大價值;依此類推,直到第n個階段。最后,m(n,C)便是在容量為C的背包中裝入n個物品時取得的最大價值。為了確定裝入背包的具體物品,從m(n,C)的值向前推,如果m(n,C)>m(n-1,C),表明第n個物品被裝入背包,前n-1個物品被裝入容量為C-wn的背包中;否則,第n個物品沒有被裝入背包,前n-1個物品被裝入容量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老服務(wù)課件教學(xué)課件
- 住宅培訓(xùn)課件教學(xué)課件
- 2024年度無人機研發(fā)與制造勞務(wù)分包合同
- 2024年度亞馬遜FBA服務(wù)費用結(jié)算合同
- 2024年勞動合同提前終止協(xié)議
- 2024年工程環(huán)境健康協(xié)議
- 2024年度大數(shù)據(jù)分析與服務(wù)合同標的詳細描述
- 2024年建筑工程招標文件編制與合同條款設(shè)定
- 2024年大型風(fēng)力發(fā)電機組生產(chǎn)與銷售合同
- 04年百花廣場物業(yè)服務(wù)監(jiān)督合同
- 憲法是根本法教案-2.憲法是根本法-六年級上冊道德與法治(新版)
- 商家入駐進場協(xié)議書范本
- 爭做“四有好老師”-當(dāng)好“四個引路人”
- 4.19北朝政治和北方民族大交融 課件-2024-2025學(xué)年統(tǒng)編版(2024)七年級歷史上冊
- 機動車商業(yè)保險條款(2020版)
- 2024年江西省“振興杯”職業(yè)技能品酒師競賽考試題庫(含答案)
- DL∕T 1764-2017 電力用戶有序用電價值評估技術(shù)導(dǎo)則
- 四年級上冊英語教案-UNIT FOUR REVISION lesson 14 北京版
- YDT 4565-2023物聯(lián)網(wǎng)安全態(tài)勢感知技術(shù)要求
- 幼兒園故事繪本《賣火柴的小女孩兒》課件
- 【工商企業(yè)管理專業(yè)實操實訓(xùn)報告2600字(論文)】
評論
0/150
提交評論