日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分支界限算法【0-1背包问题】按照优先队列式(LC)分支限界法求解0-1背包问题, 并给出限界函数,并画出该实例的状态空间树。

發(fā)布時間:2024/9/30 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分支界限算法【0-1背包问题】按照优先队列式(LC)分支限界法求解0-1背包问题, 并给出限界函数,并画出该实例的状态空间树。 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目? ?錄

回溯算法【0-1背包問題】

分支界限算法【0-1背包問題】

作業(yè)題(期末考試必考)

小結(jié)


回溯算法【0-1背包問題】

分支界限算法【0-1背包問題】

解決思路:采用優(yōu)先隊列式分支限界

? 確定目標(biāo)函數(shù)上、下界; ? 確定目標(biāo)函數(shù)的計算方法;

一般情況下,假設(shè)當(dāng)前已對前i個物品進(jìn)行了某種特定的選擇,且背包中已裝入物品的重量是w,獲得的價值是v,計算該結(jié)點的目標(biāo)函數(shù)上界的一個簡單方法是,將背包中剩余容量全部裝入第i+1個物品,并可以將背包裝滿,于是,得到限界函數(shù):

? 上計算從根結(jié)點到葉子結(jié)點的目標(biāo)函數(shù)值直到PT(待處理活結(jié)點列表)中取得極大值

分支限界法求解0/1背包問題算法用偽代碼描述如下

算法7.1:分枝限界法求解0/1背包問題

輸入:n個物品的重量w[n],價值v[n],背包容量W

輸出:背包獲得的最大價值和裝入背包的物品

1. 根據(jù)限界函數(shù)計算目標(biāo)函數(shù)的上界up;采用貪心法得到下界down

2. 計算根結(jié)點的目標(biāo)函數(shù)值并加入待處理結(jié)點表PT

3. 循環(huán)直到某個葉子結(jié)點的目標(biāo)函數(shù)值在表PT中取極大值

?? 3.1? i = PT中具有最大值的結(jié)點;

?? 3.2 對結(jié)點i的每個孩子結(jié)點x執(zhí)行下列操作:

???????? 3.2.1 如果結(jié)點x不滿足約束條件,則丟棄該結(jié)點;

???????? 3.2.2 否則,估算結(jié)點x的目標(biāo)函數(shù)值lb

????????????????? 將結(jié)點x加入表PT中;

4. 將葉子結(jié)點對應(yīng)的最優(yōu)值輸出,回溯求得最優(yōu)解的各個分量。

作業(yè)題(期末考試必考)

按照優(yōu)先隊列式(LC)分支限界法求解0-1背包問題, 并給出限界函數(shù),并畫出該實例的狀態(tài)空間樹

老師講解此題的板書:

博主課堂筆記(僅供參考):

背包容量下界的計算:

背包容量W=16。
①放入物品1(w1=10;v1=100)和物品4(w4=4;v4=12),背包物品總重量w=14,v=112
②放入物品2(w1=? 7;v1=63? )和物品4(w4=4;v4=12),背包物品總重量w=11,v= 75
③放入物品3(w1=? 8;v1=56? )和物品4(w4=4;v4=12),背包物品總重量w=12,v= 68
下界取最大值,即下界w=112。

小結(jié)

回溯算法和分支限界算法在最壞情況下需要遍歷所有的節(jié)點,因此其最壞的算法時間效率也是指數(shù)級的。

總結(jié)

以上是生活随笔為你收集整理的分支界限算法【0-1背包问题】按照优先队列式(LC)分支限界法求解0-1背包问题, 并给出限界函数,并画出该实例的状态空间树。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。