![大二下運(yùn)籌學(xué)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/9f8d3bb6-465e-4451-a8c6-d7911228092a/9f8d3bb6-465e-4451-a8c6-d7911228092a1.gif)
![大二下運(yùn)籌學(xué)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/9f8d3bb6-465e-4451-a8c6-d7911228092a/9f8d3bb6-465e-4451-a8c6-d7911228092a2.gif)
![大二下運(yùn)籌學(xué)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/9f8d3bb6-465e-4451-a8c6-d7911228092a/9f8d3bb6-465e-4451-a8c6-d7911228092a3.gif)
![大二下運(yùn)籌學(xué)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/9f8d3bb6-465e-4451-a8c6-d7911228092a/9f8d3bb6-465e-4451-a8c6-d7911228092a4.gif)
![大二下運(yùn)籌學(xué)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/9f8d3bb6-465e-4451-a8c6-d7911228092a/9f8d3bb6-465e-4451-a8c6-d7911228092a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 第三節(jié) 最短路問題一、最短路問題的提出例 下圖為單行線交通網(wǎng),每弧旁的數(shù)字表示通過這條 線所需的費(fèi)用?,F(xiàn)在某人要從v1出發(fā),通過這個(gè)交 通網(wǎng)到v8去,求使總費(fèi)用最小的旅行路線。v2v523464v3v1v4v6121061210v8v9v72363v2v523464v3v1v4v6121061210v8v9v72363從v1到v8:P1=(v1,v2,v5,v8) 費(fèi)用 6+1+6=13P2=(v1,v3,v4, v6, v7, v8) 費(fèi)用 3+2+10+2+4=21P3= 從v1到v8的旅行路線 從v1到v8的路。旅行路線總費(fèi)用 路上所有弧權(quán)之和最短路問題中,不考慮有向環(huán)、并行弧。最短路
2、問題 給定有向網(wǎng)絡(luò)D=(V,A,W),任意弧aijA,有權(quán)w( aij )=wij,給定D中的兩個(gè)頂點(diǎn)vs,vt。設(shè)P是D中從vs到vt的一條路,定義路P的權(quán)(長度)是P中所有弧的權(quán)之和,記為w(P)。最短路問題就是要在所有從vs到vt的路中,求一條路P0 ,使w(P)min)w(PP0 稱P0是從vs到vt的最短路。路P0的權(quán)稱為從vs到vt的最短距離。記為Ust。二、Dijkstra算法 當(dāng)所有 時(shí),本算法是用來求給定點(diǎn)vs到任一個(gè)點(diǎn)vj最短路的公認(rèn)較好的一種方法。0wij事實(shí):如果P是D中從vs到vj的最短路,vi是P中的 一個(gè)點(diǎn),那么,從vs沿P到vi的路是從vs到 vi的最短路。即:
3、最短路的子路也是最短路。(反證法)思想:將D=(V,A,W)中vs到所有其它頂點(diǎn)的最短 路按其路長路長從小到大排列為:u0 u1 u2 unu0表示vs到自身的長度,而相應(yīng)最短路記為:P0,P1,P2,Pn, P1一定只有一條弧。路徑路徑思想:將D=(V,A,W)中vs到所有其它頂點(diǎn)的最短 路按其路長路長從小到大排列為:u0 u1 u2 unu0表示vs到自身的長度,而相應(yīng)最短路記為:P0,P1,P2,Pn, P1一定只有一條弧。 siXv100s0wminu , XVX ,vX0i則記取最小值的點(diǎn)為v1, P1=P(vs,v1)假定 u0,u1,uk的值已求出,對應(yīng)的最短路分別為P1=P(v
4、s,v1), P2=P(vs,v2), Pk=P(vs,vk)記kkk21skXVX , v,.,v,v,vX則)v,w(vuminuiiXvXv1kkki使上式達(dá)到最小值的點(diǎn)v 可取為Vk+1。計(jì)算過程中可采用標(biāo)號方法。 XK中的點(diǎn),ui值是vs到vi的最短路長度,相應(yīng)的點(diǎn)記“永久”標(biāo)號; XK中的點(diǎn),ui值是vs到vi的最短路長度的上界,相應(yīng)的點(diǎn)記“臨時(shí)”標(biāo)號,供進(jìn)一步計(jì)算使用。前點(diǎn)標(biāo)號 j: 表示點(diǎn)vs到vj的最短路上vj的前一點(diǎn)。如 j=m,表示vs到vj的最短路上vj前一點(diǎn)是vm。Dijkstra算法步驟:第1步:令us= 0,uj=wsj (1jn)若asjA,則令wsj=+ ,
5、X0=vs ,X0=VX0 ,K=0, j=s, (0 jn)第2步:(選永久標(biāo)號)在XK中選一點(diǎn)vi,滿足 jXviuminu Kj 如果ui=+ ,停止,從vs到XK中各點(diǎn)沒有路;否則,轉(zhuǎn)第3步。第3步:(給點(diǎn)vi永久性標(biāo)號) 步轉(zhuǎn)第否則求得到所有點(diǎn)的最短路已經(jīng)結(jié)束如果令4, ; v, ,X ,vXX , vXX s1kik1kik1kv2v523464v3v1v4v6121061210v8v9v72363第4步:(修改臨時(shí)標(biāo)號)令 j=i,uj=ui+wij,否則, j ,uj 不變,把k換成k+1,返回第2步。對所有 如果 , X v1kjjijiuwu 例 用Dijkstra算法求前
6、面例子中從v1到各點(diǎn)的最短路。解:u1=0,u2=6,u3=3,u4=1,u5=u6=u7=u8=u9=+ ,j=1 (j=2,3,9)X0=v1 ,X0=v2,v3,v9 點(diǎn)v4得永久標(biāo)號, 4=1 ,X1=v1,v4, X1=v2,v3, v5,v6 ,v7,v8 ,v9,K=0 minu2,u3,u4,u5,u6,u7,u8,u9 =min6,3,1, =1= u4 在所有vjX1中, u6= ,u4+w46=1+10=11, 即 u4+w46 u6 修改臨時(shí)標(biāo)號u6= 11 ,6=4 ,其余標(biāo)號不變。v2v523464v3v1v4v6121061210v8v9v72363K=0 +1=
7、1 minu2,u3,u5,u6,u7,u8,u9 =min6,3, 11, , =3= u3 點(diǎn)v3得永久標(biāo)號, 3=1 ,X2=v1,v4 ,v3, X2=v2, v5,v6 ,v7,v8 ,v9, u2= 6 ,u3+w32=3+2=5, 即 u3+w32 u2 修改臨時(shí)標(biāo)號u2= 5 ,2=3 ,其余標(biāo)號不變。在所有vjX2中, 點(diǎn)v2得永久標(biāo)號, 2=3 , X4=v1,v4 ,v3 ,v2, X4=v5 ,v6 ,v7,v8 ,v9,K=2 +1=3 minu2, u5,u6,u7,u8,u9 =min5, , 11, , =5= u2 u6= 11 ,u5+w56=6+4=10,
8、 即 u5+w56 u6 u7= ,u5+w57=6+3=9, 即 u5+w57 u7 u8= ,u5+w58=6+6=12, 即 u5+w58 u8 修改臨時(shí)標(biāo)號u6= 10 ,6=5 , u7=9 ,7=5 , u8= 12 ,8=5 ,在所有vjX4中,K=3 +1=4 minu6,u7,u8,u9 =min10,9,12, =9= u7 點(diǎn)v7得永久標(biāo)號, 7=5 ,X2=v1,v4 ,v3 , v2, v5,v7,X2=v6 ,v8 ,v9,在vjX5中,臨時(shí)標(biāo)號不變。K=4 +1=5 minu6,u8,u9=min10,12, =10= u6 點(diǎn)v6得永久標(biāo)號, 6=5 ,X6=v
9、1,v4 ,v3 , v2, v5,v7 ,v6,X6=v8 ,v9,點(diǎn)v8,v9臨時(shí)標(biāo)號不變。K=5 +1=6 minu8,u9=min12, =12= u8 點(diǎn)v8得永久標(biāo)號, 8=5 , 即從v1到v8的最短路長為u8=12, 8=5 , 5=2 , 2=3 , 3=1 , 知從v1到v8 的最短路為: P1,8=P(v1,v3 , v2, v5,v8)v2v523464v3v1v4v6121061210v8v9v72363v2v523464v3v1v4v6121061210v8v9v72363(0, 0)(1,6)(1,1)(1,3)(1,)(1,)(1,)(1,)(1,)v2v523
10、464v3v1v4v6121061210v8v9v72363(0, 0)(1,6)(1,1)(1,3)(1,)(1,)(1,)(1,)(4,11)v2v523464v3v1v4v6121061210v8v9v72363(0, 0)(3,5)(1,1)(1,3)(2,6)(5,9)(1,)(5,12)(5,10)v2v523464v3v1v4v6121061210v8v9v72363(0, 0)(3,5)(1,1)(1,3)(2,6)(5,9)(1,)(5,10)(5,12)問題:本例中,v1到v9的最短路?無向網(wǎng)絡(luò)負(fù)權(quán)弧時(shí)。wijvivjwijwijvjvi無向網(wǎng)絡(luò)中,最短路最短鏈。多個(gè)點(diǎn)對之
11、間最短路?v1v2v312-2Dijkstra算法失效三、Floyd算法 網(wǎng)絡(luò)D=(V,A,W),令U=(uij)nn, 表示D中vi到vj的最短路的長度。(n)ij U 考慮D中任意兩點(diǎn)vi,vj,如將D中vi,vj以外的點(diǎn)都刪掉,得只剩vi,vj的一個(gè)子網(wǎng)絡(luò)D0,記否則當(dāng) Av,v wUjiij(0)ijwij為?。?vi,vj)的權(quán)。 在D0中加入v1及D中與vi,vj,v1相關(guān)聯(lián)的弧,得D1,D1中vi到vj的最短路長記為 ,則一定有(1)ijU(0)1j(0)i1(0)ij(1)ij U U,Umin U 如果計(jì)算結(jié)果希望給出具體的最短路的路徑,則構(gòu)造路徑矩陣S=(Sij) nn ,
12、 Sij表示vi到vj的最短路的第一條弧的終點(diǎn)。如 ,則從vi到vj的最短路的第一條弧為( vi,vt),第二條弧為從vt到vj的最短路的第一條弧。ts (n)ijvivjv1wij 再在D1中加入v2及D中與vi,vj,v1, v2相關(guān)聯(lián)的弧,得D2,D2中vi到vj的最短路長記為 ,則一定有(2)ijU(1)2j(1)i2(1)ij(2)ij U U,Umin U 遞推,D中n個(gè)點(diǎn)逐個(gè)加入子網(wǎng)絡(luò),終得D中vi到vj的最短路路長 (n)ijijU UFloyd算法步驟:第1步: n)1,2,.,j n;1,2,.,(i j S 其中 , )(SS U U(0)ijnn(0)ij(0)(0)第
13、2步:計(jì)算n)1,2,3,.,(k )S (S n)1,2,3,.,(k ) U( Unn(k)ij(k)nn(k)ij(k)其中1)-(kkj1)-(kik1)-(kij1)-(kik1)-(kkj1)-(kik1)-(kij1)-(kij(k)ij1)-(kkj1)-(kik1)-(kij(k)ijU U U S U U U S S U U,Umin U當(dāng)?shù)?步:當(dāng)k=n時(shí),的最短路路長到就是元素ji(n)ijnn(n)ij(n)v vU 中 )(U U第一條弧的終點(diǎn)的最短路的到就是元素ji(n)ijnn(n)ij(n)v vS 中 )(SS 例 求如下網(wǎng)絡(luò)中各點(diǎn)對間最短路的路長。v2v5
14、2-344v3v1v4-2658解: 0240842036050 U(0)min ,4+55432154321543215432154321S (0) 用U(0)的第一行、第一列來修正其余的Uij,即作(0)1j(0)i1(0)ij(1)ij U U,Umin U同時(shí),在修正 處修改(1)ij U(0)i1(1)ijSS 029408942036050 U(1)Min,5+65431154311543215432154321S (1)1SS 1)(k (0)41(1)42同理1S (1)52021594608942036021150 U(2)5411114311543215432124221S (2)2SS 2)(k (1)12(2)13用U1的第二行、第二列修正其余的Uij,(1)i2(2)ijSS 2SS (1)12(2)151SS (1)42(2)451SS (1)52(2)53同理(2)(3)(2)(3)SS U021594608942036021150 U02672608942036021150 U(4)5444414311543215432124221S (4)從v1到v3的最短路長度 8
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年臂力訓(xùn)練器項(xiàng)目投資可行性研究分析報(bào)告
- 中國玻璃管行業(yè)市場調(diào)查研究及投資戰(zhàn)略咨詢報(bào)告
- 中國油輪行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 中國手機(jī)應(yīng)用商店行業(yè)市場全景調(diào)研及投資規(guī)劃建議報(bào)告
- 2025年住宅裝飾設(shè)計(jì)合同
- 2024河南汽車修理市場前景及投資研究報(bào)告
- 電動機(jī)科技在教育領(lǐng)域的創(chuàng)新應(yīng)用
- 知識經(jīng)濟(jì)時(shí)代付費(fèi)模式的運(yùn)營策略解析
- 2025年外貿(mào)付款三方協(xié)議合同模板
- 生態(tài)環(huán)保產(chǎn)業(yè)的商業(yè)模式創(chuàng)新
- 2024年安徽省高校分類考試對口招生語文試卷真題(含答案)
- 2024年安徽省省情知識競賽題庫及答案
- 2025年伊春職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025版林木砍伐與生態(tài)修復(fù)工程承包合同2篇
- 課題申報(bào)參考:社會網(wǎng)絡(luò)視角下村改居社區(qū)公共空間優(yōu)化與“土客關(guān)系”重構(gòu)研究
- 2025年八省聯(lián)考高考語文試題真題解讀及答案詳解課件
- 《山東膠州秧歌》課件
- 《倉庫安全管理培訓(xùn)》課件
- 術(shù)前準(zhǔn)備與術(shù)后護(hù)理指南
- GB/T 44963-2024儲糧保水技術(shù)規(guī)范
- 定密培訓(xùn)課件
評論
0/150
提交評論