Uploaded by apollolev

Valls Lino 2001 Criticality Analysis in Activity-on-Node Networks with Minimal Time Lags

advertisement
Annals of Operations Research 102, 17–37, 2001
 2001 Kluwer Academic Publishers. Manufactured in The Netherlands.
Criticality Analysis in Activity-on-Node Networks with
Minimal Time Lags
VICENTE VALLS
Departamento de Estadística e Investigación Operativa, Facultad de Matemáticas,
Universidad de Valencia, Dr. Moliner 50, 46100 Burjassot (Valencia), Spain
PILAR LINO
Departamento de Economía Financiera y Matemática, Facultad de Ciencias Económicas y Empresariales,
Universidad de Valencia, Avda. de los Naranjos s/n, Edificio Departamental Oriental, 46071 Valencia,
Spain
Abstract. This paper is a systematic study of the critical nature of activities and relationships in AON
networks with minimal time lags in the unlimited resource case, when activity splitting is not allowed. An
analysis of all possible cases produces an extended and now complete classification of critical activities in
six classes: normal, reverse, neutral, bicritical, increasing normal and decreasing reverse. We also present
a procedure for classifying any critical task depending on the early start/finish times and on position within
the critical paths.
Keywords: project scheduling, generalised precedence constraints, precedence diagramming, criticality
analysis
AMS subject classification: 90B35
1.
Introduction
The introduction of more general precedence relationships than the traditional “finishto-start” relationship (FS) of PERT/CPM networks has provided a more flexible project
representation in networks. This facilitates the modelling process and a more accurate
representation of projects.
Nevertheless, these new relationships introduce greater complexity in the study
of slack and criticality in activities. These concepts are very useful when planning and
controlling a project. Project planning is an iterative process: it proceeds in steps from
an initial outline to a detailed acceptable project plan. If the project duration is revealed
to be unacceptable in one of the planning steps, then the project planner must change
the duration of some activities (critical activities), and/or change some technological
relations (critical relations) in order to reduce the project length.
In the control phase, these concepts offer important information about the altered
duration of a project after differences between the planned schedule and the actual sequence of execution appear. If the predicted project duration is longer than desired, then
18
VALLS AND LINO
this information can help the project manager make the necessary corrections and avoid
missing an established deadline.
Some authors have studied slack and criticality in activity-on-node (AON) project
networks with minimal time lags (also termed precedence diagramming or precedence
networks). Wiest and Levy [11] define a critical path as a connected sequence of activities from the beginning to the end of the project network – all of which have zero
slack. Using an example, they highlighted some peculiarities, or anomalies, in critical
activities compared with PERT/CPM networks.
Wiest [10] also showed some different effects on the length of a critical path when
the durations of some of the component activities are changed. He proposed a classification of critical activities (normal, neutral, reverse, perverse) relating to the effect on the
minimum project duration of a change in the duration of a given activity. We will later
show that this classification is incomplete because it groups together critical activities
which behave differently.
Moder et al. [8], and Moder and Crandall [7], proposed a similar critical activity
classification to that of Wiest. The only differences are that they termed the perverse
class as bicritical, and they divided neutral class activities – when splitting is allowed
– into two groups: start-critical and finish-critical. The same classification appears in
Hajdu [5].
This paper offers a systematic study of the critical nature of activities and relationships in AON networks with minimal time lags in the unlimited resource case, when
activity splitting is not allowed. Specifically, in section 2, we discuss the meaning of the
usual concepts of total slack, critical activity, longest path, and critical path, when applied to AON networks with minimal time lags. In section 3, we propose a classification
of critical activities relating to the effect on the minimum project duration of a change
in the duration of a given activity. This classification extends and completes the partial
classifications proposed above by other authors. In section 4, we present a procedure
for classifying any critical task depending on the early start/finish times, and the type
of relationship represented by the critical arcs incident with the task. This procedure
can easily be included in forward/backward calculations. The proofs of the propositions
supporting this proposal appear in the appendix.
Other models also incorporate relationships with maximal time lags (Bartusch
et al. [1], De Reyck and Herroelen [3], Elmaghraby and Kamburowski [4], Neumann
and Zhan [9]), but it is worth noting that, as far as we know, none address the issue of
criticality in the same way as our proposal.
2.
Slack and criticality
We assume that a project is represented by an AON network G = (V , A) in which V
denotes the set of vertices representing the activities, and A is the set of arcs representing
the precedence relationships. The activities are to be performed without preemption and
are numbered from 1 to n. The activities have known integer durations, Di (all following
CRITICALITY ANALYSIS
19
quantities are assumed to be integers). The starting time of an activity i is denoted by Si
and its finishing time by Fi . As splitting is not allowed, note that Fi = Si + Di .
Four types of relationships may be considered between two activities i and j .
A start-to-start relationship (SS relationship) between the preceding activity i and
the successor j , with a SSij lag factor, indicates that at least SSij time units must elapse
from the start of the activity i prior to the start of the activity j , i.e., Sj − Si SSij ,
where SSij 0.
The lag factor of a finish-to-finish relationship (FF relationship) with predecessor i and successor j is represented by FFij and indicates that Fj − Fi FFij , where
FFij 0.
An extension of the only relationship considered in the classical PERT/CPM networks is the finish-to-start relationship (FS relationship) whose lag factor FSij 0
means that Sj − Fi FSij .
The final possibility is the start-to-finish relationship (SF relationship). Its lag
factor SF ij 0 indicates that Fj − Si SF ij .
The computation of the minimum project duration, T , and the early/late and
start/finish times, E/L and S/F , respectively, for activities in an AON network with
minimal time lags follow the same logic as time analysis in the PERT/CPM model.
These calculations can be performed without requiring the AON network to contain a
single project start or end and maintaining the nature of each precedence relationship as
is shown, for example, in Moder et al. [8]; or alternatively, first converting all precedence
constraints to FS precedence relationships and then applying the standard forward and
backward pass calculations – as has been noted by several authors (Bartusch et al. [1],
Elmaghraby and Kamburowski [4], Herroelen et al. [6]).
In standard PERT/CPM models, the total slack of an activity is defined as Hi =
LSi − ESi = LFi − EFi and has two equivalent interpretations:
(a) Maximum amount of time that an activity start-time can be delayed without delaying
the project completion time.
(b) Maximum amount of time that an activity duration can be increased without delaying the project completion time.
When working with precedence networks, the total slack of an activity is defined
in the same way and the concept follows the first of the interpretations mentioned above.
Nevertheless, in this context there is no equivalence between the two interpretations; and
to study the effect of changes in the duration of an activity on the project it is necessary
to know more than just its slack. Additionally, it is impossible to undertake this study in
a transformed network in which each precedence relation has been substituted for an FS
relationship with an appropriate parameter.
We will examine the project represented by the network G in figure 1. The network G in figure 2 represents the same project after transforming the relationships to
FS type in accordance with the formula proposed by Herroelen et al. [6]:
FSij = max{SSij − Di , SF ij − Di − Dj , FSij , FFij − Dj }.
20
VALLS AND LINO
Figure 1. Network G = (V , A).
Figure 2. Network G = (V , A ).
In the network G , activity 3 has a slack of 2, meaning that its start can be delayed
2 time-units, or its duration can be extended by 2 time-units, without changing the minimum project duration. If the activity is delayed or prolonged by 3 units (more than its
slack) then the project cannot be completed in 9 time-units, and the minimum duration
will have become 10.
With the original precedence relationships (figure 1), the activity 3 slack is also 2,
meaning the maximum delay the activity can suffer without changing the project duration is 2 time-units. Nevertheless, if the activity duration is 5 or 6 (instead of 4) the result
is T = 9, and if the increase were 3 time-units, meaning D3 = 7, then the minimum
project duration would continue to be 9. In network G, an increase in the duration of
activity 3 that is larger than its slack does not cause a delay in the project end-date –
in contrast to G . In network G, we can also observe that if the duration of activity 3
increases from 4 to 5, 6, or 7 then its slack changes from 2 to 3, 3, 2, respectively. So,
in a precedence network, if the duration of an activity with a positive slack increases
(decreases), then its slack may increase, decrease, or remain unchanged.
The precedence networks contemplate the possibility of more than one relationship
(none being redundant) between the same pair of activities. But when these relationships
are transformed to FS type, all but one will be eliminated as redundant in the new network. Though the suppression of these relationships will not, in reality, affect the time
CRITICALITY ANALYSIS
21
calculations, it will mean the loss of information that is necessary if we wish to discover
the variation the project end-date could suffer if some of the activity durations were
changed.
Following the logic of finish-to-start relationships, the restriction imposed in G by
the relationship FS24 = −3 is redundant and can be eliminated.
If in G we consider a reduction in the duration of task 2 by two time-units, then
the minimum project duration will also decrease by 2 units. Nevertheless, the same
variation in activity 2 in the original G network will increase the project duration by
1 unit – an effect that would not have been produced if the relationship SS24 = 2 had
been eliminated. Wiest and Levy [11] and Wiest [10] described this type of behaviour as
an anomaly. It is a product of the existence of various types of precedence relationships,
and cannot be detected in the transformed network.
The example shown above demonstrates that though converting all the relationships of the precedence network to FS type allows the basic calculations to be performed
more easily (as only one precedence concept needs to be handled), the transformed network is not useful in the control phase of a project because it does not adequately reflect
the changes to T caused by possible variations in activity duration.
In these networks, zero slack activities are also termed critical activities, because a
delay in their execution prolongs the project duration. However, an increase in the duration of a critical task does not always produce an increase in the minimum project duration – but may produce different effects as mentioned by Wiest and Levy [11], Wiest [10]
and Moder et al. [8].
Like the above authors, we use the term critical precedence relationship (critical
arc) to describe a relationship between two critical activities that determines the ES time
of its final vertex (or equivalently, a relationship between two critical activities determining the LF time of its initial vertex).
In conventional networks, the term “path length” refers to the minimum possible
duration of the activities in a path. In this way, the length of the longest path determines
the minimum project duration; and given the nature of precedence relationships in these
networks, the length of a path is determined by the sum of the duration of the component
activities.
Any task with a 0 slack must be in one of the longest paths of the network; and
all the activities in a maximum length path have a 0 slack, and so these paths are called
critical.
When working with precedence networks, the concept “path length” has the same
meaning as in PERT/CPM networks. Nevertheless, the properties indicated above are
not generally true.
The length of the path 1FF 12 2FF 24 4SS45 5 in figure 1 is 9, but the sum of the duration of its activities is 15.
When activity 5 – which has a positive duration – is eliminated, a sub-path
(1FF 12 2FF 24 4) of the same length is produced. This is completely impossible in
PERT/CPM networks. Another difference worth highlighting is the fact that a maxi-
22
VALLS AND LINO
mum length path can contain non-critical activities. For example, the previous path is a
longest path in the project shown by figure 1, yet activity 5 has a positive slack.
As a result, in precedence networks it is not adequate to identify the concepts of
critical path and longest path in the traditional PERT/CPM manner. It would be more
adequate to define a critical path as a series of critical vertices and critical arcs where
the first vertex has ES = 0 and the EF of the final vertex coincides with the minimum
project duration. Note that this definition includes the well-known concept of critical
path used by the standard PERT/CPM techniques.
It is not difficult to demonstrate that, like PERT/CPM networks, at least one critical
path always exists. It can also be shown that all critical vertices, and all critical arcs, form
part of a critical path and that all critical paths are longest paths. The inverse relation is
reflected in the following proposition.
Proposition 1. All longest paths contain a critical path.
3.
Classification of critical activities
To investigate the effect on the minimum project duration of a change in the duration of
a critical activity, it is necessary first to study the effect of that change on the length of
those critical paths the activity belongs to.
As already pointed out by Wiest [10], any increase (decrease) in the lag factor
associated with a critical precedence relationship will always result in a corresponding
increase (decrease) in the project duration. However, the next example shows that if the
duration of a critical activity increases (decreases), then the length of a critical path that
contains that activity may increase, decrease, or remain unchanged. Figure 3 shows a
project G together with results of forward/backward calculations. The project duration
is T = 38; the critical activities are 1, 2, 3, 4, 6, 7, 8, 9; and the critical arcs are FF12 ,
SS23 , SS24 , FF36 , FS46 , SF 67 , FF68 , SS78 , FF89 . Figure 4 represents a critical path P
of G.
If the duration of activity 3 increases by 1 unit, then the length of P also increases
by 1 unit. This is normal behaviour in PERT/CPM networks. However, the length of P
Figure 3. Project G.
CRITICALITY ANALYSIS
23
Figure 4. A critical path P .
does not change when the same increase is applied to activity 6. We can also observe that
an increase of 1 unit in the duration of activity 2 will decrease the path length by 1 unit.
Therefore, further information is needed for the classification of a critical activity: the
type of critical arcs incident with it. The following definitions account for all possible
situations. Below, P denotes a path v0 a1 v1 . . . ak vk .
A path P passes through an activity vi (i = 0, k) from start to finish if the arc ai
is either FS or SS type, and the arc ai+1 is either FS or FF type. It is considered that v0
(vk ) satisfies this definition if a1 (ak ) is either FS or FF type (FS or SS).
If ai is either FF or SF type, but ai+1 is either SS or SF type, then it is said that
P passes through the activity vi (i = 0, k) from finish to start. It is considered that v0
and vk cannot exist in this case.
A path P enters and exits from the starting point of an activity vi (i = 0, k) if ai
is either FS or SS type and ai+1 is either SS or SF type. A path P exits from the starting
point of the activity v0 if a1 is either SS or SF type.
A path P enters and exits from the ending point of an activity vi (i = 0, k) if ai is
either FF or SF type and ai+1 is either FS or FF type. A path P enters into the ending
point of the activity vk if ak is either FF or SF type.
According to Wiest [10], the following are the possible effects of a critical activity
on a critical path to which it belongs:
(a) If a critical path passes through an activity from start to finish, then the activity’s
effect on the critical path is normal, i.e., lengthening the activity will lengthen the
critical path, and shortening it will have the opposite effect.
(b) If a critical path passes through an activity from finish to start, then the activity’s
effect on the critical path is anomalous, i.e., lengthening the activity will shorten the
critical path, and shortening the activity will lengthen the path. Such an effect is
called reverse.
(c) If a critical path enters and/or exits from the starting (ending) point of an activity,
then the length of the path is independent of the activity’s duration. Such an effect
is called neutral.
However, this agreement between the location of a critical activity on a critical
path, and the effect of the activity on the path length does not always apply. To obtain a
full classification it is necessary to consider further conditions and to introduce further
effects – as we specify below. In the rest of the paper, an increase (decrease) will mean
an increase (decrease) of 1 unit.
(1) If a critical path P passes through an activity vi from start to finish, and if EFvr < T
∀r < i and ESvq > 0 ∀q > i, then the effect of vi on P is normal, as indicated by
24
VALLS AND LINO
Wiest. However, if there is an r < i so that EF vr = T or there is a q > i so that
ESvq = 0, then the length of P increases when Dvi increases, but it does not change
if Dvi decreases. Such an effect will be called increasing normal.
(2) If a critical path P passes through an activity vi from finish to start, then we can
distinguish the following cases:
(2.1) If ESvi = 0 and EFvi = T , then any variation of Dvi produces an increase in
the length of P . This effect is named perverse by Wiest [10], and bicritical by
Moder et al. [8] (see below).
(2.2) If either ESvi = 0 and EFvi < T or ESvi > 0 and EFvi = T , then an increase
of Dvi does not affect the length of P , but if Dvi decreases, its length increases.
In this case, the effect is called decreasing reverse.
(2.3) If ESvi > 0 and EF vi < T , then:
(2.3.1) If there is an r < i so that EFvr = T or there is a q > i so that
ESvq = 0, then the activity’s effect on P is decreasing reverse.
(2.3.2) Otherwise, the activity has a reverse effect on P .
(3) If either the critical path P enters and exits from the starting point of an activity vi ,
i = 0, k, – or, P exits from the starting point of the activity vi , i = 0, then:
(3.1) If EFvi = T , then the effect is increasing normal.
(3.2) If EF vi < T , then the length of P is not affected by an increase or decrease
of Dvi . This effect is called neutral by Wiest.
(4) If either the critical path P enters and exits from the ending point of an activity vi ,
i = 0, k, – or, P enters into the ending point of the activity vi , i = k, then:
(4.1) If ESvi = 0, then the effect is increasing normal.
(4.2) If ESvi > 0, then the effect is neutral.
To show that the proposed conditions correspond to the described effects it is necessary to analyse the changes produced in the earliest finish time of the activities in P
when Di varies.
To illustrate this point, consider the case (2.2) where ESvi = 0 and EFvi < T .
We indicate by EFvr (ESvr ) the value of early finish (start) time of the activity vr after
varying the duration Di . Obviously, EFvr = EFvr , for all r < i.
If Di increases, EFvi = EFvi +1 T and ESvi = ESvi = 0. Given that the arc ai+1
is either SS or SF type, EF vr = EFvr for all r > i, and in particular, EF vk = EF vk = T .
If Di reduces, EFvi = EFvi and ESvi = ESvi + 1. If the arc ai+1 is SF type or SS type,
EFvr = EFvr + 1 for all r > i. In particular, EFvk = EF vk + 1 = T + 1.
A similar reasoning can be applied in the other cases.
Therefore, a complete classification of critical activity effects should include six
classes: normal, reverse, neutral, bicritical (perverse), increasing normal, and decreasing
reverse.
CRITICALITY ANALYSIS
25
Figure 5. Network G = (V , A).
Figure 5 shows the two newly introduced categories. Activity 3 has a decreasing
reverse effect on the critical path 1FF13 3SF 34 4FS46 6SS68 8SS89 9 (shortening activity 3
will lengthen the path; but lengthening it does not change the length of the path). Note
that the situation of activity 3 in that path corresponds to the case (2.3.1) in the earlier classification. Activity 8 has an increasing normal effect on the same critical path,
because lengthening the activity will lengthen the critical path but shortening the activity does not change its length (the situation of activity 8 inside the path is described in
point (3.1)).
This classification is a prior step for studying the effect on the minimum project
duration T of a change in the duration of a critical activity. To this end, Wiest [10]
proposes combining the individual effects of a critical activity on all the critical paths
it belongs to; and suggests a classification into four categories: normal, reverse, neutral
and perverse. The same classification but with a minor change in the nomenclature
appears in the works of Moder et al. [8], and Hajdu [5]. However, this classification
is not only incomplete, but also misleading. As an example, it is not always true, as is
said in Wiest [10], that if a critical activity belongs to all critical paths, and has a normal
effect on some of them and a neutral effect on the rest – then its effect on T is normal.
For example, in figure 5, activity 6 belongs to the only two critical paths in the network:
P 1 ≡ 1FF 13 3SF 34 4FS46 6FF 67 7 and P 2 ≡ 1FF 13 3SF 34 4FS46 6SS68 8SS89 9. It has a
normal effect on P 1 and a neutral effect on P 2. If the duration of activity 6 increases,
then T increases; however, if D6 decreases then T does not decrease.
In the next section, we show that a complete classification of the effect on the
minimum project duration T of a change in the duration of a critical activity also requires
six categories: normal, reverse, neutral, bicritical, increasing normal, and decreasing
reverse. We also present a procedure for classifying any critical task, depending on the
type of critical arcs incident with it, and the forward pass computation outcomes.
4.
Classification procedure
To study the effect of a critical activity i on T , we analyse the different situations in
which vertex i can be within the critical sub-graph. The critical sub-graph is the sub-
26
VALLS AND LINO
graph defined by the critical activities and the critical precedence relationships. A diagram represents each situation where the starting (finishing) point of an arc refers to the
types of precedence relationship represented. The situations are the following:
(1) There are critical arcs (at least one) whose initial vertex is i; all of which are SS or
SF arcs; and if critical arcs with final vertex i also exist, they all arrive at its starting
point. Then,
(1.1) If EFi < T , then i is a neutral critical activity.
(1.2) If EFi = T , then i is an increasing normal critical activity.
(2) There are critical arcs (at least one) whose final vertex is i; all of which are SF
or FF arcs; and if critical arcs with initial vertex i exist, they all affect the ending
point of i. Then,
(2.1) If ESi > 0, then i is a neutral critical activity.
(2.2) If ESi = 0, then i is an increasing normal critical activity.
(3) Every critical arc arriving at i affects its starting point, and every critical arc exiting
from i affects its ending point.
Two cases can be distinguished:
(3.1) All critical paths contain the activity i.
(a) If EFj < T for every critical vertex j < i and ESu > 0 for every critical
vertex u > i, then i is a normal critical activity.
Figure 6. Diagram for situation 1.
Figure 7. Diagram for situation 2.
Figure 8. Diagram for situation 3.
CRITICALITY ANALYSIS
27
(b) If there is a critical vertex j < i so that EFj = T or there is a critical
vertex u > i so that ESu = 0, then i is an increasing normal critical
activity.
(3.2) There is at least one critical path which does not contain the activity i. In this
case, i is an increasing normal critical activity.
(4) There are critical arcs (at least one) whose final vertex is i; all of which affect its
ending point; there are critical arcs (at least one) whose initial vertex is i and they
all affect its starting point.
Then, the following situations should be differentiated:
(4.1) If ESi = 0 and EFi = T , then activity i will have a perverse effect upon all
critical paths containing it. Therefore, i will be a bicritical activity.
(4.2) If either ESi = 0 and EFi < T or ESi > 0 and EFi = T , then activity i will
have a decreasing reverse effect upon all critical paths containing it. And if
activity i does not belong to some critical path, then changes in Di will not
alter their lengths. Therefore, i will be a decreasing reverse critical activity.
(4.3) If ESi > 0 and EFi < T , then:
(a) If i belongs to all critical paths and EFj < T for every critical vertex
j < i and ESu > 0 for every critical vertex u > i, then activity i will
have a reverse effect upon all critical paths. Therefore, i will be a reverse
critical activity.
(b) Otherwise, i will be a decreasing reverse critical activity.
(5) There are critical arcs (at least one) exiting from the starting point of activity i, and
other critical arcs (at least one) exiting from its ending point. Furthermore, if there
are critical arcs with final vertex i, they all enter at its starting point.
In this case, some critical paths enter and exit from the starting point of activity i
(or only exit from its starting point) and others pass through i from start to finish.
As the effect of i upon the latter can only be normal or increasing normal, an
increase of Di will also increase the project duration. In addition, i has a neutral
Figure 9. Diagram for situation 4.
Figure 10. Diagram for situation 5.
28
VALLS AND LINO
or increasing normal effect upon the former. So, a decrease of Di will not change
project duration. Therefore, in this case, i is an increasing normal critical activity.
(6) There are critical arcs (at least one) arriving at the starting point of activity i, and
other critical arcs (at least one) arriving at its ending point. Furthermore, if there
are critical arcs with initial vertex i, they all exit from its ending point.
Some critical paths enter and exit from the ending point of activity i (or only enter
at its ending point) and others pass through i from start to finish. As i has a neutral
or increasing normal effect upon the former, and a normal or increasing normal
effect upon the rest, i is an increasing normal critical activity.
(7) At least one critical arc arrives at activity i and all the critical arcs arriving at
activity i are FF or SF type, and at least one critical arc exits from its starting
point, and another exits from its ending point.
Some critical paths enter and exit from the ending point of activity i, and others
pass through i from finish to start. Then:
(7.1) If ESi = 0, lengthening activity i will lengthen the critical paths that enter
and exit from its ending point (since i has an increasing normal effect upon
them). And shortening activity i will lengthen the critical paths that pass
through i from finish to start. Then, i is a bicritical activity.
(7.2) If ESi > 0, activity i has a neutral effect upon all critical paths that enter and
exit from its ending point, and a reverse or decreasing reverse effect upon all
critical paths that pass through i from finish to start. Then, i is a decreasing
reverse critical activity.
(8) At least one critical arc enters at the starting point of activity i, at least one enters
at its ending point, and all the critical arcs with initial vertex i (and there is at least
one) exit from its starting point.
Analogously to the case above:
(8.1) If EFi = T , i is a bicritical activity.
(8.2) If EFi < T , i is a decreasing reverse critical activity.
Figure 11. Diagram for situation 6.
Figure 12. Diagram for situation 7.
CRITICALITY ANALYSIS
29
Figure 13. Diagram for situation 8.
Figure 14. Diagram for situation 9.
(9) Suppose that there are critical arcs entering at the starting point of activity i, critical
arcs entering at its ending point, and critical arcs exiting from any of its extremes
(at least one of each type).
There is at least one critical path, which passes through i from start to finish. As i
has a normal or increasing normal effect upon it, lengthening activity i will delay
project completion. There is at least one critical path, which passes through i from
finish to start. Then, activity i has an reverse, decreasing reverse, or bicritical effect
upon it. That means that shortening activity i will lengthen this critical path; so it
will also delay project completion. Therefore, i is a bicritical activity.
(10) If no critical arc is incident with activity i then ESi = 0 and EFi = T . In this case,
there exists a critical path consisting only of vertex i. Then:
(10.1) If no more critical paths exist, i is a normal critical activity.
(10.2) If other critical paths exist, i is an increasing normal critical activity.
All possible situations of a critical activity within the critical sub-graph are grouped
in these ten cases as shown in the binary tree in figure 15. This tree represents a partition
of the set of possible situations. Each leaf of the tree represents an element of the partition defined by the juxtaposition of the conditions expressed in the vertices of the only
path connecting the leaf to the root vertex of the tree. Each of the ten cases corresponds
to a tree leaf; except for case (3) which corresponds to two leaves. Each condition is
briefly expressed by symbols. The symbol “✸” is a wild card that can represent F or S.
The symbol “∗” is another wild card that represents a j activity different from i. The
identification of the conditions is direct. For example, ∃S✸i∗ means that at least one
critical arc of the type SF or SS exits from activity i, while ∃✸F∗i means that no critical
arc of the type SF or FF arrives at activity i.
To complete this study it remains necessary to guarantee that in order to discover
the effect on the minimum project duration of a unitary change in the duration of a
critical activity, it is enough to know the effect of that change on the critical paths.
Slight reflection reveals that it is sufficient to prove that if lengthening (shortening) a
critical activity by 1 time-unit has the effect of shortening all critical paths (this only
30
VALLS AND LINO
Figure 15. Possible situations of a critical activity within the critical sub-graph.
happens in (3.1.a), (4.3.a) and (10.1)), then there is no path of length T −1 that lengthens.
Proposition 2 eliminates such a possibility in cases (3.1.a), (4.3.a) and (10.1).
Proposition 2. Let vi be a critical activity in case (4.3.a) ((3.1.a) and (10.1)). Then, if
Dvi increases (decreases) one time-unit, the length of any path in the network will be
less than T .
It is worth noting that the only information required by the proposed classification
procedure can be easily obtained from forward and backward pass computations.
Finally, we illustrate the above procedure on the project in figure 3. The critical
sub-graph Gc appears in figure 16.
Activity 1 is incident with only a critical arc of the type FF; belongs to all critical
paths and ESu > 0 for any other critical activity u. Its subsequent situation is described
in (3.1) and it is a normal critical activity.
The only critical arc with final vertex 2 is FF type and the two critical arcs exiting
from this vertex affect its starting point; ES2 > 0 and EF2 < T . As activity 2 belongs
to all critical paths, EF < T for the previous critical vertices and ES > 0 for all the
subsequent ones, it is a reverse critical activity, as indicated in (4.3.a).
Activities 3 and 4 are both increasing normal critical, since every arriving critical
arc affects their starting point, every exiting critical arc affects their ending point and
they are not in all critical paths. Note that both activities are in case (3.2).
CRITICALITY ANALYSIS
31
Figure 16. Critical sub-graph Gc of network G shown in figure 3.
Figure 17. An AON network with maximal time lags.
One critical arc enters at the starting point of activity 6 and another one enters at
its ending point. One critical arc exits from its starting point and another exits from its
ending point. So, activity 6 is a bicritical activity, as indicated in case (9).
There is only one critical arc entering at vertex 7 and it affects its ending point.
There is only one critical arc exiting from vertex 7 and it affects its starting point. Activity 7 does not belong to all critical paths and also ES7 > 0 and EF7 < T . Therefore,
it is a decreasing reverse critical activity (see (4.3.b)).
The situation of activity 8 is described in case (6) (there is one critical arc arriving
at its starting point, one critical arc arriving at its ending point and one critical arc exiting
from its ending point). So it is an increasing normal critical activity.
Finally, as said in (2.1), activity 9 is a neutral critical activity because the only
critical arc incident with it enters at its ending point and ES9 > 0.
It is worth noting that the analysis of criticality in the case of maximal time lags is
not a simple extension of the analysis we have presented in this paper. Figure 17 shows
a network in which all activities and arcs are critical.
According to the classification proposed in the paper, activity 1 should be increasing normal. However, if D1 = 6, then T = 10, but if D1 = 4, then T = 8. Therefore,
activity 1 is normal.
Also, there is only one critical path: 1FF 12 2SS23 3 unless we admit non-elementary
critical paths. Therefore, activities 4 and 5 and arcs (3,4), (4,5) and (5,1) do not belong
to any critical path even though they belong to a critical circuit.
32
VALLS AND LINO
In our opinion, the case of maximal time lags is so different that it requires a
separate analysis.
5.
Summary
In this paper we have offered a systematic study of the critical nature of activities and
relationships in AON networks with minimal time lags in the unlimited resource case;
when activity splitting is not allowed. We have discussed the meaning of the usual
concepts of total slack, critical activity, longest path and critical path, when applied to
AON networks with minimal time lags.
A systematic analysis of the effects on the minimum project duration of a change
in the duration of a given activity has revealed the existence of two new, and previously
unconsidered, effects. Another consequence of this systematic approach is that all possible situations are included in our proposal for classifying the criticality of activities into
six classes. These classes are: normal, reverse, neutral, bicritical, increasing normal, and
decreasing reverse.
Finally, we have presented a procedure for classifying any critical task; depending
on the early start/finish times, and on its position within the critical paths. This procedure
can easily be included in forward/backward pass calculations.
Appendix
Lemma 3. Let w be a critical vertex and a = (v, w) an arc which determines ESw .
Then, v is also a critical vertex.
Proof. Let us suppose that a = (v, w) represents an FF relationship. For the other
three cases, the proof is analogous. Since a determines ESw and w is a critical vertex,
then LSw = ESw = EFv + FFvw − Dw . Hence, LFv LFw − FFvw = LSw + Dw −
FFvw = EFv . Therefore, EFv = LFv , that is to say, v is a critical vertex.
Proposition 4. All longest paths contain a critical path.
Proof. Let q be a longest but non-critical path, q ≡ v0 a1 v1 . . . ak vk . The length of q
is T and, therefore, there is some vertex vr in q so that EFqvr = T where EFqvj denotes
the earliest finish time of vertex vj , considering only the arcs in q. As EFqvr EFvr then
T = EFqvr EFvr LFvr T and hence EFvr = LFvr , i.e., vr is a critical vertex.
If ESvr = 0, the path composed of just the vertex vr is a critical path contained
in q.
On the contrary, let us now suppose that ESvr > 0. In this case, ar = (vr−1 , vr )
determines ESvr since EFqvr = EFvr implies ESqvr = ESvr . Therefore, vr−1 is a critical
vertex by lemma 3. Accordingly, ar is a critical arc.
If ESvr−1 = 0, the path vr−1 ar vr is the one we are looking for.
CRITICALITY ANALYSIS
33
If not, ESvr−1 > 0. Let us suppose in this case that ar = (vr−1 , vr ) is an FF arc.
For the other three cases, the proof is analogous.
ESvr = ESqvr = max 0, EF qvr−1 + FFvr−1 vr − Dvr = EFqvr−1 + FFvr−1 vr − Dvr
and also
ESvr = EFvr−1 + FF vr−1 vr − Dvr
as ar determines ESvr . Therefore EF qvr−1 = EFvr−1 and hence, ESqvr−1 = ESvr−1 .
Applying the previous reasoning it can be shown that vr−2 and ar−1 are critical, and
so on. This process stops as soon as a critical vertex vz with ESvz = 0 is found. Then,
the path vz az+1 . . . ar vr is the one we are looking for.
Proposition 5. Let vi be a critical activity in case (4.3.a) ((3.1.a) and (10.1)). Then, if
Dvi increases (decreases) one time-unit, the length of any path in the network will be
less than T .
Proof. (I) If vi is a critical activity in the case (4.3.a) of section 4 (the proof is analogous
for the case (3.1.a)), then:
(1) Any critical arc with final vertex vi represents an FF or SF relationship.
(2) Any critical arc with initial vertex vi represents an SS or SF relationship.
(3) ESvi > 0.
(4) EF vi < T .
(5) vi is in any critical path.
(6) EF j < T for every critical vertex, j , previous to vi in the considered topological
order.
(7) ESu > 0 for every critical vertex, u, posterior to vi in the considered topological
order.
The length of any critical path is T and, using the above hypothesis, by lengthening
activity vi by 1 time-unit, the resulting length of all critical paths will be T − 1. Let us
consider a non-critical path q that contains vi , and let us see that if Dvi increases 1 timeunit, the resulting length of q will be less than T .
If q is a non-critical path with length T , by proposition 4 it contains a critical
path p. By the hypothesis, vi belongs to p and it has a reverse effect upon p, i.e.,
lengthening vi by 1 time-unit the resulting length of p will be T − 1. And, if this occurs,
the length of q will also be reduced, since on the contrary, there would be some vertex vr
in q with EF vr = T , so that it would be unaffected by the change in Dvi ; and this
contradicts the hypothesis (6) and (7). Therefore, lengthening vi will shorten q.
Let q be a non-critical path with a length less than T which contains vi , q ≡
v0 a1 v1 . . . ai vi ai+1 . . . ak vk . Let (q) be the length of q. Then,
(q) = max EFqvj ,
0j k
34
VALLS AND LINO
where EFqvj means the same as in proposition 4. Obviously, ESqvj ESvj and EFqvj EFvj ∀j ∈ {0, . . . , k}. We will denote by (EFqvj ) and (EFqvj ) , the corresponding times
when the only change in q is the duration of vi , the new duration being Dv i = Dvi + 1.
And
(q) = max EFqvj
0j k
will represent the length of q after the change. It is clear that (ESqvj ) = ESqvj and
(EFqvj ) = EFqvj ∀j ∈ {0, . . . , i − 1}. Let us see what happens with the rest of activities
in q. We distinguish the following cases:
(a) q passes through vi from finish to start.
(a.1) If ESqvi > 0, as ai is an FF or SF arc, (ESqvi ) = ESqvi − 1 and (EF qvi ) = EFqvi .
Since ai+1 represents an SS or SF relationship, the finish time of any vertex vj
in q with j > i will not be delayed. Therefore, (q) < T .
(a.2) If ESqvi = 0, then
ESqvi
=0
and
EFqvi
= ESqvi + 1.
(A.1)
As ai+1 is an SS or SF arc, the change in the duration of vi does not affect the
rest of the activities in the path. Therefore:
(a.2.1) If EFqvi < (q), by (A.1) it is deduced that (q) = (q) < T .
(a.2.2) If EFqvi = (q), then
(q) = EF qvi + 1.
(A.2)
By the hypothesis (3), ESqvi < ESvi , hence
EFqvi < EFvi .
(A.3)
From (4), (A.2) and (A.3), (q) < T .
(b) q enters and exits from the starting point of vi . (Analogously if i = 0 and q exits
from the starting point of v0 .)
In this case, (ESqvi ) = ESqvi and, as ai+1 is an SS or SF arc, (EFqvj ) = EFqvj , ∀j = i.
Then, the only time that has changed is (EFqvi ) = EF qvi + 1.
Since ai is an SS or FS arc, it is not a critical arc (hypothesis (1)). Given that vi is
a critical vertex, as a consequence of lemma 3, ai does not determine ESvi . Bearing
in mind the hypothesis (3), ESvi is determined by another arc with final vertex vi .
Therefore,
ESqvi < ESvi
and
EFqvi < EFvi .
(A.4)
(b.1) If EFqvi < (q), then (q) = (q) < T.
(b.2) If EFqvi = (q), then
(q) = EFqvi + 1.
(A.5)
CRITICALITY ANALYSIS
35
From (4), (A.4) and (A.5), (q) < T .
(c) q enters and exits from the ending point of vi . (Analogously, if i = k and q enters
the ending point of vk .)
(c.1) If ESqvi > 0, analogously to case (a.1), (q) = (q) < T .
(c.2) If ESqvi = 0, then (ESqvi ) = 0 and (EFqvi ) = EF qvi +1. Since ai+1 is an FS or FF
arc, a single unit increase of Dvi could delay activities vi+1 , . . . , vk 1 time-unit
at most. So, if (q) < T − 1 then it can be affirmed that (q) < T .
Suppose that (q) = T − 1. By the hypothesis (3), ESqvi < ESvi , hence
EFqvi < EFvi .
Then, (4) and (A.6) indicate that EFqvi < (q). Thereby,
q EFvi (q).
(A.6)
(A.7)
Let us see that (A.7) is also true for vj with j > i.
ai+1 is not a critical arc because it is an FS or FF arc and we are assuming (2).
Suppose that ai+1 represents an FF relationship. (The reasoning is analogous
for an FS relationship.)
ESqvi+1 = max 0, EF qvi + FFvi vi+1 − Dvi+1 ,
q ESvi+1 = max 0, EFqvi + FFvi vi+1 − Dvi+1 .
(c.2.1) If EFqvi + FFvi vi+1 − Dvi+1 < 0, then (EFqvi ) + FFvi vi+1 − Dvi+1 0, that
is, (ESqvi+1 ) = 0 = ESqvi+1 . It means that vi+1 will not be delayed and
neither vj with j > i: (EFqvj ) = EFqvj (q) ∀j = i. This together
with (A.7) leads us to say that (q) = (q) = T − 1.
(c.2.2) If EFqvi + FF vi vi+1 − Dvi+1 0, then (EFqvi ) + FF vi vi+1 − Dvi+1 > 0
and (ESqvi+1 ) = ESqvi+1 + 1. It means that vi+1 is delayed 1 time-unit.
In this case, ESqvi+1 = EFqvi + FFvi vi+1 − Dvi+1 , and by (A.6):
ESqvi+1 EFvi + FF vi vi+1 − Dvi+1 − 1.
(A.8)
• If ai+1 does not determine ESvi+1 ,
ESvi+1 > EF vi + FF vi vi+1 − Dvi+1 .
(A.9)
From (A.8) and (A.9),
ESqvi+1 < ESvi+1 − 1 LSvi+1 − 1.
• If ai+1 determines ESvi+1 ,
ESvi+1 = EF vi + FF vi vi+1 − Dvi+1 .
(A.10)
36
VALLS AND LINO
According to lemma 3, vi+1 is not a critical vertex because ai+1
determines ESvi+1 and ai+1 is not a critical arc (see hypothesis (2)).
So:
ESvi+1 < LSvi+1 .
(A.11)
From (A.8), (A.10) and (A.11) ESqvi+1 ESvi+1 − 1 < LSvi+1 − 1.
Therefore, in both cases
ESqvi+1 < LSvi+1 − 1.
(A.12)
According to backward pass computations, T − LSvi+1 is the minimum
number of time-units between the start of activity vi+1 and the end of
the project. In the same way, for the sub-project q (we are assuming
that its minimum duration is T − 1) the amount T − 1 − LSqvi+1 is the
minimum time necessary to carry out activities vi+1 , . . . , vk , considering only the relationships in q.
Given that q is a sub-project of the global project, T − 1 − LSqvi+1 T −LSvi+1 and LSvi+1 LSqvi+1 +1. Then, from (A.12), ESqvi+1 < LSqvi+1 ,
and it means that, although vi+1 was delayed 1 time-unit, its start time
would not be greater than LSqvi+1 , that is, the length of q remains the
same:
(q) = (q) = T − 1.
(d) q passes through vi from start to finish.
In this case, (ESqvi ) < ESqvi , (EFqvi ) = EF qvi + 1 and ai+1 is an FS or FF arc. It is
concluded that (q) < T following a similar reasoning to case (c.2). The difference
is that now (A.6) is obtained because vi is a critical vertex but ai is not a critical arc;
then, ai does not determine ESvi .
(II) If vi is a critical activity in the case (10.1) of section 4 and Dvi reduces, then
the length of the only critical path diminishes.
If q is a non-critical path with a length less than T , then q does not contain vi
(Dvi = T ). Therefore, if Dvi reduces, the length of q will continue being less than T .
Suppose q is a non-critical path containing vi , q ≡ v0 a1 v1 . . . ai vi ai+1 . . . ak vk . As
the duration of vi is T , (q) = T . We can see that if Dvi reduces one unit, then the
length of q will be less than T .
For all vj of the path q, different from vi , EFqvj < T . (Note that if EFqvj = T , then
vj will be a critical vertex and a critical path containing it will exist. This path will be
different to that formed only by vi ; and this contradicts the supposition in case (10.1).)
If ai+1 exits the end of vi , ai+1 will be a critical arc; but this is not possible under
the previous reasoning. Therefore, ai+1 is an SS or SF arc.
(a) If ai is an SS or FS arc, given that Dv i = Dvi − 1 then (ESqvi ) = ESqvi = 0 and
(EFqvi ) = EFqvi − 1 = T − 1. As ai+1 exits the beginning of vi , then (EFqvj ) = EFqvj
for all vj later than vi in q. So, (EFqvj ) < T ∀vj ∈ q and (q) < T .
CRITICALITY ANALYSIS
37
(b) Suppose that ai is an FF or SF arc. According to the hypothesis of the case (10.1),
ai cannot be a critical arc. According to lemma 3, as vi is critical, ai does not
determine ESvi . So, (ESqvi ) = ESqvi = 0 and (EFqvi ) = EF qvi − 1 = T − 1; and, as in
the previous case, (q) < T .
Acknowledgement
This research was partially supported by Generalitat Valenciana with code GV-3310/95.
References
[1] M. Bartusch, R.H. Möhring and F.J. Radermacher, Scheduling project networks with resource constraints and time windows, Annals of Operations Research 16 (1988) 201–240.
[2] K.C. Crandall, Project planning with precedence lead/lag factors, Project Management Quarterly 4
(1973) 18–27.
[3] B. De Reyck and W. Herroelen, A branch-and-bound procedure for the resource-constrained project
scheduling problem with generalized precedence relations, European Journal of Operational Research
111 (1998) 152–174.
[4] S.E. Elmaghraby and J. Kamburowski, The analysis of activity networks under generalized precedence relations (GPRs), Management Science 38(9) (1992) 1245–1263.
[5] M. Hajdu, Network Scheduling Techniques for Construction Project Management (Kluwer Academic,
1997).
[6] W. Herroelen, B. De Reyck and E. Demeulemeester, Resource-constrained project scheduling: A survey of recent developments, Comput. Oper. Res. 25(4) (1998) 279–302.
[7] J.J. Moder and K.C. Crandall, Precedence diagramming: Time computations, anomalies and remedies, Project Management: Methods and Studies (1985) 95–110.
[8] J.J. Moder, C.R. Phillips and E.W. Davis, Project Management with CPM, PERT and Precedence
Diagramming (Van Nostrand–Reinhold, 1983).
[9] K. Neumann and J. Zhan, Heuristics for the minimum project-duration problem with minimal and
maximal time lags under fixed resource constraints, Journal of Intelligent Manufacturing 6 (1995)
145–154.
[10] J.D. Wiest, Precedence diagramming method: Some unusual characteristics and their implications for
project managers, Journal of Operations Management 1 (1981) 121–130.
[11] J.D. Wiest and F.K. Levy, A Management Guide to PERT/CPM with GERT/PDM/DCPM and other
Networks (Prentice-Hall, 1977).
Download