previous up


Lecture 21: PERT/CPM

(This material is not covered in Fraser, Bernhardt and Jewkes. A good reference text is Hillier and Lieberman, ``Introduction to Operations Research'', published by Holden-Day; the fourth edition of this text came out in 1986, and a fifth edition has come out since.)

PERT and CPM are both methods for predicting the cost and completion time of projects. PERT is usually concerned just with the time taken, while CPM looks at cost/time tradeoffs.

PERT and CPM belong within Network Theory, a variety of mathematical analysis originating in electrical engineering, but applicable to problems in many other areas. PERT was first used by the U.S. Department of the Navy in planning and carrying out the development of the Polaris submarine-launched missile program. It is now used for project planning in many industries.

In addition to their primary purpose, both techniques have side-effects which may be more valuable than the conclusions obtained by running the algorithms. Specifically, to apply either technique the personnel on the project have to discuss who's going to be responsible for which task, and how long it's going to take. These discussions would be valuable even if the algorithms themselves were mathematically flawed.

Background in Network Analysis

A network is defined as a set of nodes connected by edges, where something flows along the edges. Examples of networks include the human nervous system, a genealogical chart, and a system of highways.

PERT

The PERT method is used to determine how long a project should take to complete, and which steps in the project planning are most critical -- that is, which steps would act as bottlenecks if delayed. To apply the method, certain information is needed in advance: it must be possible to analyse the project into activities, the dependency relationships between the activities must be known, and the time taken for each activity must be known or at least estimable. Some cases are too simple for PERT -- cases where we've performed very similar projects many times before, and know that the current project will take the same time as they did, plus or minus a few per cent. Other cases are too complex -- for example, the Manhattan project, where the individual activities making up the project are themselves so novel that we don't know whether they're feasible at all, let alone how long they can be expected to take.

Where we have the necessary information, it can be represented as a project network. Consider, for example, building a house. This involves a number of activities -- building the walls, putting on the roof, painting the outside, painting the inside -- which can be represented as edges in a network. The nodes of the network represent states, for example, the state of having the roof on. We show the dependence of one state on another by the existence of an edge joining the states. In some cases, this edge may represent a real activity -- to reach the state of ready-to-start-painting from the state interior-plumbing-completed, we have to perform the activity install wall board. In other cases, one state must precede another, even though no activity links them -- for example, the state rough-exterior-plumbing-completed must be reached before the state ready-to-begin-exterior-painting. This can be indicated graphically by a dotted edge connecting the two states, representing a dummy activity.

Deterministic PERT

Now, we have the network and we have estimates of the time for each activity. To find out how long the project as a whole will take, we perform two passes through the network. We begin the forward pass by noting that the earliest time we can reach the first state is time zero. Now we examine the next state, sj, say. If there are several states si preceding state sj, then the earliest we can reach state sj is

maxi {(earliest we can reach state i + time for activity ai,j)}

In this way we work through the network, until we've found the earliest time that the final state can be reached. We now adopt that time as the deadline for our project, and perform a backward pass through the network, asking what the latest time is that we can reach a particular state if the deadline is not going to be delayed. At the end of this second pass, we have a pair of times for each state, giving the earliest and the latest times at which we can reach the state. The difference between these times is called the slack for the state. Those states having zero slack are said to lie on the critical path; delay of any state on the critical path will lead to a delay in meeting the overall deadline.

Probabilistic PERT

In many cases, we will not know accurately how long each activity will take. A variant of PERT, the PERT 3-Estimate Approach, can be used in these cases. We assume that three estimates are available for the time taken by each activity: an optimistic approach, a, a realistic approach, m, and a pessimistic approach b. We further assume that the probability distribution for the time taken by each activity is a Beta distribution. (The Beta distribution has a long right tail, reflecting the fact that there's more ways for an activity to be delayed than for it to be sped up.) From these three estimates, we can calculate the mean and variance of the corresponding Beta distribution as follows:

t=((2m+(a+b)/2)/3)

sigma2=((b-a)/6)2

We need one further assumption: that the times taken for each activity are independent variables. We can then apply the Central Limit Theorem to argue that the sum of the activity times on the critical path is itself a random variable with a normal distribution, its mean and variance the sum of the means and variances of the activities on the critical path. Now, knowing this mean and variance, we can calculate the probability that the time for the total project will be less than a pre-defined deadline.

CPM

The CPM method is concerned with making the optimum tradeoff between project completion time and project cost. Like the PERT method, CPM can only be applied if we have some information about the activities making up the project. Specifically, we must know the normal time di,j, for each of the activities, the normal cost, cdi,j, the crash time, Di,j, that is, the minimum time the activity can take if we devote maximum resources to it, and the crash cost, CDi,j, We assume that the cost-time tradeoff is linear for each activity, that is, activity cost is given as a function of project duration xi,j by an equation of the form

Cost = -Ci,jxi,j + Ki,j

where

Ci,j= (CDi,j-cdi,j)/(Di,j-di,j)

and Ki,j is the intercept on the vertical axis, corresponding to the cost of completing the activity in no time at all. (Obviously, the linear cost/time trade-off becomes unrealistic before we get to this point.)

Now, we want to minimize the total direct costs of the project, that is, we want to minimize

Sum-over-i,j(-Ci,jxi,j + Ki,ji)

Minimizing this sum is the same thing as maximizing

Sum-over-i,j(Ci,jxi,j)

So this could be the objective function in a linear programming problem. What are the constraints on that problem? To specify these, we need to introduce an additional set of variables, the yk, where yk is the earliest time that we can get to state k. Now, suppose we can get to State 7, say, either by starting from State 5 and performing activity x5,7 or by starting from State 6 and performing activity x6,7. Then we can conclude that

y7=Max((y5+x5,7),(y6+x6,7))

This can also be written as a pair of inequalities:

y5+x5,7 - y7 <= 0

y6+x6,7 - y7 <= 0

These constraints express the dependency relationships in the project. We can add the fact that y1=0, and the total project duration will be ynT, where yn, the project completion time, is currently unknown, and T, the required deadline, is given.

So formally, the linear programming problem is

Maximize

Sum-over-i,j(Ci,jxi,j)

subject to the constraints

xi,j>=di,j

xi,j<=Di,j

yi+xi,j - yj <= 0

yn<= T

We can add the constraints that

yi>= 0

(The truth of these constraints follows from the equations we've already introduced.)

One final adjustment is to replace the decision variables xi,j with x/i,j=xi,j-Di,j, thus turning the second set of constraints above into non-negativity constraints. Solution of the linear programming problem then yields the lowest-cost solution with total duration below the deadline.

CPM with No Fixed Deadline

The CPM method can also be applied to the situation where no deadline for a project has been established.

previous up




John Jones
Mar 3 10:38:23 PDT 2008