European Journal of Operational Research 107 (1998) 250±259
The resource constrained project scheduling problem with multiple crashable modes: A heuristic procedure Taeho Ahn a, S. Selcuk Erenguc b
b,*
a Soongsil University, College of Commerce and Economics, School of Management, 1-1 Sangdo 5-Dong, Seoul, South Korea University of Florida, College of Business Administration, Department of Decision and Information Sciences, Gainesville, FL 32611, USA
Received 1 April 1996; received in revised form 1 April 1997
Abstract We present a heuristic procedure for a nonpreemptive resource constrained project scheduling problem in which the duration/cost of an activity is determined by the mode selection and the duration reduction (crashing) applied within the selected mode. This problem is a natural combination of the time/cost trade-o problem and the resource constrained project scheduling problem. The objective is to determine each activity's start (®nish) time, mode and duration so that the total project cost is minimized. Total project cost is the sum of all activity costs and the penalty cost for completing the project beyond its due date. We introduce a multi-pass algorithm. We report computational results with a set of 100 test problems and demonstrate the ecacy of the proposed heuristic procedure. Ó 1998 Elsevier Science B.V. All rights reserved. Keywords: Resource constrained project scheduling; Crashable modes; Activity cost; Project cost; Penalty cost
1. Introduction In project scheduling literature activity duration is viewed either as a function of cost or as a function of resources committed to it. The wellknown Time/Cost Trade-o Problem (TCTP) takes the former view. Studies on TCTP have been done using various kinds of cost functions such as linear (Fulkerson, 1961; Kelly, 1961), discrete *
Corresponding author. E-mail:
[email protected]¯.edu. 0377-2217/97/$17.00 Ó 1998 Elsevier Science B.V. All rights reserved. PII S 0 3 7 7 - 2 2 1 7 ( 9 7 ) 0 0 3 3 1 - 7
(Demeulemeester et al., 1993), convex (Lamberson and Hocking, 1970; Berman, 1964) and concave (Falk and Horowitz, 1972). The latter view is the approach taken in the Resource Constrained Project Scheduling Problem (RCPSP), in which each duration±resource combination for an activity is called a mode (Talbot, 1982). The single mode case has been considered by Patterson and Huber (1974), Patterson and Roth (1976), Stinson et al. (1978), Talbot and Patterson (1978), Christo®des et al. (1987) and Demeulemeester and Herroelen (1992), and the multiple mode case has been
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
researched by Talbot (1982), Patterson et al. (1989, 1990), Sprecher (1994) and Sprecher et al. (1994). The combinatorial nature and the resulting diculty involved in solving the RCPSP, directed research eorts towards developing eective heuristic procedures. These include Davis and Patterson (1975), Talbot (1982), Boctor (1990, 1993), Drexl and Gruenewald (1993) and Sprecher (1994). In a recent study Ahn and Erenguc (1995) take yet a dierent approach. Activity duration/cost is treated as ``a function of resource requirements (mode selection) and the amount of crashing implemented (duration reduction by increasing direct costs).'' In this paper we will follow the approach of Ahn and Erenguc (1995). To bring clarity to this new view, we look at the same example used by Ahn and Erenguc (1995). Activity j can be done by ``worker A using machine X (mode 1)'' or by ``worker B using machine Y (mode 2)''. Worker A, using machine X, can ®nish activity j in 10 working days at a price of $400, assuming 8 h of work per day. Worker B, using machine Y, can complete the activity in eight working days at a price of $500 assuming 8 h of work per day. Furthermore, workers A and B can shorten the activity duration by working additional hours each day. For example, worker A can ®nish the job in eight days by working 10 h per day. Usage of overtime increases direct costs. Duration reduction (crashing) can be done in various ways: using overtime or additional shift(s), or allocating more resources that might be acquired easily by incurring additional expenditures. As seen in this example, the duration and cost of performing activity j depend not only on the mode selection but also on the duration selection within a mode. To reconcile our de®nition of a mode and the de®nition in the current literature, we again refer to the simple example given above. While there are only two modes as per our de®nition, every possible resource(worker, machine)±duration combination would be considered a mode in the current literature. Our view of the activity cost/duration is a natural combination of the TCTP and the RCPSP. We refer to the resulting problem as the resource constrained project scheduling problem with ``multiple crashable modes'', the RCPSPMCM. In the
251
absence of resource limitations the RCPSPMCM reduces to the TCTP, and in the absence of crashing within a mode the RCPSPMCM becomes the RCPSP with multiple modes, the RCPSPMM. 2. Problem description We ®rst state the assumptions and de®ne the variables and terms necessary to formulate the RCPSPMCM. A project consists of J activities. Two dummy activities, 1 and J, are introduced to denote the start and the completion of the project. The dummy activities do not require any cost nor do they require any time for processing. There are precedence relations between some activities due to technological requirements. No preemption is allowed; once an activity is started, it cannot be interrupted. The notation follows the activity-onnode format. A succeeding node gets a higher number than all of its preceding nodes. Sj , 1 6 j 6 J , denotes the set of immediate successors of activity j. Each activity j 2 f1; . . . ; J g can be executed in one mode available from the mode set f1; 2; . . . ; Mj g. Each mode of activity j has two extreme durations. Suppose that activity j is executed in mode mj 2 f1; . . . ; Mj g. The longest duration of mj is called the normal duration of mj , NDjmj , and the shortest duration is called the crash duration of mj , CDjmj . If activity j is performed in mj , then the duration variable of activity j, dj , is bounded between NDjmj and CDjmj . If activity j is scheduled in mj with the duration of NDjmj , then the normal cost of mj , NCjmj , is incurred. In mode mj , duration dj can be shortened to any value between NDjmj and CDjmj by incurring an additional cost. Per period cost of duration reduction within mj is called the crashing cost of mj and is denoted by CRjmj > 0. Thus, execution cost of activity j in mode mj with duration dj is computed as NCjmj CRjmj
NDjmj ÿ dj , where CDjmj 6 dj 6 NDjmj . We refer to the execution cost of activity j using mj with duration CDjmj as the crash cost of mj , CCjmj . For the completion of the project, we assume that K types of renewable resources are required. Rk ; k 1; . . . ; K, units of resource type k are available in each period. rjmj k denotes the per period usage of resource k, k 1; . . . ; K, required
252
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
to perform activity j in mode mj . The project is assumed to have a predetermined due date, T > 0. If the completion time of the project exceeds T , a predetermined penalty cost, P > 0, is incurred for each period the project is delayed beyond its due date. If the project due date can not be violated, then P is set to in®nity. A schedule for RCPSPMCM consists of the triplets (®nish time, mode, duration) for each of the J activities. A schedule is said to be feasible if (i) each activity j is assigned a mode mj 2 f1; . . . ; Mj g, (ii) for each j 2 f1; . . . ; J g, the scheduled duration is between the normal and crash durations of the selected mode, (iii) all the precedence relations are satis®ed, and (iv) resource requirements in each period do not exceed their respective capacities. Project cost is computed as the sum of all activity costs and the penalty cost for completing the project beyond its due date. The objective of this problem is to ®nd a feasible schedule that minimizes the project cost. For the formulation of the problem, we introduce two additional variables: fj denotes the completion time of activity j, j 1; . . . ; J . Accordingly, fJ denotes the completion time of the project. z denotes the tardiness of the project, and is computed as maxf0; fJ ÿ T g: The RCPSPMCM is stated as follows: minimum
Mj J X X
xjmj NCjmj
CRjmj
NDjmj ÿ dj
Pz
1
subject to xjmj 2 f0; 1g Mj X
xjmj 1 for all j;
2
3
mj 1
Mj X X
i 1; . . . ; J ÿ 1; j 2 Si ;
z P fJ ÿ T ;
9
d1 ; dJ 0;
10
where j Mj mj xjmj dj NCjmj NDjmj
CDjmj CRjmj
rjmj k
Rk period
T P
rjmj k xjmj
for all k and t;
5
7
8
4
j2SAt mj 1
for all j and mj ;
z P 0;
SAt
fi 6 fj ÿ dj ;
6 Rk
6 dj xjmj 6 NDjmj xjmj
K for all j and mj ;
6
CDjmj xjmj
fj Sj
j1 mj 1
f1 0;
z
activity index, j 1; . . . ; J the number of modes available to activity j mth mode of activity j 0-1 integer variable; 1 if activity j is executed using mode mj , 0 otherwise duration variable of activity j normal cost of activity j using mode mj normal (crash) duration of activity j using mode mj marginal crashing cost of activity j using mode mj ®nish time of activity j set of immediate successors of activity j per period usage of renewable resource k required to perform activity j in mode mj the number of resource types required for the project units of resource type k available per period Period t is de®ned as the time interval, t ÿ 1; t the set of activities that are in progress in period t; SAt fj fj ÿ dj < t 6 fj g project due date per period penalty cost incurred if the project is delayed beyond T tardiness of the project; Z maxf0; fJ ÿT g
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
Please note that constraint (5) is a conceptual statement of the resource constraints. 3. A heuristic procedure We propose a heuristic procedure for the RCPSPMCM. Our heuristic procedure consists of two stages: in the ®rst stage, we generate a feasible schedule, and in the second stage, we try to improve the feasible schedule. In order to improve the schedule we apply, in this paper, the six improvement rules that we developed. The second stage is repeated until the application of these rules does not yield further improvements. Then, the procedure goes back to the ®rst stage, generates a new feasible schedule and subsequently moves to the second stage. Each time the procedure goes back to stage one, a new ``pass'' is started. The heuristic procedure terminates either when a predetermined number of passes is made, or when a predetermined computational time is reached. 3.1. Generation of the initial feasible schedule in the ®rst pass In order to construct an initial feasible schedule in the ®rst pass, we ®rst select a mode and a duration for each activity in the following way: For each activity, the mode with the least expensive normal cost is selected and the duration of the activity is set to the normal duration of the chosen mode. Once the mode and the duration of each activity is ®xed, the only remaining variable cost is the project penalty cost. The resulting problem is a single-mode RCPSP with makespan minimization as its objective. We use the well-known minimum slack rule to obtain an initial feasible schedule in the ®rst pass. 3.2. Six improvement rules We introduce six improvement rules to improve a given feasible schedule. It is assumed that a feasible schedule is at hand. To help our explanation, we use the following notation and de®nitions.
253
De®nition 3.1 (Notation) f j ; mj ; d j Unstartp Uncrashablep
the assigned ®nish time, mode and duration for each activity in the given feasible schedule a set of activities; Activity j is in Unstartp if f j ÿ d j P p a set of activities; Activity j is in Uncrashablep if j 2 SAp and d j < NDjmj
Improvement rule 1 tests whether a given nondummy activity h can be rescheduled at a smaller cost. Rescheduling can aect only f h ; mh ; d h and the execution cost of activity h. Improvement rule 1: (Rescheduling of an activity). Suppose that we have a feasible schedule and that nondummy activity h is under consideration for rescheduling. If changing f h ; mh and d h either individually or in any combination, without changing other elements of the schedule, maintains feasibility of the schedule and reduces the activity cost of h, then the resulting schedule is an improved feasible schedule. Improvement rule 2 is applicable to any two activities i and j where f i f j ÿ d j . In applying rule 2, f i ; d i and d j are changed simultaneously by only one period, while keeping
f i ÿ d i and f j ®xed. That is, if we increase (reduce) f i and d i by one period, then we must also reduce (increase) d j by one period. Therefore, f i f j ÿ d j still holds after the application of rule 2. Note that, the completion time of the project is not aected by this rescheduling. Since we change d i and d j , the activity costs of the two activities are aected. If the sum of the resulting two activity costs is smaller than the previous sum, and if the feasibility of the schedule is maintained, then this particular rescheduling reduces the project cost. Improvement rule 2: (Rescheduling of adjacent two activities). Suppose that we have a feasible schedule and that f i f j ÿ d j . If changing f i ; d i and d j in one of the following two ways: (a) f i 1; d i 1; d j ÿ 1, or (b) f i ÿ 1; d i ÿ 1 and d j 1, maintains feasibility of the schedule and reduces the sum of the two activity costs, then the resulting schedule is an improved feasible schedule. The succeeding four improvement rules are based on the following de®nitions and remarks.
254
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
De®nition 3.2 (One period crashing and uncrashing). Suppose that we have a feasible schedule. One period crashing in period p is an operation de®ned as follows: Duration of each activity in SAp is reduced by one period, and ®nish time of each activity in SAp and Unstartp is also reduced by one period. One period uncrashing in period p is an operation de®ned as follows: If Uncrashablep is not empty and if Unstartp contains at least one activity whose assigned start time is equal to the assigned ®nish time of an activity in Uncrashablep , then the duration of each activity that is in Uncrashablep is increased by one period, and ®nish time of each activity in Uncrashablep and Unstartp is increased by one period. Remark 3.1 (Feasible one period crashing and uncrashing). Suppose that we have a feasible schedule. If none of the activities in progress in period p; 1 6 p 6 f J , is assigned the crash duration of its selected mode, then one period crashing in period p results in a feasible schedule. In a similar manner, one period uncrashing in period p; 1 6 p 6 f J , will always result in a feasible schedule. Remark 3.1 follows from the fact that resource capacities are assumed to be constant over time. Remark 3.2 (Project cost change due to feasible one period crashing and uncrashing). Suppose that we have a feasible schedule. If feasible one period crashing is implemented in period p; 1 6 p 6 f J , then the sum of activity costs is increased by P j2SAp CRjmj and penalty cost is reduced by P , provided that f J P T 1 holds. If feasible one period uncrashing is implemented in period p, then the sum of activity costs is reduced by P j2Uncrashablep CRjmj and penalty cost is increased by P provided that f J P T holds. Rule 3 is applied when f J P T 1 and P is more than the additional cost due to feasible one period crashing. Improvement rule 3: (Feasible one period crashing). Suppose that we have a feasible schedule, and f J P T 1. If there exists a period p, 1 6 p 6 f J , in which feasible one period crashing
is possible and the increase in activity costs due to one period crashing is less than P , then one period crashing in period p results in an improved feasible schedule. Rule 4 is applied when f J 6 T ÿ 1 and feasible one period uncrashing is possible. Improvement rule 4: (Feasible one period uncrashing-1). Suppose that we have a feasible schedule and f J 6 T ÿ 1. If there exists a period p, 1 6 p 6 f J , in which feasible one period uncrashing is possible, then one period uncrashing in period p results in an improved feasible schedule. Rule 5 is applied when f J P T and P is less than the reduction of activity costs due to feasible one period uncrashing. Improvement rule 5: (Feasible one period uncrashing-2). Suppose that we have a feasible schedule and f J P T . If there exists a period p, 1 6 p 6 f J , in which feasible one period uncrashing is possible and the reduction of activity costs due to uncrashing is greater than P , then one period uncrashing in period p results in an improved feasible schedule. Rule 6 is applied when simultaneous feasible one period crashing in period p and feasible one period uncrashing in period q; p 6 q, reduces the project cost. Improvement rule 6: (Simultaneous one period crashing and uncrashing). Suppose that we have a feasible schedule and that there exist two distinct periods, p and q, 1 6 p; q 6 f J . Also assume that feasible one period crashing in period p and feasible one period uncrashing in period q are possible. If the increase in activity costs from crashing in period p is less than the reduction in activity costs from uncrashing in period q, then implementing one period crashing in period p and one period uncrashing in period q simultaneously results in an improved feasible schedule. Rule 6 is implemented as follows: (i) if p < q, then perform feasible one period crashing in period p ®rst. In the revised schedule, perform feasible one period uncrashing in period
q ÿ 1. (ii) If p > q, perform feasible one period crashing in period p ®rst. In the revised schedule, perform feasible one period uncrashing in period q. It is worthwhile to note that applying Rule 6 does not change the project completion time.
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
255
3.3. A brief statement of the heuristic procedure
4. Computational results
The six improvement rules introduced in Section 3.2 are based on the assumption that a feasible schedule is available. After generating the initial feasible schedule in the ®rst pass as explained in Section 3.1, the six improvement rules are applied until no improvement is possible. If more than one rule is applicable, we choose the rule with the lowest index. Then, the heuristic procedure proceeds to the next pass. In order to ensure that a dierent initial feasible schedule is generated in each pass, we choose a predetermined number of activities and ®x the mode of each chosen activity in the following manner: (i) When an initial schedule is generated in each pass, we initialize a two dimensional array, M_INDEX, by setting M_INDEX[j][mj ] objective value of the initial schedule if mj is the assigned mode for activity j, and M_INDEX[j]mj 1 otherwise. (ii) Whenever a schedule is improved, we update this array by setting M_INDEX[j][mj ] objective value of the current schedule if mj is used in the schedule and leave it unchanged otherwise. Therefore, when we reach the end of a pass, a higher value of M_INDEX[j][mj ] implies that mj was not recently used. (iv) When we are about to generate an initial feasible schedule in the next pass, we select the highest value among M_INDEX[j][mj ] for all j and mj . Ties are broken arbitrarily. Suppose that M_INDEX[h][mh ] is selected. Then, we choose mh as the initial mode for activity h, and the duration of activity h is selected randomly between the normal and crash durations of mh . (v) Selecting the next highest value from the array M_INDEX is continued until a predetermined number of activities is reached. (In each pass, the same activity is not chosen twice for ®xing the mode and the duration.) If activity j is not selected for mode and duration ®xing, the mode and duration of the last schedule of the previous pass are used. A complete initial schedule is then constructed by using the minimum slack rule. The procedure terminates either when a predetermined time limit is reached, or when a predetermined number of passes is implemented.
Since the RCPSPMCM was introduced recently (Ahn, 1994), there is no reported exact solution method, and neither is there a heuristic procedure for the RCPSPMCM except the one presented in this paper. As mentioned earlier, the RCPSPMCM can be transformed to the RCPSPMM by considering each possible duration within a mode (as de®ned in RCPSPMCM) as an independent mode (as de®ned in RCPSPMM). In order to test the eectiveness of our procedure in solving the RCPSPMCM, we (i) generated 100 test RCPSPMCM problems; (ii) solved these problems with our heuristic procedure which we call the E.A.H (Erenguc and Ahn's heuristic procedure); (iii) also solved the test problems with the truncated version of the exact solution procedure of Ahn and Erenguc (1995) which we call the T-E.A.E; (iv) transformed these RCPSPMCM problems into RCPSPMM and solved the transformed problems with the truncated version of the exact solution procedure of Sprecher et al. (1994) which we call T-S.E.; and (v) compared the quality of solutions obtained by each procedure. We choose the E.A.E and Sprecher et al.'s algorithm since the E.A.E is an algorithm designed for the RCPSPMCM and Sprecher et al.'s algorithm is one of the most eective, if not the most eecive, RCPSPMM procedures (Sprecher et al., 1994). Each exact solution algorithm is treated as a heuristic procedure by terminating the procedure when a predetermined execution time is reached. The modi®cations needed for Sprecher et al.'s algorithm to solve the test problems (with the cost minimization objective) are given in Appendix A. 4.1. Data generation We generated 10 data sets using ProGen (Kolisch et al., 1992). Each set consists of 10 problems. Table 1 shows the baseline values used for the ProGen parameters and Table 2 gives the necessary adaptations for obtaining instances of the RCPSPMCM.
256
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
Table 1 The values used for ProGen parameters Number of nondummy activities Number of nondummy start/®nish activities Number of successors/predecessors per activity Complexity of network (C) Number of modes per nondummy activity Duration of each mode Number of renewable/nonrenewable resources Number of renewable/nonrenewable resources requested Renewable/nonrenewable resource demand per period Renewable resource factor/strength Nonrenewable resource factor/strength Probability of choosing a decreasing function for renewable/nonrenewable resource Due date factor and number of doubly constrained resources
J)2a [1,2]/[3,3] b [1,3]/[1,3] 1.8 2 [5,10] 2/2 [1,2]/[2,2] [1,10]/[10,30] (0.5/0.2) (1.0/0.7) 1.0 (1.0) 0.0 and 0
a
See Tables 3 and 4. [x,y] indicates that the parameter value was generated by ProGen from a uniform distribution over the integers in the range between x and y. b
4.2. Report of computational results E.A.H, T-E.A.E and T-S.E were coded in C. We used an IBM ES/9000-831 for computations. T-E.A.E uses the Optimal Subroutine Library (OSL by IBM) to solve the relaxed problems which are linear programs. In order to compare the heuristic procedures, we imposed a CPU-time limit of trunc
J ÿ 12=2 1 seconds. In E.A.H, the number of activities selected for ®xing their modes and durations in the initial feasible schedules is set to trunc
J ÿ 2 0:1: The test problems are grouped into two. In the ®rst group test problems, the number of nondummy activities is equal to or less than 20, and the optimal solution values of the problems were found by E.A.E. For each heuristic procedure a percent gap was computed for each problem for which the procedure was able to obtain a solution within the speci®ed time limit. The percent gap is de®ned
as 100 ´ [value found by the heuristic ) optimal solution value]/[optimal solution value]. The second group of test problems consists of problems in which the number of nondummy activities is more than 20. Optimal solution values of these problems were not available. Accordingly, the percentage gap for these problems is de®ned as 100 ´ [value found by the heuristic ) the best solution value]/[the best solution value ]. Here ``the best solution value'' is the minimum objective value obtained by any of the three procedures. All the exact algorithms for the RCPSMM that we know of make use of the partial feasible schedule concept. Any exact solution algorithm designed for the RCPSMM can be used as a heuristic by imposing a time limit (truncating) on it. However, we do acknowledge that any such solution algorithm, which is based on the partial feasible schedule concept, has an inherent disadvantage to be used as a heuristic procedure
Table 2 Adaptation of the data to generate instance of the RCPSPMCM NDjmj CDjmj NCjmj CRjmj CCjmj Rk P
Duration of activity j with mode mj NDjmj ÿ 2 The ®rst nonrenewable resource demand for activity j with mode mj The second nonrenewable resource demand divided by 5. If not an integer, truncate. NCjmj CRjmj
NDjmj ÿ CDjmj max {capacity for kth renewable resource from PROGEN, maxjmj frjmj k g} Capacity of the second nonrenewable resource divided by number of precedence relations. If not an integer, round it to the closest integer value.
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
for solving the RCPSPMCM. The reason is quite obvious. When we convert the RCPSPMCM into the RCPSPMM, the number of activity±mode (as de®ned in the RCPSPMM) combinations increases dramatically. For example, if an RCPSPMCM with 10 nondummy activities, 2 modes per activity and 3 possible durations per mode is converted into an RCPSPMM, the number of modes for each activity in the converted RCPSPMM becomes 6. Consequently, the number of possible activity±mode combinations is 610 . The number of combinations quickly grows to 820 if the number of nondummy activities and the possible durations per mode are increased to 20 and 4, respectively. The magnitude of these numbers implies that Sprecher et al.'s algorithm, which uses a partial feasible schedule concept, can search only a very limited subset of all feasible schedules within a given time limit. Sprecher et al.'s algorithm uses several bounding rules, and the problem with using some of these bounding rules within the present context is that, it is possible that all the partial feasible schedules examined early in the procedure may be fathomed, and the procedure may reach its time limit and terminate without a feasible schedule. The purpose of including TS.E. in our computational testing was simply to demonstrate that a somewhat dierent approach is necessary for devising a heuristic procedure for solving the newly de®ned problem, the RCPSPMCM. In Tables 3 and 4, the average percent gap is computed over the number of problems for which the heuristic in question could obtain a feasible schedule. For each heuristic procedure, the ®rst entry in Table 3 is the average percent gap, and the second entry gives the number of problems (out of 10) for which an optimal schedule was obtained. The numbers in brackets in the T-S.E. column indicate the number of problems (out of 10) for which the heuristic failed to ®nd a feasible schedule within the speci®ed time limit. Optimal objective values for the problems reported in Table 4 were not available. Accordingly, in computing the average percent gap, instead of the optimal objective value, the best value obtained by the three heuristic procedures was used. Again for each heuristic procedure, the ®rst entry
257
Table 3 Comparison of heuristics, (J ) 2) 6 20 (J ) 2)
E.A.H
T-E.A.E.
10
0.64 5 0.42 4 1.26 6 0.49 3 0.48 3 0.93 2
4.09 4 8.29 1 12.19 2 17.88 1 14.41 0 13.39 0
12 14 16 18 20
T-S.E. 10.49 6 13.54 1 15.28 1 26.21 (4) 0 21.52 (3) 0 33.89 (3) 0
is the average percent gap, and the second entry gives the number of problems (out of 10) in which the heuristic found the best objective value. The numbers in brackets in the T-S.E. column indicate the number of problems (out of 10) that the heuristic failed to ®nd a feasible schedule within the time limit. As shown in Tables 3 and 4, E.A.H. performed the best among three heuristic procedures in all the test problem sets. 5. Conclusions In this paper we considered the resource constrained project scheduling problem with multiple crashable modes. This problem is dierent from the multi-mode resource constrained project scheduling problem in that activity duration within an execution mode can be shortened by allocating more funds to the activity. Therefore, the Table 4 Comparison of heuristics, (J ) 2) > 20 (J ) 2)
E.A.H
T-E.A.E.
25
0.00 10 0.07 9 0.00 10 0.00 10
20.89 0 26.95 0 20.44 0 29.54 0
30 40 50
T-S.E. 33.39 (9) 0 7.40 (7) 1 N/A (10) 0 N/A (10) 0
258
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259
RCPSPMCM is a natural combination of two well-known and well-studied project scheduling problems, the RCPSP and the TCTP. Given the known diculty of the RCPSP, it is no surprise that the RCPSPMCM is a dicult problem to solve. The objective is to determine the execution mode, duration and start time of each project activity so that the sum of activity costs and the penalty cost for completing the project beyond its due date is minimized. We presented a multi-pass heuristic procedure for solving the RCPSPMCM. The heuristic starts with a feasible schedule and tries to improve it by applying the six improvement rules that were introduced in this paper. The performance of the presented heuristic procedure was compared with the truncated exact solution procedure of Erenguc and Ahn (which is designed to solve the RCPSPMCM) and with the truncated exact solution procedure of Sprecher et al. (which is designed to solve the RCPSPMM). Computational experiments were performed with 100 problem instances generated by the well-known problem generator ProGen. Our heuristic procedure was tested against the two truncated exact solution methods and was shown to outperform them for the problem instances considered. Appendix A. Modi®cations for Sprecher et al.'s algorithm The RCPSPMCM is transformed to the RCPSPMM by considering each possible duration within a mode (as de®ned in the RCPSPMCM) as a distinct mode (as de®ned in the RCPSPMM). Thus, each mode (as de®ned in the RCPSPMM) has a ®xed duration and a ®xed cost. In what follows, the term ``mode'' is used as de®ned in the RCPSPMM. Since our objective is the minimization of the project cost and since the objective considered in Sprecher et al. (1994) is the minimization of the project completion time, some of the bounding rules used in Sprecher et al. have to be modi®ed. Here we assume that the reader is familiar with the Sprecher et al. paper, and therefore present only the necessary modi®cations.
Bounding rule 1 is designed to fathom the current partial feasible schedule if the schedule cannot have an improved project completion time. Since our concern is the project cost, we modify this rule as: ®nd the least project cost in the partial feasible schedule. The least project cost is calculated as follows: (i) If an activity j is already scheduled, then the cost corresponding to the chosen mode is added, otherwise the minimum mode cost among the available modes for activity j is added, and (ii) The late penalty cost is added if the earliest project completion time is longer than the project deadline. In ®nding the earliest project completion time, if activity j is already scheduled the duration for its selected mode is used, otherwise the minimum duration among its available modes is used. Bounding rule 2 is the application of the nonexecutable mode, the inecient mode and the redundant nonrenewable resource concepts. Since we consider only one type of nonrenewable resource, i.e., activity cost, and since activity cost is considered in the objective function, there is no non-executable mode with respect to a nonrenewable resource, nor is there a redundant nonrenewable resource. In Bounding rule 3, feasibility with respect to nonrenewable resources is checked. Since activity cost is considered in the objective function, this rule cannot be applied in the modi®ed algorithm. The bounding rules 4±7 are applied without any modi®cation. References Ahn, T., 1994. Resource Constrained Project Scheduling Problem with Time/Cost Trade- Os: The Multimode Case. PhD Dissertation, University of Florida, Gainesville, FL 32611. Ahn, T., Erenguc, S., 1995. Resource constrained project scheduling problem with multiple crashable modes ± An exact solution method. Working Paper Series #95±101, Department of Decision and Information Sciences, University of Florida, Gainesville, FL. Berman, E.B., 1964. Resource allocation in a PERT network under continuous activity time±cost functions. Management Science 10, 734±745. Boctor, F.F., 1990. Some ecient multi-heuristic procedures for resource-constrained project scheduling. European Journal of Operational Research 49, 3±13. Boctor, F.F., 1993. Heuristics for scheduling projects with resource restrictions and several resource-duration modes.
T. Ahn, S.S. Erenguc / European Journal of Operational Research 107 (1998) 250±259 International Journal of Production Research 31, 2547± 2558. Christo®des, N., Alvarez-Valdes, R., Tamarit, J.M., 1987. Project scheduling with resource constraints: A branch and bound approach. European Journal of Operational Research 29, 262±273. Davis, E.W., Patterson, J.H., 1975. A comparison of heuristic and optimum solutions in resource constrained project scheduling. Management Science 17, 944±955. Demeulemeester, E.L., Herroelen, W.S., 1992. A branch and bound procedure for the multiple resource-constrained project scheduling problem. Management Science 38, 1803±1818. Demeulemeester, E.L., Herroelen, W.S., Elmaghraby, S.E., 1993. Optimal procedures for the discrete time/cost trade-o problem in project networks. Research Report, Department of Applied Economics, Katholieke Universiteit Leuven, Belgium. Drexl, A., Gruenewald, J., 1993. Nonpreemptive multi-mode resource constrained project scheduling. IIE Transactions 25, 74±81. Falk, J.E., Horowitz, J.L., 1972. Critical path problems with concave cost curves. Management Science 19, 446±455. Fulkerson, D.R., 1961. A network ¯ow computation for project cost curves. Management Science 7, 167±178. Kelly, J.E., 1961. Critical path planning and scheduling: Mathematical basis. Operations Research 9, 296±320. Kolisch, R., Sprecher, A., Drexl, A., 1992. Characterization and Generation of a General Class of Resource-Constrained Project Scheduling Problems: Easy And Hard Instances. Manuskripte aus den Instituten f ur Betriebswirtschaftslehre der Universitat Kiel, No. 301. Lamberson, L.R., Hocking, R.R., 1970. Optimum time compression in project scheduling. Management Science 16, 597±606. Patterson, J.H., 1976. Project scheduling: The eects of problem structure on heuristic performance. Naval Research Logistics Quarterly 23, 95±123.
259
Patterson, J.H., Huber, W.D., 1974. A horizon-varying, zeroone approach to project scheduling. Management Science 20, 990±998. Patterson, J.H., Roth, G., 1976. Scheduling a project under multiple resource constraints: A zero-one approach. AIIE Transactions 8, 449±456. Patterson, J.H., Slowinski, R., Talbot, F.B., Weglarz, J., 1989. An algorithm for a general class of precedence and resource constrained scheduling problems. In: Slowinski, R., Weglarz, J. (Ed.), Studies in Production and Engineering Economics, vol. 9: Advances in Project Scheduling. Elsevier, Amsterdam, pp. 3±28. Patterson, J.H., Slowinski, R., Talbot, F.B., Weglarz, J., 1990. Computational experience with a backtracking algorithm for solving a general class of precedence and resource constrained scheduling problems. European Journal of Operational Research 49, 68±79. Sprecher, A., 1994. Resource-Constrained Project Scheduling: Exact Methods for the Multi-Mode Case, Lecture Notes in Economics and Mathematical Systems 409, Springer, Berlin. Sprecher, A., Hartmann, S., Drexl, A., 1994. Project Scheduling with Discrete Time±Resource and Resource±Resource Tradeos, Manuskripte aus den Instituten f ur Betriebswirtschaftslehre der Universit at Kiel, No. 357, Olshausenstraûe 40, 24118 Kiel, Germany. Stinson, J.P., Davis, E.W., Khumawala, B.M., 1978. Multiple resource-constrained scheduling using branch and bound. AIIE Transactions 10, 252±259. Talbot, F.B., 1982. Resource-constrained project scheduling with time-resource tradeos: The nonpreemptive case. Management Science 28, 1197±1210. Talbot, F.B., Patterson, J.H., 1978. An ecient integer programming algorithm with network cut for solving resource constrained scheduling problems. Management Science 24, 1163±1174.