版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
7.6關(guān)鍵路徑問(wèn)題提出把工程計(jì)劃表示為有向圖,用頂點(diǎn)表示事件,弧表示活動(dòng);每個(gè)事件表示在它之前的活動(dòng)已完成,在它之后的活動(dòng)可以開(kāi)始例設(shè)一個(gè)工程有11項(xiàng)活動(dòng),9個(gè)事件事件V1——表示整個(gè)工程開(kāi)始事件V9——表示整個(gè)工程結(jié)束問(wèn)題:(1)完成整項(xiàng)工程至少需要多少時(shí)間?(2)哪些活動(dòng)是影響工程進(jìn)度的關(guān)鍵?987645321a1=6a2=4a3=5a4=1a5=1a6=2a7=9a8=7a9=4a10=2a11=4定義AOE網(wǎng)(ActivityOnEdge)——也叫邊表示活動(dòng)的網(wǎng)。AOE網(wǎng)是一個(gè)帶權(quán)的有向無(wú)環(huán)圖,其中頂點(diǎn)表示事件,弧表示活動(dòng),權(quán)表示活動(dòng)持續(xù)時(shí)間路徑長(zhǎng)度——路徑上各活動(dòng)持續(xù)時(shí)間之和關(guān)鍵路徑——路徑長(zhǎng)度最長(zhǎng)的路徑叫~Ve(j)——表示事件Vj的最早發(fā)生時(shí)間Vl(j)——表示事件Vj的最遲發(fā)生時(shí)間e(i)——表示活動(dòng)ai的最早開(kāi)始時(shí)間l(i)——表示活動(dòng)ai的最遲開(kāi)始時(shí)間l(i)-e(i)——表示完成活動(dòng)ai的時(shí)間余量關(guān)鍵活動(dòng)——關(guān)鍵路徑上的活動(dòng)叫~,即l(i)=e(i)的活動(dòng)問(wèn)題分析如何找e(i)=l(i)的關(guān)鍵活動(dòng)?設(shè)活動(dòng)ai用弧<j,k>表示,其持續(xù)時(shí)間記為:dut(<j,k>)則有:(1)e(i)=Ve(j)(2)l(i)=Vl(k)-dut(<j,k>)jkai如何求Ve(j)和Vl(j)?(1)從Ve(1)=0開(kāi)始向前遞推(2)從Vl(n)=Ve(n)開(kāi)始向后遞推求關(guān)鍵路徑步驟求Ve(i)求Vl(j)求e(i)求l(i)計(jì)算l(i)-e(i)987645321a2=4a3=5a5=1a6=2a9=4a1=6a4=1a7=9a8=7a10=2a11=4V1V2V3V4V5V6V7V8V9頂點(diǎn)VeVl0645771614180668710161418a1a2a3a4a5a6a7a8a9a10a11活動(dòng)ell-e000022660462583770770710316160141400337.7最短路徑問(wèn)題提出用帶權(quán)的有向圖表示一個(gè)交通運(yùn)輸網(wǎng),圖中:頂點(diǎn)——表示城市邊——表示城市間的交通聯(lián)系權(quán)——表示此線路的長(zhǎng)度或沿此線路運(yùn)輸所花的時(shí)間或費(fèi)用等問(wèn)題:從某頂點(diǎn)出發(fā),沿圖的邊到達(dá)另一頂點(diǎn)所經(jīng)過(guò)的路徑中,各邊上權(quán)值之和最小的一條路徑——最短路徑從某個(gè)源點(diǎn)到其余各頂點(diǎn)的最短路徑51643208562301371732913長(zhǎng)度最短路徑<V0,V1><V0,V2><V0,V2,V3><V0,V2,V3,V4><V0,V2,V3,V4,V5><V0,V1,V6>813192120迪杰斯特拉(Dijkstra)算法思想按路徑長(zhǎng)度遞增次序產(chǎn)生最短路徑算法:把V分成兩組:(1)S:已求出最短路徑的頂點(diǎn)的集合(2)V-S=T:尚未確定最短路徑的頂點(diǎn)集合將T中頂點(diǎn)按最短路徑遞增的次序加入到S中,保證:(1)從源點(diǎn)V0到S中各頂點(diǎn)的最短路徑長(zhǎng)度都不大于從V0到T中任何頂點(diǎn)的最短路徑長(zhǎng)度(2)每個(gè)頂點(diǎn)對(duì)應(yīng)一個(gè)距離值
S中頂點(diǎn):從V0到此頂點(diǎn)的最短路徑長(zhǎng)度
T中頂點(diǎn):從V0到此頂點(diǎn)的只包括S中頂點(diǎn)作中間頂點(diǎn)的最短路徑長(zhǎng)度依據(jù):可以證明V0到T中頂點(diǎn)Vk的最短路徑,或是從V0到Vk的直接路徑的權(quán)值;或是從V0經(jīng)S中頂點(diǎn)到Vk的路徑權(quán)值之和(反證法可證)Dijkstra算法可描述如下:
初始化:S←{v0};
dist[j]←Edge[0][j],j=1,2,…,n-1;
//n為圖中頂點(diǎn)個(gè)數(shù)1、求出最短路徑的長(zhǎng)度:
dist[k]←min{dist[i]},i
V-S;S←S
U{k
};2、
修改:
dist[i]←min{dist[i],dist[k]+Edge[k][i]},
對(duì)于每一個(gè)i
V-S;3、
判斷:若S=V,則算法結(jié)束,否則轉(zhuǎn)1。計(jì)算從單個(gè)頂點(diǎn)到其它各個(gè)頂點(diǎn)的最短路徑ShortestPath(
constint
n,
constint
v){
for(
inti=0;
i<n;
i++)
{
dist[i]=Edge[v][i];
//dist數(shù)組初始化
S[i]=0;
if(i!=v
&&
dist[i]<MAXINT)path[i]=v;
else
path[i]=-1; //path數(shù)組初始化
}
S[v]=1;
dist[v]=0; //頂點(diǎn)v加入頂點(diǎn)集合
//選擇當(dāng)前不在集合S中具有最短路徑的頂點(diǎn)u
for(i=0;
i<n-1;
i++){
int
min=MAXINT;
int
u=v;
for(
int
j=0;
j<n;
j++)
if(!S[j]&&
dist[j]<min)
{
u=j;
min=
dist[j];
}
S[u]=1;
//將頂點(diǎn)u加入集合S
for(
int
w=0;
w<n;
w++)//修改
if(!S[w]&&
Edge[u][w]<MAXINT&&
dist[u]+Edge[u][w]<
dist[w]){
dist[w]=
dist[u]+Edge[u][w];
path[w]=u;
}
}}
13<V0,V1>8<V0,V2>30<V0,V4>32<V0,V6>V2:8<V0,V2>13<V0,V1>-------13<V0,V2,V3>30<V0,V4>32<V0,V6>V1:13<V0,V1>--------------13<V0,V2,V3>30<V0,V4>22<V0,V1,V5>20<V0,V1,V6>V3:13<V0,V2,V3>---------------------19<V0,V2,V3,V4>22<V0,V1,V5>20<V0,V1,V6>V4:19<V0,V2,V3,V4>終點(diǎn)從V0到各終點(diǎn)的最短路徑及其長(zhǎng)度V1V2V3V4V5V6Vj--------------------------------21<V0,V2,V3,V4,V5>20<V0,V1,V6>V6:20<V0,V1,V6>516432085623013717329每一對(duì)頂點(diǎn)之間的最短路徑方法一:每次以一個(gè)頂點(diǎn)為源點(diǎn),重復(fù)執(zhí)行Dijkstra算法n次——T(n)=O(n3)方法二:弗洛伊德(Floyd)算法算法思想:逐個(gè)頂點(diǎn)試探法求最短路徑步驟初始時(shí)設(shè)置一個(gè)n階方陣,令其對(duì)角線元素為0,若存在弧<Vi,Vj>,則對(duì)應(yīng)元素為權(quán)值;否則為逐步試著在原直接路徑中增加中間頂點(diǎn),若加入中間點(diǎn)后路徑變短,則修改之;否則,維持原值所有頂點(diǎn)試探完畢,算法結(jié)束對(duì)于每一對(duì)頂點(diǎn)u和v,看看是否存在一個(gè)頂點(diǎn)w使得從u到w再到v比己知的路徑更短。如果是更新它。不可思議的是,只要按排適當(dāng),就能得到結(jié)果。//dist(i,j)為從節(jié)點(diǎn)i到節(jié)點(diǎn)j的最短距離Fori←1tondoForj←1tondodist(i,j)=weight(i,j)Fork←1tondo//k為“中間節(jié)點(diǎn)”
if(dist(i,k)+dist(k,j)<dist(i,j))then//是否是更短的路徑?
dist(i,j)=dist(i,k)+dist(k,j)例ACB264311041160230初始:路徑:ABACBABCCA046602370加入V2:路徑:ABA
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62841-3-8:2024 EN-FR Electric motor-operated hand-held tools,transportable tools and lawn and garden machinery - Safety - Part 3-8: Particular requirements for transpor
- 2024年廚房承包合同經(jīng)典版(三篇)
- 2024年安全生產(chǎn)隱患排查整改制度范例(二篇)
- 2024年工程材料購(gòu)銷合同范本(二篇)
- 2024年商鋪?zhàn)赓U簡(jiǎn)易合同參考范文(五篇)
- 2024年大學(xué)教師個(gè)人工作計(jì)劃例文(三篇)
- 2024年大學(xué)新學(xué)期學(xué)習(xí)計(jì)劃(六篇)
- 2024年安全生產(chǎn)專項(xiàng)資金使用制度例文(四篇)
- 【《廣州市番禺區(qū)河堤維修養(yǎng)護(hù)及質(zhì)量控制探究》4600字(論文)】
- 2024年安全生產(chǎn)自檢制度(二篇)
- 讓小車運(yùn)動(dòng)起來(lái)說(shuō)課稿
- 2018年下半年軟件水平考試(中級(jí))多媒體應(yīng)用設(shè)計(jì)師上午(基礎(chǔ)知識(shí))真題試卷
- 工程招投標(biāo)管理與實(shí)踐作業(yè)指導(dǎo)書(shū)
- ISO 22003-1:2022《食品安全-第 1 部分:食品安全管理體系 審核與認(rèn)證機(jī)構(gòu)要求》中文版(機(jī)翻)
- 廣東省2024-2025學(xué)年高三上學(xué)期9月份聯(lián)考英語(yǔ)試卷
- 單元統(tǒng)整視域下的小學(xué)英語(yǔ)課內(nèi)外融合教學(xué)探析
- 2024年新人教版七年級(jí)上冊(cè)數(shù)學(xué)全冊(cè)大單元整體設(shè)計(jì)教案
- 知識(shí)創(chuàng)業(yè)思維與方法智慧樹(shù)知到答案2024年湖南師范大學(xué)
- 新教科版三上科學(xué)3.6《觀察云》教案(新課標(biāo))
- 2024-2030年中國(guó)酒瓶行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 燈謎文化智慧樹(shù)知到期末考試答案章節(jié)答案2024年西安交通大學(xué)
評(píng)論
0/150
提交評(píng)論