a genetic algorithm with local search using activity list characteristics for solving...

10
IEEJ TRANSACTIONS ON ELECTRICAL AND ELECTRONIC ENGINEERING IEEJ Trans 2014; 9: 190–199 Published online in Wiley Online Library (wileyonlinelibrary.com). DOI:10.1002/tee.21955 Paper A Genetic Algorithm with Local Search Using Activity List Characteristics for Solving Resource-Constrained Project Scheduling Problem with Multiple Modes Ikutaro Okada a , Non-member Koji Takahashi, Non-member Wenqiang Zhang, Non-member Xiaofu Zhang, Non-member Hongyu Yang, Non-member Shigeru Fujimura, Senior Member In this paper, we aim to solve the problem of resource-constrained project scheduling with multiple modes (rc-PSP/mM), in which multiple execution modes are available for each of the project’s activity and with minimization of makespan as objective. We present a new genetic algorithm approach in order to solve this problem. In this procedure, we propose a new mutation operator that exploits a critical path and two new local search procedures, i.e. critical path improvement local search (cpiLS ) and iterative forward/backward local search (ifbLS ), using activity list characteristics. The cpiLS reduces the critical path and the ifbLS improves resource allocation of the schedule of rc-PSP/mM. Also, to evaluate the proposed approach, we compare the results of the computational experiment on certain standard project instances with the several competing heuristic procedures presented in the literature, and it has been revealed that our procedure is one of the most competitive among the algorithms. © 2014 Institute of Electrical Engineers of Japan. Published by John Wiley & Sons, Inc. Keywords: resource-constrained project scheduling problem with multiple modes, genetic algorithm, precedence feasible activity list, reduction procedure, iterative forward/backward local search, critical path improvement local search Received 10 July 2012; Revised 3 April 2013 1. Introduction The resource-constrained project scheduling problem (rc-PSP) is a problem that sets out to find the optimal schedule that minimizes the total project time, referred to as makespan, under activity precedence and availability of limited renewable resources. It is known to be an NP-hard combinatorial optimization problem [1]. Especially in the case of construction project, several alternative methods and/or procedures can exist to handle each construction process. To deal with this issue, it is essential that the methods and/or procedures applied for an activity may be treated as several different modes that can be selected in the scheduling of the projects. In this context, rc-PSP is extended to a more realistic model, which is rc-PSP with multiple modes (rc-PSP/mM). In rc-PSP/mM, each activity is performed in one of several modes. Each activity mode represents an alternative way of combining different levels of resource requirements with a related duration. In this model, according to Slowinski et al . [2], the resources are categorized as renewable, nonrenewable, and doubly constrained resources. While each renewable resource has a limited per-period availability such as manpower and machines, each nonrenewable resource has an availability limit for the entire project, such as the budget for the project. Doubly constrained resources are limited both for each period and for the whole project. However, since they can simply be considered as a Correspondence to: Ikutaro Okada. E-mail: [email protected] Graduate School of Information, Production and Systems, Waseda Uni- versity, 2-7 Hibikino, Wakamatu-ku, Kitakyushu-shi, Fukuoka 808- 0135, Japan combination of two other kinds of resources, we do not consider them outright. The objective is to find a mode and a finishing time for each optimal schedule activity that minimizes the makespan and is feasible with respect to precedence and resource constraints. Since rc-PSP/mM is a generalization of the rc-PSP, it is also NP- hard. Furthermore, if there are at least two nonrenewable resources, the problem of finding a feasible solution for rc-PSP/mM is NP- complete [3]. Before research on rc-PSP/mM had been carried out, since the pioneering work of Kelley [4], rc-PSP has been addressed by many researchers. As the first solution method for multiple mode problems, Slowinski [5] presented a one-stage and two-stage linear programming approach. After Slowinski, many exact procedures had been proposed. However, they were unable to find an optimal solution in a reasonable computation time for large-sized realistic projects [6]. This situation has led to the development of different heuristic or meta-heuristic procedures for rc-PSP/mM. Among them, the most recent studies are as follows: Genetic algorithms (GA) have been presented by Peteghem and Vanhoucke [7], Elloumi and Fortemps [8] and Lova et al . [9]; Bouleimen and Lecocq [10] presented a simulated annealing approach (SA); Nonobe and Ibaraki [11] proposed a tabu search procedure (TA); Jarboui et al . [12] used a particle swarm optimization; and Ranjbar et al . [13] presented a hybrid scatter-search using the path re- linking methodology as a solution combination method. In this paper, in order to solve rc-PSP/mM with the minimization of makespan as the objective, we propose a new GA approach. In this GA, we have used the individual representation that consists of a precedence feasible activity list (AL) and a mode assignment. Here, an AL is defined as precedence feasible if any predecessor © 2014 Institute of Electrical Engineers of Japan. Published by John Wiley & Sons, Inc.

Upload: shigeru

Post on 09-Apr-2017

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

IEEJ TRANSACTIONS ON ELECTRICAL AND ELECTRONIC ENGINEERINGIEEJ Trans 2014; 9: 190–199Published online in Wiley Online Library (wileyonlinelibrary.com). DOI:10.1002/tee.21955

Paper

A Genetic Algorithm with Local Search Using Activity List Characteristicsfor Solving Resource-Constrained Project Scheduling Problem with Multiple

Modes

Ikutaro Okadaa, Non-member

Koji Takahashi, Non-member

Wenqiang Zhang, Non-member

Xiaofu Zhang, Non-member

Hongyu Yang, Non-member

Shigeru Fujimura, Senior Member

In this paper, we aim to solve the problem of resource-constrained project scheduling with multiple modes (rc-PSP/mM), inwhich multiple execution modes are available for each of the project’s activity and with minimization of makespan as objective.We present a new genetic algorithm approach in order to solve this problem. In this procedure, we propose a new mutationoperator that exploits a critical path and two new local search procedures, i.e. critical path improvement local search (cpiLS )and iterative forward/backward local search (ifbLS ), using activity list characteristics. The cpiLS reduces the critical path andthe ifbLS improves resource allocation of the schedule of rc-PSP/mM. Also, to evaluate the proposed approach, we compare theresults of the computational experiment on certain standard project instances with the several competing heuristic procedurespresented in the literature, and it has been revealed that our procedure is one of the most competitive among the algorithms.© 2014 Institute of Electrical Engineers of Japan. Published by John Wiley & Sons, Inc.

Keywords: resource-constrained project scheduling problem with multiple modes, genetic algorithm, precedence feasible activity list, reductionprocedure, iterative forward/backward local search, critical path improvement local search

Received 10 July 2012; Revised 3 April 2013

1. Introduction

The resource-constrained project scheduling problem (rc-PSP) isa problem that sets out to find the optimal schedule that minimizesthe total project time, referred to as makespan, under activityprecedence and availability of limited renewable resources. It isknown to be an NP-hard combinatorial optimization problem [1].Especially in the case of construction project, several alternativemethods and/or procedures can exist to handle each constructionprocess. To deal with this issue, it is essential that the methodsand/or procedures applied for an activity may be treated as severaldifferent modes that can be selected in the scheduling of theprojects. In this context, rc-PSP is extended to a more realisticmodel, which is rc-PSP with multiple modes (rc-PSP/mM).

In rc-PSP/mM, each activity is performed in one of severalmodes. Each activity mode represents an alternative way ofcombining different levels of resource requirements with a relatedduration. In this model, according to Slowinski et al . [2], theresources are categorized as renewable, nonrenewable, and doublyconstrained resources. While each renewable resource has a limitedper-period availability such as manpower and machines, eachnonrenewable resource has an availability limit for the entireproject, such as the budget for the project. Doubly constrainedresources are limited both for each period and for the wholeproject. However, since they can simply be considered as a

Correspondence to: Ikutaro Okada. E-mail: [email protected]

Graduate School of Information, Production and Systems, Waseda Uni-versity, 2-7 Hibikino, Wakamatu-ku, Kitakyushu-shi, Fukuoka 808-0135, Japan

combination of two other kinds of resources, we do not considerthem outright. The objective is to find a mode and a finishing timefor each optimal schedule activity that minimizes the makespanand is feasible with respect to precedence and resource constraints.

Since rc-PSP/mM is a generalization of the rc-PSP, it is also NP-hard. Furthermore, if there are at least two nonrenewable resources,the problem of finding a feasible solution for rc-PSP/mM is NP-complete [3].

Before research on rc-PSP/mM had been carried out, since thepioneering work of Kelley [4], rc-PSP has been addressed bymany researchers. As the first solution method for multiple modeproblems, Slowinski [5] presented a one-stage and two-stage linearprogramming approach. After Slowinski, many exact procedureshad been proposed. However, they were unable to find an optimalsolution in a reasonable computation time for large-sized realisticprojects [6]. This situation has led to the development of differentheuristic or meta-heuristic procedures for rc-PSP/mM. Amongthem, the most recent studies are as follows: Genetic algorithms(GA) have been presented by Peteghem and Vanhoucke [7],Elloumi and Fortemps [8] and Lova et al . [9]; Bouleimen andLecocq [10] presented a simulated annealing approach (SA);Nonobe and Ibaraki [11] proposed a tabu search procedure (TA);Jarboui et al . [12] used a particle swarm optimization; and Ranjbaret al . [13] presented a hybrid scatter-search using the path re-linking methodology as a solution combination method.

In this paper, in order to solve rc-PSP/mM with the minimizationof makespan as the objective, we propose a new GA approach. Inthis GA, we have used the individual representation that consistsof a precedence feasible activity list (AL) and a mode assignment.Here, an AL is defined as precedence feasible if any predecessor

© 2014 Institute of Electrical Engineers of Japan. Published by John Wiley & Sons, Inc.

Page 2: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

GA BASED ON ACTIVITY LIST CHARACTERISTICS FOR RC-PSP/MM

of an activity appears before this activity in the list. A schedulerelated to an individual is generated by applying the serial schedulegeneration scheme (serial SGS) [14] to its precedence feasible ALwith the mode assignment. Thus, a precedence feasible AL hasa characteristic that each individual corresponds to a precedenceand renewable resource feasible schedule determined uniquely.We denote the GA based on this representation using an AL byGA-al. We make use of such a characteristic of the precedencefeasible AL to improve the schedule by changing the individual,to construct genetic operators such as crossover and mutation, andalso to introduce local search procedures to enhance the GA-al.In other words, we have proposed the iterative forward/backwardlocal search (ifbLS ) procedure which is created from the extendedgeneration scheme by Peteghem and Vanhoucke [7](egsPV ) bytransforming it into a local search to improve resource allocation.We have also proposed a new mutation operator and a new criticalpath improvement local search (cpiLS ) procedure using criticalpath in the schedule of rc-PSP/mM with the aim to reduce thecritical path. The three procedures above are the contributions ofthis paper. The rest of the paper is organized as follows:. In Section2, the mathematical model of rc-PSP/mM is constructed. In Section3, the proposed GA with local searches using AL characteristics(GA-alc), i.e. GA-al with the ifbLS and cpiLS procedures, isintroduced. In Section 4, computational experiments are presented,as well as the comparison with several competing heuristics inother literature. In Section 5, the conclusion and future directionsin research are indicated.

2. Resource-constrained Project SchedulingProblem with Multiple Modes

2.1. Background Information In rc-PSP/mM, eachmode corresponds to a different time and resource trade-off optionfor the activity under consideration. A feasible schedule specifiesthe implementation mode as well as the finishing time for eachactivity. The rc-PSP/mM can be stated as follows: A project con-sists of a set of activities V = {0, . . . , I + 1}, where each activityi has to be processed in exactly one of the possible mi modesand once started, it must not be stopped until it is completed.The dummy activities 0 and I + 1 represent the beginning andthe termination of the project, respectively. There are two kindsof resources, i.e. renewable resources with K types and nonre-newable resources with N types available in limited quantities toprocess the activities. Each activity i consumes rρ

ijk units of renew-able resource k during each unit period of its processing time andrν

ijn units of nonrenewable resource n when mode j is used, whererρ

0jk = rρ

I +1jk = 0 and rν0jn = rν

I +1jn = 0. The maximum availabil-ity of each renewable resource k in each time period is aρ

k units(k = 1, . . . , K ). The maximum total availability of each nonre-newable resource n is aν

n units (n = 1, . . . , N ). The processingtime of activity i of the selected mode j is denoted by pij , wherep0j = pI +1j = 0. All values are assumed to be non-negative inte-gers. In addition, the activities are interrelated through two kindsof constraints, i.e. precedence and resource constraints, where theformer ensures that activity i in V is not started before all its pre-decessors have finished, and the latter ensures that the activitiesare processed consuming the required renewable and nonrenewableresources within limited capacities. The objective of rc-PSP/mM isto find a mode and a finishing time for each activity such that theschedule of the project is feasible with respect to the precedenceand the resource constraints, and the makespan is minimized. Theconceptual model of activity in rc-PSP/mM is illustrated using thenotations and the indices in Fig. 1. Table I presents a dataset forrc-PSP/mM, which contains 12 activities that include the dummybeginning and termination activity. Using this dataset, the prece-dence graph in Fig. 2 is constructed.

1, ii ip p…,Processing time ( m )

Activity

i

Predecessor

activities

Successor

activities

Resource consumption:

Renewable

Non-renewable

1, ,i iij ij Kr rρ ρ

1

, where ji is the mode of activity iνν

Maximum availability: Renewable

Non-renewable

1ρ ρ

1

, ,i iij ij Ka a

, ,i iij ij Na a

, ,i iij ij Nr r

ν ν

Fig. 1. Concept of activity in rc-PSP/mM

Table I. A dataset of rc-PSP/mMa

Resource consumption

Activityi

Modej

Durationpij

Renewableresource

R1

Non-renewable

resource N1 Suc(i )

0 (Dummy activity) 1, 2, 3

1 1 2 4 2 4, 52 9 5 03 1 7 1

2 1 5 2 1 9, 102 1 6 03 2 1 4

3 1 3 6 0 82 3 5 13 8 4 1

4 1 4 0 8 6, 72 5 1 13 2 4 2

5 1 0 8 5 9, 102 5 2 53 4 1 4

6 1 2 3 6 8, 92 6 0 103 8 5 0

7 1 3 4 3 82 5 3 23 10 4 0

8 1 2 2 6 112 7 5 23 8 1 4

9 1 1 2 1 112 5 0 03 9 1 0

10 1 6 3 0 112 7 1 23 10 0 4

11 (Dummy activity)

aNote: Resource availability of R1 and N1 is 6 and 30, respectively.

2.2. rc-PSP/mM To formulate the mathematical model,the following notations and decision variables are introduced:

Notations

i : activity index, i = 0, 1, 2, . . . , I , I + 1.j : mode index, j = 1, 2, . . . , mi , where mi is the number ofpossible modes for activity i .k : renewable resource type index, k = 1, 2, . . . , K .n: nonrenewable resource type index, n = 1, 2, . . . , N .

191 IEEJ Trans 9: 190–199 (2014)

Page 3: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

I. OKADA ET AL.

10

0

1

2

3

4

5

6

7

8

9 11

Fig. 2. Precedence graph of the data set of rc-PSP/mM

overall procedure: GA-alcinput: problem data, GA parameters output: the best schedule begin:

reduce the search space by reductiot

n procedures on the project data;

tion procedure;

P1(t) and update P1(t) to P2(t) ;iduals in P2(t) and update P2(t) to

eo

end

gen ← 0; e P(t) by initializainitializ

while (not terminating condition) dog P1(t) from P(t) by binary tournament selection routine;eneratedo one point crossover for individuals in

ndivdo critical path based mutation for iP3(t);do ifbLS for individuals in P3(t) and update P3(t) to P4(t);

Pdo cpiLS for individuals in P4(t) and update P4(t) to 5(t) ; P(t + 1) ← P5(t);t ← t +1;

nd sc ule;utput the best hed

Fig. 3. Overall procedure of GA-alc

T : horizon, i.e. upper bound on the project makespan which canbe determined by the sum of the maximal activity durations.Pre(i ): set of immediate predecessors of activity i .Suc(i ): set of immediate successors of activity i .rρ

ijk : per-period amount of renewable resource k required toexecute activity i when mode j is used.rν

ijn : amount of nonrenewable resource n required to executeactivity i when mode j is used.aρ

k : per-period availability of renewable resource k .aν

n : overall availability for the entire project of nonrenewableresource n .pij : processing time of activity i of selected mode j .

Decision variables

xijt =

⎧⎪⎨⎪⎩

1, if activity i is executed in mode j

and scheduled to be finished in time t

0, otherwise

Mathematical model of rc-PSP/mMThe mathematical model for rc-PSP/mM can be stated as follows:

min tM =T∑

t=1

txI +1,1,t (1)

s.t.mi∑

j=1

T∑t=1

xijt = 1,∀i (2)

maxe∈Pre(i )

⎛⎝ me∑

j=1

T∑t=1

txejt

⎞⎠ +

mi∑j=1

T∑t=1

pij xijt ≤mi∑

j=1

T∑t=1

txijt ,∀i (3)

I∑i=1

mi∑j=1

t+pij −1∑s=t

ijk xijs ≤ aρ

k , k = 1, 2, · · · , K , ∀t (4)

I∑i=1

mi∑j=1

T∑t=1

rνijn xijt ≤ aν

n , n = 1, 2, · · · , N (5)

xijt = 0 or1, ∀i , j , t (6)

In this model, the objective (1) is to minimize the makespantM , which corresponds to the finishing time of the last activityperformed in this project. The constraints given in (2)–(6) are usedto formulate the general feasibility of the problem. Constraint (2)ensures that each activity is performed exactly in one of its modes.Constraint (3) ensures that none of the precedence constraintsis violated. Constraint (4) ensures that the amount of renewableresource k used by all activities does not exceed its limited quantityin any time period. Constraint (5) limits the total consumption ofnonrenewable resource n to the available amount. Constraint (6)represents the usual integrity restriction.

3. Proposed Genetic Algorithm Approach

In this section, we present our solution, which includes a newGA to solve rc-PSP/mM. Originally, the GA that was introducedby John Holland [15] in 1975 is a stochastic search algorithmbased on the mechanism of natural selection and genetics byusing computer simulation. In GA, a set of initial solutionsis first expressed as chromosomes, which consist of severalgenes. Next, the chromosomes are used simultaneously to searchfor an optimal solution through crossover and mutation. Thechromosomes generate offspring. Then, the offspring whose fitnessis high is selected preferentially. Through this process, an optimalsolution will be found.

Let P(t) be the population in current generation t and Ps (t) (s =1, 2, 3, 4, 5) be the consecutively updated population of P(t) byconsecutive procedures in our algorithm. The overall procedureof the proposed approach is outlined in Fig. 3. In the proposedapproach, after the reduction procedure is preprocessed, the geneticprocedure starts with the initialization of chromosomes. Later, tillthe termination condition is met, tournament selection, one pointcrossover, the mutation using critical path, and two types of localsearch procedures, i.e. ifbLS and cpiLS, are performed in sequence.In the following six subsections, the reduction procedure, geneticrepresentation, initialization, and genetic operators are explained,and the new mutation, ifbLS and cpiLS as proposals are explainedin detail in Sections 3.7–3.9, respectively.

3.1. Reduction Procedures Before the GA is started,the reduction procedure of Sprecher et al . [16] is applied to reducethe search space. This procedure has been introduced to acceleratea branch-and-bound algorithm for rc-PSP/mM, and excludes thosemodes that are inefficient or nonexecutable and those resourcesthat are redundant. They define a mode to be inefficient if itsduration is not shorter and each of its resource request is not lessthan those of another mode of the same activity, and a mode tobe nonexecutable if its execution would violate the renewable ornonrenewable resource constraints in any schedule. The resourceconstraint for a renewable resource is violated by a mode if anyone of its resource request exceeds the resource availability, andthe resource constraint for a nonrenewable resource is violatedby a mode if the sum of the mode’s resource request and theminimal resource requests of the modes of other activities exceedsthe availability. They also define a nonrenewable resource to beredundant if the sum of the activities’ maximal requests for thisresource does not exceed its availability. Clearly, inefficient andnonexecutable modes as well as redundant nonrenewable resourcesmay be deleted from the project data without affecting theoptimal makespan. So by deleting those modes and nonrenewableresources, the search space is reduced, and consequently, thecomputation time is expected to be reduced.

3.2. Genetic representation Fixing the mode assign-ment allows rc-PSP/mM to be treated as rc-PSP. From the pointof view of using SGS for rc-PSP/mM, the representation of an

192 IEEJ Trans 9: 190–199 (2014)

Page 4: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

GA BASED ON ACTIVITY LIST CHARACTERISTICS FOR RC-PSP/MM

Position 0 1 …… p …… I I+1

Activity list a a(0) a(1) …… a(p) …… a(I) a(I+1)

Mode assignment m m(0) m(1) …… m(p) …… m(I) I+1

Fig. 4. Individual representation

Position 0

Priority list 1

1 7 9 3 4 5 6 8 10

5

11

1

2

0 4 10 9 2 8 6 7 3 1

Fig. 5. Priority list for the example project in Fig. 2

individual is a representation of priority among the activities to bescheduled. For rc-PSP, Kolisch and Hartmann [17] distinguishedfive different schedule representations in the literature, of whichthe AL representation is one of the most frequently used. Hart-mann and Kolisch [18] concluded from experimental tests that theprocedures based on AL representations outperform the other pro-cedures. Also, to exploit the characteristics of precedence feasibleAL mentioned in Section 1, we use AL representation as a part ofthe individual representation for rc-PSP/mM. However, not onlythe priority of activities to be scheduled decided by AL but alsothe processing times and resource requirements decided by a modeassignment influence possible start times and makespan. With sucha consideration, we represent an individual by a pair (a , m), ofwhich the precedence feasible AL is a and the mode assignmentis m . Here, an AL a = (a(0), a(1), . . . , a(I + 1)) is precedencefeasible; that is, for each activity a(p)

a(0) = 0, a(I + 1) = I + 1,

Pre(a(p)) ⊆ {a(0), a(1), . . . , a(p − 1)} for p = 1, . . . , I + 1. (7)

A mode assignment m represents a mapping that assigns one ofits selectable modes to each activity a(p) ε {0, 1, . . . , I +1} suchthat m(0) = m(I + 1) = 1. The individual (a , m) is represented inFig. 4. To obtain the sequence in which the activities are scheduledfrom an individual, the position p of the activity a(p) are treatedas the priority for scheduling.

To develop the genetic representation for rc-PSP/mM, there aretwo main aspects of the procedure for initialization and decoding.

3.3. Initialization procedure In the initialization pro-cedures, there are three main steps:

• Step 1: Generate a priority list for each individual.• Step 2: Create a precedence feasible AL using the priority list.• Step 3: Assign an execution mode randomly for each activity.

In Step 1, a priority list for an individual is a randomly generatedpermutation of activity numbers ordered by the position number ofthe activities represented by the integer exclusively within [0, I +1]. In the priority list, the smaller the position number, the higherthe order. A priority list for the example rc-PSP/mM project inFig. 2 is shown in Fig. 5. In Step 2, the feasible AL is identifiedby the process of appending to the end of uncompleted AL theunlisted activity of which all predecessors have already been inthe AL one by one based on the priority list created in Step 1while taking precedence constraints into consideration. Using thepriority list found in Fig. 5, the precedence feasible AL {0, 1, 4,6, 7, 5, 3, 8, 2, 10, 9, 11} is obtained. In Step 3, each activitya(p) is assigned randomly with an execution mode m(p) withinits selectable modes, as shown in the third row of Fig. 6. Thegenerated individual corresponding to the priority list in Fig. 5 isillustrated as per the first three rows of Fig. 6.

3.4. Decoding procedure In the decoding procedures,there are two main steps:

• Step 1: Improve the mode assignment of each individual by thelocal search of Hartmann [19].

Po 7 8 9 10 11

Activit 11

sition 0 1 2 3 4 5 6

y list 0 1 4 6 7 5 3 8 2 10 9

Mode 1

N1

assignment 1 1 2 1 1 3 2 3 3 2 1

0 2 1 6 3 4 1 4 4 1 2 0

Finish time 0 2 7 9 12 6 15 23 2 13 16 23

Fig. 6. An individual and its vector of finishing times

• Step 2: Apply the serial SGS [14] to each individual to make aprecedence and renewable resource feasible schedule.

In Step 1, an individual is improved with regard to nonrenewableresources by applying Hartmann’s [19] local search procedure. Foran individual (a , m), let Lv

n(m) denote the leftover capacity ofnonrenewable resource n = 1, 2, . . . , N , with respect to the modeassignment m , i.e.

Lνn(m) = aν

n −I∑

i=1

rνim(i )n , n = 1, · · · , N . (8)

Then, the negative leftover capacity Lvn(m) < 0 implies the

infeasibility of mode assignment m with respect to nonrenewableresource n . Let the number of nonrenewable resource units thatexceed the capacities be given by

Lν(m) =∑

n=1,···,NLν

n (m)<0

|Lνn(m)|. (9)

The procedure is then described as follows:

(a) Choose an activity randomly, and choose a different modeamong the selectable modes randomly for that activity.

(b) If the Lv (m) remains the same or decreases, the mode for thatactivity changes.

(c) Repeat steps (a) and (b) until the mode assignment is feasible(Lv (m) = 0) or until J consecutive unsuccessful trials toimprove the mode assignment have been carried out.

In this study, J is the average of the number of modes of allactivities in the project.

In step 2, the individual found in step 1 is transformed into aprecedence and renewable resource feasible schedule by applyingthe serial SGS. For the individual in Fig. 6, the schedule iscalculated as shown in Fig. 6, from which we can see that it isnonrenewable resource feasible and its makespan is 23.

3.5. Evaluation function We denote the makespan of aschedule related to an individual (a , m) as Cmax(a , m). Makespanis an appropriate evaluation function for rc-PSP. However, usingthe makespan as evaluation function for the rc-PSP/mM isinappropriate since the infeasible schedule can have the sameevaluation value as the feasible schedule. So, Hartmann [19]defined the following evaluation function for an individual:

fHART ={

Cmax(a , m) if Lν(m) = 0,

T + Lν(m) otherwise.(10)

However, Alcaraz et al . [20] have shown that two differentindividuals with the same value of Lv (m) and different makespanscan have the same evaluation value fHART , and they have definedtheir evaluation function given by (11), in which max _feas_Cmax

gives the maximal makespan of the feasible schedules related toindividuals of the current generation, and CPmin is the critical pathusing the minimal duration of each activity.

fALC =

⎧⎪⎨⎪⎩

Cmax(a , m) if Lν(m) = 0,

Cmax(a , m) + max _feas_Cmax

−CPmin + Lν(m) otherwise,

(11)

193 IEEJ Trans 9: 190–199 (2014)

Page 5: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

I. OKADA ET AL.

cut pointfather

2 3 4 10 1 6 9 5 7 8 11mode assignment 1 2 2 2 3 2 3 2 3 3 2 1

mother1 6 2 3 9 4 10 5 7 8 11

mode assignment 1 3 2 1 2 2 2 3 2 2 1 1

son2 3 4 10 1 6 9 5 7 8 11

mode assignment 1 2 2 2 3 3 2 2 2 2 1 1

father4 10 1 6 9 5 7 8 11

mode assignment 1 2 2 2 3 2 3 2 3 3 2 1mother

1 6 2 3 9 4 10 5 7 8 11mode assignment 1 3 2 1 2 2 2 3 2 2 1 1

daughter cut point

activity list 0

activity list 0

activity list 0

activity list 0 2 3

activity list 0

activity list 0 1 6 2 3 4 10 9 5 7 8 11mode assignment 1 3 2 1 2 2 3 2 3 3 2 1

Fig. 7. Illustration of crossover operator

According to Alcaraz et al . [20], the evaluation function computedby fALC has shown better results than the one by fHART . We usethis evaluation function.

3.6. Genetic Operators In this subsection, genetic oper-ators such as selection, crossover, and mutation used in this studyare explained in detail.

Selection operator: As a selection operator, the binary tour-nament selection, which selects an individual randomly for eachindividual in the current population, compares them and preservesthe best individual in the next generation, is used.

Crossover operator: We have used the one-point crossover forAL together with the mode assignment inherited from the parent.In this crossover operation, each pair of individuals is selected asthe parent with probability Pcross and produces a pair of individualsas offspring. This crossover first selects one positive integer k ascrossover point randomly and then generates an AL of offspringas follows. The first k positions in AL of the son are inheritedfrom the father in exactly the same order. The positions fromk+ 1 to I + 1 are inherited from the mother and preserve theirrelative order. The AL of the daughter is computed analogously,taking the first part from the mother and the second from thefather. The mode assignment in both the son and the daughter isgenerated with the mode of the corresponding activities inheritedfrom the father and mother. Figure 7 illustrates the operationby way of an example, where each mode in each individualcorresponds to the activity above in the same column as the modeassignment. The offspring produced by this crossover is feasiblein the precedence by Hartmann [21]. These offspring replace theparent, which means that the population size remains the same. Toavoid loosening high quality schedules, however, we do not do areplacement if one of the parents corresponds to a schedule withthe best found individual thus far.

Mutation operator: This will be explained later in Section 3.7.

3.7. Mutation operator Mutation is applied to creatediversity in the different individuals in the population. In addition,we intend for the mutation to search for schedules with shortmakespan. Such mutation in this study is described using theconcept of critical path in rc-PSP/mM. An activity path (path) isa sequence of activities connected by direct precedence relationsstarting with the activity 0 and terminating with the activity I + 1.For the precedence (i , i′) (i ∈ Pre(i′)) on a path, if the finishingtime of i does not equal the start time of i′, the precedence (i ,i′) is defined as a time gap. Analogous to the PERT technique,the ‘critical path in a schedule in rc-PSP/mM’ is defined as thepath that consists of the activities with a total float of zero. Inrc-PSP/mM, a feasible schedule has critical paths with time gapson it forced by resource constraints and/or without time gap on it.

procedure: Critical Path-based Mutation fo ndividualsput: parent P

t: offspring Cbegin

p ntlate critical th of C;

if (n cr al hny me p th riti pa

let A be the set cl s 1els

e set cl 2

let A be the set las ; ct an activity fro A r do y;

ly n if en po on b een th tesde sso d e earlies osit ed cc r o in L;

sition of < ppo on - 1

t i at the posi on + 1 i rando ly;

end

r iinoutpu

:offspring C ← are P;calcu pa

umber of itic pat = 1)if (there is a ti ga on e c cal th)

as ; elet A be th

elseass ;

c s 3 isele

selm an ml

p d of i ect random a positio fer t from the siti etw e la t f ipositioned pre ce r an th t p ion su esso A

if (the po )iput i at the psiti ;

else ppu

chati ;

nge the mode of mendoutput the offspring C;

Fig. 8. Critical path-based mutation procedure

A feasible schedule without nonrenewable resource constraintscan be considered as a set of packing of rectangles with the widthof duration and height of resource demand of activities in therectangle with the width of makespan and height of renewableresource availability. Therefore, the makespan of a schedule canbe improved by focusing on the activities whose packing can beimproved and by changing their positions in the AL and modes ofcorresponding individual within precedence feasibility. Where, itcan be considered that the activities to be focused on are those onthe critical path or related to the time gap because the reductionof the critical path or the time gap on it affects the makespaneffectively, especially when there is only one critical path in theschedule. Also, the changes of individuals provide the diversityin the population simultaneously. Considering the above, we havedesigned the following new mutation operator.

In order to describe the mutation operator, we classify theactivities on which the mutation acts in an AL with regard to thenumber of critical paths and whether the time gap exists on thecritical path in the corresponding schedule. When there is only onecritical path in the schedule, we define class 1 as the set containingactivities in each of which the execution starts in the time gap andfinishes at the end of the time gap in the case where the criticalpath has time gaps, class 2 as the set containing activities on thecritical path in the case where the critical path has no time gap.And when there is more than one critical path, we define class3 as the set containing all the non-dummy activities on the AL.Then the mutation operator first selects an activity im randomlyin the class i which corresponds to each case mentioned above;secondly, changes the position of the selected activity im in theAL in a random process within precedence feasibility; and finally,changes the mode of the activity im randomly. The pseudo-codefor this mutation, i.e. the critical path-based mutation procedure,is shown in Fig. 8. Where, the sets class 1 and 2 are used for thereduction of time gap in the critical path and the reduction of thecritical path itself, respectively, and the set class 3 is used only tosearch for a new individual to provide diversity in the population.

In this mutation operation, each individual is selected as parentwith probability Pmut and produces an individual as offspring. Thisoffspring replaces the parent, which means that the population sizeremains the same. However, by the same reasoning as in the caseof crossover operation, we do not do a replacement if the parentcorresponds to a schedule with the best found individual thus far.

3.8. Iterative forward/backward local search Inorder to improve each solution schedule generated above aim-ing for the improvement of resource consumption allocation, wepropose a local search. The egsPV [7] is an effective scheduling

194 IEEJ Trans 9: 190–199 (2014)

Page 6: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

GA BASED ON ACTIVITY LIST CHARACTERISTICS FOR RC-PSP/MM

technique to improve resource allocation for rc-PSP/mM whichconsists of the well-known forward/backward scheduling tech-nique for rc-PSP meta-heuristics by Li and Willis [22] as well asthe mode improvement procedure by Peteghem and Vanhoucke [7]which finds a better mode assignment for each individual effec-tively. However, the implementation of the egsPV may incur alarge computational cost due to the large number of SGS execu-tion, because the SGS is executed partially every time the modeimprovement procedure is executed with a probability Pmodimp forevery activity i = 0, . . . , I +1 in each of the forward and back-ward scheduling. Therefore, we transform the egsPV into a localsearch to reduce the computational cost as follows.

Starting from a left-justified schedule in the current population,the forward/backward scheduling technique [22] alternates withscheduling backward and forward based on the serial SGS.The procedure uses finishing (start) time of each activity of aleft-justified (right-justified) schedule to determine the AL forscheduling backward (forward) to generate right-justified (left-justified) schedule, where the AL is made by sorting the activitiesin reverse (chronological) order of their finishing (start) times.In these iterations, improvements in makespan can occur throughthe improvement of the allocation of resource consumption. Themode improvement procedure [7] incorporates the single-passimprovement local search of Hartmann [19] in the serial SGS.For each activity i , the procedure calculates Lv (m) and Lv (m′)for the current mode and a new mode, which correspond tothe mode assignment m and m′, respectively. Among the newmodes such that the Lv (m′) is equal to or smaller than the currentLv (m), the mode with the lowest finishing time f′i is chosen. If noimprovement in the finishing time can be made, the mode selectionis kept as it was before. Here, we limit the application of egsPVwith Pmodimp = 0.3, at which the egsPV performs best [7], anduse it as a local search procedure, i.e. iterative forward/backwardlocal search (ifbLS ) as follows:

(a) The individuals who will be applied by the ifbLS are limited tothe ifbLS _Size part of the population with a higher evaluationvalue where ifbLS _Size is a ratio.

(b) The ifbLS is applied to each selected individual within onlyone iteration, including one backward scheduling pass and oneforward scheduling pass with the serial SGS.

In contrast to while performing the egsPV itself, the num-ber of schedules generated by the ifbLS will clearly be reduced.Nevertheless, we can expect an improvement of solutions in thepopulation by the proposed algorithm through the cooperation withother elements of the proposed algorithm as well as the concentra-tion of elite individuals created by the ifbLS in the population bythe preservation process of elite solution in the evolution. Addi-tionally, the ifbLS contributes to providing diversity in the differentindividuals in the population of each generation. In fact, the pow-erful search capability of the ifbLS will be shown in Table IV ofSection 4.

3.9. Critical Path Improvement Local Search Inorder to improve each solution schedule generated above withthe aim to reduce the critical paths which determines the projectmakespan, we propose the critical path improvement local search(cpiLS ) procedure here which operates on the critical path andimproves the individual to have a smaller excess of resourcerequest Lv (m) first and smaller makespan second. The cpiLS isapplied to the individuals of the cpiLS _Size part of the populationwith a higher evaluation value where cpiLS _Size is a ratio. Thepseudo-code for the overall procedure of the cpiLS is shown inFig. 9. The cpiLS first calculates critical path of an individualand performs four improvement procedures, i.e. Improvement p

procedure: Critical Path Improvement (cpiLS) Procedureinput: schedule Soutput: improved schedule SI

begin:Calculate critical path; if (number of critical path = 1)

do Improvement 1; if (makespan get better)

output the improved schedule SI;else

if ( there exists any time gap on the critical path ) do Improvement 2; if (makespan get better)

output the improved schedule SI;else

do Improvement 3; if (makespan get better)

output the improved schedule SI;else

do Improvement 4; if (makespan get better)

output the improved schedule SI;else

output the schedule S;else

output the schedule S;else

output the schedule S;end

Fig. 9. Critical path improvement procedure

procedure: Improvement 1 input: schedule Soutput: improved schedule SI

begin:set A ← activities on the critical path; while (set A is not empty ) do

Select an activity i randomly from set A;set A ← set A\ i;for j = 1 to mi do

Set new mode j and create a new mode assignment m’;Compute Lv(m’ );

if (Lv(m’ ) <= Lv(m)) Compute makespan t’M ;if ( t’M < tM )

m = m’;Lv(m) = Lv(m’ );output improved schedule SI;

j ← j +1; end

endoutput schedule S;

end

Fig. 10. Improvement 1

prinoube

sew

Selsefo

SeC

ifCoif (

mLv

en

en

ocedure: Improvement 2 put: schedule S

roved schedule SItput: impgin:

t A ← activities in class 1; hile (set A is not empty ) do

randomly in set A;ect an activity it A ← set A\ ir j = 1 to mi do

t reate a new mode assignment m’;new mode j and cvompute L (m’ );

(Lv( vm’ ) <= L (m)) k an t’M;mpute ma esp

t’M < tM ) = m’;

v(m) = L (m’ );mproved schedule SI;output i

+1; j ← jendd

t schedule S;outpud

Fig. 11. Improvement 2

(p = 1, 2, 3, 4), successively in the case where the schedule hasonly one critical path. Each Improvement p works as follows:

195 IEEJ Trans 9: 190–199 (2014)

Page 7: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

I. OKADA ET AL.

procedure: Improvement 3 input: schedule Soutput: improved schedule SI

begin:set A ← activities immediately behind the time gap on the critical path; while (set A is not empty ) do

Select an activity i randomly in the set A;set A ← set A\ i;Change the position of i in AL to the position just behind the latest finishing predecessor and create a new activity list AL’;Compute makespan t’M;if (t’M < tM )

AL=AL’;output improved schedule SI;

endoutput schedule S;

end

Fig. 12. Improvement 3

procedure: Improvement 4 input: schedule Soutput: improved schedule SI

begin:set A ← activities in class 1

ot empty ) do;

y in set A;

t

enou

end

while (set A is nSelect an activity i randoml

← set A\ i;set AChange the position of i in AL to the position just in front of the earlies

and create a new activity list AL’ ; starting immediate successor Compute makespan t’M;if (t’M < tM )

AL=AL’;output improved schedule SI;

ds u S;tput ched le

Fig. 13. Improvement 4

Table II. PSPLIB instancesa

Instance set J10 J12 J14 J16 J18 J20 J30

Number ofinstances

536 547 551 550 552 554 552

Average numberof modes

2.801 2.832 2.849 2.865 2.871 2.869 2.883

aNote: By Peteghem and Vanhoucke (2010).

Improvement 1: This procedure is a mode improvement pro-cedure like that presented in Section 3.8 on the critical path. Theprocedure first selects an activity on the critical path randomly, andthen selects its mode among the selectable modes which improvesthe makespan.

Improvement 2: This procedure is a mode improvement proce-dure on the activities in the activity set class 1 associated with thecritical path defined in Section 3.7. The procedure first selects anactivity in class 1 randomly and then selects its mode among theselectable modes, which improves the makespan.

Improvement 3: This procedure is an AL improvement proce-dure to reduce the time gap on the critical path. The procedure firstselects an activity positioned immediately behind the time gap onthe critical path randomly, and then changes its position in the ALto the position just behind the latest finishing predecessor to createa new activity list AL′. If AL′ improves the makespan, the AL′ ischosen.

Improvement 4: This procedure is an AL improvement proce-dure on the activities in the activity set class 1 to reduce the timegap on the critical path. The procedure first selects an activity inthe class 1 randomly, and then changes its position in the AL tothe position just in front of the earliest starting successor to createa new activity list AL′. If AL′ improves the makespan, AL’ ischosen.

The mode selection of the selected activity in the cases ofImprovement p (p = 1, 2) is performed under the condition thatthe new excess of resource request Lv (m′) is equal to or smaller

Table III. Parameters in each algorithm

Algorithm Population_Size ifbLS _Size cpiLS _Size

GA-alc without ifbLS 10 0.3GA-alc without cpiLS 30 0.4GA-alc 30 0.4 0.1

Table IV. GA-alc in comparison with GA-alc without ifbLS andGA-alc without cpiLS —maximum optimal solutions (%: opt.)

and CPU time (seconds: T)—5000 schedules

GA-alc withoutifbLS

GA-alc withoutcpiLS GA-alc

Instanceset opt. T opt. T opt. T

J10 99.16 0.010 99.65 0.010 99.59 0.010J12 97.73 0.020 98.61 0.015 98.70 0.018J14 92.29 0.030 95.77 0.028 96.24 0.027J16 88.27 0.050 92.47 0.041 93.60 0.047J18 84.00 0.060 89.46 0.058 90.45 0.061J20 78.36 0.080 84.77 0.08 86.95 0.075J30 63.62 0.190 68.77 0.212 70.22 0.198

Note: Bold values show the best optimal solutions.

than the Lv (m). In every case of Improvement p (p = 1, 2, 3, 4),the procedure is continued until all the incumbent activities areexhausted. The pseudo-code for the Improvement p (p = 1, 2, 3, 4)are shown in Figs. 10–13.

4. Computational Experiments

In this section, we present the results of computational studiesto evaluate the performance of the proposed algorithm GA-alc. Primary computational experiments were conducted in twoaspects: (i) to find the best algorithm for solving rc-PSP/mMamong the ones configured as the combinations of GA-al withthe procedures cpiLS and ifbLS, we compare the algorithms GA-alc, GA-alc without ifbLS and GA-alc without cpiLS ; (ii) toevaluate the performance of the proposed GA-alc, we compare itwith some of the best heuristics and meta-heuristics for solvingrc-PSP/mM, namely the bi-population-based GA by Peteghemand Vanhoucke [7], the AL-based hybrid GA with two directionsserial SGS and two types of SGS (serial and parallel) by Lovaet al . [9], and the hybrid rank-based evolutionary algorithm byElloumi and Fortemps [8]. The comparisons are made in termsof both percentage of optimal solutions found (%) and CPU time(seconds) in (i) and only the percentage of optimal solutions in (ii).

As a benchmark problem, we have used the well-knownPSPLIB dataset by Kolisch and Sprecher [23]. This dataset issystematically generated by the project generator ProGen whichhas been developed by Kolisch et al . [24], and is available in theproject scheduling problem library PSPLIB from the FTP server ofUniversity of Kiel (http://129.187.106.231/psplib/). The dataset forrc-PSP/mM contains project instances J10, J12, J14, J16, J18, J20,and J30 with 10, 12, 14, 16, 18, 20, and 30 non-dummy activitiesrespectively, where each of non-dummy activity is performed inone out of three modes. The duration of the activities varies from1 to 10. Each mode has two renewable and two nonrenewableresources. For the instances with 30 activities, only a set of bestknown heuristic solutions is available, and for the other instancesthe optimal solutions are available. For each problem size, 640instances were generated. Because of the infeasibility of someinstances, not all these instances could be solved. Therefore, theseinfeasible instances are excluded from further research. Table IIby Peteghem and Vanhoucke [7] shows the number of instances

196 IEEJ Trans 9: 190–199 (2014)

Page 8: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

GA BASED ON ACTIVITY LIST CHARACTERISTICS FOR RC-PSP/MM

Table V. Comparison of the proposed algorithm GA-alc with other heuristics regarding to optimal solutions (%: opt.) and CPU time(seconds: T)—5000 schedules

Peteghem andVanhoucke

(2010) Lova et al . (2009)

Elloumi andFortemps

(2010) GA-alc (this work)Instanceset opt. T opt. T opt. T opt. (av.) T opt. (max.) T

J10 99.63 0.12 98.51 — 96.19 — 99.43 0.010 99.59 0.010J12 98.17 0.13 96.53 — 94.20 — 98.54 0.017 98.70 0.0180J14 94.56 0.14 92.92 — 83.84 — 95.95 0.059 96.24 0.027J16 92.00 0.15 90.00 — 80.69 — 93.22 0.047 93.60 0.047J18 88.95 0.16 84.96 — 72.92 — 90.22 0.058 90.45 0.061J20 85.74 0.17 80.32 — 67.43 — 85.99 0.078 86.95 0.075

Note: Bold values show the best optimal solutions.

Table VI. Comparison of proposed algorithm GA-alc with the algorithm of Peteghem and Vanhoucke on J30 regarding optimal solutions(%: opt.) and CPU time (seconds: T)—1000, 5000, 50000 schedules

J30 instance set

1000 schedules 5000 schedules 50000 schedules

Algorithm opt. T opt. T opt. T

Peteghem and Vanhoucke 59.6 0.05 71.0 0.24 79.5 2.46GA-alc (av.) 53.90 0.066 69.82 0.202 85.19 1.038GA-alc (max.) 54.17 0.070 70.22 0.198 85.51 1.027

Note: Bold values show the best optimal solutions.

for which at least one feasible solution has been found. It alsoindicates the average number of modes per activity after applyingthe reduction procedures of Sprecher et al . [16]. We used allthese instances. The experiments have been performed on the PCconfiguration consisting of a 3.07 GHz Intel Core 2 Duo E7600processor and 2 GB RAM. The programming language used wasJava. For each problem, we ran the algorithm 10 times. Duringthe computation for each algorithm tested, the same encoding,decoding, crossover, and mutation procedures as well as the sameparameters were used. Crossover probability Pcross and mutationprobability Pmut were 0.1 and 0.9, respectively, and the populationsize, cpiLS_Size and ifbLS_Size, are given like that in Table III,where the values of these parameters are selected as the best onesfrom several values tested in the pre-experiments. A comparisonof algorithms GA-alc without ifbLS, GA-alc without cpiLS andGA-alc is made in Table IV. A comparison of the proposed GA-alc with other competitive heuristics on the J10 to J20 datasetsis made in Table V. A comparison on the J30 dataset of GA-alcwith Peteghem and Vanhoucke [7], which is the most competing,is made in Table VI. In the comparisons above, since only thebest known solutions (makespan) for the instances of J30 can befound on the PSPLIB server, we have used those instead of theoptimal solutions. To make a fair comparison between the differentheuristics, the evaluation is stopped after the preassigned numberof generated schedules shown in the tables. Like what Peteghemand Vanhoucke [7] have done, the number of schedules generatedis calculated as the sum of times each of the project’s activity hasobtained a feasible start time divided by the number of the project’sactivities. Since different computers are used for the algorithms inTables V and VI, their CPU times are only for reference. Boldvalues in Tables IV–VI show the best optimal solutions (%).

It can be seen from Table IV that the proposed algorithm GA-alc outperforms GA-alc without ifbLS and GA-alc without cpiLSexcept for the case of the J10 dataset. Also, GA-alc has a compara-ble percentage of optimal solution (%) and the same CPU time withGA-alc without cpiLS for the J10 dataset. Therefore, the proposedGA-alc can be considered to have outperformed algorithms GA-alcwithout ifbLS and GA-alc without cpiLS. Here, the outperformance

of GA-alc against GA-alc without cpiLS is considered to be givenby the contribution of the cpiLS procedure, which is able to findthe solution missed by the ifbLS procedure. Also, the fact that thepercentage of optimal solutions of GA-alc does not outperformGA-alc without cpiLS on the J10 can be considered to be causedby the wastage of the number of schedule calculations due to theuse of the similar two local search procedures. Table V shows thatthe proposed algorithm is better than every algorithm in this tableexcept Peteghem and Vanhoucke [7] on the J10 dataset in the caseof 5000 schedules. Table VI shows that the larger the number ofschedules to calculate, the better the proposed algorithm GA-alcperforms compared with Peteghem and Vanhoucke [7], and it out-performs Peteghem and Vanhoucke [7] especially in the case of50 000 schedules with regards to the J30 dataset. In Table VI,the CPU time increases almost linearly with the number of sched-ules for the algorithm by Peteghem and Vanhoucke, while this isnot the case for GA-alc. This may be explained as follows: theproposed algorithm is coded to output the CPU time as the timewhen the algorithm has finished calculating the optimal solution(or the best known solution) first. In the experiments for GA-alc,however, there had been the instances in which optimal solutionshad been found before the number of schedules as stop conditionis reached. Therefore, it is considered that the larger the numberof schedules as stop condition, the larger the deviation from thelinearly increase of the CPU-time.

Summarizing the observations in Tables IV–VI, it can be seenthat although the proposed GA-alc does not perform enough inthe case of small-sized instances like the J10 or small numberof schedules to be generated in the experiment due to the wasteof number of schedules to be generated, GA-alc has an excellentsearch capability and is able to maintain its performance for thecase of large size problems, especially in the case of calculatinglarge number of schedules to search for solutions.

5. Conclusion

In this study, we have designed a novel genetic algorithmGA-alc for rc-PSP/mM and proposed a local search, namely

197 IEEJ Trans 9: 190–199 (2014)

Page 9: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

I. OKADA ET AL.

iterative forward/backward local search (ifbLS ) transformed fromthe extended generation scheme [7]. The ifbLS improves eachsolution schedule through the improvement of resource allocation.We have also proposed a new mutation operator, namely thecritical path-based mutation, and another local search, i.e. thecritical path improvement local search (cpiLS ), which works usingthe critical path in rc-PSP/mM. The critical path-based mutationsearches for not only a new individual who creates diversity inthe different individuals in the population but also an individualcorresponding to the reduced makespan. The cpiLS improves eachsolution schedule through the reduction of critical paths whichreduces the project makespan.

According to the computational experiments, it can be seenthat the introduction of these two local searches increases theperformance of the GA. The result for rc-PSP/mM outperformsthe most competitive algorithms in other literature, except inthe case of small instances or small number of schedules to becalculated within reasonable computation time. As future researchdirection, since the crossover in our algorithm is not necessarilyeffective, we should find a new crossover that is effective forrc-PSP/mM.

References

(1) Blazewicz J. Complexity of computer scheduling algorithms underresource constraints. Proceedings of 1st meeting AFCET-SMF onApplied Mathematics 1978; 169–178.

(2) Slowinski R, Soniewicki B, Weglarz J. DSS for multiobjective pro-ject scheduling. European Journal of Operational Research 1994; 79:220–229.

(3) Kolisch R, Drexl A. Local search for nonpreemptive multi-moderesource-constrained project scheduling. IIE Transactions 1997; 29:987–999.

(4) Kelley J. The critical path method: resource planning and scheduling.In Industrial Scheduling. Muth JF and Thompson GL (ed). PrenticeHall: Engelwood Cliffs, New Jersey; 1963; 347–365.

(5) Slowinski R. Two approaches to problems of resource allocationamong project activities—a comparative study. Journal of the Oper-ational Research Society 1980; 8:711–723.

(6) Sprecher A, Drexl A. Multi-mode resource-constrained projectscheduling by a simple, general and powerful sequencing algorithm.European Journal of Operational Research 1998; 107:431–450.

(7) Peteghem VV, Vanhoucke M. A genetic algorithm for the preemp-tive and non-preemptive multi-mode resource-constrained projectscheduling problem. European Journal of Operational Research2010; 201:409–418.

(8) Elloumi S, Fortemps P. A hybrid rank-based evolutionary algorithmapplied to multi-mode resource-constrained project scheduling prob-lem. European Journal of Operational Research 2010; 205:31–41.

(9) Lova A, Tormos P, Cervantes M, Barber F. An efficient hybridgenetic algorithm for scheduling projects with resource constraintsand multiple execution modes. International Journal of ProductionEconomics 2009; 117(2):302–316.

(10) Bouleimen K, Lecocq H. A new efficient simulated annealing algo-rithm for the resource-constrained project scheduling problem and itsmultiple mode version. European Journal of Operational Research2003; 149:268–281.

(11) Nonobe K, Ibaraki T. Formulation and Tabu search Algorithm forthe Resource Constrained Project Scheduling Problem (RCPSP),Technical Report, Kyoto University, 2001.

(12) Jarboui B, Damak N, Siarry P, Rebai A. A combinatorial particleswarm optimization for solving multi-mode resource-constrainedproject scheduling problems. Applied Mathematics and Computation2008; 195:299–308.

(13) Ranjbar M, De Reyck B, Kianfar F. A hybrid scatter-search forthe discrete time/resource trade-off problem in project scheduling.European Journal of Operational Research 2008; 193(1):35–48.

(14) Kolisch R. Serial and parallel resource-constrained project schedul-ing method revised: theory and computation. European Journal ofOperational Research 1996; 90:320–333.

(15) Holland JH. Adaptation in Natural and Artificial Systems. Universityof Michigan Press: Ann Arbor, Michigan; 1975.

(16) Sprecher A, Hartmann S, Drexl A. An exact algorithm for projectscheduling with multiple modes. OR Spectrum 1997; 19:195–203.

(17) Kolisch R, Hartmann S. Heuristic algorithms for solving the resource-constrained project scheduling problem: classification and computa-tional analysis. In Project Scheduling: Recent Models, Algorithms andApplications . Weglarz J (ed). Kluwer Academic Publishers: Amster-dam; 1999; 147–178.

(18) Hartmann S, Kolisch R. Experimental evaluation of state-of-the-art heuristics for resource-constrained project scheduling problem.European Journal of Operational Research 2000; 127:394–407.

(19) Hartmann S. Project scheduling with multiple modes: a geneticalgorithm. Annals of Operations Research 2001; 102:111–135.

(20) Alcaraz J, Maroto C, Ruiz R. Solving the multi-mode resource-constrained project scheduling problem with genetic algorithms.Journal of the Operational Research Society 2003; 54:614–626.

(21) Hartmann S. A competitive genetic algorithm for resource-constrainedproject scheduling. Naval Research Logistics 1998; 45:733–750.

(22) Li KY, Willis RJ. An iterative scheduling technique for resource-constrained project scheduling. European Journal of OperationalResearch 1992; 56(1):370–379.

(23) Kolisch R, Sprecher A. PSPLIB—a project scheduling library. Euro-pean Journal of Operational Research 1996; 96:205–216.

(24) Kolisch R, Sprecher A, Drexl A. Characterization and generation ofa general class of resource-constrained project scheduling problems.Management Science 1995; 41:1693–1703.

Ikutaro Okada (Non-member) received the B.Sc. and M.Sc.degrees from Kwansei Gakuin University, Japan,in 1970 and 1972, respectively. He is currentlyworking toward the Ph.D. degree at the Gradu-ate School of Information, Production and Sys-tems, Waseda University. His research interestsinclude project scheduling. Mr Okada is a mem-

ber of the Japan Industrial Management Association, and TheInstitute of Electronics, Information and Communication Engi-neers.

Koji Takahashi (Non-Member) received the B.E. degree from theInformation Engineering School, Kyushu Poly-technic College, Japan, in 2010, and the M.E.degree from the Graduate School of Information,Production and Systems, Waseda University, inMarch 2012. He joined Hitachi Ltd. in April2012. His research interests include genetic algo-

rithms and optimization techniques.

Wenqiang Zhang (Non-member) received the B.E. degree fromZhengzhou University, China, in 1999 and thePh.D. degree in engineering from the Gradu-ate School of Information, Production and Sys-tems (IPS), Waseda University, Japan, in 2011.He was a Visiting Scholar with IPS during2011–2012. He has been a Lecturer with the

College of Information Science and Engineering, Henan Universityof Technology, China, since 2012. His research interests includeproduction scheduling, multiobjective optimization, and evolution-ary algorithms.

Xiaofu Zhang (Non-Member) received the B.E. degree fromthe School of Software Engineering, SoutheastUniversity, China, in July 2007, and the M.E.degree from the Graduate School of Information,Production and Systems, Waseda University,Japan, in July 2010. He joined Hitachi Ltd. inApril 2011. His research interests include genetic

algorithms and solving scheduling problems.

198 IEEJ Trans 9: 190–199 (2014)

Page 10: A genetic algorithm with local search using activity list characteristics for solving resource-constrained project scheduling problem with multiple modes

GA BASED ON ACTIVITY LIST CHARACTERISTICS FOR RC-PSP/MM

Hongyu Yang (Non-Member) received the B.E. degree fromChina Tianjin University of Technology in 2005,and the M.E. degree from the Graduate Schoolof Information, Production and Systems, WasedaUniversity, in March 2011. He has been withCalsonic Kansei Corporation since April 2011.His research interests include production man-

agement, genetic algorithm, and optimization techniques.

Shigeru Fujimura (Senior Member) received the B.E., M.E.,and Dr. Eng. degrees from Waseda University,Japan, in 1983 and 1985, and 1995, respec-tively. He joined Yokogawa Electric Corporationin 1985 and worked there until 2003. Since April2003, he has been a Professor with the GraduateSchool of Information, Production and Systems,

Waseda University. His research interests include production man-agement, production planning and scheduling, intelligent agent,object-oriented modeling, and business process modeling.

199 IEEJ Trans 9: 190–199 (2014)