Activity Networks AOV網路 AOE網路.

Slides:



Advertisements
Similar presentations
软饮料概述 人文艺术系 石惠舟. 什么是饮料? 饮料概述 饮料是指以水为基本原料,由 不同的配方和制造工艺生产出 来,供人们直接饮用的液体食 品。 饮料 饮料除提供水分外,由于在不 同品种的饮料中含有不等量的 糖、酸、乳以及各种氨基酸、 维生素、无机盐等营养成分, 因此有一定的营养。
Advertisements

第五单元 酒水知识与酒吧服务 主题三 蒸 馏 酒 —— 中国蒸馏酒. 蒸馏酒是把经过发酵的酿酒原料,经过一次或多次的蒸馏过 程提取的高酒度酒液。
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
單位 成員 衛保組陳德姁營養師、鄭惠貞組員 食營系高美丁老師、翁瑤棽老師、黃雅鈺助教 體育室蕭玉琴老師、張維嶽老師 校外專家黃麗如老師 營養小助教黃羿雯、朱容葦、蔡佳亘、莊琇君、張慈玲 聯絡電話: 衛保組: # 、 黃助教:
資料結構與演算法 第6章 圖形 徐熊健.
《高等学校创新能力提升计划》 的情况介绍 2012年3月.
2009年一级建造师考试 ——建筑工程管理与实务.
一级建造师执业资格考试培训 ——网络计划技术.
計算機程式語言實習課.
鬼太郎 身為幽靈族後裔一員的鬼太郎,他出生的時候,父母便雙亡,不過他的爸爸化身為眼珠,陪伴著他。而鬼太郎與他的同伴貓女、臭鼠人等,為了維持妖怪與人類間的和平,他們將一一消滅邪惡的妖怪,守護這世界的和平。
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
圓的一般式 內容說明: 由圓的標準式展出圓的一般式.
圓的一般式 內容說明: 由圓的標準式展出圓的一般式.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
计算机三级考试C语言上机试题专题.
一、进度管理 (1)大坝、堤防、水闸、泵站等水工建筑物的施工方案、方法、程序等; (2)根据工作关系能绘制双代号网络图;
项目进度管理.
Chapter 12 圖形結構 12.1 圖形的一些專有名詞 12.2 圖形資料結構表示法 12.3 圖形追蹤 12.4 擴展樹
第九章 长期资产及摊销 2017/3/21.
权力的行使:需要监督 北京市京源学校 冯 悦.
第四章 數列與級數 4-1 等差數列與級數 4-2 等比數列與級數 4-3 無窮等比級數 下一頁 總目錄.
使用C/C++語言 楊正宏 編著 全華科技圖書股份有限公司 印行.
兒 童 營 養 高雄長庚醫院營養治療科 營養師 洪凱殷.
恩典更新 羅15:1-13.
成员名单 陈丽 陈敏 杨娇 高丽莉 李亚金 吴沅娟 任津沙 张舒蓉.
第九章 圖形結構.
第二节 网络计划技术 网络图:一种由箭线和节点组成的,用来表示工作流程的有向有序的网状图形。
作業研究 第九章 專案管理 林吉仁 著 高立圖書公司出版.
Chap5 Graph.
7.5 擴張樹 (Spanning Tree) 一個無向相連圖 G 的子圖 G’ 如果可用最少的邊來連接G 的
Chapter 4 Spanning Trees
第8章 圖形結構(Graphs) 8-1 圖形的基本觀念 8-2 圖形的表示法 8-3 圖形的走訪 8-4 擴張樹
第八章 图 图的基本概念 图的存储结构 图的遍历与连通性 最小生成树 最短路径 活动网络.
复习.
Graph 2 Michael Tsai 2012/5/1 連載: 學生上課睡覺姿勢大全
4B冊 認識公倍數和最小公倍數 公倍數和最小公倍數的關係.
Graph Theory Graph theory is the study of the properties of graph structures. It provides us with a language with which to talk about graphs.
(Circular Linked Lists)
Chapter 7 圖形與網路 資料結構導論 - C語言實作.
Chapter 7 圖形與網路 資料結構導論 - C語言實作.
資料結構 第7章 圖形結構.
第6章 图 6.2图的存储结构 6.3图的遍历 6.4图的连通性 6.5 最短路径 6.6 AOV网与拓扑排序 6. 7 AOE网与关键路径
进程操作.
Chap3 Linked List 鏈結串列.
第 九 章 圖形結構 課程名稱:資料結構 授課老師:________ 2019/2/22.
Ch 3 Dynamic Programming (動態規劃).
網路遊戲版 幸福農場168號.
数据结构概论 第7章 图 董黎刚 浙江工商大学信电学院 2019年4月8日.
最短路徑 The Shortest Path.
中国科学技术大学计算机科学与技术系 国家高性能计算中心(合肥) 2004年12月
小學四年級數學科 8.最大公因數.
101北一女中 資訊選手培訓營 深度優先搜尋(DFS)的進階應用 Nan.
圓的定義 在平面上,與一定點等距的所有點所形成的圖形稱為圓。定點稱為圓心,圓心至圓上任意一點的距離稱為半徑,「圓」指的是曲線部分的圖形,故圓心並不在圓上.
单元17 钢 结 构 学习目标 (1)了解钢结构的特点。 (2)了解钢结构的发展现状。 (3)掌握钢结构的链接方式。
C qsort.
鄧姚文 資料結構 第八章:圖(Graph) 鄧姚文
累堆排序法 (Heap Sort).
网络模型 Network Modeling Operations Research 运 筹 学
樂理教學                 茄苳國小蔡逸凡老師.
汽车电器与控制设备 第0章 绪论.
if (j…) printf ("… prime\n"); else printf ("… not prime\n");
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
Parasitics Extraction (PEX) 與 postsimulation(posim)
第一章 直角坐標系 1-3 函數及其圖形.
4.7 关键路径算法 源点 起始点 v1 v4 v3 v2 v5 v6 v7 v8 v9 a1=6 a6=2 a3=5 a2=4 a5=1
在直角坐標平面上兩點之間 的距離及平面圖形的面積
All Sources Shortest Path The Floyd-Warshall Algorithm
第四部分 图论 主要内容 图的基本概念:图、通路和回路、图的连通性、图的矩阵表示 图的可行遍性:欧拉图、哈密顿图、带权图及其应用
第7章 图.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
Presentation transcript:

Activity Networks AOV網路 AOE網路

AOV網路 (Activity on Vertx Networks) 為了表示一件工作中,各子工程間的先後關係,我們可以利用有向圖中的有向邊代表事情進行的順序,位於一條有向邊終點的事件必須要等待起點的事情完成後,才可以進行。 以頂點表示工作項目、以有向邊表示工作進行順序的圖形被稱為頂點工作網路(Activity on Vertx Networks),簡稱AOV網路。

在AOV網路中,如果不存在迴路,則所有的事件可以排成一個線性序列,使得每個事件的所有先驅事件都排在該事件之前,這種序列稱之為「拓撲序列」。 如果網路中有迴路,則會造成死結(deadlock)現象。 在AOV網路中,如果不存在迴路,則所有的事件可以排成一個線性序列,使得每個事件的所有先驅事件都排在該事件之前,這種序列稱之為「拓撲序列」。

AOV網路

拓撲排序 (Topology Sort)

定義 假設G=(V,E)中, 對任何(Vi , Vj)為G的有向邊, 也就是存在一條有向路徑從Vi到Vj, 這種走訪順序為拓撲排序。 其中每一個頂點都可視為一個事件, Vi就稱為Vj的先驅事件, Vj則稱為Vi的後繼事件。

演算法則 要建立拓撲序列,主要是重複下列兩大步驟,直到找不到入分支度為0的頂點為止: 選擇一個入分支度為0的頂點輸出 從網路中刪除該點的所有出邊

由圖中頂點C1、C2的入邊數皆為0,所以這二個頂點都可以輸出,假設選擇頂點C1,則輸出C1,並從網路中刪除邊(C1,C3); 再由頂點C3、C4中,選擇頂點C3,並刪除邊(C3,C4)、(C3,C6)、(C3,C7); 再依次輸出點C4、C5、C6、C7。 最後得到拓撲序列: C1→C2→C3→C4→C5→C6→C7

演算法 =>圖解演算法 F =1;S = {1},V={0, 1, 2, 3, 4} 1 2 3 4 50 20 ∞ 75

1 2 3 4 45 20 30 75 由陣列D中可看出D(2) = 20最少,因此將頂點2加入到S集合中: S = {1, 2 } V – S = {1, 3, 4} 頂點2的相鄰頂點有1和3,則 D [3] = min(D[3], D[2] +A [2,3] ) = min (∞, 20+10)=30 D [1] = min(D[1], D[2] +A [2,1] ) = min (50, 20+25)=45 此時D陣列變成 1 2 3 4 45 20 30 75

1 2 3 4 40 20 30 65 從V – S = {1, 3, 4 }找出D陣列的最小值是D[3] =30, 而頂點的相鄰點為1,4 S = {0, 2, 3},V – S = {1, 4} D [1] = min(D[1], D[3] +A [3,1] ) = min (45, 30+10)=40 D [4] = min(D[4], D[3] +A [3,4] ) = min (75, 30+35)=65 此時D陣列變成 1 2 3 4 40 20 30 65

1 2 3 4 40 20 30 50 從V – S = {1, 4 }找出D陣列的最小值是D[1] =40, 而頂點的相鄰點為4 S = {0, 1, 2, 3},V – S = {4} D [4] = min(D[4], D[1] +A [1,4] ) = min (65, 40+10)=50 繼續將頂點4加入S中,則 S = {0, 1, 2, 3, 4},V – S = {Φ} 此時已完成城市0至其他城市的最短距離。 而D陣列則變成 1 2 3 4 40 20 30 50

=>演算虛擬碼 for ( i = 0; i < n; I ++) { if every vertex has a predecessor fprintf(stderr, “Network has a cycle, \n”) ; exit (1) ; } else pick a vertex v that has no predecessors; output v ; delete v and all edages leading out of v from the network ;

=>演算程式碼 void topological ( int count [ ], int vertex, int link [ ], int n) { int top = 0, i , j , k ; for ( i = 1 ; i <= n ; i ++ ) if ( count [i] = = 0 ) count [i] = top ; top = i ; }

for ( i = 1 ; i <= n ; i ++) { if ( top = = 0 ) printf ( “network has a cycle” ); break ; } j = top ; top = count [top] ; printf ( “%d” , j ) ; ptr = link [j] ;

while ( ptr != 0) { k = vertex [ptr] ; count [k] = count [k] – 1; if ( count [k] = = 0 ) count [k] = top ; top = k ; } ptr = link [ptr] ;

範例 假設AOV網路如圖所示,其拓樸排序過程如下:

輸出V1,並刪除(V1,V2)與(V1,V6)兩個邊。 此時V2和V6皆沒有前行者,若輸出V2則刪除(V2,V3)與(V2,V4)兩個邊。

選擇輸出V6,並刪除(V6,V4)與(V6,V5)兩個邊。

(Activity on Edge Networks) AOE網路 (Activity on Edge Networks)

AOV網路

相關的名詞

最早開始/最脕開始時間 在AOE網路上所有的活動皆有的時間, 最晚開始時間指一活動在不影響整個計畫完成之下,最晚能夠開始進行的時間。

臨界路徑 一個計畫所需完成的最短時間,是從起始點到結束點間最長的路徑來算;而長度最長的路徑為臨界路徑(Critical Path) AOE網路上的活動是可以並行處理的 臨界路徑(Critical Path)可能不止一條 臨界活動分析的目的 辨別那些路徑是臨界路徑(Critical Path),以便能夠集中資源在這些臨界活動上,進而縮短計畫完成的時間。 AOE網路的應用 即是在求得其臨界路徑,進而達到控制或評估專案績效的目的。

計算最早開始時間ES (j) 每個活動j的最早開始時間,計算公式如下: ES(j) = max { ES(j) , ES(i) + ( i , j )時間 } 其中i  p ( j ),而p( j )是所有與j相鄰頂點所成的集合。 再利用拓樸排序,每當輸出一個活動時,就修正此活動到各活動之最早開始時間。 如果拓樸排序輸出是活動j,而活動j指向活動k,此時的 ES(k) = max { ES(k) , ES(j) + ( j, k)時間 }

現在以下圖的AOE網路為例,假設ES(i) = 0,1≦i≦7,如下所示: 2 3 4 5 6 7 開始

由於1沒有前行者,故輸出V1計算V1相鄰頂點V2,V3,V5的ES: ES(2) = max { ES(2), ES(1) +( 1, 2 ) }=max( 0, 0+3 ) = 3 ES(3) = max { ES(3), ES(1) +( 1, 3 ) }=max( 0, 0+3 ) = 3 ES(5) = max { ES(5), ES(1) +( 1, 5 ) }=max( 0, 0+4 ) = 4 ES 1 2 3 4 5 6 7

ES 1 2 3 4 5 6 7 ES 1 2 3 4 5 6 7 V3亦無前行者,故計算其與相鄰的頂點V4, V5的ES: ES(4) = max { ES(4), ES(3) +( 3, 4 ) }=max( 0, 3+3 ) = 6 ES(5) = max { ES(5), ES(3) +( 3, 5 ) }=max( 0, 3+2 ) = 5 ES 1 2 3 4 5 6 7 V2亦無前行者,故計算其與相鄰的頂點V4的ES: ES(4) = max { ES(4), ES(2) +( 2, 4 ) }=max( 6, 3+1 ) = 6 ES 1 2 3 4 5 6 7

V4無前行者,故計算其與相鄰的頂點V5,V6,V7的ES: ES(5) = max { ES(5), ES(4) +( 4, 5 ) }=max( 5, 6+0 ) = 6 ES(6) = max { ES(6), ES(4) +( 4, 6 ) }=max( 0, 6+3 ) = 9 ES(7) = max { ES(7), ES(4) +( 4, 7 ) }=max( 0, 6+9 ) = 15 ES 1 2 3 4 5 6 7 9 15 V6無前行者,故計算其與相鄰的頂點V7的ES: ES(7) = max { ES(7), ES(6) +( 6, 7 ) }=max( 5, 6+9 ) = 15 ES 1 2 3 4 5 6 7 9 15

ES 1 2 3 4 5 6 7 9 15 V5無前行者,故計算其與相鄰的頂點V7的ES: ES(7) = max { ES(7), 9 15

最後輸出V7。

計算最晚開始時間LS (j) 每個活動j的最晚開始時間,計算公式如下: LS(j) = min { LS(j) , LS(i) - ( i , j )時間 } 其中i  s( j ),而s( j )是所有與j相鄰頂點所成的集合。 再利用拓樸排序,每當輸出一個活動時,就修正此活動到各活動之最晚開始時間。 如果拓樸排序輸出是活動j,而活動j指向活動k,此時的 LS(k) = min { LS(k) , LS(j) - ( j, k)時間 }

同樣以前圖的AOE網路為例,假設LS (i) = 15,1≦i≦7,如下所示: 2 3 4 5 6 7 開始 15

求得臨界路徑 當下列三個條件成立時,便可求出二頂點Vi與 Vj 間的路徑是否為臨界路徑: (1) ES( i ) = LS( i ) (2) ES( j ) = LS( j ) (3) ES( j ) – ES(i) = LS( j ) – LS( i ) = a ij