150 likes | 272 Views
Pertemuan 26 Activity Network. Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat menjelaskan konsep aplikasi graph dalam activity network. Outline Materi.
E N D
Pertemuan 26Activity Network Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Mahasiswa dapat menjelaskan konsep aplikasi graph dalam activity network
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
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
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.
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; }
Example of topology sort • Topological order generated : V0,V3,V2,V5,V1,V4
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
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
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
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.
Critical paths • Critical paths: • v0, v1, v4, v7, v8 , length= 18 ; v0, v1, v4, v6, v8 , length= 18
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> }
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> }