Pertemuan 26 Activity Network
description
Transcript of Pertemuan 26 Activity Network
1
Pertemuan 26Activity Network
Matakuliah : T0026/Struktur Data
Tahun : 2005
Versi : 1/1
2
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Mahasiswa dapat menjelaskan konsep aplikasi graph dalam activity network
3
Outline Materi
• Activity on vertex (AOV) network • AOV network(cont.) • An AOV network • Topology sort • Example of topology sort • Activity on edge (AOE) network • Earliest time • Latest time • Other factors • Critical paths • Calculation of earliest times • Calculation of Latest times • Early and late and critical values
4
Activity on vertex (AOV) network
• Activity on vertex (AOV) network– An activity on vertex(AOV)network, is a digraph G in which
the vertices represent tasks or activities and the edges represent precedence relations between tasks.
• Predecessor : – Vertex i in an AOV network G is a predecessor of vertex j iff
there is a directed path from vertex i to vertex j – Vertex i is an immediate predecessor of vertex j iff <i, j> is an
edge in G
• Successor : – If i is a predecessor of j, then j is a successor of i. – If i is an immediate predecessor of j, then j is an immediate
successor of i
5
AOV network(cont.)
• Transitive – A relation " " is transitive iff for all triples i, j,k, i j and j k => i k ‧ ‧ ‧ ‧
• Irreflexive – A relation" "is irreflexive on a set S if i i is false for all elements, i, ‧ ‧
in S.
• Partial order – A partial order is a precedence relation that is both transitive and
irreflexive
• Topological order – A topological order is a linear ordering of the vertices of a graph
such that, for any two vertices, i, j, if i is a predecessor of j in the network then i precedes j in the linear ordering.
6
An AOV network
7
Topology sort
for (i = 0; i<n; i++) { if every vertex has a predecessor {
fprintf(stderr,"Network has a cycle. \n"); exit(1);
} pick a vertex v that has no predecessors; output v; delete v and all edges leading out of v from the network;
}
8
Example of topology sort
•Topological order generated : V0,V3,V2,V5,V1,V4
9
Activity on edge (AOE) network
• AOE network – Edge represents task or activity to be performed on a project
– Vertex represents event which signal the completion of certain activities
• Remarks on AOE – Determine the minimum amount of time required to complete a project
– An assessment of the activities whose duration should be shortened to reduce the overall completion time
• Evaluate performance – activity whose duration time should be shortened
– minimum amount of time
• Critical path – A path that has the longest length
– Minimum time required to complete the project
10
Earliest time
• The earliest time an event, vi, can occur is the length of the longest path from the start vertex v0 to vertex vi – i.e., the earliest start time for all activities represented by edges leaving
that vertex
– denote the time by e(i) for activity ai
• Example : v4 is 7, e(6)= e(7)= 7
11
Latest time
• Latest time : – l(i) of activity, ai, is the latest time the activity may start without
increasing the project duration
• Projection duration : – length of the longest path from start to finish
• Example : e(5)= 5 and l(5)= 8, e(7)= 7 and l(7)= 7
12
Other factors
• Critical activity : – An activity for which e(i)= l(i)
• Remarks on critical : – The difference between l(i) and e(i) is a measure of
how critical an activity is – Identify critical activities so that we may concentrate
our resources to reduce a project's duration
• Determine critical paths : – Delete all noncritical activities – Generate all the paths from the start to finish vertex.
13
Critical paths
•Critical paths: •v0, v1, v4, v7, v8 , length= 18 ; v0, v1, v4, v6, v8 , length= 18
14
Calculation of earliest times
• earliest[j]: the earliest event occurrence time for all event j in the network.
• latest[j]: the latest event occurrence time for all event j in the network.
• If activity ai is represented by edge <k, l> – early(i) = earliest[k] – late(i) = latest[l] - duration of activity ai
• We compute the times earliest[j] and latest[j] in two stages: a forward stage and a backward stage.
• During the forwarding stage, we start with earliest[0] = 0 and compute the remaining start times using the formula: – earliest[j] = max{ earliest[i] + duration of <i, j> }
15
Calculation of Latest times
• In the backward stage, we compute the values of latest[i] using a procedure analogous to that used in the forward stage.
• We start with latest[n-1] = earliest[n-1] and use the equation: – latest[j] = min{ latest[i] - duration of <j, i> }