A Tabu Search Approach for the Resource Constrained Project Scheduling Problem
out of 17
Post on 02-Aug-2016
<ul><li><p>P1: ABLJournal of Heuristics KL604-02-Thomas June 24, 1998 11:18</p><p>Journal of Heuristics, 4: 123139 (1998)c 1998 Kluwer Academic Publishers</p><p>A Tabu Search Approach for the ResourceConstrained Project Scheduling ProblemPAUL R. THOMAS AND SAID SALHIManagement Mathematics Group, School of Mathematics and Statistics, University of Birmingham, U.K.</p><p>Abstract</p><p>An appropriate tabu search implementation is designed to solve the resource constrained project schedulingproblem. This approach uses well defined move strategies and a structured neighbourhood, defines appropriatetabu status and tenure and takes account of objective function approximation to speed up the search process.A sound understanding of the problem has helped in many ways in designing and enhancing the tabu searchmethodology. The method uses diversification, intensification and handles infeasibility via strategic oscillation.</p><p>The above methodology is tested on existing problems from the literature and also on parametrically generatedproblems with encouraging results. For comparison of results, optimal solutions are used in the former and lowerbounds obtained by Lagrangian heuristics are used in the latter.</p><p>Key Words: project management, limited resources, tabu search</p><p>1. Introduction</p><p>The resource constrained project scheduling problem (RCPSP) seeks to assign a start timeto each activity to ensure that resource levels and precedence constraints are not violated.The RCPSP has received a great deal of attention in the fields of heuristic and optimalsolution techniques, see Alvarez-Valdes and Tamarit (1989), Ozdamar and Ulusoy (1995).</p><p>In this study we consider a single project, single execution mode scenario, and limitedbut renewable resources. Renewable resources are constrained on a period-by-period basis.Examples of this type of resource are labor and machines, which can be used every daybut are limited on a daily basis. Our objective function is the minimization of the projectmakespan. The optimal solution of the RCPSP is difficult to determine, especially for largeproblems with binding resource constraints. The largest problems that can be solved opti-mality contain approximately 50 activities (Alvarez-Valdes and Tamarit (1989)). Heuristicsappear to be the best way forward to approach such kind of large combinatorial problems.Although these procedures guarantee neither optimality nor infeasibility, measures to judgetheir efficiency exist such as empirical testing, lower bound-solutions, and worst case analy-sis among others, see Salhi (1998) for further discussion.</p><p>A brief overview of tabu search</p><p>Tabu Search (TS) is a local search method, based on artificial intelligence, designed todrive the search away from local optima by accepting both nonimproving and infeasible</p><p>Corresponding author.</p></li><li><p>P1: ABLJournal of Heuristics KL604-02-Thomas June 24, 1998 11:18</p><p>124 THOMAS AND SALHI</p><p>solutions. TS concepts employ intelligent uses of memory to help in exploiting usefulpast. The structure of the method is extremely malleable and hence it is often used to guideother constructive heuristics to avoid being trapped into a poor local optimum. To overcomecycling, and to impart a heuristic vigor to the search, some sort of tabu status is imposedon those moves that recently produced the new solution, see Glover and Laguna (1997) formore details.</p><p>A simplified view of a tabu search method can be briefly outlined as follows: Startingfrom an initial solution (feasible or infeasible), the best neighbouring solution is obtainedusing a suitable neighbourhood structure and an appropriate objective function evaluation.To avoid cycling (in case a nonimproving move is chosen) the selected move is not allowedto be reversed for a certain number of iterations. However, in case a better solution thanthe current best is found then such a solution will be selected regardless of its tabu status.The cycle continues until some suitable stopping criteria are met. Such a method usuallynecessitates a large number of iterations. To speed up the process, an appropriate datastructure may be needed to avoid recomputing the already compiled information.</p><p>To date TS methods have proved successful in several areas of combinatorial optimiza-tion. For a bibliography up to early 1996, see Osman and Laporte (1996), and for furtherdiscussion and applications see Glover and Laguna (1997).</p><p>A brief overview of project management related heuristics</p><p>The majority of research to date in the field of project management heuristic developmenthas centered on the development of priority assignment rules for use in serial and parallelalgorithms where high priority activities are dispatched for scheduling when resource lev-els allow. These priority rules are often based on network features, resource relationshipsand activity criticality. As evidence of this concentration of effort, in the last 30 years, sev-eral priority rules have been devised to solve the RCPSP (see Davis and Patterson (1975),Ulusoy and Ozdamar (1989), Khattab and Choobineh (1991), among others). Very recentlyThomas and Salhi (1997) extended the weighted resource utilization dispatching rule ofUlusoy and Ozdamar (1989) to include a flexible activity criticality function in their dis-patching rule.</p><p>In expanding on this priority rule development a number of further methods have beenproposed. Li and Willis (1992) developed an iterative procedure which shifts between back-ward and forward schedules. The method is designed to retain the favorable solutionattributes produced in each forward and backward pass iteration. Ulusoy and Ozdamar(1994) have devised an intelligent local constraint-based heuristic which outperformedpreviously reported solutions.</p><p>Thomas and Salhi (1995) have also developed a Lagrangian based heuristic to tacklethis problem while producing tighter lower bounds than the ones found by CPM. Theprocedure which transforms the lower bound solution into a feasible one, The SHIFTheuristic routine, is briefly reviewed as it will be used in this work. This algorithm functionsby creating a time window at each infeasible point by forward shifting parts of the schedule.Activities are then moved forward into these windows to alleviate the resource overflow,the remaining space in the windows being filled by back shifting certain activities. The</p></li><li><p>P1: ABLJournal of Heuristics KL604-02-Thomas June 24, 1998 11:18</p><p>RESOURCE CONSTRAINED PROJECT SCHEDULING PROBLEM 125</p><p>method allows small infeasibilities within the time windows and also backward movementto prewindow-time positions as long as precedence and resource constraints remain intact.</p><p>Over the past few years there has been increased development in heuristic search methods.The procedure of Bell and Han (1991) constructs an initial solution by adding precedenceconstraints to the network to repair resource violation until a resource feasible solution isobtained. The method then uses a limited hill-climbing search postanalysis to generatean improvement in this first schedule by finding local improvements. Sampson and Weiss(1993) consider a local search technique whereby neighbourhood solutions are generatedby increasing or decreasing the start times of activities up to a specified amount. Themethod uses a basic local search procedure with an objective function penalty value basedon infeasibility to move from one solution to another.</p><p>As yet, only a small amount of research has been invested in a tabu search approach forthe problem. The main contribution in this area has been made by Lee and Kim (1996).The work centres around the encoding of a solution as a string of activities defined viainteger numbers. Each activity is assigned a priority in the range (0, 1) randomly, and aneighbourhood constructed by incorporating attributes involving the swapping of activityindexed i1 with all possibilities within indexes i1 4m and i1 C 4m, where m is themaximum number of predecessors or successors of an activity over the whole project. Theselected attribute move, chosen via a penalty augmented frequency and schedule function,is performed by swapping the activity priorities and regenerating a schedule via a standardpriority dispatch method. Results are encouraging when compared with simulated annealingand the other main iterative heuristics.</p><p>The remainder of this paper is organised as follows: In the next section we present the keyelements of our methodology. Section 3 describes the algorithm and its main components.Our computational results are analyzed in Section 4. The last section summarizes ourfindings.</p><p>2. Methodology</p><p>We first provide the notation that is used in this section followed by an outline of the mainelements which form our methodology and which serves as a basis for the tabu searchmethod given in the next section.</p><p>Preliminary notation</p><p>N D the total number of activities (nodes).CC D project complexity, which is defined as the ratio of the number of arcs to the</p><p>number of nodes.Nc D the number of critical activities in the project based on CPM.</p><p>iter D iteration counts D current solution.</p><p>N .s/ D neighbourhood of the solution s.s0 D solution obtained from s via a single swap or insert move.ti D start time of activity i contributing to the present schedule.</p></li><li><p>P1: ABLJournal of Heuristics KL604-02-Thomas June 24, 1998 11:18</p><p>126 THOMAS AND SALHI</p><p>di D duration of activity i .Ci D (activity j : j can be reached from activity i via a path of activities)</p><p>TFi D total float of activity i in the project based on CPM.TFmax D Max[TFi for all i].</p><p>tnewi D the new starting time of activity i in solution s 0.ni D the number of immediate successors of activity i .</p><p>sf</p><p>best D best feasible solution obtained.fik D the frequency of occurence of activity i in a move of type k.k D 1; 2; 3/.nki D number of candidate moves of type k involving activity i .</p><p>tab(i; j; k/ D the tabu status of move .i; j/ of type k.jTs j D the tabu list size.</p><p>Move attribute and tabu definition</p><p>Two simple moves for obtaining a neighbouring solution (schedule) s 0 of s are (i) Activityswap and (ii) Activity insert.</p><p>Activity swap. This move requires two activities to be swapped in the schedule dependenton certain criteria:Activities i and j are feasible for swapping if</p><p>(a) ti 6D t j(b) di ; d j > 0(c) j 62 Ci</p><p>If the above conditions are satisfied we set tnewi D t j and tnewj D ti .In (a) we consider only those activities that do not have the same starting time and hence</p><p>swapping their positions may affect the project duration. Condition (b) is introduced so thatdummy activities are not examined. Condition (c) is used to maintain feasibility in termsof precedence relationships.</p><p>Activity insert. This move requires that activity i is shifted to another position whosestarting time is either the starting time or the completion time of activity j . Two possibilitiesare examined here:</p><p>Activity i is feasible for insertion type 1 if conditions (a), (b) and (c) hold. If this is true weset tnewi D t j .</p><p>Similarly activity i is feasible for insertion type 2 if (b) and (c) hold. If this is true we settnewi D t j C d j .</p><p>A move of type k.k D 1; 2; 3/ is represented by a swap move .k D 1/, an insertion moveof type 1 .k D 2/ and an insertion move of type 2.k D 3/.</p></li><li><p>P1: ABLJournal of Heuristics KL604-02-Thomas June 24, 1998 11:18</p><p>RESOURCE CONSTRAINED PROJECT SCHEDULING PROBLEM 127</p><p>Tabu definition. Initially tab.i; j; k/ D 0 for all activities i and j and k D 1; 2; 3. A move attribute .i; j/ of type k is tabu active if tab.i; j; k/ > iter. The tabu status is updated via the formula:</p><p>tab.i; j; k/ D iterC jTs j</p><p> The explicit expression of jTs j will be defined later.</p><p>Neighbourhood definition</p><p>The size of the neighbourhood structure is restricted in the following ways:(i) As problem size increases so the size of N .s/ inflates, leading to a waste of processing</p><p>time in evaluating the objective function for each trial move.Let NN .s/ N .s/ be a restricted neighbourhood of N .s/ defined as</p><p>NN .s/ D(</p><p>N .s/ if nki K 8i .1/QN .s/ otherwise .2/</p><p>where</p><p>R D f.i; j/ : ti fl1 t j ti C fl2gQN .s/ D fs 0 : move .i; j/ 2 R; where .i; j/ is the move attribute transforming s to s 0g</p><p>In this study we set K D 20 for all moves, and initially we used</p><p>fl1 D ti=L ; fl2 D .T ti /=L and L D 1</p><p>In addition, if for QN .s/ there exists an activity i such that nki > K then the value of L isincremented by one and the process repeated.</p><p>(ii) In preliminary testing, it was found that a number of moves were considered involvingattributes that were not critical to the projects completion time. Therefore, the neighbour-hood criteria was further restricted to only allow candidate solutions that were obtainedvia a move involving .i; j/ where one or both of i and j were considered to be critical ornear-critical.</p><p>Hence, s 0 is an admissible solution if it is obtained from s via a move using .i; j/ suchthat:</p><p>For a swap move:</p><p>TFi=TFmax Max[0:25; Nc=N ]</p><p>or</p><p>TF j=TFmax Max[0:25; Nc=N ]:</p></li><li><p>P1: ABLJournal of Heuristics KL604-02-Thomas June 24, 1998 11:18</p><p>128 THOMAS AND SALHI</p><p>For an insert move:</p><p>TFi=TFmax Max[0:25; Nc=N ]:</p><p>The above neighbourhood restriction process has the advantage of both identifying thecandidate moves that are critical to the project outcome and which may lead to high qualitysolutions and also avoiding the situation of terminating the search process due to the deriva-tion of an empty candidate move neighbourhood.</p><p>Definition of the tabu list size jTs j</p><p>The tabu size derivation is an important tool in guiding the search in the short term, giventhe determination of an effective set of attributes for defining tabu status. A small valueof jTs j may lead to a system that is too flexible in which the risk of cycling may be toogreat. On the other hand, a large value of jTs j may make the system very rigid and mayforbid many moves from being investigated. A good choice of jTs j is based on a goodcompromise. There are several ways of defining the tabu list size, namely, having it set toa constant during all the compilation, picked from a range which needs to be defined eitherat each iteration or every time diversification is used (see Osman and Salhi (1996), Taillard(1993), among others). Short-term considerations are important to observe the attributes ofperformed moves within a search space. Long-term considerations are employed to movefrom poor quality solution space identified by short-term conclusions.</p><p>In this study our tabu size is constructed locally at each iteration based on characteristicsof the inherent structure of the project management problem, the problem size and thecomplexity of the project. This concept of linking tabu size at each iteration to whatis happening at that point (objective function, etc.) was originally investigated by Salhi(1994) when tackling a class of location problems.</p><p>jTs j D(</p><p>Max[30; N=.ni C n j /] if CC < 1:4 .3/Min[30; N=.ni C n j /] otherwise .4/</p><p>Other constructions for the tabu sizes were also attempted including the simple ones(constant, or randomly selected within a range, etc.)...</p></li></ul>
View more >
An iterated-local-search heuristic for the resource-constrained weighted earliness-tardiness project scheduling problem
Resource Constrained Project Scheduling Problem. Overview Resource Constrained Project Scheduling problem Job Shop scheduling problem Ant Colony Optimization.
A genetic algorithm with neighborhood search for the resource-constrained project scheduling problem
A hybrid scatter search approach for resource-constrained project scheduling problem in PERT-type networks
A dynamic resource constrained project scheduling satoru/conteudo/artigos/PAPER-IJDMB-Andre.pdfÂ Â· The dynamic resource-constrained project scheduling problem deals ... A dynamic resource constrained project scheduling ... The solution representation ...