最短路徑流程圖及算法詳解_第1頁
最短路徑流程圖及算法詳解_第2頁
最短路徑流程圖及算法詳解_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.:算法的設(shè)計思想本算法采用分支定界算法實現(xiàn)。構(gòu)造解空間樹為:第一個城市為根結(jié)點,與第一個城市相鄰的城市為根節(jié)點的第一層子節(jié)點,依此類推;每個父節(jié)點的子節(jié)點均是和它相鄰的城市; 并且從第一個根節(jié)點到當前節(jié)點的路徑上不能出現(xiàn)重復(fù)的城市。本算法將具有最佳路線下界的節(jié)點作為最有希望的節(jié)點來展開解空間樹, 用優(yōu)先隊列實現(xiàn)。算法的流程如下: 從第一個城市出發(fā), 找出和它相鄰的所有城市,計算它們的路線下界和費用, 若路線下界或費用不滿足要求, 將該節(jié)點代表的子樹剪去,否則將它們保存到優(yōu)先隊列中, 并選擇具有最短路線下界的節(jié)點作為最有希望的節(jié)點, 并保證路徑上沒有回路。 當找到一個可行解時, 就和以前的可行

2、解比較,選擇一個較小的解作為當前的較優(yōu)解, 當優(yōu)先隊列為空時, 當前的較優(yōu)解就是最優(yōu)解。算法中首先用 Dijkstra 算法算出所有點到代表乙城市的點的最短距離。算法采用的下界一個是關(guān)于路徑長度的下界, 它的值為從甲城市到當前城市的路線的長度與用 Dijkstra 算法算出的當前城市到乙城市的最短路線長度的和;另一個是總耗費要小于 1500。偽代碼算法AlgBB()讀文件 m1 和 m2 中的數(shù)據(jù)到矩陣length 和 cost 中Dijkstra(length)Dijkstra(cost)whiletruedofor i 1 to 50 do/ 選擇和 node 節(jié)點相鄰的城市節(jié)點ifsho

3、rtestlength>optimal or mincost>1500pruningelseif i 50optimal=min(optimal,tmpopt)/選當前可行解和最優(yōu)解的較小值做最優(yōu)解elseif looped/ 如果出現(xiàn)回路pruning/ 剪枝else將城市 i 插入到優(yōu)先隊列中end forwhile true doif優(yōu)先隊列為空輸出結(jié)果else取優(yōu)先隊列中的最小節(jié)點if這個最小節(jié)點node 的路徑下界大于當前的較優(yōu)解continue.end whileend while算法流程圖利用 Dijkstra算法算出各城市到乙城市的最短路徑以及最小耗費選擇頭節(jié)點將節(jié)點放入優(yōu)先隊列分析當前的下Y界, 得出程序結(jié)隊列為空 ?果, 并返回 .N從優(yōu)先隊列中取出當前最優(yōu)元素并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論