Asia-Pacific Journal of Operational Research 20 (2003) A HEURISTIC SEARCH ALGORITHM FOR SOLVING RESOURCE-CONSTRAINED PROJECT SCHEDULING PROBLEMS

Asia-Pacific Journal of Operational Research 20 (2003) A HEURISTIC SEARCH ALGORITHM FOR SOLVING RESOURCE-CONSTRAINED PROJECT SCHEDULING PROBLEMS M Kam...
7 downloads 0 Views 165KB Size
Asia-Pacific Journal of Operational Research 20 (2003) A HEURISTIC SEARCH ALGORITHM FOR SOLVING RESOURCE-CONSTRAINED PROJECT SCHEDULING PROBLEMS M Kamrul AHSAN and De-bi TSAO Department of Industrial Engineering and Management Tokyo Institute of Technology Ookayama 2-12-1, Meguro-ku, Tokyo 152-8552, Japan

This paper presents an artificial intelligence based heuristic search algorithm for resource-constrained project scheduling problems. The search process starts from an empty schedule and ends in a complete schedule. The procedure follows a stepwise generation of partial schedules that are connected by a lower bound on completion of unscheduled activities. A higher value of lower bound in a new partial schedule needs to update the search path with backtracking. We propose a composite multi-criteria search technique (CMST) to determine new partial schedules at each step. CMST combines three criteria instead of the single selection criterion of the previously developed search and learn A* (SLA*) algorithm. Our objective is to comparatively reduce the number of backtrackings and adapt the algorithm for approximate solutions of large problems. The performance of CMST is analyzed for different problems and different weights of the three criteria. Results show that the proposed CMST reduces backtracking as well as computational time to a large extent compared to SLA* with optimal or very close to optimal solution. Keywords: Resource-constrained project scheduling, search algorithms, heuristics, computational intelligence.

1. Introduction Solution techniques for resource-constrained project scheduling problems (RCPSP) can be classified into optimization techniques and heuristic techniques. The optimization approach provides optimal solutions, but consumes considerable computation time and can be computationally intractable for problems of significant size. Alternatively, for real life problems heuristic algorithms provide satisfactory solutions within reasonable computation time. Optimal approaches are used to validate, compare and benchmark the solutions given by heuristics. The solution quality of the heuristic algorithm is usually considered as a trade off against computation Received May 2002, revised version received October 2002. 1

Resource-Constrained Project Scheduling Problems time i.e., the higher the quality, the longer the computation time. The advent of RCPSP has led to the proposal of several exact and heuristic techniques. The majority of methods for exact solutions utilize implicit enumeration with branch and bound procedures. Recent competitive optimal solutions are those of Demeulemeester and Herroelen (1992, 1997), Brucker et al. (1998), Mingozzi et al. (1998) and Sprecher (2000). Other exact solution approaches include best-first branch and bound of Stinson et al. (1978) and breadth-first branch and bound of Christofides et al. (1987). Performance of these methods greatly depends on proper selection of lower bound. State-of-the-art methods of computing lower bound are discussed in Klein and Scholl (1999), and Brucker and Knust (2000). Among the exact solutions, the Demeulemeester and Herroelen (DH) (1992) procedure became the benchmark for solving Patterson’s (1984) 110 test problems. Demeulemeester and Herroelen (1997) reduced computational effort of their early work further. However, from 480 state-of-the-art instances of Kolisch et al. (1995, 1996) only small-sized and medium-sized problem instances with up to 30 jobs can be solved exactly in a satisfactory manner. These disappointing results of exact procedures indicate the need of heuristics to find better near-optimal results. Recently proposed heuristics for RCPSP are priority rules heuristics (Boctor, 1990; Kolisch, 1996; and Kolisch and Hartmann, 1999), truncated branch and bound heuristics (Alvarez-Vald´es and Tamarit, 1989; PollackJohnson, 1995; and Sprecher, 2000) and meta-heuristics (Lee and Kim, 1996; Baar et al., 1997; Hartmann, 1998; and Bouleimen and Lecocq 1998). A specific overview of heuristics has been given by Hartmann and Kolisch (2000). The best heuristics found are meta-heuristics, namely the activity list based simulated annealing of Bouleimen and Lecocq (1998) and the permutation based genetic algorithm of Hartmann (1998). Artificial intelligence search heuristics also show potential in solving RCPSP. Bell and Park (1990) first employed A* with a resource allocation approach for RCPSP. Their work represents a new approach in solving RCPSP. The heuristic follows a state transition process generating a sequence of arcs evaluated by heuristic function. A basic extension of A* is learning-real-time-A* (LRTA*) developed by Korf (1990). LRTA* algorithm requires successive problem solving trials to learn exact heuristic function values. To solve the problem of repetitive application of LRTA*, Zamani and Shue (1998a, 1998b) proposed search and learn A* (SLA*) algorithm with a search path review component through backtracking. The performance of SLA* algorithm shows that it can solve most of Patterson’s 110 problems optimally within reasonable time. However, the review process through backtracking makes the algorithm computationally intractable. For complex project networks with tight resource constraint, the algorithm usually 2

M. K. Ahsan and D. Tsao causes considerable increase in search effort. During new partial schedule selection process without considering resource utilization the algorithm only considers single criterion of candidate partial schedules. Conversely, higher resource utilization under the present partial schedule may increase possible number of parallel processing activities in the next scheduling step and also reduce project duration. The weak points of SLA* motivated us to improve the algorithm and obtain a better solution with less computational effort. Our problem in this paper falls into non-preemptive, renewable, deterministic and constant level single resource-constrained project scheduling problems. Instead of the single criterion based SLA* algorithm we introduce a composite multi-criteria search technique (CMST) to select the most suitable partial schedule. CMST is a weighted sum of three individual criteria: (1) resource utilization, (2) total heuristic estimate, and (3) number of parallel processing activities. The first criterion, resource utilization is considered as one of the most important factors. Activities that utilize more resources may generate numerous parallel processing activities in the remaining schedule, which leads to shorter project completion time and reduced number of backtrackings. Our second criterion, total heuristic estimate directly measures the objective of the problem, the lower bound in completion of unscheduled activities, and is similar to critical path method lower bound. The last criterion, the number of parallel processing activities improves solution quality by reducing combinations of activities in the remaining schedule. Sufficient emphasis should be given to the number of parallel processing activities rather than giving a weak priority after the total heuristic estimate. We generate a composite multi-criteria (CMC) giving different priority of weights for the three criteria. The remainder of this paper is organized as follows. In Section two, we explain the proposed CMST. In Section three, we give a numerical example of our proposed algorithm. In Section four, we show computational results for different test problems with varying weights of individual criterion in CMC. We also perform further analysis to observe CMST performances with systematic problem parameters. Finally in Section five, we discuss conclusions and recommend future research.

2. Proposed Heuristics Our search problem is an artificial intelligence based heuristic algorithm that uses both the best-first and backtracking concepts. The basic search process of CMST is guided by LRTA* and SLA* algorithms. A formal discussion of these algorithms is essential before we proceed to CMST. 3

Resource-Constrained Project Scheduling Problems 2.1. Previous definitions and concepts Search problems in artificial intelligence based heuristics require formulation of an initial state, a set of goal states, and a set of operators. An operator transforms a state into another state. Performance of the search algorithm greatly depends on the use of a heuristic evaluator that estimates the distance of each state relative to goal state. As the evaluator is based upon heuristics the algorithm is called heuristic search algorithm. Like other artificial intelligence based heuristics, Korf (1990) developed LRTA* with a heuristic estimate and a set of operators. The main features of LRTA* include non-overestimating initial heuristic estimate and learning of more accurate heuristic values by a heuristic evaluator. For a state, the initial heuristic estimate represents the distance of that state from goal state and a heuristic evaluator represents the sum of its heuristic estimate to the goal state and costs of the operator that transform the state to a new state. The search process starts by comparing heuristic estimate of initial state with heuristic evaluators of neighboring states. Subsequently the neighboring state with minimum heuristic evaluator is chosen for a new parent state. A smaller heuristic estimate of the initial state is updated with the new state’s heuristic evaluator for more accurate heuristic values. The algorithm continues to expand the search path from the new parent state to the goal state. However, the search path does not use the updated heuristic estimate and needs successive solving trials to reach optimal solution. Repetitive trial for optimal solution of the LRTA* algorithm has been solved by Zamani and Shue (1998a, 1998b) in search and learn A* (SLA*) algorithm. In SLA*, a state determines a partial schedule where some of the activities have already started. An operator generates new partial schedules and the cost of any new partial schedules depends on the state transformed from. The cost of an operator is defined as the minimum time required to complete at least one of the incomplete activities of the state. Each state is represented by a total heuristic estimate as a lower bound of its completion time that can be obtained by summing the cost of operator and heuristic estimate of that state to the goal state. For SLA*, Zamani and Shue (1998a) used the lower bound of a state as the larger of the following approaches: (1) resource based lower bound ignoring precedence constraints, and (2) critical path method (CPM) based lower bound ignoring resource constraints. For a single resource case, the best estimate is CPM technique. The search process progresses through stepwise generation of a series of consecutive parent states until all activities are scheduled or until any updating of total heuristic estimate of a new parent state occurs (based on LTRA*). For updating, if the state is not initial state, backtracking occurs from the new parent state and its immediate parent state will be4

M. K. Ahsan and D. Tsao come the new parent state. The main contribution of SLA* is the search path review process with backtracking and updated total heuristic estimate utilization in the same problem from which they originated. However, the search path review process requires considerable number of backtrackings, which proportionally take more computation time. As there is room for further improvement of SLA* we propose a composite multi-criteria search technique (CMST). 2.2. Composite multi-criteria search technique (CMST) To present our proposed heuristic we have to define some terms within the description. In CMST a state represents a partial schedule with three types of activity sets: (1) scheduled activities set, (2) in-progress activities set, and (3) unscheduled activities set. When one of the in-progress activities of a state is completed it releases occupied resources and moves to the scheduled set. Consecutively to generate a new state an operator schedules both precedence and resource feasible new activities from an unscheduled set. The process is called state-transition and the maximum possible statetransition level in CMST is equal to the number of activities to be scheduled. The search path starts at the root state (initial state) and ends at the goal state. The root state is an empty schedule where all the activities are in unscheduled set and the goal state is a complete schedule where all the activities are transformed into scheduled set. Between the two states the search process generates a series of successive parent states. The process assumes that source and sink activities are two dummy activities with zero resource occupancy and zero time consumption. The parent or front states are recorded on an open list of backtrackings, and are connected through a total heuristic estimate. The main contribution of CMST is the new front state selection process from a front state. Among the child states of a front state, values of the composite multi-criteria (CMC) (more details in sub-section 2.2.1) are calculated by weighting order scores of resource utilization, total heuristic estimate and the number of parallel processing activities. The child state with the best value of CMC is selected as the new front state. At this stage, total heuristic estimate of the new front state is compared with that of its parent state. The comparison between the front states is based on SLA* and results in heuristic learning with backtracking or no heuristic learning. Heuristic learning arises in a parent state when there is an increase of total heuristic estimate at its new front state. Once heuristic learning occurs, the updated front state is removed from the open list. The backtracking propagates until it reaches the root state or the state where no heuristic learning is recorded. No heuristic learning occurs if total heuristic estimate of the new front state is not greater than that of the front state. The selected 5

Resource-Constrained Project Scheduling Problems state will be the new front state and the state is put on top of the open list, thus completing state transition. 2.2.1. Composite multi-criteria (CMC) CMC is a multi-criteria rank index to select a new front state. Within this index we emphasize different criteria of a partial schedule together and combine it into an absolute composite value. The use of a single criterion for new front state selection in big scale problems may have two drawbacks: (1) resources cannot be utilized efficiently in the early period, and (2) few parallel processing activities are scheduled in the early period. These problems cause misleading front state selection and increased backtracking. To cope with these shortcomings, we give emphasis on more than one criterion during new front state selection process. By adopting CMC, the proposed CMST increases flexibility. For example, by changing weights we can put more emphasis on resource utilization, or total heuristic estimate, or the number of parallel processing activities. We calculate the CMC value by using the following equation: CM C =

3 X i=1

wi Ii ; with wi ≥ 0 ∀ i and

3 X

wi = 1

(1)

i=1

where wi denotes weights for all i, indices Ii denotes ranks for all I and i = 1, 2, 3 represents resource utilization, total heuristic estimate, and the number of parallel processing activities respectively. For a state x, we determine total heuristic estimate as HT (x) = C(x) + H(x), where C(x) is the cost of operator and H(x) is the heuristic estimate of x to the goal state. Resource utilization of a state is considered within the present state transition time to the next state transition time and the calculation of number of parallel processing activities is straightforward. We evaluate the criterion individually and construct each into a unit less function in CMC. The relative importance of the criteria can be combined by using a rank index or by an absolute value. In this paper, we use the rank index for simple scale transformation. These ranking values are composed into one CMC value, suppose there are three possible combinations of feasible activities X, Y, Z that could be scheduled beyond a given front state. The values of resource utilization, total heuristic estimate and the number of parallel processing activities are given by (97,80,99), (20,23,19) and (1,1,2) respectively. Accordingly the proposed CMC, ranking values will be (2,1,3), (2,1,3) and (1,1,2) respectively. If we give equal weights for all three criteria, then we can calculate CMC values, to obtain, ((2 + 2 + 1)/3, /(1 + 1 + 1)/3, (3 + 3 + 2)/3) or (5/3,3/3,8/3). Obviously, Z is the best activity combination. 6

M. K. Ahsan and D. Tsao 2.2.2. Algorithm of CMST The search process of CMST starts from the root state and terminates at goal state with a complete schedule. The procedure follows a stepwise generation of series of states and the steps of the CMST algorithm are as follows. Step 1: Determine initial heuristic estimate for all states, x. Put the root state (as front state) on top of the open list and calculate its heuristic estimate H(x). Go to Step 2. Step 2: Call the front state x from the open list. If x is the goal state, go to Step 7, else continue. Step 3: List all child states of x and calculate CMC values as equation (1). Step 4: Select the child state x0 with the largest CMC value, and break the tie arbitrarily. Step 5: Compare total heuristic estimate of selected child state HT (x0 ) and the front state HT (x): If HT (x) ≥ HT (x0 ), then no heuristic learning occurs and x0 will stack on the open list. Otherwise, heuristic learning occurs with backtracking and if x is not the root state remove x from open list. Step 6: Return to Step 2 for next state-transition. Step 7: Terminate the search process and output complete schedule associated with state x. Step 8: End. 3. Numerical Example The test problem of Figure 1 consists of 8 activities including source and sink activities with limited single resource capacity of five. We assume that addition of source and sink activities eliminates the step of considering the dead end state in SLA*. In the figure, the activity number is written inside the circle representing the activity while the duration of the activities, the available resources, and initial heuristic estimates are shown in brackets under the activity numbers respectively. We applied CMST with equal weights of all three criteria of CMC. The generated search process is shown in Table 1, where the activities (scheduled, in-progress, unscheduled) within a state are shown separated by a comma within brackets. The heuristic search process starts from the root state (1,,2345678). Total heuristic estimate of this state is the same as the maximum initial heuristic estimate of succeeding activities. We let the longest path from activities 2,3,4 to the sink activity 8 be the heuristic estimate of the root state. Since the heuristic estimates of the activities 2,3 and 4 are 11,8 and 6 respectively, we take the longest path 11 to be total heuristic estimate of the front state. 7

Resource-Constrained Project Scheduling Problems

Legend: activity no. (activity duration, resources available, initial heuristic estimate) Figure 1. Precedence diagram of the example problem Total heuristic estimates of the child states (2,3,4 and 2,3) are 1 + max (10, 8, 6) = 11, 1 + max(11, 6) = 12, 6 + max (11, 8) = 17, and 1 + max (10, 6) = 11 respectively. The corresponding percentage of unutilized resource for the child states are (5 − 1)/(5) = 80, (5 − 1)/(5) = 80, (5 − 5)/(5) = 0 and (5−1−1)/(5) = 60. Maximum number of parallel processing activities are 1, 1, 1 and 2 respectively. Therefore, ranks for the child states based on total heuristic estimate, resource utilization and the number of parallel processing activities are (3,2,1,3), (1,1,3,2) and (1,1,1,2) respectively, and the values of CMC are (5/3, 4/3, 5/3, 7/3). The maximum rank is 7/3 for the child state [1,23,45678], with a total heuristic estimate of 11. Total heuristic estimate of the selected child state is equal to total heuristic estimate of the front state, so no heuristic learning occurs in this stage. The new front state [1,23,45678] is stacked on the open list. The next activity is completed at time 1, therefore, the next search starts at time 1 from [123,,45678]. At that time, feasible activity combinations of parallel processing activities are 4 and 5. Using the same procedure ranks are determined. In this stage, both the child states have same rank 4/3, thus tie is broken randomly. Without any heuristic learning the selected child state is [123,5,4678] for the next iteration. Continuing this process, we find first heuristic learning at time 5 at the front state [1235,6,478] the total heuristic estimate 11 is updated to 17. These states are detached from the open list. Further searching starts from the state [123,5,4678] and heuristic learning propagates backwards until the root state [1,,2345678]. At this state there are four alternative child states. According to CMST, the most attractive child state is [1,4,235678] having maximum CMC value 5 with total heuristic estimate 17, percentage of unutilized resource 0, and number of parallel processing activities 1. But in case of SLA* algorithm the most attractive state is [1,2,345678] with total heuristic estimate 11. In this way the two search techniques differ from each other and move towards the goal 8 state with different search path or speed. We solved this example using SLA* algorithm, and found optimal solution after 18 backtrackings. But the proposed CMST takes only four backtrackings for the same optimal solution. The proposed CMST reduces the number of backtrackings as well as computational time to a large extent, thus CMST can be seen to work better than SLA*. Table 1. Search process of the numerical example

M. K. Ahsan and D. Tsao

No.of Next heuristic state learning selection time 0

0

1 4 1

5

2

4

3

1

4

0

0

1 7 10 11 17 17 17

Front state Child state [scheduled, CMC Heuristic [scheduled, in-progress, unscheduled]value/3 learning in-progress, total heuristic estimate, with unscheduled] percent of unutilized backtracking total heuristic resource, no. of parallel estimate processing activities [l,,2345678]11 [1,2,345678]11,80,1 5 [1,3,245678]12,80,1 4 [1,4,235678]17, 0,1 5 [1,23,45678]11,60,2 7 No learning [1,23,45678]11 [123,4,5678]17, 0,1 4 [123,5,4678]11,20,1 4 No learning [123,5,4678]11 [1235,4,678]17, 0,1 4 [1235,6,478]11,40,1 4 No learning [1235,6,478]11 [12356,4,78]17, 0,1 4 [1235,6,478]17 [12356,7,48]17,60,1 3 [123,5,4678]11 [1235,4,678]17, 0,1 4 [123,5,4678]17 [1235,6,478]17,40,1 3 [1,23,45678]11 [123,4,5678]17, 0,1 4 [1,23,45678]17 [123,5,4678]17,20,1 3 [1,,2345678]11 [1,2,345678]11,80,1 5 [1,3,245678]12,80,1 4 [1,4,235678]17, 0,1 5 [1,,2345678]17 [1,23,45678]17,60,2 5 [1,,2345678]17 [1,2,345678]11,80,1 5 [1,3,245678]12,80,1 4 [1,4,235678]17, 0,1 5 [1,23,45678]17,60,2 5 No learning [1,23,45678]17 [123,4,5678]17, 0,1 4 No learning [123,5,4678]17,20,1 3 [123,4,5678]17 [1234,5,678]17,20,1 1 No learning [1234,5,678]17 [12345,6,78]17,40,1 1 No learning [12345,6,78]17 [123456,7,8]17,60,1 1 No learning [123456,7,8,]17 [1234567,8,]17, 0,1 1 No learning [1234567,8,]17 [12345678,]17 1 No learning [12345678]17 End

4. Computational Results and Analysis In the Sections 2 and 3, we explained the algorithm of the proposed CMST, and showed its effectiveness through an example. However, to ob9

Resource-Constrained Project Scheduling Problems serve performance in more details, we solved different problems from Patterson’s data set. Since Patterson collected the data set from literature, every instance has a different value of measures and the data set has only a few single resource problems. With slight modification from multiple resource cases we generated instances for single resource cases. We obtained 50 problems with different problem parameters: Problem Scale (PS), Network Complexity (NC), Resource demand Factor (RF) and Resource Strength (RS). Problems consist of P S ∈ (9, 13, 14, 18, 22, 27, 51) with different values of RS ∈ (0.0 ∼ 1.0), N C ∈ (1.1 ∼ 1.63) and RF ∈ (0.17 ∼ 0.58). We choose the parameters because for a particular problem type NC and PS measure the problem characteristics while RF and RS measure the problem complexity. Moreover, NC is likely to have effect on the number of parallel processing activities, and RF and RS are assumed to have a relationship with resource utilization. NC implies the average number of non-redundant precedence relations per node of a network including the dummy activities. PS is the project size or number of activities in a project. RF of a resource type indicates the average portion of that resource used for a non-dummy activity with a non-zero resource demand. RS defines scarcity of resources and measures strength of resources of a category. Details about NC, PS, RF and RS can be found in Kolisch et al. (1995) and Alvarez-Vald/’es and Tamarit (1989). 4.1. Performance of CMST for different problems We solve 50 problems to observe the behavior of CMST for different values of the three CMC weights. The experiments have been performed on a Pentium-based IBM-compatible personal computer with 2.2 GHz clockpulse and 512 MB RAM. The SLA* and CMST have been coded in C, compiled with the Microsoft Visual C++ compiler. We choose four combinations of CMC weights, emphasizing individual criterion and assigning same weights for all three criteria. Combinations of the weights are shown in Table 2. The performances of the heuristics are observed in terms of percentage of backtracking reduction (100%*(backtracking for SLA*-backtracking for CMST)/backtracking for SLA*) and solution quality. We calculate the number of backtrackings as the larger the number of backtrackings, the longer the computation time. Summary of computational results for different heuristics are shown in Table 2.

10

M. K. Ahsan and D. Tsao Table 2. Computational results for different combinations of CMC weights Weights

Average StandardOptimal backtrackingdeviation cases Combination Total Resource Parallel reduction (%) (Heuristics) heuristicutilizationprocessing (%) estimate activities Combination1 1/2 1/4 1/4 70.0 18.65 86.0 (H1) Combination2 1/4 1/2 1/4 81.0 20.00 50.0 (H2) Combination3 1/4 1/4 1/2 81.0 15.77 72.0 (H3) Combination4 1/3 1/3 1/3 80.0 15.79 74.0 (H4) As can be seen from Table 2, all combinations (H1, H2, H3, H4) reduce the number of backtrackings on average more than 70%. H2 performs best for average backtracking reduction (81.23%) but performs worst for the ratio of optimal cases (50%). In contrast, H1 performs best for the ratio of optimal cases (86%), and performs worst for average backtracking reduction (70.45%). H3 and H4 perform almost the same, and have significantly better performance considering average percentage of backtracking reduction, standard deviation, and ratio of optimal cases. These results indicate that if we prefer robust and significantly better performance, then we should give same weights for all three criteria, or more emphasis on the number of parallel processing activities. For the same weights of all three criteria (H4) details of computational results are presented in Table 3. We calculate the number of backtrackings as well as the computation time and make span (solution quality). We compute CPU time to verify the analogy that the larger the number of backtrackings, the longer the computational time. The result indicates that with respect to solution quality out of a total of 50 problems, CMST provides optimal solutions for 37 problems, and gives near optimal solutions for 13 problems, whereas the ratio of difference of the solution quality (near optimal-optimal/near optimal) ranges between 0.025 (problem number 30) and 0.069 (problem number 42) with average ratio 0.037 and standard deviation 0.012. This means that the proposed CMST sacrifices solution quality very slightly, while number of backtrackings as well as computational time are reduced by several hundred percent. Computational experiments show that CMST can solve the problems very quickly with an average CPU time of less than a quarter of a second. On the other hand, SLA* requires more computational time with an average CPU time of nearly 49 seconds. Besides, the proposed algorithm can 11

Resource-Constrained Project Scheduling Problems reduce computational time by 77% on average. Again, in terms of number of backtrackings the proposed CMST performs much better than SLA*. The backtracking reduction ranges between 7 (problem number 8) and 25606 (problem number 13 or Patterson’s problem number 14), while the ratio of reduction (reduction number/number of backtrackings of SLA*) ranges between 0.35 and 0.98, with average reduction ratio 0.80 and standard deviation 0.16. The coefficient of variation (CV) is 5.0, and this large CV indicates that CMST works well for certain problems and not so well for others. We further investigate CMST performance by introducing other problem parameters. Table 3. Computational results for CMST and SLA* algorithm No.

No. of

CPU time

backtracking

(Sec)

Make span

No.

SLA CMST SLA CMST SLA CMST Optimal

No. of

CPU time

backtracking

(Sec)

Make span

SLA CMST SLA CMST SLA CMST Optimal

1

215

61

0.64 0.34

23

23

23

26 284

40

1.31 0.22

35

36

35

2

513

137

2.0

0.43

26

26

26

27

22

0.40 0.15

34

34

34

3

70

15

0.18 0.06

19

19

19

28 1901

376

20.8 1.55

37

37

37

4

26

13

0.09 0.09

18

18

18

29 2271

65

38.4 0.29

30

31

30

5

697

73

1.9

0.23

23

23

23

30 4763

467

132

1.79

40

41

40

6

12

4

0.09 0.06

18

18

18

31

72

24

0.32 0.12

32

32

32

7

97

8

0.20 0.06

21

21

21

32

30

19

0.15 0.12

33

33

33

66

8

16

9

0.06 0.05

19

19

19

33 3053

144

35.0 0.45

30

31

30

9

236

56

0.50 0.12

25

26

25

34 681

19

3.39 0.12

29

29

29

10

39

11

0.14 0.11

10

10

10

35 351

27

0.75 0.20

31

31

31

11

98

16

0.62 0.14

20

20

20

36 270

92

1.09 0.29

42

42

42

12

47

10

0.15 0.06

11

1l

11

37 137

52

0.51 0.20

39

39

39

13 25922

365

4048 1.73

43

45

43

38

15

0.15 0.11

31

31

31

14 6170

380

193

1.28

43

43

43

39 1923

255

13.7 0.75

43

43

43

15

23

100

24

20.8 0.19

35

35

35

40 976

114

5.12 0.34

35

36

35

16 2303

282

30.2 0.92

25

25

25

41

13

0.21 0.09

25

25

25

17 1041

90

7.20 0.29

23

23

23

42 1483

84

14.0 0.36

27

29

27

18 1544

164

10.7 0.53

22

22

22

43 647

56

3.9

0.20

26

26

26

19 1370

172

8.57 0.55

20

21

20

44 9736

261

292

0.78

30

30

30

20 3232

678

142

81

81

81

45 1703

87

10.5 0.36

29

30

29

21

125

2.03 0.39

36

37

36

46

49

16

0.23 0.14

22

22

22

22 6646

52

381

10

10

10

47

49

18

0.31 0.12

24

24

24

23

186

33

1.25 0.23

9

9

9

48 1377

71

10.4 0.23

24

24

24

24

892

37

10.0 0.26

9

9

9

49 1377

115

9.9

0.34

24

25

24

25

616

41

2.85 0.16

28

29

28

50 376

83

1.79 0.29

23

23

23

12

445

8.6

0.34

45

M. K. Ahsan and D. Tsao 4.2. Influence of different problem parameters In this subsection, we perform analysis of variance (ANOVA) to investigate the performances of CMST for the four problem parameters PS, NC, RF and RS. With the aim of a full factorial experimental design the levels of the parameters are systematically altered. The levels are as follows: P S ∈ {low (9 ∼ 18), high (22 ∼ 51)}, N C ∈ {low (1.05 ∼ 1.15), high (1.4 ∼ 1.67)}, RF ∈ {low (0.27 ∼ 0.35), high (0.36 ∼ 0.60)}, and RS ∈ {low (0.0 ∼ 0.33), high (0.38 ∼ 1.0)}. We carry out one replication for each one of the 2*2*2*2 treatments (PS*RS*RF*NC). In total we obtain 16 instances from the 50 problems. Our purpose is to investigate main effects and pair-wise cross effects of four problem parameters on CMST performance. The CMST performance is observed in terms of percentage of backtracking reduction. We found from ANOVA that the main effects of PS, RS and RF on CMST performance are significant at 5% level. The cross effects between RF and PS, and RS and PS are also significant at 5% level. The analysis detects that the effect of NC on CMST performance is not significant. This indicates that CMST performance has no relation with different NC values. Usually, when NC value is high, there are more precedence relations between activities. The effect of a high NC level causes a reduction in the size of the solution space. However, using CMST, possible backtracking is significantly reduced, as CMST considers CMC to select a set of parallel processing activities. In CMC whatever may be the solution space, CMST considers a composite factor to select the best combination of parallel processing activities with an appropriate total heuristic estimate. Usually NC has an effect. when there is no direction to choose the eligible activities from or there is a random selection process. Further details of CMST behavior for the main effects of RF, RS and PS are illustrated in Figures 2 to 4 respectively. The results are obtained for all the 50 test problems in terms of percentage of backtracking reduction under different values of PS, RS and RF. 4.2.1. Influence of PS Figure 2 shows results of computational experiments for different values of PS. As can be seen from the figure, percent of backtracking reduction increases with a corresponding increase in PS value. In most cases H2, H3 and H4 perform better than H1. Overall, the average percentage of backtracking reduction for the four combinations is 70% (H1), 84% (H2), 83% (H3) and 82% (H4).

13

Resource-Constrained Project Scheduling Problems

Figure 2. Influence of PS on backtracking reduction 4.2.2. Influence of RF Figure 3 shows results of computational experiments for different values of RF. When the value of RF is small, all combinations reduce a large number of backtrackings. The percentage of backtracking reduction further decreases with a corresponding increase in RF. Among the different combinations, H2 performs better than the others and from the figure the average percentage of backtracking reduction for the four combinations are 70% (H1), 81% (H2), 80% (H3) and 80% (H4).

Figure 3. Influence of RF on backtracking reduction 4.2.3. Influence of RS Figure 4 shows results of computational experiments for different values of RS. As can be seen, all combinations, H1, H2, H3 and H4 reduce more backtrackings when the RS value is small and reduce less backtrackings when RS is large. A lower value of RS can reduce more backtrackings because when resources are scarce, backtrackings increase sharply in SLA* due to incremental adjustment towards maximum resource utilization. Among the different combinations, H2 performs better than others if solution quality is ignored. From the figure the average percentage of backtracking reduction of each combination is 75% (H1), 85% (H2), 82% (H3) and 82% (H4).

14

M. K. Ahsan and D. Tsao

Figure 4. Influence of RS on backtracking reduction

5. Conclusions We present an improved algorithm of search and learn algorithm (SLA*) called a composite multi-criteria search technique (CMST). The essential point of improvement is the composite multi-criteria (CMC). CMC combines three system factors: (1) resource utilization, (2) total heuristic estimate, and (3) the number of parallel processing activities, and gives proper weights to each factor. By giving equal weights to all three CMST factors, we showed an example of the proposed algorithm that reduces a large number of backtrackings without sacrificing optimality of solution quality. To evaluate efficiency of the proposed CMST for different types of problems, we further examined 50 problems of varying problem scale (number of activity), network complexity, resource strength and resource factor. The results show that the proposed CMST reduces backtrackings more than 78% without sacrificing optimality, and more than 80% with slight sacrificing of optimality (increase of make span: worst case=5%, best case=2.5%, average=3.4%) compared to SLA*. On the other hand CMST shows gain by solving the problems within an average 0.25 seconds CPU time and reducing the computational time an average 77% compared to SLA*. We also examined influence of CMC weights, i.e., weights of resource utilization, total heuristic estimate, and the number of parallel processing activities. Four combinations are examined emphasizing individual criterion and giving same weights to all three criteria. Computational results show that with different combinations of CMC weights, CMST works differently in terms of backtracking reduction. Combination of equal weights for all three criteria and a combination emphasizing number of parallel processing activities perform significantly better compared to others. When equal weight is given to all three criteria, the outcome of CMST is optimal in 15

Resource-Constrained Project Scheduling Problems most cases and near optimal in the few remaining cases. If optimality is not achieved, the shortcoming is offset by more backtracking reduction. In this paper, we applied CMST to a single resource project scheduling case only. However, application for multiple resource project scheduling is straightforward. We can compare the algorithm with other heuristics in the literature. It can also be applied to big problems, because large problem size has significant effect on percentage of backtracking reduction. To further investigate performance of CMST we can extend this work to compare with other modern heuristics and test state-of-the-art instances mentioned in the literature. Though CMST reduces a large number of backtrackings, we think that CMST can be further improved. To reduce more computational efforts or backtrackings we emphasize improving the new front state selection method. Influence of different heuristic estimates (lower bound) can be considered as another cause of more backtrackings. We calculate heuristic estimate by using CPM based project completion time (lower bound), ignoring resource constraints. If a good heuristic estimate (lower bound of project completion time) can be obtained, then total heuristic estimate at the starting point of the search process may be closer to optimal solution. This may lead to larger step size to update total heuristic estimate during heuristic learning, thereby reaching the optimal solution faster.

6. References Alvarez-Vald´es, R. and J. M. Tamarit (1989), Heuristic algorithm for resourceconstrained project scheduling: A review and an empirical analysis, in R. Slowi´ nski and J. Weglarz, eds.: Advances in Project Scheduling, Elsevier, Amsterdam. Baar, T., Brucker, P. and S. Knust (1997), Tabu-search Algorithms for the Resource-constrained Project Scheduling Problem, Technical Report, Universit¨at Osnabr¨ uck. Bell, C. E. and K. Park (1990), Solving resource-constrained project scheduling problems by A* search, Naval Research Logistics 37, 280-318. Boctor, F. F. (1990), Some efficient multi-heuristic procedures for resourceconstrained project scheduling, European Journal of Operational Research 49, 3-13. Bouleimen, K. and H. Lecocq (1998), A New Efficient Simulated Annealing Algorithm for the Resource-constrained Project Scheduling Problem, Technical Report, Service de Robotique at Automatisation, Universit´e de Li´ege, Belgium. 16

M. K. Ahsan and D. Tsao Brucker, P., S. Knust, A. Schoo and O. Thiele (1998), A branch and bound algorithm for the resource-constrained project scheduling problem, European Journal of Operational Research 107 , 272-288. Brucker, P. and S. Knust (2000), A linear programming and constraint propagation-based lower bound for the RCPSP, European Journal of Operational Research 127, 355-362. Christofides, N., R. Alvarez-Vald´es and J. M. Tamarit (1987), Project scheduling with resource constraints: A branch and bound approach, European Journal of Operational Research 29, 262-273. Demeulemeester, E. and W. Herroelen (1992), A branch-and-bound procedure for the multiple resource-constrained projects scheduling problem, Management Science 38, 1803-1818. Demeulemeester, E. and W. Herroelen (1997), New benchmark results for the resource-constrained project scheduling problem, Management Science 43, 1485-1492. Hartmann, S. (1998), A competitive genetic algorithm for resource-constrained project scheduling, Naval Research Logistics 45, 733-750. Hartmann, S. and R. Kolisch (2000), Experimental evaluation of state-ofthe-art heuristics for the resource-constrained project scheduling problem, European Journal of Operational Research 127, 394-407. Klein, R. and A. Scholl (1999), Computing lower bounds by destructive improvement: An application to resource-constrained project scheduling, European Journal of Operational Research 112, 322-346. Kolisch, R. (1996), Efficient priority rule for the resource-constrained projectscheduling problem, Journal of Operations Management 14, 179-92. Kolisch, R. and S. Hartmann (1999), Heuristic algorithm for resource-constrained project scheduling: Classification and computational analysis, in J. Weglarz, ed.: Project Scheduling-Recent Models, Algorithms, and Applications, Kluwer Academic Publisher, Boston. Kolisch, R. and A. Sprecher (1996), PSPLIB-A project scheduling problem library, European Journal of Operational Research 96, 205-216. Kolisch, R., A. Sprecher and A. Drexl (1995), Characterization and generation of a general class of resource-constrained project scheduling problems, Management Science 41, 1693-1703. Korf, R. (1990), Real time heuristic search, Journal of Artificial Intelligence 42, 189-211. Mingozzi, A., V. Maniexxo, S. Ricciardelli and L. Bianco (1998), An exact algorithm for the resource-constrained project scheduling based on a new mathematical formulation, Management Science 44, 714-729. 17

Resource-Constrained Project Scheduling Problems Lee, J. K. and Y. D. Kim (1996), Search heuristics for resource constrained project scheduling, Journal of the Operations Research Society 47, 678689. Patterson, J. H. (1984), A comparison of exact approaches for solving the multiple constrained resource, project scheduling problem, Management Science 30, 854-867. Pollack-Johnson, B. (1995), Hybrid structures and improving forecasting and scheduling in project management, Journal of Operations Management 12, 101-117. Stinson, J. P., E. W. Davis and B. M. Khumawala (1978), Multiple resourceconstrained scheduling using branch and bound, AIIE Transactions 10, 252-259. Sprecher, A. (2000), Scheduling resource-constrained projects competitively at modest memory requirements, Management Science 46, 710-723. Zamani, R. and L-Y. Shue (1998a), Solving project-scheduling problems with a heuristic learning algorithm, Journal of the Operations Research Society 49, 709- 716. Zamani, R. and L-Y. Shue (1998b), A heuristic learning algorithm and its application to project scheduling problems, Decision System Laboratory Working Paper TR-1998-2, Department of Information System, University of Wollongong, Australia. M. Kamrul AHSAN received his M.Eng. degree in Industrial Engineering from the Asian Institute of Technology, Thailand. He has worked as an operations research analyst and as a university lecturer. Currently he is a Ph.D. student in the Department of Industrial Engineering and Management, Tokyo Institute of Technology, Japan. His research area is resourceconstrained project scheduling. De-bi TSAO is an assistant professor at Tokyo Institute of Technology, Japan. He obtained his Ph.D. from the same university in 1992, and worked for industry for several years. His research interests include project scheduling, supply chain management, and manufacturing strategy. He has published numerous research papers in international journals such as Journal of Japan Society of Operations Research, Journal of IE and Engineering Management, and Japan Industrial Management Journal.

18

Suggest Documents