![算法報告(背包)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/125cf056-2ec1-45e9-b0c0-3b37632bedb8/125cf056-2ec1-45e9-b0c0-3b37632bedb81.gif)
![算法報告(背包)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/125cf056-2ec1-45e9-b0c0-3b37632bedb8/125cf056-2ec1-45e9-b0c0-3b37632bedb82.gif)
![算法報告(背包)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/125cf056-2ec1-45e9-b0c0-3b37632bedb8/125cf056-2ec1-45e9-b0c0-3b37632bedb83.gif)
![算法報告(背包)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/125cf056-2ec1-45e9-b0c0-3b37632bedb8/125cf056-2ec1-45e9-b0c0-3b37632bedb84.gif)
![算法報告(背包)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/125cf056-2ec1-45e9-b0c0-3b37632bedb8/125cf056-2ec1-45e9-b0c0-3b37632bedb85.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、廣義背包問題廣義背包問題的描述如下:給定載重量為 M的背包和n種物品,每種物品有一定的重量和價值, 現(xiàn)在需要設(shè)計算法, 在不超過背包載 重量的前提下,巧妙選擇物品,使得裝入背包的物品的總價值最大化。規(guī)則是,每種物品均可裝入背包多次或不裝入 (但不能僅裝入物品的部分)。在討論廣義背包問題前應(yīng)該先討論最基礎(chǔ)的 01 背包問題。01 背包問題1 題目有N件物品和一個容量為V的背包。放入第i件物品耗費(fèi)的費(fèi)用 是 Wi(weight) ,得到的價值是 Ci(cost) 。求解將哪些物品裝入背包 可使價值總和最大。2 基本思路這是最基礎(chǔ)的背包問題,特點(diǎn)是:每種物品僅有一件,可以選擇 放或不放。用子問題定義
2、狀態(tài):即 Fi,v 表示前 i 件物品恰放入一個容量 為 v 的背包可以獲得的最大價值。則其狀態(tài)轉(zhuǎn)移方程便是:Fi,v=maxFi - 1,v,Fi- 1,v- Wi+Ci這個方程非常重要, 基本上所有跟背包相關(guān)的問題的方程都是由 它衍生出來的。所以有必要解釋一下: “將前 i 件物品放入容量為 v的背包中”這個子問題,若只考慮第 i 件物品的策略(放或不放) , 那么就可以轉(zhuǎn)化為一個只和前 i - 1 件物品相關(guān)的問題。 如果不放第 i件物品,那么問題就轉(zhuǎn)化為“前i- 1件物品放入容量為v的背包中”,價值為Fi - 1,v;如果放第i件物品,那么問題就轉(zhuǎn)化為“前i - 1件物品放入剩下的容量
3、為V- Wi的背包中”,此時能獲得的最大價值就是Fi - 1,v- Wi再加上通過放入第i件物品獲得的價值Ci。所以遞歸關(guān)系是:Fi,v=maxFi - 1,v,Fi- 1,v- Wi+Ci(v>=Wi)或 Fi,v=Fi-1,v(0=vvvWi)則容易理解邊界值為:Fi,0=F0,v=0;最優(yōu)解的函數(shù)從遞歸關(guān)系中也能得出Fi,v=Fi-1,v( 當(dāng)?shù)趇個物品不裝入)Fi,v>Fi-1,v( 當(dāng)?shù)趇個物品裝入)以上是有關(guān)01背包的討論,現(xiàn)在討論廣義背包的問題。廣義背包問題1問題描述:已知:有一個容量為V的背包和N件物品,第i件物品的重量是weighti,收益是 costi。條件:每
4、種物品都有無限件,能放多少就放多少。問題:在不超過背包容量的情況下,最多能獲得多少價值或收益舉例:物品個數(shù)N二3,背包容量為V = 5,則背包可以裝下的最大價值為40.如下圖:210物品三220物品一物品二3 "價值 52、基本思路(直接擴(kuò)展 01 背包的方程)由于本問題類似于 01背包問題,在 01背包問題中,物品要么取,要么不取,而在完全背包中,物品可以取 0件、取 1件、取 2 件.直到背包放不下位置。因此,可以直接在 01 背包的遞推式中擴(kuò)展得 到:Fiv: 表示前 i 件物品放入容量為 v 的容量中時的最大收益遞推式:Fiv = max(Fi - 1v,Fi - K * w
5、eighti + K *指此時背包容量 )Valuei); 其中 1 <= K * weighti <= v,(v/ 初始條件f0v = 0;fi0 = 0;Valuei 為第 i 件物品的價值;代碼:#include "stdafx.h"#include <iostream>#include <vector>#include <assert.h>#include <windows.h>#include <stdio.h>#include <windef.h>#include <ios
6、tream>#include <assert.h>using namespace std;/*fiv: 前 i 件物品放入背包容量為 v 的背包獲得的最大收益fiv = max(fi - 1v,fi - 1v - k * Wi + k * Vi,其中 1<=k<= v/Wi)邊界條件f0v = 0;fi0 = 0;*/const int N = 4;/四種物品const int V = 6;/背包的容積為 6int weightN + 1 = 0, 1, 2, 3 ,4;/四種物品的重量分別為 1,2,3,4int ValueN + 1 = 0, 5, 10, 1
7、5,25 ;/四種物品的價值分別為 5,10,20,25int fN + 1V + 1 = 0 ;/fiv初始化為零int Completeknapsack()/ 邊界條件for (int i = 0; i <= N; i+)fi0 = 0;for (int v = 0; v <= V; v+)f0v = 0;/ 遞推for (int i = 1; i <= N; i+)for (int v = 1; v <= V; v+)fiv = 0;int nCount = v / weighti;/背包最多能裝入的同種物品數(shù)量for (int k = 0; k <= nC
8、ount; k+)fiv = max(fiv, fi - 1v - k * weighti+ k * Valuei);/最優(yōu)值函數(shù)int mai n()cout << Comp letek nap sack() << en dl;/輸出system(” pause");/暫停return 1;矩陣圖如下:fiv第i件物品是否裝入,此時容量為v的背包的最大價值4560123000000001051015252530200101520303530001520253040000202530此程序運(yùn)行結(jié)果為35。復(fù)雜度分析:程序需要求解N*V個狀態(tài),每一個狀態(tài)需要的時間為 O(v/Weighti),所以總的復(fù)雜度為 O(NV*藝(V/Weighti)思考:完全背包問題有一個很簡單有效的優(yōu)化,是這樣的:若
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)生館經(jīng)營托管合同范本
- t型牌合同范本
- 2025年度教育類APP開發(fā)與運(yùn)營合同范本
- 2025年采原煤項(xiàng)目投資可行性研究分析報告
- 農(nóng)牧合同范本
- 2025年度新能源車輛設(shè)計與制造服務(wù)合同
- 2025年魚皮明膠市場分析報告
- 2025年度股東協(xié)議書合同范本:航空航天領(lǐng)域股權(quán)合作協(xié)議
- 2025年度建筑工程材料供應(yīng)合同范本及質(zhì)量保證
- 2025年度空運(yùn)出口貨物運(yùn)輸合同違約責(zé)任約定合同
- YC/T 295-2009卷煙制造過程能力測評導(dǎo)則
- GB/T 28193-2011表面活性劑中氯乙酸(鹽)殘留量的測定
- 仁愛英語八年級閱讀理解測試題和答案
- 山東省中考物理總復(fù)習(xí) 八上 第4講 光現(xiàn)象
- DB11∕T 1875-2021 市政工程施工安全操作規(guī)程
- 心肺康復(fù)完整版本課件
- 傳統(tǒng)節(jié)日春節(jié)英文介紹課件
- 質(zhì)量獎現(xiàn)場評審問題集錦精編版
- 裝配式結(jié)構(gòu)技術(shù)課程教學(xué)大綱
- 水資源論證報告
- 中藥提取車間生產(chǎn)設(shè)備風(fēng)險評估報告講解
評論
0/150
提交評論