resource-constrained project scheduling with renewable and non-renewable resources and time-resource...

Post on 04-Jul-2016

220 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pergamon Computers ind. Engng Vol. 32, No. 1, pp. 227-242, 1997

Copyright © 1997 Elsevier Science Ltd Printed in Great Britain. All rights reserved

S0360-8352(96)00212-4 0360-8352/97 $17.00+0.00

RESOURCE-CONSTRAINED PROJECT SCHEDULING WITH RENEWABLE AND NON-RENEWABLE RESOURCES AND

TIME-RESOURCE TRADEOFFS

NUDTAPON NUDTASOMBOON ~ and SABAH U. RANDHAWA 2 ~Oil Industry Division, Ministry of Industry, Bangkok, Thailand

:Department of Industrial and Manufacturing Engineering, Oregon State University, Corvallis, OR 97331, U.S.A.

(Received 22 June 1996)

A~tract--The resource-constraint project scheduling problem is modeled as a zero-one integer programming model. The model considers many important characteristics of project scheduling including activity preemption, renewable and non-renewable resources, time-resource tradeoffs, and multiple objectives. Solution algorithms are developed for three single objective problems (time minimization, cost minimization, and resource leveling) and for the preemptive goal programming model that includes time, cost and resource leveling objectives. Copyright © 1997 Elsevier Science Ltd

INTRODUCTION

CPM (Critical Path Method) and PERT (Program Evaluation and Review Technique) have been widely used as management tools to plan and control projects. The objective in CPM and PERT is to complete a project as soon as possible under specified technological constraints assuming unlimited resource availability. However, the assumption of unlimited resources may not be justified in many circumstances since only a fixed amount of resources are available or the cost of acquiring additional resources is very high. In such cases, resource constraints can significantly affect the schedule.

The three primary objectives in project scheduling are: minimum project completion time, minimum project total cost, and minimum variation in resource levels. Traditionally, these have been treated as independent problems. This research examines the single-objective problems and develops a zero-one integer programming model for the resource-constrained, multiple objective (time, cost, and resource leveling) project scheduling problem.

System characteristics

The primary system characteristics are:

1. Two types of jobs (activities, tasks) are available, splittable and non-splittable. A splittable job can be preempted any number of times and resume in the same mode after preemption. A non-splittable job is performed continuously without interruption.

2. Activity time estimates are a function of resources. This is represented as different modes of operation. At least one mode is available for each job. Each mode reflects a different combination of resources and has a different job duration.

3. Three types of resources are considered: resources such as machine and power that may be constrained at each time period (renewable), resources such as money that may be constrained over project life (non-renewable), and resources that are constrained both at each time period and over project life (doubly-constrained).

4. Resource consumption is assumed to be discrete and deterministic. Job arrivals are known and take place at the end of discrete time periods. The start and finish time of intermediate jobs are controlled only by factors such as precedence relationships and resource constraints.

227

228 Nudtapon Nudtasomboon and Sabah U. Randhawa

5. Activity-on-node diagram is used to represent the network, and looping of activities is not allowed.

BACKGROUND

Resource allocation problem

The zero-one integer linear programming model has been widely used to formulate the resource allocation problem (Brand et al., 1964; Elmaghraby, 1967, 1969; Hadley, 1964; Pritsker et al., 1969; Wiest and Levy, 1977). A common observation of these studies is that obtaining an optimal solution for all but the smallest systems is not practical in common, everyday scheduling situations.

To overcome the problems associated with optimization, special algorithms have been developed for solving the resource-constrained problems. These include the bounded enumeration approach (Davis, 1968; Davis and Heidorn, 1971); the branch and bound approach (Johnson, 1967; Stinson, 1976; Stinson et al., 1978); and the implicit enumeration approach (Patterson and Huber, 1974; Patterson and Roth, 1976; Talbot, 1976, 1982; Talbot and Patterson, 1978). The results from these approaches vary depending on model complexity. However, techniques such as the Talbot's implicit enumeration algorithm (Talbot, 1976) have been shown to provide efficient solutions to the constrained project problem.

An alternative approach to improving computational efficiency is the use of heuristics that produce feasible, but not necessarily optimal solutions. Many heuristic procedures are summarized and discussed in Davis (1973); comparative studies among different heuristics can be found in Davis and Patterson (1975), Kurtulus and Narula (1985), and Patterson (1973).

Resource leveling problem

Integer linear programming procedures that have been developed for the resource leveling problem include (Ahuja, 1976; Easa, 1989; Elmaghraby, 1977; Mandeville, 1965; Moodie and MandeviUe, 1966). For example, Ahuja (1976) presents an integer linear programming formulation for minimizing resource variations between consecutive periods, and solves it using an explicit enumeration algorithm. Heuristic procedures developed for the resource leveling problem include those reported in (Ahuja, 1976; Antill and Woodhead, 1970; Burgess and Killebrew, 1962; Galbreath, 1965; Harris, 1978; Shaffer et al., 1965; Woodworth and Willie, 1975). The basic concept of these heuristics is to reschedule non-critical activities within the limits of available float according to some heuristic rule to achieve a better distribution of resource usage.

Multiple objective approaches

The mathematical formulations proposed for the multiple objective project scheduling problem use the goal programming model (Hannan, 1978; Lee et al., 1976; Lee and Olson, 1984; Wieters, 1979). A specialized optimization procedure for different resource categories with job preemption and multiple modes of operation for jobs is reported in Slowinski (1981). Norbis and Smith (1988) introduced a multiobjective, multi-level heuristic for solving the resource-constrained project scheduling problem. A comparison between an integer goal programming model and a simulation model is given in Mohanty and Siddiq (1989); the results show that for the problems evaluated, the simulation model frequently gave results which were comparable to their corresponding optimum values.

Limitations of existing models

Limitations of currently available models primarily result from including a subset of system features. Models primarily focus on single objectives and on selective system characteristics; for example, time-resource tradeoffs are generally ignored and formulations generally assume that activities can be performed by only using a single mode of operation.

This research integrates project scheduling characteristics considered independently in prior research, including splittable and non-splittable jobs, renewable and non-renewable resources, variation in resource availability, time-resource and time-cost tradeoffs, and multiple objectives.

Resource-constrained project scheduling 229

MATHEMATICAL MODEL

A zero-one integer programming model is developed for the resource-constrained project scheduling problem. The complete mathematical model is given in the appendix; features of the model are summarized below. The numbers in parenthesis refer to the equations in the Appendix. Note that the model formulation is general, and not all constraints and/or objectives may be applicable in a given application environment.

Constraints

1. Job completion requirements for both splittable and non-splittable jobs using the mode of operation specified for the job must be met (1). In addition, splittable jobs should use the same mode of operation on resumption after preemption (2), and the total active time should equal the job duration (3).

2. A project is completed when all jobs in the project are completed (4). 3. Precedence relations for splittable jobs (5) and non-splittable jobs (6) must be satisfied. 4. Specific constraints for splittable jobs need to be considered. These include: the use of same

mode of operation throughout the project (7), and control of active periods in that these must lie within the start and completion times of a job (8, 9).

5. Resource use constraints for renewable resources (10) and non-renewable resources (11, 12) must be satisfied.

6. Constraints for time- and cost-related objectives that must be satisfied include project completion time (13, 14) and due date (15) constraints.

7. Constraints for the resource leveling objective include two constraint types: minimizing deviation between resource consumption and some desired level (16) and minimizing deviation in resource consumption of consecutive time periods (17).

Objective functions

Single objectives.

1. Time related: minimize total project throughput time (18) or makespan (19). 2. Cost related: minimize total project cost, where total cost generally has multiple components

including direct cost due to renewable resources, direct cost due to non-renewable resources, indirect or overhead cost, and lateness costs (20).

3. Resource leveling: minimize deviations from desired levels (or between consecutive time periods) by minimizing under- and over-utilization of resources from desired levels (or between periods), as expressed in (21) or (22).

Multiple objectives. A preemptive goal programming model is formulated by adding the goal constraint associated with each goal in addition to the real constraints, and using the deviation variables in the objective functions (23).

SOLUTION ALGORITHM

Since optimal solutions to mixed integer programming approach are difficult to obtain, extensions of the implicit enumeration technique developed by Talbot (Talbot, 1982; Talbot and Patterson, 1978) are used to develop solution algorithms for single objective problems. The concept of implicit enumeration for zero-one goal programming introduced by Lee (1979) is then used in developing the multiple objective algorithm.

Basic algorithm

Talbot's algorithm was originally developed for the time minimization objective. The time minimization algorithm is a two-stage approach. The labeling process is performed in stage one to specify the order in which jobs will be considered in developing a schedule. The modes and resources are also sorted for each job.

230 Nudtapon Nudtasomboon and Sabah U. Randhawa

Jobs are labeled according to some job labeling rule; a list of such rules is given in Table 1. The mode sorting process depends on the objective function. For the time minimization problem, modes can be labeled in increasing order of duration; for cost minimization, in increasing order of total cost; and for resource leveling, in increasing order of total usage of renewable resources.

The resource sorting process can substantially reduce the computation time required for identifying infeasible resources in the schedule generation phase. Renewable resources can be labeled in decreasing order of the index representing the frequency of highest pre-period resource requirement relative to average resource availability (Talbot, 1982).

Stage 2 of the algorithm performs the enumeration process. The objective is to develop a complete schedule from a set of partial schedules. A partial schedule is a feasible schedule in which jobs satisfy all the constraints but do not contain all the jobs. The enumeration process consists of two major steps, the augmentation process and the backtracking process.

In the augmentation process, a new feasible job is added to the partial schedule currently being considered. A complete schedule results if all jobs satisfy all constraints. The backtracking process reschedules a job previously assigned in a partial schedule. It tries to find an improved solution if one exists; otherwise, it is used to prove that the current solution is optimal. Optimality is reached when either the backtracking process is made past job one, or the improved solution is found to be equal to a proven theoretical bound such as the critical path early completion time.

Improvements and extensions of the basic algorithm

The following improvements and extensions were developed for the basic algorithm to incorporate features considered in this research.

Skip mode process. In the enumeration process, certain modes for a job can be eliminated from consideration if they cannot yield a better result than the currently scheduled mode. The skip mode process is applicable to problems for which the objective function values are computed as the sequential sum of the corresponding values for each job, as for example, total project cost being the sum of total cost of all jobs in the project.

In cost minimization problems, modes that require higher total cost than the currently scheduled mode of a job can be eliminated from consideration if the current mode has a cost bound beyond the desired project total cost. The cost bound of job j mode m is defined as the sum of the cumulative cost of all assigned jobs in the partial solution (jobs 1 to j - 1), the cost o f j ob j mode m, and the cumulative minimum cost of all unassigned jobs (jobs j + 1 to the last job). Since modes are ordered in increasing total cost in the cost minimization objective, jobs with higher mode numbers than the current mode can be eliminated from consideration.

Bound checking process. The bound checking process is designed to handle non-renewable resource conflicts more effectively by performing a feasibility test of the new-renewable resource bound for the intended mode of each job. The process attempts to find the earliest scheduled time of each job within its range that satisfies all the constraints and has the non-renewable resource bound less than or equal to the non-renewable resource limit. If the currently scheduled mode of the job does not satisfy the above constraints, the next mode is considered for assignment. Every mode of a job must be considered because modes are not labeled in any order of non-renewable resources; or if they are, they can only be ordered according to one type of non-renewable resources.

Backtracking process. The flexibility and efficiency of the solution algorithm can be increased by using appropriate backtracking rules. In Talbot's algorithm, the LIFO (last-in-first-out) concept

Table 1. Job labeling rules (Talbot, 1982)

Rule Definition

MAAD MAD MAAR MIE MIL MILSD MILAD RAN

maximum average job duration maximum job duration maximum average resource demand minimum earliest finish time minimum latest finish time minimum of the difference between the latest finish time and the smallest duration minimum of the difference between the latest finish time and the average duration jobs numbered randomly

Resource-cons t ra ined project schedul ing

Table 2. Backtracking rules

231

Rule Definition

LIFO select the most recently assigned job MILF select the job the smallest late finish time MALF select the job with the largest late finish time MITF select the job with the smallest total float MATF select the job with the largest total float MID select the job with the minimum duration MAD select the job with the maximum duration MIRD select the job with the smallest absolute resource deviation MARD select the job with the largest absolute resource deviation MITR select the job with the smallest total resource demand MATR select the job with the largest total resource demand MITC select the job with the smallest total cost MATC select the job with the largest total cost RAN select a job randomly Note: If more than one job has the same value for any given rule, select the job with the highest job number

is used to select a job for rescheduling in the backtracking process. Whereas the depth-first search strategy in the LIFO backtracking rule has the advantage of simplicity, the rigidity of the LIFO rule often becomes cumbersome, since it implies that a bad decision made early in the search cannot be corrected until late in the search. A more effective approach would be to preserve the advantages of the depth-first approach while getting rid of the rigidity of LIFO by continuing the search with the most promising unfathomed partial solution rather than with the immediate predecessor of the current one. A set of backtracking rules is given in Table 2; their evaluation is discussed later in the paper.

Job splitting. This research assumes that jobs can be split (preempted) any number of times. For the case where jobs can be split only at certain periods, see Patterson (1984) and Pritsker et al. (1969). The algorithms handle splittable jobs differently from non-splittable jobs in several ways, including:

1. Resource availability is updated differently. 2. Active time variables are used for splittable jobs instead of completion time variables. A

splittable job is completed when the number of active periods equal the job duration. 3. All possible combinations of active time variables of each splittable job must be considered.

Resource leveling problem. The resource leveling problem has received limited attention as compared to the time- and cost-minimization problems. In the resource leveling problem, the project completion time is fixed at a specified value, and jobs are scheduled to satisfy the resource leveling objective. First the earliest finish and the latest finish times of each job are calculated based on the given completion times. This range remains unchanged since the project completion time is fixed.

To minimize the absolute deviation from a desired rate, an incumbent objective value (D*) is set to a known heuristic value. If a heuristic value is not known, D* may be computed from

Idesired rate-resource usedl Vt

when all jobs are assigned sequentially. The augmentation process begins by assigning jobs at their earliest feasible completion time and

checking for resource feasibility. If all jobs are assigned to the schedule, the objective function value (D) is computed and compared with the current incumbent objective value (D*). If an improved solution is found (D ~< D*), the new incumbent objective value (D*) is updated to D. The value D* is then tightened, and the last job is scheduled by using the currently scheduled mode in the incumbent solution. If the job cannot be assigned to completion time within its given range, an attempt is made by using another mode. If the process is still not successful, augmentation and backtracking are used to identify a solution.

232 N u d t a p o n N u d t a s o m b o o n a n d S a b a h U. R a n d h a w a

The same procedures can also be applied to minimization of resource deviations between consecutive time units. However, D and D* now represent

[resource use at time t-resource use at time t - II. Vt

The desired use rate for a renewable resource may be set equal to its limit. The problem then becomes a resource-constrained version of the leveling problem. The advantages of this assumption are that the best level of resources can be determined at the planning stage and utilization of resources may be higher.

Multiple objective goal programming problem. In the multiple goal programming algorithm, the objective is to find a solution that minimizes absolute deviations from a desired level for each objective without changing the objective values of higher priority goals.

In the multiple objective algorithm, a goal constraint corresponding to the current goal is added and real constraints corresponding to higher priority goals are imposed on the problem. The modified problem is then solved as a single objective problem. If the desired level of the current goal is met, the algorithm proceeds to the next lower priority goal. Otherwise, it attempts to find the solution that minimizes deviation from the desired level of the current goal. This process continues systematically until all goals have been considered and a solution is found. If the desired level is not specified, the desired level is set equal to an upper bound value or a known value obtained from the immediate higher priority goal. The desired level is tightened until the problem is no longer feasible. The solution before infeasibility is selected as the goal, and the algorithm proceeds to the next lower priority goal. In essence, two different approaches are applied to the multiple objective goal programming algorithm. The lower bound approach is used to handle the goal with a known desired level, and the upper bound approach is used to handle the goal with an unknown desired level.

E V A L U A T I O N

Separate algorithms were developed for the single objective problems. A comparison among the three single objective algorithms is given in Table 3. Additionally, the multiple objective algorithm was also implemented. The computer code for the algorithms was developed in the C programming language. The code was compiled using MS QUICKC compiler; test problems were run on an IBM-compatible machine with 33 MHz Intel 486 DX processor.

Single objective problems A series of problems were generated to test the relative performance of backtracking rules, and

to compare the performance of the backtracking rules with the Talbot's algorithm. These problems are based on the methods by Davis (1968), Johnson (1967), and Talbot 0982).

Table 3. Comparison of single objective algorithms

Step # Time Cost Resource leveling

9

10

Labeling process Set an upper bound for project com- pletion time Calculate latest finish time of each job based on the upper bound value Augment one job at a time until the last job Check feasibility of non-renewable re- sources Check feasibility of renewable resources Backtracking process Cheek optimality of the current sol- ution, or look for an improved solution

Reduce project completion time after improved solution is found Reduce latest finish time of each job and compare to the incumbent values

Same as Time Set an upper bound for project total cost

Calculate latest finish time of each job based on a desired completion time Before augmenting any job, check feasibility of the total cost bound Same as Time

Same as Time Same as Time Same as Time

Reduce project total cost after improved solution is found Compare total cost bound of each job to tightened project total cost

Same as Time Set an upper bound for total resource deviation Same as Cost

Same as Time

Same as Time

Same as Time Same as Time First, check feasibility of total resource deviation of the last job. Then same as Time. Reduce total resource deviation after improved solution is found Use the last job as an unassigned job

Resource-constrained project scheduling 2 3 3

Table 4. Summary of network configurations

# of Level of Value of jobs Shape # Shape complexity C*

10 i x x x Low x x x x Medium

x x x H i g h

10 2 x x Low x x Medium

x x x High x x

x x

20 3 x x x Low x x x x Medium

20 4

30 5

30 6

0.55--0.70

0 . 7 1 - 0 . 8 5

0 .86 -1

0 . 5 0 ~ . 6 7

0 . 6 8 - 0 . 8 3

0 .84-1

0 . 3 2 - 0 . 5 4

0 . 5 5 - 0 . 7 7

x x x x x x H i g h 0 .78 -1

X X X X X X X

x x x L o w 0 . 2 9 - 0 . 5 1

x x x M e d i u m 0 . 5 2 - 0 . 7 5

x x x High 0 . 7 6 - 1

x x

x x x

x x x

x x x

x x x x L o w 0 . 2 4 - 0 . 4 8

x x x x x M e d i u m 0 . 4 9 - 0 . 7 4

x x x x x H i g h 0.75--1

x x

X X X X X

X X X X X

X X X X

X X X X L o w 0 . 2 2 - 0 . 4 7

x x x x M e d i u m 0 . 4 8 - 0 . 7 3

x x x x H i g h 0 .74 -1

x x x x x x

X X X X

X X X X

X X X X

A total of 18 networks of varying complexity were generated. Two measures used to specify the network characteristics of resource-constrained project scheduling problems are the external complexity and the internal complexity of a network. External complexity is defined as the ratio of the number of arcs (precedence relationships) to the number of jobs. Internal complexity is the ratio of the number of arcs to the maximum possible arcs in the network. External complexity compares complexity across networks; internal complexity is a measure of relative complexity within a network.

The computer-generated problems consisted of three networks each with 10, 20, and 30 jobs, respectively. Within each job level, there were two different network shapes (or structures) and three levels of internal complexity (low, medium, and high). The problem sets were randomly selected in terms of internal complexity, i.e., one problem was randomly selected in for each level of complexity and for each structure (shape) of the network. However, the structure of the networks were based on external complexity values introduced by Davis (1968). The test problems are summarized in Table 4. The computer-generated data includes: (1) splittable jobs, (2) number of modes and modes of operation for each job, (3) job durations, (4) precedence relationships, and (5) the amount of renewable resources consumed by each mode of each job.

It is the authors' experience that networks of 30 jobs or less are realistic representations of real world problems. For example, two major refinery projects presently under construction in Thailand, involve 20-25 activities, starting with front-end design and engineering and ending with the fully operational facility. See also the warehouse project described below that consists of 11 activities (Tables 6 and 7). The number of activities in a network depend on the "scope" of each activity. Aggregation of short activities for ease of determining time and resource usage is quite common in practice. It is therefore not surprising to find the problems reported in published literature to consist of 30 activities or less. All the 50 problems tested by Davis (1968) were under 30 jobs; the problems tested by Talbot (1976) were based on Davis' problems.

The two statistical tests used in the analysis were the Duncan's multiple-range test in detecting differences in means and the Dunnett's t-test comparing backtracking rules with the control

234 N u d t a p o n N u d t a s o m b o o n and Sabah U. R a n d h a w a

Table 5. Comparison of LIFO backtracking rule with Talbot's algorithm

Computation time for Computation time for

time minimization (s) cost minimization (s) Problem set LIFO Talbot LIFO Talbot

I 0 0 50 56 2 61 > 1800 21 24 3 9 > 1800 7 8 4 9 105 243 605 5 4 > 1800 468 584 6 6 25 66 90 7 0 > 1800 43 67 8 0 > 1800 72 75 9 1 1 133 158

treatment (for example, Talbot's algorithm). The summary of the test results follows. The complete description of the problems, data generation procedure and test results is given in Nudtasomboon (1993).

The interaction between job labeling rules and backtracking rules was statistically insignificant. There was some difference among the job labeling rules. This is shown below where rules are ordered in decreasing order of performance measure value from left to right. Hence rules on the right are preferable. The underlines indicate that the rules above the line are statistically not different from each other, but are different from other rules.

MIE MIL RAN MAD MILAD MILSD MAAR MAAD

A comparison of backtracking rules in Table 2 for the time minimization objective (except for MITC and MATC rules which are cost specific) showed no statistical difference among the 12 backtracking rules. However, any of the 12 backtracking rules required significantly less computation time than the Talbot's algorithm for the time minimization problem that includes nonrenewable resource.

For the cost minimization problem, the results showed differences among the backtracking rules:

LIFO MALF MILF MATC MATF RAN MARD MITF MID MIRD MATR MAD MITR MITC

The computation time required by MITC, MITR, MAD, and MATR rules was significantly less than the time required by LIFO; there was no difference between the other backtracking rules and LIFO. Also, all backtracking rules require significantly less computation time than Talbot's algorithm for the cost minimization problem.

A comparison between the use of backtracking rules and the Talbot's algorithm for the time minimization and the cost minimization problems is shown in Table 5. The table shows results from

Table 6. Fair-cost estimate summary for the Warehouse Project

Labor Labor Material Markup Total hours cost ($) cost ($) ($) cost ($)

1. Site earthwork 2. Concrete work 3. Special floors

3.1. Start 3.2. Complete

4. Structural steel 5. Precast walls 6. Plumbing & HVAC 7. Fire protection 8. Electrical 9. Roofing

10. Building finish

Total 45,500 Average labor cost $30/h

1470 44,000 153,000 24,000 221,000 7730 2 3 2 , 0 0 0 349,000 69,000 650,000 7330 2 2 0 , 0 0 0 272,000 59.00 551,000 3420 1 0 3 , 0 0 0 127,000 27,000 257,000 3910 1 1 7 , 0 0 0 145,000 32,000 294,000 3770 1 1 3 , 0 0 0 686,000 96,000 895,000 2640 79,000 418,000 60,000 557,000 4250 1 2 8 , 0 0 0 313,000 53,000 494,000 3220 96,000 201,000 36,000 333,000 3470 1 0 4 , 0 0 0 250,000 42,000 396,000 3150 94,000 124,000 26,000 244,000 8470 2 5 5 , 0 0 0 311,000 68,000 634,000

1,365,000 3,077,000 533,000 4,975,000

Resource-constrained project scheduling 235

Table 7. Scheduling information for the Warehouse Project

Duration Labor Total cost Job description Mode (work-days) (men) ($)

1. Site earthwork

2. Concrete work

3. Start special floors

4. Structural steel

5. Precast walls

6. Plumbing & HVAC

7. Fire protection

8. Electrical

9. Roofing

10. Complete special floors

11. Building finish

12. Facility complete (dummy job)

46 4 215,000 62 3 221,000 92 2 232,000 88 11 638,000

108 9 650,000 138 7 670,000 22 20 252,000 27 16 257,000 36 12 266,000 43 11 877,000 53 9 895,000 68 7 922,000 37 9 544,000 47 7 557,000 66 5 581,000 89 6 486,000

106 5 494,000 133 4 508,000 81 5 326,000

101 4 333,000 134 3 345,000 55 8 386,000 72 6 396,000

109 4 418,000 31 13 239,000 39 10 244,000 57 7 256,000 25 20 287,000 31 16 294,000 41 12 304,000 63 17 619,000 82 13 634,000

118 9 664,000 0 0 0

nine data sets. The results are based on the use of MAAD as the job labeling rule and LIFO as the backtracking rule. As shown in the table, use of heuristics results in significantly less computation time compared to the Talbot's algorithm.

For the resource leveling problem, the LIFO is significantly better than the other backtracking rules. However, MITR also showed good performance, both in terms of resource deviation and the computation time required to reach the solution.

RAN MARD MATR MIRD MITR LIFO

The experiments showed that the order of jobs can cause a large variation in the computation time. The order of modes and resources also affect the computation time but to a lesser degree than the order of jobs.

Multiple objective problem The multiple objective algorithm was used to solve a modified version of the warehouse project

taken from Barrie and Paulson (1992). The 151,600 square feet warehouse project is intended to provide storage for grocery and non-food items, equipped with pallet racks and flow racks. The modified network of the warehouse project is given in Fig. 1. The cost estimates for the project are summarized in Table 6, and the scheduling information is given in Table 7.

The warehouse project consists of 12 activities, including a dummy terminal activity. Each activity can be performed by using one of the three available modes of operation, except for the dummy terminal activity. Activity durations range from 22 to 138 time units. Activities compete for one renewable resource type (labor) and one non-renewable resource type (money). The network complexity (the ratio of the number of arcs to the number of jobs) for the problem of 1.33. The critical path early finish time assuming unlimited resources is 150 time units.

Based on the experimental results of the single objective problems, the following backtracking rules were selected for this multi-objective application: the LIFO rule for time minimization; the MITC rule for cost minimization; and the MITR rule for the resource leveling objective. The job

236

Note:

N u d t a p o n N u d t a s o m b o o n and Sabah U. R a n d h a w a

I. Numerical values on activities represent start-to-start precedence relationships.

2. Activity durations are in terms of working days.

3 4 / : - - • \ 3 1

22 / \ 22

28 55

15

Fig. 1. N e t w o r k for the W a r e h o u s e Project.

labeling rule used was MAAD. Two different levels of renewable resource (loose and tight) were tested for the problem. Additionally, different goal priorities were investigated.

The summary of results is given in Table 8. The test results also show that there is no difference in the objective function values among different combinations of priority levels for the problem with loose resource limit. However, for the problem with tight resource limit, objective function values change as priorities change. In general, optimal results are obtained with loose resource limits. As renewable resource limits are tightened, good heuristic solutions provide a balance between acceptable results and computation times; the results for renewable resource = 30 in Table 8 are based on a 30 min computation time. Table 9 shows the relationship between the project completion time and the computation time for the warehouse problem for various levels of renewable resource.

C O N C L U S I O N S

The research described in this paper modeled the resource-constrained project scheduling problem. A zero-one integer programming model was developed for the problem that included a

Table 8. Test results for the Warehouse Project

Objective values

Time Cost Resource level (days) (10005) (units)

Test # 1: Renewable resource limit = 70 (loose) Case 1: 150 4869 4749 Case 2: 150 4869 4749 Case 3: 150 4869 4749 Test #2: Renewable resource limit = 30 (tight) Case I: 259 4894 2023 Case 2: 274 4869 2469 Case 3: 247 4998 1708

Priority

Case 1 (highest) 2 3 (lowest)

1 Time Cost Resource leveling 2 Cost Time Resource leveling 3 Resource leveling Time Cost

Resource-constrained project scheduling 237

Table 9. Relationship between objective function value and computation time for the Warehouse Problem

Level of renewable Project completion Computation time resource (days) (s)

30 299 0 276 0 274 0 270 0

No further improvement until 1800 s

35 255 0 244 0 239 38

No further improvement until 1800 s

40 246 0 239 1 230 32 195 173 187 285

No further improvement until 1800s

45 174 0 173 0 165 0

No further improvement until 1800 s

combination of characteristics unique to this research effort. These characteristics include splittable and non-splittable jobs, renewable and non-renewable resources, variance in resource consumption, time-cost tradeoffs, and multiple objectives.

Solution algorithms were developed for the three single-objective problems--time minimization, cost minimization, and resource leveling, and for the preemptive goal programming model that included the time, cost and resource leveling objectives.

Experiments were conducted to compare job labeling rules and backtracking rules. Results show the interactions between job labeling rules and backtracking rules to be statistically insignificant. The relative performance of backtracking rules depend on the objective (time, cost, or resource leveling). Furthermore, use of most backtracking rules evaluated in the paper result in significant reduction in computation time for the time and cost problems over Talbot's algorithm; the resource leveling problem was not addressed by Talbot's algorithm.

REFERENCES

H. Ahuja. Construction Performance Control by Networks. Wiley, New York (1976). J. M. Antill and R. W. Woodhead. Critical Path Methods in Construction Practice. Wiley, New York (1970). D. S. Barrie and B. Paulson. Professional Construction Management: Including C.M., Design Construction, and General

Contracting. McGraw-Hill, New York (1992). J. D. Brand, W. L. Meyer and L. R. Shaffer. The resource scheduling problem in construction. Civil Engineering Studies

Report No. 5, Department of Civil Engineering, University of Illinois, Urbana (1964). A. R. Burgess and J. B. Killebrew. Variation in activity level on a cyclic arrow diagram. J. Ind. Engng 13, 76-83 (1962). E. W. Davis. An.exact algorithm for the multiple constrained-resource project scheduling problem. Ph.D. dissertation,

Department of Administrative Sciences, Yale University, New Haven, CT (1968). E. W. Davis. Project scheduling under resource constraints--historical review and categorization of procedures. AIIE Trans.

5, 297-313 (1973). E. W. Davis and G. E. Heidorn. An algorithm for optimal project scheduling under multiple resource constraints. Mgmt

Sci. 17, B803-B816 (1971). E. W. Davis and J. H. Patterson. A comparison of heuristic and optimum solutions in resource-constrained project

scheduling. Mgmt Sci. 21, 944-955 (1975). S. M. Easa. Resource leveling in construction by optimization. J. Construction Engng Mgmt 115, 302-316 (1989). S. E. Elmaghraby. The sequencing of N jobs on M parallel processors. Unpublished paper, North Carolina State University,

Raleigh, NC (1967). S. E. Elmaghraby. The sequencing of N jobs on M parallel processors with extensions to the scarce resources problem of

activity networks. Proc. of the Inaugral Conf. of the Scientific Computation Center and Institute of Statistical Studies and Research, Cairo, Egypt, pp. 230-255 (1969).

S. E. Elmaghraby. Activity Networks: Project Planning and Control by Network Model. Wiley, New York (1977). R. Galbreath. Computer program for leveling resource usage. J. Construction Div. ASCE 91, 107-124 (1965). G. Hadley. Project planning and manpower scheduling. Nonlinear and Dynamic Programming (Sec. 8.8). Addison-Wesley,

Reading, MA (1964).

238 Nudtapon Nudtasomboon and Sabah U. Randhawa

J. R. Hall Jr. (Ed.). Management science update column: multiproject scheduling through zero-one programming. Mgmt Sci. 26, 228-229 (1980).

E. L. Hannan. The application of goal programming techniques to the CPM problem. Socio-Econ. Planning Sci. 12, 267-270 (1978).

R. B. Harris. Precedence and Arrow Networking Techniques for Construction. Wiley, New York (1978). T. J. R. Johnson. An algorithm for the resource-constrained project scheduling problem. Unpublished Ph.D. dissertation,

School of Management, Massachusetts Institute of Technology, Cambridge, MA (1967). I. S. Kurtulus and S. C. Narula. Multi-project scheduling: analysis of project performance. LIE Trans. 17, 58--66 (1985). S. M. Lee. Goal Programming Methods for Multiple Objective Integer Programs. Monograph, Operations Research Division,

American Institute of Industrial Engineers (1979). S. M. Lee, L. J. Moore and E. R. Clayton. Analysis of multi-objective project crashing models. Proc. 8th Annual Conf.

American Institute for Decision Sciences, San Francisco, CA, 10-12 Nov., pp. 114-115 (1976). S. M. Lee and D. L. Olson, A zero-one goal programming approach to multi-project scheduling. Project Mgmt J. 15, 61-71

(1984). D. W. Mandeville. The development of network analysis resource balancing methods from assembly line balancing

techniques. MS thesis, Purdue University, Lafayette, IN (1965). R. P. Mohanty and M. K. Siddiq. Multiple projects-multiple resources-constrained scheduling: some studies. Int. J. Prod.

Res. 27, 261-280 (1989). C. L. Moodie and D. W. Mandeville. Project resource balancing by assembly line balancing techniques. J. Ind. Engng XVlI,

377-383 (1966). M. I. Norbis and J. M. Smith. A multiobjective, multi-level heuristic for dynamic resource constrained scheduling problems.

Eur. J. Opl Res. 33, 30--41 (1988). N. Nudtasomboon. A methodology for multi-objective, resource-constrained project scheduling problem. Ph.D.

dissertation, Oregon State University, Corvallis, OR (1993). J. H. Patterson. A comparison of exact approaches for solving the multi constrained resource, project scheduling problem.

Mgmt Sci. 30, 854-867 (1984). J. H. Patterson. Alternate methods of project scheduling with limited resources. Naval Res. Logistics Q. 20, 767-784 (1973). J. H. Patterson and W. D. Huber. A horizon-varying, zero-one approach to project scheduling. Mgmt Sci. 20, 990--998

(1974). J. H. Patterson and G. W. Roth. Scheduling a project under multiple resource constraints: a zero-one programming

approach. AIIE Trans. 8, 449-455 (1976). A. A. B. Pritsker, L. J. Watters and P. M. Wolfe. Multiproject scheduling with limited resources: a zero-one programming

approach. Mgmt Sci. 16, 93-108 (1969). L. Shaffer, J. Ritter and W. Mayer. The Critical Path Method. McGraw-Hill, New York (1965). R. Slowinski. Multiobjective network scheduling with efficient use of renewable and non-renewable resources. Eur. J. Opl

Res. 7, 265-273 (1981). J. P. Stinson. A branch and bound algorithm for a general class of resource-constrained scheduling problems. Ph.D.

dissertation, The University of North Carolina at Chapel Hill, Chapel Hill, NC (1976). J. P. Stinson, E. W. Davis and B. M. Khumawala. Multiple resource-constrained scheduling using branch and bound. AIIE

Trans. 10, 252-259 (1978). F. B. Talbot. An integer programming algorithm for the resource-constrained project scheduling problem. Ph.D.

dissertation, Pennsylvania State University, State College, PA (1976). F. B. Talbot. Resource-constrained project scheduling with time-resource tradeoffs: the non-preemptive case. Mgmt Sci.

28, i 197-1210 (1982). F. B. Talbot and J. H. Patterson. An efficient integer programming algorithm with network cuts for solving

resource-constrained scheduling problems. Mgmt Sci. 74, 1163-1174 (1978). J. D. Wiest and F. K. Levy. A Management Guide to PERT/CPM. Prentice-Hall, Englewood Cliffs (1977). C. D. Wieters. Allocation of resources among competing projects using CPM and integer goal programming. Proc. 11th

Annual Meeting, American Institute for Decision Sciences, 19-21 November, New Orleans Hilton, New Orleans, LA, pp. 371-373 (1979).

B. M. Woodworth and C. J. Willie. A heuristic algorithm for resource leveling in multi-resource scheduling. Decis. Sci. 6, 525-540 (1975).

Notation i I J N, L~ L B m

Mj k K P P

APPENDIX

M a t h e m a t i c a l M o d e l

project index (i = 1 . . . . . I) number of projects job index (j = 1 . . . . . N~) number of jobs in project i set of jobs with no successors (or set of last jobs) for project i (L~ e L) set of jobs with no successors (or set of last jobs) for all projects set of all pairs of immediate predecessor jobs mode of operation index (m = 1 . . . . . Mj) number of modes available for job j renewable resource index (k = 1 . . . . . K) number of different renewable resource types non-renewable resource index (p = 1 . . . . . P) number of different non-renewable resource types

Resource-constrained project scheduling 239

t G,

g i

L el

up

Z~ Z f,~

d,j~ ES0 EFo LS0 LF0 rJjmk

D k ,

w. Hip (tl , t2) W ijmp

time period (t = 1 , . . . , max G,) absolute due date of project i (project i must be completed in or before period Gi, if the absolute due date is not specified, G~ is the last period of the scheduling horizon) desired due date of project i (project i is not late if it is completed in or before period gi) penalty cost of project i per period of lateness (assumed to be constant for all periods) overhead cost of project i per period cost of non-renewable resource type p per unit completion time of project i completion time of all projects number of periods preempted by job j , project i lead/lag time between jobs a and b, project i number of periods required by mode m for job j, project i earliest possible start time of job j , project i earliest possible completion time of job j , project i latest possible start time of job j , project i latest possible completion time of job j , project i amount of type k renewable resource required by mode m for job j , project i amount of type k renewable resource available in period t desired level of renewable resource type k in period t (used for resource leveling objective) amount of non-renewable resource type p available for all projects amount of non-renewable resource type p available for all projects between periods t 1 and t2 amount of non-renewable resource type p required by mode m for job j, project i

To reduce the number of decision variables, the lower and Upper bounds for each decision variable should be determined in advance. The bounds can be computed by using the time-based bounding technique as follows:

(a) Obtain the ES and LF for each job from the forward/backward computations by assuming that each job is performed under the shortest duration mode, and the latest finish time of each terminal activity is set to an absolute due date.

(b) The EF of job j , mode m is given by the sum of ES obtained from step (a) and the duration of job j , mode m. Similarly, the LS of job j, mode m is computed from the difference between LF obtained from step (a) and the duration of job j , mode m.

Decision variables

X~, = 1 if job j (splittable or non-splittable) of project i operating under mode rn is completed at the end of period t .

= 0 otherwise. Y0m, = 1 if splittable job j of project i operating under mode m is active during period t.

= 0 otherwise. S0,,, = 1 if splittable job j of project i operating under mode rn is started at the end of period t (at the beginning of

period t + 1). = 0 otherwise.

Constraints 1. Job completion. For both splittable and non-splittable jobs, each job can have only one completion period and use

only one mode of operation, i.e., each job can be accomplished only once.

~ X,j., = 1, for all i,j (A1) m= I t=EFIj

A splittable job can have only one start time and use only one mode of operation. Restarting a job after preemption is not considered as a start time.

~ Sore, = 1, for all i,j (A2) m = l I=ESIj

Furthermore, a splittable job cannot be completed unless the number of active periods equals job duration.

d~j, Xo,, = ~ Yornq, for all i,m t=EF~ q = ES#+ 1

and j ¢ {splittable jobs} (A3)

2. Project completion. A project is completed only when all jobs in the project have been processed.

~ L~ Xom,= N~, for al l i (A4) j f l m = l t = E F O

3. Precedence relationships. For splittable jobs, a predecessor job, a, must be completed before a successor job, b, can start for all pairs of predecessor-successor jobs, B.

Ma LFia Mb LSib - X ~, tX,--,+ X ~, tS,~,>~O, fora l l i ,

m= 1 t=EFia m= I tffi ESab

and for all pairs (a, b) ~ B (A5)

240 Nudtapon Nudtasomboon and Sabah U. Randhawa

Similarly, for non-splittable jobs,

Ma LFia

- Y , r ~ m ffi I I ffi EFia

4. Specific constraints for splittable jobs

Mb LFib

tX~,,,+ E ~ (t-d,,~)X,b~,>~O, m ffi 1 t = EFib

• and for all pairs (a, b) ~ B

for all i,

(A6)

(a) A splittable job must use the same mode of operation throughout the process,

So~, <~ L~ tX~,.,, f o r a l l i , m t = ESq t ffi EFij

and j ~ {splittable jobs} (A7)

(b) For control over active periods, an active period (the period that a splittable job is being processed) must lie between the start time and the completion time of the job. The active period must be greater than or equal to the start time of the job,

LSIj

(t - l)Yom, >I ~. qS~mq, for all i,m q ffi ES 0

and j ~ {splittable jobs},

t = (ES,j + 1) . . . . . (LS0 + 1) (A8)

and less than or equal to the completion time of the job.

LFq

tYom, <~ ~ qX~q, for a l lm q = E F ~

and j E {splittable jobs},

t = EF0 . . . . . LF0 (A9)

5. Resource constraints. For renewable resources at each time period t, the total resource consumption by all splittable and non-splittable jobs may not exceed the available amount of resource k at time period t (Rk,),

~ E E 2 ro~kXo"q+ ~ . E ro "kYij''<~Rk', f o r a l l k i = l Yj m = l q = t i = l V j ' m f f i l

and for j ~ {non-splittable jobs},

j ' e {splittable jobs}

t = 1 . . . . . max G~ (A10)

For non-renewable resources, total resource consumption of all jobs may not exceed the available amount for renewable resource type p (Wp); d 7 represents the underutilization (slack variable) of resource p,

~. Ni M i LEj E E wo.pXu: + dd- = W,, for a l lp ( A l l )

i = l j f f i l ra f t I tffiEFij

If it is desired to control the availability of non-renewable resources within a given time interval, the above constraint becomes,

1 N¢ M) t a

E E E w~.pXu.q + d; = Wp(t,, t2), for all p i ~ l j ~ l m = l q ~ t I

and ( t l , t2) ~ (1, max G~) (A12)

6. Constraints for time- and cost-related objectives (a) To minimize the total project throughput time, the completion time of project i (Z,) must be greater than or equal to the completion time of all jobs in the set of last jobs for project i.

Uj LF 0

Z~>~ ~ ~ tXo~,, foralli, j~L~ (A13) m ~ 1 tffiEFff

(b) To minimizing makespan, the completion time of all projects (Z) must be greater than or equal to the completion time of all jobs in the set of last jobs for all projects.

Z >1 Z~, for all i (A14)

(c) The project must be completed (Z0 by the due date (G,),

Z~ ~< G~, for all i (A15)

Resource-constrained project scheduling 241

7. Constraints for resource leveling objective (a) To minimize the absolute deviation between resource consumption and some desired level, the variables Vk~ and vk +, are introduced to represent under- and over-utilization of resource k at time period t from the desired level. The total renewable resource consumption at time period t by all non-splittable jobs and by all splittable jobs must equal the desired level, Dk,;

Mj t + a 0 ~ i ~ M)

i = l V j m = l q = t i = l V j ' m = l

where v~, v'k~ /> 0,

j e {non-splittable jobs},

j ' e {splittable jobs},

k = l , . . . , K ,

t = 1 . . . . . max G, (A16)

(b) Similarly, if the objective is to minimize the absolute deviation between resource consumption of consecutive time periods, the total renewable resource consumption at time period (t + 1) by all non-splittable jobs and by all splittable jobs is desired to be equal to the level of resource at the previous time period, t. Again, the deviation variables u~ and u~ represent negative and positive deviations of resource levels from one period to the next.

Mj , + u o. u)

i = 1 Vj m = l q = t + l i--I Yj' m = l

i = l V j m - - ] q = t i = l V j ' m = l

whereuk, , ug />0,

j ~ {non-splittable jobs},

j ' ~ {splittable jobs},

k = l . . . . . K,

t = l . . . . . ( m a x G i ) - I

Objective functions 1. Minimize total project throughput time.

(A17)

± M i n i m i z e - ~ Z, (A18)

i = l

2. Minimize makespan. The makespan can be minimized when the completion time of all projects (Z) is minimized, that is:

Minimize Z (A19)

3. Minimize total costs. To compute direct cost due to renewable resources, let w,jmc be the total cost (non-renewable resource type c) associated with all renewable resources used in job j of project i operating in mode m. The objective of minimizing project direct cost of all jobs is then given by:

I N i Mj LF 0

Minimize ~ ~ ~ ~ WijmcXom, i = l j = l m = l t = E F q

To calculate direct cost associated with non-renewable resources, the slack variable d r - should be introduced in the non-renewable resource constraint [constraint (A11)]. Since the total resource consumption equals (Wr - dp- ), the total cost o f non-renewable resources is equal to u , ( W p - d~ ) and the objective function becomes:

Minimize ~ ur(Wr - dp ) p = l

A project's indirect or overhead cost can be defined as the product of overhead cost per period (ci) and project completion time (Zi),

Minimize ~ c,Z, i = l

A project is late if Z, > g~. The total project lateness can be defined as I~. ~ (Z~ - g~) and the total lateness penalty can be defined as I~= l l , (Z~- g~). The objective function of lateness penalty then is to:

Minimize ~ l~(Z~ - g~)

The objective function of lateness penalty can be reduced to the objective function of total project lateness when all 1, are equal to one.

242 Nudtapon Nudtasomboon and Sabah U. Randhawa

The total cost of a project is then given by: Minimize

Mj LFi/

i=1 i = l j = l m = ] t=EF 0 p = l i=1

4. Resource leveling objectives (a) To minimize the absolute deviation between resource consumption and a desired rate, the total amount of resource underutilized (vg) and overutilized (v~) as given in constraint (A16) must be minimized,

K maxGi

Minimize ~ ~ (v~ + v~) (A21) k = l t = l

(b) To minimize the absolute deviation between resource consumption of consecutive time periods, the total amount of resource underutilized (u~) and overutilized (u~) as given in constraint (A17) must be minimized,

K maxG~- 1

Minimize ~ ~ (u£ + u~) (A22) k = l t = l

5. Multiple objective function. Assume that a priority level, Pi (i = 1 . . . . . k), is assigned to goal i, and Pi,~ P~+ ~. T~ is the target level of goal i, and d is the deviation variable associated with the goal constraint, G~(). The model can be written a s :

Minimize ~, e,(d, ÷ + d~- ) i=1

subject to:

G , ( ) - d, + +d, - = T,

d, + , d~- >~ O

i = 1 . . . . . k (A23)

top related