A Competitive Genetic Algorithm for Resource-Constrained Project Scheduling S¨ nke Hartmann∗ o Institut f¨ r Betriebswirtschaftslehre u Lehrstuhl f¨ r Produktion und Logistik u Christian-Albrechts-Universit¨ t zu Kiel a 24098 Kiel, Germany hartmann @ bwl.uni-kiel.de www.bwl.uni-kiel.de/bwlinstitute/Prod/alumni/hartmann/hartmann.html ∗ supported

by the Studienstiftung des deutschen Volkes

Abstract In this paper we consider the resource-constrained project scheduling problem (RCPSP) with makespan minimization as objective. We propose a new genetic algorithm approach to solve this problem. Subsequently, we compare it to two genetic algorithm concepts from the literature. While our approach makes use of a permutation based genetic encoding that contains problem-speciﬁc knowledge, the other two procedures employ a priority value based and a priority rule based representation, respectively. Then we present the results of our thorough computational study for which standard sets of project instances have been used. The outcome reveals that our procedure is the most promising genetic algorithm to solve the RCPSP. Finally, we show that our genetic algorithm yields better results than several heuristic procedures presented in the literature. Keywords: Project Management and Scheduling, Resource-Constraints, Genetic Algorithms, Computational Results.

1

1

Introduction

Within the classical resource-constrained project scheduling problem (RCPSP), the activities of a project have to be scheduled such that the makespan of the project is minimized. This problem arises within project management software as well as within systems for production planning and scheduling. The currently most powerful exact procedures have been presented by Brucker et al. [3], Demeulemeester and Herroelen [6, 7], Mingozzi et al. [24], and Sprecher [32]. However, they are unable to ﬁnd optimal schedules for highly resource-constrained projects with 60 activities or more. Hence, in practice heuristic algorithms to generate near-optimal schedules for larger projects are of special interest. Recently, an evaluation study (see Kolisch and Hempel [18] and Kolisch [14]) showed that commercial software packages for project management generate schedules with an average deviation of 4.3 % to 9.8 % from the optimal solution for projects with up to 30 activities. These rather disappointing results indicate the need for (fast) heuristics to obtain better near-optimal schedules which should be implemented in software packages. Recently proposed heuristic algorithms for the RCPSP include the following: Bell and Han [2] present a two-phase algorithm based on the concept of disjunctive arcs. Sampson and Weiss ¨ [31] introduce a local search approach in which a schedule is encoded by a shift vector. Ozdamar and Ulusoy [26] propose the so-called local constraint based analysis (LCBA), which is extended ¨ to an iterative algorithm in Ozdamar and Ulusoy [28]. Kolisch [15] develops three new priority rules for the parallel scheduling scheme and tests them in a single-pass environment. Kolisch [16] compares some good priority rules within both the serial and the parallel scheduling scheme and reports experiences with sampling procedures. Kolisch and Drexl [17] introduce a so-called adaptive search procedure which applies a scheduling scheme and priority rules after analyzing the project instance at hand. Baar et al. [1] develop two tabu search approaches. Lee and Kim [21] compare a genetic algorithm (GA), a simulated annealing heuristic, and a tabu search method. Cho and Kim [4] improve the simulated annealing procedure of Lee and Kim [21]. Leon and Ramamoorthy [22] suggest a GA and two local search procedures which are based on the socalled problem space based representation. Kohlmorgen et al. [13] summarize their...