Professional Documents
Culture Documents
A project is defined as a collection of interrelated activities with each activity consuming time and
resources. We can give a vide variety of project examples:
The successful management of large-scale projects requires careful planning, scheduling and
control of numerous interrelated activities:
Project planning: Project planning involves defining each elementary activity to be executed,
clarifying the precedence relationships regarding the order in which these activities must be
performed, and estimating the time and the resources required to execute each activity.
Project scheduling: Project scheduling involves developing a time schedule for these activities, i.e.,
determining the start time and the completion time of each activity in the project. The main aim of
the project scheduler is to find a compromise between the resource utilization levels and the
completion time of the project.
Control: During the actual execution of the project, things may not proceed as planned, as some
activities may be expedited or delayed. This is why the correspondence between the established
time schedule and the real-time situation of the project must be controlled and, in case of large
deviations, the time schedule must be revised to reflect the realities on the ground.
CPM (Critical Path Method) and PERT (Program Evaluation and Review Technique) are network-
based methods designed to assist in the planning, scheduling, and control of projects. The objective
of CPM and PERT is to provide analytic means to schedule the activities.
The precedence relationships between the activities and also the activity localizations in time can be
expressed through precedence constraints having the following general structure:
− ≥
1. Localization in time:
a. − ≥ → ≥ +
a. Strict succession: − ≥ → ≥ +
− ≥
Activity has to start at the date + .
− ≥ −
− ≥
Activity ! has to start when activity is completed.
− ≥ −
All PERT/CPM systems use a project network to portray graphically the interrelationships among
the elements of a project. This network representation of the project shows all the precedence
relationships between the activities.
!
Start End
Node “Start” represents the start of the project. This is the only node of the project network
with no entering arcs. An arc should lead from this node for each activity that has no
predecessors.
Node “End” represents the completion of the project. This is the only node of the project
network with no outgoing arcs.
Example 5.1: Consider a project with 6 activities. The precedence constraints related to this project
are given as follows:
" − # ≥ #
$ − % ≥ %
Figure 5.3 gives the AON project network and Figure 5.4 gives the AOA project network of this
example problem.
# "
A C E '
0 "
Start $ (
End
0 % $ F
B D
End A End C
Start C End D
End E
# "
Start E
End F
Start F ' End Project
Start Project
Start A
(
Start B
% $
End B
Start D
In AOA networks, it is sometimes necessary to utilize dummy activities that take zero time and
consume no resources. A dummy activity is normally depicted by a dashed arc.
The basic reason to use a dummy activity in an AOA network is to maintain the correct precedence
relationships when some of the immediate predecessors of an activity are also immediate
predecessors of some distinct activities. An example situation is given in Figure 5.5.
End A
#
% − # ≥ # A Start A #
Start D
$ End D
#
B
% − " ≥ "
$ − # ≥ # C " D
0
Start C " %
End B
End C
Start B
Dummy arcs are also used in order to represent concurrent activities. Concurrent activities have the
same predecessors and successors and thus can be represented using parallel arcs. To be able to
distinguish better these activities, a dummy activity is usually inserted to the network. Note that this
convention is not really necessary for the mathematical treatment of the problem. However, it is very
useful for computer applications where each arc is coded as a pair of nodes, using the form (, !). By
inserting a dummy arc, the AOA network of Example 5.1 can be redefined as in Figure 5.6.
End A End C
Start C End D End E
# "
Start E '
Start F
Start Project
Start A
0
Start B % $ ( End F
End Project
End B
Start D
In AOA networks, an activity can be represented by more than one arc if there is succession with
overlapping between this activity and one of its immediate successors (See Figure 5.7).
End C
We can observe that the AON network of a project is unique. Moreover, new constraints can be
inserted directly (without making additional modifications on the network) to an AON network. If we
analyze the characteristics of AOA networks, we can see that more than one AOA network can be
defined for the same project. An AOA network can rapidly become unreadable because of the dummy
activities. Moreover, in an AON network, the set of dummy activities must be modified when new
constraints are to be introduced. On the other hand, the AOA network of a project may contain fewer
nodes than the AON network and thus may facilitate the resolution of the project scheduling problem.
The AON and AOA networks are used to solve the project scheduling problem. However, the obtained
project schedule is generally illustrated using a Gantt chart. The Gantt chart is an excellent technique
for visualizing the phases and activities of a project but it does not provide a systematic procedure to
solve the project scheduling problem.
Activities
(
$ '
% "
#
time
Figure 5.8. A Gantt diagram example for the project of Example 5.1
In PERT/CPM systems, the interrelationships among the elements of a project are represented using
an AOA network. MPM (Méthode des Potentiels Métra), which is a similar method proposed in
France, uses AON network representations. Whatever the type of the project network is, the concept
of a critical path is the same for all the proposed methods. This is the reason why all these methods
are known as critical path methods.
Consider a project having precedence constraints of the form − ≥ with > 0 for all and
!. The AON network of such a project can not contain a directed cycle. As mentioned in Chapter
IV, a directed network with no directed cycles is called a directed acyclic network. Then, the AON
network of a project that has only positive potentials (i.e., > 0 for all and !) is always an
acyclic network.
Example 5.2: Consider the two precedence constraints, − ≥ and − ≥ , that are
shown in Figure 5.9. These two constraints form a directed cycle and imply together that
≤ − ≤ − . However, this relation is not coherent if > 0 and > 0. This proves that
the AON network of a project that has only positive potentials can not contain directed cycles.
− ≥
− ≥ !
The activities of a project that has only positive potentials can be ranked in a way that an activity
having the rank -./ ( ) = / has all its predecessors in ranks / − 1, / − 2, … , 0. As explained in
Chapter IV, this ranking of activities is called a topological ordering. The obtained ranking is then
Example 5.3: Consider a project having 8 distinct activities. The precedence relations between
these 8 actives are given in the table below:
16 8
A D G
15
5 14 18
1 12 25
Start B E End
10 9
17
3 7 F
20
C H
End F
End B End E
End A End D
Start D Start G
Start A 16 8
5 2 9
Start E
15
1 Start B 10 2 9
Start 3 25
0 End
0 End G
0 Start F End H
17
7 13
Start C Start H
Fin C
The aim in a project scheduling problem is to determine the longest path from the “Start” node to
the “End” node of the corresponding project network. This is known as the critical path. The length
of the critical path determines the minimum time required to complete the project.
5 : earliest start time of activity , i.e., the (estimated) start time of activity if all the
preceding activities are started as early as possible
6 : latest start time of activity , i.e., the (estimated) start time of activity at which the
activity can start without delaying the completion of the project
1. Compute the earliest start time of each activity by a forward pass through the network; that is,
the computations proceed from node “Start” to node “End”.
2. Compute the latest start time of each activity by a backward pass through the network; that is,
the computations proceed from node “End” to node “Start”.
The simplified version of the Bellman-Ford algorithm, seen in Chapter IV, can be easily modified
to process these two steps.
5789:8 = 0
For / = 1 to 4
For each node ! of rank / !
5 = max∈?() @5 + A
This algorithm can be justified even intuitively: if we cannot start activity before the date 5 (for
some that precedes !), then we cannot start activity ! before the date 5 + .
The date E'CD is exactly the length of the critical path. In the following, we suppose that the project
scheduler wants to finish the project as early as possible, i.e., at the date E'CD .
6'CD = E'CD
For / = 4 − 1 to 0
For each node of rank /
!
6 = min∈F() @6 − A
The fundamental observation that follows directly from the above definitions is the following: an
activity can start at any time in the interval G5 , 6 H, without delaying the completion of the project.
That is, after determining the earliest and latest start times of the activities, we can determine the
amount of total slack associated to each activity. The total slack of an activity is the length of time
an activity can be delayed without increasing the project completion time. The total slack I3 of an
activity is given as:
I3 = 6 − 5
5 6 5 12 21 28 36 36
16 8
A D G
15
5 14 18
0 0 1 1 13 18 51 51
1 12 25
Start B E End
10 9
17
3 7 F
C 20 H
3 4 11 11 23 34
Figure 5.12. Earliest and latest start times of the activities for the project of Example 5.3
Note that a project may have more than one critical path. Thus, an activity is critical if it is on at
least one of the critical paths.
Example 5.3 (continuation): The temporal characteristics of the activities are given as follows:
Start A B C D E F G H End
L 0 5 1 3 21 13 11 36 23 51
M 0 12 1 4 28 18 11 36 34 51
NO 0 7 0 1 7 5 0 0 11 0
Let J be the latest start time of activity at which the activity can start letting the succeeding
activities to start at their earliest start times. For an activity , J is calculated as:
J = min∈F() @5 − A
That is, an activity can start at any time in the interval G5 , J H without delaying the succeeding
activities. The free slack K3 of an activity is then obtained as:
K3 = J − 5 .
As can be guessed, the free slack of an activity is the length of time an activity can be delayed
without delaying the succeeding activities.
time
Total Slack
Free Slack
5 J 6
5 J 5 5 21 28 36 36
16 8
A D G
15
5 14 18
0 0 1 1 13 14 51 51
1 12 25
Start B E End
10 9
17
3 7 F
C 20 H
3 3 11 11 23 34
Figure 5.14. J values of the activities for the project of Example 5.3
Example 5.3 (continuation): The difference between the total slack and the free slack is evident in
our numerical example:
Start A B C D E F G H End
L 0 5 1 3 21 13 11 36 23 51
M 0 12 1 4 28 18 11 36 34 51
P 0 5 1 3 28 14 11 36 34 51
NO 0 7 0 1 7 5 0 0 11 0
QO 0 0 0 0 7 1 0 0 11 0
In the following, we study such questions that can be faced by the manger of the project given in
Example 5.3.
Question 1. Suppose that the project manager has realized that activity E cannot start before day 14.
What are the consequences of this delay?
Since the imposed delay (14 − 13 = 1) is not greater than the free slack of activity E (K3' = 1),
this additional constraint has an impact neither on the completion time of the project nor on the
completion times of the succeeding activities.
Question 2. The project manager has realized that activity E cannot start before day 15. What are
the consequences of this delay?
Since the imposed delay (15 − 13 = 2) is greater than the free slack of activity E (K3' = 1), the
succeeding activities will also be delayed. However, it does not change the completion time of the
project since 15 − 13 = 2 ≤ I3' = 5.
The information obtained from critical path calculations is very valuable but does not provide
directly a project schedule. In fact, many different schedules may be compatible with the calculated
earliest and latest start dates.
Activities
End •
23
H
17
36
G
15
11
F
25
13
E
18
21
D
8
3
C
20
1
B
14
5
A
16
Start •
time
51
End •
H 34
17
36
G
15
11
F
25
E 18
18
D 28
8
C 4
20
B 1
14
A 12
16
Start •
time
51
The final project schedule is preferred to be a schedule that satisfies the capacity constraints.
However, project scheduling problems with capacity constraints are very hard to solve. Heuristic
procedures are generally used to obtain good sub-optimal schedules for problems with capacity
constraints.
Once we have developed the network representation of a given project, we need information on the
time required to complete each activity. This information is used in the calculation of the total time
required to complete the project and in the scheduling of specific activities. For repeated projects, such
as construction and maintenance projects, managers may have the experience and historical data
necessary to provide accurate activity time estimates. However, for new or unique projects, estimating
the time for each activity may be quite difficult. Besides, in some situations, activity times are affected
by totally uncontrollable factors (meteorological conditions, strikes, etc.). In fact, in many cases,
activity times are uncertain and are best described by a range of possible values rather than by one
specific time estimate. In these instances, the uncertain activity times are treated as random variables.
As a result, the completion time of the project can not be fixed as a deterministic value. Rather,
probability statements are provided about the ability to meet a specific project completion date.
In the PERT approach, the duration of an activity is characterized using three estimates:
U : optimistic time,
the minimum activity time (unlikely but possible) if everything goes well
V : pessimistic time,
the maximum activity time (unlikely but possible) if everything goes badly
W : most likely time,
the most probable time under normal conditions
The range GU , V H encloses all possible estimates of the duration of an activity . The estimate W
lies somewhere in the range GU , V H, i.e., U ≤ W ≤ V .
Then, the duration is treated as a random variable that follows a beta distribution whose mean X
and variance YZ are determined as follows:
U + 4W + V
X =
6
V − U Z
YZ =\ ]
6
First of all, let _ be a critical path obtained by attributing a duration X to each activity . It is
assumed that the total duration of the project is equal to the sum of the durations of the critical
activities that are on the critical path _. That is, it is assumed that 5End = ∑∈a . This is an
approximation since the critical path _ is critical just for the deterministic problem. This
observation can be clarified considering for example the situations in which the deterministic
problem has more than one critical path (In this case, the path having the largest variance is selected
because it reflects the most uncertainty and, hence, leads to more conservative estimates of
probabilities.).
Using the above approximation, the studied random variable is now ∑∈a rather than 5End . The
next approximation is that the activity times are statistically independent. Then, assuming that the
durations of the critical activities on the critical path _ are statistically independent, we can
calculate the mean and the variance of the random variable ∑∈a as follows:
The third assumption is that the total project duration has a normal distribution with mean ∑∈a X
and variance ∑∈a YZ . The rational for this assumption is that this time is the sum of many
independent random variables, and the general version of the central limit theorem implies that the
probability distribution of such a sum is approximately normal under a wide range of conditions.
Step 1: Given U , V , and W , calculate the mean X and the variance YZ of the duration of each
activity .
Step 2: Solve the deterministic project scheduling problem using the mean X as the duration of
each activity .
Step 3: Determine the critical path _, the earliest start times, etc.
We can eventually calculate the probability that the project will be completed before a given date.
Consider for example the probability that the project will be completed before the date 3:
where z is the standard normal random variable with mean 0 and variance 1.
Example 5.4: Consider a project with 5 activities having the following time estimates (in minutes):
Activities Constraints g h i
A - 30 60 78
B After A 4 5 9
C After A 6 8 10
D After A 6 7 11
E After B, C and D 4 5 6
The mean X and the variance YZ of each activity are calculated as follows:
g h i j k kl
A 30 60 78 58 8 64
B 4 5 9 5.5 5/6 25/36
C 6 8 10 8 2/3 4/9
D 6 7 11 7.5 5/6 25/36
E 4 5 6 5 1/3 1/9
B
58 5.5
0 58 8 5
Start A C E End
58 7.5
D
Start A B C D E End
L 0 0 58 58 58 66 71
M 0 0 60.5 58 58.5 66 71
Z n p
and variance YEnd = 64 + + = 64.56 minutes.
o o
What is the probability that the project can be completed in 1 hour and 20 minutes or less?
80 − 71
2-b5End ≤ 80c = 2- df ≤ e = 2-bf ≤ 1.12c = 0.8686
8.035
If we want a 95% probability of completing the project on time, what is the project
completion time that we have to declare?
3 − 71
2-b5End ≤ 3c = 2- df ≤ e = 0.95
8.035
3 − 71
2- df ≤ = 1.65e = 0.9505, S = 84.26
8.035
Estimates of activity durations for projects usually are made for some given level of resources. In
many situations, it is possible to reduce the length of a project by assigning additional resources
(labor, material, equipment, etc.) to project activities. However additional resources cost money and
hence increase the overall project cost. Thus, the decision to reduce the project duration must be
based on an analysis of the tradeoff between time and cost. CPM is a method that was essentially
developed for analyzing such time-cost tradeoffs.
Assume that the time specified for completing an activity is the normal time. The minimum possible
time required is defined as the crash time. Furthermore assume that the costs of completing the
activity in each of these times are known. Then the CPM assumption is that the costs of completing
an activity at times between the normal and the crash times lie along a straight line, as pictured in
Figure 5.18. Assuming that the crashing cost function is linear should be reasonable in most
circumstances.
Normal Cost
In the CPM approach, the project duration is shortened by reducing the time of one or more of the
critical project activities to a time that is less than the normal activity time. This reduction in the
normal activity times is referred as crashing. As mentioned before, crashing is usually achieved by
using additional funds to support additional personnel or more efficient equipment. Hence, a project
manager may be able to shorten a project by increasing direct costs, which include costs of labor,
material, equipment, and so on. The impetus to shorten projects may reflect efforts to avoid late
penalties, to take advantage of monetary incentives for timely or early completion of a project, or to
free resources for use on other projects. That is, the desire to shorten the length of a project merely
reflects an attempt to reduce the indirect costs associated with running the project. Indirect costs
include costs of overhead such as rents, interest, utilities, and any other costs that increase with the
length of the project.
Indirect costs and direct costs are respectively increasing and decreasing functions of the project
completion time. When these functions are convex, the total cost function, which is their sum, also
will be convex. This means that there will be a value of the project time between the normal and the
crash times that is optimal in the sense of minimizing the total cost. Convex cost functions are
pictured in Figure 5.19. Assuming convex cost functions, the CPM method shortens the project
duration by one time unit at a time and calculates the corresponding value of the total cost function
until the optimal time is obtained.
Indirect Cost
Direct Cost
In practice, one needs the following information to carry out CPM calculations:
Indirect cost reduction (benefit) obtained by shortening the project by one time unit
Given this information, the general approach of CPM is to successively reduce the project time by
one time unit until no further reductions are possible or until an optimal solution is identified.
Activities on the critical path are potential candidates for crashing because shortening noncritical
activities wouldn’t have an impact on total project duration. When there are multiple critical paths,
the length of each path has to be shortened to be able to reduce the duration of the project. From an
economic standpoint, activities should be crashed according to crashing costs: crash those with the
lowest crash cost first. Crashing should continue as long as the cost to crash is less than the benefits
derived from crashing. The general procedure for crashing is:
1. If there is a single critical path, determine the critical activity that is the least expensive to
crash. Crash this activity by one time unit if the cost of crashing is less than the benefits
derived from crashing.
Operations Research – September 2018 5.24
2. If there are multiple critical paths, compare the total cost of crashing the least expensive
activity on each critical path with the cost of crashing the least expensive common activity
shared by the critical paths. Choose the least cost option and crash necessary activities by
one time unit if the cost of crashing is less than the benefits derived from crashing.
3. Continue to crash the project one unit at a time until no further reductions are possible or
until the cost of crashing becomes greater than the benefits derived from crashing.
Example 5.5: Simon North and Irving Boner, computer consultants, are considering embarking on
a joint project that will involve the development of a relatively small commercial software package
for personal computers. The program involves scientific calculations for a specialized portion of the
engineering market. North and Bonner have broken down the project into nine parts. The list of
these tasks, the times required, and the precedence relationships are given in the table below:
4
B D
3
0 2 6
Start A
3
2 5 7 8
C E G I End
2 5
5
3
F H
Activity Normal Time Crash Time Normal Cost Crash Cost Crashing Cost
(weeks) (weeks) ($) ($) per week ($)
A 3 1 1,000 3,000 1,000
B 4 3 4,000 6,000 2,000
C 2 2 2,000 2,000
D 6 4 3,000 6,000 1,500
E 5 4 2,500 3,800 1,300
F 3 2 1,500 3,000 1,500
G 7 4 4,500 8,100 1,200
H 5 4 3,000 3,600 600
I 8 5 8,000 12,800 1,600
The final column, crashing cost per week, shows the slope of the cost curve pictured in Figure 5.18.
Under normal conditions, the project can be completed in 25 weeks for a total cost of $29,500 (sum
of the normal costs of the activities). If we replace the normal times with the crash times, the project
completion time is reduced to 16 weeks. The total cost of this option is $48,300. The additional
income that the consultants realize by reducing the project completion time from 25 weeks to 16
weeks is 9 × $1,500 = $13,500 but the additional cost is $48,300 – 29,500 = $18,800. Hence, it is
not economical to reduce all the activities to their crash times. It is likely that there is a project time
between 16 and 25 weeks that is optimal. We will determine the optimal project time using the
CPM method.
The least expensive activity to reduce is A. We can reduce activity A to 1 week without introducing
any new critical paths. Because the cost of each weekly reduction is less than $1,500, it is
economical to reduce A to its minimum time. At that point we have the following:
The next cheapest activity to reduce is G. The critical path will remain the same until G is reduced
to 5 weeks (Consider reducing G by one week at a time to be certain that no additional paths
become critical). When G is reduced to 5 weeks, both paths A – C – E – G – I and A – C – E – H – I
becomes critical. Reducing G from 7 to 5 weeks results in the following:
At this point, the cost of reducing the project by an additional week exceeds $1,500, so we have
reached the optimal solution. The consultants obtain a savings of $1,800 (= 5 × $1,500 – 2 × $1,000
– 2 × $1,200 – $1,300) by taking crashing into account.
REFERENCES