貨郎擔(dān)問題的實現(xiàn)

貨郎擔(dān)問題的實現(xiàn)

ID:14126099

大?。?8.50 KB

頁數(shù):3頁

時間:2018-07-26

貨郎擔(dān)問題的實現(xiàn)_第1頁
貨郎擔(dān)問題的實現(xiàn)_第2頁
貨郎擔(dān)問題的實現(xiàn)_第3頁
資源描述:

《貨郎擔(dān)問題的實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、貨郎擔(dān)問題的實現(xiàn)上機實踐要求:題目:在計算機上求解貨郎擔(dān)問題和哈密頓圖判定問題,并分析算法性能要求:1以文件方式輸入問題,你的程序首先讀入該文件,并將結(jié)果保存在你的程序采用的數(shù)據(jù)結(jié)構(gòu)中。通過編輯或者修改文件,可以改變輸入的問題。2語言不限3提交實驗報告。報告應(yīng)該包括以下內(nèi)容:a)題目b)算法c)運行情況d)測試算法性能或者改善算法性能的嘗試、分析、結(jié)果e)認(rèn)識與體會f)程序一、題目:利用分枝限界法求解貨郎擔(dān)問題二、算法:給定一個圖的代價矩陣,例如下圖,找出有最小代價的周游路線。確定解的表示形式:(X1,X2,…,Xn),各頂點分別編號1,2,…,n,Xi表

2、示第i步經(jīng)過的頂點號?!?54031275∞1730251915∞6195024∞6228710∞三、算法:ProcedureTS_reduced_matrix_LCBBBegin1輸入代價矩陣A[aij]把矩陣A歸約成A1,設(shè)約數(shù)為r1U:=∞E:=1,X:=1^C(1):=r1L:=ΦCurrentcity(1):=1Citytrveled(1):=1While^C(E)屬于AE則beginADD(X+1)

3、;X:=X+1;parent(X):=E;currentcity(X):=jCitytraveled(X):=Citytraveled(E)∪{j}endAx:=AE把Ax的I行j列以及Ax(j,i)置成無窮大歸約Ax,得到約數(shù)rx^C(X):=^C(E)+AE((I,j))+rxend3如果L非空thenbegin4E:=Least(L)如果

4、

5、Citytraveled(E)

6、

7、=n且(currentcity(E),1)屬于AEthenbegin5ans:=E;U:=min{U,rE+AE(currentcity(E),1)}end5對活節(jié)點表中所有節(jié)點

8、,如越界則刪除end4else^C(E):=無窮大end2輸出U輸出Citytraveled(ans)end1四、三、運行情況運行環(huán)境:PII800256MB內(nèi)存。節(jié)點較少的情況下運行速度很快。五、結(jié)果正確。輸出的回路為:1、2、3、5、4、1測試算法性能或者改善算法性能的嘗試、分析、結(jié)果通過在原圖代價矩陣上增加結(jié)點的方法來測試算法性能,當(dāng)結(jié)點數(shù)N=5時運行速度很快在1秒以內(nèi),當(dāng)N=40時,約需5秒。開始我在找代價最小的活結(jié)點,只考察了它們的代價,后來發(fā)現(xiàn)當(dāng)有多個具有相同最小代價的節(jié)點存在時,它們會依次都被展開。這樣導(dǎo)致活節(jié)點表的長度增長非???,為了避免這

9、種情況,我又增加了一個條件:找那些已經(jīng)使用節(jié)點數(shù)目最多的活節(jié)點。這樣不僅使速度加快同時也使得活節(jié)點表的長度不會增長得太長。這里還有一個問題:我使用的活節(jié)點表的長度定為node*node或node*node*node。不知道到底是否合適,雖然目前還沒有發(fā)現(xiàn)任何問題。內(nèi)存使用我采用動態(tài)申請,但沒有及時釋放,這只有通過關(guān)閉程序來釋放了。六、認(rèn)識與體會由于分枝限界法的時間復(fù)雜性在最壞情況下是O(n22n),由實驗結(jié)果知,當(dāng)N增大時,所需運行時間增加很快。在這種解決NP問題的程序中,我認(rèn)為設(shè)計一種合適的算法與如何合理利用計算機資源同樣非常重要。七、程序

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。