1. 程式人生 > 其它 >演算法第五章實驗報告

演算法第五章實驗報告

7-2最小重量機器設計問題

1.請用回溯法的方法分析最小重量機器設計問題

通過使用回溯法給出總價格不超過d的最小重量機器設計,在第一個部件選擇每一個供應商時,若該供應商的價格大於總價,則不選,不大於則選擇;然後更新目前價格與重量的狀態值;再到下一個部件根據更新後的價格加本身選擇供應商的價格是否超出總價來選擇供應商;當一條分支的所有部件選擇完畢後,判斷選擇機器的總重量,是否小於記錄的最小重量,若是則將該值賦給最小重量並且從這一步開始回溯到上一機器選擇下一合適的供應商繼續搜尋可行解,直至搜尋完畢。

1.1說明最小重量機器設計問題"的解空間

解空間指總價格不超過d的不同部件供應商的集合。

1.2

說明最小重量機器設計問題"的解空間樹

由於每個部件可以從m個不同的供應商處購買,則該問題的解空間樹是一顆m叉樹,若是n個部件則該m叉樹有n層,除葉子結點外每個結點有m個分支代表選擇哪個供應商。

1.3在遍歷解空間樹的過程中,每個結點的狀態值是什麼

當前總價值和當前總重量。

2.你對回溯演算法的理解

回溯演算法就是按深度優先策略,從根節點出發搜尋解空間樹。

基本步驟包括:1.針對所給問題,定義問題的解空間;2.確定易於搜尋的解空間;3.以深度優先方式搜尋解空間,並在搜尋過程中用約束函式和限界函式避免無效搜尋。