Citation
A Multiheuristic Approach to Resource Constrained Project Scheduling: An Adaptive Hybrid Genetic Algorithm

Material Information

Title:
A Multiheuristic Approach to Resource Constrained Project Scheduling: An Adaptive Hybrid Genetic Algorithm
Creator:
KIM JIN-LEE ( Author, Primary )
Copyright Date:
2008

Subjects

Subjects / Keywords:
Algorithms ( jstor )
Chromium ( jstor )
Crossovers ( jstor )
Genetic algorithms ( jstor )
Genetic mutation ( jstor )
Heuristics ( jstor )
Optimal solutions ( jstor )
Population size ( jstor )
Scheduling ( jstor )
Search strategies ( jstor )

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright Jin-Lee Kim. Permission granted to the University of Florida to digitize, archive and distribute this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Embargo Date:
2/28/2007
Resource Identifier:
649814561 ( OCLC )

Downloads

This item is only available as the following downloads:


Full Text

PAGE 1

A MULTIHEURISTIC APPROACH TO RESOURCE CONSTRAINED PROJECT SCHEDULING: AN ADAPTIVE HYBRID GENETIC ALGORITHM By JIN-LEE KIM A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2006

PAGE 2

Copyright 2006 by Jin-Lee Kim

PAGE 3

The author would like to dedica te this dissertation to hi s lovely wife Seon-Yeong Byeon, his gorgeous daughter Jeanna Kim, his adorable son Eric B. Kim, and his entire family members for their sincere love and support.

PAGE 4

iv ACKNOWLEDGMENTS I would like to thank God fo r giving me everything. I trul y express gratitude to my advisor, Dr. Ralph D. Ellis Jr., for chairing my supervisor y committee during the entire course of my doctoral researc h. I thank him for the time and effort that he gave to make this thesis successful as well as for his consta nt financial support. I also thank Drs. Zohar Herbsman, Charles R. Glagola, R. Edward Minchin, Anurag Agarwal, and Ronald H. Randles for being part of my supervisory co mmittee and for their review of the original manuscript and their many suggestions. I am grateful to Drs. Ok-Kyue Kim, Soon-Seop Kwak, Chansik Park, Hong-Seob Ahn, Hyun-Soo Lee, Seon-Gyoo Kim, Chang-Hak Kim, and Chang-Ho Choi, who are my honored te achers in Korea, for their continued encouragement and assistance during my studies in the United States. I thank Sally Ouimet and Thomas Williamson for their great help. I offer my deepest appreciation to my parents, Tae-Kyung Kim and Tae-Soon Son, and to my parents-in-law, Jong-Eun Byeon a nd Sung-Hee Jeon, for their love and support over the years. And, special thanks go to my wonderful wife, Seon-Yeong Byeon, for supporting and standing behind me. I thank my children, Jeanna and Eric, for changing everything around me. I thank both my two si sters and younger brother for encouraging me during the study abroad. Finally, I convey my sincere gratitude to my other family members and friends in Korea who gave me their unconditional love and support during this long period of study and research.

PAGE 5

v TABLE OF CONTENTS page ACKNOWLEDGMENTS.................................................................................................iv LIST OF TABLES.............................................................................................................ix LIST OF FIGURES...........................................................................................................xi ABSTRACT....................................................................................................................... xv CHAPTERS 1 INTRODUCTION........................................................................................................1 1.1 Research Background.............................................................................................1 1.2 Problem Statement..................................................................................................4 1.2.1 Lack of an Efficient Optimal Solution Algorithm........................................4 1.2.2 Need for the Use of Global-Local Search Approach to the RCPSP.............5 1.3 Objective of Research.............................................................................................7 1.4 Scope of Research...................................................................................................7 1.5 Organization of the Dissertation.............................................................................8 2 LITERATURE REVIEW...........................................................................................10 2.1 Organization of Literature Review.......................................................................10 2.2 Critical Path Method.............................................................................................11 2.3 Various Exact Solution Approaches.....................................................................12 2.3.1 Dynamic Programming Approach..............................................................12 2.3.2 Zero-One Integer Programming Approach................................................13 2.3.3 Implicit Enumeration with Branch-and-Bound Approach.........................14 2.4 Priority-rule based Heuristic Approaches.............................................................21 2.4.1 Single-Pass Method Approach...................................................................21 2.4.2 Multi-Pass Method Approach.....................................................................22 2.4.2.1 Multi-priority rule methods..............................................................23 2.4.2.2 Forward-backward scheduling methods...........................................24 2.4.2.3 Sampling methods............................................................................26 2.5 Truncated Branch-and-Bound Approach..............................................................27 2.6 Disjunctive Arcs Concepts Approach...................................................................28 2.7 Meta-heuristic Approaches...................................................................................29 2.7.1 Genetic Algorithm Approach.....................................................................29

PAGE 6

vi 2.7.2 Simulated Annealing Approach.................................................................32 2.7.3 Tabu Search Approach...............................................................................33 2.7.4 Ant Colonies Approach..............................................................................34 2.8 Other Approaches.................................................................................................35 2.8.1 Local Search-Oriented Approaches............................................................35 2.8.2 Population-Based Approaches....................................................................36 2.8.3 Forward-Backward Improvement Approach..............................................37 2.8.4 Further Heuristics.......................................................................................39 2.8.5 Neural Network Approaches......................................................................40 2.9 Summary of Literature Review............................................................................41 2.10 Need for AHGASS Algorithm............................................................................41 3 RESEARCH METHODOLOGY...............................................................................42 3.1 Introduction...........................................................................................................42 3.1.1 Description and Assumption of RCPSP.....................................................42 3.1.2 Objective Function of RCPSP....................................................................44 3.1.3 Case Example.............................................................................................46 3.2 Research Procedures.............................................................................................49 3.3 Multiheuristic Methods for a Hybrid Algorithm..................................................51 3.3.1 Basic Genetic Algorithm for Global Search...............................................51 3.3.2 Random Walk Algorithm for Local Search................................................56 4 DEVELOPMENT OF ADAPTIVE HYBRID GENETIC ALGORITHM BASED SEARCH SIMULATOR: AHGASS..........................................................................58 4.1 Introduction...........................................................................................................58 4.2 Hybrid Approaches to RCPSP..............................................................................59 4.2.1 Modeling Strategy a nd Hybrid Algorithm.................................................59 4.2.2 Representation of an Individual for the Solution to the RCPSP................62 4.3 Algorithm Operators.............................................................................................63 4.3.1 Random Number Generator.......................................................................63 4.3.2 Fitness Calculation Methods......................................................................65 4.3.2.1 Fitness calculatio n process based on the serial SGS........................69 4.3.2.2 Fitness calculation process based on the parallel SGS.....................84 4.3.2.3 Fitness calculation pr ocess based on the serial and parallel SGS....98 4.3.2.4 Unique schedule: Phenotype versus genotype...............................101 4.3.2.5 Transformation from the minimization function to the maximization function..........................................................................101 4.3.3 Random Walk Algorithm for Local Search..............................................104 4.3.4 Elitist Roulette Wheel Selection Operator...............................................110 4.3.5 One-Point Crossover Operator.................................................................110 4.3.6 Uniform Mutation Operator.....................................................................115 4.4 Development of AHGASS.................................................................................117 4.4.1 Development Environment.......................................................................118 4.4.2 Architecture of AHGASS.........................................................................118 4.5 Methodology for Setting Input Parameter Values..............................................125

PAGE 7

vii 4.5.1 Determination of Crossove r and Mutation Probability............................125 4.5.2 Determination of the Population Size.......................................................126 4.5.3 Determination of Variation Threshold.....................................................129 4.5.4 Determination of Parameters for Local Search Operator.........................132 4.5.4.1 Effect of the adaptive parameter ( ) on the performance of AHGASS..............................................................................................133 4.5.4.2 Effect of local search probability (Po) on the performance of AHGASS..............................................................................................137 4.5.4.3 Effect of number of local search iterations (LS) on the performance of AHGASS.....................................................................140 4.5.4.4 Effect of crossover probability on the performance of local search for AHGASS.........................................................................................144 4.6 Summary.............................................................................................................148 4.6.1 Summary of the Adaptive Hybrid Genetic Algorithm.............................148 4.6.2 Summary of Input Parame ters for an Experiment....................................149 5 VERIFICATION AND VALIDATION...................................................................151 5.1 Introduction.........................................................................................................151 5.2 Criteria and Approach for Verification and Validation......................................151 5.2.1 Criteria......................................................................................................151 5.2.2 Approach..................................................................................................152 5.3 Model Validation I: PSPLIB Instance Sets........................................................153 5.3.1 Design Experiments..................................................................................153 5.3.2 Performance of AHGASS over SGA.......................................................154 5.3.3 Comparison with Other Heuristics...........................................................157 5.4 Validation II: Case Studies of Two Construction Projects.................................176 5.4.1 Overview of Case Studies........................................................................176 5.4.1.1 Commercial warehouse project: Coke bunker project...................176 5.4.1.2 Highway construction project: S.R. 20 project..............................180 5.4.2 Scheduling Case Studies using AHGASS................................................180 5.4.2.1 Commercial warehouse project: Coke bunker project...................180 5.4.2.2 Highway construction project: S.R. 20 project..............................183 5.5 Summary of Verifica tion and Validation...........................................................184 6 CONCLUSIONS......................................................................................................187 6.1 Summary of Research Approach........................................................................187 6.2 Conclusions of Research.....................................................................................190 6.2.1 AHGASS Produces Accurate and C onsistent Solution to the RCPSP.....190 6.2.2 AHGASS Shows Improved Performance over SGA...............................190 6.2.3 AHGASS Produces a Competitive Solution over the Existing Algorithms.....................................................................................................191 6.2.4 AHGASS Does Not Require Long Co mputation Time to Generate a Schedule.........................................................................................................191 6.2.5 AHGASS Can Be an Algorithm General Enough for the RCPSP...........191 6.2.6 AGHASS Can Solve a Large Size Problem.............................................192

PAGE 8

viii 6.2.7 Critical Element of AHGASS Can Be a Population Size.........................192 6.3 Contributions of Research..................................................................................192 6.4 Limitations of Research......................................................................................193 6.5 Recommendations for Future Research..............................................................193 APPENDICES A PSEUDOCODES USED IN AHGASS....................................................................194 B SCHEDULE INFORMATION FOR HI GHWAY CONSTRUC TION PROJECT.199 LIST OF REFERENCES.................................................................................................208 BIOGRAPHICAL SKETCH...........................................................................................220

PAGE 9

ix LIST OF TABLES Table page 2-1 Comparison of the individuals used in three genetic algorithms.............................30 3-1 Definition of resource types for the RCPSP.............................................................43 3-2 Schedule data of a case example based on CPM calculations.................................47 3-3 Detail information of a case example.......................................................................48 3-4 Example of individuals and their fitness values.......................................................53 4-1 Partial schedules from the serial SGS......................................................................84 4-2 Partial schedules from the parallel SGS.................................................................100 4-3 Sample numbers of fitness for transformation function.........................................103 4-4 Tasks and their operato rs for a hybrid algorithm...................................................118 4-5 Trial combination for cro ssover and mutation probability.....................................125 4-6 Experimental results for determin ation of the initial population size....................127 4-7 Results for variation threshold va lues according to crossover probability............130 4-8 Result of the performance for AHGASS by the adaptive parameter values..........134 4-9 Result of the performance for AHGASS by local search probability....................138 4-10 Result of the performance for AHGASS by local search iterations.......................141 4-11 Result of the local search performance for AHGASS by crossover probability....145 5-1 Improvement results for the performa nce of AHGASS over SGA, Termination = 100 generations......................................................................................................155 5-2 Results obtained from AHGASS for J30 (480 instances), 1000 and 5000 schedules................................................................................................................159

PAGE 10

x 5-3 Results obtained from AHGASS for J60 (480 instances), 1000 and 5000 schedules................................................................................................................161 5-4 Results obtained from AHGASS for J120 (600 instances), 1000 and 5000 schedules................................................................................................................162 5-5 Average deviation (%) from optim al makespan – ProGen set J30........................173 5-6 Average deviation (%) from heuris tic solutions – ProGen set J60........................174 5-7 Average deviation (%) from heuris tic solutions – ProGen set J120......................175 5-8 Schedule information of coke bunker project........................................................177 5-9 Detailed information of ac tivities of coke bunker project......................................178 A-1 Pseudocode for random numb er generation procedure..........................................194 A-2 Pseudocode for the overall calculat ion procedure of chrome fitness.....................194 A-3 Pseudocode for calculation procedure fo r chrome fitness using serial SGS..........195 A-4 Pseudocode for calculation procedure fo r chrome fitness using parallel SGS......196 A-5 Pseudcode for local search procedure using random walk algorithm....................197 A-6 Pseudcode for the elitist roulette wheel selection ope rator procedure...................198 A-7 Pseudcode for the one-point crossover operator procedure...................................198 A-8 Pseudcode for the uniform mutation operator procedure.......................................198

PAGE 11

xi LIST OF FIGURES Figure page 2-1 Example of an arrow diagram..................................................................................11 2-2 Example 2-1 for a branch-and-bound algorithm......................................................14 2-3 Resulting branch-and-bound tree obtained from Example 2-1................................15 2-4 Comparison of the terminal nodes for Example 2-1................................................17 2-5 Example of forward and backward schedules: (a) Example data and (b) schedules obtained....................................................................................................25 2-6 An iterative forward-backward pass........................................................................26 3-1 Precedence diagram for a case example...................................................................47 3-2 Bar chart schedule for an exam ple based on the Early Start time............................48 3-3 Overall research procedures.....................................................................................49 3-4 Structure of basic genetic algorithm.........................................................................52 3-5 Example of crossover and muta tion operator of the basic GA.................................53 3-6 Structure of basic random walk algorithm...............................................................57 4-1 Flow chart for AHGASS algorithm.........................................................................60 4-2 Chromosome form ation for the RCPSP...................................................................62 4-3 Procedure of random number genera tor to produce an initial population................63 4-4 Example of an in itial population genera ted randomly by SGA...............................64 4-5 Relationship diagram of various schedul es with regard to optimal schedules.........67 4-6 Example of the computation processe s for the fitness values using the SGS.........68 4-7 Case example used for the illustrati on of the computation processes of the fitness value: (a) arrow diagram and (b) one potential individual employed...........70

PAGE 12

xii 4-8 Procedure of the serial SGS for a single resource....................................................71 4-9 Example of a bar chart schedule obta ined using the serial SGS for a single resource....................................................................................................................77 4-10 Procedure of the serial SGS for multiple resources.................................................82 4-11 Example of a bar chart schedule obtained using the serial SGS for multiple resources...................................................................................................................83 4-12 Procedure of the parallel SGS for a single resource.................................................90 4-13 Example of a bar chart schedule obta ined using the parallel SGS for a single resource....................................................................................................................93 4-14 Procedure of the parallel SGS for multiple resources..............................................99 4-15 Example of a bar chart schedule obtained using the parallel SGS for multiple resources.................................................................................................................100 4-16 Example of the uniquely determined schedules.....................................................101 4-17 Effect of transformation power on the original fitness function............................103 4-18 Behavior of the simple genetic algorithm..............................................................105 4-19 Average and standard deviation ratio.....................................................................107 4-20 Global search and local sear ch variation threshold effect......................................108 4-21 Procedure of one-point crossover operat or to recombine the parents’ information112 4-22 Effect of one-point cr ossover operator on SGA with Cp=0.0 versus Cp=0.5: (a) comparison of mean fitness values and (b) comparison of standard deviation fitness values..........................................................................................................113 4-23 Procedure of uniform mutation ope rator to create a new individual......................115 4-24 Effect of uniform mutation operator on SGA with Mp=0.0 versus Mp=0.03: (a) comparison of mean fitness values and (b) comparison of standard deviation fitness values..........................................................................................................116 4-25 Pseudocode for the overa ll procedure of AHGASS...............................................119 4-26 Graphical user inte rface (GUI) of AHGASS implemented with JAVA................120 4-27 Example of structure of input data usi ng the case example: (a) data structure and (b) explanation of data in (a)..................................................................................121

PAGE 13

xiii 4-28 Example of output data using the case example.....................................................122 4-29 Example of summary data using the case example................................................124 4-30 Comparison of average flatline generation number by population size.................128 4-31 Comparison of average flatline generation number by activity group...................128 4-32 Example of determination of the maximum variation threshold value..................131 4-33 Comparison of variation thresholds ba sed on the serial, parallel, and both SGSs.132 4-34 Comparison of the results for the three SGSs by the adaptive parameter: (a) the percentage of local search, (b) the per centage of local search improvement, and (c) CPU-runtime.....................................................................................................135 4-35 Comparison of the results for the thre e SGSs by local search probabilities: (a) the percentage of local search, (b) the percentage of local search improvement, and (c) CPU-runtime..............................................................................................139 4-36 Comparison of the results for the three SGSs by local search iteration: (a) the percentage of local search, (b) the per centage of local search improvement, and (c) CPU-runtime.....................................................................................................143 4-37 Comparison of the results for the thre e SGSs by crossover probability: (a) the percentage of local search, (b) the per centage of local search improvement, and (c) CPU-runtime.....................................................................................................146 5-1 Performance for AHGASS over SGA....................................................................156 5-2 Comparison of overall perfor mance of AHGASS for J30.....................................160 5-3 Comparison of overall perfor mance of AHGASS for J60.....................................161 5-4 Comparison of overall perfor mance of AHGASS for J120...................................163 5-5 Comparison of average fitness values for J30: (a) according to three different population sizes and (b) according to five different crossover probabilities.........164 5-6 Comparison of average CPU runtime fo r J30: (a) according to three different population sizes and (b) according to five different crossover probabilities.........166 5-7 Comparison of average fitness values for J60: (a) according to three different population sizes and (b) according to five different crossover probabilities.........167 5-8 Comparison of average CPU runtime fo r J60: (a) according to three different population sizes and (b) according to five different crossover probabilities.........169

PAGE 14

xiv 5-9 Comparison of average fitness values for J120: (a) according to three different population sizes and (b) according to five different crossover probabilities.........170 5-10 Comparison of average CPU runtime fo r J120: (a) according to three different population sizes and (b) according to five different crossover probabilities.........172 5-11 Precedence diagram for coke bunker project.........................................................179 5-12 Input data structure of coke bunker project............................................................181 5-13 Results for coke bunker project..............................................................................182 5-14 Results for highway construction project...............................................................184 B-1 Schedule report for high way construction project.................................................199 B-2 Bar chart for highway construction project............................................................202

PAGE 15

xv Abstract of Dissertation Pres ented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy A MULTIHEURISTIC APPROACH TO RESOURCE CONSTRAINED PROJECT SCHEDULING: AN ADAPTIVE HYBRID GENETIC ALGORITHM By Jin-Lee Kim August 2006 Chair: Ralph D. Ellis Major Department: Civil and Coastal Engineering The resource constrained project scheduli ng problem (RCPSP) is one of the most challenging problems and of great practical im portance because its general model can be used for application in product development, production planning, a nd a wide variety of scheduling applications. Although various so lution approaches to the RCPSP have been proposed for over four decades, most procedur es do not have a capab ility to find optimal solutions for project networks with 60 ac tivities or more and the use of a hybrid approach, which combines global search with local search to the RCPSP, has not been yet accomplished. The development of an Adaptiv e Hybrid Genetic Algorithm-based Search Simulator (AHGASS) was motivated by both the lack of success in finding an efficient optimal solution algorithm and the need for a hy brid global-local search approach to the problem. This research proposes a new adaptive hybr id genetic algorithm that solves the RCPSP more effectively and effi ciently by using the simple genetic algorithm (SGA) and

PAGE 16

xvi the random walk algorithm (RWA). A new hybrid strategy to combine the SGA for global search with the RWA for local sear ch was identified through the review of literature. Based on the strategy, a comput er program, AHGASS, was developed using JAVA language to enable users to solve a va riety of problems give n the users’ input. AHGASS was validated with the comparison of the existing methods using numerous standard problem instance sets available in the literature and also implemented with two case studies of construction projects for the feasibility of the algorithm. The results of the validation showed that AHGASS produces an accurate and consistent solution to the RCPSP, improves performance over SGA, produces a competitive solution over the existing algorith ms, is capable of solving a large-sized problem, and thus can be an algorith m general enough for the RCPSP. Major contributions of this research are that AHGASS is the first approach to the RCPSP in contrast to the approaches of the existing hybrid methods and that it can be a promising alternative to the RCPSP as it combines the best aspects of a global optimization approach with a local approach.

PAGE 17

1 CHAPTER 1 INTRODUCTION 1.1 Research Background The Critical Path Method (CPM), a pr oject planning, sche duling, and control technique, has been used widely in the c onstruction industry. The CPM generates useful information for the project manager to plan and control the project more actively and efficiently. Critical a nd non-critical activities are partic ularly important for the purpose of project management on large, complex proj ects. However, the CPM has proven to be helpful only when the project deadline is not fixed and the resources are not constrained by either availability or time. Because there are limitations on the quantities of resources available in practice, construction companies are confronted with the problem of using resources efficiently within the project constraints. Therefor e, resource scheduling arises as a result of problems with the availability of resources. It is necessary to apply the availability of resources into a scheduling process for this reason. Resource scheduling problems in constructi on engineering can be divided into two categories: resource allocation and res ource leveling, dependi ng on the type of constraints, resources and time. Often, two t echniques have been used interchangeably in the literature. However, it is necessary to differentiate resource allocation from resource leveling. Resource allocation, also well know n as the resource constrained project scheduling problem (RCPSP), aims to mini mize the project duration with resource constraints, while resource leveling is used to minimize the fluctuations in patterns of resource usage within the required durati on (Antill and Woodhead 1982, Harris 1990). In

PAGE 18

2 this research the RCPSP, rather than resource leveling, is used to describe the scheduling technique to schedule ac tivities within fixed amounts of resources available during each time period of project duration so as to minimize the increase in project duration. The RCPS problem is one of the most chal lenging problems and of great practical importance because its general model can be used for application in product development, production planning, and a wide variety of scheduling applications. For over four decades, the RCPS problem has recei ved the attention of many researchers for this reason even though it is a classical pr oblem in operations research, management science, and constructio n planning and scheduling. The RCPS problems have also gained impor tance from the fact that they are “combinatorial” problems, which include job-shop sequencing and assembly-line balancing problems. This is also well known as one type of a nondeterministic polynomial (NP)-hard problem (Blazewicz et al. 1983). This type of problem is characterized by a factorial grow th in the amount of computat ion required to consider all possible solutions as problem size increases (Davies 1973). Let L and k be the number of resource combinations and the number of activities, respectively. The size of the search space is Lk. It takes Lk attempts to search optimal solu tions by exhaustive enumeration. For instance, a project has 30 activities and each activity has 2 resource combinations. It will take 230 (equal to 1,073,741,824, that is up to 109) attempts to find the optimal solution. In the end, computati onal efforts increase exponentia lly as either the number of resource combinations or the number of activ ities increases. The overviews for the RCPS problem have been well documented in various works (zdamar and Ulusoy 1995, Brucker et al. 1998, Kolisch and Hartmann 1999).

PAGE 19

3 The RCPS problems have been solved with the various exact me thods, priority-rule based heuristics, and many meta -heuristic methods. First, the various exact methods employ some form of mathematical progr amming such as dynamic programming and zero-one programming or other analytical pr ocedure such as implicit enumeration with branch and bound to search for the best possible solutions. Relative to the vast amount of research that has been conducte d on heuristic procedures, opti mal procedures have rarely been the focus of such extensive research. Considerable progress has been made to produce optimal results by depending on st rong assumptions for small-sized project networks. However, no optimal procedures ha ve proven to be computationally feasible for large, complex projects that can o ccur in practice (Pan agiotakopoulos 1977, Allam 1988, Moselhi and Lorterapong 1993). Theref ore, heuristic a nd meta-heuristic approaches are needed for la rge-sized project networks. Second, priority-rule based heur istics employ some rule of thumb or experience to determine priorities among activities competi ng for available resources. They combine one or more priority rules and schedule generation scheme (ser ial or parallel) to generate one or more schedule. These heuristic pr ocedures generally pr oduce solutions for the RCPS problem in a reasonable amount of tim e, even though the size of the project network is large. However, they have proven to be inconsistent with regard to the quality of results produced on project networks (Easa 1989, Boctor 1990, Hegazy 1999). Finally, many meta-heuristic methods, such as genetic algorithm (GA), simulated annealing (SA), tabu search (TS), and ant colo nies (AC), have been also applied to the RCPS problem to overcome the drawbacks of th e exact optimal methods and priority-rule based heuristics and to improve the perf ormance of the meta-heuristic methods.

PAGE 20

4 The RCPS problems have many different versions in the literature, depending on the characteristics of the problems. So me examples are the objective functions, characteristics of resources, the preemption conditions, and the numbe r of activities that are to be scheduled in either single or mu ltiple modes. Numerous publications over four decades have dealt with exact and heuristic or meta-heuristic methods for solving the RCPS problem with the most common objective, the minimization of project duration. Many research studies recently employed the GA that has been recognized as a powerful and applicable optimization method. The GA is a meta-heuristic technique based on the biological concept of survival of the fittest. This technique has been proven as more effective at obtaining near-optimal solutions than the analytical techniques previously indicated and it does not require c ontinuity of the objective function or other assumptions such as convexity. However, The GA needs a relatively large amount of computational time to search the solution spa ce before the solution is finally attained. One of the trends in this ar ea is to develop a new meta-heu ristic method using artificial intelligence and biologically-inspired techniqu es. This research attempts to propose a new approach by developing a hybrid genetic al gorithm that combines the simple genetic algorithm (SGA) with a random walk algorithm (RWA) in order to improve performance and to reduce the long computational time that is currently associated with RCPS problems. 1.2 Problem Statement 1.2.1 Lack of an Efficient Op timal Solution Algorithm Several works of research conducted by Br ucker et al. (1998), Demeulemeester and Herroelen (1992, 1997), and Mingozzi et al. (1998) and others have been considered to be the currently most powerful exact procedur es for solving the classical RCPS problem.

PAGE 21

5 However, their procedures do not have a cap ability to find optimal solutions, which are optimal schedules, for project networks with 60 activities or more. In addition, according to the work of Hartmann (1998), an expe rimental evaluation study showed that commercial software packages for project management provide schedules with an average deviation of 4.3-9.8% from the optimal solution for project network with up to 30 activities. Therefore, it is of interest to develop a more efficient algorithm that searches feasible optimal and/or near-optim al solutions for the RCPS problem of largesized project networks in a reasonable am ount of time for successful application in practice. 1.2.2 Need for the Use of Global-Loca l Search Approach to the RCPSP Hybrid methods associated with the GA have been classified into two major approaches: Gradient-based local search a pproach and non-gradient -based local search approach. The basic idea of hybrid methods is that the GA searches an initial solution space by identifying a limited set of possible solu tions, and then either a gradient or a non-gradient approach is used as a starting guesses. The difference between a gradient and a non-gradient approach is that gradient-based methods us e the local gradient of the function being optimized to traverse to a locally better solution, while non-gradient methods generally start with one or mo re initial guesses to the unknown inverse quantities (Mahinthakumar and Sayeed 2005). The concept of a hybrid genetic algorith m is becoming increasingly popular and has been successfully applie d to many engineering optimi zation problems (Hartzell and Liu 1995, Pal 1995, Chunduru et al. 1997, Heidar i and Ranjithan 1998, Okamoto et al. 1998, Pan and Wu 1998, Crain et al. 2000, Porsani et al. 200 0, Attaviriyanupap et al. 2002, Lee et al. 2002, Liu et al. 2002) as well as a variety of problems in different fields,

PAGE 22

6 such as aerodynamic design (Foster and Du likravitch 1997), signal analysis (Sabatini 2000), and water resources planning and ma nagement (Espinoza et al. 2005), among others. In a signal analysis, a hybr id genetic algorithm has been applied to estimate the optimal time scale of linear systems in wh ich local search was applied to the best individual generated at the end of the GA pr ocess (Sabatini 2000), wh ile local search was applied when successive GA generation did not improve the best individual in an aerodynamic design (Foster and Dulikravitc h 1997). Hsiao and Chang (2002) and Kapelan et al. (2000) develope d two stage approaches in which the GA solved a problem initially, and then a local search finds the be st solution. Kapelan et al. (2002) developed a more integrated hybrid approach by applyi ng the local search algorithm periodically in order to evaluate several possi ble solutions within the GA. Until Lobo and Goldberg’s hybrid approach (1997) to the groundwater remediation design problem, a more general decision-ma king approach had not been made with respect to convergence and reli ability. Their study showed when to switch from global search to local search and how to use the local and global search in the best configuration. Later studies conducted by Go ldberg and Voessner (1999) and Sinha and Goldberg (2001), and Espinoza et al. (2005) have given helpful insights into the behavior of a hybrid genetic algorithm. However, th e use of hybrid methods using a global-local search approach to the RCPS probl em has not been applied yet. Although hybrid approaches using meta -heuristic methods are becoming increasingly popular and have been successfu lly applied to many engineering problems, the use of a hybrid approach, which combines global search with local search to the

PAGE 23

7 RCPS problem, has not been yet accomplishe d. Therefore, the development of an Adaptive Hybrid Genetic Algorithm-based Search Simulator (AHGASS) was motivated by both the lack of success in finding an effi cient optimal solution algorithm to the RCPS problem and the need for a hybrid global-l ocal search approach to the problem. 1.3 Objective of Research The objective of this research is to develop a new adap tive hybrid ge netic algorithm that solves the resource constrained pr oject scheduling problem (RCPSP) more effectively and efficiently by using the simp le genetic algorithm (SGA) and the random walk algorithm (RWA). The algorithm is named Adaptive Hybrid Genetic Algorithmbased Search Simulator (AHGASS), in which ne ar-optimal and/or optimal solutions to the RCPS problem can be obtained depending on user’s input parameters. The specific tasks of this research incl ude (1) the development of a hybrid strategy to combine the SGA for global search with the RWA for lo cal search, (2) the development of a new hybrid algorithm using the selected methods , (3) the methodology for selecting various input parameters that aff ect the performance of the hybrid algorithm, (4) the implementation of the proposed hybrid al gorithm using JAVA programming, and (5) verification and validation through the implem entation of the developed algorithm with both project instance sets and two case studies fo r construction projects. 1.4 Scope of Research The main focus of this research is the development of an Adaptive Hybrid Genetic Algorithm-based Search Simulator (AHGASS) to solve the large-sized RCPS problems, and the effectiveness of the hybrid algorithm that shows the performance of the hybrid algorithm over the SGA through various problem instance sets. In order to achieve the objectives of this research, the detailed scope of this study includes the identification of a

PAGE 24

8 new approach to the RCPS problem through the review of literature , the development of a hybrid algorithm using the selected methods , which are the SGA for global search and the random walk algorithm (RWA) for local se arch performed whenever local search is needed depending on the performance of gl obal search, and the development of a computer program to enable users to solve a variety of problems give n the users’ input. The procedure to develop an algorithm also includes the development of various operators with the detailed explanation. Finally, the verificati on and validation are performed with the comparison of the existi ng methods using numerous problem instance sets available in the literature. AHGASS is also implemented with two case studies of construction projects for the feasibility of the algorithm. 1.5 Organization of the Dissertation This dissertation consists of six chapters. Chapter 1 presents research background, motivation of research, and problem statement. It states the objectives and scope of this research, and then summarizes th e organization of the dissertation. Chapter 2 reviews previous work on existing methods for solving the RCPS problem. The review starts with the critic al path method to id entify its strength and weakness. The existing methods reviewed in this research include various exact solution approaches, priority-rule based heuristic a pproaches, meta-heuristic approaches, and others, following the neural ne twork approaches. There is then a summary of the review of the literature, and the n eed for AHGASS is described. Chapter 3 presents the desc ription and assumption of the RCPS problem, following the objective function of the RCPS problem. It introduces a case example problem to illustrate a hybrid algorithm more effectively. The overall research procedure is described in detail. Finally, the basic concepts of two meta -heuristic methods selected

PAGE 25

9 for a hybrid algorithm are presented. The con cept of the simple ge netic algorithm (SGA) is given first, following that of the random walk algorithm (RWA). Chapter 4 presents the development of a new hybrid approach that combines the SGA for global search and the RWA for local search. A modeling strategy is identified for a hybrid algorithm, following the representa tion for an individual of the solution to the RCPS problem. Various algorithm operators that are necessary for the development of a hybrid algorithm are described with the il lustration. This chapter also presents the development environment and architect ure of AHGASS algorithm. The AHGASS algorithm is tested through numerous probl em instance sets and its features and advantages are obtained as a re sult. Finally, a summary of the adaptive hybrid genetic algorithm is presented. Chapter 5 demonstrates the performance and significance for the AHGGASS to the RCPS problems through validation. It comp ares the performance of the AHGASS algorithm with that of the existing algorithms developed in the previously conducted research. It presents statistical test results for the effectiveness of AHGASS. Chapter 6 summarizes this dissertation with an abstract of the first five chapters, conclusions, and contributions, addresses limitations of the research, and recommends possible future research directions and value to construction industry.

PAGE 26

10 CHAPTER 2 LITERATURE REVIEW 2.1 Organization of Literature Review This chapter reviews the literature related to the solution approach es of the resource constrained project scheduling pr oblem (RCPSP). Following a brief review of the critical path method (CPM) in Section 2.2, Section 2.3 discusses research efforts for various exact solution approaches for the RCPSP, such as dynamic programming (DP), zero-one integer programming (IP), and implicit enumeration with branch-and-bound (BB). Section 2.4 describes priority -rule based heuristic appro aches for the RCPSP, such as single-pass methods (SP) and multi-pass methods (MP). Truncated branch-and-bound approaches that are different from implic it enumeration with branch-and-bound approach and disjunctive arcs con cepts approach are described in Sections 2.5 and 2.6, respectively, because they do not belong to any class of the solution approaches. Section 2.7 introduces meta-heuristic a pproaches for the RCPSP that include genetic algorithms (GA), simulated anneali ng (SA), tabu search (TS), and ant colonies (AC). Local search-oriented approaches (LSOA), population-based approaches (PBA), forward-backward improvement (FBI), and fu rther heuristics are presented in Section 2.8, following a brief review of neural networ k (NN) approaches. Section 2.9 presents a summary and conclusion of the literature revi ew. Finally, in Secti on 2.10, the need for a new methodology to the solution of the RCPSP is presented based on finding from the literature review.

PAGE 27

11 2.2 Critical Path Method Since the development by the DuPont Cor poration during the 1950’ s, the critical path method (CPM) has been used widely in the construction industry. CPM was a great practical tool to manage a large and complex project because it provi des a graphical view of the project, predic ts the time required to complete a project, and shows the critical path, which determines the shortest time to complete the project. CPM consists of the activities and events of a project on a netw ork, where activities are drawn as nodes while events that indicate the beginning and end of activities are drawn as lines between the nodes (Ahuja 1976, Wiest and Levy 1977, Ha rris 1978, Halpin and Woodhead 1984, Antill and Woodhead 1982). Figur e 2-1 shows an example of a CPM network diagram. Figure 2-1. Example of an arrow diagram A project manager can plan and control a project with a CPM network diagram like Figure 2-1 by taking the following steps: (1) id entify the individual activities, (2) decide the sequence of those activities, (3) draw a network diagram, (4) estimate the duration for each activity, (5) identify the longest path (critical path) through the network, and (6) update the CPM diagram as the project progresses.

PAGE 28

12 The critical path is a very important el ement in project planning and management because of its impact on the entire project. For example, if the activities that lie on the critical path are delayed, th e planned project completion time is delayed. Under the assumption of the availability of unlimited re sources, four parameters for each activity, such as the early start (ES), the early finish (EF), the late start (LS), and the late finish (LF) are computed by the forward and b ackward calculation method of the CPM. Finding the activities with total float of zero can identify the critical path. Float is a flexible spare time among activities and it is extensively used in the CPM. Two important types of floats include total float and free float. Total float is the spare time available when all preceding activities occu r at the earliest possible times and all succeeding activities occur at the latest possible times. Activities with total float of zero lie on the critical path. Free float is spar e time available when all preceding activities occur at the earliest possible times, but all succeeding activities occur at the earliest possible times. When an activity has total floa t of zero, its free float will also be zero. 2.3 Various Exact Solution Approaches This section presents various exact me thods, such as dynamic programming, zeroone programming, and exact approaches based on implicit enumeration with branch-andbound, which have been applied to solve th e resource constrained project scheduling problem (RCPSP). A detailed explanation of each approach is given in this section. 2.3.1 Dynamic Programming Approach Dynamic programming is an approach us ed to decompose problems into subproblems and combine the solutions from each sub-problem into a complete solution for the original problem. A dynamic programmi ng approach developed by Carruthers and Battersby (1966) is the first effort to solv e the RCPSP. Their objective is to find the

PAGE 29

13 expected maximum path length by reinterpre ting the original problem as finding the maximum path length of the final activity of the network using the symmetry of the problem. Their approach made an advance in critical path methods, but it cannot handle practical networks. 2.3.2 Zero-One Integer Programming Approach Several studies have been conducted to a pply zero-one integer programming to the solution of the RCPSP (Wiest 1963, Pritsker et al. 1969, Patterson and Huber 1974, Patterson and Roth 1976). Various zero-one va riable formulations were made to solve the job-shop scheduling problem, which incl udes the RCPSP. To indicate whether an activity is being processed in each scheduling period over the scheduling horizon, Wiest (1963) used a zero-one variab le, as shown in Eq. 2-1. 1, if an activity j begins in period t jtx = {0, Otherwise. (Eq. 2-1) Pritsker et al. (1969) and Patterson and Roth (1976) formulated a zero-one (0-1) linear programming for the RCPSP with multiple resource constraints. The former used zero-one variable to different iate whether an activity is completed in a specific period, while the latter employed it to indicate whether an activity is started in a specific period. Patterson and Huber (1974) proposed bounding t echniques in conjuncti on with zero-one programming to produce minimum duration sc hedules for the RCPSP by examining the feasibility of a series of zero-one progra mming problems rather than solving zero-one problem optimally. However, the number of variables increas es very rapidly as the problem size increases. The main disadvantage of thei r approach is that the zero-one integer

PAGE 30

14 formulation can only be applied to very sma ll size problems. Taking advantage of the structure of the zero-one fo rmulation, an implicit enumeration algorithm reduced a significant amount of computation time required to solve a multiple resource problem. The detailed explanation of an implicit e numeration with branch -and-bound algorithm is given in the immediately following section. 2.3.3 Implicit Enumeration wi th Branch-and-Bound Approach Branch-and-Bound procedure is a search technique in which branches are scheduling decisions about which activities are to be delayed and bounds are precedence and resource constraints. For exampl e, a branch-and-bound algorithm developed by Stinson et al. (1978) was described for the detailed explanation of the branch-and-bound approach by using an example project sc heduling problem, as shown in Figure 2-2. Figure 2-2. Example 2-1 for a branch-and-bound algorithm (After Stinson et al. 1978) The algorithm creates nodes in the solution tree that stand for certain partial schedules , which represent scheduling decisions fo r some subset of the total number of

PAGE 31

15 activities in the network. The partial schedules have an impor tant characteristic: they are always feasible, which means that activities are scheduled only if all their predecessors are completed and the resource requiremen t cannot exceed resource availability for a certain period. It is necessary to differe ntiate the nodes in the CPM network diagram shown in Figure 2-2 from the nodes in th e branch-and-bound tree shown in Figure 2-3. Figure 2-3. Resulting branch-and-bound tree obtained from Example 2-1 As shown in Figure 2-3, the algorithm creates a new fam ily of partial schedules by “branching.” Each member of the new fa mily has in common with the others all scheduling decisions made previously by co mmon ancestral nodes. However, each is unique from the others because it contains one new decision involving the scheduling of one or more activities, which are not prev iously scheduled. Therefore, the algorithm

PAGE 32

16 creates as many new partial schedules as the number of feasible combinations of activities that may enter the schedule at some point in time, including the scheduling of the null set. The first node in Figure 2-3 represents the only feasib le scheduling decision made at time zero. When activity 1, the dummy start activity, is completed at time zero, three scheduling decisions can be made when feasib le. First, activity 2 (node 2) can be scheduled by itself, second, activity 3 can also be scheduled by itself, and finally, activities, 2 and 3 (node 4), can be simultane ously scheduled because they do not violate the resource availability. For example, consid er node 2 in Figure 2-3. In branching from node 2, the new time that the next set of scheduling decisions will occur should be determined by finding the completion time of the first activity in the activity set to be completed. Therefore, all scheduling decisi ons in the family of nodes emanating from node 2 will occur at time 1 because activity 2 is completed at that time. As a result, two new feasible decisions, which were nodes 5 a nd 6, were generated, as shown in Figure 23. By enumerating an exhaus tive set of all feasible comp lete schedules, the branch-andbound algorithm can be reached at the terminal node 23 that produces the optimal schedule and its completion time is 9 days. Fi gure 2-4 shows Gantt charts of all possible complete schedules for the terminal nodes, 20, 21, 22, 24, and 25 in order to compare them to node 23, which is the optimal schedule. Various exact approaches based on imp licit enumeration with branch-and-bound have bee applied to the RCSPS (Davis a nd Heidorn 1971, Hastings 1972, Fisher 1973, Stinson et al. 1978, Talbot and Patterson 1978, Christofides et al. 1987, Demeulemeester

PAGE 33

17 and Herroelen 1992, 1997, Brucker et al. 1998, Mingozzi et al. 1998, Dorndorf et al. 2000). ( a ) Optimal Schedule obtained from Node 23Resources used 2 143 025 012345678910111213Time ( b ) Non-optimal Schedule obtained from Node 20 ( Activit y 3 is not left-active ) Resources used 2 14 0235 012345678910111213Time ( c ) Non-optimal Schedule obtained from Node 21 ( Activit y 5 is not left-active ) Resources used 2 14 0235 012345678910111213Time ( d ) Non-optimal Schedule obtained from Node 22 ( Activit y 3 is not left-active ) Resources used 2 14 0253 012345678910111213Time ( e ) Non-optimal Schedule obtained from Node 24 ( Activit y 2 is not left-active ) Resources used 2 14 0325 012345678910111213Time ( f ) Non-optimal Schedule obtained from Node 25Resources used 2 124 035 012345678910111213Time Figure 2-4. Comparison of the terminal nodes for Example 2-1

PAGE 34

18 A branch-and-bound proposed by Davis a nd Heidorn (1971) transformed a RCPSP instance into a problem of finding the shortest path in a directed graph where each vertex represents a feasible subset of activities that can be sche duled simultaneously at a given time. However, the algorithm can solve onl y small size problems because the number of feasible sets can be vast, as the problem si ze, the number of activities, increases. A branch-and-bound procedure presented by Hastin gs (1972) searches an optimal solution by creating a solution tree in which each node represents a sub-problem and each branch of the tree stands for a set of activities in progress. The first attempt has been made to de rive a lower bound based on a Lagrangean relaxation of resource constraints, whic h is a linear programmi ng relaxation (Fisher 1973). Like the procedure of Hastings (1972) , the algorithm proposed by Stinson et al. (1978) produces a lower bound based on the lo ngest path of the precedence graph by taking account of some of the relaxed resour ce constraints. An integer programming algorithm developed by Talbot and Patterson (1 978) used the formulation of Patterson and Roth (1976) to reduce solution times by introducing the network cuts mechanisms that identify early in the enumeration process the partial schedules that cannot lead to an optimal solution. Two lower bounds, which are based on bot h the linear programming relaxation (Fisher 1973) and a disjunctive graph (Balas 1969, 1970) obtained from the precedence graph by adding disjunctive ar cs to partially represent resource constraints, were proposed to solve the RCPSP (Christofides et al. 1987). Their computation results showed that their algorithm pe rformed better than the proced ure of Stinson et al. (1978).

PAGE 35

19 An effective branch-and-bound algorithm developed by Demeulemeester and Herroelen (1992) performed better than all ot her exact methods in the literature. The algorithm is based on a depth-first solution stra tegy in which nodes in the solution tree represent resource and precedence feasible par tial schedules, while branches emanating from a parent node correspond to exhaustive and minimal combinations of activities. The precedence and resource-based bounds were combined with the dominance pruning rules in order to grasp major portions of the soluti on tree. Their computa tional results showed that their algorithm outperformed at least on the set of 110 test problems assembled by Patterson (1984), while Patterson’s problem set can no longer be considered as a benchmark because it belongs to the easy RCPSP instances (Kolisch et al. 1995). Kolisch et al. (1995) introduced a number of parameters to identify easy and hard RCPSP instances and generated a se t of test problems, by show ing that the procedure of Demeulemeester and Herroelen (1992) cannot solve hard instances to optimality, even with a large amount of computation time. The problem sets of Kolisch (1995) and Kolisch and Sprecher (1996) ar e currently considered the standard set for the RCPSP and benchmarked by many researchers in the study area of the RCPSP. An updated version of the branch-and-bound procedure was repor ted with the impact of three important variables on the computation time for the RCPSP: addressable co mputer memory, the search strategy (depth-first, best-first, or hybr id), and the introducti on of a stronger lower bound (Demeulemeester and Herroelen 1997). A branch-and-bound proposed by Brucke r et al. (1998) either introduced disjunctive constraints between pa irs of activities or placed these activities in parallel. The branching starts from a graph represen ting a set of conjunctions, which means the

PAGE 36

20 precedence constraints, and disjunctions i nduced by the resource constraints. Their computation results based on the test data of Kolisch et al. (1995) and Kolisch and Sprecher (1996) showed that their algorithm performed well, leaving the suggestion that more improvement on the lower bounds is needed. A zero-one linear programmi ng for the RCPSP was formulated in order to derive lower bounds, which dominate the value of the longest path on the precedence graph (Mingozzi et al. 1998). A co mputational result s howed that their exact algorithm can solve hard instances that cannot be solv ed by the best algorithms reported in the literature. A time oriented branch-andbound algorithm for the RCPSP explores the set of active schedules by enumerating possible act ivity start times (Dor ndorf et al. 2000). The algorithm was designed to reduce the search space using constraint-propagation techniques (Waltz 1975) that exploit the temporal and resource constraints of the problem. Currently, the most powerful exact proce dures are the works by Brucker et al. (1998), Demeulemeester and Herroelen ( 1992, 1997), Mingozzi et al. (1998), and Sprecher (1996). However, a branch-and-bound procedure requires exponentially more time as the number of constraints increases. In the end, this method fails to converge on an optimal solution within a reasonable amount of time (Kolisch et al. 1995). In addition, the other disadvantage of these methods was that they become computationally impracticable for problems of a realistic size, either because the project size grows too large, or because the solution procedure is too lengthy, or both (Coope r 1974). This fact invoked the development of heuristics that pr ovide the viable scheduling techniques for large projects. The detailed explanation of a heuristic approach is given starting from the

PAGE 37

21 priority-rule based heuristic approach, following the meta-heuristic approaches and other approaches. 2.4 Priority-rule based Heuristic Approaches This section presents various priority-r ule based heuristic approaches, such as single-pass method approach and multi-pass me thod approach, which have been applied to solve the resource constrained project scheduling problem (RCPSP). Multi-pass method called X-pass method can be classified into three methods. They include (1) multi-priority rule methods, (2) forward-ba ckward scheduling methods, and (3) sampling methods. Priority-rule based heuristic approaches use various prior ity rules and serial and/or parallel schedule generation scheme (SGS) to produce one or more schedules (Hartmann and Kolisch 2000). SGSs are the methods that build up a feasible schedule in a stepwise fashion and use priority rules for ranking th e set of activities to be considered for scheduling. Two different schemes are the serial schedule genera tion scheme and the parallel schedule generation sc heme. The former is an ac tivity-oriented scheme, while the latter is a time-oriented scheme. Bo th SGSs were used to decode schedule representation into a schedule in this researc h. Therefore, the detail description for the SGS is given in Chapter 4. 2.4.1 Single-Pass Method Approach A single-pass method constructs only one schedule, while a multi-pass method, also known as X-pass, constructs more th an one schedule. Some of the well-known priority rules are latest finish time (LFT) rule , earliest start time (EST) rule, most total successor (MTS) rule, and others. Several sing le-pass methods have been widely used to solve the RCPSP (Davis and Patterson 1975, Cooper 1976).

PAGE 38

22 For example, the parallel method deve loped by Cooper (1976) creates just one schedule by means of a series of partial schedules with the following steps: 1. Start with an empty partial schedule 2. Create available sets that satisfy the requirement for scheduling. The requirement is that a start time for an activity is de termined, satisfying the constraints. The activity cannot be in a subs et of scheduled activities, but all its pred ecessors must be in scheduled activities. If no more pa rtial schedule exists, then stop. It means that all activities are scheduled. Otherwise, go to the next step. 3. Choose an activity from the available sets according to a pr iority rule. For example, Cooper (1976) employed tw enty-six rules in this step. 4. Schedule the chosen activity. In this step, the earliest time at which activity in available sets can be started without viol ating the constraints is determined, and then a start time is set to the earl iest time. Then, go to step (2). A comparison study conducted by Davis a nd Patterson (1975) deals with eight different heuristic scheduli ng rules, which include minimum job slack (MINSLK), resource scheduling method (RSM), minimum la te finish time (LFT), greatest resource demand (GRD), greatest resource utilization (G RU), shortest imminent operation (SIO), most jobs possible (MJP) and select jobs randomly (RAN). The optimal duration for each of the eighty-three test problems was computed using bounded enumeration in order to take a base of comparison for the heuristic ally obtained durations. It was shown that the MINSLK performed best, with second and third-best being the RSM rule and the LFT rule, respectively. Cooper (1976) compar ed the parallel method with the sampling method using the same priority rule. From th e statistical analysis, it was shown that the sampling method produced better schedules than ones produced by the parallel method. It was also shown that the c hoice of priority rule is impor tant with the parallel method, but not with the sampling method. 2.4.2 Multi-Pass Method Approach Multi-pass priority-rule based methods are the extension of single-pass methods by performing several passes. Th e basic idea of the methods is to perform several passes by

PAGE 39

23 combining a SGS with various priority rules at each iteration. Multi -pass methods can be classified into three common methods: (1) multi-priority rule methods, (2) forwardbackward scheduling methods, and (3) sampling methods. 2.4.2.1 Multi-priority rule methods The multi-priority rule methods use a SGS several times, in which a different priority rule is used each time and the best so lution is selected. Seve ral studies have been done to solve the RCPSP using multi-priority rules (Ulusoy and zdamar 1989, Boctor 1990, zdamar and Ulusoy 1994). A weighted resource utilization and pr ecedence (WRUP) rule proposed by Ulusoy and zdamar (1989) is compared with other heuristic rules, such as MINSLK, LFT, RSM, GRD, SIO, and RAN, in their experime nt, which also includes the establishment of the relationships between ne twork and resource charac teristics of the RCPSP and heuristic procedure performance. They al tered the second step of Thesen’s algorithm (1976) in that the activity to be scheduled is selected from the activities in the resource conflict set as the one at the top of the prior ity list based on the order of the heuristic rule employed. It was shown that the performan ce of WRUP is satisfactory because it can solve all types of problem more successfully than the rest of the widely used heuristics. It was also shown that the rule WRUP is more efficient and faster than others because it is a list priority rule. Boctor (1990) tested a comb ination of heuristic rules to analyze the relationship between the probability of getting the best solu tion and the number of heuristic rules to be used. It was shown that a combination of 4 or 5 heuristics can produce better results. However, an issue may arise on whether a combination of various heuristic rules can solve a problem of larger size.

PAGE 40

24 2.4.2.2 Forward-backward scheduling methods Forward-backward scheduling methods use a SGS to schedule a project iteratively by taking turns forward and backward schedulin g. Several studies have been done to solve RCPSP with forward-backward sche duling methods (Li and Willis 1992, zdamar and Ulusoy 1996, Lova et al. 2000, Tormos and L ova 2001). It is notable that forwardbackward scheduling methods are different from forward-backward improvements, which was described in Section 2.8.3. A procedure called an iterative schedu ling technique for the RCPSP developed by Li and Willis (1992) schedules a project fo rwards and backwards iteratively until no further improvement is found in the project completion time. Activities are started as early as possible in the forward-loading tec hnique, while they are started as late as possible subject to meeting the project target date in the backward loading technique, as shown in Figure 2-5. It was shown based on the comparative tests that their procedure performs well, compared to the chosen heuristic rules, while it generates near-optimal schedules. Initiated by Li and Willis (1992), anothe r iterative forward-backward scheduling technique was developed to reduce the proj ect duration by smoothing out the resource profile (zdamar and Ulusoy 1996). They co mpared the procedure of Li and Willis (1992) with a conflict based decision-maki ng process called Local Constraint Based Analysis (LCBA) and three priority rules, such as MINSLK, LFT (Christofides et al. 1987), and WRUP (Ulusoy and zdamar 1989) . It was shown that from the computational results, the iterative te chnique produces high quality solutions.

PAGE 41

25 Resource requirements i Ai Section Duration R1 R2 1 1-2 8 2 1 2 1-3 1 4 2 2 2 8 3 1 3 2-4 1 3 1 1 2 4 2 2 3 4 4 3 4 3-4 2 6 2 (a) 0123456789101112131415161718192021222324 Time Forward scheduleBackward schedule 1-2 1-2 1-3 1-3 2-4 2-4 3-4 3-4 (b) Figure 2-5. Example of forward and backward schedules (After Li and Willis 1992): (a) Example data and (b) schedules obtained A multicriteria heuristic algorithm develope d by Lova et al. (2000) consists of several algorithms based on the improvement of multiproject feasible schedules. They used a forward-backward scheduling tec hnique in a multipass method, as shown in Figure 2-6. It was shown that based on the extensive computational study, their method improves the feasible multiproject schedule obtained from heuristic rules, such as maximum total work content (MAXTWK), LFT, and others.

PAGE 42

26 Figure 2-6. An iterative forward-backwa rd pass (After Lova et al. 2000) A hybrid multi-pass method proposed by Tormos and Lova (2001) combined random sampling procedures with a forwardbackward scheduling technique. Through a step-wise computational analysis, the impact of each component of the algorithm was evaluated. From the results of the comparis on against the best ava ilable heuristics using the PSPLIB problem sets (Kolisch 1995, Kolisch and Sprecher 1996), the algorithm showed to be competitive with the best heur istic solution techniques known so far for the RCPSP. 2.4.2.3 Sampling methods The common characteristics of the multi -priority rule methods and forwardbackward scheduling methods is that they gene rate the same final schedule even if they are applied several times because of deterministic sense. On the other hand, sampling methods obtain the first schedule by applying a priority rule along with a SGS. The difference between multi-priority rule/forward-backward scheduling methods and sampling methods is that a different schedule can be obt ained from each pass of the sampling methods and then the be st one is the final schedule. For example, the sampling method developed by Cooper (1976) forms a set of feasible schedules using randomizing techniqu es and chooses the best schedule obtained. The general process is as follows:

PAGE 43

27 1. Set i = 1. 2. Form a feasible schedule Si. The sel ection method is based on random selection with activity priority used as weighting f actors. The probability of activity i in the available sets being chosen for scheduli ng at any stage is determined using the probability of activity i being selected next for scheduling over sum of the probability of all activities being included in the available sets. 3. If i is less than the sample size of n, then set i=i+1 and go to step (2). Otherwise, go to step (4). 4. Select the best schedule of S1, S2, , Sn. Stop. Several studies have been done to solve the RCPSP using sampling methods (Wiest 1967, Cooper 1976, Alvarez-Valdes and Tamarit 1989, Drexl 1991, Kolisch 1996a, 1996b, Kolisch and Drexl 1996). The serial sc hedule generation scheme was used with the application of sampling methods in the works of Cooper (1976) and Kolisch (1996a, 1996b), while the parallel scheme was employed with the sampling methods in the works of Alvarez-Valdes and Tamarit (1989) and Kolisch (1996a, 1996b). The conclusion from these studies is that the sampling methods perform better than de terministic scheduling heuristics based on single-pass and multi-pass wh en a regular measure of performance is evaluated (Tormos and Lova 2001). In general, priority-rule based heuristic approaches are still employed for solving large-sized problem sets of the RCPSP because of their simple implementation and low computational time and memory requirements. The main disadvant age of priority-rule based heuristic approaches is th at they are not very effectiv e with respect to the average deviation from the optimal solution in spit e of their advantages mentioned above. 2.5 Truncated Branch-and-Bound Approach A branch-and-bound approach without back track proposed by Alvarez-Valdes and Tamarit (1989) is a method of constructing feas ible solutions. The approach is described separately because it can neither be classi fied as an X-pass method nor as a metaheuristic in the literature of the research ar ea. It is different fro m the general branch-and-

PAGE 44

28 bound approach described in Section 2.3.3 in that at each branching level, the algorithm evaluates the capacity of each node to produce the best complete schedule, instead of exhaustively searching the solution tree to assu re the optimality of th e solution. It then builds the schedule from the most promising node. Proceeding in the way described above, it then follows a unique path in the so lution tree. Thus, one feasible solution for the resource constrained project scheduling pr oblem (RCPSP) is obtained from the final branching level. More details are referred to the work of Alvarez-Valdes and Tamarit (1989). 2.6 Disjunctive Arcs Concepts Approach A disjunctive graph approach has been applied by Balas ( 1969) to solve the machine sequencing problem, but it was found that the approach could not apply the multiple resource problems because more than one unit of each available resource and several activities requiring the same resource did overlap in a feasib le schedule. Like truncated branch-and-bound approach, the disj unctive graph approach is also described separately for the same reason. An approach based on the disjuncti ve arcs developed by Balas (1970) was proposed to design heuristic algorithms for the resource constrained project scheduling problem (RCPSP) (Alvar ez-Valdes and Tamarit 1989). A set of activities is an incompatible set if (1) the resource requirement exceeds the resource availability, (2) there is not a path between any pair of activities in the set in the precedence graph, and (3) none of its proper subs ets is an incompatible set. Various heuristic algorithms are obtai ned by applying different strate gies for the implementation of Steps 4 and 5 of the following proce dures (Alvarez-Valdes and Tamarit 1989): 1. Form the precedence graph. Set p=2 (cardinal number) 2. If there are no incompatible sets, the pr ecedence graph is a solution of the set of added arcs. STOP. Else, go to step 3.

PAGE 45

29 3. If there are no incompatible sets of cardinality, set p=p+1. Go to Step 4. 4. Choose an incompatible set C = {i1, i2, , ip}. 5. Solve the incompatible set by choosing an arc (i, j) within the C . Go to step 2. A computational comparison and statistical testing of numerous algorithms and the disjunctive arcs algorithm and more details are referred to the work of Alvarez-Valdes and Tamarit (1989). 2.7 Meta-heuristic Approaches This section presents various meta-heurist ic approaches, which have been applied to solve the resource constrained project scheduling problem (RCPSP) because they are likely to search an optimal or near-optimal solution to the problem. The most common meta-heuristics include genetic algorithm (G A), simulated annealing (SA), tabu search (TS), and ant colonies (AC). 2.7.1 Genetic Algorithm Approach The genetic algorithm (GA), a meta-heuri stic and optimization technique, has emerged as a tool that is be neficial for a variety of study fields including construction applications since the introduction in the 1960’s by Holland (Holland 1975). GA has also attracted considerable attent ion in a number of fields not only as a methodology for optimization, adaptation, and learning, but al so as optimization techniques for solving discrete optimization problems or other hard optimization problems (Sakawa 2002). Several studies have been done to solve th e RCPSP using a genetic algorithm (Hartmann 1998, Kohlmorgen et al. 1999, Alcaraz and Maroto 2001, Hartmann 2002, Hindi et al. 2002, Toklu 2002, Valls et al. 2003, 2004, 2005). GA ha s also been used successfully to solve construction management problems, in cluding resources scheduling with a small

PAGE 46

30 number of activities (Chan et al. 199 6, Leu and Yang 1999, Hegazy 1999, Hegazy and Kassab 2003). A permutation based genetic algorithm proposed by Hartmann (1998) makes use of activity list representation. Three encodi ngs in the algorithm were developed, which include priority value based genetic algorithm similar to the work of Lee and Kim (1996) and priority-rule based genetic algorithm si milar to the work of Dorndorf and Pesch (1995). Table 2-1 shows three di fferent types of individuals for encoding that were used for comparison purpose. From the comput ational results, the permutation-based encoding genetic algorithm outperfor med two other encoding algorithms. Table 2-1. Comparison of the individual s used in three genetic algorithms Encoding Individual I Example Permutation-based encoding I = {j1 I, , jJ I} I={2, 4, 6, 1, 3, 5} Priority value-based encoding I = {pv1 I, , pvJ I} I={0.58, 0.64, 0.31, 0.87, 0.09, 0.34} Priority rule-based encoding I = {pr1 I, , prJ I} I={LFT, LST, MTS, MSLK, WRUP, GRPW} The genetic algorithm of Hartmann (1998) also performed best among the 16 heuristics tested in the co mputational study of Hartmann and Kolisch (2000). The algorithm produced better results than thos e obtained from the simulated annealing algorithm of Bouleimen and Lecocq (2003) fo r the J120 instance set and similar results for the instance sets J30 and J60. They st udied a level of muta tion probability of 0.05, and did not specify the crossover probability. A parallel genetic algorithms develope d by Kohlmorgen et al. (1999) has been applied to solve the RCPSP. The algorithms in clude a fine-grained parallel version of the island model of genetic algorithms and of variants of the neig hborhood model called the diffusion model. In island m odel, the population is divided into several subpopulations by appropriately dividing the grid into s ub-arrays. It was implemented on a coarse-

PAGE 47

31 grained parallel machine using one processo r per island. In th e neighborhood model, every processor selects a pa rtner for recombination from some local neighborhood by considering neighbors at diffe rent distances in the possi ble directions. Although a comparative evaluation of two models wa s not showed, their algorithm showed good performance due to the larger genetic dive rsity obtained by seve ral sub-populations. A genetic algorithm of Alcaraz and Maroto (2001) was the gene ralization of the activity list GA of Hartmann ( 1998). They used the serial SGS and included an additional gene that decides whether the ac tivity list is scheduled in a forward or backward direction. From the extensive com putational experiment based on the standard set of project instances (Kolisch 1995, Kolis ch and Sprecher 1996), it was shown that the algorithm provides good performance based on the developed forward-backward crossover techniques. They studied two di fferent levels of crossover and mutation probabilities, 0.5, 0.8 and 0.05, 0.01, respectively. An extended self-adapting genetic algo rithm (SAGA) of Hartmann (2002) was developed from the previous genetic algor ithm (Hartmann 1998). SAGA has been incorporated into with several features: an extended representation of an individual that includes an additional gene that decides th e decoding procedure, adapted crossover and mutation operators, and a new method for co mputing an initial popul ation. Although the result increased the quality of solutions, a computational cost was required. They studied a level of mutation probability of 0.05, and did not specify the crossover probability. A genetic algorithm developed by Hindi et al. (2002) employe d the activity list representation, the serial SGS, and the rela ted order-preserving crossover strategy, which are similar to the work of Hartmann (1998). The difference between two algorithms is

PAGE 48

32 that the initial population is generated by a pure random mechanism; while Hartmann (1998) generated an initial population based on the late finish time based sampling. On the other hand, Toklu (2002) developed a ge netic algorithm that applies directly on schedules using a vector of st art times. A penalty function wa s used to repair infeasible offspring schedules that the ge netic operators may produce. Valls et al. (2005) developed the extended activity list based genetic algorithm by combining forward-backward improvement of Valls et al. (2003). A peak crossover operator was developed to aim at inheriting those parts of the pa rents’ activity lists that corre spond to peaks in the resource usage. 2.7.2 Simulated Annealing Approach The simulated annealing approach, pr oposed by Kirkpatrick, Gelatt and Vecchi (1983), is a variation of the improving search method. It can be used to solve large combinatorial optimization problems. The ba sic concept of the improving search method is that it starts with one or more feasible solutions, and then moves toward the direction that produces the greatest improvement until no improvement exists. While the improving search moves downhill, in the case of the minimization problem, the simulated annealing procedures will move uphill under certain probabilistic conditions (Son and Skibniewski 1999). Several studies have been conducted to solve the resource constrained project scheduling problem (RCPSP) using a simula ted annealing appro ach (Boctor 1996, Cho and Kim 1997, Bouleimen and Lecocq 2003, Valls et al. 2005). A simulated annealing algorithm presented by Boctor (1996) solv ed nonpreemptive RCPSP problems, in which resources are limited but renewable from period to period. A comparison with tabu search heuristics has shown the efficiency of the algorithm. A simulated annealing

PAGE 49

33 procedure of Lee and Kim (1996) has been improved by comparing three meta-heuristic methods, such as a genetic algorithm, a simu lated annealing heuris tic, and a tabu search method (Cho and Kim 1997). Consequently, th e solutions obtained from the simulated annealing and tabu search were closer to the optimal solutions than the genetic algorithm. A simulated annealing algorithm presente d by Bouleimen and Lecocq (2003) has been developed to cover the RCPSP and its multiple mode versions (MRCPSP). An activity list representation that is similar to the one of Boctor (1996) and the serial SGS for a scheduling procedure were utilized for both RCPSP and MRCPSP. For RCPSP, the search was based on an alternated activity and time incrementing process, while for MRCPSP, two embedded search loops al ternating activity and mode neighborhood exploration were developed. Based on th e computational results on the benchmark instances (Kolisch 1995, Kolisch and Sprecher 1996), it was shown th at the performance of the algorithm proved the efficiency am ong the most competitive algorithms for the RCPSP. Valls et al. (2005) tested a si mulated annealing method by combining with forward-backward improvement that takes tu rns between the formerly scheduled finish times (backward pass) and their start times obtained from the backward pass (forward pass). 2.7.3 Tabu Search Approach Tabu search approach is a meta-heuris tic superimposed on another heuristic (Glover 1986). The overall approach is to avoid entrainment in cycles by penalizing moves, which take the solution to points in the solution spa ce previously visited in the next iteration. Tabu is named for this reason. The tabu search starts with marching to a local minimum. The search records recent m oves in one or more tabu lists in order to avoid retracing the steps used. The list aims not to prevent a previous move from being

PAGE 50

34 repeated, but rather to insure that it is not reversed. The list is historical in nature and forms the tabu search memory. The role of the memory can change as the algorithm proceeds. Several studies have been comple ted to solve the resource constrained project scheduling problem (RCPSP) using a tabu search approach (Thomas and Salhi 1998, Klein 2000, Nonobe and Ibaraki 2002, Artigues et al. 2003). A tabu search method introduced by Thomas and Salhi (1998) operates directly on schedules by defining three different moves. This approach needed a repair procedure to turn an infeasible schedule into a feasible one because the resulting neighbor schedules may be infeasible. A tabu search procedur e called RETAPS (Reactive Tabu Search for Project Scheduling) was presented by Kl ein (2000) and tested on the J30 and J60 standard sets (Kolisch 1995, Kolisch and Sprecher 1996). However, the computation times were not reported. A tabu search appr oach proposed by Nonobe and Ibaraki (2002) is a generalized variant of the RCPSP. In their approach, the activ ity list representation, the serial SGS, shift moves, and a speci fic neighborhood reduction mechanism were employed. Major features also include multi-mode processing and variable availability of renewable and non-renewable resources. A tabu search procedure with the insertion technique devised by Artigues et al. (2003) iteratively chooses an activity, in which the activity is first removed from the schedule and then reinserted with a network flow-based insertion algorithm. 2.7.4 Ant Colonies Approach An ant system approach is a meta-heuri stic strategy developed by Dorigo et al. (1996) to apply the classical Traveling Salesm an Problem (TSP). Main features of their ant system include positive f eedback that accounts for rapid discovery of good solutions, distributed computation that a voids premature convergence, a nd the use of a constructive

PAGE 51

35 greedy heuristic that helps find acceptable solu tions in the early stages of the search process. Based on the simulation results, it was shown that the ant system is robust and can be applied to other optimization problems. The first application of ant colony optimi zation (ACO) approach to the resource constrained project scheduling problem (RCPSP) was the work of Merkle et al. (2002). They combined ant colony algorithm with various other heuristics used in the computational study of Hartmann and Kolisch (2000). They used a single ant that corresponds to one application of the serial SGS. Based on a weighted evaluation of the latest start time priority rule and so-called pheromones that represent the learning effect of previous ants, the eligible activity to be scheduled next is select ed. Every heuristics considered was allowed to construct and ev aluate a maximum of 5000 schedules for the standard J120 set (Kolisch 1995, Kolisch and Sprecher 1996). The computational results of their experimental design showed that their algorithm performed best on average against several other heuristics, which include genetic algorithms, simulated annealing, tabu search, and different sampling methods. 2.8 Other Approaches 2.8.1 Local Search-Oriented Approaches It is notable that local se arch-oriented approach does not follow one of the classic meta-heuristic schemes, but it is thought of as meta-heuristic methods in the literature. Several studies have been completed to solv e the resource constrai ned project scheduling problem (RCPSP) using local search-oriented approach (Valls et al. 2003, Fleszar and Hindi 2004, Palpant et al. 2004). A two-phase local search me thod has been proposed base d on the topological order representation and the serial SGS (Valls et al. 2003). In the first phase, the first two

PAGE 52

36 moves, which is either forward or backward direction, are used. In the third move, random sampling is applied within a time wi ndow derived from the current solution. In the second phase, the neighborhood of the best solutions obtained in the first phase is explored by constructing a soluti on’s neighbor that is selected using either in the order of the original solution or by biased random sampling. Variable neighborhoods search (VNS) introduced by Mladenovic and Hansen (1997) have been applied to solve the RCPSP (Fleszar and Hindi 2004). The activity list representation, the serial SGS, an enhanced sh ift move was utilized in the approach. The shift move allowed activities to move together with their predecessors and successors. In the run-time, precedence relationships among activities were added based on lower bound calculations. Embedding forward-backward scheduling with the serial SGS and constraint-based optimization of partial schedules has develope d a local search proce dure (Palpant et al. 2004). Applying forward-backward scheduling produces an initial solution. Activities are selected randomly and then the activities that have a minimum makespan schedule are determined under the constraints imposed by the non-selected activities. The overall procedure that consists of the selection of activities, the optimization of partial schedules, and the forward-backward scheduling c ontinues until it meets a stopping criterion. 2.8.2 Population-Based Approaches It is notable that a population-based appr oach does not also follow one of the classic meta-heuristic schemes like a local s earch-oriented approach, but is thought of as a meta-heuristic method in the literature. Se veral studies have been completed to solve the resource constrained project scheduling problem (RCPSP) using a population-based approach (Kochetov and Stol yar 2003, Valls et al. 2004, 2005).

PAGE 53

37 An evolutionary algorithm has been devi sed by combining genetic algorithm, path relinking, and tabu search (Kochetov and Stolya r 2003). In this algo rithm, solutions are generated by an evolution and diversified in a genetic way. Two solutions from the pool are chosen and the path of so lutions linking the selected solu tions is constructed based on the path relinking method introduced by Glover et al. (2000). The best solution from the path is chosen and improved by means of a tabu search. In a neighborhood where the activity list is divided into three parts, the seri al SGS is employed in the first and the last part while the parallel SGS is used in the middl e part. As a last step, the tabu search is applied to add the best solution to the populat ion and to remove the worst one from the population. A population-based approach to the RC PSP has been proposed by employing the local search-oriented approach, which incl udes the two phases: local search and the topological order representation (V alls et al. 2004). An impl icit enumeration-based move is introduced to increase the resource utiliza tion within a time interv al. Combinations of solutions in the population are produced by the in troduction of a binary operator. Valls et al. (2005) also introduced se veral non-standard population-based schemes. The study mainly focuses on forward-backward improvement (FBI), which is described in detail in Section 2.8.3. The priority value representati on and the variant of uniform crossover are used. 2.8.3 Forward-Backward Improvement Approach Forward-backward improvement (FBI), al so called double justification technique, was named because the similarity of the tw o procedures: the backward-forward pass of Tormos and Lava (2001) and th e justification procedure of Valls et al. (2005). The method is not a meta-heuristic method, but it ha s been also used to solve the resource

PAGE 54

38 constrained project scheduling problem (RCPSP). It is not able that forward-backward scheduling methods are different from forward-backward improvements, as described in Section 2.4.2. An iterative forward-backward heuristic ha s been developed by Tormos and Lava (2001) for the first time. Their approach us es either the serial or parallel schedule generation scheme (SGS) in each iteration in order to gene rate a schedule by means of a regret-biased sampling method with the latest finish time priority rule. A backwardforward pass then improves the resulting sche dule. In other word s, the activities are ranked in non-increasing order of the formerly scheduled finish time (backward pass) and then the SGS is applied to the activity list. The activities are ra nked in non-decreasing order of their start times obtained from the backward pass (forward pass) and then the SGS is applied again to the activity list, as done in the previous step. Developing a selective mechanism that performs backwa rd-forward improvement passes only if the schedule constructed by sampli ng is better than the average of the solutions has further enhanced this approach. Two backward-forwa rd improvement passes are applied to such a schedule. In addition to the backward-for ward improvement passes, forward-backward improvement passes have been extended in orde r to apply at most th ree passes to the best one fourth of the schedules generated by sa mpling while applying at most two passes to the next best one fourth of the schedules. A separate procedure is developed to construct schedules by deterministic application of the latest finish time priority rule instead of sampling, and then improvement passes are prece ded. Both the serial and parallel SGS are used.

PAGE 55

39 Recently, a double justificati on procedure has been proposed by Valls et al. (2005) in order to improve schedules obtained from othe r heuristics. It shifts all activities within a schedule to the right and subsequently to the left. They demonstrated its general applicability by the test that adds it to various sampling methods and meta-heuristics from the literature. Application to the act ivity list-based genetic algorithm of Hartmann (1998) gives the best so lutions in their test. 2.8.4 Further Heuristics This section summarizes those heuristics that cannot be classified as one of approaches mentioned so far. A network decomposition technique proposed by Sprecher (2002) aims to incorporate exact methodologies into heuristic search. Biased random sampling using the latest finish time priority rule in each iteration produces an initial schedule. Based on the schedules, the trunc ated version of the branch-and-bound method (Sprecher 2000) is applied into the sub-probl ems that are divided from the problem. The schedules of the subprojects are linked to an improved schedule for the overall project. A Lagrangian-based list he uristic approach proposed by Mhring et al. (2003) generates an upper bound of the project durati on by using a multi priority rule method. A Lagrange relaxation and a list scheduling heuristic are perfor med iteratively so that lower and upper bounds for the resource constraine d project scheduling problem (RCPSP) are produced. A computational study on the J 60, J90, and J120 standard instance sets obtained from PSPLIB (Kolisch 1995, Kolisch and Sprecher 1996) indicates that the quality of the feasible solutions were similar to results obtained with different algorithms. An insertion technique based on the parall el SGS and the worst-case slack (WCS) priority rule developed by Artigues et al. ( 2003) is a multi-pass approach that solves an RCPSP instance n times. At time j , an activity j is deleted from the instance. A network

PAGE 56

40 flow-based insertion algorithm is applied to perform a makespan-minimum extension of the schedule with activity j . From the n different schedules, the be st solution that has the minimum makespan is selected. 2.8.5 Neural Network Approaches A neural network is a type of Artificial In telligence (AI) that attempts to imitate the way a human brain works. A neural netw ork works by creating connections between processing elements, which are equivalent to neurons. The organization and weights of the connections determine the output. Neur al networks have proven to be effective because they easily encode complex diagnos tic systems without the need to develop explicit knowledge representati ons. It has been reported th at neural network systems could exceed the performance of kn owledge-based systems when solving incomplete set s of input (Rumelhart and McClelland 1992). A hybrid neural network algorithm propos ed by Colak et al. (2005) has been applied to solve the resource constraine d project scheduling problem (RCPSP) by combining adaptive learning approach (Agarwal et al. 2003) for the serial SGS with the augmented neural network (AugNN) approach for the parallel SGS. They also incorporated forward-backward improvement developed by Tormos and Lava (2001) and Valls et al. (2005) within the framework of a hybrid approach. It was shown that based on the computational study using the standard set of project inst ances (Kolisch 1995, Kolisch and Sprecher 1996), the algorith m produced good performance against other tested heuristics in the literature. However, the user of neural networks must spend considerable time developing alternative network configuratio ns and training the network. Therefore, the applic ation of neural networks into a scheduling process falls in the realm of trial-and-error tests.

PAGE 57

41 2.9 Summary of Literature Review This chapter presented a review of various approaches for the resource constrained project scheduling problem (RCPSP). The limit ation of each approach is identified along with the brief explanation of the approaches . Various exact solution approaches for the RCPSP are only suitable for a small size of the project instance. Mo st of priority-rule based heuristic approaches presented in this chapter are dependent on the project instance, even though they may produce good solutions. Further improvement to the optimality of the solution for the RCPSP needs to be studied. Various meta-heuristics can be applied to solve the RCPSP by inte grating each other to produce the good quality of optimal solutions. Among them, a genetic al gorithm can be further enhanced by either incorporating other meta-heuri stics, or developing non-stan dard crossover techniques in order to lead to better results than a basi c genetic algorithm, which was used in most studies presented in this chapter. 2.10 Need for AHGASS Algorithm In the area of optimization, there is a need for ongoing research concerning the improvement of computational efficiency a nd optimality for the RCPSP, so that a tool that generates optimal solutions can be applied in practice. There are recent trends to combine existing meta-heuristic methods with each other, even though this integration is neither easy nor intuitive. The genetic al gorithm has shown one of the potential metaheuristics that can be incor porated with other approach. Furthermore, none of the existing research has applied a hybrid approaches that em ploy a genetic algorithm for global search and the random walk algorith m for local search to the RCPS problem.

PAGE 58

42 CHAPTER 3 RESEARCH METHODOLOGY 3.1 Introduction This chapter describes the resource c onstrained project scheduling problem (RCPSP), following the assumptions regarding projects, resources, and optimal solutions to the problem. The objective function to th e problem is formulated using mathematical terms and a case example is introduced to deve lop a hybrid genetic algorithm so that the concept of the algorithm is c onsecutively illustrated in Ch apter 4. Section 3.2 describes the research procedures that were used to fulfill the objective of this research, which is the development of the algorithm named Adaptive Hybrid Genetic Algorithm-based Search Simulator (AHGASS). In Section 3.3 the basic genetic algorithm (SGA) for global search (GS) and the random walk algorit hm for local search (L S) are introduced as two selected meta-heuristic methods fo r development of the hybrid algorithm. 3.1.1 Description and Assumption of RCPSP This research considers a project that includes a finite set of activities, where N activities labeled i = 1, , n are given. Since the RCPSP needs to meet technological requirements, precedence relationships exis t among some of the activities and these relationships are given by se ts of immediate predecessorsiP, which means that after all of its predecessors are completed, an activity i may be started. The set of the immediate successors of activity i iS also exist. A precedence diagram represents the precedence relationships. Each activity requires certain amounts of renewable resources to be performed, as assumed for this research in th e following section. The set of resources is

PAGE 59

43 referred to as M . For each resource M m the per-period-availability is constant and given byRAmt (Xi). Each activity has a fixed durati on, and requires a fixed certain amount of different types of resources. All of its required resources are available throughout its duration. The duration of an activity i is denoted asid, its request for resource m is given by RRimt(Eta). Once started, an activity cannot be in terrupted. The parameters are assumed to be non-negative and integer-valued. The follo wing is a set of assumptions that is used to solve the RCPS problems. Three major assumptions have also been made for the implementation of a new hybrid algorithm as follows: 1. Assumptions regarding projects. A project can be represented by a CPM network diagram where activities are numerically labeled such that successor activities always have higher numbers th an all their predecessors. For every activity, the start and fi nish time are known. 2. Assumptions regarding resources. Modeling construction activities requires the use of material, labor, equipment, and costs. According to the terminology introduced by Weglarz (1980) and Slowinsk i (1980), resources can be classified into three categories: renewable, non-re newable, and doubly c onstrained, as shown in Table 3-1. Resources are said to be discrete if the number of the resource units which are arbitrary elements of given finite sets for particular resource types are of concern (in many cases one element sets). On the other hand, resources are said to be continuous if numbers of resource units which are arbitrary within given intervals for particular resource types are of concern (in partic ular <0, infinite). Table 3-1 Definition of resource types for the RCPSP Definition Classification criterion Examples Renewable resource If a resource is used for completing an activity and then it can be recovered when the activity is completed. Manpower, machines, equipment, etc. Non-renewable resource If the total amount of a resource is limited over the project duration and the consumed resource cannot be recovered. Money, energy, fuel, raw materials, etc. Doubly constrained resource If a resource is limited over both its perperiod and total availability. Money that used cash flows per day as well as total cash expended on a project.

PAGE 60

44 This research assumes that resources are to be of the renewable type and that the resource requirements are to be discrete . The resource requirements can be extended to cover a continuous one, but it was not covered in this research. 3. Assumptions regarding optimal solu tions and near-optimal solutions . In the area of mathematics, the term optimization is mainly used when finding maxima and/or minima of a function, which is s ubjected to certain constraints. For example, one needs to maximize the pr ofit of a manufacturing operation by not exceeding certain limits of resources but satisfying the demand as much as possible. On the other hand, the term optim ization has a slightly different meaning in computer science, engineering, and opera tions research. It can be described as the process of improving a system or m odel in certain ways to increase the effectiveness. For instance, one needs to increase the effective execution speed and bandwidth to reduce memory requirements. It is important to note that optimization does not necessarily find an optimal solution to a problem. It is also necessary to differentiate an optimal solution from a near optimal solution because both terms have very specific meanings in the operations research literature. An optimal algorithm is one that guarantees that an optimal solution will be found as soon as an optimal algorithm is completed. A near optimal algorithm, however, has a slightly less precise meaning than an optimal algor ithm. Upon completion of a near optimal algorithm, a near optimal solution is usually produced. What is meant by a near optimal solution is that it is a solution close to th e optimum (Kim and Ellis 2005). Therefore, a solution that is generated by a certain termin ation condition can be assumed to be a nearoptimal solution for this research purpose if the developed algorithm improves a solution approach to the RCPSP in certain wa ys to increase the effectiveness. 3.1.2 Objective Function of RCPSP The RCPS problem aimed to allocate the ava ilable resources to activities so as to find the shortest duration of a project within the constraints of precedence relationships. The assumptions underlying this problem were that the availability of resources is constrained to some maximum value, and that the project has to be completed using the given resources. As a result of the RCPSP, a schedule that shows th e shortest duration

PAGE 61

45 with resource limits was created for a pr oject network. The objective function was formulated for a new hybrid genetic algorithm procedure for the RCPSP. As a constrained optimization problem, the RC PSP belongs to one type of sequencing problem. Therefore, the objective function fo r a hybrid genetic algo rithm to the RCPSP is to minimize the project duration when c onstrained by precedence relationships among project activities and the availa bility of resources. The si ngle-project, single and/or multiple resource constrained project scheduling problem can be formulated as follows (Similar notation can be found at the works of Talbot and Patterson (1978), Christofides et al. (1987), Demeulemeester and Herroelen (1992, 1997), an d Mingozzi et al. (1998)): minimize n i d t i fi i,... 2 , 1 | max ) ( (Eq. 3-1) subject to i i jd t t , iS j (Eq. 3-2) P p M m RA mt P p M m N i RR imt 11 111 (Eq. 3-3) 0 ) ( i f (Eq. 3-4) where i = 1, 2,, N , p = 1, 2,, P , m = 1, 2,, M , N = number of activities, P = number of time period, such as days, M = total number of resource types, ) ( i f = the fitness function of an individual (the finish time of activity i ) id = duration of activity i , j it, = starting date of activity i and j , iS = set of successors of activity i , RRimt = the resource requirement of m th resource of activity i on time p , and RAmt = the resource available of m th resource of activity i on time p . For ease of notation, the activities are topol ogically ordered, i.e., each predecessor of activity i has a smaller number i . It is assumed that daily resource requirements of any activity are predetermined. Eq. 3-1 expresse s the computation of the project duration, which is the objective function of the RCPSP. Eq. 3-2 takes into consideration of the

PAGE 62

46 precedence relations between each pair of activities ( i, j ), where i immediately precedes j . In other words, this constraint states that the difference between the starting times of successor activities and those of predecessor activities should be equal to or greater than the duration of the connecting activity. Eq. 3-3 limits the total resource usage within each period to the available amount. In other wo rds, this constraint indicates that the sum of all available resource units allocated to different activities on the same day should not exceed the total number of units available on th at day. Finally, Eq. 3-4 states that the fitness value (that is the finish time of an activity, i ) of an individual schedule is always equal to or greater than zero. 3.1.3 Case Example To develop a hybrid genetic algorithm, th is research introduced a case example problem of a construction project networ k, which was obtained from previously conducted research. A case example of a small construction project schedule was extracted and modified from the work of Shanmuganayagam (1989), which was originally derived from Halpin and Woodh ead (1984). Even though a case example only consists of eleven activities, this exampl e made it possible to simulate the algorithm developed in this research using either ma nual computation or co mputer programming. The example was used to illustrate the con cept and the effectiveness of the algorithm. Figure 3-1 shows the precedence diagram of the example that was used as the basis for the solution to the RCPSP. Network data of the case example pr oject for the purpose of illustrating the algorithm were provide d with the activity duration and precedence relationships. A legend wa s placed inside Figure 3-1.

PAGE 63

47 0441212162430 10A1414D2222E2626J32 10410810426 0*66161624 0B68F1818H26 0621028 6*22 22*32 6G22 22K32 016 010 0228 14C1616I22 142146ES*EF LSACTLF TFDURRES* indicates the critical activity Legend: Critical pathProject Plan and Schedule Figure 3-1. Precedence diagram for a case example Table 3-2. Schedule data of a case example based on CPM calculations ACT DUR ES EF LS LF TF * FF ** A 4 0 4 10 14 10 0 B 6 0 6 0 6 0 0 C 2 0 2 14 16 14 0 D 8 4 12 14 22 10 0 E 4 12 16 22 26 10 8 F 10 6 16 8 18 2 0 G 16 6 22 6 22 0 0 H 8 16 24 18 26 2 0 I 6 2 8 16 22 14 14 J 6 24 30 26 32 2 0 K 10 22 32 22 32 0 0 * TF = LF – EF, ** FF = Early occurrence time of successor activity – EF of precedence activity The project duration of the case exampl e is 32 days with the assumption of unlimited resource availability. Table 3-2 show s the early start time (EST), early finish time (EFT), late start time (LST), late fini sh time (LFT), total float (TF), and free float (FF) values which were calculated by forw ard and backward calc ulations based on the CPM technique. The project network show n in Figure 3-2 was created based on the

PAGE 64

48 information in Table 3-2. In addition to th e precedence diagram, a bar chart based on the early start schedule was drawn in Figure 3-2. Figure 3-2. Bar chart schedule for an ex ample based on the Early Start time Table 3-3 shows relevant activity info rmation for the case example project, including activity name, duration, resource requirements, and precedence relationships. Table 3-3. Detail information of a case example Resource requirements Activity name Duration (Days) Predecessors R1 (Labor) R2 (Equipment) R3 (Equipment) A 4 3 0 1 B 6 6 1 0 C 2 4 0 1 D 8 A 2 1 0 E 4 D 4 1 0 F 10 B 2 1 0 G 16 B 4 0 0 H 8 F 2 0 1 I 6 C 4 1 0 J 6 E, H 5 0 1 K 10 G, I 2 0 1 Maximum availability 8 1 1 This research considered both a single re source (R1 only) and th ree different types of resources (R1, R2, and R3) for an activity in the development of a hybrid genetic algorithm in Chapter 4. In the case example, the RCPSP was solved first with a single

PAGE 65

49 resource, meaning equipment operator R1, and it was also solved with multiple resources, R1, R2, and R3, meaning both equi pment operators and equipment. 3.2 Research Procedures This research was conducted with th e procedures shown in Figure 3-3. Figure 3-3. Overall research procedures

PAGE 66

50 The detailed description of the task within each step was given as follows: 1. Problem identification throug h the review of literature. A literature review related to the solution appr oaches to the RCPSP was perf ormed in depth. Relevant textbooks, numerous papers, and technical reports were studied and organized for finding a new approach. Participation in conferences was also used to share and refine research ideas through peer revi ew (Ellis and Kim 2005, Kim and Ellis 2005). 2. Identification of a new hybrid approac h to the RCPSP based on the existing methods. Among several possible meta-heuri stic methods to solve the RCPS problem, the basic genetic algorithm (GA) wa s selected for global search while the random walk algorithm (RWA) was chosen fo r local search. Many studies showed that the basic GA is appropriate to appl y to the RCPS problem. Local search was needed to cover the region of the solu tion space that the mu tation operator cannot search due to the extremely small portion of solution space. 3. Development of adaptive hybrid genetic algorithm. An adaptive hybrid genetic algorithm was developed based on the sele cted methods, which are the basic GA for global search and the RWA for local sear ch performed whenever local search is needed, depending on the performance of global search. The simple genetic algorithm (SGA) was developed based on the concept of the basic genetic algorithm. The detailed explanation was given for various operators used in the development of the proposed hybrid algor ithm. The operators include the random number generator for producing an initi al population, the serial and parallel schedule generation scheme (SGS) for calculating a fitness value of each individual, the coefficient of variation ra tio (CVR) for checking the need of local search, the random walk algorithm for perf orming local search to find the better solution than the one which was produced from global search using the simple genetic algorithm, the elitist roulette wheel selection operator for selecting a parent individual for the next generation, onepoint crossover operator for exchanging parent string segments and recombining them to produce two resulting offspring individuals, and uniform mu tation operator for switching a gene position to search a possible solution more. 4. Development of a computer program to implement a hybrid algorithm. Based on the hybrid genetic algorithm proposed in the previous step, a computer program was developed using JAVA programming language in order to implement and test the algorithm and to solve a variety of problems given the users’ input. Pseudo codes developed for implementation of va rious operators as well as the overall procedure were also illust rated in the Appendix A. 5. Test of AHGASS algorithm and its valid ation through various problem sets. This research conducted a design experime nt to verify the proposed algorithm named Adaptive Hybrid Genetic Algorith m-based Search Simulator (AHGASS) by comparing its performance with that obt ained from the existing methods using numerous problem instance sets available in the literature. The implementation

PAGE 67

51 was also performed with two case studies of construction projects to verify and validate the feasibility of the algorithm. 3.3 Multiheuristic Methods for a Hybrid Algorithm This section introduced both the basic gene tic algorithm (GA) for global search and the random walk algorithm (RWA) for local sear ch which were selected as approaches in this research. 3.3.1 Basic Genetic Algorithm for Global Search The basic genetic algorithm (GA) perf orms a random search for the optimal solution to a problem by simulating natura l-evolution and survival-of-the-fittest mechanisms. The basic GA differs from conventional optimization and search procedures in the following four ways, as summarized by Goldberg (1989): (1) GA works with a coding of the parameter (solution) se t, not the parameters (solutions) themselves, (2) GA searches from a population of solu tions, not a single solution, (3) GA uses objective function (fitne ss function) information, not de rivatives or other auxiliary knowledge, and (4) GA uses probabilistic transf ormation rules, not deterministic ones. GA starts with an initial population of individuals generated at random. Each individual in the population represents a potential solution to the problem under consideration. The individuals evolve thr ough successive iterations, called generations. During each generation, each individual in the population is evaluated using some measure of fitness. Then, the population of the next generation is created through genetic operators. The procedure continues until the termination condition is satisfied, as shown in Figure 3-4 (Michalewicz 1994). Main components of the basic GA are th e population, the indivi dual or string, and the gene. A population is a set of possible so lutions to the problem. An individual or a

PAGE 68

52 string is a possible solution to the problem, and it has been referred to as the “chromosome” in some research. A gene is a part of a solution to a given problem, and it has been referred to as the “feature” in some research. Usually, a gene is an independent variable in the problem. (Goldbe rg 1989, Rayward-Smith et al. 1996). Algorithm: Basic genetic algorithm 1: procedure GLOBAL SEARCH 2: Begin 3: t 0 4: initialize P(t) where P(t) denotes the population_ at generation t 5: evaluate P(t) 6: while ( not termination condition) do 7: begin 8: t t + 1 9: select P(t) from P(t 1) 10: alter P(t) 11: evaluate P(t) 12: End 13: End procedure Figure 3-4. Structure of basic geneti c algorithm (After Michalewicz 1994) In addition, three main genetic operators are selection, crossover, and mutation in the basic GA. They are used to create th e next generation (Goldberg 1989). Selection (also known as reproduction) is a process in which individual s are generated according to their objective function values. Individuals with a higher value have a higher probability of contributing one or more offspring in the next generation. The easiest way to implement the reproduction operator is to cr eate a roulette wheel where each current string in the population has a roul ette wheel slot sized in propo rtion to its fitness value. Table 3-4 shows an example of individuals and their fitness values in order to illustrate reproduction operators.

PAGE 69

53 Table 3-4. Example of individuals and thei r fitness values (After Goldberg 1989) No. Individuals Fitness % of Total 1 01101 169 14.4 2 11000 576 49.2 3 01000 64 5.5 4 10011 361 30.9 Total 1170 100.0 After selection, crossover (also known as reco mbination) can proceed in two steps. First, genes of the newly repr oduced individuals in the mati ng pool are mated at random. Second, each pair of individuals undergoes cros sover. Figure 3-5 shows an example of the crossover and mutation operators. Figure 3-5. Example of crossover and mutation operator of the basic GA Mutation is the occasional random alteration of the value of an individual position. The mutation operator plays a secondary role in the basic GA. It is notable that the frequency of mutation to obtai n good results in empirical gene tic algorithm studies is on the order of one mutation per thousand positio n transfers. Mutation probabilities are similarly small in natural populations, lead ing to the conclusion that mutation is appropriately considered as a secondary mechanism of genetic algorithm adaptation. The three basic parameters of the basic GA are crossover probability, mutation probability, and population size (Obitko 1998). Crossover probability indicates how often crossover will be performed. If no cross over takes place, an offspring is an exact

PAGE 70

54 copy of the parents. Otherwise, an offspr ing is created from part of the parents’ individual. If crossover probability is 0%, a whole new generation is created from exact copies of individuals from the old popul ation, even though the new generation is not exactly same. If 100%, then all offspring are created by crossover. Mutation probability indicates how often part s of an individual will be mutated. If no mutation occurs, an offspring is created after crossover without any change. If mutation is performed, part of an individual is changed. If mutation probability is 0%, then nothing is changed. However, if 100%, then the whole individual is changed. Mutation probability is necessary to preven t a local optimum of a solved problem, in which all solutions in the population fall into an optimum. Population size indicates how many indi viduals in a population are in one generation. If too few indivi duals exist, the basic GA has few opportunities to perform crossover and only a small part of search sp ace is explored. In contrast, if too many individuals exist, then the basic GA slows down. Goldberg (1989) has shown that an increase in population size is not useful b ecause it increases the length of the problem solving process. The size of the initial population can be set at 30, the lowest acceptable population size as suggested in the prev iously conducted st udies (De Jong 1975, Goldberg 1989, Li et al. 1999). The most important component in the basi c GA approach is to decide the fitness function and evaluation function. It is nece ssary to distinguish between the evaluation function and the fitness func tion used by the basic GA. The evaluation function, also called the objective function, provides a meas ure of performance with respect to a particular set of parameters. In contrast, th e fitness function transforms that measure of

PAGE 71

55 performance into an allocation of reproducti ve opportunities. Th e evaluation of an individual representing a set of parameters is independent of the evaluation of any other individual. However, the fitne ss of that individual is always defined with respect to other members of the current population (Whitley 199 3). The fitness is generally defined by f i f / ) ( where ) ( i f is the evaluation associated with individual i and f is the average evaluation of all the individuals in the population. Fitness can also be assigned based on an individual’s rank in a population (Baker 1988, Whitley 1989) or by sampling methods such as tournament selection (Goldberg 1989). A schema theorem is a similarity template that describes a subset of individuals with similarities at certain individual positio ns. The more advanced principles of the basic GA along with the schema theorem have been well described in De Jong (1975), Holland (1975), Goldberg (1989), Davis (1991), and Whitley (1993). The basic GA has gained popularity in a vari ety of research fields, as described in the literature review of Chapter 2. A remark able advantage of the basic GA is that it travels in a search space with more possi ble solutions. With the basic GA, it is sometimes possible to solve another problem easily if one just writes a new individual (Goldberg 1989, Obitko 1998). This adva ntage was of main concern for many researchers. This is also the reason why this research takes the basic GA as a methodology to perform global search to the RCPSP. However, it can be difficult to choose an encoding and fitness function. Also, the basic GA computation requires a great length of time. It is necessary to im prove computation time in order to overcome these disadvantages. In this research, the basic GA was well suited for searching for solutions to the RCPSP.

PAGE 72

56 3.3.2 Random Walk Algorithm for Local Search Local search can be classified into tw o major methods: Gradient and non-gradientbased methods. The steepest descent, Ne wtonÂ’s method, conjugate gradient, and many other variations of NetwonÂ’s method are exam ples of gradient lo cal search operators, while nongradient local search operators include random wa lk, evolution strategy, and simulated annealing. Among them, this research adopted a random walk algorithm (RWA) with uniform distribution introduced by Spitzer (1976) because it is simple to implement for any type of function. The algorithm pe rforms local search within a local nei ghborhood around the current solution defined by a us er-specified search radius. Random walk has been motivated from the probabilistic ideas, but it has nothing to do with probability theory (S pitzer 1976). Simply speaking, random walk algorithm is a move from some point to a randomly select ed neighbor and it is a sequence of these random steps starting from some initial point. Points to note about the random walk are that processes are discrete, that solution sp ace is not necessarily both planar and fully connected, that a walk can back in on itself, and that random walk considers staying in the same place as a move. Figure 3-6 shows the pseudocode for th e basic RWA. Truth assignment ( a ) is a scheme in a problem considered and K serves as a termination condition, which indicates the time-out preventing the infinite loop. Truth assignment is initialized at random (uniform distribution) and then transformed gradually in the for loop until it meets a termination condition.

PAGE 73

57 Step Basic random walk algorithm procedure 1: procedure search 2: a randomly chosen (a = truth assignment) 3: for repeat K times do 4: if a = proposition then return a 5: else 6. pick one unsatisfied clause from argument at random 7. pick one point a at random 8. modify a so that the truth value of this assignment_ is flipped 9. end if 10. end for 11. return false 12. end procedure Figure 3-6. Structure of basi c random walk algorithm (Modified from Rantanen 2004) The RWA was appropriate for searching fo r the best solution starting at a point obtained from the population of the simple genetic algorithm (SGA) developed in Chapter 4. It was also simple enough to a pply any type of the function, even though it does not guarantee success sometimes. Howeve r, local search using the RWA can be computationally expensive because it requires the additional function evaluations. In this research, the RWA with uniform distribution wa s well suited for local search that finds solutions to the RCPSP.

PAGE 74

58 CHAPTER 4 DEVELOPMENT OF ADAPTIVE HYBRID GENETIC ALGORITHM BASED SEARCH SIMULATOR: AHGASS 4.1 Introduction A hybrid genetic algorithm to the resour ce constrained project scheduling problem (RCPSP) is developed in this chapter. It co nsists of two main co mponents: global search (GS) using the method of the basic genetic al gorithm (GA) and local search (LS) based on the method of the random walk algorithm (RWA). It is necessary to differentiate the simple genetic algorithm (SGA) developed in this research based on the concept of the basic GA from the basic GA adapted as a method. In Section 4.2, a hybrid approach is describe d with regard to how these two components are linked. In Section 4.3, various operators used in global search and local search are demonstrated in depth through the implemen tation of a case example introduced in Chapter 3. It also shows how various para meters used in the development of AHGASS algorithm are selected in order to ensu re the effectiveness of the algorithm. Adaptive Hybrid Genetic Algorithm-bas ed Search Simulator (AHGASS) is developed and introduced w ith the implementation usi ng JAVA language programming in Section 4.4. Experimental results are presented to inves tigate the effects of various parameters on AHGASS and to prove the advantages of AHGASS over the SGA in Section 4.5. Finally, Section 4.6 summarizes the development of a hybrid genetic algorithm, following the summary of AHGASS.

PAGE 75

59 4.2 Hybrid Approaches to RCPSP 4.2.1 Modeling Strategy and Hybrid Algorithm The development of the hybrid geneti c algorithm was conducted through the combination of global and local search. Fo r global search, the SGA developed in this research was used first, and then the RWA was performed only if it was needed. As discussed in Section 3.3.1, the SGA was able to combine aspects of solutions from different parts of solution space. However, its strength was decreased if the population converged to a small area in search space. As mentioned in Section 3.3.2, local search was appropriate for searching small areas of space more efficiently than the operation of a simple mutation within the SGA. For the RCPSP, this research applied a hybrid approach that combined global search with local search. The SGA was develo ped to perform an initial search of solution space, identifying a limited set of possible solutions or solution regions. Using the solutions obtained from the SGA, the RWA was employed as a starting guess. In order to connect two methods, Baldwinian evolution (Baldwin 1896) was used because it helps avoid premature convergence by preserving only the direction of improvement. It is survival of the fittest following the directi on of learning. Therefore, it was no doubt to make certain that only the improved fitne ss values were changed after local search occurred. However, its genotype informati on was not altered. The process from the SGA through Baldwinian evolution to the RWA was terminated if it converged. Figure 4-1 shows a flow chart for AHGASS al gorithm drawn based on the procedures mentioned in this section.

PAGE 76

60 Figure 4-1. Flow chart for AHGASS algorithm

PAGE 77

61 As shown in Figure 4-1, the SGA developed in this research employed four basic operators: elite selection (D e Jong 1975), roulette wheel selection (Holland 1975), onepoint crossover (Hartmann 1998), and unifo rm mutation (Sakawa 2002). The initial population of possible solutions to the RCPSP was created to apply the algorithm in the very first step of global search. A fitness va lue of an individual in an initial population was calculated, using the serial and/or pa rallel schedule generati on scheme (SGS). Evaluation of local search was achieved be fore the move to the selection operator embedded in the SGA. If local search was needed, it occurred following the selection operator. Otherwise, local search was not implemented. The selection of the parent individuals was made through th e elitist roulette wheel sel ection operator developed in this research for the next gene ration. The elitist ro ulette wheel selecti on operator is the combined operator using the elite select ion (De Jong 1975) and the roulette wheel selection (Holland 1975), as described in Section 4.3.4. Using the parent individuals obtained from the selection operator, onepoint crossover operator was performed by exchanging parent individual segments a nd then recombining them to produce two resulting offspring individuals. The uniform mutation operator was performed to play the role of random local search, which searches much smaller portion than the random walk algorithm. It is important to note that the objective of local search is not to search the best solution located in the neighborhood of the curre nt point, but to provide more information that would better give a dire ction to the portion of the s earch space where the globally optimal solution is located. The random wa lk algorithm switches back to global search when the number of iterations exceeds a us er-specified maximum value. The major

PAGE 78

62 characteristic of the proposed hybrid algorithm was that it ad apted in response to recent performance of the algorithm with the aid of local search as it converged to the solution. This was the reason why the name of the proposed hybrid algorithm was Adaptive Hybrid Genetic Algorithm-based Search Simulator (AHGASS). 4.2.2 Representation of an Individua l for the Solution to the RCPSP A schedule has to be represented to en code the RCPS problem based on the SGA developed in this research. In additi on to the schedule representation, a schedule generation scheme (SGS) needs to decode the schedule representation into a schedule. A schedule representation is a representation of a priority-structure among the activities. In this research, a solution for the RCPSP was repr esented in a chromosome that represented an activity sequence for the prob lem, as shown in Figure 4-2. Figure 4-2. Chromosome formation for the RCPSP As shown in Figure 4-2, each gene stands for an activity number. A chromosome is also called an individual that was given by an activity sequence. An activity has a lower priority than all preceding activities in the sequence and a highe r priority than all succeeding activities. Thus, an individual becomes precedence feasible permutation of the set of activities because an activity cannot comes af ter the position of one of its successors (predecessors) in the list used for the generation of an individual. A precedence feasible permutation was generate d using random number generator that was described in Section 4.3.1.

PAGE 79

63 4.3 Algorithm Operators This section describes seve ral operators that were employed in AHGASS. They include (1) the random number generator for producing an initia l population, (2) the serial and parallel SGS for calculating a fitness value of each individual, (3) the coefficient of variation ratio (CVR) for ch ecking the need of lo cal search, and the implementation of the RWA for performing local search to find the better solution than the one which was produced from global search using the SGA, (4) the elitist roulette wheel selection operator for selecting a parent individual for the next generation, (5) the one-point crossover operator for exchanging parent string segments and recombining them to produce two resulting offspring indivi duals, and finally (6) the uniform mutation operator for playing a role of random local search which searches regardless of the direction of learning to obtain the better solution, in whic h a much smaller portion than the RWA was investigated. 4.3.1 Random Number Generator This research considered a permutation base d encoding that was appropriate for solving the RCPSP (Hartmann 1998, Zhuang and Yassine 2004), as described in Section 4.2.2. Step Random number generator Procedure 1: Select an activity from all unselected activity pool 2: Check whether its immediate predecessor(s) are_ already selected 3: Continue step 2 until a satisfying activity is found_ if not yet selected 4: Repeat step 1 and 2 until the set of unselected activity_ is empty (As a result, an individual that consists of_ all activities is generated) 5: Repeat step 1 through 4 until all individuals of population_ size are generated Figure 4-3. Procedure of ra ndom number generator to produce an initial population An initial population composed of preced ence feasible individuals was produced by the random number generator developed in this research, as shown in Figure 4-3.

PAGE 80

64 Figure 4-4 shows the example of an initial population produced by the random number generator using the case ex ample introduced in Chapter 3. 12345678910111213 112410385712961113 213825769410121113 312563879114101213 414379281056121113 513841021257961113 614102356871291113 714231078125961113 812543108769111213 912453107812961113 1014251036789111213 1113725486910111213 1213874102129561113 1314231057681291113 1414379825611101213 1513748109251261113 1614256371089111213 1713879425610121113 1813425106789121113 1914256103781291113 2014102563871291113 2114102563789111213 2214387910122561113 2312456103812791113 2414310258671291113 2512564103791181213 2613421081256791113 2713842510612791113 2814238759611101213 2913792456118101213 3012410537961181213 Figure 4-4. Example of an initial population generated randomly by SGA It is notable that the random number ge nerator simply provided precedence feasible solutions, but did not give the fitness value (t he project duration), a possible starting time of an activity, and the feasibility of resource constraints. Activity index from 1 through 13 stands for the activity number in a precedence diagram, and the first and the last activity indexes, 1 and 13, i ndicate the dummy activities th at were not changed all the

PAGE 81

65 way through the operation of th e random number generator. Individual index stands for the individual that was generated as an in itial population to a pply the hybrid genetic algorithm. In this example, the popula tion size was set to 30, as one can see 30 individual indexes. It is important to note that there was no duplicate among activities considered. 4.3.2 Fitness Calculation Methods This section describes the fitness calcul ation methods, following the concept of the unique schedule. It then presents the tr ansformation formula from the minimization function to the maximization function to en sure that the indivi dual selection process performs correctly. This research used the schedule generati on scheme (SGS) for the computation of the fitness value for an individual. The SGS builds a feasible schedule by extending a partial schedule stepwise. A partial schedul e is a schedule where only a subset of all activities considered has been scheduled. The SGS is classified into two different types based on either as the activity increases or as time increases. The former is called the serial SGS and the latter is called the parall el SGS. The detailed description for both SGSs was given in the following section where the fitness value was computed. Most meta-heuristics in the RCPSP litera ture that employed the activity list representation (that is, permutation based en coding) make use of the serial SGS as decoding procedure (Pinson et al. 1994, Bo ctor 1996, Hartmann 1998, Baar et al. 1999, Bouleimen and Lecocq 2003). Some of the meta-heuristics used the parallel SGS as a decoding procedure (Lee and Kim 1996). Th e selection of the serial SGS in most research is due to the fact all optimal solutions from the search space may not be included when applying the parallel SGS, while the sear ch space of the serial SGS always contains

PAGE 82

66 on optimal schedule (Hartmann 1998). Several e xperimental studies sh owed a serial SGS yields better results when a large number of schedules were com puted for one project instance (Kolisch 1996b, Ha rtmann and Kolisch 2000). Schedules can be classified into one of three types of schedules, as defined by Sprecher et al. (1995): Semi-active schedul e (SAS), active schedule (AS), and non-delay schedule (NDS). The set of semi-active sche dules are the feasible schedules obtained by sequencing activities as early as possible. No activity can be started earlier without changing the order of the activit ies. The set of active schedules are the feasible schedules in which no activity could be started earlier without delayi ng some other activities or violating a precedence relationship. It is notab le that an optimal schedule is always active so the search space can be safely limite d to the set of all ac tive schedules. The set of non-delay schedules are the f easible schedules in which no resource is kept idle when it could start scheduling an activity. A diagram shown in Figure 4-5 was draw n by combining the Sprecher et al. (1995)Â’s theorem that defines semi-active, active, and non-delay schedules for the RCPSP with optimal schedules (Hartmann 1998) . The serial SGS constructs active schedules while the parallel SGS constructs non-delay schedules. As shown in Figure 45, the set of the non-delay schedul es (NDS) is a subset of the set of the active schedules (AS). Since the set of the active schedules (AS) always includes an optimal schedule (OS), this does not keep for the set of th e non-delay schedules (NDS). That is, the parallel SGS may exclude an optimal schedul e (OS). On the othe r hand, the parallel SGS may produce schedules of good average quality b ecause it is likely to use the resources as early as possible, leading to compact schedules (Hartmann 1998) . Therefore, an issue has

PAGE 83

67 arisen in this research with regard to whic h of the SGS will perform better for an arbitrary instance of the RCPSP. No general answer can be given to this issue because of the difference between the serial and parallel SGS. Non-Delay Schedules (NDS) Set of Active Schedules (AS) Set of Semi-Active Schedules (SAS) Set of Schedules (S) Set of Optimal Schedules (OS) Figure 4-5. Relationship diagram of various schedules with re gard to optimal schedules In dealing with the issue mentioned above, this res earch considered both SGSs to be employed as decoding procedures w ithin AHGASS because it was impossible to predict the better SGS, as discussed at th is section. Three types of the schedule generation schemes (SGSs) were considered to calculate the fitness va lue of an individual obtained in a population generate d in Section 4.3.1. They ar e (1) the serial SGS, (2) parallel SGS, and (3) both SGSs. Both SGSs mean that both the serial and parallel SGS

PAGE 84

68 were applied to the same individual simultane ously and the smaller fitness value out of two fitness values was selected as the fitn ess value of the individual considered. The fitness value of an individual was computed using one of th ree SGSs, as illustrated in Figure 4-6. Each type of SGS was descri bed in the following section in detail. 12345678910111213 0448143030304040404040 062222222224303032424242 041216162626344040404242 02818262628323232424242 062222222232323236364242 0288141418303040404242 02410162032424242424242 041212121628283036424242 04412121620324242424242 02412121418243434404444 061616181828283034404444 062222222426343434384444 02410161620203646464646 02818262628364046464646 061616242430303636404646 02412161620223636424646 062222242428364040404646 06810181822223636464646 02412161622323848484848 0288121622383848484848 0288121622323840464848 02824242630404040424848 04412161622384848484848 02814142030303440424848 041216161622324046464848 06810142636363636445050 062222222226263636445050 02410262626283036425252 061624242424243046465656 0448121424323238546464 12345678910111213 112410385712961113 213825769410121113 312563879114101213 414379281056121113 513841021257961113 614102356871291113 714231078125961113 812543108769111213 912453107812961113 1014251036789111213 1113725486910111213 1213874102129561113 1314231057681291113 1414379825611101213 1513748109251261113 1614256371089111213 1713879425610121113 1813425106789121113 1914256103781291113 2014102563871291113 2114102563789111213 2214387910122561113 2312456103812791113 2414310258671291113 2512564103791181213 2613421081256791113 2713842510612791113 2814238759611101213 2913792456118101213 3012410537961181213 Figure 4-6. Example of the computation proces ses for the fitness values using the SGS

PAGE 85

69 It is important to note that the fitnes s function is different from the objective function for the clarification of a computation process of the fitness value. As mentioned in Eq. 3-1 of Section 3.1.2, the objective f unction is to minimize the fitness function, which generates the fitness value of a proj ect throughout the SGS pr ocess. The fitness function is to find the maximum value out of all fitness values of every activity to be scheduled in a project. In other words, th e maximum value is obtained by comparing the finish time of the last activity and the fitne ss value of the activity just before the last activity. 4.3.2.1 Fitness calculation process based on the serial SGS The serial SGS proposed by Kelley (1963) was first utilized to cal culate the fitness value of an individual. It consists of the n stages, which is the same as the number of activities to be scheduled. A ssociated with each stage, a se t of activity to be scheduled can be classified two disjoint activity sets: scheduled set ( Sn) and decision set ( Dn). The activities that were already scheduled are in the scheduled set , and they belong to the partial schedule. The decision set contains the unscheduled activities with every predecessor being in the scheduled set . One activity is selected according to the or der of the activity list representation at each stage, and then scheduled at its earliest precedence and resource feasible start time. Afterwards, the selected ac tivity is removed from the decision set ( Dn) and put into the scheduled set ( Sn). When all activities in an indivi dual are scheduled, th e fitness value is obtained from the maximum value between the finish time of the last activity and the fitness value of the activity just before th e last activity. Figure 4-7 shows an arrow diagram and one potential individual used for the illustration of the computation process of the fitness value.

PAGE 86

70 (a) (b) Figure 4-7. Case example used for the illustra tion of the computation processes of the fitness value: (a) arrow diagram and (b) one potential individual employed Single resource. Figure 4-8 shows the step-by-st ep computation process of the fitness value for the single resource. Although the case example shown in Figure 4-7 consists of 13 activities, tw o dummy activities were not in cluded in the computation process. Using the serial SGS, the fitness va lue of an individual shown in Figure 4-7 (b) was computed through 11 stages according to the fitness function formulated in Section 3.1.2 since the case example consisted of 11 nondummy activities. The subscript in the resource requirement ( RR ) stands for the activity number through all of the computation processes described in this section. Each stage was described in detail as follows:

PAGE 87

71 (a) (b) (c) (d) (e) (f) Figure 4-8. Procedure of the seri al SGS for a single resource

PAGE 88

72 (g) (h) (i) (j) (k) Figure 4-8. Continued.

PAGE 89

73 Stage 1 : Activity 2 was selected first because it took the first position out of all activities in the individual, I = { 2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10 }. Activity 2 was then scheduled at time 0 for the duration of 6 because its resource requirement ( RR2=6 ) did not exceed the resource availability ( RA=8 , which is constant throughout the project duration) through the period of its du ration, as shown in Figure 4-8 (a). Stage 2 : Activity 7 was next selected accord ing to the order of the list in the individual considered. Since activity 2, whic h was the immediate predecessor of activity 7, was completed, activity 7 can start at time 7 for the duration of 16. Activity 7 also did not violate the resource capacity during the period of its duration, as shown in Figure 4-8 (b). Stage 3 : Activity 1 can be scheduled at th e earliest possible time because it has no precedence relationship with activities 2 and 7. Activity 1 could not be scheduled at time 0 through 6 due to the limitation of availa ble resources. Therefore, activity 1 was scheduled at time 7 because its resource requirement ( RR1+RR7=3+4=7 ) did not exceed its resource availability th roughout the period being scheduled, as shown in Figure 4-8 (c). Stage 4 : Activity 6 was selected from the list in the individual. Activity 6 can only be scheduled after the completion of activ ity 2 due to the precedence relationship between two activities, 2 and 6. Since activity 2 was completed at time 6, activity 6 can start at time 7 for the duration of 10. Howeve r, activity 6 could not start at time 7 so it should be postponed for the duration of 4 because of the limitation of available resources. Activity 6 started at time 11 si nce its resource requirement ( RR6+RR7=2+4=6 ) for its duration was under its resource availabi lity, as shown in Figure 4-8 (d).

PAGE 90

74 Stage 5 : Activity 4 was selected to be schedul ed. Activity 4 can only start after the completion of activity 1 because of preceden ce relationship between two activities 1 and 4. Since its resource requirement ( RR7+RR6+RR4=4+2+2=8 ) for the duration of 8 was equal to its resource availability, activity 4 wa s scheduled at time 11 when activity 1 was finished, as shown in Figure 4-8 (e). Stage 6 : Activity 3 can start anytime if it m eets the resource constraints because it does not have any precedence relationship with the activities scheduled so far. Activity 3 started to search the possibil ity to be scheduled by checki ng the available room, starting from at time 0. Activity 3 could not find the enough room until it reached at time 20, in which its resource requirement (RR7+RR3=4+4=8) was equal to its resource availability. Thus, activity 3 was scheduled at time 20 for the duration of 2, as shown in Figure 4-8 (f). Stage 7 : Activity 8 was selected from the list in the individual. Activity 8 can only be scheduled after the completion of activ ity 6 due to the precedence relationship between two activities, 6 and 8. Since activity 6 was completed at time 20, activity 8 can start at time 21 for the duration of 8. Howeve r, activity 8 could not start at time 21 so it should be delayed for the duration of 2 because of the limitation of available resources due to activity 3. Activity 8 started at time 23 since its resource requirement ( RR8=2 ) for its duration was under its resource availa bility, as shown in Figure 4-8 (g). Stage 8 : Activity 9 was scheduled at time 23 because its predecessor, activity 3, was completed at time 22 and its resource requirement ( RR8+RR9=2+4=6 ) for its duration was still under its resource avai lability, as shown in Figure 4-8 (h).

PAGE 91

75 Stage 9 : Activity 5 can start only after the completion of activity 4 because of a precedence relationship. Although activity 4 was finished at time 18, activity 5 could not start at time 19 for the duration of 4 because of the limitation of available resources from times 19 through 28. At time 29, activity 5 wa s scheduled for its duration because its resource requirement ( RR5+RR8=2+4=6 ) was under its resource availability for its duration, as shown in Figure 4-8 (i). Stage 10 : Activity 11 was selected to be sche duled according to the order of the list. Activity 11 can only start after the comp letion of activities 7 and 9. Since activities 7 and 9 were finished at times 22 and 28, resp ectively, activity 11 was scheduled at time 28 for the duration of 10 because it did not violate the precedence relationships among three activities, 7, 9, and 11, and because its resource requirement ( RR8+RR5+RR11=2+4+2=8 ) for its duration was equal to or less than its resource availability, as show n in Figure 4-8 (j). Stage 11 : Activity 10, the last activity in the list of the individual I , was select to be scheduled in stage 11. Activity 10 can only st art after the completi on of activities 5 and 8. Since activities 8 and 5 was completed at times 30 and 32, respectively, activity 10 was scheduled at time 32 for the duration of 6 because activity 10 did not violate a precedence relationships among three activities, 5, 8, and 10, and because its resource requirement ( RR11+RR5+RR8=2+4+2=8, RR11+RR10=2+5=7 ) for its duration was equal to or less than its resource availability, as shown in Figure 4-8 (k). The overall fitness value, which is the pr oject duration of the individual considered, was obtained by finding the maximum value between the finish time of the last activity and the fitness value of the activity just befo re the last activity. The project duration was

PAGE 92

76 38 days because the finish time (38 days) of th e last activity (activit y 10) is equal to the fitness value (38 days) of the activity (activit y 11) just before the last activity. It is notable that as mentioned in Section 3.1.3, the project duration of the case example is 32 days with the assumption of unlimited resource availability. As a result of scheduling with a single resource, it was found that ac tivities 1, 6, 3, 8, and 5 were delayed for 6, 4, 20, 2, and 10 days due to the constraints of resource and precedence relationship, respectively. Figure 4-9 shows an example of a bar chart schedule obtained using the serial SGS for a single resource. Multiple resources. The computation process of the fitness value using the serial SGS for the multiple resources was preceded as it was conducted for the single resource. Figure 4-10 shows the result obt ained from the process using the serial SGS for the multiple resources. Three resource types were considered as renewable multiple resources. Let R1A, R2A, a nd R3A denote the resource availa bilities of resource type 1, 2, and 3, respectively. The amount of the availa bility was constant throughout the project duration, as mentioned in Section 3.1.3. The R1A, R2A, and R3A are equal to 8, 1, and 1, respectively. Each stage was described in detail as follows: Stage 1 : Activity 2 was selected first because it took the first position out of all activities in the individual, I = { 2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10 }. Activity 2 was then scheduled at time 0 for the duration of 6 because its resource requirement ( R1R2=6, R2R2=1, R3R2=0 ) did not exceed the resource availability ( R1A=8, R2A=1, and R3A=1 , which were constant throughout the project dur ation) in the period of its duration. For example, R1R2=6 can be interpreted as the amount of requirements of resource R1 for activity 2 is equal to 6.

PAGE 93

77 12345678910111213141516171819202122232425262728293031323334353637 38 3940 A43333 B6666666 C2 44 D822222222 E4 4444 F102222222222 G164444444444444444 H8 22222222 I6 444444 J6 444444 K10 2222222222 R1 (avail.)8888888888888888888888888888888888888888 R1 (req.)6666667777888888886688666666886666666600 Days ACTDUR Figure 4-9. Example of a bar chart schedule obtain ed using the serial SGS for a single resource

PAGE 94

78 Stage 2 : Activity 7 was next selected accord ing to the order of the list in the individual considered. Since activity 2, whic h was the immediate predecessor of activity 7, was completed, activity 7 can start at time 7 for the duration of 16. Activity 7 also did not violate the resour ce capacities during the pe riod of its duration ( R1R7=4, R2R7=0, R3R7=0 ). Stage 3 : Activity 1 can be scheduled at th e earliest possible time because it has no precedence relationship with activities 2 and 7. Activity 1 was scheduled at time 7 because its resource requirement ( R1R1+R1R7=3+4=7, R2R1+R2R7=0+0=0, R3R1+R3R7=0+1=1 ) did not exceed its resource av ailabilities throughout the period being scheduled. Stage 4 : Activity 6 was selected from the list in the individual. Activity 6 can only be scheduled after the completion of activ ity 2 due to the precedence relationship between two activities, 2 and 6. Since activity 2 was completed at time 6, activity 6 can start at time 7 for the duration of 10. Howeve r, activity 6 could not start at time 7 so it should be postponed for the duration of 3 because of the limitation of available resources. Activity 6 started at time 11 si nce its resource requirement ( R1R6+R1R7=2+4=6, R2R6+R2R7=1+0=1, R3R6+R3R7=0+0=0 ) for its duration was under its resource availability. Stage 5 : Activity 4 was selected to be schedul ed. Activity 4 can only start after the completion of activity 1 because of a preced ence relationship betw een two activities 1 and 4. As opposed to the case of a single reso urce, activity 4 could not be scheduled at time 11 because activity 6 already put resour ce 2 at time 11, which caused the conflict

PAGE 95

79 with resource 2 of activity 4. Therefore, ac tivity 4 had to be dela yed until activity 6 was completed at time 20. Since its resource requirement ( R1R4+R1R7=2+4=6 for the first two days of activity 4, R1R4=2 for the rest of activity 4, R2R4+R2R7=1+0=1 for the first two days of activity 4, R2R4=1 for the rest of activity 4, R3R4+R3R7=0+0=0 ) for the duration of 8 met its resource availability at time 21, activity 4 was scheduled at time 21 when activity 6 was finished, as indicated with a dotted circle in Figure 4-10. Stage 6 : Activity 3 can start anytime if it m eets the resource constraints because it does not have a precedence relationship with th e activities scheduled so far. Activity 3 started to search the possibil ity to be scheduled by checki ng the available room, starting from at time 0. Activity 3 could not find the enough room until it reached at time 22, in which its resource requirement ( R1R3+R1R4=2+4=6, R2R3+R2R4=0+1=1, R3R3+R3R4=1+0=1 ) met its resource availability. Thus, activity 3 was scheduled at time 23 for the duration of 2. Stage 7 : Activity 8 was selected from the list in the individual. Activity 8 can only be scheduled after the completion of activit y 6 due to a precedence relationship between two activities, 6 and 8. Since activity 6 was completed at time 20, activity 8 can start at time 21 for the duration of 8. However, activit y 8 could not start at time 21 so it should be delayed for 4 days because of the limitati on of available resources due to the resource requirement ( R3R3=1 ) of activity 3. Activity 8 starte d at time 25 since its resource requirement ( R1R8+R1R4=2+2=4, R2R8+R2R4=0+1=1, R3R8+R3R4=1+0=1 ) for the duration of 8 was under its resource availability.

PAGE 96

80 Stage 8 : Activity 9 can be scheduled after th e completion of activity 3 due to the precedence relationship between two activities, 3 and 9. Since activity 3 was completed at time 24, activity 9 can start at time 25 for the duration of 6. However, activity 9 could not start at time 25 so it should be delayed for 4 days because activity 4 already put resource 2 at time 21 throughout its completion at time 28, which caused the conflict with resource 2 of activity 9. Activity 9 started at time 29 since its resource requirement ( R1R9+R1R8=4+2=6, R2R9+R2R8=1+0=1, R3R9+R3R8=0+1=1 ) for the duration of 8 was under its resource availability. Stage 9 : Activity 5 can start only after th e completion of activity 4. Although activity 4 was finished at time 28, activity 5 c ould not start at time 29 for the duration of 4 because of the limited availability of re source 2 required at time 29 through its duration. At time 35, activity 5 was scheduled for its duration because its re source requirement ( R1R5=4, R2R5=1, R3R5=0 ) was under its resource availability. Stage 10 : Activity 11 was selected to be schedul ed according to the order of the list in the individual considered. Activity 11 can only start afte r the completion of activities 7 and 9. Since activities 7 and 9 were finish ed at times 22 and 34, respectively, activity 11 was scheduled at time 35 for the duration of 10 because activity 11 did not violate the precedence relationships among three activities, 7, 9, and 11, and because its resource requirement ( R1R11+R1R5=2+4=6, R2R11+R2R5=0+1=1, R1R11+R3R5=1+0=1 ) for its duration was equal to or less th an its resource availability. Stage 11 : Activity 10, the last activity in the list of the individual I , was selected to be scheduled in stage 11. Activity 10 can only start after the completion of activities 5 and 8. Since activity 8 was finished at ti me 32 and activity 5 was completed at time 38,

PAGE 97

81 activity 10 can be scheduled after the comp letion of activity 5. However, activity 10 could not start at time 39 so it should be de layed for 6 days because activity 11 already put resource 3 at time 35 th roughout its completion at time 44, which caused the conflict with resource 3 of activity 10. Activity 10 started at time 45 since its resource requirement ( R1R10=5, R2R10=0, R3R10=1 ) for the duration of 6 was under its resource availability. The overall fitness value, which is the pr oject duration of the individual considered, was obtained for multiple resources using the serial SGS. The project duration was 50 days because the finish time (50 days) of the last activity (activity 10) is greater than the fitness value (44 days) of the activity (act ivity 11) just before the last activity. As a result of scheduling with multiple resources, it was found that activities 4, 9, and 5 were delayed for 10, 4, and 6 days due to resource conflicts with R2, respectively, as shown in Figure 4-10. It was also f ound that activity 8 and 10 were postponed for 4 and 6 days due to resource conflicts with R3, respectively, as shown in Figure 4-10. Figure 4-11 shows an example of a bar chart schedule obtained using the serial SGS for multiple resources. The major differences between the schedul e with single resource and the one with multiple resources are the expanded project duration and the different starting time of activities, as easily identifi ed in Figures 4-9 and 4-11. Table 4-1 shows the partia l schedules that include scheduled set and decision set obtained from the serial SGS. Their fitness va lues at each stage were also tabulated to ensure how the overall fitness value was produced.

PAGE 98

82 Resource 1 usages8 7 11 6 49 516 4 32 2 3510 178 0 01234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950Time (Days) Resource 2 usages1 0 26495 01234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950Time (Days) Resource 3 usages1 0 1381110 01234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950Time (Days) Resource 1 Limit = 8 Resource 2 Limit = 1 Resource 3 Limit = 1 Delayed for 10, 4, and 6 days due to conflict with R2, respectively Delayed 4 and 6 days due to conflict with R3 Fitness value (Project duration) Figure 4-10. Procedure of the serial SGS for multiple resources

PAGE 99

83 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 50 A4 B6 C2 D8 E4 F10 G16 H8 I6 J6 K10 88888888888888888888888888888888888888888888888888 66666677776666666666666644446666446666222222555555 11111111111111111111111111111111111111111111111111 11111100001111111111111111111111111111000000000000 11111111111111111111111111111111111111111111111111 00000011110000000000001111111111001111111111111111 R2 (req.) R3 (avail.) Days ACTDUR R1 (avail.) {4,0,1} {4,1,0} {2,0,1} {5,0,1} R3 (req.) {6, 1, 0} {3,0,1} {4,0,0} {2,1,0} {2,1,0} {2,0,1} {4,1,0} R1 (req.) R2 (avail.) Figure 4-11. Example of a bar chart schedule obtained using the serial SGS for multiple resources

PAGE 100

84 Table 4-1. Partial schedules from the serial SGS Single and multiple resources Stage No. Scheduled set (Sn) Fitness Value (Day) Decision set (Dn) 0 { } 0 {2, 1, 3} 1 {2} 6 {7, 1, 6, 3} 2 {2, 7} 22 {6, 4, 3} 3 {2, 7, 1} 22 {3, 5} 4 {2, 7, 1, 6} 22 {3, 8, 5} 5 {2, 7, 1, 6, 4} 22 {8, 9, 5} 6 {2, 7, 1, 6, 4, 3} 22 {5, 11} 7 {2, 7, 1, 6, 4, 3, 8} 30 {10} 8 {2, 7, 1, 6, 4, 3, 8, 9} 30 {10} 9 {2, 7, 1, 6, 4, 3, 8, 9, 5} 32 { } 10 {2, 7, 1, 6, 4, 3, 8, 9, 5, 11} 38 { } 11 {2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10} 38 { } 4.3.2.2 Fitness calculation process based on the parallel SGS The parallel SGS, the algorithm of Kelle y (1963) and the one of Brooks (Bedworth and Bailey 1982), was utilized to calculate the fitness value of an individual. The parallel SGS consists of at most J stages in each of which a se t of activities is scheduled. A unique feature of the parallel method is that each stage n is associated with a schedule time tn, where tm tn for m n holds. On account of this schedule time, the set of scheduled activities is divided into the following two subsets: Activities whic h were scheduled and are completed up to the schedule time are in the complete set ( Cn), while activities which were scheduled, but which are at the schedule time still active, are in the active set ( An). Also decision set ( Dn) exists like the serial SGS. In c ontrast to the seri al SGS it contains all yet unscheduled activities which are av ailable for scheduling with regard to precedence and resource constraints. The pa rtial schedule of each stage is made by the activities in the complete set and the active set . The schedule time of a stage is equal to the earliest completion time of activities in the active set of the previous stage. Each stage is made up of two steps: First, the new schedule time is determined and activities with a finish time equal to th e (new) schedule time are removed from the active

PAGE 101

85 set and put into the complete set . This, in turn, may place a number of activities into the decision set . Second, one activity from the decision set is selected according to the order of the activity list representation and scheduled to start at the current schedule time. Afterwards, this activity is removed from the decision set and put into the active set . The second procedure is repeated until the decision set is empty, i.e., activities were scheduled or are no longer available for schedul ing with regard to resource constraints. The parallel SGS terminates when al l activities are in the complete or active set . Single resource. Figure 4-12 shows the step-by-step computation process of the fitness value for the single resource. Usi ng the parallel SGS, the fitness value was computed for a single resource through 10 stages according to the fitness function formulated in Section 3.1.2. The new schedule time was set to zero, as a starting point of scheduling the individual I = { 2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10 }, which was the same individual as used in the serial SGS. E ach stage was described in detail as follows: Stage 1 : The first decision set { 2, 1, 3 } was created at time 0 stage because they were unscheduled and available for scheduli ng with regard to precedence relationships and resource constraints, as shown in Figure 4-12 (a). A ll three activities, 2, 1, and 3, were considered to be scheduled at the same time. Activity 2 was selected first because it was placed in the first position of the decision set . Activity 2 then started at time 0 for the duration of 6 because it did not have any predecesso r and because its resource requirement ( RR2=6 ) did not exceed the resource availability ( RA=8 , which is constant throughout the project duration) through the period of its duration. Simultaneously, activities 1 and 3 were consider ed to be scheduled at time 0, but they could not start because of the limitation of available resource.

PAGE 102

86 Stage 2 : The new schedule time was determined at time 6 based on the earliest completion time (Day 6) of activity in the active set { 2 } of the previous stage, as shown in Figure 4-12 (b). At time 6 stage, the complete set { 2 }, and the new decision set { 7, 1, 6, 3 } were generated. Activities 1 and 3 were contained in the previous decision set , while activities 7 and 6 were newly included fr om the list of the individual considered because their predecessor, activity 2, wa s completed. In other words, the new decision set should be ordered into 7, 1, 6, and 3, but not 1, 3, 7, and 6 because the order of the activity list in the individual is { 2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10 }. Activities 7 and 1 were scheduled at time 7 for the duration of 16 a nd 4, respectively, because their resource requirements ( RR7=4 and RR1+RR7=3+4=7 ) did not exceed the resource availability through the period of their durations . However, the rest of the decision set could not be scheduled due to the limitation of available resources. Stage 3 : The new schedule time was determined at time 10 based on the earliest completion time (Day 10) of activities in the active set { 7, 1 } of the previous stage, as shown in Figure 4-12 (c). At time 10 stage, the complete set { 2, 1 }, and the new decision set { 6, 4, 3 } were created. Activities 6 and 3 were survived from the previous decision set , while activity 4 was newly included from the list of the individual considered because its predecessor, activity 1, was fini shed. Activities 6 and 4 were scheduled simultaneously at time 11. First, activity 6 wa s scheduled at time 11 for the duration of 10 because activity 2, which was the pr edecessor of activity 6, was in the complete set , and because the resource requirement of activity 6 ( RR6+RR7=2+4=6 ) did not exceed the resource availability through the period of its durati on. Simultaneously, activity 1 was scheduled at time 11 for the dur ation of 8 because activity 1, which was the predecessor

PAGE 103

87 of activity 4, was in the complete set , and because the resource requirement of activity 4 ( RR4+RR6+RR7=2+2+4=8 ) was equal to the resource availability through the period of its duration. However, activity 3 could not be scheduled simultaneously in this stage because there was not enough room for the activity at time 10. Stage 4 : The new schedule time was determined at time 18 based on the earliest completion time (Day 18) of activities in the active set { 7, 6, 4 } of the previous stage, as shown in Figure 4-12 (d). At time 18 stage, the complete set { 2, 1, 4 }, and the new decision set { 3, 5 } were generated. Activity 3 was survived from the previous decision set , while activity 5 was newly included from the list of the individual considered because its predecessor, activity 4, wa s completed. Both activities 3 ( RR3=4 ) and 5 ( RR5=4 ) cannot be scheduled at time 18 due to the limitation of available resources. Stage 5 : The new schedule time was determined at time 20 based on the earliest completion time (Day 20) of activities in the active set { 7, 6 } of the previous stage, as shown in Figure 4-12 (e). At time 20 stage, the complete set { 2, 1, 6, 4 }, and the new decision set { 3, 8, 5 } were created. Activities 3 and 5 were survived from the previous decision set , while activity 8 was newly included from the list of the individual considered because their pred ecessors, activities 6 and 4, respectively, were finished. All three activities, 3, 8, and 5, were eligible to be scheduled at time 21. Activity 3 was first considered at time 21 because it took the first position among the list in the decision set , even though the other two activit ies, 8 and 5, were eligible at this time. Thus, activity 3 was scheduled at time 21 for the duration of 2 because activity 3 did not have any predecessor and also its resource requirement ( RR3+RR7=4+4=6 ) was equal to the

PAGE 104

88 resource availability through the period of its duration. However, activities 8 and 5 could not be scheduled simultaneously at this time due to the limitation of available resources. Stage 6 : The new schedule time was determined at time 22 based on the earliest completion time (Day 22) of activities in the active set { 7, 3 } of the previous stage, as shown in Figure 4-12 (f). At time 22 stage, the complete set { 2, 7, 1, 6, 4, 3 }, and the new decision set { 8, 9, 5 } were generated. Activities 8 and 5 were survived from the previous decision set , while activity 9 was newly included from the list of the individual considered because its predecessor, activity 3, was completed. All three activities, 8, 9, and 5, were eligible to be sc heduled at time 23. Activity 8 was first considered at time 23 because it took the first position among the ac tivity list representation considered, even though the other two activities, 9 and 5, in the decision set were eligible at this time. Thus, activities 8 and 9 were scheduled at time 23 for the duration of 8 and 6 because their resource requirement ( RR8=2 and RR9=4 ) did not exceed the resource availability through the period of their dura tion, respectively. However, ac tivity 5, which was the last activity considered at time 22 stage, coul d not be scheduled due to the limitation of available resources. Stage 7 : The new schedule time was determined at time 28 based on the earliest completion time (Day 28) of activities in the active set { 8, 9 } of the previous stage, as shown in Figure 4-12 (g). At time 28 stage, the complete set { 2, 7, 1, 6, 4, 3, 9 }, and the new decision set { 5, 11 } were created. Activity 5 was survived from the previous decision set , while activity 11 was newly included from the list of the individual considered because its predecessors, activity 7 and 9, were finished. Two activities, 5 and 11, were eligible to be sc heduled at time 29, simultane ously. Thus, activities 5 and

PAGE 105

89 11 were scheduled at time 29 for the dur ation of 4 and 10 because their resource requirement ( RR5=4 and RR11=2 ) did not exceed the resource availability through the period of their duration, respectively. Stage 8 : The new schedule time was determined at time 30 based on the earliest completion time (Day 30) of activity in the active set { 8 } of the previous stage, as shown in Figure 4-12 (h). At time 30 stage, the complete set { 2, 7, 1, 6, 4, 3, 8, 9 }, and the new decision set { 10 } were generated. The last remaining activity 10 was finally and newly included from the list of the individual cons idered because its predecessors, activity 5 and 8, were completed. Activity 10 ( RR10=5 ) could not be scheduled at time 30 due to the limitation of available resources. Stage 9 : The new schedule time was determined at time 32 based on the earliest completion time (Day 32) of activities in the active set { 5, 11 } of the previous stage, as shown in Figure 4-12 (i). At time 32 stage, the complete set { 2, 7, 1, 6, 4, 3, 8, 9, 5 }, and the new decision set { 10 } were created. Activity 10 wa s scheduled at time 33 for the duration of 6 because its resource requirement ( RR10+RR11=5+2=7 ) did not exceed the resource availability thro ugh the period of its duration. Stage 10 : The new schedule time was determin ed at time 38 based on the earliest completion time (Day 38) of activities in the active set { 11, 10 } of the previous stage, as shown in Figure 4-12 (j). At time 38 stage, the complete set { 2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10 } was finally generated.

PAGE 106

90 At t =0, Cn = { } Dn = {2, 1, 3} An = {2} (a) At t =6, Cn = {2} Dn = {7, 1, 6, 3} An = {7, 1} (b) At t =10, Cn = {2, 1} Dn = {6, 4, 3} An = {7, 6, 4} (c) At t =18, Cn = {2, 1, 4} Dn = {3, 5} An = {7, 6} (d) At t =20, Cn = {2, 1, 6, 4} Dn = {3, 8, 5} An = {7, 3} (e) Figure 4-12. Procedure of the para llel SGS for a single resource

PAGE 107

91 At t =22, Cn = {2, 7, 1, 6, 4, 3} Dn = {8, 9, 5} An = {8, 9 } (f) At t =28, Cn = {2, 7, 1, 6, 4, 3, 9} Dn = {5, 11} An = {8} (g) At t =30, Cn = {2, 7, 1, 6, 4, 3, 8, 9} Dn = {10} An = {5, 11} (h) At t =32, Cn = {2, 7, 1, 6, 4, 3, 8, 9, 5} Dn = {10} An = {11} (i) At t =38, Cn = {2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10} Dn = { } An = { } (j) Figure 4-12. Continued.

PAGE 108

92 The overall fitness value, which is the pr oject duration of the individual considered, was obtained by finding the maximum value between the finish time of the last activity and the fitness value of the activity just befo re the last activity. The project duration was 38 days because the finish time (38 days) of th e last activity (activit y 10) is equal to the fitness value (38 days) of the activity (activit y 11) just before the last activity. It is notable that as mentioned in Section 3.1.3, th e project duration of the individual is 32 days with the assumption of unlimited resource available. It is important to note that although the fitness value obtained from the para llel SGS for an individual is equal to the one produced from the serial SGS for the specif ic individual considered in this section; it does not necessarily have to produce the same f itness value. This is the reason why this research applied two SGSs at the same time to the same individual in order to find the better fitness value. Figure 4-13 shows an ex ample of a bar chart sc hedule obtained using the parallel SGS for single resource. Multiple resources. The computation process of the fitness value using the parallel SGS for the multiple resources was preceded as it was conducted for the single resource. Figure 4-14 shows the result obt ained from the process using the parallel SGA for the multiple resources. It is notable that usi ng the parallel SGS, the fitness value was computed for multiple resources through 11 stages, which was one more than the stages for the single resource. Three resource types were considered as renewable multiple resources. Let R1A, R2A, a nd R3A denote the resource availa bilities of resource type 1, 2, and 3, respectively. The amount of the availa bility was constant throughout the project duration, as mentioned in Section 3.1.3. The R1A, R2A, and R3A are equal to 8, 1, and 1, respectively. Each stage was described in detail as follows:

PAGE 109

93 12345678910111213141516171819202122232425262728293031323334353637 38 3940 A43333 B6666666 C2 44 D822222222 E4 4444 F102222222222 G164444444444444444 H8 22222222 I6 444444 J6 444444 K10 2222222222 R1 (avail.)8888888888888888888888888888888888888888 R1 (req.)6666667777888888886688666666886666666600 Days ACTDUR Figure 4-13. Example of a bar chart schedule obtain ed using the parallel SGS for a single resource

PAGE 110

94 Stage 1 : The first decision set { 2, 1, 3 } was created at time 0 stage because they were unscheduled and available for scheduling with regard to a precedence relationships and resource constraints. All three activities, 2, 1, and 3, were considered to be scheduled at the same time. Activity 2 was selected fi rst because it was placed in the first position of the decision set . Activity 2 then started at time 0 for the duration of 6 because activity 2 did not have a predecessor and because its resource requirement ( R1R2=6, R2R2=1, R3R2=0 ) did not exceed the resource availability ( R1A=8, R2A=1, R3A=1 , which were constant all over the project duration) thr ough the period of its dur ation. Simultaneously, activities 1 and 3 were consider ed to be scheduled at time 0, but they could not start because of the limitation of available resources ( R1R1=3, R2R1=0, R3R1=1, R1R3=4, R2R3=0, R3R3=1 ). Stage 2 : The new schedule time was determined at time 6 based on the earliest completion time (Day 6) of activity in the active set { 2 } of the previous stage. At time 6 stage, the complete set { 2 }, and the new decision set { 7, 1, 6, 3 } were generated. Activities 1 and 3 were contained in the previous decision set , while activities 7 and 6 were newly included from the list of the indivi dual considered because their predecessor, activity 2, was completed. Activities 7 and 1 were simultaneously scheduled at time 7 for the duration of 16 and 4 because their resource requirements ( R1R7=4, R2R7=0, R3R7=0, R1R1=3, R2R1=0, R3R1=1 ) did not exceed the resource av ailability through the period of their durations, resp ectively. However, the rest of the decision set could not be scheduled due to the limitation of available resources. Stage 3 : The new schedule time was determined at time 10 based on the earliest completion time (Day 10) of activities in the active set { 7, 1 } of the previous stage. At

PAGE 111

95 time 10 stage, the complete set { 2, 1 }, and the new decision set { 6, 4, 3 } were created. Activities 6 and 3 were survived from the previous decision set , while activity 4 was newly included from the list of the individual considered because its predecessor, activity 1, was finished. Activities 6 and 4 were elig ible to be scheduled simultaneously at time 11. Activity 6 was first considered because it took the first position in the list of the decision set . Thus, activity 6 was scheduled at ti me 11 for the duration of 10 because its predecessor, activity 2, was in the complete set , and because its resource requirement ( R1R6+R1R7=2+4=6, R2R6+R2R7=1+0=0, R3R6+R3R7=0+0=0 ) did not exceed the resource availability through the period of its duration. Although activities 4 and 3 were eligible to be scheduled at this stage, they could not simultaneously start at time 10 due to the resource conflict of two activities, 4 ( R2R4=1 ) and 3 ( R1R3=4 ). Stage 4 : The new schedule time was determined at time 20 based on the earliest completion time (Day 20) of activities in the active set { 7, 6 } of the previous stage. At time 20 stage, the complete set { 2, 1, 6 }, and the new decision set { 4, 3, 8 } were generated. Activities 4 and 3 were survived from the previous decision set , while activity 8 was newly included from the list of the individual considered because its predecessor, activity 6, was completed. Both activities 4 a nd 8 were simultaneously scheduled at time 21 because their resource requirements ( R1R4+R1R8+R1R7=2+2+4=8, R2R4+R2R8+R2R7=1+0+0=1, R3R4+R3R8+R3R7=0+1+0=1 ) did not exceed the resource availability through the period of their duration. However, activity 3 could not be simultaneously scheduled due to th e limitation of available resources. Stage 5 : The new schedule time was determined at time 22 based on the earliest completion time (Day 22) of activities in the active set { 7, 4, 8 } of the previous stage. At

PAGE 112

96 time 22 stage, the complete set { 2, 7, 1, 6 }, and the new decision set { 3 } were created. Activity 3 was survived from the previous decision set . Activity 3 could not start at time 22 due to the resource conflict with activity 8 ( R3R3=1, R3R8=1 ). Stage 6 : The new schedule time was determined at time 28 based on the earliest completion time (Day 28) of activities in the active set { 4, 8 } of the previous stage. At time 28 stage, the complete set { 2, 7, 1, 6, 4, 8 }, and the new decision set { 3, 5 } were generated. Activity 3 was survived from the previous decision set , while activity 5 was newly included from the list of the individual considered because its predecessor, activity 4, was completed. Both activities 3 and 5 were simultaneously scheduled at time 29 because their resource requirements ( R1R3+R1R5=4+4=8, R2R3+R2R5=0+1=1, R3R3+R3R5=1+0=1 ) did not exceed the resource availa bility through the period of their duration. Stage 7 : The new schedule time was determined at time 30 based on the earliest completion time (Day 30) of activities in the active set { 3, 5 } of the previous stage. At time 28 stage, the complete set { 2, 7, 1, 6, 4, 8, 3 }, and the new decision set { 9 } were created. Activity 9 was newly included from the list of the individual considered because its predecessor, activity 3 was finished. Activ ity 9 could not start at time 30 due to the resource conflict with activity 5 ( R2R5=1, R2R9=1 ). Stage 8 : The new schedule time was determined at time 32 based on the earliest completion time (Day 32) of activity in the active set { 5 } of the previous stage. At time 32 stage, the complete set { 2, 7, 1, 6, 4, 3, 8, 5 }, and the new decision set { 9, 10 } were generated. Activity 9 was survived from the previous decision set , while activity 10 was newly included from the list of the indivi dual considered because its predecessors,

PAGE 113

97 activity 5 and 8, were completed. Activity 9 was first considered because activity 9 was the first position in the decision set . Thus, activity 9 was sc heduled at time 33 for the duration of 6 because its pred ecessor, activity 3, was in the complete set , and because its resource requirement ( R1R9=4, R2R9=1, R3R9=0 ) did not exceed the resource availability through the period of its durati on. Although activity 10 was eligible to be scheduled at this stage, it could not simu ltaneously start at time 33 due to a precedence relationship between tw o activities, 9 and 10. Stage 9 : The new schedule time was determined at time 38 based on the earliest completion time (Day 38) of activity in the active set { 9 } of the previous stage. At time 38 stage, the complete set { 2, 7, 1, 6, 4, 3, 8, 9, 5 }, and the new decision set { 11, 10 } were created. Activity 10 was survived from the previous decision set , while activity 11 was newly included from the list of the indi vidual considered be cause its predecessor, activity 9, was completed. Activity 11 was fi rst considered because it took the first position in the decision set . Thus, activity 11 was scheduled at time 39 for the duration of 10 because its predecessor, activity 9, was in the complete set , and because its resource requirement ( R1R11=2, R2R11=0, R3R11=1 ) did not exceed the resource availability through the period of it s duration. Although activity 10 was eligible to be scheduled at this stage, it could not start at time 39 simultaneously due to the resource conflict with activity 10 ( R3R11=1, R3R10=1 ). Stage 10 : The new schedule time was determin ed at time 48 based on the earliest completion time (Day 48) of activity in the active set { 11 } of the previous stage. At time 48 stage, the complete set { 2, 7, 1, 6, 4, 3, 8, 9, 5, 11 }, and the new decision set { 10 } were created. Activity 10 was survived from the previous decision set , and it was

PAGE 114

98 scheduled at time 49 for the dur ation of 6 because all of it s predecessors were in the complete set , and because its resource requirement ( R1R10=5, R2R10=0, R3R10=1 ) did not exceed the resource availability th rough the period of its duration. Stage 11 : The new schedule time was determin ed at time 54 based on the earliest completion time (Day 54) of activity in the active set { 10 } of the previous stage. At time 54 stage, the complete set { 2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10 } was finally generated. The overall fitness value, which is th e project duration of the case example considered, was obtained for multiple resources using the parallel SGS. The project duration was 54 days because the finish time (54 days) of the last activ ity (activity 10) is greater than the fitness value (48 days) of the activity (activity 11) just before the last activity. Figure 4-15 shows the example of a bar chart schedule obtai ned using the serial SGS for multiple resources for the individual considered in this section. The major differences between the schedule with a single resource and the one with multiple resources are the expanded project duration and the different starting time of activities, as easily identified in Figures 4-13 and 4-15. Table 4-2 shows the partia l schedules that include complete set , decision set , and active set produced from the parallel SGS by the type of resource. Their fitness values at each stage were also tabulated to ensure how the overall fitnes s value was produced. 4.3.2.3 Fitness calculation process based on the serial and parallel SGS Both the serial and parallel SGSs mean that the fitness value of an individual is obtained from the smaller one between the f itness value when applying the serial SGS and the one when applying the parallel SGS at the same time to an identical individual.

PAGE 115

99 Resource 1 usages8 7 6 45 5168 4 32 2 3910 17 11 0 012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455Time (Days) Resource 2 usages1 0 26459 012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455Time (Days) Resource 3 usages1 0 1831110 012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455Time (Days) Resource 1 Limit = 8 Resource 2 Limit = 1 Resource 3 Limit = 1 Delayed due to conflict with R3 Delayed due to conflict with R2 Fitness value (Project duration) t = 6 t = 10 t = 0 t = 22 t = 20 t = 28 t = 30 t = 38 t = 32 t = 48 t = 54 Figure 4-14. Procedure of the parallel SGS for multiple resources

PAGE 116

100 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 A4 B6 C2 D8 E4 F10 G16 H8 I6 J6 K10 888888888888888888888888888888888888888888888888888888 666666777766666666668844444488444444442222222222555555 111111111111111111111111111111111111111111111111111111 111111000011111111111111111111111111110000000000000000 111111111111111111111111111111111111111111111111111111 000000111100000000001111111111000000001111111111111111 {6, 1, 0} {4,1,0} R1 (req.) R2 (avail.) {2,1,0} {2,0,1} {5,0,1} R3 (req.) R2 (req.) R3 (avail.) Days ACTDUR R1 (avail.) {4,0,1} {4,1,0} {2,0,1} {3,0,1} {4,0,0} {2,1,0} Figure 4-15. Example of a bar chart schedule obtained using the parallel SGS for multiple resources Table 4-2. Partial schedules from the parallel SGS Type Single resource Multiple resources Stage No. Time (Day) Complete set (Cn) Fitness Value (Day) Decision set (Dn) Active set (An) Time (Day) Complete set (Cn) Fitness Value (Day) Decision set (Dn) Active set (An) 1 0 { } 0 {2, 1, 3} {2} 0 { } 0 {2, 1, 3} {2} 2 6 {2} 6 {7, 1, 6, 3} {7, 1} 6 {2} 6 {7, 1, 6, 3} {7, 1} 3 10 {2, 1} 22 {6, 4, 3} {7, 6, 4} 10 {2, 1} 10 {6, 4, 3} {7, 6} 4 18 {2, 1, 4} 22 {3, 5} {7, 6} 20 {2, 1, 6} 20 {4, 3, 8} {7, 4, 8} 5 20 {2, 1, 6, 4} 22 {3, 8, 5} {7, 3} 22 {2, 7, 1, 6 } 22 {3} {4, 8} 6 22 {2, 7, 1, 6, 4, 3} 22 {8, 9, 5} {8, 9} 28 {2, 7, 1, 6, 4, 8} 28 {3, 5} {3, 5} 7 28 {2, 7, 1, 6, 4, 3, 9} 30 {5, 11} {8} 30 {2, 7, 1, 6, 4, 3, 8} 30 {9} {5} 8 30 {2, 7, 1, 6, 4, 3, 8, 9} 38 {10} {5, 11} 32 {2, 7, 1, 6, 4, 3, 8, 5} 32 {9, 11} {9} 9 32 {2, 7, 1, 6, 4, 3, 8, 9, 5} 38 {10} {11, 10} 38 {2, 7, 1, 6, 4, 3, 8, 9, 5} 38 {11, 10} {11} 10 38 {2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10} 38 { } { } 48 {2, 7, 1, 6, 4, 3, 8, 9, 5, 11} 48 {10} {10} 11 54 {2, 7, 1, 6, 4, 3, 8, 9, 5, 11, 10} 54 { } { }

PAGE 117

101 4.3.2.4 Unique schedule: Phenotype versus genotype The purpose of applying the se rial and/or para llel SGS to the individuals in a population was to obtain schedul es that showed the resour ce profile and the project duration. It is important to note that a uniquely determined schedule (phenotype) computed using one of three SGSs can be rela ted more than one individual (genotype). A uniquely determined schedule means that it is possible for several indi viduals to have the same fitness value ( makespan , the term used in many RCPSP studies), but their starting time should be totally different. It is nece ssary to differentiate a unique schedule from the number of generations. Figure 4-16 shows an example of the uniquely determined schedules in the search space as genotypes may be related to the same schedule, which is the project duration for the RCPSP. 1432976581011 1342967118510 412121216282830364242 040410121626283616 44121216203242424242 004410101632203236 Figure 4-16. Example of the uniquely determined schedules 4.3.2.5 Transformation from the minimizati on function to the maximization function The objective function for the RCPSP is to minimize the f itness function as described in Section 3.1.2. Ther efore, a transformation from the minimization function to

PAGE 118

102 a maximization function was needed to ensure that the individual selection process performs correctly. Various transformation methods can be us ed to transform an original objective function value to a fitness value. For exampl e, a fitness value can be obtained either by subtracting the objective functi on value from an arbitrary la rge constant or by taking the reciprocal of the objective function value. Lee and Kim (1996) transformed the objective function value using Eq. 4-1: ) (exp ) (i f hi f (Eq. 4-1) where ) ( i f = transformed fitness value ) ( i f = original fitness value obtained from the SGS method h = a parameter to be chosen to make the fitness value lie (In their algorithm, it was set at 0.004) This research modified their transfor mation method by adding a new parameter named transformation power (TP) to their transformed objective function in order to emphasize low fitness values, as shown in Eq. 4-2: maximize TPi f hi f) (exp ) ( (Eq. 4-2) where ) ( i f = transformed fitness value ) ( i f = original fitness value obtained from the SGS method h = a parameter to be chosen to make the fitness value lie (In this algorithm, it was set at 0.004) TP = a transformation power (In this algorithm, it was set at 1.6) Figure 4-17 shows the graph th at illustrates the difference between the original fitness function and the transformed fitness function based on 10 sample numbers, as shown in Table 4-3.

PAGE 119

103 Table 4-3. Sample numbers of fitness for transformation function Transformed fitness value Lee and Kim (1996) ) ( i f=exp(-h*f(i)^ TP ) used in this research Individual ID Original fitness value exp(-h*f(i)) TP = 0.6 TP = 1.6 TP = 1.9 TP = 2.0 1 32 0.880 0.969 0.359 0.055 0.017 2 34 0.873 0.967 0.324 0.039 0.010 3 36 0.866 0.966 0.290 0.027 0.006 4 38 0.859 0.965 0.260 0.018 0.003 5 40 0.852 0.964 0.231 0.012 0.002 6 42 0.845 0.963 0.206 0.008 0.001 7 44 0.839 0.962 0.182 0.005 0.000 8 46 0.832 0.961 0.160 0.003 0.000 9 48 0.825 0.960 0.141 0.002 0.000 10 50 0.819 0.959 0.124 0.001 0.000 Comparison of fitness values between two transformation functions0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00 012345678910Individual IDTransformed fitness value0 10 20 30 40 50 60Original fitness value exp(-h*f(i)) exp(-h*(f(i)^TP)) Original fitness Figure 4-17. Effect of transformation power on the original fitness function The addition of the transformation pow er showed how much the transformed fitness values can be emphasized by maki ng the original fitness values low. Transformation power (TP) was chosen to be 1.6 in this research from trials-and-errors, as tabulated in Table 4-3. If a transfor mation power higher than 1.9 was inserted, the

PAGE 120

104 transformation fitness becomes meaningless because some of the fitness values are equal to zero, as indicated in the last column of Table 4-3. In other words, the use of either too higher or lower number of the transformati on power is useless because it makes the transformed fitness values either equal to ze ro or approximately e qual to the original fitness values. 4.3.3 Random Walk Algorithm for Local Search The local search operator using the RWA with uniform distribution proposed by Espinoza et al. (2005), which was originally developed by Spitzer (1976), was adopted for the development of a hybrid algorithm because the RWA was simple enough to implement for the RCPSP. The RWA occurre d uniformly within a local neighborhood around the current solution obtained from the SGA, depending on user-specified search parameters. Local search was performe d only when the performance of the SGA indicated that it was necessary. In the SGA, the fitness value started as a random distribution with unknown mean and standard de viation. It then converges to a uniform distribution with mean equal to the solu tion of the problem and approximately zero standard deviation, as shown in Figure 4-18. The local search procedure developed in this research pe rformed an iterative process on a single schedule of activities. The go al was to attain a better fitness value by taking tiny increments over a local search space. Although it has been shown to be a very successful strategy, it is also e xpensive in terms of computati on. Therefore, local search was conducted only when the conditions were considered near-optimal, and it was only performed on the best performe rs in the current generation.

PAGE 121

105 Behaviors of the simple genetic algorithm for single resource using Serial SGS(Pop_size=30, Pc=0.5, Pm=0.02, Stopping=100 generations)0 10 20 30 40 50 60 70 80 90 100 0102030405060708090100No. of GenerationaveFitness (project duration, day) aveFitness of 60 activities std_devFitness of 60 activities Figure 4-18. Behavior of the simple genetic algorithm (SGA) The detailed procedure of local search was described as follows: A random activity was selected in an individual and its flexib ility of movement w ithin the schedule was determined. If a required predecessor was directly before the activity, and a successor was directly after the activity, then it had no flexibility and another activity was chosen. Once chosen, the individual was adjusted iterat ively to put the chosen activity in every one of its possible positions . For each adjustment, the overall fitness value of the individual was computed using either the seri al or the parallel SGS, and the location of the chosen activity that corresponded to the best overall fitness of the individual was chosen as that activityÂ’s permanent locati on. If the best locat ion found was different from the activityÂ’s permanent location, then an improvement on the overall fitness value was made. The proportion of such local sear ches leading to optimization over the total

PAGE 122

106 number of local searches app ears to grow with the number of activities, but the overall procedure grows in cost, as well. It is important to note that local search was performed only when the performance of the SGA indicates that it was necessary. In order to indicate when local search was needed, this research evaluated changes in the average and standard deviation of the fitness. Figure 4-19 shows the behaviors of two parameter ratios obtained from the SGA only for the case example presented previously in order to investigate the feasibility whether an indicator of local search need is necessary or not. The average ratio was computed by the ratio of the mean of the fitness values at generation i to that at generation i-1 . The standard deviation ratio was also computed by the ratio of the standard deviation of the f itness values at generation i to that at generation i-1 . As shown in Figure 4-19, the mean cha nges substantially during evolution after generation 30, while the standard deviati on does not change during evolution after generation 30 but changes dramatically fr om the beginning of the evolution to the generation 30. Based on the measurements obtained from th e evaluation, it was found that it is not appropriate to use either the mean ratio or the standard ratio as an indicator of local search need. Therefore, the coefficient of variation ratio (CVR), as a discretion criterion, was computed to check the need for local search for the indivi duals. The RWA then performed local search to fi nd the better solution than the one that was produced from global search using the SGA. It is also notab le that like the SGA, this is a heuristic algorithm that does not guarantee to find an opt imal solution. The coefficient of variation ratio (CVR) was employed to track the cha nge in performance (E spinoza et al. 2005).

PAGE 123

107 Parameter ratio for simple gene tic algorithm using serial SGS (i.e., without local search, Cp=0.0)0.00 0.50 1.00 1.50 2.00 2.50 3.00 0102030405060708090No. of generationParameter ratio meanRatio stddevRatio Figure 4-19. Average and st andard deviation ratio The definition and relationship between ) ( iCVR and ) ( iCV were formulated in Eq 4-3: ) 1 ( ) 1 ( ) ( ) ( ) 1 ( ) ( ) ( i i i i i i iY S Y S CV CV CVR (Eq. 4-3) where ) ( iCVR = the coefficient of variation ratio ) ( iCV = the coefficient of variation at generation i ) ( iY = the mean of the fitness values at generation i ) ( iS = the standard deviation of the fitness values at generation i The CVR provided the combined change in m ean and standard devi ation of fitness. The CVR at generation i can be computed by the ratio of the coefficient of variation at generation i to that at the very previous genera tion. The coefficien t of variation at generation i is the ratio of the mean of population fitness to the standard deviation of population fitness. The CVR repr esents the relative change in the coefficient of variation from one generation to the next generation. When the CVR is greater than one, the fitness value at generation i is worse than that produced at generation i-1 because the

PAGE 124

108 algorithm is exploring a new area of the soluti on space. When a new area of the solution space is explored due to the ope ration of a crossover or muta tion, the fitness value of the new solution may be different from the rest of the population. The fitness value of the new solution causes an increase or decrease in the standard deviation of the fitness value along with the decrease in the mean of the f itness value. As a result, the CVR can be greater than one because of the increase in the coefficient of variation. The idea of whether local search is performed or not is dependent upon the CVR value, as shown in Eq. 4-4: 1, if CVR ( i ) > T Local search indicator = {0, Otherwise. (Eq. 4-4) where T = variation threshold Local search may be beneficial when the CVR is greater than one because it searches the new area of solution space furt her so that it can identify one or more promising new solutions. Global search and local search threshold effect using serial SGS (Cp=0.0)0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00 1.10 1.20 1.30 0102030405060708090100No. of GenerationCoefficient of variation (CV)0.00 0.50 1.00 1.50 2.00 2.50 3.00CV Ratio (CVR) CV Threshold CVR Figure 4-20. Global search and local search variation threshold effect

PAGE 125

109 Figure 4-20 shows global search and local search variation threshold effect. Among other points that have a greater value th an one, the two outliers in this graph were found to be good points of promising solutions that could benefit fr om local search to improve the fitness value. Therefore, lo cal search frequency in AHGASS algorithm was defined using a variation threshold (T), wh ere local search was invoked whenever CVR > T. As shown in Figure 4-20, the value T can be obtained by finding the value that corresponds with the CVR of one fr om the coefficient of variation. Local search can be computationally expe nsive because it requires the additional function evaluations in addition to the SGA. It also searches a small portion of the total population. Therefore, it is na tural to conduct local search only if a greater performance is shown than the most recent global sear ch iteration. The developed hybrid genetic algorithm searches a smaller portion of the population using the relationship, proposed by Espinoza et al. (2005), as shown in Eq. 4-5: ) 1 ( 0) 1 ( nP P (Eq. 4-5) where P = the local search probability 0P = user-specified initial value of the local search probability = a user-specified parameter governing the rate of decrease in the local search probability n = the local iteration number in the local search step The local search probability P decreases in a constant way from the initial value in this equation. For example, if the local iteration number n in the local search step is equal to zero, the local search proba bility becomes the initial value0P. What is meant by the decreased local search probability is that the search space is decreased to reduce the computational time and to avoid prem ature convergence to a local solution.

PAGE 126

110 In the developed hybrid genetic algor ithm, the initial lo cal search value0P varies depending on a userÂ’s preference even though the local search probability P at the beginning of every local search st ep is set to zero in order to start with the same sampling size at the beginning of every invocation of local search. 4.3.4 Elitist Roulette Wheel Selection Operator In this research, the elit ist preserving selection called elitism (De Jong 1975) was adopted to combine with the roulette wheel selection operator. E litism roulette wheel selection operator was created in this sect ion. Elitism preserves the best individual generated up to generation t into the current generation t+1 , if the fitness value of an individual in the current population is larger th an that of every indi vidual in the current population. The roulette wheel selection operator proposed by Holland (1975) has been employed in the SGA developed in this res earch, as used in many studies (Hartmann 1998, Leu and Yang 1999). The concept of the selection was to determine selection probability for each individual propo rtional to the fitness value. 4.3.5 One-Point Crossover Operator The goal of a crossover operator is to co mbine pieces of information coming from different individuals in the population. It is important to preser ve good building blocks and maintain randomness and population diversit y for searching non-redundant solutions. The order of the first several activities is the key to preserve the whole individual, providing the basis for the remaining activit ies and deciding how good the order of the remaining activities will be to a certain degree. Good activity combinations are likely to be among the first several activities. It is less variable if the starting times for schemata is fixed early in th e genotype because there

PAGE 127

111 are only a limited number of activities th at can be scheduled to start at time t=0 based on precedence relationships. On the other ha nd, many more potential activities can be scheduled to start at a much later point in time. Using a case example considered in Chapter 3, for example, schema of the genotypes {1, 2, *, *, *, *, *, *, *, *, *} or {2, 1, *, *, *, *, *, *, *, *, *} will be likely to schedule at the same starting time if they do not violate the resource constraints. A schema defined later in the genotype such as {*, *, *, *, *, *, *, *, *, 9, 11} is likely to represent ma ny different starting times for activities 9 and 11 based on the ordering of the unfixed positions. Two different types of crossover operators, union crossover operator 3 (UX3) (Leu and Yang 1999) and one-point crossover (Hartmann 1998), were identified as good methods for the permutation based encoding for the SGA. They were developed to deal with this type of ordering problem that occurred due to crossover operation. UX3 fixes character duplication problem after the chromosome operation as well as maintains precedence relationships by creating two ex clusive sub-individuals from parent individuals and then randomly writing the elem ents directly to the offspring individuals and then taking accounts of activity precedence relationships when writing characters from sub-individuals into the offspring individuals. However, the performance of the UX3 operator was reduced since it caused significant change to the indivi dual representations of the pa rent individuals by disrupting potential building blocks and high fitne ss schema at each generation (Zhuang and Yassine 2004). Their findings are reasonable because if bett er solutions were found with UX3, it is not due to the recombination theo ries fundamental to the GA, but to the randomization of UX3. The major disadvantage of UX3 operator is that it must change

PAGE 128

112 gene positions more frequently than the one-poi nt crossover operator. It is notable that the same issue can be raised when applyi ng the one-point cross over operator, but onepoint crossover preserves the good schemas by k eeping the first half of activities intact (Reeves 1995, Hartmann 1998). For this reas on, this research selected the one-point crossover operator for the permut ation based encoding to the RCPSP. The one-point crossover operator is capa ble of preserving schemata in a more effective manner because it keeps the first half of both parents intact and is less random than UX3. The probability of disrupting short defining length is rather low, even though crossover operation in the beginning of an individual is likely to disrupt schema (Goldberg 1989). The rationale for using th e one-point crossover operator is that a precedence feasible offspring is generated if it is applied to preced ence feasible parents (Hartmann 1998, Zhuang and Yassine 2004). The theorem was proven by Hartmann (1998). The one-point crossover is operated using the procedure as shown in Figure 421. Step One-point crossover Procedure 1: Select two parent individuals from a population individuals 2: Select the same position along both parents using_ a random integer 3: Select the first half sub-individuals from parent 1 and _ parent 2 (They are named sub-individual 1 and 2) 4: Find the exclusive sub-individuals from parent 2 for_ Sub-individual 1 and from parent 1 for sub-individual 2_ (They are named sub-individual 3 and 4, respectively) 5: Place sub-individual 1 into unfixed positions at the_ beginning of offspring 1. 6: Place sub-individual 2 into unfixed positions at the_ beginning of offspring 2. 7: Position sub-individual 3 into unfixed positions following_ Sub-individual 1 in offspring 1 8: Position sub-individual 4 into unfixed positions following_ Sub-individual 2 in offspring 2 Figure 4-21. Procedure of one-point cross over operator to recombine the parentsÂ’ information

PAGE 129

113 The proportion of parent indi viduals performing the onepoint crossover operator during a generation is controlled by the crossover probability] 1 , 0 [ cp, which determines how frequently the one-point crossover opera tor is invoked. For example, if a population of 50 individuals per generation had a cross over probability of 0.2, it would be expected 10 pairs of individuals would be crossed. If a randomly selected number is less than or equal to the crossover probabi lity, then the individual underg oes a crossover. Once the expected number of crossover has been achieved, the one-point crossover operator terminates. Figure 4-22 shows the effect of one-point crossover operator on the SGA obtained from AHGASS based on the case example of 11 non-dummy activities with single resource. Two runs were conducted with th e crossover probabilitie s of zero and 0.5 to show the difference due to the ope ration of one-point crossover. Comparison of mean fitness values by crossover probability, Cp35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 05101520253035404550556065707580859095No. of GenerationAverage Fitness (Project duration) Cp=0.0 Cp=0.5 (a) Figure 4-22. Effect of one-poi nt crossover operator on SGA with Cp=0.0 versus Cp=0.5: (a) comparison of mean fitness valu es and (b) comparison of standard deviation fitness values

PAGE 130

114 Comparison of standard deviation fitness values by crossover probability, Cp0 1 2 3 4 5 6 05101520253035404550556065707580859095No. of GenerationStandard Deviation Fitness Cp=0.0 Cp=0.5 (b) Figure 4-22. Continued. The default set of the parameters as follows: the population size, transformation power, and mutation probability were set to 30, 1.6, and 0.03, respectively. AHGASS was terminated with the number of generation of 100 using the serial SGS. Note that the parameters for local search were set to zero to consider the effect s of crossover on the SGA. The comparisons of mean and standard deviation fitness values between two different crossover probabilities were shown in Figure 4-22 (a) a nd (b), respectively. It is notable that when no crossover occurred, th e SGA could not reach the optimal fitness value (38 days) with fluctuation of standard deviation values. Figure 4-22 (a) shows that the mean fitness values with the crossover probability of zero di d not converge to the single value, as opposed to that with the cr ossover probability of 0.5. On the other hand, the operation of one-point crossover worked well with consistent standard deviation

PAGE 131

115 values after the certain number of generati on (In this specific case, the number of generation is 25), as shown in Figure 4-22 (b). 4.3.6 Uniform Mutation Operator The goal of the uniform mutation is to exchange two neighboring genes without violating precedence relati onship in order to create an indi vidual that could not have been produced by the crossover operator. This ope rator can be ineffective because the genes in neighboring individual positions could be switched while still representing the same schedule, as described in Sec tion 4.3.2. Therefore, it is impor tant to note that a mutation on an individual does not necessarily change the related schedule because interchanging two activities that have the same start time in the job sequence is likely to change the individual, but not the related schedule. The uniform mutation operator was operated using the procedure, as shown in Figure 4-23. Uniform mutation procedure 1: For each individual from a generation 2: Generate a real random number 3: SWAP an activity after pivot point with activity at pivot point if a random number is equal to or less than mutation probability Figure 4-23. Procedure of uniform mutati on operator to create a new individual Individuals are selected for the uniform mutation based on user defined mutation probability] 1 , 0 [ mp, which provides an expected valu e for the number of mutations to occur per generation. For example, if a mu tation probability of 0.2 was defined and the population size is 50, then 10 of the individua ls would undergo mutati on. If a randomly selected number is less than or equal to the mutation probability, then the individual undergoes a mutation. Once the expected numbe r of mutations has been achieved, the uniform mutation operator terminates.

PAGE 132

116 Figure 4-24 shows the effect of uniform mutation operator on the SGA obtained from AHGASS based on the case example of 11 non-dummy activities with single resource. Two runs were conducted with th e mutation probabilities of zero and 0.03 to show the difference due to the operation of uniform mutation. The default set of the parameters as follows: the population si ze, transformation power, and crossover probability were set to 30, 1.6, and 0.5, resp ectively. AHGASS was terminated with the number of generation of 100 usi ng the serial SGS. Note th at the parameters for local search were set to zero to consider the effects of mutation on the SGA. The comparisons of mean and standard deviation fitness values between two different mutation probabilities were shown in Figure 4-24 (a) and (b), respectively. It is notable that when no mutation occurred, the SGA could reach the optimal fitness value (38 days) with the consistent standard devi ation values after th e certain number of generation (In this specific cas e, the number of generation is 15), as shown in Figure 4-24 (b). Comparison of mean fitness values by mutation probability, Mp35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 05101520253035404550556065707580859095No. of GenerationAverage Fitness (Project duration) Mp=0.0 Mp=0.03 (a) Figure 4-24. Effect of unif orm mutation operator on SGA with Mp=0.0 versus Mp=0.03: (a) comparison of mean fitness valu es and (b) comparison of standard deviation fitness values

PAGE 133

117 Comparison of standard deviation fitn ess values by mutation probability, Mp0 1 2 3 4 5 6 05101520253035404550556065707580859095No. of GenerationStandard Deviation Fitness Mp=0.0 Mp=0.03 (b) Figure 4-24. Continued. It seems likely to show the premature c onvergence, which is the disadvantage of the mutation operator. Figure 4-24 (a) shows that the mean fitness values with the mutation probability of 0.03 did converge to the single value late r than the mutation probability of zero, as opposed to the result of the operation of crossover operator. This result means that the uniform mutation works well in order to avoid the premature convergence, because when the mutation occurred in a certain degree, the solution space is more explored than when it did not occur. 4.4 Development of AHGASS Adaptive Hybrid Genetic Algorithm-bas ed Search Simulator (AHGASS) was developed on the basis of the procedures pr oposed in Sections 4.2 and 4.3. The objective of AHGASS is to test the feasibility of the proposed algorithm by conducting numerous experiments. In this section, the developm ent environment and architecture of AHGASS are depicted, while the verification and valid ation of AHGASS are described in Chapter 5.

PAGE 134

118 4.4.1 Development Environment AHGASS was developed on a Pentium 4 3066 MHz personal computer. It was programmed using the JAVA on the Windows XP operation system, and Microsoft® Office Excel 2003 was selected as the repres entation and analysis tool for the data obtained from AHGASS. JAVA was chosen as the programming language for AHGASS. It is a full featured object-oriented programming (OOP) language with J2SE Development Kit (JDK), including NetBeans IDE, which is a powerfu l integrated development environment for developing applications on the Java platform . Also, the JAVA language is used by many industry participants, and provides much flex ibility for application development. In AHGASS, all the procedures for the developm ent of a hybrid algorithm were defined in the JAVA, and the graphical user interface ( GUI) was created as described in Section 4.4.2. Microsoft® Office Excel 2003 is a power tool for analyzing a large amount of data and drawing a graph. The output files (. txt) produced by running AHGASS were exported into spreadsheet files (.xls). 4.4.2 Architecture of AHGASS The architecture of AHGASS consists of ten components as shown in Table 4-4. Table 4-4 shows the tasks and their operator s for a hybrid algorithm for the purpose of programming of each step shown in Figure 4-1 of Section 4.2.1. Table 4-4. Tasks and their ope rators for a hybrid algorithm Step Tasks Operator 0: Start Variable declaration Network data and various parameters input 1: Create an initial population randomly Random number generator 2: Calculate the fitness values Serial SGS, parallel SGS, and both SGSs 3: Check the local search need Co efficient of variation ratio 4: Perform the local search Random walk algorithm 5: Selection/Reproduction Elitist roulette wheel selection operator

PAGE 135

119 Table 4-4 Continued. Step Tasks Operator 6: Crossover/Recombination One-point crossover operator 7: Mutation Uniform mutation operator 8: Check the termination condition No. of ge neration, runtime stop, or No. unique schedules 9: End Get the output summary Figure 4-25 shows the pseudocode for the overall procedure of AHGASS. The pseudocodes for the individual procedure with in the overall procedure are referred to Appendix A. MAIN PROCEDURE 1: Start procedure 2: INPUT 3: BeginTime = currentTime 4: Perform Random Number Generation Procedure 5: CurrentGeneration = 0 6: While CurrentGeneration < NumGenerations AND _ currentTime BeginTime < AllowedTime 7: Calculate Fitness for All Individuals 8: Perform Local Search Procedure 9: Perform Elitist Roulette Wheel Selection Procedure 10: Current Generation = CurrentGeneration + 1 11: Perform One-point Crossover Procedure 12: Perform Uniform Mutation Procedure 13: EndTime = currentTime 14: TotalTime = EndTime BeginTime 15: OUTPUT 16: End procedure Figure 4-25. Pseudocode for the overall procedure of AHGASS

PAGE 136

120 Figure 4-26. Graphical user interface (GUI) of AHGASS implemented with JAVA Figure 4-26 shows the graphical user interface (GUI) of AHGASS implemented with JAVA. The parameters of AHGASS can be input in the GUI. They include population size ( pop_size ), transformation power ( TP ), crossover probability ( Cp), and mutation probability ( Mp) for global search. They also include variation threshold ( T ), local search probability ( Po), local search adaptive parameter ( ), number of local search iteration ( LS ), and local search proportion ( LSp). Three different types of termination conditi ons can be determined to stop the run of AHGASS. They include the number of gene rations, timeout, and the number of unique schedules. In addition, three SGSs can be set to examine which SGS performs well in AHGASS. They include the serial SGS, th e parallel SGS, and both SGSs if two SGSs

PAGE 137

121 are selected together. Two output options were available for the analysis of data. They include full output and summ ary output. The RUN FILE command button enables one to find and run the single problem file (.RCP) by windows explorer, while the RUN BATCH command button enables one to find the folder that contains numerous problem instances and then run those instances with the one click. In running numerous instances, the PAUSE command button enables one to stop for a while. AHGASS can only be closed only if the EXIT command button is selected. An example for structure of input data to run AHGASS was illustrated in Figure 427 (a) based on arrow diagram of the case exam ple used in Section 4.3.2. In order to run AHGASS successfully, the input data has to be the same structure as shown in Figure 427 (b). 133 811 00003234 430115 6610278 2401110 821016 4410111 1021019 16400112 8201111 6410112 6501113 10201113 00000 (a) Figure 4-27. Example of structur e of input data using the case example: (a) data structure and (b) explanation of data in (a)

PAGE 138

122 # of Jobs# of Resources # of R1 Limit# of R2 Limit# of R3 Limit Dur. of Act ID 1# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessorssuccessorssuccessors Dur. of Act ID 2# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 3# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessorssuccessors Dur. of Act ID 4# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 5# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 6# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 7# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 8# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 9# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 10# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 11# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 12# of R1 Req.# of R2 Req.# of R3 Req.# of successorssuccessors Dur. of Act ID 13# of R1 Req.# of R2 Req.# of R3 Req.# of successors (b) Figure 4-27. Continued. Two types of data were produced by running AHGASS: Output data and summary data. An example for structure of output data obtained from the run of AHGASS was illustrated in Figure 4-28 using the serial SGS based on the case example used in Section 4.3.2. Generation 0 Chromosome ID,Chromosome,,,,,,,,,,,,,,Fitness 1,1,2,4,10,3,8,5,7,12,9,6,11,13,0, 4,4,8,14,30,30,30, 40,40,40,40,40,S 2,1,3,8,2,5,7,6,9,4,10,12 ,11,13,0,6,22,22,22,22 ,24,30,30,32,42,42,42,S 3,1,2,5,6,3,8,7,9,11,4,10 ,12,13,0,4,12,16,16,26 ,26,34,40,40,40,42,42,S 4,1,4,3,7,9,2,8,10,5,6,12,11,13,0, 2,8,18,26,26,28,32, 32,32,42,42,42,S 5,1,3,8,4,10,2,12,5,7,9,6,11,13,0,6 ,22,22,22,22,32,32, 32,36,36,42,42,S 6,1,4,10,2,3,5,6,8,7,12,9,11,13,0,2, 8,8,14,14,18,30,30,40,40,42,42,S 7,1,4,2,3,10,7,8,12,5,9, 6,11,13,0,2,4,10,16,20 ,32,42,42,42,42,42,42,S 8,1,2,5,4,3,10,8,7,6,9,11,12,13,0, 4,12,12,12,16,28,28, 30,36,42,42,42,S 9,1,2,4,5,3,10,7,8,12,9,6,11,13,0, 4,4,12,12,16,20,32, 42,42,42,42,42,S 10,1,4,2,5,10,3,6,7,8,9,11,12,13,0,2 ,4,12,12,14,18,24, 34,34,40,44,44,S 11,1,3,7,2,5,4,8,6,9,10, 11,12,13,0,6,16,16,18, 18,28,28,30,34,40,44,44,S 12,1,3,8,7,4,10,2,12,9,5,6,11,13,0,6 ,22,22,22,24,26,34,34,34,38,44,44,S 13,1,4,2,3,10,5,7,6,8,12,9,11,13,0,2,4 ,10,16,16,20,20, 36,46,46,46,46,S 14,1,4,3,7,9,8,2,5,6,11, 10,12,13,0,2,8,18,26,26, 28,36,40,46,46,46,46,S 15,1,3,7,4,8,10,9,2,5,12,6,11,13,0,6 ,16,16,24,24,30,30,36,36,40,46,46,S 16,1,4,2,5,6,3,7,10,8,9, 11,12,13,0,2,4,12,16,16, 20,22,36,36,42,46,46,S 17,1,3,8,7,9,4,2,5,6,10, 12,11,13,0,6,22,22,24, 24,28,36,40,40,40,46,46,S Figure 4-28. Example of output data using the case example

PAGE 139

123 18,1,3,4,2,5,10,6,7,8,9,12,11,13,0,6 ,8,10,18,18,22,22, 36,36,46,46,46,S 19,1,4,2,5,6,10,3,7,8,12,9,11,13,0,2 ,4,12,16,16,22,32, 38,48,48,48,48,S 20,1,4,10,2,5,6,3,8,7,12,9,11,13,0,2 ,8,8,12,16,22,38,38,48,48,48,48,S 21,1,4,10,2,5,6,3,7,8,9,11,12,13,0,2 ,8,8,12,16,22,32,38,40,46,48,48,S 22,1,4,3,8,7,9,10,12,2,5,6,11,13,0,2 ,8,24,24,26,30,40, 40,40,42,48,48,S 23,1,2,4,5,6,10,3,8,12,7,9,11,13,0,4 ,4,12,16,16,22,38, 48,48,48,48,48,S 24,1,4,3,10,2,5,8,6,7,12,9,11,13,0,2 ,8,14,14,20,30,30, 34,40,42,48,48,S 25,1,2,5,6,4,10,3,7,9,11,8,12,13,0,4 ,12,16,16,16,22,32,40,46,46,48,48,S 26,1,3,4,2,10,8,12,5,6,7,9,11,13,0,6 ,8,10,14,26,36,36, 36,36,44,50,50,S 27,1,3,8,4,2,5,10,6,12,7,9,11,13,0,6 ,22,22,22,22,26,26,36,36,44,50,50,S 28,1,4,2,3,8,7,5,9,6,11, 10,12,13,0,2,4,10,26,26, 26,28,30,36,42,52,52,S 29,1,3,7,9,2,4,5,6,11,8, 10,12,13,0,6,16,24,24, 24,24,24,30,46,46,56,56,S 30,1,2,4,10,5,3,7,9,6,11,8,12,13,0,4,4,8,12,14,24,32,32,38,54,64,64,S Generation 0 Statistics: Maximum Fitness,=,64 Minimum Fitness,=,40 Average Fitness,=,46.4 Std. Dev.,=,4.8820572260698345 Sum of Fitness,=,1392 ************************************************************** Generation 1 Chromosome ID,Chromosome,,,,,,,,,,,,,,Fitness 1,1,2,4,10,3,8,5,7,12,9,6,11,13,0, 4,4,8,14,30,30,30, 40,40,40,40,40,S 2,1,4,10,2,3,8,7,9,5,6, 12,11,13,0,2,8,8,14,30, 30,32,32,34,40,40,40,S Figure 4-28. Continued. Output data included generation number , individual ID, and the activity list representation generated random ly for each individual. It also produced the fitness values of each gene in an individual and the overall fitness value for an individual was obtained from the fitness value in the last ge ne of an individual. It generated maximum fitness, minimum fitness, average fitness, standard deviation, and sum of fitness. It is important to note that the population size should be greater than one because if it is equal to one, standard de viation cannot be obtained due to the denominator of zero. The optimum fitness produced in the output data is the first one of the fitness value in the last generation, where the fitness va lues are put in ascending order. An example of the structure of summary da ta was also illustrated in Figure 4-29. Summary data also included the number of generations, average, minimum, maximum, standard deviation of the fitness values, and lo cal search need. In addition to these basic

PAGE 140

124 statistics, the percenta ge of local search, the percenta ge of local search improvement, optimum fitness, and total algorithm r untime in millisecond were also produced. The percentage of local search improveme nt was calculated by the number of times that individuals improved their fitness value during local sear ch divided by the number of times that individuals performed local search. On the other hand, the percentage of local search was calculated by the number of times that local search happened divided by the total number of individuals in a generation. GEN NUMBER,aveFitness,minFitness,ma xFitness,sumFitness,devFitness,LS? 0,46.4,40,64,1392,4.8820572260698345,NO 1,42.333333333333336,40,48,1270,2.2944210197982313,NO 2,42.333333333333336,40,48,1270,2.039833213826534,YES 3,41.666666666666664,40,48,1250,1.9710549133051491,YES 4,41.733333333333334,38,50,1252,2.2117762144910826,YES 5,41.53333333333333,38,46,1246,2.080008841714187,YES 6,41.733333333333334,38,50,1252,3.050532269364935,YES 7,40.733333333333334,38,44,1222,1.9988502442280593,NO 8,40.46666666666667,38,44,1214,1.9428619723691543,YES 9,40.0,38,44,1200,1.6609095970747993,YES 10,40.13333333333333,38,42,1204,1.3829836145670418,YES 11,40.333333333333336,38,42,1210,1.4932799662056895,YES 12,40.53333333333333,38,46,1216,1.6553639735893342,YES 13,40.86666666666667,38,46,1226,2.5014938065819425,YES 14,40.733333333333334,38,48,1222,2.377093753440044,YES 15,39.86666666666667,38,42,1196,1.3829836145670416,NO 16,39.333333333333336,38,42,1180,1.2129568697262458,YES 17,39.46666666666667,38,42,1184,1.2793676598989843,YES 18,39.733333333333334,38,42,1192,1.5521583045227214,YES 19,39.2,38,42,1176,1.6273524086899451,YES 20,39.13333333333333,38,42,1174,1.4558640835892125,YES 21,39.6,38,42,1188,1.6103115997457949,YES 22,40.333333333333336,38,46,1210,1.9710549133051491,YES 23,39.733333333333334,38,46,1192,1.8742048122232846,YES 24,39.666666666666664,38,46,1190,2.23349630559946,YES 25,39.6,38,46,1188,2.252967391900184,YES 26,39.46666666666667,38,46,1184,2.344962808812251,YES 27,39.4,38,48,1182,2.175094131930529,YES 28,38.8,38,42,1164,1.5402641958779175,NO 29,38.8,38,42,1164,1.627352408689945,YES 30,38.333333333333336,38,42,1150,1.0613372610104648,NO 31,38.53333333333333,38,42,1156,1.3829836145670416,YES 32,38.46666666666667,38,42,1154,1.2521246311585852,YES 33,38.333333333333336,38,42,1150,1.0613372610104648,YES 34,38.266666666666666,38,42,1148,1.0148325268098497,YES 35,38.53333333333333,38,42,1156,1.3829836145670416,YES 36,38.666666666666664,38,42,1160,1.5161960871578068,YES 37,38.4,38,42,1152,1.2205143065174586,YES 38,38.46666666666667,38,42,1154,1.2521246311585852,YES 39,38.4,38,42,1152,1.1017227888394956,YES Figure 4-29. Example of summary data using the case example

PAGE 141

125 40,38.2,38,42,1146,0.8051557998728976,NO 41,38.2,38,42,1146,0.8051557998728976,YES 42,38.13333333333333,38,42,1144,0.7302967433402214,YES 43,38.0,38,38,1140,0.0,NO 44,38.0,38,38,1140,0.0,NO 45,38.06666666666667,38,40,1142,0.3651483716701107,NO 46,38.13333333333333,38,42,1144,0.7302967433402214,YES 47,38.2,38,42,1146,0.8051557998728976,YES 48,38.2,38,42,1146,0.8051557998728976,YES 49,38.46666666666667,38,42,1154,1.2521246311585852,YES Percentage of Local Search:80.0 Percentage of Local Search Performance:7.012987012987013 Optimum Fitness: 38 Total algorithm runtime: 1063 ms. Num of Unique Schedules: 3119 Figure 4-29. Continued. 4.5 Methodology for Setting Input Parameter Values In order to obtain the best performance from the proposed hybrid genetic algorithm, it is necessary to determine the parame ter configurations based on a methodology proposed in this section since the population size and various parameters were the critical elements for optimal performance. The first pa rt of this section pr esents the setting of parameters for global search, and the re st describes that for local search. 4.5.1 Determination of Crossover and Mutation Probability As a starting point, crossover and mutati on probability were set with crossover probability cP = 0.5 ~ 0.9 by increasing 0.1, and mutation probabilityi mN P / 1 , where iN is the population size of the problem index i considered. Therefore, this research makes five combinations of a lternatives to set th e input values of crossover and mutation probability in order to test the proposed hybrid genetic algorithm, as shown in Table 4-5. Table 4-5. Trial combination for crossover and mutation probability Population size (iN) cP i mN P / 1 1N 0.5 0.6 0.7 0.8 0.9 1/ 1 N 2N 0.5 0.6 0.7 0.8 0.9 2/ 1 N 3N 0.5 0.6 0.7 0.8 0.9 3/ 1 N Â… Â… Â… Â… Â… Â… Â… iN 0.5 0.6 0.7 0.8 0.9 iN / 1

PAGE 142

126 4.5.2 Determination of the Population Size The determination of the population size is a critical element in the proposed hybrid genetic algorithm since the SGA starts to se arch with the initia l population size. As mentioned in Section 3.3.1, if too few indivi duals exist, the SGA has few opportunities to perform crossover and only a small part of se arch space is explored. In contrast, if too many individuals exist, then the SGA slow s down. Goldberg (1989) showed that an increase in population size is not useful b ecause it increases the length of the problem solving process. The size of the initial population can be se t at 30, the lowest acceptable population size as suggested in the pr eviously conducted studies (De Jong, 1975, Goldberg 1989, Li et al. 1999). On the other hand, several st udies showed the population size appropriate for their algorithms were 50 and 100, a nd others (Leu and Yang 1999, Hegazy and Ersahin 2001, Leu et al. 2001, Senouci and El din 2004, Zheng and Ng 2005, Zheng et al. 2005). Therefore, it is necessa ry to choose an initial population size at the reasonable compromise between diversity and pro cessing time through experimentation with different population size for th e best performance implementa tion of the hybrid genetic algorithm developed in this research. For the experiment of the determination of the initial population size for SGA, this research selected the 30 problem instances with 30, 60, and 120 activ ities available from the PSPLIB (Kolisch and Sprecher 1996), as described in Section 5.2.2, to investigate the behavior the average flatline st arting generation point as eith er population size or activity size increases. A flatline starting generation point is the first point out of the generation number specified as an input of AHGASS, in which the fitness values to the problem converges to a single number.

PAGE 143

127 For the run of AHGASS, the candidate population size was chosen at 30 (the guideline of Goldberg 1975), 50 (Leu a nd Yang 1999, Zheng and Ng 2005, Zheng et al. 2005), and 100 (Hegazy and Ersahin 2001, Leu et al. 2001, Senouci and Eldin 2004), respectively, to obtain the first flatline starting generation point that converges to a solution with the standard deviation of zero. The crossover probability was set to 0.5 and the mutation probability was set to 0.03 (1/30), 0.02 (1/50), and 0.01 (1/100) for J30, J60, and J120, respectively. All default values for local search parameters were set to zero to confirm the effect of the SGA only. Each set of instances has 30 problems with four renewable resources. As a result of the run by AHGASS, the aver age flatline starting ge neration point that converged to the single fitness value for each activity size by the population size and their fitness values are tabulated in Table 4-6. Table 4-6. Experimental results for dete rmination of the in itial population size J30 (Pc = 0.5, Pm = 0.03) J60 (Pc = 0.5, Pm = 0.02) J120 (Pc = 0.5, Pm = 0.01) Pop_size Ave. flatline gen. starting point. Optimal fitness values Ave. flatline gen. starting point. Optimal fitness values Ave. flatline gen. starting point. Optimal fitness values 30 24.87 52.43 33.53 71.93 31.90 106.57 50 30.27 52.37 42.50 72.20 46.57 104.47 100 48.10 52.20 50.07 72.03 65.27 102.73 It is evident that there is no significant difference among the means of the fitness values, even though the population size has been changed from 30 through 50 to 100. However, it is also notable that the average flatline starting generation number increases as either the population size or the activit y size increases, as shown in Figure 4-30. It was not surprising that it took more tim e to obtain the flatline generation starting point that converges to the single fitness valu e as the activity size increases, as shown in Figure 4-31. It was also found that the population size fo r the SGA does not depend on

PAGE 144

128 the number of activities. It can be set to 30 as a baseline for the SGA for the computation efficiency. On the other ha nd, it can also be set to 50 and 100 since the SGA starts to search with the initial population size to ha ve more possibility to reach the region of optimal solution space. Comparison of average flatline generation number by population size24.87 30.27 48.10 33.53 42.50 50.07 31.90 46.57 65.27 0.00 10.00 20.00 30.00 40.00 50.00 60.00 70.00 3050100Population sizeAverage flatline generation numbe r J30 J60 J120 Figure 4-30. Comparison of average fla tline generation number by population size Comparison of average flatline generation number by activity group34.41 42.03 47.91 52.33 72.06 104.59 0.00 20.00 40.00 60.00 80.00 100.00 120.00 J30J60J120Activity groupAverage flatline generation numbe r Ave. flatline generation number Ave. optimal fitness values Linear (Ave. flatline generation number) Poly. (Ave. optimal fitness values) Figure 4-31. Comparison of average fl atline generation number by activity group

PAGE 145

129 For the purpose of the determination of the population size of the developed hybrid genetic algorithm, it is exp ected that the population size for AHGASS is likely to be smaller than the SGA because the standard devi ation of the individuals by application of local search may be decreased due to the ch aracteristic of its premature convergence of local search. This resear ch denoted the population size iN for AHGASS be the function of the population size for the SGA and a new parameter that governs the reduction effect by application of local sear ch, as shown in Eq. 4-6. , , _ f N size Popi (Eq. 4-6) iN (Eq. 4-7) where i = the problem index iN = the population size for AHGASS algorithm = the population size for the SGA = a user-specified parameter governing the reduction by application of local search ) 1 0 ( For example, the population size for AHGASS can be set to 90 if that for the SGA was set to 100 with the reduction parameter of 90% by application of local search. However, it is notable that if the small number of populati on size is used, Eq. 4-7 might not necessarily be used. 4.5.3 Determination of Variation Threshold A variation threshold is an indicator when local search is invoked in AHGASS. As indicated in Eq. 4-4, if the co efficient variation ratio (CVR) is greater than a variation threshold, local search occurs in AHGASS. To determine the appropriate value of a variation threshold, this research examined th e behavior of the CVR with three different

PAGE 146

130 SGSs according to various crossover proba bilities by running AHGASS algorithm using the case example of 11 non-dummy ac tivities with single resource. The variation threshold values were obtai ned in Table 4-7 using the method that was described in Section 4.3.3. The default se tting for this experiment was set to as follows: the population size ( pop_size ) was 30 to save computation effort, transformation power ( TP ) was 1.6 fixed, and mutation probability ( Mp) was set to one over the number of population size, which is 0.03. The variation threshold ( T ) was set to 0.75, which was proposed at the work of Espinoza et al. ( 2005). The local search probability and the adaptive parameter, the maximum number of lo cal search iterations, and local search proportion were set to 0.1, 0.1, 5, and 0.8, respec tively. The termination condition for the test was set to the number of generation of 100. Table 4-7. Results for variation threshold values according to crossover probability Variation Threshold (T) Test No. Crossover probability Serial (S) Parallel (P) Both (B) 1 0.0 0.44 0.65 0.73 2 0.1 0.38 0.65 0.73 3 0.2 0.44 0.52 0.44 4 0.3 0.65 0.66 0.38 5 0.4 0.53 0.53 0.44 6 0.5 0.33 0.73 0.53 7 0.6 0.53 0.66 0.53 8 0.7 0.53 0.53 0.53 9 0.8 0.53 0.66 0.73 10 0.9 0.73 0.73 0.33 Average 0.51 0.63 0.54 Maximum 0.73 0.73 0.73 r * 0.54 0.20 -0.32 * r = Pearson product moment correlation coefficient to examine the relationship between the crossover probability and three SGSs

PAGE 147

131 Figure 4-32 shows the example of dete rmination of the maximum variation threshold value. The maximum variation thre shold in this figure was chosen at the coefficient of variation (CV) of 0.73 that corresponded to the coefficient of variation ratio (CVR) of one. Its value of 0.73 is similar to the defau lt value of 0.75 in AHGASS. Pearson product moment correlation coeffici ents were also computed to examine the relationship between crossover probability and vari ation threshold values. As shown in Table 4-7, it was concluded that there exists no significant correlation since the coefficients of 0.54, 0.20, and -0.32 for the seri al SGS, the parallel SGS, and both SGSs, respectively, were not high enough. Global search and local search threshold effect using parallel SGS (Cp=0.9)0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00 1.10 1.20 1.30 0102030405060708090100No. of GenerationCoefficient of variation (CV)0.00 0.20 0.40 0.60 0.80 1.00 1.20 1.40 1.60 1.80CV Ratio (CVR) CV Threshold CVR Figure 4-32. Example of determination of the maximum variation threshold value

PAGE 148

132 Figure 4-33 shows the result of the varia tion threshold values based on serial, parallel, and both SGSs by various crossover probabilities. No si gnificant difference among three SGSs was also observed according to different crossover probabilities. Therefore, this research deci ded to choose the maximum valu e of the variation threshold of 0.75, as used in the work of Espinoza et al. (2005), because all three SGSs generated the same maximum number. Variation threshold on serial, parallel, and both SGS0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 00.10.20.30.40.50.60.70.80.9Crossover probabilityThreshold value Variation threshold on serial SGS Variation threshold on parallel SGS Variation threshold on both SGS Figure 4-33. Comparison of variation threshol ds based on the serial , parallel, and both SGSs 4.5.4 Determination of Parameters for Local Search Operator For the analysis of the performance of lo cal search in AHGASS with respect to the different parameters, this research examin ed the behavior of AHGASS using the case example of 11 non-dummy activities with a single resource. Fo r the symbols used in this section, refer to the GUI of AHGASS in Section 4.4.2. Throughout this section, the overall parame ters for AHGASS were set as follows: The population size ( pop_size ) was set to 30 to save comput ation effort. Transformation

PAGE 149

133 power ( TP ) was 1.6 as selected from Eq. 4-2 in Section 4.3.2. Mutation probability ( Mp) was set to one over the number of population size, which is 0.03. The variation threshold ( T ) was set to 0.75, which was chosen in Sect ion 4.5.3. The termination condition for the test was set to the number of generations of 100. The performance of AHGASS was measured using the percentage of local search, the percentage of local sear ch improvement, and the CPU time in milliseconds. As described in Section 4.4.2, the percentage of local search is the measurement of how many individuals have been applied by local s earch, while the percentage of local search improvement is the measurement of how ma ny individuals experienced the improvement of their fitness values among th e individuals that were perf ormed by local search operator in a generation. 4.5.4.1 Effect of the adaptive parameter ( ) on the performance of AHGASS The first parameter to study is the adaptive parameter ( ) of the local search probability (Refer to Eq. 4-5). For the analysis of effect of the adaptive parameter on the performance of AHGASS, the parameters were set to as follows: The local search probability ( Po) the maximum number of local search iterations ( LS ), and local search proportion ( LSp) were set to 0.1, 5, and 0.8, respec tively. Crossover probability ( Cp) was set to 0.7. The adaptive parameter for lo cal search probability ranging from 0.0 to 0.9 was tested in AHGASS. Table 4-8 shows the result of the performance of AHG ASS according to various adaptive parameter values of local search pr obabilities. The project duration (makespan) of the case example with the single res ource was found at 38 days for all of the combinations of the input pa rameter values considered.

PAGE 150

134 Table 4-8. Result of the performance for AHGASS by the adaptive parameter values Test ID Serial (S), Parallel (P), Both (B) Epsilon of LS Probability ( ) Makespan (Days) CPU-Time (ms.) % of LS % of LS improvement 1 S 0.0 38 1328 30 3.78 2 S 0.1 38 1610 63 2.82 3 S 0.2 38 1203 38 6.60 4 S 0.3 38 1297 56 4.96 5 S 0.4 38 1359 73 6.62 6 S 0.5 38 1094 46 5.36 7 S 0.6 38 1188 74 8.19 8 S 0.7 38 1110 67 7.94 9 S 0.8 38 1109 69 4.39 10 S 0.9 38 953 44 9.17 Avg. 1225 56 5.98 1 P 0.0 38 2000 56 1.66 2 P 0.1 38 1328 27 4.76 3 P 0.2 38 1875 68 2.46 4 P 0.3 38 1734 72 2.16 5 P 0.4 38 1468 60 4.97 6 P 0.5 38 1422 64 6.86 7 P 0.6 38 1453 85 3.10 8 P 0.7 38 1329 77 4.85 9 P 0.8 38 1265 72 3.66 10 P 0.9 38 1078 39 0.00 Avg. 1495 62 3.45 1 B 0.0 38 2796 33 1.06 2 B 0.1 38 4172 79 4.28 3 B 0.2 38 2516 38 5.18 4 B 0.3 38 2906 54 4.33 5 B 0.4 38 2531 53 3.53 6 B 0.5 38 2485 59 5.94 7 B 0.6 38 2390 65 3.66 8 B 0.7 38 2125 45 3.40 9 B 0.8 38 2390 87 2.37 10 B 0.9 38 1984 40 2.91 Avg. 2630 55 3.67

PAGE 151

135 Figure 4-34 shows the comparison of the per centage of local search, the percentage of local search improvement, and CPU-runtime according to the adaptive parameter values ranging from 0.0 to 0.9 by increase of 0.1. Comparison of the percentage of local search0 10 20 30 40 50 60 70 80 90 100 0.00.10.20.30.40.50.60.70.80.9 A daptive paramter, Percentage of local search (%) Serial SGS Parallel SGS Serial and Parallel SGS (a) Comparison of the percentage of local search improvement0 1 2 3 4 5 6 7 8 9 10 0.00.10.20.30.40.50.60.70.80.9 A daptive paramter, Percentage of local search improvement (%) Serial SGS Parallel SGS Serial and Parallel SGS (b) Figure 4-34. Comparison of the results for th e three SGSs by the adaptive parameter: (a) the percentage of local search, (b ) the percentage of local search improvement, and (c) CPU-runtime

PAGE 152

136 Comparison of the CPU runtime0 500 1000 1500 2000 2500 3000 3500 4000 4500 0.00.10.20.30.40.50.60.70.80.9 A daptive paramter, Total algorithm runtime (millisecond) Serial SGS Parallel SGS Serial and Parallel SGS (c) Figure 4-34. Continued. The comparison of the percentage of local search among three SGSs was shown in Figure 4-34 (a). It was found that the local search occurred ov erall at ranges from 27% to 87% in 100 generations. The average percen tages of local search are 56%, 62%, and 55% for the serial SGS, the parallel SGS, a nd both SGSs, respectively. It was also found that no significant difference exists among th ree SGSs with rega rd to the adaptive parameter values. The comparison of the pe rcentage of local search improvement among three SGSs was also shown in Figure 4-34 (b). It was found that the percentage of local search improvement increases as the adaptiv e parameter value increases in the serial SGS, while the other two do not show th e pattern similar to the serial SGS. The average percentages of local se arch improvements are 5.98%, 3.45%, 3.67% for the serial SGS, the parallel SGS, and bot h SGSs, respectively. It is notable that the local search improvement in the serial SGS holds a prominent position among three SGSs. The comparison of the CPU time obtained from the run of 100 generations in

PAGE 153

137 AHGASS among SGSs was shown in Figure 4-34 (c). As expecte d, it took a long period of time to run AHGASS when applying it to bo th SGSs than when applying it to either the serial SGS or the parallel SGS. Because of this, it seems likely that the results will show that the CPU runtime decreases as the adaptive parameter increases. The probability of local search is adapte d using the parameter called an adaptive parameter. From this experiment, the best pe rformance was attained at 0.5 for all of three SGSs, such as the serial SGS, the paralle l SGS, and both SGSs with 100 generations. Performance of local search improvement in the range of =0.2 to 0.7 is also quite good. A value of =1 indicates that only one local sear ch iteration occurs because the local search probability is equal to zero, as formulated in Eq. 4-5. 4.5.4.2 Effect of local search probability (Po) on the perfor mance of AHGASS The second parameter to study is the local search probability. Fo r the analysis of effect of local search probability ( Po) on the performance of AHGASS, the parameters were set to as follows: The point that s howed the maximum local search improvement ranging from 0.0 to 0.9 was selected as the i nput values of the ad aptive parameter value for a SGS. They were 0.7, 0.5, and 0.5, for the serial, the parallel, and both SGSs, respectively. The maximum number of local search iterations ( LS ), crossover probability ( Cp), and local search proportion ( LSp) were set to 5, 0.7, and 0.8, respectively. The local search probability ( Po) ranging from 0.0 to 0.9 was tested in AHGASS. Table 4-9 shows the result of the performance of AHGASS accordi ng to various local search probabilities. The project duration (makespan) of the case example with the single resource was found at 38 days for all of the combinations of the input parameter values considered. Figure 4-35 shows the comparison of the per centage of local search, the percentage of local search improvement, and CPU-runtime according to the local search probabilities

PAGE 154

138 ranging from 0.1 to 0.9 by increase of 0.1. Th e comparison of the percentage of local search among three SGSs was shown in Figure 4-35 (a). It was found that local search occurred overall at ranges from 29% to 94% in 100 generations. The average percentages of local search ar e 49%, 53%, and 55% for the se rial SGS, the parallel SGS, and both SGSs, respectively. It is notable th at although the percenta ge of local search occurrence starts to hold a prominent positi on at the local search probability of 0.6, no significant difference exists among three SG Ss with regard to the local search probabilities. Table 4-9. Result of the performance for AHGASS by local search probability Test ID Serial (S), Parallel (P), Both (B) Local search probability (Po) Makespan (Days) CPU-Time (ms.) % of LS % of LS improvement 1 S 0.1 38 1079 60 1.49 2 S 0.2 38 1406 57 5.08 3 S 0.3 38 1234 33 3.02 4 S 0.4 38 1453 36 4.74 5 S 0.5 38 2110 57 3.38 6 S 0.6 38 2344 51 4.23 7 S 0.7 38 2296 44 2.00 8 S 0.8 38 2391 41 3.38 9 S 0.9 38 3531 66 3.66 Avg. 1983 49 3.44 1 P 0.1 38 1609 94 7.41 2 P 0.2 38 1734 58 3.22 3 P 0.3 38 1984 47 3.08 4 P 0.4 38 2328 46 3.34 5 P 0.5 38 2062 29 1.55 6 P 0.6 38 3828 61 2.58 7 P 0.7 38 3109 40 2.69 8 P 0.8 38 3985 52 1.36 9 P 0.9 38 4156 47 0.36 Avg. 2755 53 2.84 1 B 0.1 38 2407 48 6.55 2 B 0.2 38 3359 64 4.05 3 B 0.3 38 3391 43 3.51 4 B 0.4 38 3968 40 2.56 5 B 0.5 38 4328 39 2.11 6 B 0.6 38 9672 93 2.47 7 B 0.7 38 5859 42 2.79 8 B 0.8 38 10750 76 2.61 9 B 0.9 38 8453 52 1.17 Avg. 5799 55 3.09

PAGE 155

139 The comparison of the percentage of lo cal search improvement among three SGSs was also shown in Figure 4-35 (b). It was found that the percentage of local search improvement decreases as the local search proba bilities increases in all three of the SGSs. The average percentages of local search improvements are 3.44%, 2.84%, 3.09% for the serial SGS, the parallel SGS, and both SGSs , respectively. The comparison of the CPU time obtained from the run of 100 generati ons in AHGASS among SGSs was shown in Figure 4-35 (c). Comparison of the percentage of local search0 10 20 30 40 50 60 70 80 90 100 0.10.20.30.40.50.60.70.80.9Local search ratePercentage of local search (% ) Serial SGS Parallel SGS Serial and Parallel SGS (a) Comparison of the percentage of local search performance0 1 2 3 4 5 6 7 8 9 10 0.10.20.30.40.50.60.70.80.9Local search ratePercentage of local search performance (% ) Serial SGS Parallel SGS Serial and Parallel SGS (b) Figure 4-35. Comparison of the results for th e three SGSs by local search probabilities: (a) the percentage of local search, (b) the percentage of local search improvement, and (c) CPU-runtime

PAGE 156

140 Comparison of the CPU runtime0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 0.10.20.30.40.50.60.70.80.9Local search rateTotal algorithm runtime (millisecond) Serial SGS Parallel SGS Serial and Parallel SGS (c) Figure 4-35. Continued. As expected, it took much time to run AHGASS when applying it to both SGSs than when applying it to either the serial SGS or the parallel SGS. It seems likely to show that the CPU runtime increases as the lo cal search probability increases, as opposed to the case of the adaptive parameter. From this experiment, the best performance was all attained at the local search probability of 0.2 for all three of the SGSs, such as the serial SGS, the parallel SGS, and both SGSs with 100 generations. The performance of local search improvement in the range of =0.2 to 0.8 is also quite good. 4.5.4.3 Effect of number of loca l search iterations (LS) on the performance of AHGASS The last parameter to study in this section is the number of local search iterations. For the analysis of the effect of the number of local search itera tions on the performance of AHGASS, the parameters were set to as follows: The adaptive parameter ( ) values for a SGS were set to 0.7, 0.5, and 0.5, for the seri al, the parallel, and both SGS, respectively, as used in the effect of local search probability ( Po). Local search probability ( Po) was

PAGE 157

141 set to 0.2, which was selected because of th e computational efficiency and high local search improvement as shown in Figure 433 (b) and (c). Crossover probability ( Cp) was set to 0.7. The number of local search iteration ( LS ) ranging from 1 to 10 was tested in AHGASS. Table 4-10 shows the result of th e performance of AH GASS according to various number of local search iterations ( LS ). The project duration (makespan) of the case example with the single resource was found at 38 days for all of the combinations of the input parameter values considered. Figure 4-36 shows the comparison of the per centage of local search, the percentage of local search improvement, and CPU-runtim e according to the number of local search iterations ranging from 1 to 10 by increase of 1. The compar ison of the percentage of local search among three SGSs was shown in Figure 4-36 (a). It was found that local search occurred overall at ranges from 29% to 86% in 100 generations. The average percentages of local search ar e 51%, 60%, and 63% for the se rial SGS, the parallel SGS, and both SGSs, respectively. Li ke the case of the adaptive parameter, it was found that no significant difference exists among the three SGSs with regard to the local search iterations. Table 4-10. Result of the performance for AHGASS by local search iterations Test ID Serial (S), Parallel (P), Both (B) No. of LS iteration (LS) Makespan (Days) CPU-Time (ms.) % of LS % of LS improvement 1 S 1 38 1078 46 8.08 2 S 2 38 1578 86 6.67 3 S 3 38 1125 29 4.88 4 S 4 40 1265 51 2.56 5 S 5 38 1375 60 4.24 6 S 6 38 1078 30 4.08 7 S 7 38 1640 83 3.00 8 S 8 38 1094 33 4.15 9 S 9 38 1203 42 3.53 10 S 10 38 1281 52 3.63 Avg. 1272 51 4.48

PAGE 158

142 Table 4-10. Continued. Test ID Serial (S), Parallel (P), Both (B) No. of LS iteration (LS) Makespan (Days) CPU-Time (ms.) % of LS % of LS improvement 1 P 1 38 1344 59 3.55 2 P 2 38 1703 66 3.10 3 P 3 38 1844 64 3.37 4 P 4 38 1453 34 3.77 5 P 5 38 2078 78 2.67 6 P 6 38 1875 61 2.83 7 P 7 38 1781 55 3.82 8 P 8 38 2141 78 2.95 9 P 9 38 1766 53 3.39 10 P 10 38 1750 54 1.35 Avg. 1774 60 3.08 1 B 1 38 2672 74 3.53 2 B 2 38 3125 68 6.90 3 B 3 38 3578 81 4.89 4 B 4 38 2859 44 6.03 5 B 5 38 3829 69 3.23 6 B 6 38 3984 78 3.18 7 B 7 38 3282 51 1.81 8 B 8 38 3125 49 4.18 9 B 9 38 3375 62 2.77 10 B 10 38 3234 51 4.93 Avg. 3306 63 4.15 The comparison of the percentage of lo cal search improvement among the three SGSs was also shown in Figure 4-36 (b). It was also found that the percentage of local search improvement decreases as the number of local search iterations increases in all of the three SGSs. The average percentage s of local search improvements are 4.48%, 3.08%, 4.15% for the serial SGS, the paralle l SGS, and both SGSs, respectively. The comparison of the CPU time obtained from the run of 100 generations in AHGASS among SGSs was shown in Figure 4-36 (c). As expected, it took much time to run AHGASS when applying it to both SGSs than when applying it to either the serial SGS or the parallel SGS. From this experiment, the constant performance was attained at the number of local search iterati ons of at least 5 for all of th ree SGSs, such as the serial

PAGE 159

143 SGS, the parallel SGS, and both SGSs with 100 generations. Th is result shows the important feature of the adaptive local se arch approach for improving performance. Comparison of the percentage of local search0 10 20 30 40 50 60 70 80 90 100 12345678910Number of local search iterationPercentage of local search (%) Serial SGS Parallel SGS Serial and Parallel SGS (a) Comparison of the percentage of local search performance0 1 2 3 4 5 6 7 8 9 10 12345678910Number of local search iterationPercentage of local search performance (%) Serial SGS Parallel SGS Serial and Parallel SGS (b) Figure 4-36. Comparison of the results for th e three SGSs by local search iteration: (a) the percentage of local search, (b ) the percentage of local search improvement, and (c) CPU-runtime

PAGE 160

144 Comparison of the CPU runtime0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 12345678910Number of local search iterationTotal algorithm runtim e (m illisecond) Serial SGS Parallel SGS Serial and Parallel SGS (c) Figure 4-36. Continued. 4.5.4.4 Effect of crossover probability on the performance of local search for AHGASS The experiment is to study the effect of crossover probability on the performance of local search for AHGASS. Although the cros sover probability is not a parameter for local search, it is meaningful to check whether the performance of local search is affected by various crossover probabilities. For the an alysis of effect of crossover probability on the performance of local search for AHGASS, the parameters were set as follows: The local search probability ( Po), the adaptive parameter ( ) for local search probability ( Po), the maximum number of local search iterations ( LS ), local search proportion ( LSp) were set to 0.1, 0.1, 5, and 0.8, respectively. The crossover probability ( Cp) ranging from 0.0 to 0.9 was tested in AHGASS. Table 4-11 shows the result of the performance of AHGASS by application of local search acco rding to various cro ssover probabilities. Except for the first combination at both pa rallel SGS and both SGSs where the crossover did not occur, the project duration (makes pan) of the case example with the single resource was found at 38 days for all of the combinations of the input parameter values considered.

PAGE 161

145 Table 4-11. Result of the local search perf ormance for AHGASS by crossover probability Test ID Serial (S), Parallel (P), Both (B) Crossover probability (Cp) Makespan (Days) CPU-Time (ms.) % of LS % of LS improvement 1 S 0.0 38.00 562.00 34.00 4.97 2 S 0.1 38.00 1031.00 59.00 1.74 3 S 0.2 38.00 1047.00 46.00 5.07 4 S 0.3 38.00 1359.00 62.00 2.50 5 S 0.4 38.00 1625.00 74.00 3.35 6 S 0.5 38.00 1922.00 85.00 4.61 7 S 0.6 38.00 1719.00 68.00 1.99 8 S 0.7 38.00 1875.00 80.00 2.92 9 S 0.8 38.00 1438.00 41.00 3.27 10 S 0.9 38.00 1500.00 44.00 5.39 Avg. 1408 59 3.58 1 P 0.0 40.00 453.00 27.00 3.86 2 P 0.1 38.00 1329.00 64.00 2.03 3 P 0.2 38.00 1313.00 53.00 3.03 4 P 0.3 38.00 1516.00 62.00 1.80 5 P 0.4 38.00 1937.00 73.00 2.83 6 P 0.5 38.00 1531.00 47.00 2.71 7 P 0.6 38.00 2250.00 81.00 2.18 8 P 0.7 38.00 1750.00 48.00 3.78 9 P 0.8 38.00 1734.00 51.00 3.09 10 P 0.9 38.00 1734.00 47.00 3.17 Avg. 1555 55 2.85 1 B 0.0 42.00 907.00 24.00 3.47 2 B 0.1 38.00 2828.00 85.00 2.58 3 B 0.2 38.00 2750.00 59.00 2.24 4 B 0.3 38.00 3297.00 75.00 1.40 5 B 0.4 38.00 2484.00 38.00 3.04 6 B 0.5 38.00 2485.00 35.00 1.64 7 B 0.6 38.00 3328.00 60.00 5.89 8 B 0.7 38.00 3047.00 46.00 3.02 9 B 0.8 38.00 3078.00 45.00 4.45 10 B 0.9 38.00 3359.00 49.00 4.47 Avg. 2756 52 3.22 Figure 4-37 shows the comparison of the per centage of local search, the percentage of local search improvement, and CPU-runtime according to the crossover probabilities ranging from 0.0 to 0.9 by increase of 0.1. Th e comparison of the percentage of local search among three SGSs by various crossove r probabilities was shown in Figure 4-37 (a). It was found that the local search occurr ed overall at ranges from 24% to 85% in 100 generations. The average per centages of local search ar e 59%, 55%, and 52% for the serial SGS, the parallel SGS, and both SGSs , respectively. Like the cases of both the

PAGE 162

146 adaptive parameter and local search iterati on, it was found that no significant difference exists among the three SGSs with rega rd to the local search iterations. The comparison of the percentage of lo cal search improvement among the three SGSs by various crossover probabilities was sh own in Figure 4-37 (b). It was found that the percentage of local sear ch improvement does not much change as the crossover probability increases in all of the three SGSs . The average percentages of local search improvements are 3.58%, 2.85%, 3.22% for the se rial SGS, the parallel SGS, and both SGSs, respectively. The comparison of th e CPU time obtained from the run of 100 generations in AHGASS among SGSs was shown in Figure 4-37 (c). As expected, it took much time to run AHGASS when applying it to both the SGSs than when applying it to either the serial SGS or the parallel SGS. It seems likely that the CPU runtime increases as the crossover probabi lity increases, as similar to the local search probability, but opposed to the case of the adaptive parameter. Comparison of the percentage of local search0 10 20 30 40 50 60 70 80 90 100 0.00.10.20.30.40.50.60.70.80.9Crossover probabilityPercentage of local search (%) Serial SGS Parallel SGS Serial and Parallel SGS (a) Figure 4-37. Comparison of the results for the three SGSs by crossover probability: (a) the percentage of local search, (b ) the percentage of local search improvement, and (c) CPU-runtime

PAGE 163

147 Comparison of the percentage of local search performance0 1 2 3 4 5 6 7 8 9 10 0.00.10.20.30.40.50.60.70.80.9Crossover probabilityPercentage of local search improvement (%) Serial SGS Parallel SGS Serial and Parallel SGS (b) Comparison of the CPU runtime0 500 1000 1500 2000 2500 3000 3500 4000 0.00.10.20.30.40.50.60.70.80.9Crossover probabilityTotal algorithm runtime (milli second) Serial SGS Parallel SGS Serial and Parallel SGS (c) Figure 4-37. Continued. From this experiment, the constant perf ormance was attained regardless of the crossover probability for all of the three SGSs, such as the serial SGS, the parallel SGS, and both SGSs with 100 generations. Therefor e, it can be concluded from this finding that the crossover probability does not aff ect the local search improvement, but does improve the detection of a near -optimal solution to a problem.

PAGE 164

148 4.6 Summary This chapter described the hybrid strate gy and development of the hybrid genetic algorithm of AHGASS to search an optimal or near-optimal solution to the resource constrained project sche duling problem (RCPSP). 4.6.1 Summary of the Adaptive Hybrid Genetic Algorithm Based on the hybrid modeling strategy, the AHGASS algorithm was developed by combining the simple genetic algorithm (SGA) for global search with the random walk algorithm (RWA) for local search in order to search an optimal or near-optimal solution to the RCPS problem within the reasonable computation time. AHGASS was implemented with JAVA programming language and tested with case example of 11 nondummy activities to examine the beha viors of various input parameters. The major features of the AHGASS algorith m can be summarized as follows: 1. An individual for the solution to RCPSP was represented by the activity list representation. In other words, the perm utation based encoding was used and well suited for solving the problem. 2. A random number generator was developed to decide the order of the activities at random while meeting the precedence relationships. It can be used when generating random numbers for similar prob lems, such as resource leveling or time-cost trade-off analysis. 3. Both the serial and parallel schedule generation schemes (SGSs) were described in detail to obtain the schedul e with the project duration. 4. Random walk algorithm for local search was successfully combined with the simple genetic algorithm for global se arch by linking natural evaluation called Baldwinian evolution (Baldwin 1896). 5. Elitist roulette wheel selection operat or was developed by combining elitist selection with roulette wheel selection to se lect parent individual s in order to apply one-point crossover and uniform mutation operators. AHGASS developed based on the procedures of a hybrid approach was implemented with JAVA and has the following features:

PAGE 165

149 1. AHGASS can be evaluated with various i nput parameters. It is possible to compare the simple genetic algorithm with AHGASS by setting the local search parameters to zero. 2. AHGASS has an option to choose which SG S will be used to produce the fitness value of an individual in a generation by sele cting one of three alternatives, such as (1) the serial SGS, (2) the parallel SGS, and (3) both the serial and the parallel. 3. AHGASS also has an option to choose whic h termination conditions will be used by selecting one of three termination condi tions, such as (1) the maximum number of generations, (2) CPU runtime to st op of AHGASS algorithm, and (3) the maximum number of the unique schedules. 4. AHGASS can solve a set of RCPSP problems with single and/or multiple resources at a time with the function of batch f ile. Batch file command button enables AHGASS run multiple problems at a time only if the input data structure is just like a structure shown in Figure 4-27. By using AHGASS, various resource constr ained project scheduling problems can be solved within the reasonable computati on time. The solution obtained from AHGASS can be considered an optimal and/or n ear optimal solution because AHGASS searches solution space globally and lo cally at the same time. 4.6.2 Summary of Input Parameters for an Experiment Methodology for setting input parameter values was proposed in this chapter because the population size and various parameters were the critical elements for optimal performance. The setting of parameters for global search can be summarized as follows: 1. Crossover probability can be set to the ranges of 0.5 to 0.9 by increase of 0.1 in order to obtain the best parameter configuration for AHGASS by conducting an experimental design. It is important to note that since there is no general guideline to determine the crossover probability, each algorithm developed for the RCPSP needs to find the best configura tion to produce high quality solutions. 2. Mutation probability can be set to the ranges of 0.03 to 0.01 by increase of 0.01 in order to obtain the best parameter configuration for AHGASS by conducting an experimental design. Those values were determined by calculating one over the number of population size in order to ma intain same portion for the operation of mutation. It is important to note that since there is no general guideline to determine the mutation probability, each algorithm developed for the RCPSP needs to find the best configuration to produce high quality solutions. 3. Population size can be set to 30, 50, and 100, even though the population size of 30 is an acceptable size as described previously in order to obtain the best parameter configuration for AHGASS by conducting an experimental design. The population

PAGE 166

150 size is the critical element in the hybri d genetic algorithm developed in this research because it is the starting point of the developed hybrid genetic algorithm search. It is also important to note th at since there is no general guideline to determine the population size, each algor ithm developed for the RCPSP needs to find the best size to produce high quality solutions. The setting of parameters for local search can be summarized as follows: 1. The variation threshold was chosen to be 0.75 as an indicator of when local search occurs. 2. The adaptive parameter value was chosen to be 0.5 for all three SGSs as a default value because the best performance was attained at these values. 3. The local search probability value was c hosen to be 0.2 for all three SGSs as a default value because the best pe rformance was all attained at 0.2. 4. The number of local search iteration was chos en to be at least 5 for all three SGSs as a default value because the local s earch improvement showed continuously constant results, starting from the number of iteration of 5. 5. The local search proportion was fixed to be 0.8 as a default value, which means that the best 80% of the individuals in a popul ation is performed by local search in order to save computation time. It is important to note that the population size should be greater than one because of the calculation of standard deviation. Also, the maximum project duration in AHGASS source code was set to 1000 days initially. If the project duration is expected to take more than 1000 days, one should change the num ber to fit the expect ed project duration.

PAGE 167

151 CHAPTER 5 VERIFICATION AN D VALIDATION 5.1 Introduction This chapter presents the verification and validation of the developed hybrid genetic algorithm called Adaptive Hybrid Ge netic Algorithm-based Search Simulator (AHGASS). Several criteria ar e established to test the performance of AHGASS over Simple Genetic Algorithm (SGA) and to validate the competitiveness of AHGASS against the existing heuristics. Section 5.2 describes these criteria and two validation approaches. Based on the criter ia, validations with both standa rd sets of project instances and two real construction proj ects are implemented in Sect ions 5.3 and 5.4, respectively. Finally, the results of the implementation and summary are described in Section 5.5. 5.2 Criteria and Approach for Verification and Validation 5.2.1 Criteria The criteria for verificati on and validation of AHGASS were established to test the performance of AHGASS in the project pla nning and scheduling domain. This research validated AHGASS by fulfilling the criteria w ith the implementation of two approaches. The criteria include the following questions: 1. Can AHGASS generate accurately and cons istently a near optimal and/or an optimal solution to the RCPSP? 2. Can AHGASS show the good performance over SGA? 3. Are the computational results obtained from AHGASS competitive to those from the existing algorithms? 4. Does AHGASS require long computati on time to generate a schedule?

PAGE 168

152 5. Can AHGASS be general enough to apply any type of construction project? 6. Can AGHASS solve a large size problem with single resource, for example, more than J120 (120 activities)? 5.2.2 Approach This research dealt with two different approaches to verify and validate AHGASS based on criteria, as previously mentioned. The first approach was to show whether AHGASS accurately and consistently generates a near optimal and/or an optimal solution to the RCPSP and to show whether AHGASS outperforms SGA using the sets of standard instances. The standard sets of project instances ge nerated by the problem generator ProGen were employed (Kolisch et al. 1995, Kolisch and Sprecher 1996). They were available in the Project Sc heduling Problem LIBrary PSPLIB, on the WWW at http://www.bwl.uni-kiel.de/Prod/psplib/. For the more detailed information, this research is referred to the work of Kolisch and Sprecher (1996). In addition, the results of th e computational tests with the best configuration of input parameters for AHGASS were compared with those of the previously published algorithms for the RCPSP in order to show whether AHGASS is competitive with the existing algorithms. The standard sets of project instances were also used in this approach because they were widely used by many researchers for their comparison studies of the RCPSP. It is important to not e that the results obta ined from the existing algorithms can be cited by only observing th e stopping criteria accura tely when testing AHGASS, as described in Section 5.3.1. In addition, the computational CPU runtime was measured to show whether AHGASS requi res long computation time to generate a schedule.

PAGE 169

153 The second approach was to solve two cons truction project schedul es that include a commercial warehouse project and a highway c onstruction project. It was particularly meaningful to solve the highway construc tion project because the project was more realistic and was a larger sized problem (160 activities ) than the standard sets of project instances obtained from the PSPLIB (up to 120 activities). 5.3 Model Validation I: PSPLIB Instance Sets 5.3.1 Design Experiments This research conducted design experiments to test the performance of AHGASS. Three instance sets obtained from the PSPLIB we re used in this experiment. The projects in these instance sets consist of 30, 60, and 120 activities, resp ectively. Each set has been generated using a full factorial design of pa rameters, which determine the characteristics of the resource and precedence constraints (K olisch et al. 1995, Kolisch and Sprecher 1996). For each problem size, a problem instance has four renewable resources. A set of 30-activity (J30), 60-activity (J60), and 120-act ivity (J120) problem instances consists of 480, 480, and 600 instances, respectively. There are 1560 instances in total. In other words, the sets J30 and J60 consist of 480 problem instances with four renewable resource types, respectively. The set J120 consists of 600 problem instances with four renewable resource types. The instances obtained from the PSPLIB were systematically generated by varying three parameters, which are network complex ity, resource factor, and resource strength (Kolisch et al. 1995, Kolisch and Sprecher 1996). The network complexity reflects the average number of immediate successors of an activity. The resource factor is a measure of the average number of resources that ar e necessary to complete an activity. For example, the resource factor equal to zero indicates a problem without resource

PAGE 170

154 requirements and therefore without resource re strictions, while the resource factor equal to one leads to a problem where each activity requires each resource. The resource strength describes the scarcene ss of the resource capacities. It is also known as a capacity factor. For example, the capacity factor equa l to zero indicates that the capacity of a resource type is equal to the maximum resour ce requirement of this resource type in order to guarantee feasibility, while the capacity fa ctor equal to one lead s to a problem where no resource conflict occurs. These three parame ters have a big impact on the difficulty of a project instance (Brucker et al. 1998). For more detailed information, this research is referred to the works of Kolisch et al . (1995) and Kolisch and Sprecher (1996). 5.3.2 Performance of AHGASS over SGA This section addresses th e overall performance of AHGA SS relative to the SGA by the means of finding the best fitness value, which can be considered a near-optimal solution to the RCPSP. Both AHGASS and SGA developed in this research were tested to show the performance of AHGASS over SGA. The main difference between two algorithms is whether the algorithm includes loca l search or not. The standard sets of project instances obtained from the PSPLIB we re used for this experiment. The input parameter values for global search and local search were set as fo llows: Initial population size, transformation power, crossover probabi lity, mutation probability were set to 100, 1.6, 0.5, and 0.03, respectively, for SGA. The n, variation threshold, local search probability, adaptive parameter, maximum numb er of local search iterations, and local search proportion were set to 0.75, 0.2, 0.5, 5, and 0.8, respectively, for AHGASS. SGA was tested with J30, J60, and J120 by setting al l of the input paramete rs for local search to zero. Then, AHGASS was tested with J30, J60, and J120 by setting all of input parameters for global and local search to the numbers mentioned above.

PAGE 171

155 In order to obtain the com putational results, the termination condition was set to the maximum number of generations of 100. Ta ble 5-1 shows the improvement of AHGASS over SGA by comparing the average fitness a nd the average CPU r untime to process 480, 480, and 600 instances for J30, J60, and J120, respectively. Table 5-1. Improvement results for the perf ormance of AHGASS over SGA, Termination = 100 generations PSPLIB instances Average optimal/LB from PSPLIB SGA AHGASS Improvement (%) Ave_Fitness J30 (480) 58.99 59.66 59.36 0.51 J60 (480) 72.54 82.36 81.69 0.82 J120 (600) 94.95 136.28 133.90 1.75 Ave_%_Dev. 58.99 1.14 0.62 45.37 72.54 13.53 12.60 6.86 94.95 43.53 41.02 5.77 Ave_CPU runtime (sec.) J30 (480) 2.84 7.18 -153.12 J60 (480) 6.45 12.74 -97.45 J120 (600) 4.99 94.80 -1798.53 It was shown that AHGASS found better aver age fitness values than SGA. The results obtained from both algorithms were be tter than those of PSPLIB, except for J30. It is evident that both AHGASS and SGA canno t surpass the average fitness value from the PSPLIB because the result was currently known as an optimal solution for the RCPSP in previously conducted resear ch. It is also clear that AHGASS improved approximately 0.51%, 0.82%, and 1.75% for J30, J60, and J120, re spectively, relative to SGA. It was shown that the improvement increases as the problem size increases, proving AHGASS to be an appropriate algorithm to apply to a large size problem. It was remarkable to note that AHGASS improved 45.37%, 6.86%, and 5.77% for J30, J60, and J120 in terms of average percentage deviation, as shown in Table 5-1. Figure 5-1 shows the example of the best fitness value in the population during the runs for both AHGASS and SGA.

PAGE 172

156 Comparison of convergence for AHGASS versus SGA40 42 44 46 48 50 52 54 56 58 60 0369121518212427303336394245485154576063666972757881848790939699No of generationAverage fitness value (Day SGA AHGASS The best fitness obtained from AHGASS at Gen = 46 with standard deviation of zero The best fitness obtained from SGA at Gen = 57 with standard deviation of zero Figure 5-1. Performance for AHGASS over SGA In this figure, open circles represent the moment when the best solution, which can be considered an optimal and/or near op timal, was found for the first time. AHGASS found the best fitness value for the first time after 46 generations while SGA needs 57 generations. AHGASS identified the best solu tion more slowly than SGA in terms of computation time due to the operation of local search, but its local search capabilities enabled it to converge to the correct solution faster once it was identified. However, it was observed that AHGASS requi red more time to obtain the fitness value than SGA. The results were expect ed because AHGASS included the operation of local search, which searches in depth near th e solution space that was explored by SGA. As shown in Table 5-1, AHGASS required more time to solve a problem than SGA did. AHGASS did not show the improvement of the computation time over SGA, in which

PAGE 173

157 the results show -153.12%, -97.45%, and -1798.5 3 for J30, J60, and J120, respectively. It is notable that AHGASS took a long co mputation time for J120, for example, 4.99 seconds per problem for SGA versus 94.80 s econds for AHGASS. On the other hand, AHGASS showed acceptable computation times for J30 and J60. 5.3.3 Comparison with Other Heuristics In this section, this research compared AHGASS to state-of-the -art algorithms. The number of uniquely generated schedules was adopted as the stopping criteria as described in Section 4.3.2 in order to fo rm the basis for the comparison. This measurement is reasonable because of the assumption that the computation effort for constructing one schedule is similar in most heur istics. It is independent of the computer platform so AHGASS can be tested with the original implementation and the best configuration of various input parameters. It is also i ndependent of compilers and implementation skills so that heuristic con cepts can be evaluated rather than program codes. This stopping criterion ha s a few drawbacks: it cannot be applied to all heuristics and different heuristics may re quire different computation tim es to generate one schedule (Kolisch and Hartmann 2005). Regardless of these drawbacks, the limitation of the number of schedules is th e best criterion available for such a broad comparison. Therefore, this research selected 1,000 and 5,000 unique schedules as stopping criteria in order to make use of the benchm ark results presented in Kolisch and Hartmann (2005). It is very important to note that if one makes use of the results in their works, a schedule generated from AHGASS should be a unique schedule. As mentioned in Section 4.3.2, a unique schedule means that it is possible for several individuals to have the same fitness value ( makespan , the term used in many RCPSP studies), but their starting time should be totally different. It is necessary to set the number of a unique

PAGE 174

158 schedule as a termination condition, but it is not necessary to set the number of generations as a terminati on condition in the input pa rameter value of AHGASS. In this experiment, the average devi ation method was used to compare the performance of AHGASS to that of the exis ting algorithms. The average deviation was the precision of measurement. The average deviations for the existing algorithms were known and they are relatively ea sy to calculate even though st andard deviation is a more accurate method of finding the error margin. Th e average deviation is an estimate of how far off the observed values are from the averag e value with the assumption that the results computed from AHGASS are accurate. As show n in Eq. 5-1, the average deviation can be calculated by finding the average of the perc entage of the deviat ions, subtracting the average values from the observed values. nn i i i i 1100 ) ( (Eq. 5-1) where = the average percentage deviation of a problem instance i i = 1, 2, Â….., n i = the optimal value for 30-activity instance sets = the lower bound for 60and 12-activity instance sets i = the observed value obtained from AHGASS N = the number of the problem instance All optimal solutions for the set with 30 non-dummy activities are known, while for some of the instances with 60 and 120 non-du mmy activities, only he uristic solutions are known. The fifteen numbers of combinations we re designed based on various input parameter values for global search of AHGASS in order to show the overall performances, which measure the average percentage deviation and the average CPU

PAGE 175

159 runtime. All of input parame ter values of local search we re set as follows: Variation threshold, local search probability, adaptive pa rameter, maximum number of local search iterations, and local search proportion we re set to 0.75, 0.2, 0.5, 20, and 0.2, respectively, for AHGASS. The population size varies 30, 50, and 100 for each schedule of 1000 and 5000. The crossover probability varies ranging from 0.5 to 0.9 by the increase of 0.1, which produces five different combinations per each population size. Transformation power and mutation probability were set to 1.6 and 0.03, respectively, for the comparison purpose. Then, AHGASS was tested with J 30, J60, and J120 using the serial SGS as a function of the uniquely generate schedules 1000 and 5000, respectively. Tables 5-2, 5-3, and 5-4 show the comput ation results obtained from AHGASS for J30, J60, and J120 instances, respectively, as a function of the uniquely generated schedules. Figures 5-2, 5-3, a nd 5-4 were drawn using data in Tables 5-2, 5-3, and 5-4, respectively, in order to show the overall pattern of the av erage deviation obtained from AHGASS. Table 5-2. Results obtained from AH GASS for J30 (480 instances), 1000 and 5000 schedules Parameters for Combinations Experimental results Test No. Unique Schedules Population size Cp Average fitness values Average CPU runtime (sec.) Average deviation (%) from PSPLIB (ave_opt: 58.99) 1 1000 30 0.5 60.08 0.52 1.84 2 1000 30 0.6 60.01 0.54 1.74 3 1000 30 0.7 60.01 0.44 1.73 4 1000 30 0.8 60.02 0.49 1.74 5 1000 30 0.9 60.09 0.46 1.86 6 1000 50 0.5 60.05 0.55 1.79 7 1000 50 0.6 60.06 0.49 1.81 8 1000 50 0.7 59.97 0.46 1.66 9 1000 50 0.8 60.05 0.46 1.79 10 1000 50 0.9 60.08 0.48 1.85

PAGE 176

160 Table 5-2. Continued. Parameters for Combinations Experimental results Test No. Unique Schedules Population size Cp Average fitness values Average CPU runtime (sec.) Average deviation (%) from PSPLIB (ave_opt: 58.99) 11 1000 100 0.5 60.10 0.52 1.88 12 1000 100 0.6 60.06 0.52 1.81 13 1000 100 0.7 60.04 0.51 1.77 14 1000 100 0.8 60.06 0.50 1.82 15 1000 100 0.9 60.02 0.53 1.75 16 5000 30 0.5 59.77 2.41 1.32 17 5000 30 0.6 59.76 1.91 1.31 18 5000 30 0.7 59.80 1.82 1.37 19 5000 30 0.8 59.74 1.87 1.27 20 5000 30 0.9 59.72 1.84 1.24 21 5000 50 0.5 59.55 2.67 0.95 22 5000 50 0.6 59.63 1.92 1.08 23 5000 50 0.7 59.59 1.85 1.02 24 5000 50 0.8 59.63 1.93 1.08 25 5000 50 0.9 59.59 1.86 1.02 26 5000 100 0.5 59.55 2.08 0.95 27 5000 100 0.6 59.50 2.13 0.87 28 5000 100 0.7 59.56 2.07 0.96 29 5000 100 0.8 59.55 1.88 0.95 30 5000 100 0.9 59.53 2.05 0.91 Overall performance of AHGASS obtained from 30 combinations for J3058 59 59 60 60 61 61 0123456789101112131415161718192021222324252627282930Test No. (30 combinations)Average fitness values (Day ) 0.00 0.50 1.00 1.50 2.00 2.50 3.00Average CPU runtime (sec.) ave_fitness from AHGASS ave_optimal fitness from the PSPLIB ave_CPU runtime for 480 instances (sec.) Figure 5-2. Comparison of overall pe rformance of AHGASS for J30

PAGE 177

161 Overall performance of AHGASS obtained from 30 combinations for J6070 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 051015202530Test No. (30 combinations)Average fitness values (Day)0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00Average CPU runtime (sec.) ave_fitness from AHGASS ave_LowerBound from the PSPLIB ave_CPU runtime for 480 instances (sec.) Figure 5-3. Comparison of overall pe rformance of AHGASS for J60 Table 5-3. Results obtained from AH GASS for J60 (480 instances), 1000 and 5000 schedules Parameters for Combinations Experimental results Test No. Unique Schedules Population size Cp Average fitness values Average CPU runtime (sec.) Average deviation (%) from PSPLIB (ave_LB: 72.54) 1 1000 30 0.5 83.70 0.56 15.38 2 1000 30 0.6 83.70 0.65 15.37 3 1000 30 0.7 83.70 0.55 15.38 4 1000 30 0.8 83.61 0.61 15.25 5 1000 30 0.9 83.64 0.51 15.29 6 1000 50 0.5 83.86 0.63 15.60 7 1000 50 0.6 83.67 0.58 15.33 8 1000 50 0.7 83.82 0.61 15.54 9 1000 50 0.8 83.85 0.63 15.59 10 1000 50 0.9 83.78 0.56 15.49

PAGE 178

162 Table 5-3. Continued. Parameters for Combinations Experimental results Test No. Unique Schedules Population size Cp Average fitness values Average CPU runtime (sec.) Average deviation (%) from PSPLIB (ave_LB: 72.54) 11 1000 100 0.5 83.98 0.62 15.77 12 1000 100 0.6 84.02 0.60 15.82 13 1000 100 0.7 83.97 0.65 15.74 14 1000 100 0.8 84.01 0.59 15.81 15 1000 100 0.9 84.00 0.64 15.79 16 5000 30 0.5 82.78 2.26 14.11 17 5000 30 0.6 82.77 2.28 14.09 18 5000 30 0.7 82.69 2.13 13.98 19 5000 30 0.8 82.71 2.60 14.01 20 5000 30 0.9 82.69 2.60 13.99 21 5000 50 0.5 82.52 2.90 13.75 22 5000 50 0.6 82.50 2.41 13.72 23 5000 50 0.7 82.51 2.16 13.74 24 5000 50 0.8 82.51 2.78 13.74 25 5000 50 0.9 82.54 2.16 13.78 26 5000 100 0.5 82.61 2.69 13.87 27 5000 100 0.6 82.62 2.31 13.89 28 5000 100 0.7 82.59 2.68 13.85 29 5000 100 0.8 82.60 3.60 13.86 30 5000 100 0.9 82.67 2.51 13.96 Table 5-4. Results obtained from AHGA SS for J120 (600 instances), 1000 and 5000 schedules Parameters for Combinations Experimental results Test No. Unique Schedules Population size Cp Average fitness values Average CPU runtime (sec.) Average deviation (%) from PSPLIB (ave_LB: 94.95) 1 1000 30 0.5 141.65 0.87 49.18 2 1000 30 0.6 141.49 0.78 49.02 3 1000 30 0.7 141.52 0.76 49.04 4 1000 30 0.8 141.39 0.72 48.91 5 1000 30 0.9 141.20 0.74 48.71 6 1000 50 0.5 142.02 0.89 49.57 7 1000 50 0.6 141.96 0.79 49.51 8 1000 50 0.7 141.90 0.82 49.44 9 1000 50 0.8 141.86 0.88 49.40 10 1000 50 0.9 141.73 0.81 49.26

PAGE 179

163 Table 5-4. Continued. Parameters for Combinations Experimental results Test No. Unique Schedules Population size Cp Average fitness values Average CPU runtime (sec.) Average deviation (%) from PSPLIB (ave_LB: 94.95) 11 1000 100 0.5 142.50 1.05 50.08 12 1000 100 0.6 142.57 1.09 50.15 13 1000 100 0.7 142.43 0.97 50.00 14 1000 100 0.8 142.37 0.97 49.95 15 1000 100 0.9 142.36 0.95 49.93 16 5000 30 0.5 138.30 2.97 45.65 17 5000 30 0.6 138.19 3.13 45.54 18 5000 30 0.7 138.01 3.03 45.35 19 5000 30 0.8 138.00 3.18 45.34 20 5000 30 0.9 137.79 3.05 45.11 21 5000 50 0.5 137.93 3.03 45.27 22 5000 50 0.6 137.85 4.67 45.18 23 5000 50 0.7 137.73 4.15 45.06 24 5000 50 0.8 137.59 3.27 44.91 25 5000 50 0.9 137.45 4.00 44.76 26 5000 100 0.5 138.32 4.86 45.67 27 5000 100 0.6 138.29 4.47 45.64 28 5000 100 0.7 138.13 3.54 45.47 29 5000 100 0.8 138.25 5.48 45.60 30 5000 100 0.9 138.27 4.65 45.63 Overall performance of AHGASS obtained from 30 combinations for J12090 95 100 105 110 115 120 125 130 135 140 145 150 051015202530Test No. (30 combinations)Average fitness values (Day ) 0.00 1.00 2.00 3.00 4.00 5.00 6.00Average CPU runtim e (sec.) ave_fitness from AHGASS ave_LowerBound from the PSPLIB ave_CPU runtime for 600 instances (sec.) Figure 5-4. Comparison of overall pe rformance of AHGASS for J120

PAGE 180

164 AHGASS produces consistent and correct solutions for the RCPSP with a little difference among the average fitness values re gardless of the combination considered for J30, J60, and J120 instances. AHGASS seem s likely that it produced comparable solutions for all three problem sets because the location of average deviation obtained from AHGASS takes a middle position among othe r heuristics, as shown in Tables 5-5, 5-6, and 5-7. Additional analysis was conducted to examine the behaviors of AHGASS according to either the population size or the crossover probability. Figure 5-5 shows the behaviors of average fitness values accordi ng to the different populat ion size using data for J30 in Table 5-2. It was shown that AHGASS produces consistent solutions for the RCPSP with a little difference among the aver age fitness values regardless of the combination considered. However, it was obs erved that as the popul ation size increases, AHGASS is likely to obtain better solu tions as shown in Figure 5-5 (a). Comparison of average deviation according to three different population size for J300.00 0.50 1.00 1.50 2.00 0102030405060708090100110Population sizeAverage deviation from the optimal solution (%) Pop_size = 30 Pop_size = 50 Pop_size = 100 (a) Figure 5-5. Comparison of average fitness values for J30: (a) according to three different population sizes and (b) according to fi ve different crossover probabilities

PAGE 181

165 Comparison of average de viation according to five different crossover probabilities for J300.00 0.50 1.00 1.50 2.00 0.40.50.60.70.80.91Crossover probabilityAverage deviation from the optimal solution (%) Cp = 0.5 Cp = 0.6 Cp = 0.7 Cp = 0.8 Cp = 0.9 (b) Figure 5-5. Continued. Figure 5-5 (b) also shows the behaviors of average fitness values according to the different crossover probability. It was obs erved that as the crossover probability increases, AHGASS is not likely to show sim ilar patterns as shown in Figure 5-5 (a). Therefore, it can be concluded that the selec tion of the population size is a more critical element than that of the cro ssover probability for AHGASS. Figure 5-6 shows the behavior s of the average CPU runtim e in seconds per instance according to the different population size using data for J30 in Table 5-2. It was shown that AHGASS requires a similar computation time to obtain a fitness value for a RCPSP problem with little difference among the average CPU time in seconds regardless of the population size, as shown in Figure 5-6 (a). Figure 5-5 (b) also shows the behaviors of the average CPU runtime in seconds per inst ance according to the different crossover probability using data in Table 5-2. It wa s observed that as the crossover probability increases, AHGASS is likely to require less computation time to obtain a fitness value for

PAGE 182

166 a RCPSP problem, as shown in Figure 5-6 (b). Therefore, it can be concluded that the selection of the crossover probability with a high valu e is likely to decrease the computation time of AHGASS. Comparison of average CPU runtime for J30 according to three different population size0.00 0.50 1.00 1.50 2.00 2.50 3.00 0102030405060708090100110Population sizeAverage CPU runtime per instance (sec.) Pop_size = 30 Pop_size = 50 Pop_size = 100 (a) Comparison of average CPU runtime for J30 according to five different crossover probabilities0.00 0.50 1.00 1.50 2.00 2.50 3.00 0.40.50.60.70.80.91Crossover probabilityAverage CPU runtime per instance (sec.) Cp = 0.5 Cp = 0.6 Cp = 0.7 Cp = 0.8 Cp = 0.9 (b) Figure 5-6. Comparison of averag e CPU runtime for J30: (a) according to three different population sizes and (b) according to fi ve different crossover probabilities

PAGE 183

167 Figure 5-7 shows the behaviors of average f itness values accordi ng to the different population size using data for J60 in Table 5-3. It was shown that AHGASS produces consistent solutions for the RCPSP with little difference among the average fitness values regardless of the combination considered. However, it was observed that as the population size increases, AHGASS is not likely to obtain better solutions as shown in Figure 5-7 (a). Figure 5-7 (b) also shows the behaviors of aver age fitness values according to the different crossover probability. It was observed that as the crossover probability increases, AHGASS is not likely to show similar patterns as shown in Figure 5-7 (a). Therefore, it can be concluded like J30 instances that the selection of the population size is a more critical element th an that of the crossover probability for AHGASS. Comparison of average deviation for J60 according to three different population size0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00 0102030405060708090100110Population sizeAverage deviation from the lower bound (%) Pop_size = 30 Pop_size = 50 Pop_size = 100 (a) Figure 5-7. Comparison of average fitness values for J60: (a) according to three different population sizes and (b) according to fi ve different crossover probabilities

PAGE 184

168 Comparison of average deviation for J60 according to five different crossover probabilities0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 0.40.50.60.70.80.91Crossover probabilityAverage deviation from the lower bound (%) Cp = 0.5 Cp = 0.6 Cp = 0.7 Cp = 0.8 Cp = 0.9 (b) Figure 5-7. Continued. Figure 5-8 shows the behavior s of the average CPU runtim e in seconds per instance according to the different population size using data for J60 in Table 5-3. It was shown that AHGASS requires similar computation tim e to obtain a fitness value for a RCPSP problem as the population size increases, as show n in Figure 5-8 (a). Figure 5-9 (b) also shows the behaviors of the average CPU runtim e in seconds per instance according to the different crossover probability using data in Table 5-3. It was observed that as the crossover probability increases, AHGASS is likel y to require similar computation time to obtain a fitness value for a RCPSP problem re gardless of the cross over probability, as shown in Figure 5-9 (b).

PAGE 185

169 Comparison of average CPU runtime for J60 according to three different population sizes0.00 1.00 2.00 3.00 4.00 5.00 0102030405060708090100110Population sizeAverage CPU runtime per instance (sec.) Pop_size = 30 Pop_size = 50 Pop_size = 100 (a) Comparison of average CPU runtime for J60 according to five different crossover probabilities0.00 1.00 2.00 3.00 4.00 5.00 0.40.50.60.70.80.91Crossover probabilityAverage CPU runtime per instance (sec.) Cp = 0.5 Cp = 0.6 Cp = 0.7 Cp = 0.8 Cp = 0.9 (b) Figure 5-8. Comparison of averag e CPU runtime for J60: (a) according to three different population sizes and (b) according to fi ve different crossover probabilities

PAGE 186

170 Figure 5-9 shows the behaviors of average f itness values accordi ng to the different population size using data for J120 in Tabl e 5-4. It was shown that AHGASS produces consistent solutions for the RCPSP with little difference among the average fitness values regardless of the combination considered. However, it was observed that as the population size increases, AHGASS is not likely to obtain better solutions as shown in Figure 5-9 (a). Figure 5-9 (b) also shows the behaviors of aver age fitness values according to the different crossover probability. It was observed that as the crossover probability increases, AHGASS is not likely to show similar patterns as shown in Figure 5-9 (a). Therefore, it can be concluded that the selection of the population size is a more critical element than that of the cross over probability for AHGASS, as similar to J60 instances. Comparison of average deviation for J120 according to three different population sizes0.00 5.00 10.00 15.00 20.00 25.00 30.00 0102030405060708090100110Population sizeAverage deviation from the lower bound (%) Pop_size = 30 Pop_size = 50 Pop_size = 100 (a) Figure 5-9. Comparison of average fitness values for J120: (a) according to three different population sizes and (b) acco rding to five different crossover probabilities

PAGE 187

171 Comparison of average deviation for J120 according to five di fferent crossover probabilities0.00 5.00 10.00 15.00 20.00 25.00 30.00 0.40.50.60.70.80.91Crossover probabilityAverage deviation from the lower bound (%) Cp = 0.5 Cp = 0.6 Cp = 0.7 Cp = 0.8 Cp = 0.9 (b) Figure 5-9. Continued. Figure 5-10 shows the behaviors of the average CPU runtime in seconds per instance according to the differe nt population size using data for J120 in Table 5-4. It was shown that AHGASS requires a long computa tion time to obtain a fitness value for a RCPSP problem as the population size increases, as shown in Figure 5-10 (a). Figure 510 (b) also shows the behavi ors of the average CPU run time in seconds per instance according to the different crossover probability using data in Table 5-4. It was observed that as the crossover probability incr eases, AHGASS is likely to require similar computation time to obtain a fitness value for a RCPSP problem regardless of the crossover probability, as shown in Figure 5-10 (b).

PAGE 188

172 Comparison of average CPU runtime for J120 according to three different population sizes0.00 1.00 2.00 3.00 4.00 5.00 6.00 0102030405060708090100110Population sizeAverage CPU runtime per instance (sec.) Pop_size = 30 Pop_size = 50 Pop_size = 100 (a) Comparison of average CPU runtime fo r J120 according to five different crossover probabilities0.00 1.00 2.00 3.00 4.00 5.00 6.00 0.40.50.60.70.80.91Crossover probabilityAverage CPU runtime per instance (sec.) Cp = 0.5 Cp = 0.6 Cp = 0.7 Cp = 0.8 Cp = 0.9 (b) Figure 5-10. Comparison of average CPU runtime for J120: (a) according to three different population sizes and (b) acco rding to five different crossover probabilities

PAGE 189

173 Tables 5-5, 5-6, and 5-7 show the computati onal results of the te sted heuristics for the instance sets J30, J60, and J120, respectivel y. These tables were tabulated based on the result of Kolisch and Hartmann (2005). E ach heuristic was described by the name of the algorithm employed in the first column in each table. The SGS and the reference were inserted in the second and third column, respectively. As previously mentioned, the results were given in terms of average de viation from the optimal solution for J30 instances, while the results were given in te rms of average deviation from the well known lower bound reported in the literatu re for J60 and J120 instances. Table 5-5. Average deviation (%) from optimal makespan – ProGen set J30 max. # of schedules Algorithm SGS Reference 1,000 5,000 50,000 GA, TS-path relinking both Kochetov, Stolyar (2003) 0.10 0.04 0.00 GA-hybrid, FBI serial Valls et al. (2003) 0.27 0.06 0.02 GA-forw.-backward serial Alcaraz, Maroto (2001) 0.33 0.12 GA-FBI serial Valls et al. (2005) 0.34 0.20 0.02 sampling-LFT, FBI both Tormas, Lova (2003) 0.25 0.13 0.05 TS-activity list serial Nonobe, Ibaraki (2002) 0.46 0.16 0.05 sampling-LFT, FBI both Tormas, Lova (2001) 0.30 0.16 0.07 GA-self-adapting both Hartmann (2002) 0.38 0.22 0.08 GA-activity list serial Hartmann (1998) 0.54 0.25 0.08 sampling-LFT,FBI both Tormas, Lova (2003) 0.30 0.17 0.09 sampling-random, FBI serial Valls et al. (2005) 0.46 0.28 0.11 SA-activity list serial Bouleimen, Lecocq (2003) 0.38 0.23 GA-late join serial Coelho, Tavares (2003) 0.74 0.33 0.16 sampling-adaptive both Schirmer (2000) 0.65 0.44 TS-schedule scheme related Baar et al. (1998) 0.86 0.44 sampling-adaptive both Kolisch, Drexl (1996) 0.74 0.52 GA-random key serial Hartmann (1998) 1.03 0.56 0.23sampling-LFT, =1 serial Kolisch (1996b) 0.83 0.53 0.27 sampling-global serial Coelho, Tavares (2003) 0.81 0.54 0.28 Hybrid GA-RWA both This research 1.32 0.82 sampling-random serial Kolisch (1995) 1.44 1.00 0.51 sampling-LFT, =3 serial Kolisch (1996b) 1.05 0.78 0.56 GA-priority rule serial Hartmann (1998) 1.38 1.12 0.88 sampling-WCS parallel Kolisch (1996a, 1996b) 1.40 1.28 sampling-LFT, =1 parallel Kolisch (1996b) 1.40 1.29 1.13 sampling-random parallel Kolisch (1995) 1.77 1.48 1.22 GA-problem space mod. Par. Leon , Ramamoorthy (1995) 2.08 1.59

PAGE 190

174 Table 5-6. Average deviation (%) from heuristic solutions – ProGen set J60 max. # of schedules Algorithm SGS Reference 1,000 5,000 50,000 GA-hybrid, FBI serial Valls et al. (2003) 11.56 11.10 10.73 GA, TS-path relinking both Kochetov, Stolyar (2003) 11.71 11.17 10.74 GA-FBI serial Valls et al. (2005) 12.21 11.27 10.74 GA-self-adapting both Hartmann (2002) 12.21 11.70 11.21 GA-activity list serial Hartmann (1998) 12.68 11.89 11.23 sampling-LFT, FBI both Tormos, Lova (2003) 11.88 11.62 11.36 sampling-LFT, FBI both Tormos, Lova (2003) 12.14 11.82 11.47 GA-forw.-backward seri al Alcaraz, Maroto ( 2001) 12.57 11.86 sampling-LFT, FBI both Tormos, Lova (2001) 12.18 11.87 11.54 SA-activity list serial Bouleimen, Lecocq (2003) 12.75 11.90 TS-activity list serial Nonobe, Ibaraki (2002) 12.97 12.18 11.58 sampling-random, FBI serial Valls et al. (2005) 12.73 12.35 11.94 sampling-adaptive both Schirmer (2000) 12.94 12.58 GA-late join serial Coelho, Tavares (2003) 13.28 12.63 11.94 Hybrid GA-RWA both This research 14.11 13.06 GA-random key serial Hartmann (1998) 14.68 13.32 12.25 GA-priority rule serial Hartmann (1998) 13.30 12.74 12.26 sampling-adaptive both Kolisch, Drexl (1996) 13.51 13.06 sampling-WCS parallel Kolisch (1996a, 1996b) 13.66 13.21 sampling-global serial Coelho, Tavares (2003) 13.80 13.31 12.83 sampling-LFT, =3 serial Kolisch (1996b) 13.75 13.34 12.84 samplingLFT, =1 parallel Kolisch (1996b) 13.59 13.23 12.85 TS-schedule scheme related Baar et al. (1998) 13.80 13.48 GA-problem space mod. Par. Leon, Ramamoorthy (1995) 14.33 13.49 samplingLFT, =1 serial Kolisch (1996b) 13.96 13.53 12.97 sampling-random parallel Kolisch (1995) 14.89 14.30 13.66 sampling-random serial Kolisch (1995) 15.94 15.17 14.22

PAGE 191

175 Table 5-7. Average deviation (%) from heuristic solutions – ProGen set J120 max. # of schedules Algorithm SGS Reference 1,000 5,000 50,000 GA-hybrid, FBI serial Valls et al. (2003) 34.07 32.54 31.24 GA-FBI serial Valls et al. (2005) 35.39 33.24 31.58 GA, TS-path relinking both Kochetov, Stolyar (2003) 34.74 33.36 32.06 population-based-FBI serial Valls et al. (2005) 35.18 34.02 32.81 GA-self-adapting both Hartmann (2002) 37.19 35.39 33.21 sampling-LFT, FBI both Tormos, Lova (2003) 35.01 34.41 33.71 ant system serial Merkle et al. (2002) 35.43 GA-activity list serial Hartmann (1998) 39.37 36.74 34.03 sampling-LFT, FBI both Tormos, Lova (2003) 36.24 35.56 34.77 sampling-LFT, FBI both Tormos, Lova (2001) 36.49 35.81 35.01 GA-forw.-backward seri al Alcaraz, Maroto ( 2001) 39.36 36.57 TS-activity list serial Nonobe, Ibaraki (2002) 40.86 37.88 35.85 GA-late join serial Coelho, Tavares (2003) 39.97 38.41 36.44 sampling-random, FBI serial Valls et al. (2005) 38.21 37.47 36.46 SA-activity list serial Bouleimen, Lecocq (2003) 42.81 37.68 GA-priority rule serial Hartmann (1998) 39.93 38.49 36.51 sampling-adaptive both Schirmer (2000) 39.85 38.70 samplingLFT, =1 parallel Kolisch (1996b) 39.60 38.75 37.74 sampling-WCS parallel Kolisch (1996a, 1996b) 39.65 38.77 Hybrid GA-RWA both This research 43.56 40.87 GA-random key serial Hartmann (1998) 45.82 42.25 38.83 sampling-LFT, =3 serial Kolisch (1996b) 41.27 40.38 39.34 sampling-adaptive both Kolisch, Drexl (1996) 41.37 40.45 sampling-global serial Coelho, Tavares (2003) 41.36 40.46 39.41 GA-problem space mod. Par. Leon, Ramamoorthy (1995) 42.91 40.69 samplingLFT, =1 serial Kolisch (1996b) 42.84 41.84 40.63 sampling-random parallel Kolisch (1995) 44.46 43.05 41.44 sampling-random serial Kolisch (1995) 49.25 47.61 45.60 The results for the two stopping criteria, which are maximum number of 1,000 and 5,000 schedules were tabulate d. It is notable that the maximum number of 50,000 schedules as a stopping criterion was not tested in this resear ch due to the expected long

PAGE 192

176 computation time. Therefore, the lowest va lues among the average deviations in Figures 5-2, 5-3, and 5-4 obtained from AHGASS were inserted in Tables 5-5, 5-6, and 5-7, respectively, with italic bold fonts. In each column in these tables, the algorithms were sorted with respect to increasing deviation. The algorithms were sorted with respect to the results for 5,000 schedules and then for 1,000 schedules. It is necessary to note that only the be st performing heuristic of a paper was considered in these tables. AHGASS produces consistent and corre ct solutions for the RCPSP with little difference among the aver age fitness values regardless of the combination considered for J30, J60, and J 120 instances. It is likely that AHGASS produced comparable and competitive solutions for J30 because the location of average deviation obtained from AHGASS takes a mi ddle position among other he uristics. It is also notable that for J60 and J120, the loca tions of average deviation obtained from AHGASS take the middle positions among other heuristics considered in this research. 5.4 Validation II: Case Studies of Two Construction Projects To examine the validity of the developed hybrid genetic algorithm, this research applied AHGASS to solve the RCPS problems of two construction projects. They are “Coke bunker project” and “Highw ay construction project”. 5.4.1 Overview of Case Studies 5.4.1.1 Commercial warehouse project: Coke bunker project The first example is the “Coke bunker proj ect” that was obtained and modified from Willis and Hastings (1976) in order to conduct the resource constrained scheduling of the project. A warehouse is to be comp leted for the purpose of storing coke, and loading and dispatching trucks. Main featur es include a block of bunker, interconnecting conveyors, and weighing facilities. An area of hardstand and an access road have to be

PAGE 193

177 laid to the site around the bunkers. Table 5-8 shows the schedul e information that contains an activity name and its description in order to complete the coke bunker project successfully. Table 5-8. Schedule information of coke bunker project Activity name Description Activity name Description Main features Coke bunkers Ma in features Main conveyor 10 Piling 170 Foundations 20 Excavate for columns 180 Erect gantry 30 Concrete tops of piles 190 Install conveyor 40 Place columns Main features Weighbridge 50 Put in bunkers 200 Excavate pit 60 Clad in steel 210 Concrete pit 70 Brick walls 220 Build weigh house 80 Line bunkers 230 Install weighbridge 90 Install internal equipment Main features Access road 100 Install out-loading equipment 240 Excavate Main features Storage hoppers 250 Lay roadway 110 Clear site Main f eatures Hard-standing 120 Excavate for conveyors 260 Excavate 130 Concrete 270 Lay hard-standing 140 Install conveyors under hoppers 280 Stairways inside bunker structure 150 Install conveyors to hoppers 290 Erect perimeter fence 160 Commission hoppers The example consists of 29 non-dummy activ ities and each activity has six multiple resources, which include laborers, steel me n, concrete men, bricklayers, cranes, and dumpers. Table 5-9 shows the detailed info rmation of activities for the example, which include the precedence relationships among ac tivities, the duration for an activity, the number of resource requirements per we ek, and the limited number of available resources. It is assumed that the res ource requirements and the durations are fixed.

PAGE 194

178 Table 5-9. Detailed information of activities of coke bunker project Number of Resource requirement per week Activity name Predecessors Successors Duration (Weeks) Laborers (R1) Steel workers (R2) Concrete workers (R3) Brick layers (R4) Cranes (R5) Dump trucks (R6) 10 20 5 2 1 20 10 30,120 4 4 1 30 20 40,240 3 2 2 40 30 50,180,280 4 3 1 1 50 40 60,70,90 3 2 60 50,280 80 1 2 70 50,280 80 3 2 2 80 60,70 1 1 1 90 50,280 100 6 2 1 2 100 90 2 2 3 110 120 8 6 1 120 20,110 130,170,200 4 4 1 130 120 140,210 12 2 4 140 130 150 1 2 2 150 140,190 160 1 2 2 160 150 170 120 180 4 1 180 40,170 190 1 2 1 1 190 180 150 1 2 2 200 120 210 6 1 1 210 130,200 220,270 2 1 2 220 210 230 4 1 2 230 220 1 2 2 1 240 30 250,260 4 3 1 250 240 9 4 260 240 270,290 9 4 1 270 210,260 6 4 280 40 60,70,90 1 2 290 260 4 2 Limited numbers of available resources 10 5 4 2 1 2 Without the constraint of resources, a time analysis using the CPM technique was required to obtain the schedule. Figure 511 shows the precedence diagram for a project example drawn using the detailed informati on of the activities tabulated in Table 5-9.

PAGE 195

179 Figure 5-11. Precedence diagram for coke bunker project Figure 5-11 also shows all schedule data. A legend was placed inside Figure 5-11. In detail, the bold line indicates the critical pa th of the project. Du rations, the early start time (EST), the early finish time (EFT), the late start time (LST), the late finish time (LFT), and the total float (TF) values calcu lated by forward and backward calculations were shown for each activity. The critical path time is 33 weeks, which is the project duration with the assumption of unlimited av ailable resources. The project can be completed in 35 weeks, which is the op timal schedule based on a branch-and-bound method (Willis and Hastings 1976). For the sa ke of simplicity, the unit of the duration for an activity was changed from the unit of w eek to the unit of day when the problem of the example was input to AHGASS.

PAGE 196

180 5.4.1.2 Highway construction project: S.R. 20 project The second example is the “Highway cons truction project: Putnam County S.R. 20 project.” This project added two lanes from Francis (Radcliff Road) to east of Hollister (Rowland Avenue) (4.5 miles). The contractor was Anderson Columbia Company Inc., of Lake City, Florida. The project began October 6, 2003 and finished November 10, 2005 at a cost of $12,710,812.90 (FIN: 2099991). The pr oject consisted of 160 activities as shown in Appendix B-1, which is schedule repor t. Detailed inform ation concerning the duration of activities, re source requirements and availability of the project can be found in Appendix B-1. It is assumed that the resource requirements and the durations are fixed. Without the constraint of resources, a time analysis using the CPM technique was required to obtain the schedule. The bar char t of the highway constr uction project can be also found in Appendix B-2, which was draw n using the detailed information of the activities tabulated in Appe ndix B-1. Appendix B-2 shows schedule data that include durations, the early start time (EST) and the ea rly finish time (EFT). The critical path time is 555 working days, starting from July 14, 2003 to July 16, 2005, which is the project duration with the assumpti on of unlimited available resources. 5.4.2 Scheduling Case Studies using AHGASS 5.4.2.1 Commercial warehouse project: Coke bunker project In order to schedule a coke bunker project, the input data shown in Figure 5-12 was made from data shown in Table 5-9 and Fi gure 5-11. Since two du mmy activities should be added to the original numb er of activities in order to generate a solution from AHGASS, the total number of activity for AHGASS becomes 31, as shown in Figure 512. The first column in Figure 5-12 stands for the duration of an activity. The second through seventh columns in Figure 5-12 sta nd for the number of resource requirements

PAGE 197

181 for each activity. The eighth column stands for the number of the successors and the rest of the columns in Figure 5-12 stand for the succ essor number. The project consists of six different types of renewable resources and each activity has zero to three successors. Total activity no.# of resources Input file name: Coke.RCP Activity ID316 Res. Avail.Coding ID1054212 Dummy100000002212 12521000013 2344000012413 3432020002525 454310010361929 56302000037810 67102000019 78320020019 891110000131 9106210200111 10112230000131 11128600001113 121344000013141821 13141220400021522 14151220000116 15161220000117 16170000000131 17184100000119 18191210010120 19201220000116 20216100001122 2122210200022328 22234100200124 23241220010131 2425430000122627 25269400000131 2627940000122830 27286400000131 2829102000037810 29304200000131 Dummy3100000000 DurationR1R2R3R4R5R6# of successorssuccessorsuccessorsuccessor Figure 5-12. Input data stru cture of coke bunker project For the implementation of AHGASS, the inpu t parameter values for global search and local search were set as follows: In itial population size, transformation power, crossover probability, mutation probab ility were set to 100, 1.6, 0.5, and 0.03,

PAGE 198

182 respectively, for SGA. Then, variation threshold, local search probability, adaptive parameter, maximum number of local search iterations, and local search proportion were set to 0.75, 0.2, 0.5, 5, and 0.8, respectively, for AHGASS. The termination condition was set to the maximum number of generations of 100. It is notable that all of the input parameters applied to the coke bunker project come from the input values used for the experiment in Section 5.3.2. Performances of AHGASS for the coke warehouse project34 35 36 37 38 39 40 41 0102030405060708090100No of GenerationAverage fitness (Weeks) Serial Parallel Both Convergence status among three SGSs Figure 5-13. Results for coke bunker project Figure 5-13 shows the performance of AHGASS among three different schedule generation schemes (SGSs) for the coke bunker pr oject. The result in Figure 5-13 shows that the both SGSs perform best among thr ee SGSs, followed by serial SGS and parallel SGS, respectively. Both SGSs started to reach the best fitness for the first time relative to

PAGE 199

183 the serial and parallel SGS, and the fitness values did converge constantly to the optimal solution that was known as 35 weeks for th e bunker project (Willis and Hastings 1976), as indicated in the circle of Figure 5-13. The serial SGS star ted to reach the best fitness value later than both SGSs, but it converg ed continuously. The project duration calculated from the CPM with the assumption of the unlimited resources was 33 weeks, while the optimal project duration obtained from Willis and Hastings (1976) was 35 weeks. The project duration obtained from AHGASS was 35 weeks, which is the same as the optimal project du ration of the project. 5.4.2.2 Highway construction project: S.R. 20 project For the implementation of AHGASS, the inpu t parameter values for global search and local search were set as follows: In itial population size, transformation power, crossover probability, mutation probab ility were set to 100, 1.6, 0.5, and 0.03, respectively, for SGA. Then, variation threshold, local search probability, adaptive parameter, maximum number of local search iterations, and local search proportion were set to 0.75, 0.2, 0.5, 5, and 0.8, respectively, for AHGASS. The termination condition was set to the maximum number of generations of 100. It is notable that all of the input parameters applied to the highway constructi on project come from the input values used for the experiment in Section 5.3.2. In order to test the performa nce of AHGASS with single resource, it is assumed that all resour ces required for the completion of an activity can be combined together without an adjust ment. Figure 5-14 shows the performance of AHGASS among three different schedule gene ration schemes (SGSs) for the highway construction project. The results in Figure 5-14 shows that th e both SGSs perform best among the three SGSs, followed by the serial SGS and parallel SGS, respectively. Both SGSs started to

PAGE 200

184 reach the best fitness for the first time relative the serial and parallel SGS, and the fitness values did converge constantly, as indicated in the circle of Figure 5-14. The serial SGS started to reach the best fitness later than both the parallel and both SGSs, but it converged continuously to the best fitness value. The result shows a pattern similar to the coke bunker project. Performances of AHGASS for the highway construction project660 680 700 720 740 760 780 0102030405060708090100No of GenerationAverage fitness (Weeks) Serial Parallel Both Convergence status among three SGSs Figure 5-14. Results for hi ghway construction project 5.5 Summary of Verification and Validation The implementation of AHGASS and SGA based on the two approaches were described in this section. The main issues in the first approach were to show whether AHGASS outperforms SGA using the sets of standard instances and to show whether AHGASS accurately and consistently generates a near optimal and/or an optimal solution

PAGE 201

185 to the RCPSP. From the comparison of performance of AHGASS over SGA, the results can be summarized as follows: 1. AHGASS found better average fitn ess values than SGA does 2. Both AHGASS and SGA produced comparable and competitive solutions than those of PSPLIB for large size project instances 3. AHGASS improved the average fitness values approximately 0.51%, 0.82%, and 1.75% for J30, J60, and J120, respectively, relative to SGA 4. AHGASS is an appropriate algorithm to a pply to a large size problem since its improvement increases as the problem size increases 5. AHGASS found the best fitness value for th e first time faster than SGA in the generation, even though it iden tified the best solution more slowly than SGA in terms of computation time due to the operati on of local search, but its local search capabilities enabled it to converge to the correct so lution faster once it was identified 6. Most importantly, AHGASS improved 45.373%, 6.86%, and 5.77% for J30, J60, and J120 in terms of aver age percentage deviation. On the other hand, the main weaknesses of AHGASS can be also summarized as follows: 1. AHGASS required more time to obtain th e solution than SGA, as expected 2. AHGASS required a long computation time fo r a large size project instance, for example, J120, even though it showed acceptable computation time for J30 and J60 instances. From the comparison of the solutions obt ained from AHGASS with those from the existing heuristics, the results can be summarized as follows: 1. AHGASS produces consistent and correct solutions for the RCPSP with little difference among the average fitness va lues regardless of the combination considered for J30, J60, and J120 instances 2. Most importantly, the comparable and competitive results were obtained for J30, J60, and J120, because the locations of average deviation obtained from AHGASS take the middle positions among other heur istics considered in this research. From the additional analysis, a few rema rkable characteristics can be found and summarized as follows: 1. AHGASS produces consistent solutions fo r the RCPSP with little difference among the average fitness values regardle ss of the combination considered 2. AHGASS is likely to obtain better solu tions as the populatio n size increases

PAGE 202

186 3. AHGASS is not likely to show similar pa tterns to the population size, as the crossover probability increases . Therefore, it can be conc luded that the selection of the population size is a more critical elemen t than that of the crossover probability for AHGASS. The main issues in the second approach were to show whether AHGASS can solve any type of the resource constrained project scheduling problems with more than four renewable resources and to show whether AHGASS can implement larger size project instances. It was particularly meaningful to solve the highway construction project because the project was more realistic and was a larger sized problem (160 activities) than the standard sets of project inst ances obtained from the PSPLIB (up to 120 activities). From the scheduling results of the coke bunker project using AHGASS, it can be summarized that AHGASS was successfully implemented, showing the optimal solution of 35 weeks to validate and verify the deve loped hybrid algorithm. From the scheduling results of the highway cons truction project using AHGASS, it can be summarized that AHGASS was successfully implemented, showing the best fitness value of 650 days to validate and verify the developed hybrid al gorithm. The implementation of the case studies proved that AHGASS, a hybrid genetic algorithm, is well applied to the resource constrained project scheduling problem for a large problem with multiple resources.

PAGE 203

187 CHAPTER 6 CONCLUSIONS 6.1 Summary of Research Approach A hybrid genetic algorithm, named AHGASS (Adaptive Hybrid Genetic Algorithm-based Search Simulator) was deve loped to solve the resource constrained project scheduling problem (RCPSP) associat ed with single and multiple resources. Through several refinement processes, se veral important elements for AHGASS were identified and implemented based on the procedure for the development of a new algorithm for the RCPSP. As a modeling strategy, a hybrid genetic algorithm was developed through the combination of global and local search. Fo r global search, the SGA developed in this research was used first, and then the RWA was performed only if it was needed. The SGA was able to combine aspects of solutions from different parts of solution space. However, its strength was decreased if the population converged to a small area in search space. In order to overcome the drawb ack of SGA, local search was employed appropriately for searching small areas of solution space more efficiently than the operation of a simple mutation within the SGA. In order to connect two methods, Baldwinian evolution (Baldwin 1896) was used because it helps avoid premature convergence by preserving only the di rection of improvement. It is survival of the fittest following the direction of learning. Therefor e, it was certain that only the improved fitness values were changed after local search occurred.

PAGE 204

188 The initial population of po ssible solutions to the RCPSP was created to apply the algorithm in the very first step of global sear ch. A fitness value of an individual in an initial population was calculated, using the se rial and/or parallel schedule generation scheme (SGS). Evaluation of local search wa s achieved before the move to the selection operator embedded in the SGA. If local search was needed, it occurred following the selection operator. Otherwise, local search was not implemented. The selection of the parent individuals was made through the el itist roulette wheel selection operator developed in this research for the next gene ration. The elitist roulette wheel selection operator is the combined operator using the elite selection (De Jong 1975) and the roulette wheel selection (Holland 1975). Usi ng the parent individuals obtained from the selection operator, one-point crossover ope rator was performed by exchanging parent individual segments and then recombini ng them to produce two resulting offspring individuals. The uniform mu tation operator was performed to play the role of random local search, which searches a much sma ller portion than the random walk algorithm. It is important to note that the objective of local search is not to search the best solution located in the neighborhood of the curre nt point, but to provide more information that would better give a dire ction to the portion of the s earch space where the globally optimal solution is located. The random wa lk algorithm switches back to global search when the number of iterations exceeds a us er-specified maximum value. The major characteristic of the proposed hybrid algorithm was that it ad apted in response to recent performance of the algorithm with the aid of local search as it converged to the solution. Based on the developed hybrid genetic algo rithm, AHGASS was developed to test the feasibility of the proposed algorithm in the construction resource scheduling,

PAGE 205

189 operations research, and management scie nce domain by using an object-oriented programming language, JAVA. The featur es of AHGASS include (1) AHGASS can be evaluated with various input parameters. It is possible to compar e the simple genetic algorithm with AHGASS by setting the local sear ch parameters to zero, (2) AHGASS has an option to choose which SGS will be used to produce the fitness value of an individual in a generation by selecting one of three alternatives, such as (i) the serial SGS, (ii) the parallel SGS, and (iii) both the serial and the parallel, (3) AHGASS al so has an option to choose which termination conditions will be used by selecting one of three termination conditions, such as (i) the maximum number of generations, (ii) CP U runtime to stop of AHGASS algorithm, and (iii) the maximum nu mber of the unique schedules, (4) AHGASS can solve a set of RCPSP problems w ith single and/or multiple resources at a time with the function of batch file. Batc h file command button enables AHGASS to run multiple problems at a time only if the input data structure is the same structure shown in Figure 4-1. The verification and validation of th e proposed hybrid genetic algorithm, AHGASS, were performed with two approaches. The main issues in the first approach were to show whether AHGASS outperforms S GA using the sets of standard instances and to show whether AHGASS accurately and consistently genera tes a near optimal and/or an optimal solution to the RCPSP. Th e main issues in the second approach were to show whether AHGASS can solve any type of the resource constrained project scheduling problem with more than four renewable resources and to show whether AHGASS can implement larger size project inst ances. It was particularly meaningful to solve the highway construction project because the project was more realistic and was a

PAGE 206

190 larger sized problem (160 activit ies) than the standard sets of project instances obtained from the PSPLIB (up to 120 activities). Th e result of the verifi cation and validation showed that AHGASS is competitive and feasib le as a new approach to the solution for the resource constrained project scheduling pr oblem, and that it can improve the current solution methods through the combination of two heuristic approaches. The conclusions, contributions, limitations, and recommendations fo r future research are discussed in this chapter. 6.2 Conclusions of Research 6.2.1 AHGASS Produces Accurate and Consistent Solution to the RCPSP AHGASS produces consistent and correct solutions for the RCPSP with a little difference among the average fitness values re gardless of the combination considered for J30, J60, and J120 instances. AHGASS seems likely that it produced comparable and competitive solutions for all three problem sets because the location of average deviation obtained from AHGASS takes a middl e position among other heuristics. 6.2.2 AHGASS Shows Improved Performance over SGA Based on the result obtained from the comp arison of the performance for AHGASS over SGA, it can be concluded that AHGASS found bette r average fitness values than SGA. It is notable that both AHGASS and SGA produced comparable and competitive solutions for large size project instances. AHGA SS improved the average fitness values approximately 0.51%, 0.82%, and 1.75% for J 30, J60, and J120, respec tively, relative to SGA. It is a significant finding that AHGASS outperforms SGA with 45.37%, 6.86%, and 5.77% for J30, J60, and J120 in terms of av erage percentage deviation, respectively. Most importantly, AHGASS is an appropriate algorithm to apply a large size problem since its improvement increases as the problem size increases from J30 to J120.

PAGE 207

191 6.2.3 AHGASS Produces a Competitive Solution over the Existing Algorithms Based on the results obtained from the comparison of the solutions from AHGASS with those from the existing heuristics, it can be concluded that AHGASS produced comparable and competitive solutions for J30 instances because the location of average deviation obtained from AHGASS takes a mi ddle position among other he uristics. It is an also significant finding that AHGASS produ ces very competitive results for J60 and J120, because the locations of average devi ation obtained from AHGASS take the middle positions among other heuristics considered in this research. 6.2.4 AHGASS Does Not Require Long Computat ion Time to Generate a Schedule Based on the results obtained from AHG ASS for J30 (480 instances), J60 (480 instances), and J120 (600 inst ances), AHGASS does not requ ire long computation time to generate a schedule. It wa s proven that average CPU run times for J30 (480 instances), J60 (480 instances), and J120 (600 inst ances) were 1.26 second, 1.57 second, and 2.35 second per problem, respectively. It is not able that AHGASS required long average CPU runtime as the number of unique schedule increases from 1000 to 5000. 6.2.5 AHGASS Can Be an Algorithm General Enough for the RCPSP Based on the features of AHGASS, AHGASS can be evaluated with various input parameters for any type of RCPS problem s. It was evident that AHGASS produced accurate and consistent solutions to J30, J 60, and J120. From the scheduling results of the coke bunker project using AHGASS, it was also significant that AHGASS solved the commercial warehouse project example, whic h consists of 29 non-dummy activities associated with up to six multiple resources, by finding the project duration of 35 weeks, which is the same as the optimal project duration of the project.

PAGE 208

192 It is possible to compare SGA with AHGASS by setting the local search parameters to zero. AHGASS can solve a set of RCPSP problems with single and/or multiple resources at a time with the function of batch file. AHGASS can also solve multiple problems at a time only if the input data struct ure is just like a structure shown in Figure 4-27. 6.2.6 AGHASS Can Solve a Large Size Problem It was remarkably significant that AHGASS solved the highway construction project, which consists of 160 non-dummy activ ities associated with single resource, by showing the best fitness valu e of 650 days. The implementation of the case study proved that AHGASS, a hybrid genetic algorithm, is well applied to the resource constrained project scheduling problem for a large problem. It was particularly meaningful to solve the highway construction projec t because the project was more realistic and was a larger sized problem (160 activiti es) than the standard sets of project instances obtained from the PSPLIB (up to 120 activities). 6.2.7 Critical Element of AHGA SS Can Be a Population Size Based on the additional analysis, a few rema rkable characteristics were found that AHGASS performs well as the population size increases. AHGASS is not likely to show similar patterns to the population size, as the crossover probability increases. Therefore, it can be concluded that the selection of the population size is a more critical element than that of the crossover probability for AHGASS. 6.3 Contributions of Research In a significant conclusi on, Adaptive Hybrid Genetic Algorithm-based Search Simulator (AHGASS) is the first approach to the RCPSP by usi ng the combination of global and local search in contrast to the approaches of the exis ting hybrid methods, to

PAGE 209

193 the best of the knowledge of this resear ch. The hybrid global -local optimization approach proposed in this research can be a promising alternative to the RCPSP as it combines the best aspects of a global optimi zation approach with a local approach. It also does not require any kind of priority rule as a part of the algorithm. Finally, AHGASS is an ideal algorithm for a large-sized problem. 6.4 Limitations of Research This research mainly focuses on a single project single and multiple resource constrained project scheduling problems. A ccordingly, it is necessary to expand the developed hybrid genetic algorithm to solve multiple projects associated each other. This research also assumed that the per-period-avai lability of resources is constant throughout the entire project duration, as opposed to a real construction project. There is a still room for improvement with regard to the average percentage deviation. 6.5 Recommendations for Future Research The recommendations based on the results of this research, which include expanded versions of the one-point crossover, for example, two or three-point crossover and uniform crossover, can be developed and incorporated into AHGASS to obtain a better solution to the re source constrained projec t scheduling problem in the future study. This research would be more applicable if AHGASS considers the per-period-availability of resources is variable to apply more prac tically in the construction industry. It is strongly recommended that FBI and forward-backward scheduling methods be incorporated within AHGASS because there is a possibility to beat the performance of the existing algorithms.

PAGE 210

194 APPENDIX A PSEUDOCODES USED IN AHGASS This appendix shows the pseudocodes of th e individual procedures used within the overall procedures of AHGASS. The source code that was produced during the studies conducted in this research is also available from http://grove.ufl.edu/~jin5176/ . All code was written in JAVA. Table A-1. Pseudocode for random number generation procedure RANDOM NUMBER GENERATION PROCEDURE 1: For each chrome I in starting generation 2: unique = false 3: while unique = false 4: Chrome I = random sequence of events that obeys_ the given precedence relationships 5: unique = true 6: for each Chrome J created before I in starting_ generation 7: if Chrome I = Chrome J 8: unique = false Table A-2. Pseudocode for the overall calc ulation procedure of chrome fitness OVERALL CALCULATION PROCEDURE OF CHROME FITNESS 1: If Serial is enabled 2: Calculate Serial Fitness for Chrome 3: If Parallel is enabled 4: Calculate Parallel Fitness for Chrome 5: Fitness for chrome = best of the fitness calculated

PAGE 211

195 Table A-3. Pseudocode for calculation procedur e for chrome fitness using serial SGS CALCULATION PROCEDURE FOR CHROME FITNESS USING SERIAL SGS 1: Create resource availability array R of maxLength time_ by number of resources 2: Set all values of R to resource limits of each resource 3: Specify minimum starting time for each activity to be 0 4: For each Activity J in Activity List 5: curMinTime = minimum starting time of J 6: valid = false 7: while valid = false 8: valid = true 9: For time T = curMinTime to curMinTime+duration of_ Activity J 10: For each resource X 11: if R at T for X < Activity J's required resources_ for X 12: valid = false 13: If valid = false 14: curMinTime = curMinTime + 1 15: For time T = curMinTime to curMinTime+duration of_ Activity J 16: For each Resource x 17: Subtract Activity J's required resources for X from_ R at T for X 18: fitness for Activity J = curMinTime+duration of Activity J 19: For each successors S of Activity J 20: Set minimum starting time of S to fitness of Activity J 21: Overall Serial Fitness = last activity fitness in Chrome

PAGE 212

196 Table A-4. Pseudocode for calculation procedur e for chrome fitness using parallel SGS CALCULATION PROCEDURE FOR CHROME FITNESS USING PARALLEL SGS 1: Create resource availability array R of maxLength time_ by number of resources 2: Set all values of R to resource limits of each resource 3: Specify minimum starting time for each activity to be 0 4: Create boolean array Completed of same length as activity_ list with each element set to false 5: curTime = 0 6: numCompleted = 0 7: 8: while numCompleted != length of activity list 9: 10: Create boolean array Finished of same length as activity_ list with each element set to false 11: for each element I of Finished 12: if Completed[I] and corresponding Activity's fitness_ <= curTime 13: Finished[I] = true 14: 15: Create boolean array Eligible of same length as activity_ list with each element set to false 16: for each element I of Eligible 17: if not Completed[I] 18: Activity A = corresponding Activity to I 19: if A has no predecessors 20: Eligible[I] = true 21: else if all of A's predecessors have a corresponding_ Completed value of true 22: Eligible[I] = true 23: 24: beforeCompleted = numCompleted 25: for Each Activity A in Activity List 26: valid = true 27: For time T = curTime to curTime+duration of Activity A 28: For each resource X 29: if R at T for X < Activity A's required_ resources for X 30: valid = false 31: if valid 32: For time T = curMinTime to curMinTime+duration of_ Activity A 33: For each Resource x 34: Subtract Activity A's required resources for X_ from R at T for X 35: fitness for Activity A = curMinTime+duration of_ Activity A 36: Completed[A's position in List] = true 37: numCompleted = numCompleted + 1 38: 39: if beforeCompleted = numCompleted 40: curTime = curTime + 1 41: 42: Overall Parallel Fitness = last activity fitness in Chrome

PAGE 213

197 Table A-5. Pseudcode for local search procedure using random walk algorithm OVERALL LOCAL SEARCH PROCEDURE 1: If (CVcur / CVlast) >= Variation Threshold 2: Do MaxNoLS times 3: SearchChromes = local Search Prop. of Chromes in_ Generation with best fitness 4: For each Chrome I in the SearchChromes 5: Perform Chrome Local Search Procedure CHROME LOCAL SEARCH PROCEDURE 1: BestFitness = current fitness of chrome 2: Choose an activity I within Chrome that can be shifted _ elsewhere in the activity list 3: BestFitnessPos = activity I's default position 4: For each possible position for activity I 5: newFitness = fitness of overall list with _ activity I shifted 6: if newFitness is better than BestFitness 7: BestFitness = newFitness 8: BestFitnessPos = activity I's current position 9: Shift activity I to BestFitnessPos 10: Change fitness to previously calculated corresponding _ fitness for BestFitnessPos

PAGE 214

198 Table A-6. Pseudcode for the elitist roul ette wheel selecti on operator procedure ELITIST ROULETTE SELECTION OPERATOR PROCEDURE 1: EliteChrome = best Chrome in current generation 2: Create a transformed fitness for each chrome 3: Create summation of these fitnesses 4: For each chrome J in the new generation 5: seed = RandomSeed[0,sum of transformed fitness] 6: for Chrome I = second chrome to the last chrome_ in current generation 7: if sum of transformed fitness from Chrome 1 to_ I > seed 8: Chrome J = Chrome before I 9: current generation = new generation 10: current generation's first Chrome = EliteChrome Table A-7. Pseudcode for the one-poi nt crossover operator procedure ONE-POINT CROSSOVER OPERATOR PROCEDURE 1: For each Chrome I in the Generation 2: if Random Seed[0,1] < Crossover Probability 3: Chrome J = random chrome in generation other than I 4: Pivot Activity = random activity in Chrome I 5: Chrome Son = Activities 1 Pivot Activity in Chrome I_ followed by Any remaining Activities from Chrome J_ (in Chrome J's order) 6: Chrome Daughter = Activities 1 Pivot Activity in_ Chrome J followed by Any remaining Activities from_ Chrome I (in Chrome I's order) 7: Chrome I = Chrome Son 8: Chrome J = Chrome Daughter Table A-8. Pseudcode for the unif orm mutation operator procedure UNIFORM MUTATION OPERATOR PROCEDURE 1: For each Chrome I in the Generation 2: if Random Seed[0,1] < Mutation Probability 3: valid pivot = false 4: while pivot is not valid 5: pivot = random activity in chrome I 6: if pivot activity is not a predecessor_ activity after pivot in chrome I 7: valid = true 8: swap activity after pivot with pivot

PAGE 215

199 APPENDIX B SCHEDULE INFORMATION FOR HI GHWAY CONSTRUCTION PROJECT Figure B-1. Schedule report for highway construction project

PAGE 216

200 Figure B-1. Continued.

PAGE 217

201 Figure B-1. Continued.

PAGE 218

202 Figure B-2. Bar chart for highway construction project

PAGE 219

203 Figure B-2. Continued.

PAGE 220

204 Figure B-2. Continued..

PAGE 221

205 Figure B-2. Continued.

PAGE 222

206 Figure B-2. Continued.

PAGE 223

207 Figure B-2. Continued.

PAGE 224

208 LIST OF REFERENCES Agarwal, A., Jacob, V. S., and Pirkul, H. ( 2003). “Augmented Neural Networks for Task Scheduling.” European Journal of Op erational Researc h, 151(3): 481-502. Ahuja, H. N. (1976). Construction Perfor mance Control by Networks, John Wiley & Sons, Inc., New York, N.Y. Alcaraz, J., and Maroto, C. (2001). “A Robust Genetic Algorithm for Resource Allocation in Project Scheduling.” Anna ls of Operations Research, 102: 83-109. Allam, S. I. G. (1988). “Multi-Project Sc heduling: A New Categorization for Heuristic Scheduling Rules in Construction Schedu ling Problems.” Journal of Construction Management Economy, 6(2): 93-115. Alvarez-Valdes, R., and Tamarit, J. M. (1989). “Heuristic Algorithms for ResourceConstrained Project Scheduling: A Review and An Empirical Analysis.” In R. Slowinski and J. Weglarz (E ds.), Advances in Project Scheduling, Elsevier Science Publishers B. V., Amsterdam, Pr inted in The Netherlands, 113-134. Antill, J. N., and Woodhead, R. W. (1982). Critical Path Method in Construction Planning. 3rd ed. John Wiley and Sons, New York, N.Y. Artigues, C., Michelon, P., and Reusser, S. (2003). “Insertion Tec hniques for Static and Dynamic Resource–Constrained Project Scheduling.” European Journal of Operational Research, 149: 249-267. Attaviriyanupap, P., Kita, H., Tanaka, E., and Hasegawa, J. (2002). “A Hybrid EP and SQP for Dynamic Economic Dispatch with Nonsmooth Fuel Cost Function.” IEEE Trans. Power Appar. Syst., 17(2): 411-416, May. Baar, T., Brucker, P., and Knust, S. (1999) . “Tabu-Search Algorithms and Lower Bounds for the Resource-Constrained Project Schedul ing Problem.” In S. Voss, S. Martello, I. Osman, and C. Roucairol, editors, Meta-h euristics: Advances and trends in local search paradigms for optimization, Kluwer Academic Publishers, 1-8. Baker, J. (1988). Adaptive Selection Methods for Genetic Algorithms. Proceeding of First International Conference on Genetic Al gorithms and Their Applications, J. Grefenstette, ed., Lawrence Erlbaum Associates, Hillsdale, NJ, 101-111 . Balas, E. (1969). “Machine Sequencing via Di sjunctive Graphs: An Implicit Enumeration Algorithm.” Operations Research, 17: 941-957.

PAGE 225

209 Balas, E. (1970). “Project Sc heduling with Resource Constrai nts.” In E. M. L. Beale (ed.), Applications of Mathematical Progr amming Techniques, American Elsevier, New York. Baldwin, J. M. (1896). “A New Factor in Evolution.” Am. Nat., 30: 441-451. Bedworth, D. D., and Bailey, J. E. (1982) . Integrated Produc tion Control SystemsManagement, Analysis, Design, Wiley, New York. Blazewicz, J., Lenstra, J. K., and Rinnooy Kan, A. H. G. (1983). “Scheduling Subject to Resource Constraint: Classification a nd Complexity.” Discrete Applied Mathematics, 5: 11-24. Boctor, F. F. (1990). “Some Efficient Mu lti-Heuristic Procedures for ResourceConstrained Project Scheduling.” European Journal of Operational Research, 49: 313. Boctor, F. F. (1996). “Resource-Constr ained Project Scheduling by Simulated Annealing.” International Journal of Production Research, 34(8): 2335-2351. Bouleimen, K., and Lecocq, H. (2003). “A New Efficient Simulated Annealing Algorithm for the Resource-Constrained Project Scheduling Problem and Its Multiple Modes Version.” European Journal of Operational Research, 149: 268281. Brucker, P., Knust, S., Schoo, A., and Thiele, O. (1998). “A Branch and Bound Algorithm for the Resource-Constrained Pr oject Scheduling Problem.” European Journal of Operational Re search, 107(2): 272-288. Carruthers, J. A., and Battersby, A. (1966) . “Advances in Critical Path Methods.” Operational Research Quarterly, 17(4): 359-380. Chan, W., Chua, D. K. H., and Kannan, G. (1996). “Construction Resource Scheduling with Genetic Algorithms.” Journal of C onstruction Engineering and Management, ASCE, 122(2): 125-132. Cho, J. H., and Kim, Y. D. (1997). “A Si mulated Annealing Algorithm for ResourceConstrained Project Scheduling Problems .” The Journal of the Operational Research Society, 48(7): 736-744. Christofides, N., Alvarez-Valdes, R., and Tamar it, J. M. (1987). “Pro ject Scheduling with Resource Constraints: A Br anch and Bound Approach.” European Journal of Operational Research, 29: 262-273. Chunduru, R. K., Sen, M. K., and Stoffa, P. L. (1997). “Hybrid Optimization Methods for Geophysical Inversion.” Geophysics, 62(4): 1196-1207.

PAGE 226

210 Coelho, J. and Tavares, L. (2003). Compara tive Analysis of Meta -Heuristics for the Resource Constrained Project Scheduling Pr oblem. Technical Report, Department of Civil Engineering, Instituto Superior Tecnico, Portugal. Colak, S., Agarwal, A., and Erenguc, S. S. (2006). “Resource Constrained Project Scheduling Problem: A Hybrid Neural Appr oach.” Topics in Modern Scheduling, Weglarz, J. and Jozefowska, J. (eds), forthcoming Cooper, D. F. (1974). “An Expe rimental Investigation of So me Heuristics for Scheduling Resource Constrained Project.” Ph.D. Thes is, Department of Computer Science, University of Adelaide. Cooper, D. F. (1976). “Heuristics for Sche duling Resource-Constr ained Projects: An Experimental Investigation.” Ma nagement Science, 22(11): 1186-1194. Crain, T., Bishop, R. H., Fowler, W., and Ro ck, K. (2000). “Interpl anetary Flyby Mission Optimization using a Hybrid Global-Local Search Method.” J. Spacecr. Rockets, 37(4): 468-474. Davies, E. M. (1973). “An Experimental Investigation of Resource Allocation in Mulitactivity Projects.” Operations Research Quarterly, 24(4): 587-591. Davis, E. W., and Heidorn, G. E. (1971). “An Algorithm for Optimal Project Scheduling under Multiple Resource Constraints.” Management Science, 17(12): B803-B816. Davis, E.W., and Patterson, J. H. (1975). “A Comparison of Heuristic and Optimum Solutions in Resource–Constrained Proj ect Scheduling.” Management Science, 21(8): 944-955. Davis, L. (1991). Handbook of Genetic Algor ithms, Van Nostrand Reinhold, New York, N.Y. Demeulemeester, E. L., and Herroelen, W. S. (1992). “A Branch-and-Bound Procedure for the Multiple Resource-Constrained Pr oject Scheduling Problem.” Management Science, 38(12): 1803-1818. Demeulemeester, E. L., and Herroelen, W. S. (1997). “New Benchmark Results for the Resource-Constrained Project Scheduling Problem.” Management Science, 43(11): 1485-1492. De Jong, K. A. (1975). “An Analysis of the Behavior of a Class of Genetic Adaptive Systems.” Ph.D. Dissertation, Univers ity of Michigan, Ann Arbor, Mich. Dorigo, M., Maniezzo, V., and Colorni, A. (1996). “Ant System: Optimization by a Colony of Cooperating Agents.” IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1): 29-41.

PAGE 227

211 Dorndorf, U., and Pesch, E. (1995). “Evolu tion Based Learning in a Job Shop Scheduling Environment.” Computers and Op erations Research, 22: 25-40. Dorndorf, U., Pesch, E., and Phan-Huy, T. (2000). “A Branch-and-Bound Algorithm for the Resource-Constrained Project Scheduli ng Problem.” Mathematical Methods of Operations Research, 52: 413-439. Drexl, A. (1991). “Scheduling of Project Networks by Job Assignment.” Management Science, 37(12): 1590-1602. Easa, S. M. (1989). “Resource Leveling in Construction by Optimization.” Journal of Construction Engineering and Management, ASCE, 115(2): 302-316. Ellis, R. D., and Kim, J.-L. (2005). “Devel opment of a Resource Scheduling Model using Optimization,” Proceedings of the Confer ence on Construction Research Congress 2005, ASCE, I. D. Tommelein ed., Apr il 5-7, San Diego, CA, 669-674 (CD-Rom). Espinoza, F. P., Minsker, B. S., and Goldbe rg, D. E. (2005). “Adaptive Hybrid Genetic Algorithm for Groundwater Remediation De sign.” Journal of Water Resources Planning and Management , ASCE, 131(1): 14-25. Fisher, M. (1973). “Optimal Solution of Scheduling Problems using Lagrange Multipliers.” Part I: Operations Rese arch, 21: 1114-1127. Part II: in S. E. Elmaghraby (ed.), Symposium on the Theory of Scheduling and its Applications, Springer, Berlin, 294-318. Fleszar, K., and Hindi, K. S. (2004). “S olving the Resource-Constrained Project Scheduling Problem by a Variable Neighbour hood Search.” European Journal of Operational Research, 155: 402-413. Foster, N., and Dulikravich, G. (1997). “Three-Dimensional Aerodynamic Shape Optimization using Genetic and Gradient Se arch Algorithms.” J. Spacecr. Rockets, 34(1): 36-42. Glover, F. (1986). “Future Paths for Inte ger Programming and Links to Artificial Intelligence.” Computers and Operations Research, 5: 533-549. Glover, F., Laguna, M., and Marti, R. (2000). “Fundamentals of Scatter Search and Path Relinking.” Control and C ybernetics, 29(3):653-684. Goldberg, D. E. (1989). Genetic Algorith ms in Search, Optimization, and Machine Learning, Addison-Wesley Publishing Co mpany, Inc., Reading, Massachusetts. Goldberg, D. E., and Voessner, S. (1999). Optimizing Global-Local Search Hybrids. Illinois Genetic Algorithms Laborat ory, ILLIGAL Rep. 99001, Urbana, Ill. Halpin D., and Woodhead, R. (1984). Cons truction Management. 2nd Edition, Wiley, New York.

PAGE 228

212 Harris, R. B. (1978). Precedence and Arro w Networking Techniques for Construction, John Wiley & Sons, Inc., New York, N.Y. Harris, R. B. (1990). “Packing Method fo r Resource Leveling (PACK).” Journal of Construction Engineering and Management, ASCE, 116(2): 331-350. Hartmann, S. (1998). “A Competitive Genetic Algorithm for Resource-Constrained Project Scheduling.” Naval Rese arch Logistics, 45: 733-750. Hartmann, S. (2002). “A Self-Adapting Gene tic Algorithm for Project Scheduling under Resource Constraints.” Naval Re search Logistics, 49: 433-448. Hartmann, S., and Kolisch, R. (2000). “Experime ntal Evaluation of State-of-the-Art Heuristics for the Resource-Constrained Project Scheduling Problem.” European Journal of Operational Research, 127: 394-407. Hartzell, S., and Liu, P. C. (1995). “Deter mination of Earthquake Source Parameters using a Hybrid Global Search Algorith m.” Bull. Seismol. Soc. Am., 85(2): 516524. Hastings, N. A. J. (1972). “On Resource Allo cation in Project Networks.” Operational Research Quarterly, 23(2): 217-221. Hegazy, T. (1999). “Optimization of Res ource Allocation and Leveling Using Genetic Algorithms.” Journal of Construction Engineering and Management, ASCE, 125(3): 167-175. Hegazy, T., and Erashin, T. (2001). “Simp lified Spreadsheet Solutions. II: Overall Schedule Optimization.” Journal of Cons truction Engineering and Management, ASCE, 127(6): 469-475. Hegazy, T., and Kassab, M. (2003). “Resource Optimization Using Combined Simulation and Genetic Algorithms.” Journal of Cons truction Engineering and Management, ASCE, 129(6): 698-705. Heidari, M., and Ranjithan, S. (1998). “A Hybrid Optimization Approach to the Estimation of Distributed Parameters in Two-Dimensional Confined Aquifers.” J. Am. Water Resour. Assoc., 34(4): 909-920. Hindi, K. S., Yang, H., and Fleszar, K. (2002). “An Evolutionary Algorithm for Resource-Constrained Project Scheduling.” IEEE Transactions on Evolutionary Computation, 6(5): 512-518. Hsiao, C., and Chang, L. (2002). “Dynamic Optical Ground Water Management with Inclusion of Fixed Costs.” J. Water Resour. Plan. Manage., 128(1): 57-65. Holland, J. K. (1975). Adaptation in Neural and Artificial System s, University of Michigan Press, Ann Arbor, MI.

PAGE 229

213 Kapelan, Z. S., Savic, D. A., and Walters, G. A. (2000). “Inverse Tr ansient Analysis in Pipe Networks for Leakage Detection and Roughness Calibration.” Water Network Modeling for Optimal Design and Mana gement, CWS 2000 Centre for Water Systems, Exeter, U.K., D. A. Savi c and G. A. Walters, eds., 1: 143-159. Kapelan, Z. S., Savic, D. A., and Walters, G. A. (2002). “Hybrid GA for Calibration of Water Distribution Hydraulic Models.” Proc., 1st Symp. on Environmental and Water Resources Systems Analysis, ASCE , Roanoke, Va., D. F. Kibler, ed. 10. Kelley, J. E. Jr. (1963). “The Critical-Path Method: Resources Planning and Scheduling.” In J. F. Muth and G. L. Thompson (Eds.), Industrial Scheduling, Prentice-Hall, New Jersey, 347-365. Kim, J.-L., and Ellis, R. D. (2005). “A Fram ework for Integration Model of ResourceConstrained Scheduling using Genetic Algorithms,” Proceedings of the 2005 Winter Simulation Conference, M. E. Kuhl, N. M. Steiger, F. B. Armstrong, and J. A. Joines, eds., December 4-7, Orlando, FL, 2119-2126 (CD-Rom). Kirkpatrick, S., Gellat, C. D., and Veccchi, M. P. (1983). “Optimization by Simulated Annealing.” Science, 220: 671-680. Klein, R. (2000). “Project Scheduling w ith Time-Varying Resource Constraints.” International Journal of Pr oduction Research, 38(16): 3937-3952. Kochetov, Y. and Stolyar, A. (2003). “Evol utionary Local Search with Variable Neighborhood for the Resource Constraine d Project Scheduling Problem.” In proceedings of the 3rd Internationa l Workshop of Computer Science and Information Technologies, Russia. Kohlmorgen, U., Schmeck, H., and Haase, K. (1999). “Experiences with Fine-Grained Parallel Genetic Algorithms.” Annals of Operations Research, 90: 203-219. Kolisch, R. (1995). “Project Scheduling under Resource Constraints-Efficient Heuristics for Several Problem Classes.” Physica, Heidelberg. Kolisch, R. (1996a). “Efficient Priority Ru les for the Resource-Constrained Project Scheduling Problem.” Journal of Operations Management, 14:179–192. Kolisch, R. (1996b). “Serial and Parallel Resource-Constrained Project Scheduling Methods Revisited: Theory and Computa tion.” European Journal of Operational Research, 90: 320-333. Kolisch, R., and Drexl, A. (1996). “Adaptive Search for Solving Hard Project Scheduling Problems.” Naval Research Logistics, 43: 23-40.

PAGE 230

214 Kolisch, R., and Hartmann, S. (1999). “Heuristic Algorithms for the ResourceConstrained Project Scheduling Proble m: Classification and Computational Analysis.” In: J. Weglarz (Ed.), Project Scheduling-Recent Models, Algorithms and Applications, Kluwer Academic Publishers, Boston, 147-178. Kolisch, R., and Hartmann, S. (2005). “Experime ntal Investigation of Heuristics for Resource-Constrained Project Scheduling: An Update.” European Journal of Operational Research, In Press. Kolisch, R., and Sprecher, A. (1996). “PSPLIB A Project Scheduling Problem Library.” European Journal of Operat ional Research, 96: 205-216. Kolisch, R., Sprecher, A., and Drexl, A. ( 1995). “Characterization and Generation of a General Class of Resource-Constrained Project Scheduling Problems.” Management Science, 41(10): 1693-1703. Lee, J.-K., and Kim, Y.-D. (1996). “Search He uristics for Resource-Constrained Project Scheduling.” The Journal of the Operat ional Research Society, 47(5): 678-689. Lee, K. Y., Cho, S., and Roh, M. L. ( 2002). “An Efficient Global-Local Hybrid Optimization Method using Design Sensitivity Analysis.” Int. J. Veh. Des., 28(4): 300-317. Leon, V. J., and Ramamoorthy, B. (1995). “Str ength and Adaptability of Problem-Space Based Neighborhoods for Resource-Constrai ned Scheduling.” OR Spektrum, 17: 173-182. Leu, S., Chen, A., and Yang, C. (2001). “A GA-Based Fuzzy Optimal Model for Construction Time-Cost Trade-Off.” Intern ational Journal of Project Management, 19: 47-58. Leu, S., and Yang, C. (1999). “GA-Based Mul ticriteria Optimal Model for Construction Scheduling.” Journal of Construction Engineering and Management, ASCE, 125(6): 420-427. Li, H., Cao, J., and Love, P. E. D. (1999) . “Using Machine Learning and GA to Solve Time-Cost Trade-Off Problems.” Journa l of Construction Engineering and Management, ASCE, 125(5): 347-353. Li, K. Y., and Willis, R. J. (1992). “An It erative Scheduling Technique for ResourceConstrained Project Scheduling.” European Journal of Operational Research, 56: 370-379. Liu, G. R., Han, X., and Lam, K. Y. ( 2002). “A Combined Genetic Algorithm and Nonlinear Least Squares Method for Mate rial Characterization using Elastic Waves.” Comput. Methods Appl. Mech. Eng., 191(17-18): 1909-1921.

PAGE 231

215 Lobo, F., and Goldberg, D. E. (1997). “Decision Making in a Hybrid Genetic Algorithm.” Proc. 1997 IEEE Conference on Evolutionary Computation, IEEE, New York, 121-125. Lova, A., Maroto, C., and Tormos, P. ( 2000). “A Multicriteria Heuristic Method to Improve Resource Allocation in Multiproject Scheduling.” European Journal of Operational Research, 127: 408-424. Mahinthakumar, G., and Sayeed, M. (2005) . “Hybrid Genetic Algorithm-Local Search Methods for Solving Groundwater Source Id entification Inverse Problems.” Journal of Water Resources Planning a nd Management, ASCE, 131(1): 45-57. Merkle, D., Middendorf, M., and Schmeck, H. (2002). “Ant Colony Optimization for Resource-Constrained Project Scheduling.” IEEE Transactions on Evolutionary Computation, 6(4): 333-346. Michalewicz, Z. (1994). Genetic Algorithm + Data Structure = Evol ution Programs. 2nd Ed., Springer-Verlag Berlin Heidelberg, New York. Mingozzi, A., Maniezzo, V., Ricciardelli, S., and Bianco, L. (1998). “An Exact Algorithm for the Resource-Constrained Project Scheduling Problem Based on a New Mathematical Formulation.” Mana gement Science, 44(5): 714-729. Mladenovic, N., and Hansen, P. (1997). “V ariable Neighborhood Search.” Computers & Operations Research, 24:1097-1100. Möhring, R., Schulz, A., Stork, F., and Ue tz, M. (2003). “Solvi ng Project Scheduling Problems by Minimum Cut Co mputations.” Management Science, 49(3): 330-350. Moselhi, O., and Lorterapong, P. (1993). “Least Impact Algorithm for Resource Allocation.” Canadian Journal of Ci vil Engineering, CS CE, 20(2): 180-188. Nonobe, K., and Ibaraki, T. (2002). “Formu lation and Tabu Search Algorithm for the Resource Constrained Project Scheduling Problem.” In C. C. Ribeiro and P. Hansen, editors, Essays and Surveys in Meta-heuristics, Kluwer Academic Publishers, 557–588. Obitko, M. (1998). “Introduction to Genetic Al gorithms with Java Applets.” Retrieved from http://cs.felk.cvut.cz/~xobitko/ga/ on April 24, 2006. Okamoto, M., Nonaka, T., Ochiai, S., and To minaga, D. (1998). “Non-Linear Numerical Optimization with Use of a Hybrid Gene tic Algorithm Incorporating the Modified Powell Method.” Appl. Math. Comput., 91(1): 63-72. Özdamar, L., and Ulusoy, G. (1994). “A Local Constraint Based Analysis Approach to Project Scheduling under General Resource Constraints.” European Journal of Operational Research, 79: 287-298.

PAGE 232

216 Özdamar, L., and Ulusoy, G. (1995). “A Survey on the Resource-Constrained Project Scheduling Problem.” IIE Transactions, 27: 574-586. Özdamar, L., and Ulusoy, G. (1996). “A No te on an Iterative Forward/Backward Scheduling Technique with Reference to a Procedure by Li and Willis.” European Journal of Operational Research, 89: 400-407. Pal, K. F. (1995). “Genetic Algorithm with Local Optimization.” Biol. Cybern., 73(4): 335-341. Palpant, M., Artigues, C., and Michelon, P. (2004). “LSSPER: Solving the Resource– Constrained Project Scheduling Prob lem with Large Neighbourhood Search.” Annals of Operations Research, 131: 237-257. Pan, L. H., and Wu, L. S. (1998). “A Hybr id Global Optimization Method for Inverse Estimation of Hydraulic Parameters: A nnealing-Simplex Method.” Water Resour. Res., 34(9): 2261-2269. Panagiotakopoulos, D. (1977). “Cost-Time Model for Large CPM Project Networks.” Journal of the Construction Di vision, ASCE, 103(CO2): 201-211. Patterson, J. H., and Huber, W. D. (1974). “A Horizon-Varying, Zero-One Approach to Project Scheduling.” Manageme nt Science, 20(6): 990-998. Patterson, J. H., and Roth, G. W. (1976). “S cheduling a Project under Multiple Resource Constraints: A Zero-One Programming A pproach.” AIIE Transactions, 8: 449-455. Patterson, J. H. (1984). “A Comparison of Ex act Approaches for Solving the Multiple Constrained Resource, Project Scheduli ng Problem.” Management Science, 30: 854-867. Pinson, E., Prins, C., and Rullier, F. (1994). “Using Tabu Search for Solving the Resource-Constrained Project Scheduling Problem.” In Proceedings of the 4th International Workshop on Project Manage ment and Scheduling, Leuven, Belgium, 102-106. Porsani, M. J., Stoffa, P. L., Sen, M. K., and Chunduru, R. K. (2000). “Fitness Functions, Genetic Algorithms, and Hybrid Optimizati on in Seismic Waveform Inversion.” J. Seism. Explor., 9(2): 143-164. Pritsker, A. A. B., Watters, L. J., and Wolfe, P. M. (1969). “Multiproject Scheduling with Limited Resources: A Zero-One Programm ing Approach.” Management Science, 16(1): 93-108. Rantanen, H. (2004). Analyzi ng the Random Walk Algorithm for SAT, Master’s Thesis, Department of Electrical and Communications Engineering, Helsi nki University of Technology, October 15, Espoo.

PAGE 233

217 Rayward-Smith, V. J., Osman, I. H., Reeves , C. R., and Smith, G. D. (1996). Modern Heuristic Search Methods, John Wiley and Sons, Inc., New York, N.Y. Reeves, C. R. (1995). “Genetic Algor ithms and Combinatorial Optimization.” Applications of Modern Heuristic Met hods, V. J. Rayward-Smith (ed.), Alfred Waller, Henley-on-Thames, 111-125. Rumelhart, D. E., and McClelland, J. L. (1992). Parallel Distributed Processing, Explorations in the Microstructure of Cognition. Volume 1, MIT Press, Cambridge. Sabatini, A. (2000). “A Hybrid Genetic Algo rithm for Estimating the Optimal Time Scale of Linear Systems Approximations usi ng Laguerre Models.” IEEE Trans. Autom. Control, 45(5): 1007-1011. Sakawa, M. (2002). Genetic Algorithms and Fuzzy Multiobjective Optimization. Kluwer Academic Publishers, Norwell, Massachusetts. Schirmer, A. (2000). “Case–Based Reasoning and Improved Adaptive Search for Project Scheduling.” Naval Research Logistics, 47: 201-222. Senouci, A. B., and Eldin, N. N. (2004). “U se of Genetic Algorithms in Resource Scheduling of Construction Projects.” J ournal of Construction Engineering and Management, ASCE, 130(6): 869-877. Shanmuganayagam, V. (1989). “Current Fl oat Techniques for Resource Scheduling.” Journal of Construction Engineering and Management, ASCE, 115(3): 401-411. Sinha, A., and Goldberg, D. E. (2001). Veri fication and Extension of the Theory of Global-Local Hybrids. Illinois Genetic Algorithms Laboratory, ILLIGAL Rep. No. 2001010, Urbana, Ill. Slowinski, R. (1980). “Two Approaches to Problems of Re source Allocation among Project Activities-A Comparative Study.” The Journal of the Operational Research Society, 31(8): 711-723. Son, J., and Skibniewski, M. J. (1999). “Mul tiheuristic Approach for Resource Leveling Problem in Construction Engineering: H ybrid Approach.” Journal of Construction Engineering and Management, ASCE, 125(1): 23-31. Spitzer, F. (1976). Principles of Random Walk. 2nd Ed., Springer-Verlag, New York. Sprecher, A. (1996). Solving the RCPSP Effi ciently at Modest Memory Requirement. Technical Report, Manuskripte aus den In stituten fur Betriebswirtschaftslehre 425, University of Kiel, Germany. Sprecher, A. (2000). “Scheduling Resour ce-Constrained Projects Competitively at Modest Memory Requirements.” Management Science, 46(5): 710-723.

PAGE 234

218 Sprecher, A. (2002). “Network Decompos ition Techniques for Resource-Constrained Project Scheduling.” Journal of the Oper ational Research Society, 53(4): 405-414. Sprecher, A., Kolisch, R., and Drexl, A. (1995). “Semi-Active, Active, and Non-Delay Schedules for the Resource-Constrained Project Scheduling Problem.” European Journal of Operational Research, 80: 94-102. Stinson, J. P., Davis, E. W., and Khumawala, B. M. (1978). “Multiple ResourceConstrained Scheduling using Branch a nd Bound.” AIIE Transactions, 10(3): 252259. Talbot, F. B., and Patterson, J. H. (1978). “An Efficient Intege r Programming Algorithm with Network Cuts for Solving Resour ce-Constrained Scheduling Problems.” Management Science, 24(11): 1163-1174. Thesen, A. (1976). “Heuristic Scheduling of Activities under Resource and Precedence Restrictions.” Management Science, 23(4): 412-422. Thomas, P. R., and Salhi, S. (1998). “A Tabu Search Approach for the Resource Constrained Project Scheduling Problem. ” Journal of Heuristics, 4: 123-139. Toklu, Y. C. (2002). “Applica tion of Genetic Algorithms to Construction Scheduling With or Without Resource Constraints.” Ca nadian Journal of Ci vil Engineering, 29: 421-429. Tormos, P., and Lova, A. (2001). “A Comp etitive Heuristic Solution Technique for Resource Constrained Project Scheduling.” Annals of Operations Research, 102: 65-81. Tormos, P., and Lova, A. (2003). “An Effi cient Multi-Pass Heuristic for Project Scheduling with Constrained Resources.” International J ournal of Production Research, 41(5): 1071-1086. Ulusoy, G., and Özdamar, L. (1989). “Heuri stic Performance and Network/Resource Characteristics in Resource-Constrained Project Scheduling.” The Journal of the Operational Research Society, 40(12): 1145-1152. Valls, V., Ballestin, F., and Quin tanilla, S. (2004). “A Popul ation-Based Approach to the Resource-Constrained Project Scheduli ng Problem.” Annals of Operations Research, 131: 305-324. Valls, V., Ballestin, F., and Quintanilla, S. (2005). “Justification and RCPSP: A Technique That Pays.” European Journa l of Operational Research, 165: 375-386. Valls, V., Quintanilla, S., and Ballesti n, F. (2003). “Resource-Constrained Project Scheduling: A Critical Activity Reordering Heuristic.” European Journal of Operational Research, 149: 282-301.

PAGE 235

219 Waltz D. L. (1975). “Understan ding Line Drawings of Scen es with Shadows.” In The Psychology of Computer Vi sion, P. H. Winston, ed. McGraw-Hill, 19-91. Weglarz, J. (1980). “On Certain Models of Resource Allocation Problems.” Kybernetes, 2(1): 61-66. Whitley, D. (1989). “The GENITOR Algorithm a nd Selection Pressure.” Proceeding of the 3rd International C onference on Genetic Algorithms, Morgan-Kaufmann, 116121. Whitley, D. (1993). “A Genetic Algor ithms Tutorial.” Retrieved from http://samizdat.mines.edu/ga_tutorial/ on April 18, 2004. Wiest, J. D. (1963). The Scheduling of Large Projects with Limited Resources, Unpublished Ph.D. Thesis, Carneg ie Institute of Technology, 24-27. Wiest, J. D. (1967). “A Heuristic Model fo r Scheduling Large Projects with Limited Resources.” Management Science, 13(6): B359-B377. Wiest, J. D., and Levy, F. K. (1977). A Management Guide to PERT/CPM. 2nd Ed., Prentice-Hall, Inc., Englewood Cliffs, N.J. Willis, R. J., and Hastings, N. A. J. (1976). “Project Scheduling with Resource Constraints using Branch and Bound Met hods.” Operational Research Quarterly (1970-1977), 27(2): 341-349. Zheng, D. X. M., and Ng, S. T. (2005). “Stochastic Time-Cost Optimization Model Incorporating Fuzzy Sets Theory and Nonreplaceable Front.” Journal of Construction Engineering and Management, ASCE, 131(2): 176-186. Zheng, D. X. M., Ng, S. T., and Kumara swamy, M. M. (2005). “Applying Pareto Ranking and Niche Formation to Genetic Algorithm-Based Multiobjective TimeCost Optimization.” Journal of Construc tion Engineering and Management, ASCE, 131(1): 81-91. Zhuang, M., and Yassine, A. A. (2004). “Tas k Scheduling of Parallel Development Projects using Genetic Algorithm.” Pro ceedings of ASME 2004 International Design Engineering Technical Conference s and Computers and Information in Engineering Conference, Salt Lake City, Utah USA, September 28-October 2, 2004, 1-11.

PAGE 236

220 BIOGRAPHICAL SKETCH Jin-Lee Kim was born in Jecheon, South Ko rea, on October 2, 1972, the oldest of two sons and two daughters and raised in the same city. He received his Bachelor of Engineering degree in archite ctural engineering from C hungbuk National University in Cheongju, South Korea, in February of 1998. He is a certified archit ectural engineer as well as a certified construction safety engineer in South Korea. He is a member of Korean Institute of Architecture. From 1998 to 2000, he continued his study at graduate school and received his Master of Engineering degree in building structure in architectural engineering from the same university. After th at, he decided to go to America and pursue his Master of Engineering degree, enteri ng the civil engineering program at the University of Florida, Gainesville, in August 2001. Before he came to America, he married a lovely lady, Seonyeong Byeon. Their extremely adorable daughter, Jeanna Kim, was born in 2002 and their son, Eric B. Kim, was born almost two years later. He graduated with a second Master of Engineer ing degree in civil engineering in 2002. From 2002 to 2006, he was employed at the University of Florida as a research and teaching assistant for a federal and state-funded project. He has been a regist ered Engineer Intern at the state of Florida since 2005. He continued his research at the University of Florida and graduated in August 2006 with the de gree of Doctor of Philosophy in civil engineering and with a minor in statistics.