① 關鍵路徑怎麼算
輸入e條弧<j,k>,建立AOE網的存儲結構;從源點v1出發,令ve(1)=0,求 ve(j),2<=j<=n;從匯點vn出發,令vl(n)=ve(n),求 vl(i),1<=i<=n-1。
根據各頂點的ve和vl值,求每條弧s(活動)的最早開始時間e(s)和最晚開始時間l(s),其中e(s)=l(s)的為關鍵活動。
求關鍵路徑必須在拓撲排序的前提下進行,有環圖不能求關鍵路徑;只有縮短關鍵活動的工期才有可能縮短工期;若一個關鍵活動不在所有的關鍵路徑上,減少它並不能減少工期;只有在不改變關鍵路徑的前提下,縮短關鍵活動才能縮短整個工期。
(1)路徑排序計演算法擴展閱讀
在項目管理中,編制網路計劃的基本思想就是在一個龐大的網路圖中找出關鍵路徑,並對各關鍵活動,優先安排資源,挖掘潛力,採取相應措施,盡量壓縮需要的時間。
而對非關鍵路徑的各個活動,只要在不影響工程完工時間的條件下,抽出適當的人力、物力和財力等資源,用在關鍵路徑上,以達到縮短工程工期,合理利用資源等目的。在執行計劃過程中,可以明確工作重點,對各個關鍵活動加以有效控制和調度。
關鍵路徑法主要為一種基於單點時間估計、有嚴格次序的一種網路圖。它的出現為項目提供了重要的幫助,特別是為項目及其主要活動提供了圖形化的顯示,這些量化信息為識別潛在的項目延遲風險提供極其重要的依據。
② 路徑分析的最優路徑分析方法
1.道路預處理
進行道路數據錄入時,往往在道路的交叉接合處出現重疊或相離的情況,不宜計算機處理。因此,需要對原始數據進行預處理,使道路接合符合處理要求。進行預處理時,取每條線段的首末節點坐標為圓心,以給定的閾值為半徑作圓域,判斷其他線段是否與圓域相交,如果相交,則相交的各個線對象共用一個節點號。
2.道路自動斷鏈
對道路進行預處理之後即可獲得比較理想的數據,在此基礎上再進行道路的自動斷鏈。步驟如下:
(1)取出所有線段記錄數n,從第一條線段開始;
(2)找出所有與之相交的線段並求出交點數m;
(3)將m個交點和該線段節點在判斷無重合後進行排序;
(4)根據交點數量,該線段被分成m+1段;
(5)第一段在原始位置不變,後m段從記錄尾開始遞增;
(6)重復(2)~(5),循環至n。
3.節點匹配
拓撲關系需使用統一的節點。節點匹配方法是按記錄順序將所有線段的始末點加上相應節點號,坐標相同的節點共用一個節點號,與前面所有線段首末點都不相同的節點按自然順序遞增1。
4.迪傑克斯特拉(Dijkstra)演算法
經典的圖論與計算機演算法的有效結合,使得新的最短路徑演算法不斷涌現。目前提出的最短路徑演算法中,使用最多、計算速度比較快,又比較適合於計算兩點之間的最短路徑問題的數學模型就是經典的Dijkstra演算法。
該演算法是典型的單源最短路徑演算法,由Dijkstra EW於1959年提出,適用於所有弧的權均為非負的情況,主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。該演算法的基本思想是:認為兩節點間最佳路徑要麼是直接相連,要麼是通過其他已找到的與起始點的最佳路徑的節點中轉點。定出起始點P0後,定能找出一個與之直接相連且路徑長度最短的節點,設為P1,P0到P1就是它們間的最佳路徑。
Dijkstra演算法的基本流程如下:首先將網路中所有節點分成兩組,一組包含了已經確定屬於最短路徑中點的集合,記為S(該集合在初始狀態只有一個源節點,以後每求得一條最短路徑,就將其加入到集合S中,直到全部頂點都加入到S中,演算法就結束了);另一組是尚未確定最短路徑的節點的集合,記為V,按照最短路徑長度遞增的次序依次把第二組的頂點加入到第一組中,在加入的過程中總保持從源點到S中各頂點的最短路徑長度不大於從源點到V中任何頂點的最短路徑長度。此外,每個頂點對應一個距離,S中的頂點距離就是從源點到此頂點的最短路徑長度,V中的頂點距離是從源點到此頂點只包括S中的頂點為中間頂點的當前最短路徑長度。
③ 關鍵路徑怎麼求求詳解。
關鍵路徑的演算法是建立在拓撲排序的基礎之上的,這個演算法中用到了拓撲排序。
1. 什麼是拓撲排序?
舉個例子先:一個軟體專業的學生學習一系列的課程,其中一些課程必須再學完它的基礎的先修課程才能開始。如:在《程序設計基礎》和《離散數學》學完之前就不能開始學習《數據結構》。這些先決條件定義了課程之間的領先(優先)關系。這個關系可以用有向圖更清楚地表示。圖中頂點表示課程,有向邊表示先決條件。若課程i是課程j的先決條件,則圖中有弧<i,j>。若要對這個圖中的頂點所表示的課程進行拓撲排序的話,那麼排序後得到的序列,必須是按照先後關系進行排序,具有領先關系的課程必然排在以它為基礎的課程之前,若上例中的《程序設計基礎》和《離散數學》必須排在《數據結構》之前。進行了拓撲排序之後的序列,稱之為拓撲序列。
2. 如何實現拓撲排序?
很簡單,兩個步驟:
1. 在有向圖中選一個沒有前驅的頂點且輸出。
2. 從圖中刪除該頂點和以它為尾的弧。
重復上述兩步,直至全部頂點均已輸出,或者當前圖中不存在無前驅的頂點為止。後一種情況則說明有向圖中存在環。
3. 什麼是關鍵路徑?
例子開頭仍然,圖1是一個假想的有11項活動的A0E-網。其中有9個事件v1,v2......,v9,每個事件表示在它之前的活動一完成,在它之後的活動可以開始。如v1表示整個工程的開始,v9表示整個工程結束,v5表示a4和a5已完成,a7和a8可以開始。與每個活動相聯系的數是執行該活動所需的時間。比如,活動a1需要6天,a2需要4天。
packagegraph;
importjava.util.*;
publicclassGrph_CriticalPath
{
Graph_AdjListadjList;
Stack<Integer>T=newStack<Integer>();
intve[];
intvl[];
finalintmax=10000;
publicGrph_CriticalPath(Graph_AdjListadjList)//圖的存儲結構是用的鄰接表
{
this.adjList=adjList;
intlength=adjList.vetexValue.length;
ve=newint[length];
vl=newint[length];
for(inti=0;i<length;i++)
{
ve[i]=0;
vl[i]=max;
}
}
publicvoidgetCriticalPath()
{
topologicalOrder();
intt=T.pop();
T.push(t);
vl[t]=ve[t];
while(!T.isEmpty())
{
intj=T.pop();
for(Graph_AdjList.ArcNodep=adjList.vetex[j].firstArc;p!=null;p=p.next)
{
intk=p.adjvex;
if(vl[k]-p.weight<vl[j])
{
vl[j]=vl[k]-p.weight;
}
}
}
for(inti=0;i<ve.length;i++)
{
for(Graph_AdjList.ArcNodep=adjList.vetex[i].firstArc;p!=null;p=p.next)
{
intk=p.adjvex;
intee=ve[i];
intel=vl[k]-p.weight;
if(ee==el)
{
System.out.print(i+","+k+"");
}
}
}
}
publicvoidtopologicalOrder()
{
Stack<Integer>S=newStack<Integer>();
S.push(0);
intcount=0;
while(!S.isEmpty())
{
intj=S.pop();
T.push(j);
count++;
Graph_AdjList.ArcNodep=null;
for(p=adjList.vetex[j].firstArc;p!=null;p=p.next)
{
intk=p.adjvex;
if(--adjList.degree[k]==0)
{
S.push(k);
}
if(ve[j]+p.weight>ve[k])
{
ve[k]=ve[j]+p.weight;
}
}
}
if(count<adjList.vetexValue.length)
{
System.out.println("圖中存在環路!");
return;
}
}
publicvoidprint()
{
while(!T.isEmpty())
{
System.out.print(T.pop()+"");
}
}
publicvoidprintVel()
{
System.out.println();
for(inti=0;i<ve.length;i++)
{
System.out.print(ve[i]+"");
}
System.out.println();
for(inti=0;i<vl.length;i++)
{
System.out.print(vl[i]+"");
}
}
}
轉自:http://blog.csdn.net/pigli/article/details/5777048
④ 關鍵路徑怎麼算
關鍵路徑的計算方法如下:
(1) 輸入e條弧<j,k>,建立AOE網的存儲結構;
(2) 從源點v1出發,令ve(1)=0,求 ve(j) ,2<=j<=n;
(3) 從匯點vn出發,令vl(n)=ve(n),求 vl(i), 1<=i<=n-1;
(4) 根據各頂點的ve和vl值,求每條弧s(活動)的最早開始時間e(s)和最晚開始時間l(s),其中e(s)=l(s)的為關鍵活動。
求關鍵路徑是在拓撲排序的前提下進行的,不能進行拓撲排序,自然也不能求關鍵路徑。
關鍵路徑是指設計中從輸入到輸出經過的延時最長的邏輯路徑。優化關鍵路徑是一種提高設計工作速度的有效方法。一般地,從輸入到輸出的延時取決於信號所經過的延時最大路徑,而與其他延時小的路徑無關。
(4)路徑排序計演算法擴展閱讀:
一、拓撲排序的執行
由AOV網構造拓撲序列的拓撲排序演算法主要是循環執行以下兩步,直到不存在入度為0的頂點為止。
(1)選擇一個入度為0的頂點並輸出之;
(2)從網中刪除此頂點及所有出邊。
循環結束後,若輸出的頂點數小於網中的頂點數,則輸出「有迴路」信息,否則輸出的頂點序列就是一種拓撲序列。
二、關鍵路徑相關術語
(1)AOE網
用頂點表示事件,弧表示活動,弧上的權值表示活動持續的時間的有向圖叫AOE網。在建築學中也稱為關鍵路線。AOE網常用於估算工程完成時間。一個AOE網的關鍵路徑可以不止一條。
只有在某頂點所代表的事件發生後,從該頂點出發的各有向邊所代表的活動才能開始。只有在進入某一頂點的各有向邊所代表的活動都已經結束,該頂點所代表的事件才能發生。
表示實際工程計劃的AOE網應該是無環的,並且存在唯一的入度為0的開始頂點和唯一的出度為0的完成頂點。
(2) 活動開始的最早時間e(i);
(3) 活動開始的最晚時間l(i);
(4) 事件開始的最早時間ve(i);
(5) 事件開始的最晚時間vl(i)。
⑤ 高中數學,排列組合:一個網格9×4,從A點到B點共有多少條路徑用排列組合的方法
我是這樣理解的,你可以看看對不對:從A到B必須要向右走9步,向左走4步。所以總共有的方法數就是從一共走的9+4=13步中選4步來向下走,即就是4C13=715
⑥ excel怎麼統計路徑
=PERMUT(28,2)
排列就是這個公式
計算結果756
---------------------
圖表形式表示?排列是有順序的,圖要怎麼顯示呢?你模擬個圖來看看