0% found this document useful (0 votes)
178 views

Unit II - Notes - Pert CPM

PERT is used for projects with uncertain activity times and focuses on time evaluation. CPM is used for repetitive projects where times are known, and focuses on both time and cost. Both use networks to represent projects as activities (tasks) and events (nodes). The critical path is the longest path of activities determining the minimum project time. Calculating earliest and latest start/finish times identifies the critical path activities with zero float that cannot be delayed.

Uploaded by

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

Unit II - Notes - Pert CPM

PERT is used for projects with uncertain activity times and focuses on time evaluation. CPM is used for repetitive projects where times are known, and focuses on both time and cost. Both use networks to represent projects as activities (tasks) and events (nodes). The critical path is the longest path of activities determining the minimum project time. Calculating earliest and latest start/finish times identifies the critical path activities with zero float that cannot be delayed.

Uploaded by

steven_c22003
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 19

PERT & CPM

PERT – Program Evaluation & Review Technique – It is generally used for those projects where
time required to complete various activities are not known as a priori. It is probabilistic model & is
primarily concerned for evaluation of time. It is event oriented.
CPM – Critical Path Analysis – It is a commonly used for those projects which are repetitive in nature
& where one has prior experience of handling similar projects. It is a deterministic model & places
emphasis on time & cost for activities of a project.
A project can be defined as a set of large number of activities or jobs (with each activity
consuming time & resources) that are performed in a certain sequence determined.
A network is a graphical representation of a project, depicting the flow as well as the sequence
of well-defined activities & events.
An activity (Also known as task & job) is any portion of a project which consumes time or
resources and has definable beginning & ending.
Event (Also known as node & connector) is the beginning & ending points of an activity or a
group of activities.

Steps for drawing CPM/PERT network:


 Analyze & break-up of the entire project into smaller systems i.e. specific activities and/or
events.
 Determine the interdependence & sequence of those activities.
 Draw a network diagram.
 Estimate the completion time, cost, etc. for each activity.
 Identify the critical path (longest path through the network).
 Update the CPM/PERT diagram as the project progresses.

Network Representation:

Each activity of the project is represented by arrow pointing in direction of progress of project. The
events of the network establish the precedence relationship among different activities.
Three rules are available for constructing the network.

Rule 1. Each activity is represented by one & only one, arrow.

Rule 2. Each activity must be identified by two distinct events & No two or more activities can have
the same tail and head events.
Following figure shows how a dummy activity can be used to represent two concurrent activities, A &
B. By definition, a dummy activity, which normally is depicted by a dashed arrow, consumes no time or
resources. Dummy activity is a hypothetical activity which takes no resource or time to complete. It is
represented by broken arrowed line & is used for either distinguishing activities having common starting
& finishing events or to identify & maintain proper precedence relationship between activities that are
not connected by events.

Inserting dummy activity in one four ways in the figure, we maintain the concurrence of A & B, and
provide unique end events for the two activities (to satisfy Rule 2).
Rule 3 . To maintain correct precedence relationship, the following questions must be answered as each
activity is added to the network:
 What activities must be immediately precede the current activity?
 What activities must follow the current activity?
 What activities must occur concurrently with the current activity?

The answers to these questions may require the use of dummy activities to ensure correct precedences
among the activities. For example, consider the following segment of a project:
5 Activity C starts immediately after A and B have been completed.
6 Activity E starts only after B has been completed.
Part (a) of the figure above, shows the incorrect representation of the precedence relationship because it
requires both A & B to be completed before E can start. In part (b) the use of dummy rectifies situation.

Numbering the Events (Fulkerson’s Rule)


1. The initial event which has all outgoing arrows with no incoming arrow is numbered “1”.
2. Delete all the arrows coming out from node “1”. This will convert some more nodes into initial
events. Number these events as 2, 3, 4, ….
3. Delete all the arrows going out from these numbered events to create more initial events. Assign
the next numbers to these events.
4. Continue until the final or terminal node, which has all arrows coming in with no arrow going
out is numbered.
Determination of time to complete each activity:
The CPM system of networks omits the probabilistic consideration and is based on a Single Time
Estimate of the average time required to execute the activity.

In PERT analysis, there is always a great deal of uncertainty associated with the activity durations of any
project. Therefore, te estimated time is better described by a probability distribution than by a single
estimate. Three time estimates (from beta probability distribution) are made as follows:
1) The Optimistic Time Estimate (to): Shortest possible time in which an activity can be completed
in ideal conditions. No provisions are made for delays or setbacks while estimating this time.
2) The Most Likely Time (tm): It assumes that things go in normal way with few setbacks.
3) The Pessimistic Time (tp): The max. possible time if everything go wrong & abnormal situations
prevailed. However, major catastrophes such as earthquakes, labour troubles, etc. are not taken
into account.

The expected time (mean time) for each activity can be approximated using the weighted average i.e.

Expected Time (te) = (to + 4tm + tp)/6

Forward Pass Computation: It is the process of tracing the network from START to END. It gives the
earliest start & finish times for each activity.
Earliest event time (Ej): The time that event j will occur if the preceding activities are started as early as
possible. Ej is the max. of the sums Ei + tij involving each immediately precedent event i & intervening
event ij.

Backward Pass Computation: It is the process of tracing the network starting from LAST node &
moving backward.
Latest event time (L j): The latest time that event i can occur without delaying completion of beyond its
earliest time. L i is the min. of the differences Li - tij involving each immediately precedent event j &
intervening event ij. E.g. of Earliest event time & Latest event time:
Activity: 1-2 1-3 2-3 2-5 3-4 3-6 4-5 4-6 5-6 6-7
Duration: 15 15 3 5 8 12 1 14 3 14
(Weeks)
• In accordance with Zero Slack Convention, if no schedule date for completion of the project
is specified, then we take L=E for the terminal event of the project.
• It is a convention to keep the earliest allowance time of the START event as zero.
• Flexibility of non critical in case of event is known as slack & in case of activity is term as
float.(Though some writers have used these terms interchangeably).

The critical path can be identified by determining the following four parameters for each activity:
• EST - earliest start time: the earliest time at which the activity can start given that all its
precedent activities must be completed first = Ei
• EFT - earliest finish time, equal to the earliest start time for the activity plus the time required to
complete the activity = EST(i-j) + tij
• LFT - latest finish time: the latest time at which the activity can be completed without delaying
(beyond its targeted completion time) the project = Lj
• LST - latest start time, equal to the latest finish time minus the time required to complete the
activity = LFT(i-j) - tij

CRITICAL PATH: The critical path is the path through the project network in which none of the
activities have float (total float is zero) i.e. A critical path satisfies following 3 conditions:
• EST =LST
• EFT=LFT
• Ej – Ei = Lj – Li = tij

The duration of project is fixed by the time taken to complete the path through the network with the
greatest total duration. This path is known as critical path & activities on it are known as critical
activities. A delay in the critical path delays the project. Similarly, to accelerate the project it is
necessary to reduce the total time required for the activities in the critical path.

Dummy Activity may or may not lie on critical path.

The total float time for an activity is the time between its earliest and latest start time, or between its
earliest and latest finish time. It is the amount of time that an activity can be delayed past its earliest start
or earliest finish without delaying the project. = LST-EST or LFT-EFT = LFT-EST-tij = LFT-
(EST+tij)
The slack time or slack of an event in a network is the difference the latest event time & earliest event
time i.e. Li-Ei

The free float time of an activity is equal to the amount by which its duration can be increased without
affecting either the project time or the time available for the subsequent activities. It indicates the value
by which an activity can be delayed beyond the earliest starting point without affecting the earliest start,
& therefore, the total float of the activities following it. = Total Floatij – (Slack of event j)

The independent float time of an activity is the amount by which the duration of an activity could be
extended without affecting the total project time, the time available for subsequent activities or the time
available for the preceding activities. = [Free Floatij – (Slack of event i)] or ZERO, whichever is
higher. Also EST of following activity – LFT of preceding activity – Duration of current activity or
Zero, whichever is higher.
The interfering float time is the part of total float which causes a reduction in the float of successor
activities. It is that portion of the activity float which cannot be consumed without affecting adversely
the float of the subsequent activity or activities. = LFT – (EST of following activity) or ZERO,
whichever is higher.
While calculating floats, for just for our simplifying computations, we can write values of Slack of
event j in column wherein we are supposed to write interfering float.
Subcritical Activity: Activity having next higher float than the critical activity.

Supercritical Activity: These Activities have negative float. It results when activity duration is more
than time available. It indicates abnormal situation requiring as to how to compress the activity.

Subcritical path: The path with the next least floats than critical path is subcritical path.
Float Calculation
Event Oriented Activity Oriented
Here Activities are shown as i-j, where i is tail Here Activities are generally shown via
event & j is head event e.g. 1-2, 2-3, etc. here alphabets e.g. A, B, C, etc.
activity is between 1-2 though starting/tail
event(i) is 1 & head/ending event(j) is 2.
The critical path is
of great interest to 9 F
D
project managers. 3
The activities on 3 7 10
the critical path
3 H
are the ones which
A 5 E
absolutely must
be done on time in 8 7
order for the 4 6 5
whole project to
complete on time. B C G
5 4
If any of the
activities on the Figure1: An example of a PERT diagram.
critical path are
late, then the entire project will finish late! For this reason, the critical path activities receive the
greatest attention from management. The non-critical activities have some leeway to be late
without affecting the overall project completion time.

The following steps find the critical path and calculate other useful information about the project.
Step 1. Make a forward pass through the diagram, calculating the earliest time (TE) for each
event (node). In other words, what is the earliest time at which all of the activities entering a
node will have finished? To find TE, look at all of the activities which enter a node. T E is the
latest of the arrival times for entering arcs, i.e. T E = max [(TE of node at tail of arc) + (arc
duration)] over all of the entering arcs. By definition, TE of the starting node is zero.
Step 2. Make a backward pass through the diagram, calculating the latest time (TL) for each
event (node). In other words, what is the latest time that the outflow activities can begin without
causing a late arrival at the next node for one of those activities? To find T L, look at all of the
activities which exit a node. TL is the earliest of the leaving times for the exiting arcs, i.e. T L =
min [(TL of node at head of arc) − (arc duration)] over all of the exiting arcs. By definition, the
TL of the ending node equals its TE.
Step 3. Calculate the node slack time (SN) for each node (event). This is the amount of time by
which an event could be adjusted later than its T E without causing problems downstream. SN =
TL − TE for each node.
Step 4. Calculate the total arc slack time (SA) for each arc (activity). This is the amount of time
by which an activity could be adjusted later than the T E of the node at its tail without causing
problems later. SA = (TL of node at arc head) − (TE of node at arc tail) − (arc duration).

Step 5. The critical path connects the nodes at which SN = 0 via the arcs at which SA = 0.

It should be no surprise that the critical path connects the nodes and arcs which have no slack. If
there is slack, then the activity does not need to be done on time, which is exactly the opposite
definition of the critical path!

As an example, let’s find the critical path for the PERT diagram in Figure 1. Note that there is an
implied order in which the TE’s can be calculated in Step 1. For example, the TE of node D
cannot be found until the TE of node B is known. The starting node in Figure 11.1 is node A, and
by definition the TE of the starting node is 0. To calculate T E at a node, we need to know the T E
of the node at the tail of every entering arc, so we can next only calculate the T E of node B. This
is simple since there is only one inflow arc, from node A, so T E(B) = TE(A) + (duration of A-B)
= 0 + 4 = 4. The complete set of TE calculations follows:

TE(A) = Starting node =0

TE(B) = TE(A)+(duration A-B) = 0+4 = 4

TE(D) = max{TE(A)+(duration A-D), TE(B)+(duration B-D)} = max{0+3, 4+5} = 9

TE(C) = TE(B)+(duration B-C) = 4+5 = 9

TE(E) = max{TE(D)+(duration D-E), TE(B)+(duration B-E), = max{9+7, 4+8, 9+6} = 16


TE(C)+(duration C-E)}
TE(F) = max{TE(D)+(duration D-F), TE(E)+(duration E-F)} = max{9+9, 16+10} = 26

TE(G) = max{TE(E)+(duration E-G), TE(C)+(duration C-G)} = max{16+7, 9+4} = 23

TE(H) = max{TE(F)+(duration F-H), TE(E)+(duration E-H), = max{26+3, 16+3, 23+5}


TE(G)+(duration G-H)} = 29
The shortest time in which the project can be completed is now known: it is the same as the T E
of the ending node, node H, i.e. 29 days. But we still need to complete the remaining 4 steps of
the algorithm to positively identify the critical path.
The backwards pass in Step 2 begins with the ending node H. By definition, the T L of the ending
node is equal to its TE so TE(H) = 29. This makes sense: otherwise the whole project would be
pushed later! As for the forward pass, there is an implied order in which the node T L values can
be found, determined by the outflow arcs for which T L is known. The complete set of
calculations follows.

TL(H) = ending node = TE(H) = 29


TL(F) = TL(H)−(duration F-H) = 29−3 = 26

TL(G) = TL(H)−(duration G-H) = 29−5 = 24

TL(E) = min{TL(F)−(duration E-F), TL(H)−(duration E-H), = min{26−10, 29−3, 24−7}


TL(G)−(duration E-G)} = 16
TL(C) = min{TL(E)−(duration C-E), TL(G)−(duration C-G)} = min{16−6, 24−4} = 10

TL(D) = min{TL(F)−(duration D-F), TL(E)−(duration D-E)} = min{26−9, 16−7} = 9

TL(B) = min{TL(D)−(duration B-D), TL(E)−(duration B-E), = min{9−5, 16−8, 10−5}


TL(C)−(duration B-C)} =4
TL(A) = min{TL(D)−(duration A-D), TL(B)−(duration A-B)} = min{9−3, 4−4} = 0

It’s no surprise that TL of the starting node is 0. If it wasn’t it would mean that we could start the
whole project late and yet still finish on time!

In Step 3 we find the node slack time (SN) for each node (event) as shown below:

Node A B C D E F G H
SN 0 0 1 0 0 0 1 0
This small PERT diagram is quite tight: only two of the nodes have nonzero slack. Larger
diagrams with many parallel activities often have much more slack in the nodes.

In Step 4 we find total arc slack time (SA) for each arc (activity) as shown below.

Arc AB AD BC BD BE CE CG DE DF EF EG EH FH GH
SA 0 6 1 0 4 1 11 0 8 0 1 10 0 1
The arcs have quite a bit more slack time than the nodes in this small example. Later we will see
how this slack can be put to good use in adjusting resource demands.

Finally, in Step 5, we find the critical path by linking the nodes having no slack via the arcs
having no slack. Figure 2 shows the critical path for our example PERT diagram. The nodes and
arcs having no slack are shown in boldface. If you’ve been watching closely, you might have
noticed that the critical path through the PERT diagram is actually the longest path through the
network. If you only needed the critical path and its length, it’s easy to convert Dijkstra’s
shortest route algorithm to a longest route algorithm to find it.

Sometimes a situation arises in which one activity must precede two different events. How can
this happen when a single arc can terminate only at a single event node? The solution lies in the
use of dummy arcs which have a duration of zero. Dummy arcs are normally shown as dashed
lines, as in the diagram fragment in Figure 3, in which activity A-B is the immediate predecessor
of both event C and event D.
The
9 F determination of
D
3 the critical path
3 7 10 and hence of the
duration of the
3 H entire project
A 5 E
obviously
8 7 depends very
4 6 5 heavily on
accurately
B C G
5 4 assessing the
duration of each
individual
Figure 2: The critical path.
activity. How is
this done in practice? There are two main approaches: direct estimates, and the three-estimate
method.
A
In direct estimation, a single number is stated directly, perhaps based on long experience
with similar projects. In the three-estimate approach, 3
B estimates with specific properties are used in a weighted average. m is the
0 0 most likely value, obtained in a manner similar to the direct estimate. a is
an optimistic estimate, i.e. the time needed if everything goes just right (the
C D weather is good, building materials arrive on time, crew is on time). Finally
Figure 3: b is the pessimistic estimate, i.e. the time needed if everything goes wrong
Dummy arcs. (it’s raining, materials are late, crew books off sick, etc.). Given these three
estimates, the final duration is set as (a+4m+b)/6.

Probabilistic PERT

Estimating is an inexact art, so we expect that our initial duration estimates have some error in
them. What we would really like to know is how much this error is going to affect our estimate
of the total project duration. Fortunately, with a few assumptions and very little extra work we
can make some judgments about the likely amount of variation in the total project time. To do
this we start with the three-estimate approach to estimating the activity durations. Next we make
the following assumptions:
 The activity durations fit a Beta distribution.
 The range from a to b in the three-estimate approach covers 6 standard deviations.
 The activity durations are statistically independent.
 The critical path now means the path that has the longest expected value of total project
time.
 The overall project duration has a normal distribution.
Given these assumptions, the expected value of each activity duration is given in exactly the same way
as for the three-estimate approach: (a+4m+b)/6. The variance of each activity duration in this model is
2
[(b−a)/6] .

Now the expected value of the total project duration is the sum of the expected activity durations along
the critical path, which is found in the usual way. Finally the payoff: the variance of the total project
duration is the sum of the variances of the activity durations for the activities in the critical path. This is
very useful information for the managers: now they have some idea of how much the total project time
might vary.

Distinguish between PERT and CPM


PERT CPM
1. PERT is used for non-repetitive jobs like planning the 1. CPM is used for repetitive job like building a house
assembly of the space. 2. It is a deterministic model.
2. it is a probabilistic model. 3. It is activity-oriented as the result or calculations are
3. It is event-oriented as the results of analysis are considered in terms of activities or operations of the
expressed in terms of events or distinct points in time project.
indicative of progress. 4. It is applied mainly for construction and business
4. It is applied mainly for planning and scheduling problems.
research programmes. 5. CPM does not incorporate statistical analysis in
5. PERT incorporates statistical analysis and thereby determining time estimates, because time is precise
determines the probabilities concerning the time by and known.
which each activity or entire project would be 6. It is difficult to use CPM as a control device for the
completed. simple reason that one must repeat the entire
6. PERT serves as useful control device as it assists evaluation of the project each time the changes are
management in controlling a project by calling attention introduced into the network.
to such delays

Resource Smoothing & Resource Leveling

Resource smoothing is a resource scheduling technique used for smoothing peak resource requirement
during different periods of project network. Under this technique, the constraint may be the total project
duration. It helps to estimate the resource requirements for various projects. In resource smoothing, time
scaled diagram of various activities of project and their floats along with their resource requirements are
used. Floats on non critical activities are utilized & these activities are rescheduled or shifted (while the
project duration remains unchanged) so that a uniform demand on resources is achieved.

Resource Leveling (a.k.a. resource allocation) is an operation of resource scheduling wherein constraint
may be availability of certain resources. Here project time is varied for maximum utilization of
resources i.e. project duration is not treated as an invariant, but the demand on certain specified
resources should not go beyond a specified level. The maximum demand of a resource should not
exceed the available limit at any point of time. Non critical activities are rescheduled by utilizing their
floats.
Points which are worth noting for developing the algorithm for resource allocation:
1. Halt when both resources and activities are available.
2. Prior to allocation at a halt, update the E.S.T., E.F.T. and float of the activities not
allocated at earlier halt time and their succeeding activities. The repercussions may have
to be traced right up to the last event.
3. (a) priorities are assigned on the basis of floats e.g. 1st priority to activity with least float,
2nd to the activity with the next higher float and so on.
(b) In case of tie in floats, assign priorities on the basis of man-days if the activities e.g.,
1st priority to the activity with highest M × D.
(c)In case of tie in man-days even, assign 1 st priority to the activity with highest M (gang
size).
(d) In case of tie in M’s even, assign 1st priority to the activity with lower i, where i is the
tail event number of the activity.
4. When an activity requires more than one man, it may so happen during allocation that the
activity requires more number of persons than that available at the halt time under
consideration. In such cases, the resources are allocated to the job with next priority for
which they are sufficient.
5. During the floating out of activities, the float of an activity may go negative which means
that the project duration is going to be extended beyond the critical path. Once the float
of an activity becomes negative, there from the float criterion for ascertaining priorities is
invalidated. The priorities are then fixed on the basis of M × D, gang size and lower i
criteria respectively.
The table below summarizes the total and free slack for all of the non-critical activities. Why do
we list only the non-critical activities? Because the slack, both total and free, is always zero for
the critical activities, by definition.

Activity Total slack Free slack


A-D 6 6
B-E 4 4
B-C 1 0
C-E 1 1
Now suppose that each activity, including the critical activities, must be staffed by certain
numbers of employees, as shown in the following table:

Activity Employees needed


A-B 3
B-D 2
D-E 3
A-D 4
B-E 3
B-C 2
C-E 2
Now we will try a few simple scenarios to see the effect that using the slack time in different
ways has on the total number of employees needed at any point in the project. Remember that

Figure 4: Every activity scheduled as late as possible.


each activity can be scheduled individually within the parameters of its free and total slack.
However, to keep things simple, we will try these two scenarios: all activities scheduled as early
as possible, and all activities scheduled as late as possible.

The scenario in which all activities are scheduled as late as possible is shown in Figure 4. The
top part of Figure 4 is a Gantt chart, which shows the timing of each activity as a solid line. For
example, activity A-D starts at time 6 and runs to time 9. The dashed extensions on the A-D line
indicate the range of other possible starting times for A-D. The length of the dotted section is the
amount of total slack available to the activity. There is no slack for the critical path activities.

The Gantt chart shows when each activity takes place, and we know how many employees are
needed for each activity, so we can calculate the number of employees needed every day. For
example, between time 8 and time 9 there are four activities taking place simultaneously: activity
B-D (2 employees), activity A-D (4 employees), activity B-E (3 employees) and activity B-C (2
employees) for a total of 11 employees, the peak demand over the whole 16 day period. The
demand for employees is charted in the bottom part of Figure 4.

The resource demands in Figure 4 are very uneven. Few employees are needed over the first 6
days, but then the demand shoots up quickly to a peak of 11 employees at time 8 to 9 before
settling back to a need for 8 employees. This is a real problem if the company is operating with
8-person crews. For the first several days, most of the employees have nothing to do except drink
coffee, while at time 8-9 the company will need to hire extra people or to pay overtime. For
reasons such as these, managers usually want to level out the demand for resources, and this is
referred to as resource leveling. What we’d like to do in Figure 11.5 is to somehow move some
of the resource demand from the later part of the project to the earlier part of the project. This
can be done by rescheduling some of the activities which have slack.

Figure 5 shows a second scenario, this time with all of the activities scheduled as early as
possible. This scenario eliminates the peak of demand for employees that was seen in Figure 4.
In fact, this is a schedule which can be accomplished without overtime using an 8-employee
crew, so it is much preferred by management.

Note that many other scheduling scenarios are possible, using any combination of the possible
starting times for the non-critical activities. For example, in Figure 5 we could shift activity C-E
one day later in order to remove part of the 3-day period that requires 8 employees. Now it might
be cheaper to run the project with a 7-employee crew and pay two days of overtime. Note that
you must be careful with events such as C which have node slack. As you see in both Gantt
charts, the ending C in activity B-C is offset from the starting C in activity C-E, indicating the
possible ending and starting times of the two activities. However, if activity B-C uses its total
slack, then C is pushed to its latest time, which means that activity C-E cannot start any earlier
than that.

Common questions related to resource leveling include: Can I complete the project on time with
a limited amount of resource (e.g. 8 employees)? What is the minimum amount of resource
needed to complete this project on time? Given that I have only a set amount of resource, what is
the minimum amount of time in which the project can be completed? Note that this last
question takes the resource limit as fixed, and instead allows the project to take more time to
complete. As an example, consider a project in which there is exactly one unit of resource (e.g.
one employee) and each activity requires 1 employee. Now how long will it take the complete
the project? The answer is simple: since there is no possibility of doing any of the activities in

Figure 5: Every activity scheduled as early as possible.


parallel, the time needed to complete the project is the simple sum of all of the activity durations!

We have considered a simple case in which there is only a single type of resource (employees).
In more complex projects there can be numerous resource types, e.g. bulldozers, graders, cement
mixers, electricians, plumbers, dump trucks, front-end loaders, excavators, etc. Now you will
have numerous interrelated resource leveling problems since a single activity will likely involve
some subset of several of these resources.

Leveling resources to minimize the maximum amount of resource needed at any point in time is
a very difficult combinatorially explosive problem, so it is solved via heuristics. Every
commercial vendor of project planning software uses different proprietary heuristics, which
means that the same resource leveling problem submitted to several different software packages
will probably give you several different solutions. One heuristic I am aware of was developed by
Pierre Paulin for the Ph.D. thesis in the Electronics Department here at Carleton University. His
problem involved implementing a series of instructions on a chip which had a limited number of
devices such as adders, buffers etc., so it was a classic multi-resource leveling problem. He
developed the “force-directed” method which first works out the average rate of resource usage,
and then conceptually adds “springs” to pull the valleys in the resource diagram up towards the
average level and pull down the peaks. You then seek a kind of force balance
between the “spring constants” which is achieved when the peaks and valleys are smoothed out
as much as possible.

Time-Cost Tradeoffs

In real applications it is sometimes possible to reduce the amount of time that an individual
activity takes by paying more, e.g. for overtime, for faster computers, for courier delivery, etc. If
the project takes longer to complete than you have available, then you will have to spend some
money to speed things up. But which activities should you speed up? Obviously those on the
critical path, but if you speed up one activity on the critical path, the critical path itself may
change to some other set of activities. And which activity on the critical path should you speed
up, since some may be more expensive than others? And how much should you speed it up?

This is a complicated problem. You really can’t solve it by looking at the activities one at a time
– you need to consider them all simultaneously. Fortunately there is a nifty optimization
formulation which addresses this issue. Here we will show a linear programming formulation,
but the extension to nonlinear programming should be obvious.
The fundamental element in the linear programming
cost formulation is a simple model showing how time and
Crash point money trade off for each activity, as shown in Figure 6. In
Kij Figure 6, the “normal point” shows the length of time (D ij,
Cdij Normal point large D for large duration) and cost (C Dij) when activity ij
is run in the normal manner. The “crash point” shows the
length of time (dij, small d for small duration) and cost
CDij
(Cdij) when the activity is “crashed”, or sped up to the
time maximum extent possible. Note that the cost for the
dij Dij activity goes up as the duration goes down – money is
exchanged for time. We assume that any amount of
Figure 6: Time-cost tradeoff for speedup between Dij and dij is possible. Kij is just the
activity ij. value on the cost axis reached by extending the time-cost
tradeoff line for the activity; it makes the formulation a
little simpler.
Now every activity can have a duration somewhere dij and Dij. The unknown duration for
activity ij is represented by the variable xij. We also define the constant Cij = (Cdij – CDij)/(Dij −
dij), which is just the negative of the slope of the time-cost tradeoff line. Cij allows us to
compactly express the cost of any intermediate value on the time-cost tradeoff line as K ij – Cijxij,
where dij ≤ xij ≤ Dij.

The objective is to minimize the total costs of speeding up activities while meeting a specified
deadline, i.e. to minimize ij(Kij – Cijxij). However we can always drop constants which appear
in objective functions, so it can be rewritten as minimize ij(–Cijxij), which is the same as
maximize ijCijxij.

Project Crashing: There are usually compelling reasons to complete the project earlier than
the originally estimated duration of critical path computed on the normal basis of a new
project.

Direct Cost: This is the cost of the materials, equipment and labour required to perform the
activity. When the time duration is reduced the project direct cost increases.

Activity Cost Slope = (Cc- Nc)/(Nt-Ct)

Where, Cc = Crash Cost = Direct cost that is anticipated in completing an


activity within crash time.
Nc = Normal Cost = This is the lowest possible direct cost required to complete
an activity
Nt = Normal Time = Min. time required to complete an
activity at normal cost.
Ct = Crash Time = Min. time required to complete an
activity.

Indirect Cost: It consists of two parts: fixed cost and variable cost. The fixed cost is due to
general and administrative expenses, insurance, etc. Variable indirect cost consists of
supervision, interest on capital, etc.
The total project cost is the sum of the direct & the indirect costs.
Optimum duration is the project duration at which total project cost is lowest.

You might also like