improved genetic algorithm for resource-constrained scheduling of large projects

12
Improved genetic algorithm for resource- constrained scheduling of large projects Jin-Lee Kim Abstract: The generalized model of the resource-constrained project scheduling problem (RCPSP) is valuable because it can be incorporated into the advanced computational methods of commercial project management software for practical applications. A construction schedule generated by most commercial project management programs does not guarantee its optimality when the resources are limited. This paper presents an improved elitist genetic algorithm (GA) for resource-con- strained scheduling of large projects. The proposed algorithm allocates multiple renewable resources to activities of a sin- gle large-sized project to achieve the objective of minimizing the project duration. A permutation-based decoding procedure is developed using the improved parallel schedule generation scheme. A new parameter, named transformation power, is created in the transformation method of the improved algorithm to ensure that the individual selection process performs correctly. Extensive computational results using a standard set of large-sized multiple resource-constrained proj- ect scheduling problems are presented to demonstrate the performance and accuracy of the algorithm. Key words: algorithm, heuristics, optimization, project management, resource, scheduling. Re ´sume ´: Le mode `le ge ´ne ´ralise ´ du proble `me d’ordonnancement de projet avec contrainte de ressources (« RCPSP ») est utile puisqu’il peut e ˆtre incorpore ´ dans les me ´thodes computationnelles avance ´es d’un logiciel commercial de gestion de projets permettant des applications pratiques. Le calendrier des travaux ge ´ne ´re ´ par la majorite ´ des programmes commer- ciaux de gestion de projets ne peut garantir son optimalite ´ lorsque les ressources sont limite ´es. Cet article pre ´sente un algo- rithme ge ´ne ´tique e ´litiste ame ´liore ´ pour le calendrier d’exe ´cution de grands projets avec ressources limite ´es. L’algorithme propose ´ assigne plusieurs ressources renouvelables aux activite ´s d’un seul grand projet afin d’atteindre l’objectif de mini- miser la dure ´e du projet. Une proce ´dure de de ´codage base ´e sur la permutation est e ´labore ´e en utilisant un me ´canisme d’e ´laboration d’un calendrier ame ´liore ´ en paralle `le. Un nouveau parame `tre appele ´ puissance de transformation est cre ´e ´ dans le cadre de la me ´thode de transformation de l’algorithme ame ´liore ´ afin d’assurer que le processus de se ´lection indivi- duel fonctionne ade ´quatement. Les principaux re ´sultats computationnels utilisant un ensemble-type de proble `mes d’e ´tablis- sement du calendrier d’exe ´cution de grands projets a ` plusieurs ressources limite ´es sont pre ´sente ´s afin de de ´montrer le rendement et la pre ´cision de l’algorithme. Mots-cle ´s : algorithme, heuristique, optimisation, gestion de projet, ressource, calendrier d’exe ´cution. [Traduit par la Re ´daction] Introduction Project planning plays a significant role in defining proj- ect goals and objectives, setting out the deadlines for project completion, and developing contingency plans on potential risks. Project management tools are essential to reduce po- tential problems in the area of specification, estimation, monitoring, and control. Many project managers are willing to invest in a variety of project management tools for the reasons previously mentioned. In contrast to strong reasons for the use of project management tools, the majority of project management literature argues that looking for the best procedure for resolving resource conflicts is useless in practice as it does not impact the planned project duration (Herroelen 2004; Herroelen and Leus 2005). However, proj- ect scheduling problems have been interesting and challeng- ing subjects of extensive research for several decades in the optimization study area to make them applicable in practice. A variety of commercialized project management soft- ware packages have been used for construction planning and scheduling. For example, Microsoft Project and Prima- vera Project Planner are the two most popular project man- agement software packages. However, a construction schedule generated by most commercial project management software packages does not guarantee its optimality when the resources are limited. Project scheduling programs re- vealed the limitation because they employ simple priority rules for generating a precedence and resource feasible schedule, even though they provide the schedules in a rea- sonable amount of time regardless of the project size. The generalized model of the resource-constrained project sched- uling problem (RCPSP) is valuable to project planners be- cause it can be incorporated into the advanced computational methods of commercial project management software for practical applications. Various meta-heuristic methods, such as genetic algorithm (GA), simulated annealing, tabu search, and ant colonies Received 3 January 2007. Revision accepted 12 March 2009. Published on the NRC Research Press Web site at cjce.nrc.ca on 23 June 2009. J. Kim. Department of Engineering Technology, Missouri Western State University, 4525 Downs Drive, St. Joseph, MO 64507, USA (e-mail: [email protected]). Written discussion of this article is welcomed and will be received by the Editor until 31 October 2009. 1016 Can. J. Civ. Eng. 36: 1016–1027 (2009) doi:10.1139/L09-049 Published by NRC Research Press Can. J. Civ. Eng. Downloaded from www.nrcresearchpress.com by CONCORDIA UNIV on 11/13/14 For personal use only.

Upload: jin-lee

Post on 17-Mar-2017

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Improved genetic algorithm for resource-constrained scheduling of large projects

Improved genetic algorithm for resource-constrained scheduling of large projects

Jin-Lee Kim

Abstract: The generalized model of the resource-constrained project scheduling problem (RCPSP) is valuable because itcan be incorporated into the advanced computational methods of commercial project management software for practicalapplications. A construction schedule generated by most commercial project management programs does not guarantee itsoptimality when the resources are limited. This paper presents an improved elitist genetic algorithm (GA) for resource-con-strained scheduling of large projects. The proposed algorithm allocates multiple renewable resources to activities of a sin-gle large-sized project to achieve the objective of minimizing the project duration. A permutation-based decodingprocedure is developed using the improved parallel schedule generation scheme. A new parameter, named transformationpower, is created in the transformation method of the improved algorithm to ensure that the individual selection processperforms correctly. Extensive computational results using a standard set of large-sized multiple resource-constrained proj-ect scheduling problems are presented to demonstrate the performance and accuracy of the algorithm.

Key words: algorithm, heuristics, optimization, project management, resource, scheduling.

Resume : Le modele generalise du probleme d’ordonnancement de projet avec contrainte de ressources (« RCPSP ») estutile puisqu’il peut etre incorpore dans les methodes computationnelles avancees d’un logiciel commercial de gestion deprojets permettant des applications pratiques. Le calendrier des travaux genere par la majorite des programmes commer-ciaux de gestion de projets ne peut garantir son optimalite lorsque les ressources sont limitees. Cet article presente un algo-rithme genetique elitiste ameliore pour le calendrier d’execution de grands projets avec ressources limitees. L’algorithmepropose assigne plusieurs ressources renouvelables aux activites d’un seul grand projet afin d’atteindre l’objectif de mini-miser la duree du projet. Une procedure de decodage basee sur la permutation est elaboree en utilisant un mecanismed’elaboration d’un calendrier ameliore en parallele. Un nouveau parametre appele puissance de transformation est creedans le cadre de la methode de transformation de l’algorithme ameliore afin d’assurer que le processus de selection indivi-duel fonctionne adequatement. Les principaux resultats computationnels utilisant un ensemble-type de problemes d’etablis-sement du calendrier d’execution de grands projets a plusieurs ressources limitees sont presentes afin de demontrer lerendement et la precision de l’algorithme.

Mots-cles : algorithme, heuristique, optimisation, gestion de projet, ressource, calendrier d’execution.

[Traduit par la Redaction]

IntroductionProject planning plays a significant role in defining proj-

ect goals and objectives, setting out the deadlines for projectcompletion, and developing contingency plans on potentialrisks. Project management tools are essential to reduce po-tential problems in the area of specification, estimation,monitoring, and control. Many project managers are willingto invest in a variety of project management tools for thereasons previously mentioned. In contrast to strong reasonsfor the use of project management tools, the majority ofproject management literature argues that looking for thebest procedure for resolving resource conflicts is useless inpractice as it does not impact the planned project duration

(Herroelen 2004; Herroelen and Leus 2005). However, proj-ect scheduling problems have been interesting and challeng-ing subjects of extensive research for several decades in theoptimization study area to make them applicable in practice.

A variety of commercialized project management soft-ware packages have been used for construction planningand scheduling. For example, Microsoft Project and Prima-vera Project Planner are the two most popular project man-agement software packages. However, a constructionschedule generated by most commercial project managementsoftware packages does not guarantee its optimality whenthe resources are limited. Project scheduling programs re-vealed the limitation because they employ simple priorityrules for generating a precedence and resource feasibleschedule, even though they provide the schedules in a rea-sonable amount of time regardless of the project size. Thegeneralized model of the resource-constrained project sched-uling problem (RCPSP) is valuable to project planners be-cause it can be incorporated into the advancedcomputational methods of commercial project managementsoftware for practical applications.

Various meta-heuristic methods, such as genetic algorithm(GA), simulated annealing, tabu search, and ant colonies

Received 3 January 2007. Revision accepted 12 March 2009.Published on the NRC Research Press Web site at cjce.nrc.ca on23 June 2009.

J. Kim. Department of Engineering Technology, MissouriWestern State University, 4525 Downs Drive, St. Joseph, MO64507, USA (e-mail: [email protected]).

Written discussion of this article is welcomed and will bereceived by the Editor until 31 October 2009.

1016

Can. J. Civ. Eng. 36: 1016–1027 (2009) doi:10.1139/L09-049 Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 2: Improved genetic algorithm for resource-constrained scheduling of large projects

have been applied to solve the RCPSP. These methods at-tempt to overcome the drawbacks of the exact optimal meth-ods and priority-rule based heuristics as well as to improvethe performance of the existing meta-heuristic methods.Most meta-heuristics that employed the activity list repre-sentation in the RCPSP literature make use of the serialschedule generation scheme as a decoding procedure(Pinson et al. 1994; Boctor 1996; Hartmann 1998; Baar etal. 1999; Bouleimen and Lecocq 2003; Kim and Ellis2008). A few meta-heuristics used the parallel schedule gen-eration scheme as a decoding procedure (Lee and Kim 1996;Kohlmorgen et al. 1999). The selection of the serial schemein most research has been recognized due to the fact that alloptimal solutions from the search space may not be includedwhen applying the parallel scheme, whereas the searchspace of the serial scheme always contains an optimalschedule. This paper intends to develop a more efficient al-gorithm that utilizes the parallel schedule generation schemeas a decoding procedure in an attempt to fulfill the lack ofan optimal solution algorithm as well as to find near-optimalschedules for large projects associated with multiple resour-ces.

This paper presents an improved elitist GA for resource-constrained scheduling of large projects associated withmultiple resources. The proposed algorithm aims to allocatemultiple renewable resources to activities of a single large-sized project to achieve the objective of minimizing theproject duration. A permutation-based decoding procedureis developed using the improved parallel schedule genera-tion scheme. A new parameter, named transformationpower, is created in the transformation method of the im-proved algorithm to ensure that the individual selectionprocess performs correctly. Extensive computational resultsusing large-sized multiple resource-constrained projectscheduling problems are presented to demonstrate the per-formance and accuracy of the algorithm.

Previous studies on the genetic algorithmapproach

The RCPSP has been solved using the various exactmethods, priority-rule based heuristics, and various meta-heuristic methods. Table 1 tabulates the various solution ap-proaches with their notable features in solving the RCPSP.Several studies have been done to solve the RCPSP using aGA (Chan et al. 1996; Hartmann 1998; Hegazy 1999; Leuand Yang 1999; Kohlmorgen et al. 1999; Alcaraz and Mar-oto 2001; Hartmann 2002; Hindi et al. 2002; Toklu 2002;Valls et al. 2003, 2005; Kim and Ellis 2008). Chan et al.(1996) combined resource allocation with resource levelingby setting a single equation with the objective of minimizingthe difference between resource availability and utilization.In the string representation of GA, they adopted the conceptof current float to set the scheduling priority. The currentfloat concept proposed by Shanmuganayagam (1989) wasused for elimination of network recalculation, which is themain disadvantage of the total float concept in the criticalpath method (CPM) analysis.

Hartmann (1998) proposed a permutation-based GA,which did not consider the elitism in the GA, and made useof activity list representation. Hegazy (1999) also solved re-

source allocation problems using GA, where the concept ofminimum total slack was incorporated as the decision varia-ble for the problem. Leu and Yang (1999) proposed a GA-based multicriteria optimal model for construction schedul-ing. A parallel GA developed by Kohlmorgen et al. (1999)has been applied to solve the RCPSP. The algorithm in-cludes a fine-grained parallel version of the island model ofgenetic algorithms and of variants of the neighborhoodmodel called the diffusion model. In the island model, thepopulation is divided into several subpopulations by appro-priately dividing the grid into sub-arrays. It was imple-mented on a coarse-grained parallel machine using oneprocessor per island. In the neighborhood model, every pro-cessor selects a partner for recombination from some localneighborhood by considering neighbors at different distancesin the possible directions. Although a comparative evalua-tion of two models was not demonstrated, Kohlmorgen etal. (1999) argued that their algorithm showed good perform-ance due to the larger genetic diversity obtained by severalsub-populations.

A GA of Alcaraz and Maroto (2001) was the generaliza-tion of the activity list GA of Hartmann (1998). They usedthe serial schedule generation scheme and included an addi-tional gene that decides whether the activity list is scheduledin a forward or backward direction. From extensive compu-tational experiments based on a standard set of project in-stances (Kolisch and Sprecher 1997), it was shown that thealgorithm provides good performance based on the devel-oped forward-backward crossover techniques. An extendedself-adapting genetic algorithm (SAGA) proposed by Hart-mann (2002) was developed based on a previous GA (Hart-mann 1998). SAGA has been provided with several features:(i) an extended representation of an individual, which in-cludes an additional gene that decides the decoding proce-dure; (ii) adapted crossover and mutation operators; and(iii) a new method for computing an initial population.Although the result increased the quality of the solutions,an additional computational cost was required.

A GA developed by Hindi et al. (2002) employed the ac-tivity list representation, the serial schedule generationscheme, and the related order-preserving crossover strategy,which are similar to the work of Hartmann (1998). The dif-ference between the two algorithms is that the initial popula-tion in Hindi et al. (2002) is generated by a pure randommechanism, whereas Hartmann (1998) generated an initialpopulation using the late finish time-based sampling. On theother hand, Toklu (2002) developed a GA that applies di-rectly to schedules using a vector of start times. A penaltyfunction was used to repair infeasible offspring schedulesthat the genetic operators may produce.

Valls et al. (2005) developed the extended activity list-based GA by combining a forward-backward improvementproposed by Valls et al. (2003). A peak crossover operatorwas developed to aim at inheriting those parts of the pa-rents’ activity lists that correspond to peaks in the resourceusage. Kim and Ellis (2008) proposed a permutation-basedelitist GA for optimization of large-sized resource schedul-ing problems using the serial schedule generation scheme.The following sections briefly introduce the description fora GA because the writer utilized GA for the improvementof search solutions to the RCPSP, followed by the problem

Kim 1017

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 3: Improved genetic algorithm for resource-constrained scheduling of large projects

definition and its mathematical formulation. The proposedGA is then developed to incorporate the improved parallelschedule generation scheme and a new parameter namedtransformation power for the individual selection process.The experimental results and analysis section presents two-fold: (i) sensitivity analysis that examines the effects of thegenetic operators such as the elitist, crossover, and mutation;and (ii) implementation aspects that present the results ob-tained from extensive computational experiments. Addi-tional studies for the further improvement based on theproposed algorithm are included in the conclusions.

Genetic algorithmsA GA is a meta-heuristic and optimization technique that

has emerged as a tool that is beneficial for a variety of studyfields including construction applications since its introduc-tion in the 1960s by Holland (Holland 1975). The basic GAperforms a random search for the optimal solution to a prob-lem by simulating natural evolution and survival-of-the-fit-test mechanisms. GA differs from conventional optimizationand search procedures in the following four ways, as sum-marized by Goldberg (1989): (i) GA works with a codingof the parameter (solution) set, not the parameters (solu-tions) themselves; (ii) GA searches from a population of sol-utions, not a single solution; (iii) GA uses objective function(fitness function) information, not derivatives or other auxil-iary knowledge; and (iv) GA uses probabilistic transforma-tion rules, not deterministic ones.

The main components of GA are the population, the indi-vidual or string, and the gene. A population is a set of pos-sible solutions to the problem. An individual or a string(chromosome) is a possible solution to the problem. A gene(feature) is a part of a solution to a given problem. Usually,a gene is an independent variable in the problem. Genotypeis an individual’s group of chromosomes whereas phenotypeis a set of values corresponding to a given genotype. GAstarts with an initial population of individuals generated atrandom. Each individual in the population represents a po-tential solution to the problem under consideration. The in-dividuals evolve through successive iterations, calledgenerations. During each generation, each individual in thepopulation is evaluated using some measure of fitness.Then, the population of the next generation is created

through genetic operators. The procedure continues until thetermination condition is satisfied.

Three main genetic operators are selection, crossover, andmutation. Selection (reproduction) is a process in which in-dividuals are generated according to their objective functionvalue. Individuals with a higher value have a higher proba-bility of contributing one or more offspring in the next gen-eration. After selection, crossover (recombination) canproceed in two steps: (i) genes of the newly reproducedindividuals in the mating pool are mated at random; and(ii) each pair of individuals undergoes crossover. Mutationis the occasional random alteration of the value of an indi-vidual position. The mutation operator plays a secondaryrole in GA. The frequency of mutation to obtain good re-sults in empirical GA studies is on the order of one muta-tion per thousand position transfers. Mutation probabilitiesare similarly small in natural populations, leading to theconclusion that mutation is appropriately considered as asecondary mechanism of GA adaptation.

The three basic parameters of GA are crossover probabil-ity, mutation probability, and population size. Populationsize indicates how many individuals in a population are inone generation. The most important component in the GAapproach is deciding the fitness function and evaluationfunction. The evaluation function (objective function) pro-vides a measure of performance with respect to a particularset of parameters. The fitness function transforms that meas-ure of performance into an allocation of reproductive oppor-tunities. A schema theorem is a similarity template thatdescribes a subset of individuals with similarities at certainindividual positions.

Problem definition and formulationThe objective of RCPSP is to allocate the available re-

sources to activities so as to find the shortest duration of aproject within the constraints of precedence relationships.The assumptions underlying this problem are that the avail-ability of resources is constrained to some maximum valueand that the project has to be completed using the given re-sources. As a result of the RCPSP, a schedule that shows theshortest duration with resource limits is created for a projectnetwork. The objective function is formulated for exploringa solution to the RCPSP. As a constrained optimization

Table 1. Various solution approaches to resource-constrained project scheduling problem.

Approach Method Advantage DisadvantageExact solution Dynamic programming Optimal solutions for

small-sized projectsSuitable for a small size of

project instance; requirescomplicated assumptions

Zero-one integer programmingImplicit enumeration with

branch-and-boundPriority rule-based heuristic Single-pass methods; May produce solutions

regardless of the project sizeUses rules of thumb and

experience; dependent onthe project instance; thequality of the solutions isinconsistent

Multi-pass methods (multi-priority rulemethods, forward-backward schedul-ing methods, and sampling methods)

Meta-heuristic Genetic algorithm Applicable to overcome thedrawbacks of two approachesabove and to improve theperformance of themeta-heuristic methods

Difficult to choose anencoding and fitnessfunction; requires longcomputation time

Simulated annealingTabu searchAnt coloniesForward-backward improvement

1018 Can. J. Civ. Eng. Vol. 36, 2009

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 4: Improved genetic algorithm for resource-constrained scheduling of large projects

problem, the RCPSP represents one type of sequencingproblem. Therefore, the proposed algorithm minimizes theproject duration when constrained by precedence relation-ships among project activities and the availability of resour-ces. The single-project, single, and (or) multiple RCPSP canbe formulated as follows:

minimize

½1� f ðiÞ ¼ maxfti þ diji ¼ 1; 2; :::ng

subject to

½2� tj � ti � di; 8j 2 Si

½3�XP

p¼1

XM

m¼1

XN

i¼1

HRRimt �

XP

p¼1

XM

m¼1

XRAmt

½4� f ðiÞ � 0

where, N is the total number of activities, P is the totalnumber of time periods, such as days, and M is the totalnumber of resource types. The symbols of f(i), di, ti,j, and Sistand for the fitness function of an individual, which meansthe finish time of activity i, the duration of activity i, thestarting date of activity i and j, and the set of successors ofactivity i, respectively. HRR

imt and XRAmt mean the resource re-

quirement of mth resource of activity i on time p and theresource availability of mth resource of activity i on time p,respectively.

For ease of notation, the activities are topologically or-dered, i.e., each predecessor of activity i has a smaller num-ber i. It is assumed that daily resource requirements of anyactivity are predetermined. Equation [1] expresses the com-putation of the project duration, which is the objective func-tion of the RCPSP. Equation [2] takes into consideration theprecedence relations between each pair of activities (i, j),where i immediately precedes j. This constraint states thatthe difference between the starting times of successor activ-ities and those of predecessor activities should be equal to orgreater than the duration of the connecting activity. Equation[3] limits the total resource usage within each period to theavailable amount. This constraint indicates that the sum ofall available resource units allocated to different activitieson the same day should not exceed the total number of unitsavailable on that day. Finally, eq. [4] states that the fitnessvalue, which is the finish time of an activity i of an individ-ual schedule is always equal to or greater than zero.

Improved elitist genetic algorithmThis section presents a permutation-based elitist GA to

search for an optimal solution to the resource-constrainedscheduling of large projects by implementing the improvedparallel schedule generation scheme as a decoding proce-dure. Figure 1 illustrates the main procedure of the proposedalgorithm. The permutation-based elitist GA was developedusing four basic operators: (i) elite selection; (ii) roulettewheel selection; (iii) one-point crossover; and (iv) uniformmutation. The initial population of possible solutions to theRCPSP was created to apply the algorithm in the first step

of global search. A fitness value of an individual in the ini-tial population was calculated using the improved parallelschedule generation scheme. The improved parallel schedulegeneration scheme is the extended process composed of theparallel scheme and the transformation method, which is oneof the unique characteristics for the proposed algorithm. Theselection of the parent individuals was made through theelitist roulette wheel selection operator for the next genera-tion, which is another for the algorithm. The elitist roulettewheel selection operator combines using the elite selectionand the roulette wheel selection. Using the parent individu-als obtained from the selection operator, one-point crossoveroperator performs by exchanging parent individual segmentsand then recombining them to produce two resulting off-spring individuals. The uniform mutation operator plays therole of a random local search.

Encoding and decoding procedureThis section presents an encoding and decoding procedure

for the proposed algorithm. Hartmann (1998) proposed threeencodings: (i) a permutation-based GA; (ii) a priority value-based GA similar to the work of Lee and Kim (1996); and(iii) a priority rule-based GA similar to the work of Dorn-dorf and Pesch (1995). Table 2 tabulates three differenttypes of individuals for encoding that were used for compar-ison purpose. The permutation-based encoding GA wasshown to outperform the two other encoding algorithms.The writer adopts a permutation-based encoding procedure.A solution for the resource-constrained scheduling is repre-sented in a chromosome that illustrates an activity sequencefor the problem. Each gene in a chromosome stands for anactivity number. An activity has a lower priority than allpreceding activities in the sequence and a higher prioritythan all succeeding activities. Thus, an individual becomesa precedence feasible permutation of the set of activities.An activity cannot come after the position of one of its suc-cessors (predecessors) in the list used for the generation ofan individual. Precedence feasible individuals were gener-ated using the random number generator (Kim 2006). Therandom number generator simply provides precedence feasi-ble solutions, but does not give the fitness value (the projectduration), a possible starting and finishing time of an activ-ity, and the feasibility of resource constraints. The randomnumber generator, for example, generates an individual {2,7, 1, 6, 4, 3, 8, 9, 5, 11, 10} for 11 nondummy activities.

Improved parallel schedule generation schemeThis section presents the improved parallel schedule gen-

eration scheme to calculate the fitness value of an individ-ual. The improved parallel schedule generation scheme isthe extended process composed of the parallel scheme andthe transformation method. A new parameter, named trans-formation power, is created within the transformationmethod of the improved parallel scheme for the accurate in-dividual selection process. Applying the improved parallelscheme into the individuals in a population enables us to ob-tain accurate schedules that show the resource profile andthe project duration. A uniquely determined schedule (phe-notype) computed using the improved parallel scheme canbe related to more than one individual (genotype). As shownin Fig. 2, a uniquely determined schedule means that it is

Kim 1019

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 5: Improved genetic algorithm for resource-constrained scheduling of large projects

possible for several individuals to have the same fitnessvalue that is equal to the project duration, but their startingtime should be totally different. The unique schedules asgenotypes in the search space may be related to the sameschedule, which is the project duration for the RCPSP.

The parallel scheme consists of J stages in each of whicha set of activities is scheduled. A unique feature of the par-allel scheme is that each stage n is associated with a sched-ule time tn, where tm £ tn for m £ n holds. On account of thisschedule time, the set of scheduled activities is divided intothe following two subsets: (i) activities which were sched-uled and are completed up to the schedule time are in thecomplete set (Cn); and (i) activities which were scheduled,but which are still active at the schedule time, are in the ac-tive set (An).

Also the decision set (Dn) exists like the serial schedulegeneration scheme. In contrast to the serial scheme, the par-allel scheme contains all as yet unscheduled activities thatare available for scheduling with regard to precedence andresource constraints. The partial schedule of each stage ismade by the activities in the complete set and the active set.The schedule time of a stage is equal to the earliest comple-tion time of activities in the active set of the previous stage.Each stage is made up of two steps: First, the new scheduletime is determined and activities with a finish time equal tothe (new) schedule time are removed from the active set andput into the complete set. This, in turn, may place a numberof activities into the decision set. Second, one activity fromthe decision set is selected according to the order of the ac-tivity list representation and scheduled to start at the currentschedule time. Afterwards, this activity is removed from the

decision set and put into the active set. The second proce-dure is repeated until the decision set is empty; i.e., activ-ities were scheduled or are no longer available forscheduling with regard to resource constraints. The parallelscheme terminates when all activities are in the completeset or active set.

As a sequential process, the proposed algorithm performsthe transformation of the fitness values. As the objectivefunction for the RCPSP is to minimize the fitness function,a transformation from minimization to maximization wasneeded to ensure that the individual selection process per-forms correctly. Various transformation methods can beused to transform an original objective function value to afitness value. For example, a fitness value can be obtainedeither by subtracting the objective function value from anarbitrary large constant or by taking the reciprocal of the ob-jective function value. Thetransformation method proposedby Lee and Kim (1996) was modified by adding a new pa-rameter, named transformation power (TP), to their trans-formed objective function to emphasize low fitness values,as shown in eq. [5]:

½5� bf ðiÞ ¼ exp

��h�f ðiÞTP

where, bf ðiÞis a transformed fitness value, f(i) is an originalfitness value obtained from the application of the parallelschedule generation scheme, h is a parameter to be chosento make the fitness value lie in a particular range between 0and 1 and set to 0.004, and TP is a transformation power setto 1.6 based on trial and error. The addition of the transfor-mation power showed how much the transformed fitness va-

Fig. 1. Main procedure of the proposed algorithm.

Table 2. Comparison of the individuals used in three genetic algorithms.

Encoding Individual I ExamplePermutation-based encoding I = {j1I,. . .. . .. . ., jJI} I = {2, 4, 6, 1, 3, 5}Priority value-based encoding I = {pv1

I,. . .. . .. . ., pvJI} I = {0.58, 0.64, 0.31, 0.87, 0.09, 0.34}

Priority rule-based encoding I = {pr1I, . . .. . .. . ., prJ

I} I = {LFT, LST, MTS, MSLK, WRUP, GRPW}

1020 Can. J. Civ. Eng. Vol. 36, 2009

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 6: Improved genetic algorithm for resource-constrained scheduling of large projects

lues can be emphasized by making the original fitness va-lues low.

Genetic operatorsThis section presents the genetic operators that were used

in the development of the proposed algorithm. The selec-tion operation generally plays the role of choosing parentchromosomes for crossover. The concept of the selectionwas to determine selection probability for each individualproportional to the fitness value. The proposed algorithmfirst employs the elitist strategy that keeps copying the bestchromosome to the new population while the rest of thepopulation remains as normal. It then selects parent chro-mosomes using the roulette wheel selection method. Figure3 illustrates the individuals in the population of the lastgeneration to show the selection process of the elitist indi-vidual. The selection by elitism enables the proposed algo-rithm to increase the performance of the GA rapidlybecause it prevents a loss of the best found solution.Among all the individuals from previous generations, thebest individual, elite, does not always pass to a new popu-lation.

The goal of a crossover operator is to combine pieces ofinformation coming from different individuals in the popula-tion. Both preserving good building blocks and maintainingrandomness and population diversity are important forsearching nonredundant solutions. The order of the first sev-eral activities is the key to preserving the whole individual,providing the basis for the remaining activities, and decidinghow good the order of the remaining activities will be to acertain degree. Good activity combinations are likely to beamong the first several activities. It is less variable if thestarting times for schemata is fixed early in the genotype be-cause there are only a limited number of activities that canbe scheduled to start at time t = 0 based on precedence rela-tionships. On the other hand, many more potential activitiescan be scheduled to start at a much later point in time. Forexample, schema of the genotypes {1, 2, *, *, *, *, *, *, *,*, *} or {2, 1, *, *, *, *, *, *, *, *, *} will be likely toschedule at the same starting time if they do not violate theresource constraints. A schema defined later in the genotypesuch as {*, *, *, *, *, *, *, *, *, 9, 11} is likely to represent

many different starting times for activities 9 and 11 basedon the ordering of the unfixed positions.

Two different types of crossover operators, union cross-over operator 3 (UX3) (Leu and Yang 1999) and one-pointcrossover (Hartmann 1998), were identified as good meth-ods for the permutation-based encoding for the solution tothe RCPSP. They were developed to deal with this type ofordering problem that occurred due to crossover operation.The performance of the UX3 operator was reduced as itcaused significant change to the individual representationsof the parent individuals by disrupting potential buildingblocks and high fitness schema at each generation (Zhuangand Yassine 2004). Their findings are reasonable because ifbetter solutions were found with UX3, it is not due to therecombination theories fundamental to the GA, but to therandomization of UX3. The major characteristic of the UX3operator is that it must change gene positions more fre-quently than the one-point crossover operator. It is notablethat the same issue can be raised when applying the one-point crossover operator, but one-point crossover preservesthe good schemas by keeping the first half of activities in-tact (Reeves 1995; Hartmann 1998). For this reason, theone-point crossover operator was selected for the permuta-tion-based encoding to the RCPSP. Figure 4 illustrates theoperation of one-point crossover that produces new offspringindividuals. The one-point crossover operator is capable ofpreserving schemata in a more effective manner because it

Fig. 2. Uniquely determined schedules.

Fig. 3. Individuals in the population of the last generation.

Kim 1021

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 7: Improved genetic algorithm for resource-constrained scheduling of large projects

keeps the first half of both parents intact and is less randomthan UX3.

The goal of the uniform mutation is to exchange twoneighboring genes without violating the precedence relation-ship to create an individual that could not have been pro-duced by the crossover operator. The uniform mutationoperator was performed in two steps: (i) the operator gener-ates a real random number for each individual from a gener-ation; and (ii) it swaps an activity after a pivot point withthe activity at a pivot point if a random number is equal toor less than the mutation probability. Figure 5 illustrates theoperation of uniform mutation that produces a new offspringindividual. This operator could be ineffective because thegenes in neighboring individual positions could be switchedwhile still representing the same schedule. Therefore, it isimportant to note that a mutation on an individual does notnecessarily change the related schedule because interchang-ing two activities that have the same start time in the activ-ity sequence is likely to change the individual, but not therelated schedule.

Experimental results and analysisThe permutation-based elitist GA using the improved par-

allel schedule generation scheme was programmed andtested using the Java programming language on a Pentium 4CPU 3.06 GHz processor and 448 MB of RAM under theWindows XP operating system. Microsoft Office Excel2003 was selected as the representation and analysis toolfor the data. The parameters of the developed algorithm in-clude population size, transformation power, crossover prob-ability, and mutation probability for global search. Threedifferent types of termination conditions can be determinedto stop the run of the algorithm. They include the numberof generations, timeout, and the number of unique schedules.After preliminary studies, the parameter configurations weredetermined to obtain the best performance from the algo-rithm because the population size and various parameterswere the critical elements for optimal performance. Thenext section consists of two parts: (i) sensitivity analysisthat examines the effects of genetic operators used in theproposed algorithm; and (ii) implementation aspects that in-clude multiple renewable resources and large-sized projects.

Sensitivity analysisThis section presents the effects of the elitist roulette se-

lection operator, the one-point crossover operator, and theuniform mutation operator on the performance of the devel-oped algorithm. A case example of a construction projectschedule was selected from the work of Shanmuganayagam(1989). Figure 6 shows the precedence diagram for the caseexample of 11 nondummy activities associated with multipleresources. The diagram also includes activity name, dura-tion, and resource requirements. The developed algorithmon the case example was tested using a single resource todemonstrate the robustness of the current approach. The de-fault set of the parameters is as follows: the population size,transformation power, crossover and mutation probabilitywere set to 30, 1.6, 0.5, and 0.03, respectively. The algo-rithm was terminated with 100 generations using the im-proved parallel schedule generation scheme.

Using the elitist roulette selection operator, the developedalgorithm first preserves the best individual generated up togeneration t into the current generation t+1, as the fitnessvalue of an individual in the current population is largerthan that of every individual in the current population. Fig-ure 7 shows the profile of the schedule obtained from theelitist individual, which was produced from the top of theindividuals in the last generation of 100. The project dura-tion was found at 38 d, which is the same as one producedby GA-scheduler (Chan et al. 1996) to the case exampleproblem.

To examine the effects of the one-point crossover and theuniform mutation operators, two runs associated with differ-ent probabilities were conducted for each operator. Figure8a shows the convergence behaviors of standard deviationfitness values between two different crossover probabilitiesof 0 and 0.5 to illustrate the difference due to the crossoveroperation. It is notable that when no crossover occurred, thealgorithm could not reach the optimal fitness value (38 d)with fluctuation of standard deviation values. The mean fit-ness values with the crossover probability of zero did notconverge to the single value, as opposed to that with thecrossover probability of 0.5. The one-point crossover per-formed well overall with consistent standard deviation val-ues after 35 generations. Figure 8b shows the convergencebehaviors of standard deviation fitness values between twodifferent mutation probabilities of 0 and 0.03 to illustratethe difference due to the mutation operation. It is notablethat when no mutation occurred, the algorithm could reachthe optimal fitness value (38 d) with the consistent standarddeviation values after 22 generations. It seems likely toshow the premature convergence, which is the disadvantageof the mutation operator. The mean fitness values with themutation probability of 0.03 did converge to the single valuelater than the mutation probability of zero, as opposed to the

Fig. 4. New offspring individuals produced by crossover operation. Fig. 5. New offspring individual produced by mutation operation.

1022 Can. J. Civ. Eng. Vol. 36, 2009

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 8: Improved genetic algorithm for resource-constrained scheduling of large projects

result of the crossover operation. This result means that theuniform mutation works well to avoid the premature conver-gence, because when the mutation occurred in a certain de-gree, the solution space is more explored than when it didnot occur.

Implementation aspectsThis section presents the implementation aspects of the

developed algorithm using two experiments: (i) multiple re-newable resources; and (ii) large-sized projects. The first ex-periment was run to take into account multiple resourcesusing the same case example. Three different types of re-sources were considered. When multiple resources are re-quired, project duration will vary depending on the resourceavailability and requirements. The resource availabilities areconstant over the project duration for this experiment. Theresource availabilities of three resources are assumed to be

8, 1, and 1, for R1, R2, and R3, respectively. After manytrials, the population size, transformation power, crossoverrate, and mutation rate were set to 50, 1.6, 0.5, and 0.03, re-spectively. The overall fitness value, which is the projectduration of the individual considered, was obtained for mul-tiple resources using the improved parallel schedule genera-tion scheme. Figure 9 shows the result of scheduling thecase example with multiple resources. The project durationwas 54 d, which is longer than the one obtained for a singleresource due to resource conflicts. It was found that activity9 was delayed for two days due to conflict with R2. It wasalso found that activities 3 and 10 were postponed for sixand ten days due to resource conflicts with R3, respectively.

The second experiment was conducted for large-sizedprojects to verify the performance of the developed algo-rithm using the improved parallel schedule generationscheme. Ninety instance projects were selected from the

Fig. 6. Precedence diagram of case example. ES, early start; EF, early finish; LS, late start; LF, late finish; TF, total float; Act, activity;Dur, duration.

Fig. 7. Profile of the schedule produced by the elitist.

Kim 1023

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 9: Improved genetic algorithm for resource-constrained scheduling of large projects

project scheduling problem library (PSPLIB) for this experi-ment (Kolisch and Sprecher 1997). The projects consist of30 problems for each of 30, 60, and 120 activities. Eachproblem instance has four renewable resources. The overallperformance of the developed algorithm was measured bythe means of finding the best fitness values, which are com-pared with the optimal and lower bound solutions. The opti-mal solutions for the projects with 30 activities are known.Only heuristic solutions, which are lower bound solutions,are known for the projects with 60 and 120 activities. The

input parameter values for the algorithm are as follows: Ini-tial population size, transformation power, crossover proba-bility, mutation probability were set to 50, 1.6, 0.5, and0.03, respectively. To obtain the required computational re-sults, the termination condition was set to the maximumnumber of 100 unique schedules for each of ninety projects.The moment when the best solution was found for the firsttime is considered an optimal and (or) near optimal solutionbecause their standard deviations converge to zero.

Table 3 shows the comparison results with well-known

Fig. 8. Convergence behaviors of standard deviation: (a) one-point crossover; (b) uniform mutation. Cp, crossover probability; Mp, mutationprobability.

1024 Can. J. Civ. Eng. Vol. 36, 2009

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 10: Improved genetic algorithm for resource-constrained scheduling of large projects

Fig. 9. Scheduling result with multiple resources.

Table 3. Comparison results with well-known optimality. (Bold numbers indicate that solutions from proposed algorithm exactly matchoptimal and lower bound solutions.)

Project size 30-Activity 60-Activity 120-Activity

Test ID Optimality Improved GA Lower bound Improved GA Lower bound Improved GA1 59 59 78 78 79 792 67 67 78 78 88 883 65 65 79 79 100 1004 64 64 71 71 71 715 57 57 82 87 81 846 59 59 87 87 102 1027 59 59 75 75 93 938 58 58 72 73 77 779 49 49 60 65 86 86

10 55 55 79 84 103 10311 58 58 75 75 70 7412 59 59 66 66 107 10713 55 55 69 69 91 9514 49 49 76 76 75 7515 47 47 87 87 74 7416 53 53 76 76 85 9017 66 66 68 68 81 8118 48 48 71 71 90 9019 65 65 76 76 79 7920 60 60 66 66 77 7721 63 63 71 71 92 9222 54 54 87 87 80 8023 50 50 84 84 72 7224 57 57 62 62 97 9725 58 58 101 101 77 7726 58 58 66 66 88 8827 55 55 77 77 84 8428 44 44 88 88 78 7829 59 59 82 82 106 10630 54 54 70 70 92 92

Kim 1025

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 11: Improved genetic algorithm for resource-constrained scheduling of large projects

optimal and lower bound solutions. The writer measured theminimum fitness values for each of 30 problems by projectsize. Bold numbers in Table 3 indicate that the solutionsfound from the proposed algorithm exactly match with theoptimal and lower bound solutions. The proposed algorithmfound 30 optimal solutions out of 30 problems associatedwith 30 activities, while it produced 24 suboptimal solutionsout of 30 problems associated with both 60 and 120 activ-ities. The algorithm also produced the average deviationfrom the optimal and lower bound solutions of 0.00%,0.74%, and 0.66% for the projects associated with 30, 60,and 120 activities, respectively. The algorithm performedwell overall for the large-sized projects associated with mul-tiple renewable resources. The algorithm converges to a sin-gle point across the number of generations as it searches forthe solution space.Note: GA, genetic algorithm.

ConclusionsA schedule generation scheme is essential in most heuris-

tic solution procedures for the resource-constrained projectscheduling problem. The computation of a fitness value is avital mechanism in the meta-heuristic approaches to the re-source-constrained scheduling. As an attempt to address thelack of an efficient algorithm using the parallel schedule gen-eration scheme, this paper presented an improved elitist GAfor resource-constrained scheduling of large projects. Theimproved parallel schedule generation scheme was well in-corporated in the proposed algorithm. The new parameter,named transformation power, performed accurately for theindividual selection process. The elitist individual, which isproduced from the top of the individuals in the last genera-tion, provided the same project duration as the one obtainedfrom the other GA method. The performances of the geneticoperators used in the algorithm showed their capability tosearch for the solution. Extensive computational results usinglarge-sized multiple resource-constrained project schedulingproblems showed that the proposed algorithm demonstratedits performance and accuracy through the comparisons withoptimal and lower bound solutions. Additional studies arebeing conducted to investigate the computation time for thealgorithm as well as to incorporate other local search algo-rithms to search for an optimal solution that the GA cannotexplore. In addition, a user friendly interface of the algorithmis under development for running numerous resource-con-strained project scheduling problems at the same time.

AcknowledgementsThe writer would like to thank Dr. Anurag Agarwal at the

Department of Information Systems and Operations Man-agement, University of Florida for providing me with theoptimal and lower bound solutions to the problems. I amgrateful to anonymous referees for their critical and con-structive comments that improved the quality of this paper.

ReferencesAlcaraz, J., and Maroto, C. 2001. A robust genetic algorithm for

resource allocation in project scheduling. Annals of OperationsResearch, 102(1-4): 83–109. doi:10.1023/A:1010949931021.

Baar, T., Brucker, P., and Knust, S. 1999. Tabu-search algorithmsand lower bounds for the resource-constrained project schedul-

ing problem. In Meta-heuristics: Advances and trends in localsearch paradigms for optimization. Edited by S. Voss, S. Mar-tello, I. Osman, and C. Roucairol. Kluwer Academic Publishers,Boston, Mass. pp. 1–18.

Boctor, F.F. 1996. Resource-constrained project scheduling by si-mulated annealing. International Journal of Production Research,34(8): 2335–2351. doi:10.1080/00207549608905028.

Bouleimen, K., and Lecocq, H. 2003. A new efficient simulated an-nealing algorithm for the resource-constrained project schedul-ing problem and its multiple modes version. European Journalof Operational Research, 149(2): 268–281. doi:10.1016/S0377-2217(02)00761-0.

Chan, W., Chua, D.K.H., and Kannan, G. 1996. Construction re-source scheduling with genetic algorithms. Journal of Construc-tion Engineering and Management, 122(2): 125–132. doi:10.1061/(ASCE)0733-9364(1996)122:2(125).

Dorndorf, U., and Pesch, E. 1995. Evolution based learning in a jobshop scheduling environment. Computers & Operations Re-search, 22(1): 25–40. doi:10.1016/0305-0548(93)E0016-M.

Goldberg, D.E. 1989. Genetic algorithms in search, optimization,and machine learning. Addison-Wesley Publishing Company,Inc., Reading, Mass.

Hartmann, S. 1998. A competitive genetic algorithm for resource-constrained project scheduling. Naval Research Logistics, 45(7):733–750. doi:10.1002/(SICI)1520-6750(199810)45:7<733::AID-NAV5>3.0.CO;2-C.

Hartmann, S. 2002. A self-adapting genetic algorithm for projectscheduling under resource constraints. Naval Research Logistics,49(5): 433–448. doi:10.1002/nav.10029.

Hegazy, T. 1999. Optimization of resource allocation and levelingusing genetic algorithms. Journal of Construction Engineeringand Management, 125(3): 167–175. doi:10.1061/(ASCE)0733-9364(1999)125:3(167).

Herroelen, W. 2004. Project scheduling-theory and practice. Pro-duction and Operations Management, 14(4): 413–432.

Herroelen, W., and Leus, R. 2005. Identification and illuminationof popular misconceptions about project scheduling and timebuffering in a resource-constrained environment. The Journal ofthe Operational Research Society, 56(1): 102–109. doi:10.1057/palgrave.jors.2601813.

Hindi, K.S., Yang, H., and Fleszar, K. 2002. An evolutionary algo-rithm for resource-constrained project scheduling. IEEE Trans-actions on Evolutionary Computation, 6(5): 512–518. doi:10.1109/TEVC.2002.804914.

Holland, J.K. 1975. Adaptation in neural and artificial systems.University of Michigan Press, Ann Arbor, Mich.

Kim, J.-L. 2006. A multiheuristic approach to resource constrainedproject scheduling: an adaptive hybrid genetic algorithm. Ph.D.dissertation, Department of Civil and Coastal Engineering, Uni-versity of Florida, Gainesville, Fla.

Kim, J.-L., and Ellis, R.D. 2008. Permutation-based elitist geneticalgorithm for optimization of large-sized resource-constrainedproject scheduling. Journal of Construction Engineering andManagement, 134(11): 904–913. doi:10.1061/(ASCE)0733-9364(2008)134:11(904).

Kohlmorgen, U., Schmeck, H., and Haase, K. 1999. Experienceswith fine-grained parallel genetic algorithms. Annals of Opera-tions Research, 90: 203–219. doi:10.1023/A:1018912715283.

Kolisch, R., and Sprecher, A. 1997. PSPLIB - a project schedulingproblem library. European Journal of Operational Research,96(1): 205–216. doi:10.1016/S0377-2217(96)00170-1.

Lee, J.-K., and Kim, Y.-D. 1996. Search heuristics for resource-constrained project scheduling. The Journal of the OperationalResearch Society, 47(5): 678–689. doi:10.2307/3010018.

1026 Can. J. Civ. Eng. Vol. 36, 2009

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.

Page 12: Improved genetic algorithm for resource-constrained scheduling of large projects

Leu, S., and Yang, C. 1999. GA-based multicriteria optimal modelfor construction scheduling. Journal of Construction Engineeringand Management, 125(6): 420–427. doi:10.1061/(ASCE)0733-9364(1999)125:6(420).

Pinson, E., Prins, C., and Rullier, F. 1994. Using tabu search forsolving the resource-constrained project scheduling problem. InProceedings of the 4th International Workshop on Project Man-agement and Scheduling, Leuven, Belgium. pp. 102–106.

Reeves, C.R. 1995. Genetic algorithms and combinatorial optimiza-tion. Applications of Modern Heuristic Methods. Edited by V.J.Rayward-Smith. Alfred Waller, Henley-on-Thames, UK.pp. 111–125.

Shanmuganayagam, V. 1989. Current float techniques for resourcescheduling. Journal of Construction Engineering and Manage-ment, 115(3): 401–411. doi:10.1061/(ASCE)0733-9364(1989)115:3(401).

Toklu, Y.C. 2002. Application of genetic algorithms to constructionscheduling with or without resource constraints. Canadian Jour-nal of Civil Engineering, 29(3): 421–429. doi:10.1139/l02-034.

Valls, V., Quintanilla, S., and Ballestin, F. 2003. Resource-con-strained project scheduling: a critical activity reordering heuris-tic. European Journal of Operational Research, 149(2): 282–301.doi:10.1016/S0377-2217(02)00768-3.

Valls, V., Ballestin, F., and Quintanilla, S. 2005. Justification andRCPSP: a technique that pays. European Journal of OperationalResearch, 165(2): 375–386. doi:10.1016/j.ejor.2004.04.008.

Zhuang, M., and Yassine, A.A. 2004. Task scheduling of paralleldevelopment projects using genetic algorithm. In Proceedings ofASME 2004 International Design Engineering Technical Con-ferences and Computers and Information in Engineering Confer-ence, Salt Lake City, Utah USA, September 28-October 2, 2004.pp. 1–11.

Kim 1027

Published by NRC Research Press

Can

. J. C

iv. E

ng. D

ownl

oade

d fr

om w

ww

.nrc

rese

arch

pres

s.co

m b

y C

ON

CO

RD

IA U

NIV

on

11/1

3/14

For

pers

onal

use

onl

y.