Improved crossover and mutation operators for Genetic-Algorithm project scheduling

8
Abstract—In Genetic Algorithms (GAs) technique, offspring chromosomes are created by merging two parent chromosomes using a crossover operator or modifying an existing chromosome using a mutation operator. However, in scheduling problems in which the genes represent activities' start times, the crossover and mutation operators may cause violation of the precedence relationships in the offspring chromosomes. This paper proposes improved crossover and mutation algorithms to directly devise feasible offspring chromosomes. The proposed algorithms employed the traditional Free Float (FF) and a newly-introduced Backward Free Float (BFF). The obtained results exhibited robustness of the proposed algorithms to reduce the computational costs, and high effectiveness to search for optimal solutions. Moreover, validation was performed by comparing the results against the exact solutions obtained by the Integer Programming (IP) technique. I. INTRODUCTION In GAs, potential solutions to a problem are represented as a population of chromosomes whereas each chromosome represents a possible solution. Each chromosome in turn is composed of a string of values each is being referred to as a gene. The chromosomes evolve through successive generations. To exploit and explore potential solutions, offspring chromosomes are created by merging two parent chromosomes using a crossover operator or modifying an existing chromosome using a mutation operator. There are many methods of crossover and mutation operators. One method of crossover operators is the one-cut-point method which randomly selects one cut-point at parent chromosomes and exchanges the genes at one side of the cut points of the two parent chromosomes to generate two offspring chromosomes. One method of mutation operators is the uniform mutation method which alters one or more genes in the chromosome within a specified range, according to a predefined mutation rate. During each generation, the chromosomes are evaluated on their performances with respect to the fitness functions (objective functions). Chromosomes of high fitness have higher survival Manuscript received November 14, 2008. This research was part of a research project No. SB070012 supported by King Fahd University of Petroleum & Minerals. M. A. Abido is with King Fahd University of Petroleum & Minerals, Dhahran, 31261 Saudi Arabia (corresponding author phone: +966-03-860- 4379; fax: +966-03-860-3535; e-mail: [email protected]). A. M. Elazouni is with King Fahd University of Petroleum & Minerals, Dhahran, 31261 Saudi Arabia (e-mail: [email protected]). probabilities. After several generations, chromosomes in the new generation may be closely identical, or certain termination conditions are met. The final chromosomes hopefully represent the optimal or near-optimal solutions to a problem. The method of gene coding in a chromosome hinges upon the problem at hand [1]. The typical time/cost trade-off problem can be formulated as a numerical optimization problem in the GAs. In this particular problem, the values of the genes in a chromosome represent possible durations of the project activities. The one-cut-point crossover and uniform mutation operators can be used efficiently for the time/cost trade-off problems. Resource allocation problems represent a typical ordering problem as the main concern is to determine the activities' priority to fulfill the constrained resources. Accordingly, the genes represent activities' identifications and a chromosome represents a possible order of activities. A chromosome structure can be such that an activity in a higher order from left to right has a higher priority of getting resources than the previous activities. However, there is a possibility that character duplication and/or omission occurs after implementing the crossover and mutation operators. Likewise, the unlimited resource leveling problem can be translated into a normal numerical optimization problem using GAs technique. Resource leveling problems represent a typical scheduling problem with the objective of minimizing the fluctuation in resource usage. The genes represent activities' start times and a chromosome represents a possible project schedule. In contrast with ordering problems, scheduling problems features specific precedence relationships among genes. Accordingly, the implementation of the one-cut-point crossover and uniform mutation operators for the leveling problem may cause violation of the precedence relationships of the offspring chromosomes. This problem entails checking the output chromosomes of the crossover and mutation operators and repairing of the infeasible chromosomes. This check/repair process causes considerable computational efficiency to the GAs technique. This paper addresses the problem of generating infeasible project schedules in scheduling problems using the basic GAs technique. Definitely, the paper proposes improved algorithms to directly devise feasible crossover and uniform mutation operators. In addition, this paper demonstrates how the proposed algorithms reduce the computational costs and increase the efficiency in searching for optimal solutions. Improved Crossover and Mutation Operators for Genetic- Algorithm Project Scheduling M. A. Abido and A. Elazouni 1865 978-1-4244-2959-2/09/$25.00 c 2009 IEEE

Transcript of Improved crossover and mutation operators for Genetic-Algorithm project scheduling

Abstract—In Genetic Algorithms (GAs) technique, offspring chromosomes are created by merging two parent chromosomes using a crossover operator or modifying an existing chromosome using a mutation operator. However, in scheduling problems in which the genes represent activities' start times, the crossover and mutation operators may cause violation of the precedence relationships in the offspring chromosomes. This paper proposes improved crossover and mutation algorithms to directly devise feasible offspring chromosomes. The proposed algorithms employed the traditional Free Float (FF) and a newly-introduced Backward Free Float (BFF). The obtained results exhibited robustness of the proposed algorithms to reduce the computational costs, and high effectiveness to search for optimal solutions. Moreover, validation was performed by comparing the results against the exact solutions obtained by the Integer Programming (IP) technique.

I. INTRODUCTION

In GAs, potential solutions to a problem are represented as a population of chromosomes whereas each chromosome represents a possible solution. Each chromosome in turn is composed of a string of values each is being referred to as a gene. The chromosomes evolve through successive generations. To exploit and explore potential solutions, offspring chromosomes are created by merging two parent chromosomes using a crossover operator or modifying an existing chromosome using a mutation operator. There are many methods of crossover and mutation operators. One method of crossover operators is the one-cut-point method which randomly selects one cut-point at parent chromosomes and exchanges the genes at one side of the cut points of the two parent chromosomes to generate two offspring chromosomes. One method of mutation operators is the uniform mutation method which alters one or more genes in the chromosome within a specified range, according to a predefined mutation rate. During each generation, the chromosomes are evaluated on their performances with respect to the fitness functions (objective functions). Chromosomes of high fitness have higher survival

Manuscript received November 14, 2008. This research was part of a research project No. SB070012 supported by King Fahd University of Petroleum & Minerals.

M. A. Abido is with King Fahd University of Petroleum & Minerals, Dhahran, 31261 Saudi Arabia (corresponding author phone: +966-03-860-4379; fax: +966-03-860-3535; e-mail: [email protected]).

A. M. Elazouni is with King Fahd University of Petroleum & Minerals, Dhahran, 31261 Saudi Arabia (e-mail: [email protected]).

probabilities. After several generations, chromosomes in the new generation may be closely identical, or certain termination conditions are met. The final chromosomes hopefully represent the optimal or near-optimal solutions to a problem.

The method of gene coding in a chromosome hinges upon the problem at hand [1]. The typical time/cost trade-off problem can be formulated as a numerical optimization problem in the GAs. In this particular problem, the values of the genes in a chromosome represent possible durations of the project activities. The one-cut-point crossover and uniform mutation operators can be used efficiently for the time/cost trade-off problems. Resource allocation problems represent a typical ordering problem as the main concern is to determine the activities' priority to fulfill the constrained resources. Accordingly, the genes represent activities' identifications and a chromosome represents a possible order of activities. A chromosome structure can be such that an activity in a higher order from left to right has a higher priority of getting resources than the previous activities. However, there is a possibility that character duplication and/or omission occurs after implementing the crossover and mutation operators.

Likewise, the unlimited resource leveling problem can be translated into a normal numerical optimization problem using GAs technique. Resource leveling problems represent a typical scheduling problem with the objective of minimizing the fluctuation in resource usage. The genes represent activities' start times and a chromosome represents a possible project schedule. In contrast with ordering problems, scheduling problems features specific precedence relationships among genes. Accordingly, the implementation of the one-cut-point crossover and uniform mutation operators for the leveling problem may cause violation of the precedence relationships of the offspring chromosomes. This problem entails checking the output chromosomes of the crossover and mutation operators and repairing of the infeasible chromosomes. This check/repair process causes considerable computational efficiency to the GAs technique.

This paper addresses the problem of generating infeasible project schedules in scheduling problems using the basic GAs technique. Definitely, the paper proposes improved algorithms to directly devise feasible crossover and uniform mutation operators. In addition, this paper demonstrates how the proposed algorithms reduce the computational costs and increase the efficiency in searching for optimal solutions.

Improved Crossover and Mutation Operators for Genetic-Algorithm Project Scheduling

M. A. Abido and A. Elazouni

1865978-1-4244-2959-2/09/$25.00 c© 2009 IEEE

II. LITERATURE REVIEW

Many researchers focused on the problem of reproducing infeasible offspring chromosomes. Reference [2] used GAs to schedule laboratory activities with precedence, time, and resource constraints. Reference [2] solved the problem by using a schedule builder (incorporating domain-specific heuristics) to repair the infeasible chromosomes. This added a considerable amount of work outside the main GA algorithm and the efficiency of the GA search was reduced. Reference [3] proposed the concept of sorting random keys to avoid infeasible schedules. The keys could be used to represent relative priorities between choices remaining after domain constraints were satisfied. The advantage of using random numbers is that even after recombination, the numbers can be sorted to produce a feasible schedule each time. Reference [4] used the delay in starting time of each activity to represent the genes in the chromosome.

References [5] and [6] proposed improved GAs system to facilitate time-cost optimization and compared its results with the results obtained by a basic GAs system. The main constraints on the chromosome is that the sum of gene values of a string is the total crashing time required to catch up with the overrun time, this sum is a fixed value. In the basic GAs system, a group of feasible solutions, which are encoded in strings, are given to the GAs system. The fitness values of solutions are evaluated by the objective function and its constraints. If a given solution satisfies the constraints, then it is a feasible solution otherwise it is labeled as an infeasible solution and given a weight of zero. The reproduction procedure considers only the solutions with nonzero values of weights for further processing. However, it was noticed that most new strings generated from crossover and mutation in the basic GAs became infeasible solutions. The improved GAs introduced an additional operation after the basic crossover to ensure that the offspring chromosomes are still feasible. This operation calculates the difference between the expected total crashing time and the total crashing time in the offspring chromosome and then distributes the difference evenly over the non-zero boxes. A similar operation is followed for the mutation process. The results indicated that the improved GAs system outperformed the basic system.

Reference [7] proposed a multi-criteria computational optimal scheduling model which integrates the time/cost trade-off model, resource-limited model, and resource leveling model, using the GAs technique. To overcome the computational inefficiency due to the repair, a new crossover UX3 operator was developed to modify the union crossover UX2 which was developed earlier [8] to make it suitable to the construction scheduling problems. UX2 performs the chromosome crossover by creating two exclusive substrings from parent strings and then randomly writing the elements directly to the offspring strings. UX2 can avoid the problem of character duplication after the chromosome crossover; however, activity precedence relationships may not be maintained. Ux3 takes account of activity precedence

relationships when writing characters from substrings into the offspring chromosomes.

Reference [9] developed a GAs model for construction resource scheduling. They addressed the issue of the treatment of infeasible schedules introduced by the GA operations. They argued that three issues are involved in choosing a suitable chromosome representation: the choice of decision variables being coded, the mapping from activity to gene position on chromosome, and the form of coding to be used for gene values. For the first issue, this study adopted the concept of [3] where the gene values are real numbers which code for two decisions: the scheduling priority of an activity, and the percentage of current float to be utilized before the start of the activity. For the second issue they argued that there is a simple mapping where the first activity would occupy the first gene position and so on and a topological mapping which sorts activities using precedence relationships as the criteria with activities of the same topological rank are mapped to a contiguous segment of the chromosome. They observed that the topological mapping representation always outperforms the linear mapping. Regarding the third issue, there are two widely used forms of coding for gene values are the binary and floating-point representations. They argued that the use of random keys and a floating-point representation enabled solutions to be found for several difficult representation and coding issues. They commented that their use is not without its cost, since they impose an overhead during the search of schema by the GA.

Reference [10] in a resource-constrained project scheduling problem with multiple execution modes for each activity, introduced a crossover which considers the activity list concept, precedence feasibility, and the mode assignment. The mutation operator is applied to each newly generated child individual. It first modifies the related activity list with a given mutation probability if the result is an activity list which fulfills the precedence assumption. Next, the mutation operator modifies the mode assignment if some position is to be modified. Reference [11] proposed two-dimensional crossover and mutation operators for scheduling problems along with a repairing mechanism to adjust infeasible chromosomes into feasible ones. Reference [12] evaluated several genetic operators including; compounded partially mapped crossover, position-based crossover, swap mutation, and local search-based mutation to develop a hybrid genetic algorithm with fuzzy logic controller which solves the resource-constrained project scheduling problem. Reference [13] developed a genetic algorithm for resource investment project scheduling problem. The chromosome is constructed from two parts; the first part is an activity sequence, and the second part is a list of available resource capacities. When crossover is used, it is done both on activity list and capacity list sections of the chromosomes. They developed one crossover operator and used two crossover operators of [14]. The three operators create precedence feasible activity lists. Reference [15] used

1866 2009 IEEE Congress on Evolutionary Computation (CEC 2009)

chromosomes with encodes activities' forward and backward floating times at the obtained schedule of the chromosome. According to this chromosome structure they developed crossover and mutation operators and two local improvement operators including empty periods removal and activities shifting.

III. PROPOSED CROSSOVER AND MUTATION

The algorithms for generating the initial population, and crossover and mutation operators are explained and demonstrated using the 13-activity CPM network shown in Figure 1.

Fig. 1. CPM network of a 13-activity project

A. Initial Population The seven-day extension scheme shown in Figure 2 of the

13-activity CPM network is used to illustrate the generation of the chromosomes of the initial population. The extension scheme, as explained in detail in [16], is obtained by extending the total floats of activities by seven-day extension increment. The extended total floats, referred to as adjusted total floats, are indicated with dotted lines in front of activities in Figure 2. Activities A till M of the generated chromosome in Figure 2 are denoted by the same letters but with prime. The illustrated steps of the algorithm are as follows:

--First, Identify activities with no predecessors, i.e., Activities A, B, C, and D.

--Second, Pick up the first activity in the list of the activities identified in First step; Activity A.

Fig. 2. Seven-day extension scheme of the 13-activity network.

--Third, Select a random start time of the activity in Second step such that the activity ends before the end of the adjusted total float, say day 3 for activity A.

--Fourth, Repeat the Second and Third steps for all the activities identified in First step, say start Activity B at day 5; Activity C at day 4; and activity D at day 7.

--Fifth, Identify all activities that depend exclusively on either all or some of the activities identified in First step; i.e., activities E, F, G, and H.

--Sixth, Pick up the first activity in the list of the activities identified in Fifth step; Activity E.

--Seventh, Select a random start for the activity in Sixth step allowing all preceding activities to finish, say day 6 is the selected start time of activity E.

--Eighth, Repeat Sixth and Seventh steps to select randomly start times for all activities identified in Fifth step, say day 9 for activity F, day 6 for activity G, and day 10 for activity H.

--Ninth, Repeat Fifth till Eighth steps for the activities last scheduled until all the project activities are scheduled; activities I, and J are scheduled first with activity I starts at day 9 and activity J starts at day 13; Next, activities K, L, and M are scheduled with activity K starts at day 13, activity L starts at day 12, and activity M starts at day 17.

B. Proposed Crossover The algorithm of crossover operator comprises two paths;

forward path and backward path. The latter utilizes the conventional Free Float (FF) while the former utilizes a new type of floats referred to herein as Backward Free Float (BFF). BFF is the number of days the start time of an

2009 IEEE Congress on Evolutionary Computation (CEC 2009) 1867

activity can be advanced without violating the finish-to-start relationships between this activity and the preceding activities. The BFF arises with the device of extension scheme when a certain activity is shifted forward leaving a gap between the start time and the finish times of the preceding activities. The algorithm is explained in the steps below using the 13-activity project and demonstrated in figure 3:

Fig. 3. Proposed crossover operator.

--First, Select randomly two parent chromosomes from the population. It is to be noted that parent-one chromosome is the generated chromosome shown in figure 2.

--Second, Calculate the BFF of the activities. The BFF values of the starting activities (A, B, C, and D) are considered null so as not to allow these activities to move backwards.

--Third, Calculate the Free Float (FF) of the activities. The FF values of the terminating activities (K, L, and M) are considered null so as not to allow these activities to move forwards.

--Fourth, Select randomly the cut-point activity; it is located after the first seven genes.

--Fifth, Form the chromosomes for two children by randomly selecting to implement forward path or backward path as follows:

1) Forward Path: --Step1, The first and second-child chromosomes

are formed by copying the start times of the activities to the left sides of the cut points of parents one and two respectively into the left-hand parts of the child chromosomes.

--Step2, The start times of the activities of the right-hand parts of the first and second-child chromosomes are determined by forwardly applying the BFF values of their counterparts in parents two and one respectively to the finish times of the preceding activities in the left-hand parts of child chromosomes.

--Step3, Forward path may result in durations of the offspring chromosomes that exceed the duration of the extension scheme. This happened in child one as activity M ends at day 22. These chromosomes are considered infeasible.

2) Backward Path: --Step1, The first and second-child chromosomes

are formed by copying the start times of the activities to the right sides of the cut points of parents one and two respectively into the right-hand parts of the child chromosomes.

--Step2, The finish times of the activities of the left-hand parts of the first and second-child chromosomes are determined by backwardly applying the FF values of their counterparts in parents two and one respectively to the start times of the following activities in the right-hand parts of the child chromosomes. The start times are determined based on the finish times.

--Step3, Backward path may result in negative start time of a certain activities in the beginning on the network. In this case, the start times of all the activities of the network are increased to make this activity starts at day zero.

C. Proposed Mutation: The steps of the algorithm of mutation operator is outlined

below and illustrated in Figure 4:

Fig. 4. Proposed mutation operator.

--First, Select randomly one activity; say activity E. --Second, Determine the FF and BFF of the selected

activity; for activity E, the FF is 4 days, and the BFF is one day.

--Third, Shift randomly the activity forward or backward within the values of the FF or BFF respectively; the start of activity E is shifted by two days.

IV. RESULTS

For the purpose of evaluating the performance of the proposed crossover and mutation operators, the GAs system was utilized to construct finance-based schedules. Finance-based scheduling [16] insures that; the indebtedness of the contractor never top the specified credit limit; the financing cost is minimized and consequently the profit at the end of the project is maximized. The GAs system was coded using FORTRAN and run on a desktop of 1.8 GHz processor and 512 MB ram.

To evaluate the effectiveness of the proposed crossover and mutation operators, two GAs systems based on both the

1868 2009 IEEE Congress on Evolutionary Computation (CEC 2009)

conventional and proposed operators were tested on three CPM networks of repetitive activities constituting 30, 60, and 120 activities. The 30-activity network is shown in Figure 5. The values used for the financial parameters are presented in Table 1. To provide common grounds for comparison, 100 identical schedules as an initial population for both the conventional and the proposed GAs systems are generated. Then, the crossover and uniform mutation methods were employed to generate 100 offspring schedules for each generation. The performance of the conventional and proposed GAs systems is evaluated after the completion of 1000, and 100 generations for the 30, and 120-activity networks respectively. Tables 2, and 3 present the results of performance criteria for the conventional and proposed GA systems for the 30, and 120-activity networks at credit limits of 63000 and 300000 respectively. The results were obtained at mutation probability percentages that cover the range from 1% till 20% and crossover probability percentages that cover the range from 60% till 100%. The criteria used to evaluate the performance of the two GA systems include the processing time, profit, project duration, and percentage of infeasible solutions.

Fig. 5. CPM network of 30-activities.

TABLE I VALUES OF THE FINANCIAL PARAMETERS.

TABLE II DATA OF THE 30-ACTIVITY NETWORK.

Infeasible schedules often arise upon using typical crossover and mutation in chromosome reproduction. Infeasible schedules are those undergoing dependency violations and thus must be discarded. The conventional GAs system omits the infeasible schedules and continues the reproduction process till 100 feasible schedules are devised for each generation. The higher the encountered number of infeasible schedules the longer the processing time the GAs system takes to complete the generations. Contrarily, the proposed GAs system employs a feasibility-preserving mechanism that ensures the fulfillment of dependency among activities. However, a chromosome was considered infeasible in the proposed GAs system when the duration exceeds the duration of the extension scheme. Though these chromosomes yet to be valid schedules, and given the fact that the GAs system will eventually eliminate the unnecessarily-extended schedules, the proposed GAs system considers these chromosomes infeasible and consequently discards them. Tables 2, and 3 indicate that the percentage of infeasible solutions in the proposed GAs system was negligible compared to that of the conventional GAs system.

TABLE III DATA OF THE 120-ACTIVITY NETWORK.

Figure 6 shows that the processing time values of the

2009 IEEE Congress on Evolutionary Computation (CEC 2009) 1869

proposed GAs system is appreciably less than the values of the conventional GAs system at a mutation percentage of 10% for 30-activity networks. The processing time of the conventional GAs system increases exponentially at higher mutation percentages. In addition, Figure 6 indicates that at mutation percentages of 15%, the processing time of the conventional GAs system varies appreciably as the crossover percentage varies from 60% to 100%. This variation is very significant at a mutation percentage of 20%. The same trends of the exponential increase in processing time, and the appreciable variation at mutation percentage of 5% were observed in Figure 7 for 120-activity networks. The results indicate that the saving in processing time achieved by the proposed GAs system is approximately 97% at 100% crossover percentage and mutation percentages of 20% and 5% for the 30 and 120-activity networks respectively. However, no results were obtained by the conventional GAs system for the 120-activity networks after prolonged runtimes.

The observed exponential increase in the processing time values and the appreciable variation indicate that the conventional mutation and, with lesser impact, the conventional crossover produces too many infeasible solutions at every generation which leads to a prolonged processing time to synthesize the population. Thus, the conventional mutation above 10% for the 30-activity networks and 1% for 120-activity networks cause too much disturbance for the GAs system. On the other hand, the processing time of the proposed GAs system is almost fixed with no variation regardless of the percentages of mutation and crossover for the 30, and 120-activity networks. This happened because the percentages of infeasible solutions were very negligible. This indicates clearly that the proposed crossover and mutation operators continually introduce new solutions which substantially improve the efficiency of the GAs system. These results prove that the proposed crossover and mutation operators are very effective and provide robust tools for the GAs system.

For the 30 and 120-activity networks, Tables 2, and 3 indicate that, the profit values of the proposed GAs system are always higher than or at least the same as those of the conventional GAs system at all the percentages of the mutation and crossover. Figure 8 shows the profit values of two distinct groups of curves for the conventional and proposed GAs system of 120-activity networks. As mentioned above, the values of the conventional GAs system are not present for mutation percentages above 5%. Figure 8 shows that the best results of the proposed GAs system were obtained at mutation percentages that range from 1% to 5% and as the percentages increases, the profit decreases.

Fig. 6. Processing time of the 30-activity networks.

Fig. 7. Processing time of the 120-activity networks.

Figure 8 shows that at a mutation percentage of 1%, the profit values of the proposed GAs system were slightly higher whereas at a mutation percentage of 5%, the profit values of the proposed GAs system were considerably higher for the 120-activity network. This difference in profit values between the conventional and proposed GAs system was observed though the project duration values were the same. This difference can be attributed to a better quality of the feasible schedules generated in the case of the proposed GAs system. Though it took the conventional GAs system a prolonged processing time to generate the same number of feasible offspring chromosomes at a given generation, the quality of the generated chromosomes were not as good as the quality of those generated by the proposed GAs system. The inferior quality led to the lower profit values observed of the conventional GAs system. In other words, the feasible offspring chromosomes generated by the crossover and mutation offered less potentiality to improve the profit in the case of the conventional GAs system.

1870 2009 IEEE Congress on Evolutionary Computation (CEC 2009)

Fig. 8. Profit values of the 120-activity networks.

Figure 9 shows the convergence rate to the profit maximum value with increasing the number of generations of 60-activity network at a crossover probability of 60%, a mutation probability of 1% and %5, and a credit Limit of 115000. Figure 9 shows clearly that the proposed GAs system outperforms the conventional GAs system. When the maximum profit was reached after about 120 generations in the proposed GAs system, the profit value was far below in the conventional GAs system.

Fig. 9. Convergence rate of 60-activity network at crossover = 0.6, mutation = 0.01 and 0.05, and credit limit=115000.

V. VALIDATION

The GAs systems are always questionable regarding the proximity of the results to the optimum solutions. Thus, the proposed GAs system was compared to the results obtained by using the IP technique based on 30-activity network. Results of using the proposed GAs system were obtained at a weekly borrowing interest rate of 0.5%, and a markup percentage of 5%. The payments are issued one week after

the submission of the weekly pay requests. Due to the limited capability of the IP to model most of the income and expenditure cash flows, the remaining parameters were assigned zero values to ensure identical modeling of cash inflows and outflows in GAs system and IP.

The IP models were formulated according to [17]. The model formulates an objective function that minimizes the project duration under the financial, sequence, and activities' shifting constraints. Therefore, the fitness criterion of the GAs system was changed for the validation purpose to minimize the project duration as well. A program was developed using C# to formulate the constraints of the model and allows user to save in text files. The formulated objective function and constraints are entered to the optimization software of [18] to solve the model.

The GAs system was employed to determine the credit limits that cause extensions of 1 to 4 days in the project duration. Accordingly, four IP models each of 10-day extension increment were formulated at the determined credit limits and solved using Lingo. The problem of 30-activity network constituted 94 constraints with 395 decision variables. The decision variables represent the amounts of shifts in days. Table 4 presents the results which indicate that the GAs system output the same total duration of the IP in the four cases. The indebtedness of the contractor as of the end of weeks and the profit as of the end of the project are presented in Table 5.

TABLE IV START TIMES AND TOTAL DURATION OF

THE 30-ACTIVITY NETWORK.

2009 IEEE Congress on Evolutionary Computation (CEC 2009) 1871

TABLE V START TIMES AND TOTAL DURATION OF

VI. CONCLUSION

In scheduling problems, the issue of the treatment of infeasible schedules arises in the GAs systems when the conventional crossover and mutation operators are employed to generate offspring chromosomes. The one-cut-point crossover and uniform mutation operators may cause violation of the precedence relationships in the offspring chromosomes which represent activities' start times. This problem entails repairing or discarding the infeasible chromosomes each time these operators are performed. The process of detecting and repairing infeasible solutions causes considerable inefficiency to the basic GAs systems. This paper proposed improved crossover and mutation algorithms to directly devise feasible offspring chromosomes. The proposed algorithms employed the traditional Free Float (FF) and another newly introduced Backward Free Float (BFF). The obtained results indicated robustness of the proposed algorithms to reduce the computational costs and high effectiveness to search for optimal solutions. Moreover, validated was performed by comparing the results against the exact solutions obtained by the IP technique.

ACKNOWLEDGMENT

This research is a part of a research project No. SB070012 supported by King Fahd University of Petroleum & Minerals which is gratefully acknowledged by the Authors.

REFERENCES

[1] M. A. Abido, “Multiobjective Evolutionary Algorithms for Electric Power Dispatch Problems, ” IEEE trans for evolutionary computations, vol.10 (3), pp. 315-329, 2006.

[2] G. Syswerda, "Schedule optimization using genetic algorithms," Handbook of genetic algorithms, L. Davis, ed., Van Nostrand Reinhold, New York, N.Y., 1991.

[3] J. C. Bean, "Genetics and random keys for sequencing and optimization." Tech. Rep. 92-43, Univ. of Michigan, An Arbor, Michigan, 1992.

[4] K. Satyanarayana, S. Rajeev, S. Kalidindi, and V. Kalyanaraman, "Optimum resource allocation in construction projects using genetic algorithms," in Proc. 3rd International Conference on the Application of AI to Civil and Structural Engineering, Edinburgh, 1993.

[5] H. Li, and P. Love, "Using improved genetic algorithms to facilitate time-cost optimization," Journal of Construction Enginering and Management, vol. 123(3), pp. 233-237, 1997.

[6] H. Li, J.-N. Cao, and P.E. Love, "Using machine tearning and GA to solve time-cost trade-off problems," Journal of Construction Enginering and Management, Vol 125(5), pp. 347-353. (1999).

[7] S.-S. Leu, and C.-H. Yang, "GA-based multicriteria model for construction scheduling," Journal of Construction Enginering and Management, Vol 125(6), pp. 420-427, 1999.

[8] P. W. Poon, and J. N. Carter, "Genetic algorithms crossover operators for ordering applications," Comp. Ops. Res., vol. 22(1), pp. 135-147, 1995.

[9] W.-T. Chan, D. K. Chua, and G. Kannan, "Construction resource scheduling with genetic algorithms," Journal of Construction Enginering and Management, vol. 122(2), pp. 125-132, 1996.

[10] S. Hartmann, "Project Scheduling with Multiple Modes: A Genetic Algorithm" Annals of Operations Research, Vol. 112, pp. 111-135, 2001.

[11] M-W. Tsai, T-P. Hong, and T-K. Liu, "Two-dimensional Encoding Schema and Genetic Operators," Proceedings of the 9th joint conference on Information Sciences, JCIS 2006, article No. CIEF-177.

[12] K. W. Kim, M. Gen, and G. Yamazaki, "Hybrid genetic algorithm with fuzzy logic for resource-constrained project scheduling," Applied Soft Computing, 2/3F, pp. 174-188. (2003).

[13] S. Shadrokh, and F. Kianfar, "A genetic algorithm for resource investment project scheduling problem, tardiness permitted with penalty," European Journal of Operational research, 181, pp. 86-101, 2007.

[14] S. Hartmann, "Acompetitive genetic algorithm for resource-constrained project scheduling," Naval Research Logistics, vol. 45, pp. 733-750, 1998.

[15] A. A. Najafi, and S. T. Niaki, "A genetic algorithm for resource investment problem with discounted cash flows," Applied Mathematics and Computation, 183, pp. 1057-1070, 2006.

[16] A. Elazouni, and F. Metwally, “Finance-Based Scheduling: Tool to Maximize Project Profit Using Improved Genetic Algorithms,” Journal of Construction Engineering and Management, vol. 131(4), pp. 400–412, 2005.

[17] A. Elazouni, and A. Gab-Allah, “Finance-based scheduling of construction projects using integer programming,” Journal of Construction Engineering and Management, vol. 130(1), pp. 15–24, 2004.

[18] Lingo, User's Guide. Lindo Systems Inc., Chicago, Illinois, USA, 2006.

1872 2009 IEEE Congress on Evolutionary Computation (CEC 2009)