local search techniques for the generalized resource constrained project scheduling problem

11
Local Search Techniques for the Generalized Resource Constrained Project Scheduling Problem Scott E. Sampson College of Business, Florida State University and Elliott N. Weiss The Darden School, University of Virginia In this article we address the problem of scheduling a single project network with both precedence and resource constraints through the use of a local search tech- nique. We choose a solution definition which guarantees precedence feasibility, allowing the procedure to focus on overcoming resource infeasibility. We use the 110-problem data set of Patterson to test our procedure. Our results indicate a significant improvement over the best heuristic results reported to date for these problems (Bell and Han [l]). Two major advantages of the local search algorithm are its ability to handle arbitrary objective functions and constraints and its effec- tiveness over a wide range of problem sizes. We present a problem example with an objective function and resource constraints which include nonlinear and non- continuous components, which are easily considered by the procedure. The results of our algorithm are significantly better than random solutions to the problem. 0 1993 John Wiley & Sons, Inc. I. SCOPE AND PURPOSE OF RESEARCH We consider the problem of scheduling the activities of a renewable resource constrained project network. This has become a classic problem facing oprations managers and researchers and has appeared frequently in the literature since the seminal works in the late 1960s and early 1970s of Wiest [35, 361 and Davis [3-71. Tavares and Weglarz [32], in a journal issue dedicated to project man- agement and scheduling, have labeled project management and scheduling “a permanent challenge for OR.” Project scheduling continues to be important in industry, as indicated by a project scheduling software market which continues to grow at an annual rate of almost 20 percent [34]. De Wit and Herroelen [ll] report that although project scheduling software packages often consider cons- tained resources, their ability to solve resource constrained problems is either weak or nonexistent. This points to a great need for efficient solution approaches which allow for the complexities of real-world problems, which is an intended contribution of our research. Naval Research Logistics, Vol. 40, pp. 665-675 (1993) Copyright 0 1993 by John Wiley & Sons, Inc. CCC 0894-069X/93/050665-11

Upload: scott-e-sampson

Post on 06-Jun-2016

214 views

Category:

Documents


2 download

TRANSCRIPT

Local Search Techniques for the Generalized Resource Constrained Project Scheduling Problem

Scott E. Sampson College of Business, Florida State University

and

Elliott N. Weiss The Darden School, University of Virginia

In this article we address the problem of scheduling a single project network with both precedence and resource constraints through the use of a local search tech- nique. We choose a solution definition which guarantees precedence feasibility, allowing the procedure to focus on overcoming resource infeasibility. We use the 110-problem data set of Patterson to test our procedure. Our results indicate a significant improvement over the best heuristic results reported to date for these problems (Bell and Han [l]). Two major advantages of the local search algorithm are its ability to handle arbitrary objective functions and constraints and its effec- tiveness over a wide range of problem sizes. We present a problem example with an objective function and resource constraints which include nonlinear and non- continuous components, which are easily considered by the procedure. The results of our algorithm are significantly better than random solutions to the problem. 0 1993 John Wiley & Sons, Inc.

I. SCOPE AND PURPOSE OF RESEARCH

We consider the problem of scheduling the activities of a renewable resource constrained project network. This has become a classic problem facing oprations managers and researchers and has appeared frequently in the literature since the seminal works in the late 1960s and early 1970s of Wiest [35, 361 and Davis [3-71. Tavares and Weglarz [32], in a journal issue dedicated to project man- agement and scheduling, have labeled project management and scheduling “a permanent challenge for OR.” Project scheduling continues to be important in industry, as indicated by a project scheduling software market which continues to grow at an annual rate of almost 20 percent [34]. De Wit and Herroelen [ l l ] report that although project scheduling software packages often consider cons- tained resources, their ability to solve resource constrained problems is either weak or nonexistent. This points to a great need for efficient solution approaches which allow for the complexities of real-world problems, which is an intended contribution of our research.

Naval Research Logistics, Vol. 40, pp. 665-675 (1993) Copyright 0 1993 by John Wiley & Sons, Inc. CCC 0894-069X/93/050665-11

666 Naval Research Logistics, Vol. 40 (1993)

The specific instance of the problem which we address is one with a single project consisting of a number of activities of known duration with start times dependent upon the completion of some other activities (precedence con- straints.) Additionally, each activity uses a known finite amount of limited re- newable resources per period. We consider the flexible specification of a deter- ministic objective function, such as the commonly used objective of minimizing the completion time of the entire project.

Optimal solution techniques for the minimum completion time objective have been presented in Davis and Heidorn [8], Patterson and Roth [23], Stinson, Davis, and Khumawala [28], and Talbot and Patterson [30, 311. Davis and Patterson [9, 101 present and compare a number of different heuristics for this problem. Other articles in the area include Patterson [20-221, Kurtulus and Davis [HI, Kurtulus and Roth [19], and Talbot [29]. Bell and Han [l] develop a two-phase heuristic that to date performs better than all other heuristics.

Bell and Park [2] present an exact algorithm for the minimum completion time problem; their algorithm appears to be only fractionally less efficient than our heuristic approach, but does not compare to our approach in terms of problem flexibility. Patterson, Talbot, Slowinski, and Weglarz [24] present a backtracking algorithm which is more flexible, considering various objective function forms and activities which can be accomplished in various modes. How- ever, their procedure involves an implicit enumeration approach which signifi- cantly decreases its effectiveness for larger problems. Our approach allows for very general problem specification, and is effective over a wide range of problem sizes.

In this article we present results of a local search heuristic that can be used to solve the single-project resource constrained project scheduling problem for an arbitrary objective function and arbitrary constraint forms. The next section describes our general formulation. The details of our algorithm are presented in Section 111. We describe our numerical tests and establish the numerical superiority of our algorithm for the completion minimization objective in Section IV. In Section V we present a problem example which illustrates the flexibility of our heuristic approach. The last section presents our conclusions and ideas for further research.

11. PROBLEM FORMULATION

We define a general resource constrained project scheduling problem as fol- lows.

Definition [generalized resource constrained project scheduling problem (GRCPSP)]: Determine the start times of activities in a project which maximize some deterministic objective function, subject to precedence constraints and some deterministic feasibility definition.

The formulation of the GRCPSP is as follows.

GRCPSP: maximize f ( T )

S.t. Tqk) + di(k) 5 T j ( k ) , k = 1, . . . , K

(other known feasibility constraints)

Sampson and Weiss: Local Search 667

where Ti is the start time decision variable for activity i. The f activity decision variables thus compose the vector T. The parameter d, represents the duration of activity i, i (k) is the predecessor activity of the kth precedence constraint, and j ( k ) is the successor of that constraint.

The objective function f (0) is known to be nonstochastic, but otherwise is not restricted in form. For example, imagine a construction project which incurs no penalty if the final activity is completed 9 days late, but a penalty of $5000 if the final activity is completed 10 days late, and $1000 more for every day thereafter. We specify the deadline for the final activity as DL,, and the start time for the final activity as TI. The condition would be represented in a dollar denominated objective function by the following term:

f ( T ) = (all other terms)

0, if TI + dl < DL, + 10, - { 5000 + 1000(T, + d, - DL, - lo), if TI + d, 2 DL, + 10,

which is piecewise linear but noncontinuous. The other knownfeasibility constraints could also take any form. For example,

imagine a project to build a satellite launching rocket in which construction takes place at two separate locations. A particular inspector can inspect three project parts per day, unless the parts are at separate locations, in which case he or she can only inspect two. Thus, the amount of inspector resource used during a given day is not merely the sum of resource usages of activities during that day, but also must consider the combination of activities on that day.

As one might imagine, such generality in resources would be very difficult to effectively solve via standard mathematical programming methods. The purpose of this research is to explore the possibility of solving GRCPSP by using a local search heuristic technique.

111. A GENERAL HEURISTIC

Local search is a simple procedure for heuristically solving combinatoric prob- lems. The basic procedure of local search is shown in Table 1. Local search heuristics have been used successfully in many applications including [13, 15- 17, 26, 27, 33, 371. Specific local search techniques include tabu search and simulated annealing. Reviews of these techniques are given in [12] and [14].

Implementing local search requires defining a solution, a neighborhood struc- ture, and a stopping condition.

The solution is represented in the problem defined above by the T vector which specifies the start times for each of the f activities. Although the T vector completely specifies the solution, it is quite possible to have a T vector which

Table 1. The basic local search procedure.

Step 1: Step 2: Step 3:

Step 4:

Choose an arbitrary solution as the base solution. Change the base solution slightly (according to the neighborhood structure). If the changed solution provides a better objective function value than the base solution, accept the changed solution as the new base solution. If a stopping condition has not been met, repeat Step 2.

668 Naval Research Logistics, Vol. 40 (1993)

Table 2. Mapping a S Vector into a T Vector (S - T ) . Step 1: Step 2: Step 3:

Select the very first activity (i = 1). Set TI = S,. Select an activity i with all predecessor activity T elements already calculated. Calculate TI as follows.

Ti = max({Ti(k) + dk}lall k with j ( k ) = i) + Si (Note that this sets the start time of activity i to Sj plus the earliest start time consistent with the already-assigned start times of immediate predecessor ac- tivities.) If other T values remain to be calculated, repeat at step 2. Otherwise, stop. Step 4:

violates precedence constraints. Thus, we have chosen to represent the solution in our local search algorithm as an S vector, which represents the shift of each activity from a minimum early start time given the finish times of predecessor activities. It is elementary to show that every element of the shift vector must be greater than or equal to 0, otherwise a precedence constraint would be violated. Once we have a shift vector, we can calculate actual early start times ( T ) by the procedure in Table 2. (This assumes that we have a single dummy activity at the start of the project.) Note that this mapping procedure assures that every solution considered is both precedence and duration feasible.

Figure 1 graphically depicts the use of the shift vector for a simple project network. Figure l(a) represents all activities at their early start times. Figure l(b) shows the same network with activities 3 and 4 shifted (S, = 1 and S4 = 2).

Thus, if every element of the S vector is greater than or equal to zero, then the corresponding T vector will be precedence constraint feasible. It is also elementary to show that every possible precedent constraint feasible T vector can be represented by a unique S vector. The advantage of working with the S shift vector is that it will be easy to maintain precedence feasibility. As seen in Figure 1, precedence feasibility is maintained by using only positive (i.e., right- shifting) shift values.

Figure la: AU activities at Es times (no shifts)

Actlvity Time Pencd @rede- cessors) 2 3 4 5 6 7 8 9 ,

1 I 2 (1) 3 (1) S,=l I 4 (2) I s,=2

6 ( 4 3 I 1

5 (3)

Figure lh: With activity 3 and 4 shifts

Figure 1. (a) All activities at ES times (no shifts). (b) With activity 3 and 4 shifts.

Sampson and Weiss: Local Search 669

Next we need to define the neighborhood structure, which specifies how to move from one solution to a slightly different and possibly better solution. An example of a simple neighborhood is to take one element of the S vector and increase or decrease it by one.

Two characteristics are desirable in choosing a neighborhood. First, the neigh- borhood should provide what we call “objective congruence,” which is to say that solutions with good objective function values should be relatively near neighbors to other good solutions. This is necessary because local search attempts to locate improving solutions by searching among the neighbors of the current solution.

The second desirable characteristic of a neighborhood is that it should allow for “diversity.” If the search is too myopic, it may fail to locate good solutions which are located just beyond some relatively poor solutions, causing the search to get stuck at a poor local optimum. The characteristics of objective congruence and diversity therefore trade off against one another.

Consider the following neighborhood. For a given activity i, try all shift values which do not increase the overall duration of the project by more than a specified amount, and choose the best (i.e., producing the largest objective function value). If there are multiple contender values which are “best,” then randomly choose one. Finally, only choose the previous shift value if it is “better” (higher objective function) than all other considered shift values by a specified amount (which we designate STAY-AMT).

As for the “other feasibility requirements” [Eq. (3)] we define a value called INF-PENALTY (infeasibility penalty), which represents the objective function penalty incurred for violating the other constraints. Thus, our neighborhood considers resource infeasibility only through penalizing the objective function. For some iterations we virtually ignore the penalty, thus allowing the search to focus on finding solution space with favorable objective measures.’ When the penalty is not ignored, the search will move toward “nearby” feasible solution space, hopefully without significant loss to the unpenalized objective measure. An indicator variable switches on and off as we decide whether or not to consider infeasibility in a given iteration.

This neighborhood possesses objective congruence, since we are only changing one shift at a time. Diversity is accomplished by testing a wide range of shift values, and by forcing a change if the current shift value is equaled (or nearly equaled) by other shift values. The random choosing from among the best solutions helps avoid cycling among local optimum values. In addition, the search periodically becomes tolerant of infeasibility (through cycling the infeasibility penalty) in order to further promote search diversity, as will be explained in Table 3.

The stopping condition we select is simply to search for a fixed number of iterations, specified by a parameter MAXREPS. (An alternative stopping con- dition we have found effective in other applications of the heuristic procedure is to search for one complete iteration finding no improvement.)

‘The penalty is “virtually” ignored by using a very small penalty weight of E . Therefore, if multiple solutions are of equal objective measure, the procedure will favor those which are more feasible. For the reported tests we arbitrarily used an E value of 1.

670 Naval Research Logistics, Vol. 40 (1993)

Table 3. The GRCPSP heuristic procedure.

Step 1: S-current; = 0, ‘d i = 1, . . . , I . Step 2: S-verybest = S-current.

OBJ-verybest = CALC-OBJ(S-verybest). OBJ-oldverybest = OBJ- verybest.

Step 3: repcount = 0.

Step 4: penalty = INF-PENALTY * (indicator) + E .

Step 5 : i = 1.

Step 6: S-current + T-current. Step 7: priorlength = T-current!.

priordelay = S-current;. S-best = S-current. OBJ-best = CALC-OBJ (S-current)-penalty * INFEASIBILITY (S- current) - STAY-AMT.

Step 8: S-current, = -1.

Step 9: Step 10: if S-current; = priordelay

Step 11: S-current + T-current.

S-currenti = S-current, + 1.

then S-current; = S-current; + 1

if T-current! > priorlength + LENGTH-LIMIT, then go to Step 14.

CALC-OBJ(S-current) - penalty * INFEASIBILITY(S-current). if OBJ-current > OBJ-best, then S-best = S-current, and OBJ-best = OBJ-current.

Step 13: Go to Step 9.

Step 12: OBJ-current =

Step 14: OBJ-best =

Step 15: if INFEASIBILITY(S-best) = 0, CALC- OBJ( S- best).

and OBJ-best > OBJ-verybest then S-verybest = S-best, and OBJ-verybest = OBJ-best.

theni = i + 1, and go to Step 6.

Step 16: if i < I ,

;Clear the solution. ;Initialize very best solution.

;Counts iterations. ;Set the infeasibility penalty to E for four repcount values, INF-PENALTY + E for four, E for four, etc. This cycles the strict feasibility requirement. ; i indicates the activity we are trying to adjust for improvement. ;Map solution spaces (see Table 2). ;Record the prior state and record the current solution as the incumbent “best” solution.

;Try the next delay value for activity i . ;Skip the prior delay value, which was the first incumbent (see Step 7).

;Try all delay values which do not in- crease total project length more than LENGTH-LIMIT periods.

;If it is the best delay for this activity, re- cord it as such.

;Try the next delay value for this activ- ity. ;Determine OBJ-best without consider- ing penalties. ;If that is feasible and better than very- best, then record it as verybest.

;Move on to the next activity

Sampson and Weiss: Local Search 67 1

Table 3. (continued) Step 17: if OBJ-verybest > OBJ-old-

verybest, then S-oldverybest = S-verybest, and OBJ-oldverybest = OBJ- verybest.

Step 18: if repcount < MAXREPS, then repcount = repcount + 1, and go to Step 4.

Step 19: Stop. The solution in S-verybest has the objective function measure of OBJ-verybest.

;Keep track of the verybest.

;Repeat for MAXREPS iterations. (see text about an alternative stopping condi- tion.)

Table 3 shows pseudocode for the overall heuristic procedure for GRCPSP. We assume that we have a computer-coded objective function calculating routine called CALC-OBJ(S), which returns the objective function value. We also have a feasibility calculating routine called INFEASIBILITY (S), which returns a positive number representing the amount of resource infeasibility, or 0 if the time assignments are feasible (according to the “other” constraints). Infeasibility may be measured in a variety of ways, such as number of resource units used beyond constraint limits, or dollar cost of resource constraint violations. The value INF-PENALTY specifies an objective function penalty for each unit of infeasibility, and makes feasible solutions more attractive than infeasible solu- tions.

STAY-AMT is a threshold value which specifies how much the best neighbor must be worse than the current solution before we will stay at the current solution. LENGTH-LIMIT specifies how many units we will allow the total project duration to increase while searching for an improving neighbor. Finally, MAXREPS specifies the number of iterations we will use in the search.

IV. TESTING THE GENERAL HEURISTIC

We tested our heuristic on the classic 110-problem data set of Patterson. This data set has been used extensively for the minimize completion time objective and was used by Bell and Han [l] most recently. We programmed the algorithm in C + + and implemented it on a NeXT workstation with a 68030 micropro- cessor. For our application, the procedure CALC-OBJ(S) merely returns an objective function value which is the negative of the finish time of the final activity. Thus, our procedure’s goal is still to maximize the objective function. The procedure INFEASIBILITY(S) returns the total number of units of re- sources which are used in excess of each period’s limit. (Patterson’s problems include up to three resources.) Other procedure parameter values were set as follows:

INF-PENALTY = 50, STAY-AMT = 1, LENGTHLIMIT = 3 , MAXREPS = 10.

672 Naval Research Logistics, Vol. 40 (1993)

Table 4. Comparison of heuristics on Patterson’s 110 problems. Bell & Han’s Local search

two-phase approach approach Mean deviation from optimal project length 2.6% 1.98% Standard deviation of difference from opti- 3.1% 2.62%

Number of problems in which heuristic came 49 61 mal project length

UD with the optimal solution

The benchmark to which we compared our heuristic procedure was Bell and Han’s [ 11 two-phase procedure. Table 4 contains the comparison.

Therefore we conclude that for minimizing project duration on Patterson’s problems, the local search approach significantly outperforms ( p < 0.001) the Bell and Han problem specific approach. The algorithm computation time is designed to be quadratic in the size of the problem, assuming the objective function value can be calculated in O(Z), where Z is the number of activities. As designed, we also limit the number of repetitions of the algorithm. Our results also indicated that there was no significant linear relationship (coefi- cient = 0.00026, R 2 = 0.84%, t = 0.96) between the size of the problem (num- ber of activities) and the average percent deviation from optimal project length. Table 5 summarizes the results of the algorithm by problem size. No pattern is apparent. Most importantly, objective function performance does not degrade as a function of problem size.

V. AN EXAMPLE OF HEURISTIC GENERALITY

The key advantage of the local search approach is that we have the opportunity to solve significantly more complicated (and realistic, e.g. Russell [25]) problems, which is a luxury not available to more problem-dependent approaches. For

Table 5. Heuristic results by problem size.

Heuristic project length divided by optimal project

length Number of Average time to Problem size problems final solution (seconds) Mean Std. dev.

7 1 0.20 1.00 0 8 2 0.20 1.00 0 9 2 0.25 1.00 0

13 1 7.80 1.00 0 14 1 2.00 1.00 0 18 1 15.60 1 .oo 0 22 46 36.12 1.017 0.025 165 23 1 27.70 1.00 0 27 43 61.08 1.028 0.028225 35 2 36.20 1.00 0 51 10 177.24 1.018 0.022154

Sampson and Weiss: Local Search 673

Table 6. Results for hypothetical problem. Cost of 100 random

solutions Problem Activities Cost of heuristic solution Mean Minimum Patterson1 14 $20700 $25880 $23100 Patterson2 7 $11600 $17286 $14800 Patterson3 13 $48900 $83440 $53300

example, consider Patterson’s first three problems, which have 14, 7, and 13 activities and three resources, under the following hypothetical conditions:

The projects have two sites, with odd-numbered activities taking place at one site, and even-numbered activities at the other. The first resource represents the number of activities which can be examined by the inspector, who can inspect twice as many activities if all inspections take place at the same site. The second resource represents transportation between sites, with total resource utilization equal to the product of the utilizations at each site. For example, if during time period t , activities at site one utilize a total of four units of resource 2 and site two activities utilize five units, the total utilization will be 4*5 = 20 units. The third resource represents laborers. If the resource limit is exceeded by an amount n, the solution is feasible, but with an objective function cost of $100*n2. Note that this illustrates the common phenomenon of increasing marginal costs. The cost of the project is $1000 per period. If the project exceeds the deadline by 10 or more periods, a $5000 penalty is assessed, plus $1000 for each period beyond 10 periods. The objective is to minimize total project cost.

Adapting our heuristic procedure to consider the above conditions merely involves modifying the CALC-OBJ() and INFEASIBILITY() components, which was easily accomplished. The only procedure parameter change was INF -PENALTY = 50,000. Since we have no exact solution procedure for such a complex problem, we compare the results to the mean and minimum of 100 random feasible solutions.* Results are shown in Table 6. Although these tests are limited, it is clear that the local search heuristic should be able to find excellent solutions for general problem forms. Further research should include the construction of a data base of general resource constrained problems on which researchers can test this as well as other heuristic approaches.

VI. CONCLUSIONS AND RESEARCH DIRECTION

We have shown that the local search heuristic is superior to existing heuristic techniques for the resource constrained project scheduling problem for a stan-

2Random solutions are generated by assigning random delay values to all activities such that the solution is feasible. The random delay values are from the discrete uniform distribution in the range [O,HIGHRAND]. HIGHRAND is initially set to 1. After each 1000 attempts to find feasible solutions to a particular problem, HIGHRAND is incre- mented by 1. This is an attempt to find feasible solutions with the lowest possible range of random delay values.

674 Naval Research Logistics, Vol. 40 (1993)

dard literature problem set. This testing has shown that it may be possible to solve generally formulated problems as well as tightly defined problems. We have shown an example of a general problem formulation, one which includes a nonlinear objective function and nonlinear constraints. The research contri- bution is a decrease in the gap between real problem instances and the require- ments of the solutions procedure.

The next step is to test the algorithm on other, more complicated problem sets. This will require (a) locating realistic problem sets which involve compli- cated objective function measures and constraints, and (b) determining solutions with which we can compare our procedure results.

REFERENCES

[l] Bell, C.E., and Han, J., “A New Heuristic Solution Method in Resource-Con- strained Project Scheduling,” Naval Research Logistics, 38, 315-331 (1991).

[2] Bell. C.E., and Park, K., “Solving Resource-Constrained Project Scheduling Prob- lems by A* Search,” Naval Research Logistics, 38, 61-84 (1990).

[3] Davis, E. W., “Project Network Summary Measures Constrained-Resource Sched- uling,” AIIE Transactions, 7(2), 132-142 (1975).

[4] Davis, E.W., “An Exact Algorithm for the Multiple Constrained-Resource Project Scheduling Problem,” unpublished Ph.D. dissertation, Yale University, 1969.

[5] Davis, E. W., “Project Summary Measures and Constrained Resource Scheduling,” Working Paper No. HBS 73-34, Graduate School of Business Administration, Har- vard University, 1973.

[6] Davis, E.W., “Resource Allocation in Project Network Models-A Survey,” Journal of Industrial Engineering, 17(4), 177-188 (1966).

[7] Davis, E. W., “Project Scheduling Under Resource Constraints: Historical Review and Categorization of Procedures,” AIIE Transactions, 5(4), 297-313 (1973).

[S] Davis, E.W., and Heidorn, G.E., “An Algorithm for Optimal Project Scheduling under Multiple Resource Constraints,” Management Science, 17(12), B803-B816 (1971).

191 Davis, E.W., and Patterson, J.H., “A Comparison of Heuristic and Optimum So- lutions in Resource-Constrained Project Scheduling,” Management Science, 21(8),

[lo] Davis, E.W., and Patterson, J.H. “Resource Based Project Scheduling: Which Rules Perform Best?,” Project Management Quarterly, 6(4), 25-31 (1975).

[ l l ] De Wit, J., and Herroelen, W., “An Evaluation of Microcomputer-Based Software Packages for Project Management,” European Journal of Operations Research, 49,

[12] Eglese, R.W., “Simulated Annealing: A Tool for Operational Research,” European

[13] Eglese, R.W., and Rand, G.K., “Conference Seminar Timetabling,” Journal of the

[14] Glover, F., “Tabu Search: A Tutorial,” Interfaces, 20(4), 74-94 (1991). [15] Glover, F., and McMillan, C., “The General Employee Scheduling Problem: An

Integration of Management Science and Artificial Intelligence,” Computers and Operations Research, 13(5), 563-593 (1986).

[16] Johnson, D., “Timetabling University Examinations,” Journal of Operational Re- search Society, 41(1), 39-47 (1990).

[17] Kuik, R., and Salomon, M., “Multi-Level Lot-Sizing Problem: Evaluation of a Simulated-Annealing Heuristic,” European Journal of Operational Research, 45,

[18] Kurtulus, I.S., and Davis, E.W., “Multi-Project Scheduling: Categorization of Heu-

944-955 (1975).

102-139 (1990).

Journal of Operational Research, 46, 271-281 (1990).

Operational Research Society, 38, 591-598 (1987).

25-37 (1990).

ristic Rules Performance,” Management Science, 28(2), 161-172 (1982).

Sampson and Weiss: Local Search 675

Kurtulus, IS., and Roth, G., “Scheduling a Proiect under Multiple Resource Con- straints: A Zero-One Programming Approach,” AZZE Transactions, 8(3), 449-456 (1976). Patterson, J.H., “Project Scheduling: The Effects of Problem Structure on Heuristic Performance,” Naval Research Logistics Quarterly, 23( l) , 95-123 (1976). Patterson, J.H., “Alternative Methods of Project Scheduling with Limited Re- sources,” Naval Research Logistics Quarterly, 20(4), 767-784 (1973). Patterson, J.H., “A Comparison of Exact Approaches for Solving the Multiple Constrained Project Scheduling,’’ Management Science, 30(7), 854-867 (1984). Patterson, J.H., and Roth, G., “Scheduling a Project under Multiple Resource Constraints: A Zero-One Programming Approach,” AIIE Transactions, 8(3), 449- 456 (1976). Patterson, J.H., Talbot, F.B., Slowinski, R., and Weglarz, J., “Computational Ex- perience with a Backtracking Algorithm for Solving a General Class of Precedence and Resource-Constrained Scheduling Problems,” European Journal of Operational Research, 49, 68-79 ( 1990). Russell, R.A., “A Comparison of Heuristics for Scheduling Projects with Cash Flows and Resource Restrictions,” Management Science, 32(10), 1291-1300 (1986). Skorin-Kapov, J., “Tabu Search Applied to the Quadratic Assignment Problem,” ORSA Journal on Computing, 2(1), 33-45 (1989). Steinberg, L., “The Backboard Wiring Problem: A Placement Algorithm,” SZAM Review, 3, 37-50 (1961). Stinson, J.P., Davis, E.W., and Khumawala, B.M., “Multiple Resource-Constrained Scheduling Using Branch and Bound,” AZIE Transactions, 10(3), 252-259 (1978). Talbot, B.F., “Resource-Constrained Project Scheduling with Time-Resource Tradeoffs: The Nonpreemptive Case,” Management Science, 28(10), 1197-1210 (1982). Talbot, F.B., and Patterson, J.H., “An Efficient Integer Programming Algorithm with Network Cuts for Solving Resource-Constrained Scheduling Problems,” Man- agement Science, 24(11), 1163-1174 (1978). Talbot, F.B., and Patterson, J.H., “Optimal Methods for Scheduling Projects under Resource Constraints,” Project Management Quarterly, 10(4), 26-33 (1979). Tavares, L.V., and Weglarz, J., “Project Management and Scheduling: A Permanent Challenge for OR,” European Journal of Operational Research, 49, 1-2 (1990). Vakharia, A.J., and Chang, Y.L., “A Simulated Annealing Approach to Scheduling a Manufacturing Cell,” Naval Research Logistics, 37, 559-577 (1990). Wallace, R., and Halverson, W., “Project Management: A Critical Success Factor or a Management Fad,” Industrial Engineering, 24(4), 48-50 (1992). Wiest, J.D., “A Heuristic Model for Scheduling Large Projects with Limited Re- sources,” Management Science, 13(6), 359-377 (1967). Wiest, J.D., “Some Properties of Schedules for Large Projects with Limited Re- sources,” Operations Research, l2(3), 395-418 (1964). Wright, M.B., “Applying Stochastic Algorithms to a Locomotive Scheduling Prob- lem,” Journal of the Operational Research Society, 40, 187-192 (1989).

Manuscript received February 26, 1992 Revised manuscript received January 11, 1993 Accepted February 8, 1993