# Using tabu search to schedule activities of stochastic resource-constrained projects

Post on 04-Jul-2016

212 views

TRANSCRIPT

ELSEVIER European Journal of Operational Research 1 I1 (1998) 129-141

EUROPEAN JOURNAL

OF f~MUi&~;AL

Theory and Methodology

Using tabu search to schedule activities of stochastic resource-constrained projects

Ying-Wei Tsai, Douglas D. Gemmill * Industriul und Munufucluring Systems Engineering, 205 Engineering Annex, Iowu Stute University, Ames, Iowa 50011, USA

Received 1 January 1997; accepted 1 July 1997

Abstract

In this paper, a higher level heuristic procedure tabu search is proposed to provide good solutions to resource-con- strained, randomized activity duration project scheduling problems. Our adaptation of tabu search uses multiple tabu lists, randomized short-term memory, and multiple starting schedules as a means of search diversification. The pro- posed method proves to be an efficient way to find good solutions to both deterministic and stochastic problems. For the deterministic problems, most of the optimal schedules of the test projects investigated are found. Computation- al results are presented which establish the superiority of tabu search over the existing heuristic algorithms. 0 1998 Elsevier Science B.V. All rights reserved.

Keywords; Project management; Tabu search; Scheduling theory

1. Introduction

The critical path method (CPM) and the pro- gram evaluation and review technique (PERT) were developed to solve project scheduling prob- lems with the assumption that resource availability is unlimited. However, resource availability is lim- ited in most situations. When the project is sched- uled with a given set of resources, it is difficult to find the optimal solution. Resource-constrained scheduling problems are generally NP-hard [l].

*Corresponding author. Fax: +l 515 294 3524; e-mail: n2ddg@iastate,edu.

Ozdamar and Ulusoy [2] surveyed a wide vari- ety of existing optimum-yielding techniques and scheduling heuristics for different types of re- source-constrained project scheduling problems. Because of the complexity involved in implement- ing the optimal techniques for large projects, the optimal techniques are not generally used in prac- tice. Thus, many heuristics [3-71 have been devel- oped to find acceptable solutions for resource- constrained scheduling problems in a reasonable amount of computation time.

Badiru [3] and Badiru and Pulat [4] developed the Composite Allocation Factor (CAF) for each activity which is used to determine resource allo- cation An activity that consumes more resources, lasts longer, and varies more in duration will have

0377-2217/98/$19.00 0 1998 Elsevier Science B.V. All rights reserved. PIISO377-2217(97)0031 1-l

130 Y.-W. Tscri, D. D. Gemmill I Europeun Journnl of Operutional Rtwwch 1 I1 (19%) 129-141

a larger CAF value. Activities with larger CAF values have higher priorities for resource alloca- tion. Li and Willis [5] proposed an iterative sched- uling technique. Under this technique, a project is scheduled forward and backward iteratively until there is no further improvement in the project completion time. Morse et al. [6] scheduled the project by combining existing heuristic rules. The test results indicated that the combined heu- ristics outperformed the individual heuristics. However, the solution quality obtained using heu- ristic algorithms can vary from optimal to poor. In this paper a heuristic procedure, tabu search, is applied to the resource-constrained scheduling problem in an attempt to improve the solution quality over existing heuristic algorithms. The 110 projects collected by Patterson [7] which rep- resent an accumulation of all multiple resource problems existing in the literature are used to measure the performance of the tabu search algorithm.

Tabu search [S-lo] is a heuristic procedure for solving optimization problems. It provides a meth- od which decreases the likelihood of becoming trapped at a local optimum solution. Tabu search employs a set of moves that transform one solution state into another and provides an evaluationfunc- tion for measuring the attractiveness of these moves. The form of the tabu search procedure is highly flexible and often motivates the creation of new types of moves and evaluation function cri- teria for different problems.

Tabu search has obtained optimal or near opti- mal solutions to some types of problems, such as quadratic assignment problems [ 11,121 and sched- uling problems [ 13,141. Glover and McMillan [ 131 obtained near-optimal solutions to employee scheduling problems whose integer programming formulations involved one to four million vari- ables. This required 22-24 min on an IBM PC mi- crocomputer. The quadratic assignment study of Skorin-Kapov [12] used less CPU time than previ- ously reported yielding the best known solutions for problems taken from the literature. Punnen and Aneja [14] proposed a tabu search which pro- duced good quality solutions for the strongly NP- complete hard categorized assignment scheduling problems. Punnen and Aneja [l l] presented a tabu

search algorithm for resource-constrained assign- ment problems which provided superior solutions than the existing algorithms.

In this paper tabu search is applied to the re- source-constrained scheduling problems for both deterministic and stochastic activity duration. The procedures are described in the following sec- tions. The methodology section includes discus- sion of the implementation of tabu search and an example is given to illustrate the application of tabu search. Experimental results are then shown in Section 3. Finally, a conclusion is given in Sec- tion 4.

2. Methodology

Before presenting tabu search, a basic proce- dure for scheduling activities and identifying the critical path with respect to a specified priority ranking is introduced. In addition, we will briefly review two heuristic rules, the minimum slack first (MINSLK) and the CAF heuristics, which are em- ployed to provide starting solutions for tabu search.

Before the scheduling process is started, the rel- ative priority ranking of all activities is done. Usu- ally the priority ranking is calculated with some heuristic rules or formulae. Resources are allocat- ed based on the priority ranking of activities. A feasible activity is an activity for which the re- quired preceding activities have been completed. At each scheduling instant, only the feasible activ- ities are considered for resource allocation. At time k, the feasible activity with the highest priority is scheduled if the available resources are sufficient. When the number of resources available is inade- quate for the next feasible activity at time k, then time k + 1 is considered. Note that activity pre- emption and partial resource assignments are not allowed.

When resources are constrained, determination of the critical path becomes more difficult. Bowers [15] proposed the idea of using resource links for this purpose. These resource links are used to trace the use of resources, noting the significant re- source dependencies that determine the project schedule and hence identify the critical path. We

Y.-W. Tsai. D.D. Gemmill I European Journal of Operational Research I1 1 (1998) 129-141 131

have added the use of additional links which are referred to as precedence links [16]. While comput- ing the earliest starting time, the resource links and precedence links are noted. After the forward pass, the additional links are added to the project network. The latest start times are then deter- mined with the original links and the additional links using the same backward pass as utilized by CPM.

Two heuristics are employed to provide start- ing solutions for tabu search. The MINSLK rule is very simple. The resource-unconstrained PERT/ CPM slack time for each activity is calculated. Then when resources are assigned, the top prior- ity is given to the activity with the smallest PERT/CPM calculated slack time. In the CAF rule proposed by Badiru [3] and Badiru and Pulat [4], higher priority is given to the activity which has a higher CAF value. For each activity i, the CAF is calculated as a weighted and scaled sum of two components, RAF (resource allocation factor) and SAF (stochastic activity duration factor).

2.1. Notation, variables and operations for tabu search

Let N be the number of activities in a project, I= {1,2,... , N} be the set of all activities, and l-I be the set of all permutations defined on I. Any permutation 71 E I-I is defined as an N vector (n(l), n(2), n(N)). When the order of activities in a permutation n is consistent with the precedence re- lationships in the project, the permutation rr is called a feasible sequence. That means activities can be completed in the same order as in the se- quence. A permutation is not necessarily a feasible schedule. Let F be the set of all feasible sequences, then F is a subset of l-I. A project can be scheduled according to the order in a feasible sequence under the resource constraints and hence the project du- ration can be determined. The goal of tabu search is to find a feasible sequence in F which gives the optimal or near-optimal schedule.

We will adapt some definitions from references [&lo, 141. A starting solution is a feasible sequence obtained from a heuristic approach and the start-

ing solution will be improved by the tabu search algorithm. Since quality of a solution obtained by tabu search is considerably affected by the starting solution, we use the MINSLK rule and the CAF rule to determine different starting solu- tions.

A move is a transition from one feasible se- quence to another by interchanging the positions of two activities i and j. An objective function f is defined as the project duration of a feasible se- quence. The value of a move is the difference be- tween the objective function value of the feasible sequence yielded by making the interchange and the objective function value of the current feasible sequence. If the value of a move is negative, then the move is called an improvement move.

In some applications, such as the applications in [14,11], only one tabu list of recent moves is recorded. This tabu list is used to prevent a solu- tion from being revisited for a certain number of iterations. In this study, two tabu lists are imple- mented due to the different characteristics of an activity. The activities of a project are divided into two categories: critical activity and non-crit- ical activity. An activity is classified as a critical activity if it is on the critical path of the project scheduled using CPM/PERT. Otherwise it is a non-critical activity. A list named TabuListC consists of critical activities and another list named TabuListNC consists of non-critical activ- ities.

When resource constraints are included, in gen- eral when a critical activity is delayed, the succes- sors of the delayed activity will also be delayed. Consequently, the completion time of the re- source-constrained project will be delayed with a high probability. For the critical activity, once it is moved forward due to an interchange it can be completed earlier. It is then recorded in TabuListC and will remain there for TabuTenureC iterations. While a critical activity is in TabuListC, it is in tabu status and TabuTenureC is called the tabu tenure of a critical activity which is the duration the critical activity remains in tabu status. Tab- uListNC and TabuTenureNC are implemented in the same manner except that the non-critical activ- ity is not moved forward in TabuTenureNC itera- tions.

132 Y-W. Tsai, D. D. GemmiN I European Journal of Operarional Research III (1998) 129-141

An integer NumOfMove is the number of candi- date moves which are generated and evaluated in each iteration. These candidate moves are record- ed in a candidate list. Each candidate move in the candidate list is evaluated by an evaluation function. The evaluation function is a combination of the value of a move and a penalty jimction. A penalty function is applied when some predefined constraints are violated. Since only feasible se- quences are considered in our scheduling applica- tion, no penalty function is needed.

When a feasible sequence yielded by performing a move contains a tabu activity, the move is called a tabu restricted move and an aspiration test on this move must be made. The aspiration test is an im- portant element of flexibility in tabu search. The tabu status can be overruled if the aspiration test is satisfied, otherwise the move is not permitted. The aspiration test used in this paper is as follows: if the project duration of the new sequence is shorter than the best project duration found thus far, then a tabu status can be overruled. An admis- sible move is a move which is not a tabu restricted move or a tabu restricted move which satisfies the aspiration test. A best move is the admissible move that has the best value when evaluated by the eval- uation function. The sequence yielded by making the best move serves as the starting solution of the next iteration. The best sequence is not neces- sarily an improvement over the present solution. This is the technique that tabu search employs to escape from a local minimum.

The performance of tabu search depends on several parameters. One of the most important pa- rameters is the tabu tenure. The preferred choice for the value of tabu tenure is customarily based on an empirical test. A small tabu tenure will very likely introduce cycling into the search, and if the tabu tenure is too large the tabu search will be re- stricted to a small domain. Tabu tenure values for a scheduling problem typically can be expressed as a simple function of the number of activities, such as the square root of the number of activities. An- other important parameter is the number of candi- date moves, NumOfMove, considered in each iteration. Both solution speed and quality can be significantly influenced by the use of appropriate candidate list strategies.

2.2. Application of tabu search to the deterministic problem

Tabu search for a resource-constrained, deter- ministic activity duration project scheduling prob- lem is implemented as follows: ?? Step 1. Select a starting feasible sequence, denot-

ed as Si. ?? The starting solution can be determined using

a heuristic rule, such as the MINSLK rule. ?? Let the best sequence found so far, denoted as

St,, be the feasible sequence Si. ?? Step 2. Divide activities into two parts: critical

activity and non-critical activity. ?? Schedule the project, without considering the

resource requirements, using CPM. ?? Identify the critical activities and the non-crit-

ical activities. ?? Step 3. Initialize variables used in tabu search.

?? Construct the precedence matrix for the re- source-constrained project.

?? Let the lists TabuListC and TabuListNC be empty lists.

?? Select values for TabuTenureC and Tab- uTenureNC.

?? Let the elements of the vectors TabuStatusC and TabuStatusNC be zeros.

?? Select value for NumOfMove...

Recommended