resource constrained project scheduling: modelling with multiple alternatives

15
Maihl. Comput. Modelling Vol. 15, No. 9, pp. 49-63, 1991 Printed in Great Britain 0895-7177/91 $3.clcl+ 0.00 Pergamon Press plc RESOURCE CONSTRAINED PROJECT SCHEDULING: MODELLING WITH MULTIPLE ALTERNATIVES BRADLEY A. KRAMER AND CHING-LAI HWANG Department of Industrial Engineering Kansas State University Manhattan, KS 66506 (Received October 1990) Abstract-A generalized resource constrained project scheduling model is developed. In addition to incorporating common generalizations to the resource constrained project scheduling problem, this model can also handle any of the major scheduling objectives, alternative activity completion modes, and the simultaneous scheduling of multiple projects. Furthermore, this approach makes the general project scheduling problem amenable to solution by commercially available mixed integer/linear p~gramming software. The central concept is the split of activities and the allocation of different resource usage rates. Numerical examples are given to illustrate the approach and its advantages. NOMENCLATURE Subscripts i Variables Early; Late; LWi Lead; activity identifier. Alphabetic order denotes precedence order. Duration of activity i. Deviation of the project resource usage rate for resource P in time period t. Amount of time that activity i is completed before its due date. Amount of time that activity i is late. Lagging slack for activity i. It is a O-l variable also known as the Postslack;. Leading slack for activity i. It is a 9-l variable also known as the Preslacki. Constants and Identifiers AvgR Average amount of resource P used throughout the project. b Bonus rate for completing activity i early. Bonesi Bonus received for completing activity i early. Ei Cost slope for the aggregate time/cost curve of activity i. T resource identif%er. t time period identifier. Prem,t Amount of overutilization of resource r in period t. Rit Resource Usage F&e for activity i during period t. (0 5 Rit 5 1) R&t Complement of Rit. Used to represent activity splits and to allow for fractional resource application to activity i. (9 5 B&t < 1). Si Start time of activity i. Z Termination time of activity i. @I& The aggregate cost of completing activity i. Si, Cost slope for the use of resource I to complete activity i. cc; Crash Cost for activity i. CDi Crash Duration of activity i. DDi Due date for activity i. HF A known feasible project comple- tion time. Typeset by AJ,@-T&X 49

Upload: bradley-a-kramer

Post on 26-Jun-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Resource constrained project scheduling: Modelling with multiple alternatives

Maihl. Comput. Modelling Vol. 15, No. 9, pp. 49-63, 1991 Printed in Great Britain

0895-7177/91 $3.clcl+ 0.00 Pergamon Press plc

RESOURCE CONSTRAINED PROJECT SCHEDULING: MODELLING WITH MULTIPLE ALTERNATIVES

BRADLEY A. KRAMER AND CHING-LAI HWANG

Department of Industrial Engineering

Kansas State University

Manhattan, KS 66506

(Received October 1990)

Abstract-A generalized resource constrained project scheduling model is developed. In addition to incorporating common generalizations to the resource constrained project scheduling problem, this model can also handle any of the major scheduling objectives, alternative activity completion modes, and the simultaneous scheduling of multiple projects. Furthermore, this approach makes the general project scheduling problem amenable to solution by commercially available mixed integer/linear p~gramming software. The central concept is the split of activities and the allocation of different resource usage rates. Numerical examples are given to illustrate the approach and its advantages.

NOMENCLATURE

Subscripts

i

Variables

Early;

Late;

LWi

Lead;

activity identifier. Alphabetic order denotes precedence order.

Duration of activity i. Deviation of the project resource

usage rate for resource P in time period t. Amount of time that activity i is completed before its due date. Amount of time that activity i is late. Lagging slack for activity i. It is a O-l variable also known as the Postslack;. Leading slack for activity i. It is a 9-l variable also known as the Preslacki.

Constants and Identifiers

AvgR Average amount of resource P used throughout the project.

b Bonus rate for completing activity i early.

Bonesi Bonus received for completing activity i early.

Ei Cost slope for the aggregate time/cost curve of activity i.

T resource identif%er. t time period identifier.

Prem,t Amount of overutilization of resource r in period t.

Rit Resource Usage F&e for activity i during period t. (0 5 Rit 5 1)

R&t Complement of Rit. Used to represent activity splits and to allow for fractional resource application to activity i. (9 5 B&t < 1).

Si Start time of activity i. Z Termination time of activity i.

@I& The aggregate cost of completing activity i.

Si, Cost slope for the use of resource I to complete activity i.

cc; Crash Cost for activity i. CDi Crash Duration of activity i. DDi Due date for activity i.

HF A known feasible project comple- tion time.

Typeset by AJ,@-T&X

49

Page 2: Resource constrained project scheduling: Modelling with multiple alternatives

50 B.A. KRAMER, C.L. HWANC

Ki

li

JN

NC; ND;

(Paymel

PC,

Penaltyi

TN

The cost intercept for the activity time/cost curve.

R

Late or penalty rate for completing activity i late.

Res,,

Number of activities comprising the &,

project. Normal Cost for activity i. Normal Duration for activity i.

Receipt. I

The set of all activities upon which its termination results in a receipt of a partial project payment.

Resource,

R --thresh The penalty cost slope for overuti- king resource T. Penalty payment for completing activity i late. Project completion time.

Weight --P

Work. -,P

The number of different resource types. Amount of resource + available in period t. Maximum amount of resource T to be used for activity i. Payment received at the comple- tion of activity i. The total amount of resource P available for the project. Threshold resource usage rate above which a premium must be paid. Weight for leveling importance of resource T. The amount of resource T required to complete activity i.

1. INTRODUCTION

A project schedule greatly influences the ultimate success or failure of the project. Because of its importance, there have been many efforts aimed at improving project scheduling methods. Various heuristic scheduling methods have been introduced; studies of the best heuristic to be applied to a given project have been presented; mathematical formulations have been developed and refined; and algorithms to optimally schedule a project have been published.

The problem with these models is that each is based on a set of assumptions which limit the development of a generalized model. A single formulation of the project scheduling problem,

which is capable of modelling any or all of the practical scheduling objectives and can include all of the known generalizations to the resource constrained project scheduling problem, has not been published. The most general formulations to date are concentrated on the optimization of project duration related objectives and generally require activity durations to be fixed. Furthermore, the most general project scheduling models in existence are conceptually awkward and make project definition difficult.

One of the most general project scheduling problem formulations to date is that of Pritsker, Watters, and Wolfe [l]. Theirs was a zerGone programming formulation developed for time related objectives only. Their zero-one decision variables reflect the time period in which an activity is completed. This definition of the decision variables tends to make the definition of

problem constraints and objectives somewhat complicated. This same type of formulation has also been used in [2-71. As published, this formulation restricted all activity durations and all resource usage amounts and rates to be deterministic and fixed. Another generalized formulation using O-l variables to define whether or not work was being accomplished on an activity during each period of the project was presented by Weist [8]. This formulation does not allow for activity splits or varying rates of resource application and only uses a project duration minimization objective.

This paper presents a generalized formulation which incorporates all of the known general- izations to the resource constrained project scheduling problem. It may be used in conjunction

with any of the three primary project scheduling objectives: minimize project duration, minimize project resources or utilize project resources at a steady rate. This formulation allows multiple resource types, doubly constrained resources, alternate modes of activity accomplishment, spec- ified precedence relations between activities, selective activity splitting, specified activity start and/or completion times, specified activity durations, and selective crashing or relaxation of ac- tivity durations. The resulting schedule details the amount of each type of resource to be applied to each activity during each time period of the project.

2. BASIS FOR THE MODEL

The formulation is conceptually based on the illustration shown in Figure 1. The emphasis is

placed on activity splits and the allocation of different resource usage rates. The meaning of the various notations are listed in the nomenclature.

Page 3: Resource constrained project scheduling: Modelling with multiple alternatives

Resource constrained project scheduling

I

A i I I

Activity 1 I

A j I

R i J

RO i

PreSlaCii, 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 OMO 0 0 0 0 0 0 0 1 34 0 0 0

Poslslacicj, 0 0 0 0 0 0 0 I 1 I

Figure 1. Graphical representation of formulation concepts.

It is assumed that the project will begin at time zero and that some upper bound exists for the project duration. This bound must come from a schedule which meets all of the constraints included in the problem formulation. It is most likely that this duration will be obtained from some heuristic procedure and thus will be defined as HF or Heuristic Finish. Talbot and Patter- son [i’] suggest that the sum of activity durations may be used as HF if another heuristic solution is not readily available. The duration of an activity is the elapsed time between the beginning and ending of activity i and is labeled Di. The time before the beginning of an activity is called the preslack or lead slack. The time between the completion of an activity and the project HF is called the postslack or lug slack. The start and termination times for activity i are labeled Si and Ti respectively,

The scheduling table is a modified Gantt chart which explicitly defines the project schedule. It shows when an activity is idle and when it is being worked. It also shows the rate at which resources are used for each activity, the corresponding activity duration, and any activity splits that occur. Each activity is defined to be in one of the following three mutually exclusive phase during each time period of the project. The preslack phase is the idle time before an activity begins and is represented by the preslack scheduling variable. The resource commitment phase is the period when an activity is being accomplished. It is represented by the two variable R (resource usage variable) and RO (zero resource usage variable). The postslack phase is the idle time between the completion of an activity and the completion of the project.

3. SCHEDULE CONSTRAINTS

There are two types of constraints necessary to this formulation: logical constraints and model constraints. The logical constraints are those which logically constrain the development of a

Page 4: Resource constrained project scheduling: Modelling with multiple alternatives

52 B.A. KRAMER. C.L. HWANCJ

project schedule such as constrained resources and precedence relations. Model constraints are developed to force this model to develop a feasible project schedule.

3.1. Logical Constraints

There are logical constraints on the amount of resource T available and/or the rate at which the resource may be used. A resource is doubly constrained if both the amount and the rate constraints are used for this particular resource. The amount constraint is used to limit the total amount of resource used over the entire project life. Rate constraints are used to limit the amount of resource used in each time period. These constraints are written mathematically as follows:

1) Constraint on total amount of resource:

N HF

2) Constraint on the resource usage rate:

N

c Res;, x fit < Res,,; i=l

r= 1,2,...,R 0)

r= 1,2,...,R t = 1,2,. . . , HF (2)

The resource usage rate constraints provide the m&nager with the flexibility to model the exact times and amounts of resource r availability.

The next logical constraint assures that each activity will be completed. It is assumed that an activity requires some known amount of work to be accomplished before the activity will be completed. This amount of work is estimated as the amount of resource r required to complete the job. Since at is an overall resource usage rate, the equation need only be written for a single resource. This constraint set can be written as:

HF

c Res;, x Ril > Worki,.;

i= 1,2,...,N

t=o r=l,2,...,R

There are three logical constraint sets used for maintaining precedence. The first set is used to define the start and termination times of each activity. The second set is used to define the duration of each activity. The last constraint set actually defines the activity precedence relations. These constraints are:

1) Definition of Activity Start and Completion Times.

Si+Di=Ti; i = 1,2,. . . , N (4)

2) Definition of Activity Duration.

HF

C (Rit + Roil) = Di; i= 1,2,...,N (5) t=1

3) Precedence Relations. Ti < Sj; V(i,j) : i > j (64

This precedence constraint set provides for immediate precedence relations and characterizes the precedence relations modelled in present formulations. Other precedence relations may be required. For example, if one would like to require that two activities begin at the same time, the constraint could be written as Si = Sj. Other precedence relations may include:

1) Activity i must be completed by its due date:

Ti 5 DueDatei w

Page 5: Resource constrained project scheduling: Modelling with multiple alternatives

Resource constrained project scheduling 53

2) Start the jth activity at least X time periods after activity i was begun:

3) Start the jth activity at least X time periods after activity i was completed:

Il:+X<Sj (64

4) Activity j must be completed within X time periods after the start of activity i:

5) Activity j cannot be completed before at least X time periods have elapsed since the completion of activity i:

Z + X 5 T’ (6f)

6) Activities i and j must be completed simultaneously:

Tj=Tj (W

3.2. Model Conshids

The model constraints axe used to sssure the proper definition of all decision variables and to force this model to produce a practical project schedule. The first two model constraints are used to define the preslack/activity start time relationship and the preslack/activity termination time relationship. They are:

Preslack definition:

HF

c Leadit = Si; i = 1,2,, . . , N (7)

t=1

Postslack definition:

HF

c Lagit = HF - Ti; i= 1,2 ,*.., N t=1

These constraints alone are not sufficient to assure that a proper schedule is developed. It is possible to meet all of the previous constraints and still find that an activity is scheduled to be in the preslack, the postslack, and the resource commitment phases simultaneously. Three constraint sets must be added to assure that each activity will be in only one phase at a time. First, the variables Leadit and Lagit are defined to be O-l variables.

The period selection constraint set is written to assure that only one variable type is active in any given period.

Leadit + Rit + ROit + Lagit = 1; i= 1,2,...,N t=1,2,...,HF (9)

Although this constraint forces each activity to be in only one phase (either preslack, resource commitment, or postslack) during each time period, it does not assure that the preslack phase is finished before the activity starts or that the postslack phase only begins after the activity is completed. To accomplish this feat, constraints are required to maintain the integrity of the preslack and postslack variables. The first constraint forces leading slack to be scheduled before the activity is started. This constraint set is written as follows:

Lead++1 + (&t + ROit) + Lagit _< I; i = 1,2,. . . , N t=1,2,...,HF-1 (10)

Page 6: Resource constrained project scheduling: Modelling with multiple alternatives

54 B.A. KRAMER, C.L. HWANCI

The second constraint forces postslack to be scheduled exclusively after the activity has been completed. This constraint is written as follows:

La!7i,t-1 + (Rit + ROit) + Leadit 5 1; i= 1,2,...,N t=2,3,...,HF (11)

Both of these constraints assume the existence of the period selection constraints. The result is that any given period t will be designated as a preslack period (Lea& = l), or a busy activity period (.R+t+ROit = l), or a postslack period (Logi, = 1). Each of the variables, Leadit and Lagit are 0,l variables. The variables fir and ROit have been defined as linear variables with an upper bound of 1. A lower bound for & could also be specified if it is desirable to have a minimum level of resource commitment during each period for any given activity. A short discussion of the applicability of the model is presented followed by a numerical example and a discussion of the advantages of this formulation.

4. MODEL APPLICABILITY

In addition to applying the model to various objectives, this approach can also be used to sched- ule multiple projects simultaneously and allows for alternate modes of activity accomplishment.

These applications are summarized in the following.

4.1. Scheduling Objectives

A project schedule should be developed to reflect the objective of the organization. Major project scheduling objectives are to minimize project duration, minimize the cost of the project (or alternately to maximize the value of the project), or to use project resources at a controlled rate. Most project scheduling techniques have only dealt with the duration minimization objective. This formulation, however, is amenable to all three major objective types. Each of these objectives is demonstrated.

4.1.1. Minimize Project Duration

The minimization of a project’s duration is the most commonly published project scheduling objective. It is accomplished by minimizing the completion time of the last activity in the project. A final dummy activity may be added to the project if it is difficult to foresee which activity will be completed last. Mathematically, this objective is simply:

Minimize Project Duration = Min TN = Min SN+~ (12)

4.1.2. Minimize Project Cost

To minimize project cost, one must know the cost of completing each activity. This cost may be given as a function of the activity duration, as a function of the amounts and rates of resources used by the activity, or as an estimate of the cost under each particular mode of activity completion. Most project scheduling work assumes that activity cost varies as a linear function of activity duration. The cost of completing an activity as related to its duration is represented as follows:

Cost_; = & - {(CCi - NCi)/(NDi - CDi)} X Di

=I(i-Ci x Di

The total project cost is the sum of all of the activity costs:

(13)

N

Minimize Project Cost =MinC(.&-CxDi) i=l

N

= Minx -I;i X Di (14 i=l

N

= MazxG x Di i=l

Page 7: Resource constrained project scheduling: Modelling with multiple alternatives

Resmuce constrained project scheduling 56

It may be desirable to include a penalty cost for the late completion of an activity and/or bonus payments for the early completion of an activity. Although these costs and benefits are practically important to project managers, they are very difficult to model and are not considered in other project scheduling formulations. These benefits and costs are included as follows:

N

Min Project Cost = Max c (G x Di + Bonusi - Penalby,), (15) i=l

where: Bonusi = 4 x Eady~; where Et~lyi = max(0, DD; - Ti) Penaltyi = L x Latei; where Latei = max (0, Ti - DDi)

The project cost may be computed alternatively on the basis of resource usage rates. Assuming a linear resource usage rate/cost trade-off, the cost of completing an activity is the sum of the direct costs of resource employment, the penalty costs charged for the late completion of an activity and the bonus payments received for the early completion of the activity. This objective is written as:

Min 2 i=l 1

5 5 (c, x I&) + (Penalty. - Bonusi) iZSi r=l I

(16)

A penalty cost may also be assessed for the overutilization of project resources. This cost is a premium that is paid when a resource is used at a rate above the normal or threshold rate. The resource overutilization cost as a function of the resource usage rate is formulated and included in the cost objective as follows:

Min fl: 2 5 (ci, x fit) + 2 (Penalty. - BonuSi) + E 5 (pC_ x Prem,t); (17) i=l t=s. r=l kl 1=1 r=l

where:

Premrt = Max 0, c Rit - Bthresh

i=l

Kramer [9] has extended this objective to include partial compensation at the completion of milestone events and the regulation of payment for resources used throughout the project. This knowledge of the timing of receipts and payments can then be used with a current interest rate to maximize the present value of the project and provide the project manager with further information to control project performance.

4.1.3. Resource Leveling

In practice, there are some resources (such as manpower) that a manager wants to use at a well balanced rate. These resources are often available at a level rate and are paid for even if idle. To obtain a project schedule with this objective, the length of time that each resource r is used for a project must be estimated. This length can initially be assumed to be equal to HF. The following constitutes the development of the resource leveling objective:

AvgR = -r

Dev&t = C( Res;, x Rit) - AvgR -c i=l

To perform resource leveling for a single resource, the absolute deviation of the actual resource usage from the average resource usage will be minimized on a period by period basis. To level the use of several resources, the simplest objective would be to add the deviations of all the resources

Page 8: Resource constrained project scheduling: Modelling with multiple alternatives

56 B.A. KRAMER, C.L. HWANG

from their average use together. (Note that all resources are already normalized by definition of Ri*.) If it is more important to level some resources than others, weights or priorities might be added to the objective function:

Min? Weightr x E ]DewKtj, r=l 1=1

(19)

where Weight = weight for leveling importance of resource r. The simple definition of the three major project scheduling objectives presented in this paper

makes this model amenable to multiple criteria decision making techniques. Kramer [9] discusses the application of this model to multiple objective project scheduling.

4.2 Alternate Activity Completion Modes

‘Oftentimes a job may be completed by using one of several possible methods. Any of these methods might be acceptable, but each will require different resources and the activity duration will correspond to the mode of operation. When alternate modes of operation are available, the R row in the scheduling table is expanded to include a Mode, row for each mode of operation. This row represents the amount of resource r to be applied to the activity i under mode m operation during each time period of the project. These modes are usually considered to be mutually exclusive and thus would be defined to be mutually exclusive O-l variables in the expanded scheduling table. The activity completion constraints must also be altered to reflect the possibility of using different resources. It is possible that an activity could be completed by using two or more alternate modes of completion simultaneously. In this case, the Mode, variables will be defined to be linear with an upper bound of 1. They represent the percentage of resource r to be applied to the mode m performance of activity i in period t. In either case, an activity is in the resource commitment phase during period t when the sum of its mode,,, variables in period t is 1. It is noted that only one RO variable is required and that activity splitting is still allowed.

4.3. Simultaneous Scheduling of Multiple Projects

Another useful generalization is that of scheduling multiple projects simultaneously. This is accomplished by entering each activity of each project into one common scheduling table. The project is then modelled in the same manner as was previously described. The only difference is that precedence constraints are not necessarily defined between projects. Activities of each project may now compete for resources. Some resources, however, are not easily shared between projects. This problem is handled by defining localized resource types for those resources which should only be available to a single project.

4.4. Problem Simplification

A more specific problem may be described by altering the constraints. The simplification that has been used the most in project scheduling literature is the use of deterministic activity duration estimates. The deterministic activity duration cancels the need for the activity duration variables and replaces these decision variables in all equations with the duration estimate. When activity durations are fixed, the resource usage rate is also fixed and activity splitting disallowed. In this situation, there is no need for the RO variable and Rit would become a O-l variable. These changes significantly decrease the complexity and the flexibility of the formulation.

The problem size may be further reduced by specifying a window for activity performance. By performing critical path analysis (CPA), the earliest possible time that an activity can start is obtained. It is known, then, that the leading slack variables can be set equal to 1 until the early start period for each activity. It is also known that the lagging slack variables for these same activities will be equal to 0 until the earliest possible activity completion time. The latest possible time for activity completion may also be obtained by setting a latest possible project completion time and then performing the backward pass of CPA. This allows the leading slack

Page 9: Resource constrained project scheduling: Modelling with multiple alternatives

57 Resourceconstrainedprojectscheduling

Table 1. Example problem characteristics.

Daily Amount of

ResourceFtequired

Activity Predecessor Duration Rl R2 R3

1 - 1 2 2 1 2 - 2 0 2 1

3 1 2 3 3 3

4 1 3 2 1 3

5 2, 4 2 1 1 0

variable to be set to zero for each period beyond the late start period obtained by the backward pass. The lagging slack variable can also be set to 1 for each period beyond the late finish time of the activity. In mathematical terms, the following decision variables may be defined:

Leadit = 1; t=l,2,...,ESi_l

Leadit = 0; t = LSi,LSi+l,...,HF

Lagit = 0; t = 1,2, . . . , EFi

Lagit = 1; t = LFi f 1, LFi + 2,. . . , HF

Table 2. Minimum duration project schedule.

Act. I

Sched\ Time

Var. \Period

I Preslack

R 1

RO

Postslack

Preslack

R 2

RO

Postslack

Preslack

R 3

Ro

Postslack

R 4

RO

1 Postslack

Preslack

R 5

RO

Postslack

1

- 0

1

0

0 -

0

1

0

0 -

1

0

0

0 -

1

0

0

0 -

1

0

0

0

2 3 4 5 6 7 8

0 000

0 000

0 000

1 111

0 0 0

0 0 0

0 0 0

1 11

0 000

1 0 0 0

0 110

0 0 01

0 0 0

0 0 0

0 0 0

1 11

0 000 0 0 0

.67 0 0 0 .33 1 0

33111 .67 0 0

0 0 0 0 0 01

1 0 0 0

0 111

0 000

0 000

1 111

0 0 0 0

0 000

0 000

0 0 0

0 0 0

0 0 0

1 11

0 0 0

1 10

0 0 0

0 01

-

9

-

0

0

0

1 -

0

0

0

1 -

0

0

0

1 -

0

0

0

1 -

0

0

0

1 -

(20)

-

10

- 0

0

0

1 -

0

0

0

1 -

0

0

0

1 -

0

0

0

1 -

0

0

0

1 -

The definition of activity performance windows will significantly reduce the computational effort without any adverse effect to the model. Care must be exercised, though, in assigning HF for the project. If HF is too tight, the schedules produced by the model will be limited. If HF is lax, the computational effort increases.

Page 10: Resource constrained project scheduling: Modelling with multiple alternatives

58 B.A. KRAMER, C.L. HWANCI

Resource I 6

Units 5 ol 1

Resource 3 1 2

1

Units il of 4

Resource 3 2 2

I

G

Units 5

ol 4

Resource 3 3 2

I

Resource 3

Figure 2. Resource profiles for the minimum duration project schedule.

5. NUMERICAL EXAMPLE

Data for an example problem is provided in Table 1. This problem was successfully solved with the MIP III Integer/Linear Programming package from Ketron, Inc. The objectives used to test the model were:

1) Minimize Project Duration 2) Minimize Project Cost 3) Level the Use of Resource 3 Over 10 Scheduling Periods

5.1. Minimize Project Duration

The objective is to minimize S6. The result is a schedule with the project cost equal to $695, project completion at the end of period 7, 1.8 units of resource 3 deviation from its average level, and a total of 17.36 units of cumulative resource deviation for all three resource types. The resulting schedule is shown in Table 2. The resource profiles for this particular project schedule are provided in Figure 2.

Page 11: Resource constrained project scheduling: Modelling with multiple alternatives

Resource constrained project scheduling 59

G

Units 5 of 4

Hesource 3 1 2

1

Resource 3 6

Units 5

or 4

Rcsour~c 3

Figure 3. Resource profiles for the minimum cost project schedule.

5.2. Minimize Project Cost

The application of this objective requires the following information. The cost objective used is based on resource usage rates. The rates used for this problem were $lO/unit-period for resource 1, %/unit-period for resource 2, and $20/unit-period for resource 3. Threshold values were also established for each of the resources at 3 units for resource 1, 3 units for resource 2, and 2 units for resource 3. The premiums that must be paid for using more than the threshold amount of resources are set at $15/unit-period for resource 1, $8 unit-period for resource 2, and $30/unit-period for resource 3. The project due date is set for the end of time period 9. Late penalties are assessed for the project at a rate of $lOO/day late. Bonuses are awarded at a rate of $5O/day early.

The resulting project schedule shows that the project will cost $656, be completed at the end of time period 9, have a total deviation of 1.8 units of resource 3 from its ten day average rate, and have a cumulative resource deviation of 17.36 units. Table 3 displays a minimum cost project

schedule and Figure 3 displays the resource profiles for this schedule.

Page 12: Resource constrained project scheduling: Modelling with multiple alternatives

60 B.A. KRAMER, C.L. HWANC

Table 3. Minimum cost project schedule.

,

Act. Sched\ Time

Var. \Period 1 2 3 4 5 6 7 8 9 10

PPZSllZCk 0 0 0 0 0 0 0 0 0 0

R 1 0 0 0 0 0 0 0 0 0 1

RO 0 0’ 0 0 0 0 0 0 0 0

Postslack 0 1 1 1 1 1 1 1 1 1

PTeslack 0 0 0 0 0 0 0 0 0 0

R 1 1 0 0 0 0 0 0 0 0 2

Rn 0 0 0 0 0 0 0 0 0 0

Postslack 0 0 1 1 1 1 1 1 1 1

Preslack 1 1 0 0 0 0 0 0 0 0

0 3

R 0 0 0 0 0 .67 .67 .67 0

RO 0 0 1 1 1 1 .33 33 .33 0

Postslack 0 0 0 0 0 0 0 0 0 1

Preslack 1 0 0 0 0 0 0 0 0 0

R 0 .33 .67 .67 .67 .67 0 0 0 0 4

Table 4. Level resource 3 project schedule.

Act. Sched\ Time

Var. \Period 1 2 3 4 5 6 7 8 9 10

PTeslack 0 0 0 0 0 0 0 0 0 0

R 1 0 0 0 0 0 0 0 0 0 1

RO 0 0 0 0 0 0 0 0 0 0

Postslack 0 1 1 1 1 1 1 1 1 1

Preslack 0 0 0 0 0 0 0 0 0 0

R .80 .20 1 0 0 0 0 0 0 0 2

RO .20 .a0 0 1 1 1 0 0 0 0

Postslack 0 0 0 0 0 0 1 1 1 1

Preslack 1 0 0 0 0 0 0 0 0 0

R 0 0 .20 0 0 0 0 .60 60 .60 3

Ro 0 1 .a0 1 1 1 1 .40 .40 .40

Postslack 0 0 0 0 0 0 0 0 0 0

Preslack 1 0 0 0 0 0 0 0 0 0

R 0 .53 .07 .60 .60 .60 .60 0 0 0 4

Ro 0 .47 .93 .40 .40 .40 .40 0 0 0

Postslack 0 0 0 0 0 0 0 1 1 1

Preslack 1 1 1 1 1 1 0 0 0 0

R 0 0 0 0 0 0 0 0 1 1 5

RO 0 0 0 0 0 0 0 0 0 0

Postslack 0 0 0 0 0 0 0 0 0 0

Page 13: Resource constrained project scheduling: Modelling with multiple alternatives

Resource constrained project scheduling 61

Resource 1 G

Units 5 of 4

Resource 3

I 2 I

Units of

Resource 2

1 Resource 2

4 Resource 3 6

Units 5 or 1

Resource 3

I 2 3 4 5 G 7 a 9 to

Figure 4. Resource profiles for the level resource 3 project schedule.

5.3. Level the Use of Resource 3 Over 10 Scheduled Periods

There is only one additional constraint set required for this problem. This set of constraints is used to define the amount of resource deviation from the average resource level during each time period. Each resource was assumed to be required for 10 periods and thus the average resource usage rates are 1.6 units for resource 1, 1.7 units for resource 2, and 1.8 units for resource 3. The resulting project schedule has a duration of 10 time periods, costs $760.80, has 0 deviation in the leveling of resource 3 over 10 time periods, and uses 16.33 units of cumulative resource deviation from the average usage of all resources. This schedule is displayed in Table 4. The corresponding resource profiles for this schedule are found in Figure 4.

6. CONCLUSIONS

The presented formulation is a very general representation of the project scheduling problem. It may be solved with a commercially available mixed integer/linear programming package. It is conceptually simple and allows the project manager to have total control over and knowledge about the project schedule. This formulation provides the manager with a period by period analysis of which activities are active and the amount of each resource that should be committed to each of these activities. The manager is also provided with traditional project scheduling information such as when activities should be started and ended and the amount of activity slack time.

Page 14: Resource constrained project scheduling: Modelling with multiple alternatives

62 B.A. KRAMER, C.L. HWANC

Table 5. S nmmary of problem size.

Definitions:

R = Number of Resource Types.

T = Number of Time Periods.

A = Number of Activities.

P = Number of Precedence Relations.

Variables:

Activity Duration (Di)

Activity Start Time (Si)

Activity Termination Time (Ti)

Preslack (Leadi)

Postslack (Lag;)

Resource Usage Rate (Rit)

Zeror Resource Usage Rate (ROit)

Total Number of Variables:

Number:

A

A+1

A

A*T

A*T

A*T

A*T

4(A*T)+3A+l

Constrains On:

Total Amount of Resource Available

Resource Usage Rate

Precedences

Activity Completion

Activity Duration

Activity Start & Completion Times

Definition of Preslack

Definition of Postslack

Period-Phase Selection

Preslack Integrity

Postslack Integrity

Number:

R

R*T

P

A

A

A

A

A

A*T

A * (T - 1)

A * (T - 1)

Total Number of Constraints: (SA+R)*(T+l)+P

This formulation gives the project manager significant pre-schedule control over the project. The schedule may be customized to control the amount of each resource available on a period by period basis as well as the total amount of a resource available for a project. The manager can control activity splitting, the consideration of alternate activity performance modes, and the crashing or relaxing of activity durations dependent upon the amount of resources allocated per period to the activity.

One of the major advantages of this model is that a variety of scheduling objectives can be easily employed. These objectives include a representation of each of the three major types of project scheduling objectives: time related,cost related, and resource use related. In addition, cost related objectives have been developed which include bonus and penalty payments accordingly to project completion time and premium payments for resource overutilization. This cost equation is representative of present project payment practice. The description of all three project scheduling objectives makes this model amenable to the development of multiple objective project scheduling techniques. The developed formulation will represent any practical project scheduling problem. The price to be paid for this generality is the size of the resulting problem. This formulation requires the definition of both a large number of variables and a large number of constraints. Each of the four major scheduling variables are defined for each activity and for each time period and thus the number of activities in the project and the project length are of extreme importance when problem size is discussed. A summary of the number of variables and constraints required for a typical problem is provided in Table 5.

Page 15: Resource constrained project scheduling: Modelling with multiple alternatives

Resource constrained project s&&ding 63

REFERENCES

1. A.A.B. Pritsker, L.J. Watters, and P.M. Wolfe, Multiproject scheduling with limited resources: A zerwone programming approach, Management Science 18 (1) (1969).

2. R.B. Bey, R.H. Doersch, and J.H. Patterson, The net present value criterion: Its impact on project schedul- ing, Project Management Quarterly (June 1981).

3. R.H. Doer& aud J.H. Patterson, Scheduling a project to maximize its present value: A zero-one program- ming approach, Management Science 23 (8) (1977).

4. J.H. Patterson and W.D. Huber, A horizon-varying, zero-one approach to project scheduling, Management Science 20 (6) (1974).

5. J.H. Patterson and G.W. Roth, Scheduling a project under multiple resource constraints: A zero-one programming approach, AIZE Transaciiona 8 (4) (1976).

6. F.B. Talbot, An integer progranum ‘ng algorithm for the resource-constrained project scheduling problem, Ph.D. Thesis, Pennsylvania State University, (1976).

7. F.B. Talbot and J.H. Patterson, An efficient integer programming algorithm with network cuts for solving resourc+constrained scheduling problems, Management Science 24 (11) (1978).

8. J.D. Wiest, The scheduling of large projects with limited resources, Ph.D. Thesis, Carnegie Institute of Technology, (1963).

9. B.A. Kramer, Toward the development of an expert project scheduling system, Ph.D. Thesis, Kansas State University, (1985).