Activity Resource Elasticity: A New Approach to Project Crashing

Activity Resource Elasticity: A New Approach to Project
Crashing
Dr. Ronald S. Tibben-Lembke
MGRS / 028
University of Nevada
Reno, NV 89557
(775) 682-9164
Fax: (775) 784-1769
[email protected]
Dr. Ted Mitchell
MGRS / 028
University of Nevada
Reno, NV 89557
(775) 682-9159
Fax: (775) 784-1769
[email protected]
1
Activity Resource Elasticity: A New Approach to Project
Crashing
August 21, 2007
Abstract
Traditional project crashing methods assume that, within a given range, the time saved is a
linear function of the additional resources spent. We assume the time saved is a linear function
of the increase in resources used per day. As a result, we can compute how sensitive an activity’s
duration is to the resources made available, which we call the “resource elasticity” of the activity,
the percentage reduction in time, divided by the percentage increase in resources. This elasticity
measure is a practical, easily implemented metric that allows the manager to identify which activities’ duration times are more or less sensitive to daily spending rates. This metric can be used for
determining which activities should be crashed, which should be slowed (if the money for crashing
has to come from another activity), and for determining which activities need to be most closely
monitored.
Keywords: Project management, project crashing, heuristic methods
1
Introduction
If a project must be sped up to meet a deadline, “crashing” the program or project is to speed
up various activities to reduce the total time of the project, by allocating more resources to their
completion. To shorten the critical path (those activities whose durations determine the total
project length), it is necessary to increase the resources allocated to activities on it. This increases
both the cost per day and the total cost of the activities. The duration of some activities may be
2
very sensitive to changes in the resources allocated to them (e.g., dollars-per-day), while others
may be relatively insensitive.
In the past, project managers have had metrics to help judge the total change in costs due to
crashing a project They have not had a metric for judging the relative sensitivity of a duration
change due to an increase in resources or cost-per-day.
This paper presents resource elasticity, a metric which allows a manager to easily see which
activities’ durations are most sensitive to increases or reductions in resources. This is useful in
determining which activities are most elastic, and would be sped up the most, with increased
resources, if the project needs to be crashed.
Many project managers are likely faced with the reality of a finite amount of resources, whether
those resources be money, programmers, engineers, welders, or something else. If one activity is
to be sped up, it may result in another activity being slowed. Resource elasticity can be used to
see which activities are least elastic, and the resources should be taken from them, because they
will be slowed the least from the loss of resources. Finally, if an activity is very inelastic, should
it fall behind schedule, a great deal of additional resources will be required to get it sped up, so
these activities should be monitored closely.
For example, a long project may consist of several large activities that are being executed
concurrently: some of the design phase may be being finished on a software module while coding
proceeds on another module. In order to help one part of the project meet a deadline, the manager
may need to steal programmers from one activity to help the other. Using our results, the manager
can easily determine which activities will be most affected by a loss of resources.
2
Literature
Project management has received a lot of attention in the operations research literature, since the
initial papers by Malcolm et al. (1959), Kelly and Walker (1959) and Kelly (1961).
In their seminal paper, Kelly and Walker (1959) considered a time-cost tradeoff, with a linear
time-cost relationship. They show a convex cost function, which has minimal cost at a particular
duration, but as the duration increases beyond this point, costs again rise. However, as a practical
matter, they are only interested in times equal to or lesser than this time, and can assume the
cost function is piecewise linear and non-increasing in the time. Berman (1964) considered an
upward-concave time-cost function for each activity, under certainty or uncertainty. Petrovic
3
(1968) approached the problem as a dynamic program, and Lamberson and Hocking (1970) applied
the techniques of linear programming to the time-cost tradeoff. Elmaghraby (1977) presented
methods for strictly convex and strictly concave time-cost functions. See Tavares (2002) and
Herroelen (2005) for an overview of other contributions of operations research to project scheduling.
Since the beginning, a great deal of research on project crashing has focused on linear programming methods, as the references in Kolisch (1995) and Hartmann (1999) indicate. LP and
IP formulations assume the various time durations are known, and the cost of those durations
(e.g. Boctor 1996, Hartmann 1999). Because linear programming methods can easily incorporate
various resource constraints, these are the methods of preference for resource-constrained projects,
as well.
In the first paper on PERT, Malcolm et al. (1959) presented their well-known method for
estimating the probability of completing a project at its scheduled date using the beta distribution. As Elmaghraby (1977) explains, shortcomings in the assumptions behind PERT has lead to
other techniques for dealing with uncertainty, including generalized activity networks (GAN) and
graphical evaluation and review technique (GERT).
Most of the literature has been focused on methods for determining a schedule for the project,
a priori. That is to say, given the range of times in which each activity could be completed, find the
most cost-effective way to complete the project in the desired time frame. However, considerable
attention has also been paid to methods for assessing and dealing with risk and uncertainty (Pich,
et al. 2002).
3
Resource Elasticity
The traditional time-crashing approach looks at the time-cost tradeoff from the position that
completing an activity in less time will require additional resources, that is, cost is a function of
time. We look at that same relationship from the opposite perspective that duration time is a
function of the applied resource rate. That is to say, the higher the daily spending rate, the shorter
the duration time.
We approach the problem somewhat differently from much of the literature. We are interested
in simple methods, which could quickly be applied by a project manager with mud on his boots.
An IP formulation of the problem assumes that the decision maker has information regarding each
of the possible levels of tradeoffs between time and cost for each activity. As Kelly and Walker
4
Activity A
D
C
C/D
Normal
200 $11,550 $57.75
Crashed
160 $12,800 $80.00
Difference
40
$1,250
$31.25
Table 1: Costs and Durations for Activities A and B.
(1959, p. 164) observed, “Usually in practice insufficient data is available to make more than a
linear approximation.” Many managers may not be able to create a full menu of all of the possible
time and cost combinations, because calculating each combination requires a certain amount of
time, and thus, comes at some cost. For a project manager in the field, collecting all the necessary
information to formulate and solve the IP model is likely a luxury he cannot afford.
3.1
Difference of Crashing Assumptions
Traditional project crashing assumes that an activity can normally be completed in DN days for a
total cost CN , or crashed for a total cost CC , when it will be completed in DC days. For example,
suppose activity A (summarized in Table 3.1) can be normally completed in DN = 200 days, for
a cost of CN = $11,550, or crashed to DC = 160 days, for a cost of CC = $12,800. Thus, for an
additional cost of CC − CN = $1,250, the project can be completed ∆D = DN − DC = 40 days
faster. The project manager must decide between spending an additional $1,250 to save 40 days,
or $0 to save 0 days. Additionally, it is typically assumed that points in-between are possible
because the time saved is linear in the amount of additional spending.
Assumption 1 The time saved, ∆D, by additional additional spending C − CN , is linear in the
amount of additional spending, for CN ≤ C ≤ CC .
Thus, the amount of additional cost, per day to be saved, the crash cost per day (CCPD) can be
computed:
CCP D =
CC − CN
.
DN − DC
Given the CCPD for a number of activities, it would seem logical to crash first the activity on
the critical path with the lowest CCPD, and when its crashing opportunities are exhausted, move
to the next cheapest, etc., until the crash time reduction has been achieved, or the cost per day
crashed exceeds the benefit per day. Many textbooks present some version of this. For example,
5
“Crash critical activities, in order of increasing costs, as long as crashing costs do not exceed
benefits” (Stevenson 2002, p. 794).
C1 −CN
. Rearranging,
Under assumption 1, if total spending is C1 , the time saved is ∆D = CCPD
under Assumption 1, to save ∆D days, we may solve for C1 as a function of ∆D:
C1 (∆D) = CN + ∆D ∗ CCPD.
So for activity A, if ∆D = 10 days, C1 (10) = $11, 500 + 10 ∗ $31.25 = $11, 812.50.
In some cases, assuming that the time saved is linear in the amount of additional cost may be
quite reasonable. For example, if an activity can be sped up by paying a group of welders to work
overtime, paying half the amount of overtime should result in roughly half of the time savings.
In this paper, we make a different assumption about linearity. For any project, the resource
usage per day, R = C/D can be computed. For example, when crashed, activity A has a resource
usage rate of RC = CC /DC = $12, 800/160 = $80/day, and the normal usage rate is RN =
CN /DN = $11, 550/200 = $57.75/day. We assume that the time savings are linear in the resources
used per day.
Assumption 2 The time savings ∆D, from crashing, are linear in the additional resources per
day used, R − RN , for RN ≤ R ≤ RC .
Under assumption 2, the days saved, ∆D, as a function of the resources spent per day, R, can be
written:
∆D2 (R) = (R − RN ) ∗
DN − DC
.
RC − RN
(1)
Alternatively, we may solve for the resources used per day, as a function of the days to be saved,
R2 (∆D), under Assumption 2.
R2 (∆D) = RN + ∆D ∗
RC − RN
.
DN − DC
(2)
If ∆D = 0, R2 (∆D) = RN . If ∆D = DN − DC , then R2 (∆D) = RC . For values of D in-between,
R2 (D) is linear in D. It is easily verified that
∂R2 (∆D)
RC − RN
=
.
∂∆D
DN − DC
(3)
Under Assumption 2, the relationship between additional resource usage and time saved is clearly
linear.
6
Activity
Duration
DN
DC
Changing
Duration
Impact
Resource
Usage
Impact
RN
RC
Resources/Day
Figure 1: Resource-Duration Combinations from Assumption 2
Under Assumption 1, the resources used per day, as a function of the days to be saved, R1 (∆D),
are given by
R1 (∆D) =
CN + ∆D ∗ CCPD
.
DN − ∆D
(4)
Taking the derivative with respect to ∆D, it can be shown:
DN ∗ CCPD + CN
∂R1 (∆D)
=
.
∂∆D
(DN − ∆D)2
(5)
Clearly, the resource usage per day is not linear in ∆D under Assumption 1.
3.2
Similarity of Solutions Considered
Figure 1 shows the combinations of R and D that would be available under Assumption 2. The
vertical rectangle shows the total cost under normal conditions. With a width RN and height
DN , it has an area of RN ∗ DN = CN . The horizontal rectangle has area of RC ∗ DC = CC . By
assumption, CC > CN , and the areas of the rectangles reflects this. The straight line tangent to
the two rectangles represents the crashing combinations available under Assumption 2, for resource
usage rates between RN and RC .
Although the traditional CCPD assumption does not result in a linear relationship between
resources used per day and the days saved, as a practical matter, the relationship turns out to be
nearly linear, as the following graphs demonstrate.
7
250
Project Length, D
200
150
100
50
0
0
10
20
30
40
50
60
70
80
90
Re source s / Day
Figure 2: Resource-Duration Combinations from Assumption 1
Figure 2 represents the cost of crashing and normal completion. The rectangle with vertical
striping represents the total cost for the regular project, because its width is RN = $57.75 per
day, and its height is DN = 200 days, giving it area of RN ∗ DN = CN . The horizontal rectangle
with horizontal striping represents the total cost for the crashed project, because its width is RC
= $80 per day, and its height is DC = 160 days, giving it area of RC ∗ DC = CC > CN . The line
connecting the upper-right corners of the two rectangles traces out the possible R, D combinations,
under Assumption 1.
Unfortunately, given the scale of the picture, it is difficult to see much of the tradeoff between
crashing and normal operation. In Figure 3, the same points are shown, but the origin has been
shifted, to better show detail. As a reference, the straight line of combinations under Assumption 2
has been drawn through the extreme points of crashing and normal. As it can be seen, although
the CCPD line is not linear, it is very nearly linear.
The conclusion we may draw from this is that although the two assumptions differ in their
relationship between resources and project completion time, they end up considering a nearly
identical set of crashing possibilities.
3.3
Elasticity as a Measure of Sensitivity
Without crashing, an activity would be completed in time DN , using RN resources per day, for
total cost of DN RN . With crashing, it is completed in DC , using RC resources per day, for
total cost DC RC . We break the change in total costs into two factors: a savings due to faster
completion, and an increase due to higher resource usage per day.
8
210
Project Length, D
200
190
180
170
160
150
50.0 52.5 55.0 57.5 60.0 62.5 65.0 67.5 70.0 72.5 75.0 77.5 80.0 82.5 85.0
Re source s / Day
Figure 3: Assumption 1 Resource-Duration Combinations, Magnified
If an activity is completed in less time, it could be argued there should be some savings, because
fewer days of expense are incurred. However, more money is being spent per day, which likely
more than offsets the savings from the shorter completion time. For example, if we could complete
the activity in the crash time DC , but using normal resource levels, RN , the impact on total
costs of changing the duration would be RN (DC − DN ). However, for each of the DC days, the
cost impact of increasing the resource usage rate is DC (RC − RN ). Figure 1 shows these impacts
graphically.
For activity A, crashing increases costs by DC RC −DN RN = $1,250. The impact from changing
the duration is RN (DC − DN ) = $57.75(160-200) = -$2,310. The impact from greater resource
usage per day is DC (RC − RN ) = 160($80 - $57.75) = $3,560, so the net impact of the change =
$3,560 - $2,310 = $1,250, exactly the total cost difference.
Because crashing is more expensive than the normal completion time, we know |RN (DC − DN ) | <
DC (RC − RN ). If the crashing cost were the same as normal completion, the terms would be equal.
If we have several activities to consider crashing, we would like to choose the activity with the
least net impact, which will be the activity where the two terms are closest to being equal.
We argue that taking the ratio of these two terms can tell us which activities should be crashed,
and we define this ratio as E:
E=
RN (DC − DN )
Changing Duration Impact
=
.
Resource Usage Impact
DC (RC − RN )
(6)
This ratio is, in fact, the elasticity of completion time, with respect to resource usage. Because
we have only two estimates of the relationship between resources and completion time, we must
derive an arc elasticity term, instead of point elasticity. Arc elasticity has been discussed in the
9
economics literature by Sheldon (1986), following Gould and Ferguson (1980), Machlup (1952),
and Lerner (1933). Following them, we may define:
E=
R ∗ ∆D
RN (DC − DN )
∆D/D
=
=
.
∆R/R
D ∗ ∆R
DC (RC − RN )
(7)
From the first expression, we see that E is the ratio of percentage changes in D to percentage
changes in R. By assumption, DC < DN , and RC > RN , so E < 0. For activity A, we obtain
E = −2, 310/3, 560 = −0.6488, which means a 1% decrease in resource expenditure leads to a
0.65% increase in activity duration. For any two activities, the one with the lower |E| value is less
sensitive to changes in resource usage.
If we have resources to give, the greatest percentage impact will be seen by giving resources to
the activity with the highest |E|. If activities need to be taken away, they should be taken from
the activity with the lowest |E|, since it is least sensitive to changes in R. Also, activities with
lower elasticities must be monitored more carefully, because if they fall behind, more resources
will be required to bring them back up to schedule.
3.4
Total Cost of Crashing
Because of Assumption 2, within the range of R values from the crash and normal options R ∈
[RN , RC ], the relationship of duration to resource usage can be given by a straight line, shown in
Figure 1:
D2 (R) = a − bR.
(8)
The term a represents a hypothetical project duration if zero resources are assigned, and is an
artifact of the linearity assumption. The term b shows how duration decreases in R, a term
previously derived in (1): b = (DN − DC ) / (RC − RN ). We can then find a = DN + RN ∗ b. For
activity A, b = (200 − 160)/(80 − 57.75) = 40/22.25 = 1.798 so a = 200 + 57.75 ∗ 1.798 = 303.8.
Thus, total cost D(R) = 303.8 − 1.798 ∗ R, and it is easily verified it returns the proper values for
R = 57.75 and R = 80.
The total cost is given by C = R ∗ D. Substituting in D2 (R) from (8), we obtain:
C2 (R) = R(a − bR) = aR − bR2 .
(9)
For A, C = 303.8R − 1.798R2 , which is quadratic, as shown in Figure 4. The vertical line is at the
lower range of R, R = $57.75, and the dashed vertical line is at the upper range of R, R = $80.
10
20,000
18,000
16,000
Total Cost, C
14,000
12,000
10,000
8,000
6,000
4,000
2,000
0
0
50
100
150
200
Resources per Day, R
Figure 4: Total Cost of Activity A as function of Resources per Day, R
From first-order conditions, C(R) can be shown to reach a maximum value at R = a/2b. We can
see from Figure 4, C obtains a maximum value at R = 303.8/(2 ∗ 1.798) = 84.5, and a minimum
value at R = 0, both of which are well outside the [70,80] range. The downward sloping portion
of C for R > a/2b is also an artifact of our linearity assumption.
Given a total cost amount C, we can use the quadratic formula to the find the two values
of R will yield the desired value of C(R). One solution is R > a/2b, and therefore not feasible.
Substituting the relevant solution into (8), we can find the resulting duration. For example, if we
have $12,000 to spend on activity A, we need to solve
$12, 000 = 303.8R − 1.798R2
for R. From the quadratic formula, we obtain R = 62.93 and R = 106.07. The second, 106.07 >
84.5 = a/2b, and 106.07 > 80 = Rmax . The other value, 62.93 < a/2b, and it is easily verified that
C2 (62.93) = 303.82(62.93) − 1.798(62.93)2 = 19, 119.4 − 7, 119.4 = 12, 000, as desired.
4
Crashing Decisions
We can use our elasticity formulas to either figure out which activities to speed up, or which
activities to slow down, should that be needed.
11
Activity
DN
DC
B
165
C
280
CN
CC
E
RN
RC
160 $11,550 $12,800 -0.2188
70
80
220 $16,800 $19,800 -0.5455
60
90
Table 2: Costs and Durations for Activities A and B.
4.1
Which Activitiy to Crash
We can use equation (7) to to decide which activity to crash. For example, suppose we have two
activities, B and C, (listed in Table 2) and we need to decide which to crash. Activity C is more
elastic, so spending on C will have a greater “bang for the buck” than spending on B, and should
be crashed first.
Suppose 4 days needed to be saved from either B or C. We can use equation (2) to see how
many resources would need to be used per day to gain 4 days. For activity B, R2B (4) = 70 + 4 ∗
(80 − 70)/(165 − 160) = 70 + 4 ∗ 10/5 = 78. The new cost of activity B is now CB = R ∗ D =
78 ∗ (165 − 4) = $12, 558. Crashing increased costs by $12,558 - $11,550= $1,008.
For activity A, R2A (4) = 60 + 4 ∗ (90 − 60)/(280 − 220) = 60 + 4 ∗ 30/60 = 62. The new cost of
activity C is now CC = R ∗ D = 62 ∗ (280 − 4) = $17, 112. Crashing increased costs by $17,112 $16,800 = $312.
As predicted by the elasticity, C is the better activity to crash.
Another way to arrive at this same result is to look at the change in R. For activity B, to gain
4 days is a reduction of 2.42% from 165. An elasticity of -0.2188 means that daily resource usage
must be increased by 2.42% / 0.2188 = 11.1% of $70, for R = $78.
4.2
Which Activity to Slow Down
We can also use elasticity to decide which activities to slow down, and equations (8) and (9)
to determine the impact of adding or withholding resources. For example, suppose that we had
already decided to crash both B and C, and activity A has become delayed, and we are going to
have to dedicate an additional $1,000 in resources to A, so it can be crashed. When $1,000 less
is spent on B or C, it will be in a “slow crash” mode, where we will not spend enough to achieve
the full crash benefits, but the activity will be faster than normal. B has a smaller elasticity, and
is thus less sensitive to reductions in resources, so the $1,000 should be taken from it, if that is
12
feasible.
We were planning to spend $1,250 to crash B, so it would be feasible to spend $1,000 less,
giving CCB = $11, 800. Solving for a and b, the cost of B is C B (R) = 200R − 0.5R2 . Solving
$11,800 = 200R − 0.5R2 , we obtain RB = $71.94. as the resources to devote to B in a slow-crash
situation. Substituting into equation (8), the length of the slow-crash is found:
DSB = 200 − 0.5(71.94) = 164.03 = 164 days.
Taking $1,000 from B increases its completion time by 4 days.
We originally planned to spend $3,000 crashing C, so taking $1,000 from it is feasible. Computing the parameter values for B, a = 400, b = 2. Given a slow-crash cost of $18,800, we solve
$18,800 = 400R − 2R2 , we obtain RSC = $75.50. Substituting into equation (9), the slow-crash
length is found: DSC = 400 − 2(75.50) = 249 days. Taking $1,000 from C increases its completion
time by 29 days.
Clearly, the elasticity gave the right decision. Compared to normal, daily resource usage of
$71.94 is a 2.77% increase. Multiplied by the elasticity of -0.2188, the percentage change in
duration is −0.2188 ∗ 0.0277 = 0.606, % compared to the normal time of 165, a reduction of 1 day.
4.3
Other Duration Times
In many cases, the normal and crash times represent the extreme possibilities, and nothing faster
or slower than them may be considered. In some cases, however, it may be realistic to also speak
about a “slow normal” time, which is slower than the normal time, or a “fast crash” time, faster
than the crash time. If the normal and crash times are the project manager’s best guess, and not
the result of weeks of study by a fleet of analysts, it might be quite reasonable to consider times
faster than the crash time, or slower than normal.
If the linear relationship between daily resource usage and duration holds for the range [RN , RC ],
it is possible this relationship may also hold for points close to, but outside of this range. Figure 1
shows what the linear relationship would look like if it held for R ∈ (0, a/2b). The relationship
clearly could not hold for R = 0, but it could hold for values smaller than RN , or larger than RC .
If the linear assumption holds for larger or smaller R values, we can consider the possibility
of further crashing of an already-crashed activity, for a “fast crash” time, or of slowing down a
normal activity for a “slow normal” time.
13
5
Summary and Conclusions
In this paper, we have presented a new method for determining which project activities to crash.
The calculation of resource elasticity requires no new information, and is computed using the
project manager’s conventional estimates of normal and crash duration times as well as normal
and crash costs. Instead of assuming a linear relationship between crash spending and time
saved, we assume a linear relationship between the additional resources used per day and the time
saved. This assumption allows us to compute a resource elasticity measurement that tells us which
activities will respond most significantly to increases in the resources allocated to them.
Resources that are highly resource elastic can easily be brought back onto schedule, should they
fall behind, and highly inelastic activities would require large amounts of additional resources to
speed up, should they fall behind. Therefore, highly inelastic activities need to be monitored
carefully in order to make sure that they do not fall behind. If resources need to be taken away
from an activity, they should be taken from the activity that will be affected the least.
6
References
Berman, S. 1964. Resource allocation in a PERT network under continuous time-cost functions.
Management Science, 10(4) 734-745.
Boctor, F. 1996. A new and efficient heuristic for scheduling projects with resource restrictions
and multiple execution modes. European Journal of Operational Research, 90, 349-361.
Elmaghraby, S. 1977. Activity networks: Project planning and control by network models.
John Wiley Interscience: New York.
Gould J., and C. Ferguson. 1980. Microeconomic theory (5th ed.). Irwin: Homewood, IL.
Hartmann, S. 1999. Project scheduling under limited resources. Springer: Berlin.
Herroelen, W. 2005. Project scheduling - Theory and practice. Production and Operations
Management, 14(4) 413-432.
Kelly, J. 1961. Critical-path planning and scheduling: Mathematical basis. Operations Research, 9(3) 296-320.
Kelly, J., and M.R. Walker. 1959. Critical path planning and scheduling. in Proc. of the
eastern joint computer conference. Boston, MA, December 1-3, 160-173.
Kolisch, R. 1995. Project scheduling under resource constraints. Physica Verlag: Kiel, Ger-
14
many.
Lamberson L., and R.R. Hocking. 1970. Optimum time compression in project scheduling.
Management Science, 16(10) 597-606.
Learner, A. 1933. The diagrammatical representation of elasticity of demand. Review of
Economic Studies, I(1) 39-44.
Machlup, F. 1952. The economics of sellers competition: Model analysis of sellers conduct.
Baltimore: Johns Hopkins press.
Malcolm, D., J. Rosenbloom, C. Clark. 1959. Application of a technique for research and
development program evaluation. Operations Research, 7(5) 646-669.
Petrovic, R. 1968. Optimization of resource allocation in project planning. Operations Research, 16(3) 559-568.
Pich, M., C. Loch, and A. De Meyer. 2002. On uncertainty, ambiguity, and complexity in
project management. Management Science, 48, (8) 1008-1023.
Sheldon, J. 1986. A note on the teaching of arc elasticity. Journal of Economic Education, (3)
120-124.
Stevenson, W. 2001. Production operations management. Irwin McGraw-Hill: Burr Ridge, IL.
Tavares, L. 2002. A review of the contribution of operational research to project management.
European Journal of Operational Research, 136, 1-18.
Williams, T. 1999 Allocation of contingency in activity duration networks. Construction Management and Economics, 17, 441-447.
15