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

演算法第五章上機實驗報告

演算法第五章上機實驗報告

計科2001 劉千愉 20201003146

一、請用回溯法的方法分析“最小重量機器設計問題”

由於題目已經給出總價格的上限,因此演算法通過使用回溯來選擇合適的機器使得在總價格不超過d時得到的機器重量最小。首先初始化當前價格tc=0,當前重量tw=0,此外,還要設定一個變數minw表示選擇機器的總重量,初始化其為每個部件從1號供應商購買的重量。在迴圈選擇i號機器時,判斷從j號供應商購買機器後的價格是否大於總價格,如果不大於則選擇,繼續選擇下一供應商進行判斷,否則不選。在得到一個合適的供應商後,繼續選擇下一機器的供應商,從第一個選到最後一個供應商。當所有機器選擇結束後,判斷得到的總重量是否比之前的minw小,如果小就賦給minw,然後從這一步開始,回溯到上一機器,選擇下一合適供應商,繼續搜尋可行解,直到將整個排列樹搜尋完畢。這樣,最終得到的minw即為最優解。

二、“最小重量機器設計問題"的解空間

解空間為總價格不超過d的所有可行總重量和對應供應商的集合

三、 “最小重量機器設計問題"的解空間樹

解空間樹為總價格不超過d的可行總重量和對應供應商的樹

四、在遍歷解空間樹的過程中,每個結點的狀態值

每個節點的狀態值=其父節點的狀態值+該節點的狀態值

五、對回溯演算法的理解

有序的進行深度遍歷,同時更新節點狀態以查找出最優方案。要明確每個節點的狀態值是由什麼決定,並在遍歷至葉子節點後返回至上一節點(即回溯),也要將更新過的狀態值再次恢復,才能繼續進行遍歷