




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗四 回溯算法和分支限界法0-1背包問題一、實驗目的:1、掌握0-1背包問題的回溯算法;2、進一步掌握回溯算法。二、實驗內容給定n和物品和一人背包,物品i的重量是wi,其價值為vi,問如何選擇裝入背包的物品,使得裝入背包的物品的總價值最大?三、實驗步驟1、代碼/ HS_ALG.cpp : Defines the entry point for the console application./#include #include using namespace std;/ 物體結構體typedef structfloat w; /物品重量float p; /物品價值float v; /背包體積
2、int id; /物品個數OBJECT;bool cmp(OBJECT a, OBJECT b /比較兩物品體積return a.v>b.v;float knapsack_back(OBJECT ob, float M, int n, bool x /回溯法int i,k;float w_cur, p_total, p_cur, w_est, p_est;bool *y = new booln+1;/ 計算物體的價值重量比for(i=0; i<=n; i+obi.v = obi.p/obi.w;yi = false;/ 按照物體的價值重量比降序排列sort(ob, ob+n, cm
3、p;/ 初始化當前背包中的價值、重量w_cur = p_cur = p_total = 0;/ 已搜索的可能解的總價值初始化k = 0;while(k>=0w_est = w_cur; p_est = p_cur;/ 沿當前分支可能取得的最大價值for( i=k; i w_est += obi.w;if(w_est p_est += obi.p;elsep_est += (M-w_est+obi.w/obi.w*obi.p;break;/ 估計值大于上界if(p_est>p_totalfor(i=k; i if(w_cur+obi.w<=M/ 可裝入第i個物體w_cur =
4、w_cur + obi.w;p_cur = p_cur + obi.p;yi = true;else/ 不能裝入第i個物體yi = false;break;if(i>=n/ n個物體已經全部裝入if(p_cur>p_total/ 更新當前上限p_total = p_cur;k = n;/ 保存可能的解for(i=0; i xi = yi;else/ 繼續裝入物體k = i+1;else/ 估計值小于上界時while(i>=0&&(!yii-; / 沿著右分支結點方向回溯直到左分支結點if(i<0break; / 到達根結點 算法結束else / 修改當前
5、值w_cur -= obi.w;p_cur -= obi.p;yi = false;k = i+1; / 搜索右分支子樹/delete y;return p_total;int main(int n;float m;cout<<"請輸入背包載重:"cin>>m;cout<<"請輸入物品個數:"cin>>n;OBJECT* ob = new OBJECTn;cout<<"請輸入物品的重量、價格:"< for(int i=0; i cin>>obi.w>>obi.p;obi.id = i+1;bool* x = new booln;float v = knapsack_back(ob, m, n, x;cout<<"最優方案:"< for(int i=0; i if(xicout<<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同的范本集合3篇
- 二手車買賣合同書示例3篇
- 建筑木方采購合同
- 園林工程施工勞務合同
- 新能源車輛銷售合同附加條款
- 2025股東之間的股權轉讓合同范本
- 2025標準個人售房合同協議書
- 2025跨國服務貿易合同規范
- 2025存量房買賣的合同樣本
- 2025天津市經濟適用住房買賣合同
- 2025年安徽蕪湖市陽光電力維修工程有限責任公司招聘筆試參考題庫附帶答案詳解
- 人教版英語七年級下冊知識講義Unit 1 section A (教師版)
- 快開門式壓力容器操作人員培訓
- 2024-2025學年統編版語文八年級上冊期末易錯題:現代文閱讀(記敘文)(含答案)
- 手術分級管理制度
- 2025年江蘇宿遷經濟技術開發區人力資源有限公司招聘筆試參考題庫附帶答案詳解
- 2025-2030年中國聚氨酯產業市場風險評估規劃研究報告
- 學校食堂每日食品安全檢查記錄臺賬(日管控)
- 2025年四川三新供電服務公司招聘筆試參考題庫含答案解析
- 《ERP總體介紹》課件
- 企業利他培訓
評論
0/150
提交評論