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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/30 编程问答 33 豆豆

目? ?錄

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

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

作業題(期末考試必考)

小結


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

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

解決思路:采用優先隊列式分支限界

? 確定目標函數上、下界; ? 確定目標函數的計算方法;

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

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

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

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

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

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

1. 根據限界函數計算目標函數的上界up;采用貪心法得到下界down

2. 計算根結點的目標函數值并加入待處理結點表PT

3. 循環直到某個葉子結點的目標函數值在表PT中取極大值

?? 3.1? i = PT中具有最大值的結點;

?? 3.2 對結點i的每個孩子結點x執行下列操作:

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

???????? 3.2.2 否則,估算結點x的目標函數值lb

????????????????? 將結點x加入表PT中;

4. 將葉子結點對應的最優值輸出,回溯求得最優解的各個分量。

作業題(期末考試必考)

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

老師講解此題的板書:

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

背包容量下界的計算:

背包容量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。

小結

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。