0% found this document useful (0 votes)
370 views27 pages

AOV vs AOE Network Differences

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
370 views27 pages

AOV vs AOE Network Differences

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Activity Networks

 We can divide all but simplest


projects into several subprojects
called activity.
 Model it as a graph
 Activity-on-Vertex (AOV) Networks
 Activity-on-Edge (AOE) Networks
Activity on Vertex (AOV) Networks
 An activity on vertex, or AOV network, is a
directed graph G in which the vertices
represent tasks or activities and the edges
represent the precedence relation
between tasks
Example
 C3 is C1’s successor
 C1 is C3’s predecessor

C9
C8
C1 C10 C11
C3 C7
C2 C12

C13 C14

C4 C5 C6
C15
Topological Ordering
 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
ordering
Example
 C1 C2 C4 C5 C3 C6 C8 C7 C10 C13 C12
C14 C15 C11 C9
 May not unique

C9
C8
C1 C10 C11
C3 C7
C2 C12

C13 C14

C4 C5 C6
C15
Topological Sort
 Find a vertex v such that v has no
predecessor, output it. Then delete it from
network
 Repeat this step until all vertices are
deleted
 Time complexity: O(|V| + |E|)
Example
 v0 has no predecessor, output it. Then
delete it and three edges

v1
v1

v0 v2 v4
v0 v2 v4

v3 v5
v3 v5
Example cont.
 Choose v3, output it
 Final result: v0, v3, v2, v1, v4, v5
V1

V2 V4

V3
V5
Program 6.13: Topological 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;
}
Issues in Data Structure Consideration

 Decide whether a vertex has any


predecessors.
 Each vertex has a count.
 Decide a vertex together with all its
incident edges.
 Adjacency list
*Figure 6.40:Adjacency list representation of Figure 6.30(a)

headnodes node
count link vertex link
V0 0  1  2  3 NULL

1  4 NULL
V1
1  4  5 NULL

V2 1  5  4 NULL

3 NULL

2 NULL
• typedef struct node *node_pointer;
typedef struct node {
int vertex;
node_pointer link;
};
typedef struct {
int count;
node_pointer link;
} hdnodes;
hdnodes graph[MAX_VERTICES];
*Program 6.14: Topological sort

 void topsort (hdnodes graph [] , int n)


{
int i, j, k, top;
node_pointer ptr;
/* create a stack of vertices with no
predecessors */
top = -1;
for (i = 0; i < n; i++)
if (!graph[i].count) {
graph[i].count = top; top = i;
}
for (i = 0; i < n; i++)
if (top == -1) {
fprintf(stderr, “\n Network has a cycle.
Sort terminated. \n”);
exit(1);

}
*Program 6.14: Topological sort (cont.)

else {
j = top; /* unstack a vertex */
top = graph[top].count;
printf(“v%d, “, j);
for (ptr = graph [j]. link; ptr ;ptr = ptr -
>link ) {
/*decrease the count of the successor vertices of
j*/
k = ptr ->vertex;
graph[k].count --;
if (!graph[k].count) {
/* add vertex k to the stack*/
graph[k].count = top;
top = k;
}
}
}
}
Activity on Edge (AOE) Networks
 Activity on edge or AOE, network is an activity network
closely related to the AOV network. The directed edges
in the graph represent tasks or activities to be
performed on a project.
 directed edge
 tasks or activities to be performed
 vertex
 events which signal the completion of certain activities
 number
 time required to perform the activity
Example: *Figure 6.41:An AOE network

 Activities: a0, a1,…


 Events :v0,v1,…
Application of AOE Network
 Evaluate performance
 minimum amount of time
 activity whose duration time should be shortened
 …
 Critical path
 a path that has the longest length
 minimum time required to complete the project
 v0, v1, v4, v7, v8 or v0, v1, v4, v6, v8 (18)
Critical Path
 A critical path is a path that has the
longest length. (v0, v1, v4, v7, v8)
Earliest Time
 The earliest time of an activity, ai, can occur is the length
of the longest path from the start vertex v0 to ai’s start
vertex.
( Ex: the earliest time of activity a7 can occur is 7.
 We denote this time as early(i) for activity ai.
∴ early(6) = early(7) = 7.
Latest Time
 The latest time, late(i), of activity, ai, is defined to be the latest
time the activity may start without increasing the project
duration.
 Project duration : length of the longest path from start to finish
 Ex: early(5) = 5 & late(5) = 8; early(7) = 7 & late(7) = 7
Critical Activity
 A critical activity is an activity for which
early(i) = late(i).
 The difference between late(i) and early(i)
is a measure of how critical an activity is.
Calculation of Earliest Times
 Let activity ai is represented by edge (u, v).
 early (i) = earliest [u]

late (i) = latest [v] – duration of activity ai

 We compute the times in two stages:


a forward stage and a backward stage.
 The forward stage:
 Step 1: earliest [0] = 0
 Step 2: earliest [j] = max {earliest [i] + duration of
(i, j)}
i is in P(j)
P(j) is the set of immediate predecessors of j.
*Figure 6.42:Computing earliest from topological sort
Calculation of Latest Times
 The backward stage:
 Step 1: latest[n-1] = earliest[n-1]
 Step 2: latest [j] = min {latest [i] - duration of (j, i)}
i is in S(j)
S(j) is the set of vertices adjacent from vertex j.
latest[8] = earliest[8] = 18
latest[6] = min{earliest[8] - 2} = 16
latest[7] = min{earliest[8] - 4} = 14
latest[4] = min{earliest[6] – 9; earliest[7] – 7} = 7
latest[1] = min{earliest[4] - 1} = 6
latest[2] = min{earliest[4] - 1} = 6
latest[5] = min{earliest[7] - 4} = 10
latest[3] = min{earliest[5] - 2} = 8
latest[0] = min{earliest[1] – 6; earliest[2] – 4; earliest[3] – 5} = 0
*Figure 6.43: Computing latest for AOE network of Figure 6.41(a)(p.314)
Graph with non-critical activities deleted
Thank You

You might also like