Top Banner
OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM Yasser elfahham * , Ashraf R. Mohamed, Sherif M. Hafez, Structural Engineering Department, Faculty of Engineering, Alexandria University, Egypt November 2010 Abstract Resource- constrained project scheduling problem (RCPSP) is a well known problem and aims to determine the start time of each activity of the project which satisfy the logic sequence of activities (dependency) and the limitation of resources with the objective of minimizing the project duration. In this paper, an algorithm is proposed to solve the classical RCPSP. The problem is formulated as an optimization problem, where the decision variables are start times of activities. Two constraints are considered; precedence which is presented as linear constraint, and resource limitation which is presented as non-linear constraint. The Genetic Algorithm is used as an optimization technique included in a software program coded in MATLAB. The algorithm was tested using a standard set of projects from literature. The Computational results show the effectiveness of the proposed algorithm. Keywords: project scheduling, resource constraints, Genetic Algorithm, optimization, Experimental evaluation. 1. Introduction Effective Project Management techniques are important to ensure the success of projects in construction and other fields. Since project scheduling under limited resources is a prime and common task for project management, it
20

OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

Feb 28, 2023

Download

Documents

Ahmed Din
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT

SCHEDULES USING GENETIC ALGORITHM Yasser elfahham*, Ashraf R. Mohamed, Sherif M. Hafez,

Structural Engineering Department, Faculty of Engineering, Alexandria

University, Egypt

November 2010

Abstract Resource- constrained project scheduling problem (RCPSP) is a well known problem and aims to determine the start time of each activity of the project which satisfy the logic sequence of activities(dependency) and the limitation of resources with the objective of minimizing the project duration. In this paper, an algorithm is proposed to solve the classical RCPSP. The problem is formulated as anoptimization problem, where the decision variables are start times of activities. Two constraints are considered; precedence which is presented as linear constraint, and resource limitation which is presented as non-linear constraint. The Genetic Algorithm is used as an optimization technique included in a software program coded in MATLAB. The algorithm was tested using a standard set of projects fromliterature. The Computational results show the effectiveness of the proposed algorithm.

Keywords: project scheduling, resource constraints, Genetic Algorithm, optimization, Experimental evaluation. 1. Introduction

Effective Project Management techniques are important to ensure the success of projects in construction and

other fields. Since project scheduling under limited resources is a prime and common task for project management, it

Page 2: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

attracted the attention of researchers over the last decades. Standard methods of projectscheduling are introduced for that purpose, among them is the Critical Path Method, CPM (1950,s), which provides plannersand decision makers with useful information crucial for the execution of the project.

* E-mail: [email protected] Although CPM is apowerful, yet, it may produceunreliable schedules because itdoes not consider resource

limitations occurred in realprojects. Thus, schedulingwithout considering resourceconstraints may yieldinefficient schedules. Later, efforts were exertedto solve these problems usingheuristic rules, which arewidely used in commercial

software because of their

simplicity and efficiency. APriority rule based schedulingconsists of a schedulegeneration scheme (SGS) and apriority rule, the schedulegeneration scheme has twodifferent types:

Serial and parallel. Kolisch [1], priority rules include: Latest Finish Time, LFT, Latest Start Time, LST, Worst Case Slack, WCS, etc. However, even these rules produce poor resultsin some problems because they depend on the problem characteristics. An evaluation study (Kolisch and Hempel (1996), and Kolisch (1997) showed that commercial software packages currently available at that timefor project management generate schedules with an average deviation of 4.3 - 9.8% from theoptimum solution for project with up to 30 activities. This result showed the need for otherheuristics to obtain optimum or

near-optimum schedules that can be implemented in a software package. Linear programming (LP) with a procedure called valid antichain was used to solve preemptive and non-preemptive RCPSP [2]. Branch-and-Bound method is used as exact procedure to solve project-scheduling problems. M. Reza Zamani [3] used it with some modifications to solve single mode RCPSP. A. Sprecher and A. Drexl [4] used it also for solving the multi-mode RCPSP. The foundation of their algorithm was a search-tree

reduction schemes. Genetic Algorithm (GA) (Holland, 1975), approaches were

Page 3: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

used as a perfect and general method for project scheduling under limited resources. Many researches concerning project scheduling using GA were published and the results were promising. The success of GA depends on the problem representation within GA. The most common representation is the activity list (AL) representation. In AL representation, the individual in the population (genotype) is presented as an activity list in a shape of vector as: λi = [ j1, j2, ……., jn ] Each non-dummy activity j appears exactly once in the activity list. The organization of activities in the list is accomplished respecting precedence relationships. Thus, an activity list must be precedence feasible because eachactivity in the list is located after all its predecessors. Eachlist is decoded into a schedule

using serial schedule generationscheme. Mariamar Cervants [5] useda steady- state G.A with dynamicpopulation to solve RCPSP. Activity list (AL) representation was used to

decode the schedules based on a

priority rule.

S. Hartman [6] proposed a new heuristic called self-adapting G.A to solve RCPSP. AL representation was used with twodifferent decoding procedures: serial and parallel. Representation of RCPSP using GAbased on random key was presented by J.J.M. Mendes, et al. [7], in which the schedules are constructed using priority rules in which the priorities

are defined by the GA. Leonidas Sakalauskas [8] used GA to schedule the resource-constrained projects based on priority list of jobs. The optimal solution corresponds to the optimal priority list, whichcan be found by applying the GA. Most GA applications focus on academic problems that are not applicable on real projects.J. Lancaster and K. Cheng [9] applied the GA on real world RCPSP. As a step for producing commercial scheduling software package which benefits in real projects. In an evaluation study, S.Hartman and R. Kolisch [10]considered heuristic algorithmsfor RCPSP from the literature inorder to evaluate the

Page 4: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

performance of several state-of-the-art heuristics. Their studysummarized and categorized alarge number of heuristic thathave recently been proposed inthe literature. Time-cost trade-off and multi execution modes algorithmsare continuously studied. Po-HanChen [11], Habib Fathi [12], Hegazy (1999), Jin-Lee Kim [13],and Peng Wuliang and wang chengen [14]. The rest of this paper is organized as follows; section 2 defines the problem. Section 3 explains the problem representation within GA. Section 4 provides the solution procedure. Section 5 is devoted to computational results. The paper ends with conclusion in section 6.

2. Problem definition

RCPSP can be described as; aproject consists of a set ofactivities J = {0, 1, 2, .... n,n+1} where; n is the number ofnon-dummy activities of theproject, and activities 0 , n+1are dummy activities andrepresent the start and end ofthe project respectively. Let djbe the duration of activity j,where: dj ≥ 0 and d0 = dn+1 = 0

Let sj be the integer start timeof activity j, sj ≥ 0.Then, the finish time ofactivity j (fj) can becalculated simply as fj = sj +dj, let T be the projectduration; T = fn+1

Considering the precedenceconstraints, each activity j hasa set of predecessor activities(predj) that must be started and/ or finished before activity jcan be started. Let Lij be thetime lag between activities iand j. Considering the resourceconstraints, activities consumea predefined amount ofresources, which are provided inlimited quantities. There are aset of resources K = {1,…, m}.All resources are renewable. Anactivity j needs rjk units ofresource k K during each timeunit of its duration dj. Giventhat: r0, k = rn+1, k = 0 Let’s define the maximumlimit of k resource as Rk whichis available in each momentduring the project duration,remains of resources are gone.Resource requirements for eachactivity are assumed constantduring its duration; inaddition, availabilities of eachresource type are constantduring the project duration.

Page 5: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

The optimization schedulingproblem may be reduced to aproblem of finding a vectorS = (s0, s1, s2 ….., sn+1 ) whichrepresents the start time ofproject activities which satisfyprecedence and resourceconstraints and with theobjective of minimizing theproject duration. After these definitions, thescheduling problem can beformulated as optimizationproblem as follows:

Min T = fn+1 (1) Subject to: sj ≥ si + di + Lij (2) j = {1, 2, .... n}, i predj r∑ j,k ≤ Rk k K (3)

Equation (1) represents theobjective function, whichminimize the project duration byminimizing the finish time ofthe dummy ending activity.Precedence constraints aresatisfied through inequality (2)which indicates that activity jcannot be started until all itspredecessors are completed orpartially completed (according

to the value of time lag).Constraints (3) insure thatresource consumption at eachmoment does not exceed theresource limit of each resourcetype. For simplicity issue, thefour types of precedencerelationships between twoactivities i and j can beconverted and entered to theproposed program through onenumber that we call “time lag”(Lij). The time lag is similar tothe relationship finish-to-start(FS) with the difference that itcan be positive or negativeinteger number. Positive timelag represents precedence,whereas negative time lagrepresents overlap.

3. Representation of problem within Genetic Algorithm

Efficient solution quality depends on the problem representation and appropriate genetic operators. The representation of the problem defined the bounds of the searchspace, while the genetic operators determine how the search space can be traversed. The representation of the problem should be kept to a minimum. Complete expressions describing the solution of the problem. A minimum

Page 6: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

representation contains only theinformation needed to represent a solution to the problem. A complete representation containsenough information to represent any feasible solution to the problem. If a representation contains more information than it is needed, then, the search space will be larger than necessary. matthew Bartschi [15] We consider the RCPSP as optimization problem, which consists of constraints and objectives. The decision variables are the start times ofactivities. Genetic Algorithm (GA) is use as optimization toolto solve this problem. The solution of the problem will be a schedule S = (s1, s2, …., sj),where si is the start time of activity i. Some researchers maydesign a representation that generates all feasible and infeasible solutions or schedules. For such cases, infeasible schedules should be penalized in the objective function. However, in this study, the representation produces only feasible solutions. That makes the objective function measures onlythe optimality, not feasibility.3.1 constraints RCPSP are subjected to twotypes of constrains; precedence and resource constraints. In this paper, Precedence relationship is presented in thealgorithm as linear constraint. This constraint is expressed by inequality (2). Resource limitations produce the second constraints, which assures that

resource usage per unit time cannot exceed resource availability for each resource type. Resource constraints are presented as non-linear constraints in the algorithm, and can be expressed by inequality (3) as mentioned in section 2. Thus, RCPSP is an optimization problem with linearand non-linear constraints. Solving such problem requires effective optimization tool, GA is used for that purpose. To facilitate the search ofGA, we add limits or bounds to the decision variables, which isthe start time of activities. Upper and lower bounds are addedin order to reduce the solution space of the problem. Adding such bound is very beneficial because it helps the algorithm to find good solutions in the early stages of the search process. In addition, the time needed to survey the solution space will be reduced. Since the starting time of an activity cannot be less than the one calculated from CPM, theCPM early start is used as lowerbound (LB) of an activity; LBj =ESj .The upper bound (UB) of an activity start time is difficultto determine because if it is fixed to a specific number, thenmany feasible solution will be lost. Out of many trials in the proposed algorithm, one number is chosen for the upper bounds

Page 7: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

of all activities; this number is the summation of activity durations of the project; (UB= d∑ j j = 1, 2,., n). We assumed that for highly resource– constrained projects, the project duration should not exceed the summation of activitydurations. Thus, that number covers all probabilities becausethe start time of all activitieswill be less than the upper bound.Now, the problem representation is complete where the problem decision variables are the starttimes of activities. These variables are subjected to;

1. Linear constraint2. non-linear constraints,

and3. upper and lower bounds

The start time of activities are grouped in the shape of vector. This vector represents a schedule. GA generates schedules (individuals) in each population. Feasibility of a schedule requires satisfying linear and non-linear constraints. The algorithm was coded and implemented in MATLAB2010. The genetic algorithm handles linear constraints and bounds differently from nonlinear constraints. All the linear constraints and bounds are satisfied throughout the optimization. However, GA may not satisfy all the nonlinear

constraints at every generation. If GA converges to a solution, the nonlinear constraints will be satisfied at that solution. The GA generates schedulesconsidering linear constraints and bounds only. Then, resources histogram calculations are performed and the nonlinear constraints are applied to these schedules to check if they are satisfied. Ifthe nonlinear constraints; which are the resource limits; are not satisfied, then, the schedules are modified successively until all constraints are satisfied.

An example of a small project is shown in figure (1) presented in an activity on node network. The project consists of five activities (n=5) and two dummy activities representing the start and end of the network. All activities require one renewable resource (k=1) with two units capacity (R=2). Figure 2 shows the resource profile for the optimum solution obtained by GA.

Page 8: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

Fig. (2) Resource profile and bar chart using Genetic Algorithm

Figure (3) provide an example showing how the algorithm applies resource constraint. The fig. shows the profiles of resource requirements, availability, anddifference. Profile (a) is the resource aggregation diagram, which shows the required amountof resources. It is calculated as follows: For each schedulegenerated by GA, we construct avector of fn+1 of zeros for eachresource type. This vectorrepresents the resource valuesat each time; we call thisvector RVk as:RVk= [0 0 0 0 ….. 0] The first and last numberof the matrix corresponds tothe start and finish time ofthe project respectively. Eachnumber of the vector representsthe value of k resource at thattime. Starting by the firstactivity in the project and adda fixed number in the vector;this number represents theresource value during the

period from the start to thefinish of the activity. Thisstep is done successively untilfinishing all activities. Byadding these valuescumulatively to the vector andupdating the vector in eachactivity, the values in thefinal vector represents the Y-axis in profile (a). Forexample, by Appling thisprocedure in example project infig. 1 previously mentioned,the final vector would be asfollows: RV1= [1 1 2 2 2 2]

Profile (b) is obtainedfrom the resource limit, whichis a fixed value and assumed tobe uniform along the projectduration. Finally, profile (c)is obtained out of subtractingrequired amount from theavailable amount (= profile(a) – profile (b)). Feasibility of a schedulewith respect to resourceconstraints can be defined fromprofile (c). Negative signindicates resource feasibility,which means that the availableamount of resource exceeds therequired amount. Zero profilemeans equality between requiredand available amount, whilepositive sign indicatesresource infeasibility.Therefore, if the algorithmdetects positive sign at anyschedule, then, the algorithmregenerates other schedulesuntil no positive sign appears.This procedure assures that allobtained schedules are resourcefeasible.

Page 9: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

3.2 Fitness

In the proposed representationof RCPSP, all schedules arefeasible because they satisfyprecedence and resourceconstraints. However, not allof them are good enough. Thegoodness of a schedule iscalled the fitness, which is ameasure of the quality ofsolution.

The fitness of the RCPSPis measured by the achievedduration of the schedule. Thelower duration, the higherfitness, therefore the fitnessis equal to the duration of theschedule and can be expressedby equation (1) mentioned insection 2.

Figure (4) shows theimprovement curve for exampleproject shown in figure (1).The figure shows that thefitness of solution expressedby project duration improvesfrom generation to another. Inthe algorithm run, 30

generations are used. It can benoticed that most of theimprovements in fitness occurin the first generations whilethe fitness slightly improvesin the last generations. Thereason behind that behavior isthat the algorithm is providedwith initial population asmentioned below in subsection4.3. The initial populationlights the way for thealgorithm to find betterresults in the firstiterations.

fig. (4) Improvement curve offitness function

Page 10: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

4. Solution procedure usingGA The GA framework beginswith computing the initialpopulation using priority rules.The GA generates a group ofchromosomes or individuals (Inour case, schedules) known asthe population. The individualsin each population evolvethrough successive iterations,which called generations. Thisevolution occurs from generationto another. Creating the nextgeneration is accomplishedthrough some steps. At eachstep, the genetic algorithm usesthe current population to createthe children that make up thenext generation. First, the GAevaluates individuals based ontheir fitness values. It selectssome individuals from thecurrent population, which havethe highest fitness function(lower project duration). Thus,fitter individuals have higherprobability of survival. Second,crossover is performed by usingthe selected individuals asparents and producing newindividuals (offspring) calledcrossover children. Third,mutation is performed whichproduces mutation children.Thus, the genetic algorithmcreates three types of childrenfor the next generation:

1. Elite children are theindividuals in the currentgeneration with the bestfitness values. Theseindividuals are selectedand automatically survivedto the next generation.

2. Crossover children arecreated by combining thevectors of a pair ofparents.

3. Mutation children arecreated by introducingrandom changes, ormutations, to a singleparent.

It shall be noted thatproducing these individuals bycrossover and mutation does notaffect the population sizebecause the number ofindividuals at each generationis fixed during the optimizationprocess. After severalgenerations, the finalindividuals usually contain theoptimal or near-optimalsolution. This process isrepeated for a pre-specifiednumber of generation or until noimprovement occurs in thefitness function. Figure (5)shows the flowchart of the GAused in the algorithm.

Page 11: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

Where:g: is the iteration number andreflects the number ofgenerationsFit. Tol. : is the fitnesstolerance.Limit it is a small numberentered to the algorithm. The GAuses this number as stoppingcriteria. The GA producessolutions until reaching thenumber of generations or untilthe average improvement infitness value is less or equalsthe fitness tolerance.

4.1 crossovers Crossover functionspecifies how the geneticalgorithm combines twoindividuals, or parents, to forma crossover child for the nextgeneration. There are many typesof crossover functions. In thisalgorithm, two- point crossoverfunction is used. For example,if P1 and P2 are parent 1 andparent 2 respectively as shownin Figure (6)

And the crossover points are 2and 5, then the crossoverfunction will return thefollowing child:

4.2 Mutation Mutation provides geneticdiversity and enables thegenetic algorithm to search abroader space. It makes smallrandom changes in the populationindividuals to create mutationchildren. Mutation function isused to generate new populationmembers from the existing GApopulation by mutation. Thefraction of the next generation,other than elite children, that

Page 12: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

is produced by mutation is (1minus Crossover fraction). 4.3 Initial population By default, the geneticalgorithm begins by creating arandom initial population. Theinitial population contains nindividuals, where n is thepopulation size. The individualcontains the start time ofproject activities which are thedecision variable of theproblem. The genetic algorithmgenerates random numbers for thestart times of activities,without providing the GA with aproper number or range for eachstart time, the GA may consumemuch time until reaching thebest solution especially forlarge projects. Thus, specifying initial“guess” or initial range for theproject start times is essentialto facilitate the calculationsand reduce the computationaltime of the program. In theproposed algorithm, the initialpopulation is calculated using awell-known procedure and thenspecified to the algorithm. Anactivity list is constructed bypriority rule based heuristicsimilar to this of Kolish [14].Activities are scheduled one byone in the order defined by thelist. The produced schedule isfeasible because it respectsprecedence and resourceconstraints.

5. Computational Results5.1. Benchmarks instances In order to evaluate theresults of the proposedalgorithm, general and uniquetest problems should be used as

benchmarks to give neutral andclear comparison of resultsobtained. A variety of testinstances were introduced andused for that purpose. Thus,researchers can use theseproblem sets as a performancemeasures to evaluate theiralgorithms. This section presents anddiscusses the analysis andresults obtained from thesoftware program proposed inthis paper due to applying it toa set of benchmark instances inan attempt to evaluate ouralgorithm. These problems willbe solved and its results willbe compared with the results ofother algorithms from theliterature. We use in thecomparison some papers of well-known authors published inengineering and scientificjournals worldwide to provide aclear picture about theperformance of the algorithm.We use the Project schedulingproblem library of Kolisch(PSPLIB) because of its goodreputation. This set containsmany problem sets. We use thesingle mode project schedulingset (SMCP). We consider hereonly instance set J30. The maincharacteristics of this problemsets are summarized in table (1)Table 1. Characteristics of Benchmarks instances

Set name SMCP

Number of problems

480

Page 13: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

Number of activities per problem

30 (non-dummy)

Number of renewable resources per problem

4

characteristics Project scheduling,single mode, multiple resource per activity

For additional informationabout the previous benchmarkset, we refer to R. Koisch, ArnoSprecher [16]The algorithm was coded inMATLAB 2010 and the instanceswere carried out on a Labtopcomputer with HP Pavilion dv6-pc, processor core 2 [email protected], RAMS 3GB.under windows7 operating system the GAgenerates schedules for eachproject with the followingparameter settings:Population size: 100Number of generations: 30Crossover operator: two pointCrossover probability: 0.8Function tolerance: 1e-30Population Type: double Vector

The previous parameters arefixed for all test problemsbecause they were tested andproved to produce good results.

5.2. Results This section presents theresults obtained due to runningthe algorithm on j30 benchmarkproject set. This set contains480 instances with 30 activitiesand four resources. We organizethe results in a shape of table.Table (2) summarizes the resultsof solving the previous instanceset J30 of Kolisch. It can benoted from the table that theaverage deviation of the projectduration from the optimumsolution is 1.45 % for the 480projects of the set, and about68.13% of the projects areoptimally solved, that showsthat the algorithm cansuccessfully find optimumsolutions for a considerablenumber of RCPSP

Table 2. Results of instanceset J 30

Average deviation from CPM %

14.92

Average deviation from opt. %

1.45

% optimum 68.13Variance 0.477Standard deviation 0.69

Page 14: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

Figure (7) gives the deviationfrom optimum solution for eachproblem of the problem set j30.The problems in the figure arenot provided in the same orderas they are in the library,instead, a sorting according tothe deviation from optimumsolutions are performed first togroup problems of the samedeviation together. The optimumsolutions used here forcomparison was obtained by E.Demeulemeester and W. Herroelen[17]. These optimum solutionsare available in the projectscheduling library website. Fig. (7) reflects thegenetic algorithm performancebecause it measures thedeviation from optimumsolutions. Therefore, adeviation of 0 % means that thealgorithm found the optimumsolution and no deviationoccurred where a value of 100%means that the algorithm found aproject duration twice theoptimum one. The effect of each singleparameter on the solutionquality is maintained in figures(8), (9), and (10). fig. (8)provide the relationship betweenthe Network Complexity (NC) andthe deviation from the optimum

solutions for all problems ofj30. Fig. (9) shows the relationshipbetween the Resource Strength(RS) and the deviation from theoptimum solutions for allproblems of j30. Finally, Fig.(10) shows the relationshipbetween the Resource Factor (RF)and the deviation from theoptimum solutions for allproblems of j30.

Page 15: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

5.3 Effect of number ofiterationsThe previous run of thealgorithm on the benchmarkproblems J30 was performed usingnumber of iterations equals1000. The effect of number ofiterations of the solutionquality was examined for onlyseven projects of the set j30;these projects are chosen amongthe other projects in the setbecause they are the mostdifficult problems in the setand the algorithm producedsolutions of high deviation fromoptimum ones. The run wasperformed at 1000, 3000, and6000 iterations. The results areshown in table (3), which showsthe deviation from optimum andthe corresponding computationaltime for each number ofiterations. It can be noted thatthe performance increases as thenumber of iterations increases.However, the computational timeincreases. Therefore, for hardproblems, one can decide whetherto get high solution performancewith more time or acceptableperformance with less time.Table (3) effect of number of iterations on solution performance for J 30

project

deviation from optimum (%)1000iter.

3000iter.

6000iter.

dev.(%)

Time(min)

dev.

(%)

Time(min)

dev.(%)

Time(min)

J309-7 9.5 0.3

8 6.3 6.2 4.8 10.9

J3013-1

10.3 0.3 8.6 6.7 6.9 10.

4J3025-6

10.3

0.32 8.6 7.2 6.9 10.

1J3029-9

10.3 0.4 8.2 7.5 6.2 15.

2J3013-7

14.3

0.39 7.8 6 7.8 13

J3013-5

16.4

0.43 7.5 6.2 7.5 15.

5J309-3

17.6

0.45

10.3 6.5 7.4 16

5.4 Comparison with otherHeuristics for the RCPSP In an attempt to evaluatethe proposed algorithm, wecompare the results of singlemode project scheduling set(j30) with some of the knownpublished researches from theliterature. This comparison willprovide a clear picture aboutthe algorithm performance. Table(4) summarizes the results whereit gives the algorithm andsolution method, the referencein which the results arepublished, and the averagepercent deviation.Table 4 Average deviations (%)from optimal makespan ― proGenset J= 30

Algorithm Reference

Av. Dev.(%)

Random key GA [18] 1.03

Priority ruleGA

[18] 1.38

Page 16: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

Priority ruleGA

[19] 1.4

Optimization using GA This

study 1.45

Problem spaceGA

[20] 2.08

Object-oriented programming GA

[21] 3

Priority rule (WCS) [1] 4.27

6. Conclusion and futureresearch In this paper, we proposeda new genetic algorithm basedheuristic to solve the classicalresource-constrained projectscheduling problems. We tried adifferent algorithm to solve theresource constrained schedulingproblems. The algorithm is basedon the idea of optimization inwhich the problem is formulatedmathematically in a shape ofconstraints and objectivefunction. The problem (project)consists of activities andsubject to precedence andresource constraints, and theobjective is minimizing themakespan. In each iteration, TheGA generates schedules of thestart times of activitiesrespecting constraints andbounds, it evaluate theseschedules based on theirmakespan. The lower makespan thehigher fitness. At the end ofthe optimization process, thealgorithm produces the bestschedule, which may by theoptimum solution. In order to evaluate theproposed algorithm, the single

mode project scheduling set(J30) of Kolisch is used Asbenchmark. The results showedthat our algorithm performs welland is able to solve some ofthese problems optimally.It can be seen that the NetworkComplexity (NC) influenced onthe solution performance.Generally, problems of low NCare considered to be moredifficult than others of highNC. Therefore, the name of“Network Complexity” does notreflect its meaning and it canbe named as “Network simplicity”because the algorithmperformance improves withproblems of high NC. The resource factor (RF) affectsthe results. Generally, Projectswith high RF are considered tobe more difficult than otherswith low RF.However, in some cases itsinfluence is vague or not clear.That is because the definitionof RF reflects the averagenumber of activities thatconsume an amount of eachresource type, and that meaningmay give wrong picture about theproblem difficulty. Let usprovide an example to clarifythis point: consider twoproblems, problem A and problemB, problem A has a RF=1 but allits activities consume smallamounts of each resource typecomparing to the maximum limit.Problem B has a RF=0.25 but someof its activities consume largeamount of each resource typecomparing-g to the maximumresource limit. Therefore,problem B is more difficult than

Page 17: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

problem A thought the later hasa higher value of RF.

The figures also showed that theResource Strength (RS) is themain factor and affects thealgorithm performancesignificantly since it definesthe resource availabilities ofthe project. Projects withRS=0.2 are considered to be moredifficult that others with RS=1.Therefore, projects whereResources are not highlyconstrained - projects with highRS- is considered as easyproblems, and as a result, thealgorithm solves them withoutany difficulty producingsolutions of high quality. Onthe contrary, projects whereresource limitations are veryrestricted - projects with lowRS- the algorithm does notperformed well because suchlimitations reduces the solutionspace and the number of feasiblesolutions decreases, this makethe algorithm find difficulty tofind a solution of good quality.Future works and improvementsmay include the following:

1. Implementing the proposed algorithm in a commercial software program such as primavera, which allow the user to solve any project either by primavera or by the proposed algorithm.

2. Studying real scheduling problems that include

several and temporal constraints in addition to precedence and resource constraints. Additional time constraints include (but not limited to): an activity must start at certain time; an activity cannot be scheduled in a particular time window; a subset of activities cannotbe stopped at holidays and weekends because of the nature of work, a subset ofactivities cannot be executed simultaneously. Additional resource constraints may include: resource availability differ at each period; resources are renewable andnon-renewable; a certain resource is available only at a specific period; etc. This type of problems considers the general form of project scheduling problems and reflects the nature of real project, especially, in constructionfield.

3. Searching for a single parameter that could be used instead of the three parameter NC, RF, RS to measure the problem difficulty

4. Scheduling projects withMulti- objective functionsand time-cost trade-offanalysis.

REFRENCES[ 1 ] Rainer Kolisch, (1996),

“Efficient priority rules for

the resource-constrainedproject-scheduling problem”,journal of OperationsManagement, vol. 14, 1996,pp. 179-192.

Page 18: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

[ 2 ] Jean Damay , Alain Quilliot, EricSanlaville (2006) “Linearprogramming based algorithmsfor preemptive and non-preemptive RCPSP”, EuropeanJournal of OperationalResearch vol. 182 2007 pp.1012–1022

[ 3 ] M. Reza Zamani (2001), “A high-performance exact methodfor the resource-constrained project scheduling problem”, Computer and operations research, vol. 28, 2001, pp. 1387-1401.

[ 4 ] Arno Sprecher, Andreas Drexl,(1997), “Multi-mode resource-constrained projectscheduling by a simple,general and powerfulsequencing”, European Journalof Operational Research, vol.107, 1998, pp. 431-450.

[ 5 ] Mariamar Cervants (2008), “A Dynamic Population Steady- State Genetic Algorithm for the Resource- Constrained Project Scheduling Problem“, pp.611-620.

[ 6 ] Sönke Hartman (2002), "A Self-Adapting Genetic Algorithm for Project Scheduling under Resource Constraints", Naval Research Logistics, Vol. 49, 2002, pp.433-448.

[ 7 ] J.J.M. Mendes, J.F.Goncalves, and M.G.C. Resende (2007), “A randomkey based genetic algorithm for the resource constrained project scheduling problem", Computer and operation research, WWW. sciencedirect.com, July, 2007, pp.92-109.

[ 8 ] Leonidas Sakalauskas(2006),“optimizationof Resource Constrained Project Schedules by Genetic Algorithm based on the job priority list“, information technology and control, Vol. 35, No. 4, 2006, pp.412-418.

[ 9 ] J. Lancastera,b, K. Cheng,“Toward the application ofgenetic algorithms to realworld resource constrainedproject schedulingproblems.”, 2007.

[ 10 ] Sonke Hartman, Rainer Kolish,(2000) “Experimentalevaluation of state-of-the-art heuristics for theresource-constrained projectscheduling problem. EuropeanJournal of OperationalResearch vol. 127 2000 pp.394–407.

[ 11 ] Po- Han Chen, Seyed MohsenShahandashti (2009) “Hybrid ofgenetic algorithm andsimulated annealing formultiple project schedulingwith multiple resourceconstraints”, Automation inConstruction, vol. 18, 2009,pp. 434–443.

[ 12 ] Habib Fathi, Abbas Afshar (2008)“Multiple Resource ConstraintTime-cost-resourceOptimization Using GeneticAlgorithm”, firstInternational Conference onConstruction in DevelopingCountries (ICCIDC-I),Pakistan.

[ 13 ] Jin- Lee Kin, Ralph D. Ellis Jr.(2005) “A framework forintegration model ofResource-constrainedscheduling using GeneticAlgorithms”, Proceedings of

Page 19: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

the 2005 Winter SimulationConference, University ofFlorida, U.S.A.

[ 14 ] Peng Wuliang , Wang Chengen(2008) “A multi-moderesource-constrained discretetime–cost tradeoff problemand its genetic algorithmbased solution”,International Journal ofproject management.

[ 15 ] Matthew Bartschi Wall, (1996)," A Genetic Algorithm for Resource-Constrained Scheduling" PhD, Massachusetts Institute of Technology, ftp://lancet.mit.edu/pub/mbwall/phd/thesis.ps.gz

[ 16 ] Rainer Kolisch, Arno Sprecher(1996), “PSPLIB-A Project scheduling problem library”, European journal ofOperational Research, vol. 96, 1996, pp. 205-216.

[ 17 ] Demeulemeester E, HerroelenWS. (1997) “New benchmark resultsfor the resource-constrained project scheduling problem”. Management Science, vol. 43 1997 , pp. 1485-92.

[ 18 ] Sönke Hartman (1998), "A Competitive Genetic Algorithmfor Resource-Constraints Project Scheduling ", Naval Research Logistics, Vol. 45, 1998, pp.733-750.

[ 19 ] Rainer Kolisch (1996), " Serial and parallel resource - constrained project scheduling methods revisited:theory and computation. European journal of Operational Research, vol. 90, April, 1995, pp. 320-333

[ 20 ] V. J. Leon and B. Ramamoorthy. (1995)“Strength and adaptability of problem-spacebased neighborhoods for resource-constrained scheduling”. OR Spektrum, vol. 17 1995 pp.173–182.

[ 21 ] Jairo R. Montoya-Torres , EdgarGutierrez-Franco , Carolina Pirachica´n-Mayorga (2009) “Projectscheduling with limitedresources using a geneticalgorithm”www.sciencedirect.com

[ 22 ] Jarmo T. Alander "Genetic Algorithms: An Introduction:,University of Vaasa, Finland

[ 23 ] Ningxiong Xu, Sally A. McKee, LindaK., and Ruke U. (1995),“Augmenting priority ruleheuristics with justificationand rollout to solve theresource- constrained projectscheduling problem “,Computer and operationresearch, WWW.Sciencedirect .com, February,2007, pp.3284-3297.

[ 24 ] Edgar G. F., Fernando T. Z.,Gonzalo M. D. (2006), “A Genetic algorithm for the resource constrained project scheduling problem(RCPSP)“

[ 25 ] Randy L. Haupt and Sue Ellen Haupt. (2004), “Practical Genetic Algorithm”, second adition.

[ 26 ] Hazem Abdallah, Hassan M. Emara,Hassan T. Dorrah, Ahmed Bahgat. (2009), “Using Ant Colony Optimization algorithm for solving project management problems”, Expert Systems with Applications, Vol. 36, 2009, pp.10004-10015.

Page 20: OPTIMIZATION OF RESOURCE - CONSTRAINED PROJECT SCHEDULES USING GENETIC ALGORITHM

[ 27 ] Samdani Saurabh Arun (2005), “construction Scheduling using Non-Traditional Optimization", Indian Institute of Technology Guwahati.781039, April-2005.

[ 28 ] Khaled Moumene, Jacques A.Ferland. (2009), “Activitylist representation for ageneralization of theresource-constrained projectscheduling problem", EuropeanJournal of OperationalResearch 199 2009, pp. 46–54

[ 29 ] Po- Han Chen, Haijie Weng(2008) “A tow-phase GA modelfor resource-constrainedproject scheduling”,Automation in Construction,vol. 18, July 2009, pp. 485–498.

[ 30 ] Véronique Bouffard and Jacques A.Ferland (2007) “ Improvingsimulated annealing withvariable neighborhood searchto solve the resource-constrained schedulingproblem”, J Sched 2007 10,pp.375–386.