1.2. Review. Holand [28] introduced the Genetic Algorithm (GA) as a method that was going to be efficient, easy to use, and applicable to a wide range of optimization problems. The performance of GA applied to a given optimization problem is affected by a number of factors. One of the most important factors is the parameters manipulation strategy such as crossover, mutation, and population size. The parameters values are problem dependent, therefore, the optimal setting of these parameters must be chosen carefully for a given problem. Finding of parameter settings that work well in one problem is not a trivial task and it is time consuming. Two methods are used to find the best parameters values: parameter tuning and parameter control. Parameter tuning involves finding a good value for the parameters before the GA run and fixing it for all generations and all chromosomes in the population. Dejong [16], empirically, found static values for the parameters, which were good for the classes of test functions he used (the test functions are a numeric problems). The values he found were: population size equal to 50, probability of crossover equal to 0.6, and probability of mutation equal to 0.001. Grensfelt [20] used GA to find a set of static parameter values on the same test functions used by DeJong [16]. The values he obtained were: population size equal to 30, crossover probability equal to 0.95, and mutation probability equal to 0.01. These parameter values give reasonable performance for the studied class of test function. The second method of finding a set of parameter values suitable for a given optimization problem is parameter control. In this method one starts with certain initial parameters values. Then these values are changed either in an adaptive way by using feedback information during the GA run or using a preset formula. Parameter control was early realized by Rechenberg [30] in his 1/5 successful rule. According to this rule the ratio of successful mutations to all mutation should be 1/5[30]. If the ratio is greater than 1/5 the mutation step size should be decreased, if it is less than 1/5 the mutation step size should be increased [30]. Eiben, Hinterding, and Michalewicz [17] classified parameter control into three classes: deterministic, adaptive and self-adaptive which are described in more details below. In the deterministic approach the parameters are changed according to a heuristic formula which usually depends on time schedule, and uses no feedback from the GA run. Fogarty, Terance [18] changed the mutation probability in GA by decreasing it exponentially over generations. They started with an initial mutation probability and then halved it in the next generation adding to it a base line value. The base line value is employed to keep the mutation probability from becoming too small later stages of generation. Pm 1 0.11375 240 2t where t is the generation number and 1/240 is the base line value used. Hesser, and Manner [24] derived a general formula to calculate the probability of mutation on the basis of the generation number and certain constant parameters different for each problem. Unfortunately, these constants are not easy to calculate for some optimization problems. Pm C1 exp( C 3 t / 2) C2 n l where C1 , C 2 , and C 3 are the constant parameter. n, l , t is population size, string length of the chromosome, and the generation number respectively. Muhlenbein [29], and Back [5], experimentally, found the optimal mutation rate is 1/l (l is the string length of the chromosome) on (1+1) algorithm. (1+1) algorithm single parent produce one offspring by means of mutation, then the best of them will survive to the next generation. Back [9], [10] then, suggested a time dependent mutation, where the mutation probability is decreased over generation on the basis of the generation number. The dynamics of mutation probability is controlled by the maximum number of generations where it is set before the GA run. l2 Pm 2 t T 1 1 where l ,T , and t are the string length of the chromosome, the maximum number of generations, and the number of current generation. Back reported excellent experimental results were obtained for hard combinatorial optimization problems [10]. Fogarty [18], and Back [5], [10] investigated the mutation probability control when no crossover was used. Gabriela [19] stated that fixed and small mutation probability if crossover used will give better performance. He, experimentally, proved that using a time dependent variant of the mutation might improve the GA performance if no crossover is used which agrees with the conclusions of [18], [5], and [10]. In adaptive parameter control feedback information is extracted on how well the search is going and used to control the values and direction of the parameters values. Adaptive control parameter were first used by Rechenberg [30] in his 1/5 successful rule of controlling the mutation step size in evolution strategy. Bryant, and Julstrom [13] used the contribution of the parameter value in making new chromosomes with a fitness better than the median of the population at that time. This contribution is recorded as a credit for that parameter value. The credit assigned for the parameter value controls its decrease or increase. Schlierkamp, and Muhlenvein [33] adapted the population sizes using competing subpopulations. In this method, multiple populations with different sizes are run at the same time. After each generation the subpopulation which has the best fitness is stored in a quality record. After a number of generations the population with the highest quality record is increased. All others are decreased according to their quality record. In a similar fashion, Hinterding [26] ran three populations simultaneously. These populations had an initial size ratio of 1:2:4. After a certain time interval the size of each population was halved, doubled, or maintained depending on its best fitness. Using a slightly different approach, Lobo, and Harik [23] ran a population with a small size and doubling it at genotype convergence (all chromosomes in the population have the same genotype). In order to accelerate the some time tedious genotype convergence he ran several populations simultaneously. According to Annunziato, and Pizzuti [3] the environment contains some useful information that could be used to stabiles or control the parameter strategy. The parameter values should be changed according to how a chromosome in the population interacts with the others. The rate of change of the parameter values are controlled by the current environment. Self-adaptive control, is the third approach used described in the literature. It was first used by Schwefl [34] in the evolution strategy where he tried to control the mutation step size. Each chromosome in the population combined with its own mutation variance as part of the chromosome structure, and this mutation variance is subjected to mutation, recombination, and selection as well as the solution parameters. Back [12] extended Schwefl [34] work into GA. He added extra bits at the end of each chromosome in the population to control the mutation, and crossover probability. At first the mutation, and crossover probability bits were purely random as the parameters solution. These bits were subjected to mutation and crossover as well, better values of parameter gave better chromosomes and then at the end better values dominated the population. Another way to self-adapt the parameters values, described by Srivniras, and Patniak [38], is by assigning mutation and crossover probability for each chromosome on the basis of its fitness and the environments property at that time. Arabas, Michalewicz, and Mulawka [2] used the age of the chromosomes to control the population size. Each created chromosome was assigned a lifetime to control how many generations would survive before being destroyed. The lifetime of chromosome was determined by its fitness and the current state of the search. Back’s [10], [12] approach for deterministic and self-adaptive control, as well as the methodologies of Lobo, and Harik [23] and of Annunziato, and Pizzuti [3] for adaptive control were used by us and are described in details further below. 2. Test Genetic Algorithms 2.1. Traditional steady state genetic algorithm Traditional steady state genetic algorithm is used to serve as a benchmark for other variants. Gray code is used, a mutation rate Pm =1/l, crossover rate Pc = 0.9, population size N=60, uniform crossover and bit flip mutation. In TGA the worst chromosome is deleted to make a room for children. The chromosome length will be 200 bits for all test functions except f5 will be 60 bits, which consists of 10x20 =200 bits (10x6=60 for f5) for ten function variables (dimension n=10) and at the end of chromosome 2x10=20 bits are added for two self-adaptive parameters Pm and Pc. The GA terminates when the optimum is found or the maximum number of fitness evaluations is reached. The maximum number of evaluations is 500000 for f1, f2, f3, and f4 and 200000 for f5 [12]. 2.2. Self-adaptive crossover, mutation probability, and population size of genetic algorithm Self-adaptive Back [12] mutation rate is encoded in extra bits at the end of each chromosome in the population within a range between 0.001 and 0.25, and the same for crossover rate Pc within a range between 0 and 1. Mutation then takes places in two steps. First mutate the bits that encode the mutation rate only and immediately decoded to establish a new mutation rate. Second, the new mutation rate is used to mutate the main bits (those encode the solution). For reproduction two chromosomes are selected by Tournament selection. The bits that encode the crossover rate in the selected chromosome are decoded to establish crossover rate Pc. A random number r below 1 is compared with Pc of the selected chromosome, if r is lower chromosome Pc, the member is ready to mate. If both selected chromosomes are ready to mate two children are created by uniform crossover, then mutated and inserted in the population. While if both selected chromosomes reject to mate two children created by mutation only. If one of both selected chromosomes willing to mate and the other doesn’t. One child created by mutating the chromosome who doesn’t like to mate. The willing chromosome is on hold and the next parent selection round only picks one other parent. The number of generations the chromosome stays alive proposed by Arabas [2] is used to self-adapt the population size. Every new chromosome created assigned age “Remaining Life Time (RLT)” according to its fitness by a bi-linear scheme. WorstFit fitness(i ) if fitness(i) AvgFit MinLT WorstFit AvgFit RLT (i ) 1 ( MinLT MaxLT ) AvgFit fitness(i ) if fitness(i) AvgFit 2 AvgFit BestFit 1 2 MinLT , MaxLT are minimum and maximum remaining life time, and the set to 1, and 11 respectively. WorstFit , BestFit are the worst, and best chromosome fitness in the population. AvgFit is the average fitness of the population. fitness(i ) is the ith chromosome fitness. ( MaxLT MinLT ) At each cycle the RLT of each chromosome in the population is decremented by one. If the RLT of a chromosome reaches zero it is removed from the population. 2.3. Adaptive Genetic Algorithm by Reproduction and Competition Pizzuti and Annunziato [3] introduced a dynamic environment determined by the reproduction and competition rules among chromosomes. The adaptation mechanisms of the parameters probability are controlled by the environment. The environment is constrained by the maximum population size which it is set before the GA run. The environment adaptive rules control the parameters probability called Population density or meeting probability. Meeting probability defined as: Cp Pm Mp C p , M p are the current population size and the maximum population size respectively. When two chromosomes meet then they can create children: by crossover (bisexual) or by fighting (competition) for natural resources (the stronger kill the weaker), otherwise the current chromosome can differentiate (mono-sexual or mutation) to create child. The crossover rate and competition rate are defined as: Pr 1 Pm Pr is the crossover rate and Pm is the meeting probability. Pc 1 Pr Pc is the competition rate and Pr is the crossover rate . Initially a random number, limited by the maximum population size is generated for the initial population size. Then at each iteration we select the ith chromosome of the population, for i from 1 to population size. Then randomly select another chromosome from the population. A random number r below 1 compared with the meeting probability Pm, if r below Pm, interact happened. If interact happened, another random r1 below 1 compared to Pr, if r1 below Pr, tow children are created by uniform crossover and immediately inserted in the population. If r1 is above Pr, competition will take place then the weaker chromosome is removed from the population. If meeting not happened, one child is created by mutation and immediately inserted in the population. 2.4. Adaptive population size of genetic algorithm To overcome the population size problem and drift velocity, Lobo [23] suggests establishing a race among populations of various sizes. Multiple populations with different sizes are running simultaneously. Lobo method gives priority to the smaller population size by giving them more function evaluations. Initially runs population 1 for 4 generations, and then runs population 2 for 1 generation, then population 1for 3 more generation, then population 2 for 1 generation, and so on. At any time if the average fitness of the smaller population is less than the larger one, then the smaller population will be destroyed. The crossover rate Pc and mutation rate Pm for each population are the same and they are set before the run of GA. Pc =0.9, and Pm=1/ l , where l the chromosome length. 2.5. Deterministic mutation rate of genetic algorithm In this algorithm we used a formula depends on time t “generation counter” and chromosome length l to change the mutation rate Back [10]. Generation counter constrained by the maximum number of generation T . The formula of mutation defined as: 1 l2 Pm 2 .t T 1 l , t and T are the chromosome’s length, current generations, and maximum number of generations respectively. At each iteration one chromosome is selected to be parent by tournament selection. Then one child is created by mutation and the better of both parent and child survives for the next generation. No crossover used to create children. 3. Test Functions To evaluate the performance of the parameter-less GA algorithm, we used the same test functions used by Back [12]. For selecting the test function Back followed the guidelines reported by Whitley [41], and Back [11]. The test functions should: 1) Contain problems resistant to Hill-Climbing, 2) Contain nonlinear, non separable problems, 3) Contain scalable functions, 4) Have a canonical form, 5) Include a few unimodal functions for comparison of efficiency (convergence velocity), 6) Include a few multimodal functions of different complexity with a large number of local optima, 7) Include multimodal functions with irregular arrangement of local optima, 8) Contain high-dimensional functions, because these are better representatives to real-world applications. Ten variables are used (dimension n=10) for each test function and constrained in the interval -5and 5, (xi 5,5, i 1....n , n 10) . Tow dimensional domain are used to draw the surface of each function except function five. To draw the surface of function five we implement a program generate a binary string randomly several times, then counter the number of 1’s in the string. Number of 1’s in the string determines which part of the function five must be use. At the end we will have a matrix of values that represent the surface amplitude. The test functions suite the rules above: n f 1 ( x) xi 2 i 1 f1 is a sphere model after De Jong [16]. It is continuous, convex and unimodal. The function has global optimum at point zero, n 1 f 2 ( x) (100( xi xi 1 ) 2 (1 xi ) 2 ) i 1 2 f 2 is the generalized Rosenbrock[31] function. The function has global optimum inside a long, narrow, parabolic shaped flat valley. To find the valley is trivial, however convergence to the global optimum is difficult, 1 n 2 1 n f 3 ( x) 20 exp 0.2 xi exp cos( 2xi ) 20 e n i 1 n i 1 f 3 is the generalized Ackley[1], Back [7] function. It is a variant multimodal function with global minimum located at the origin with function value of zero. n f 4 ( x) 10n xi 10 cos( 2xi ) i 1 2 f 4 is the generalized Rastrigin[39], Hoffmeister [27] function. It is a non-linear multimodal function. This function is a fairly difficult problem due to its large search space and its large number of local minima, 0.92 (4 x i ) if xi 4 n 4 f 5 ( x) n i 1 2.00 ( x i 4) if x i 4 4 f 5 is the fully deceptive six-bit function Deb[15]. All functions have dimension n=10 and use 20 bits/variable except f5 which uses 6 bits/variable. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] Ackley, D.H., A connectionist machine for genetic hill climbing, Kluwer, Boston, 1987. Arabas, J., Michalewicz, Z., & Mulawka, J., GAVaPS- A genetic algorithm with varying population size, Proceeding of the 1st IEEE Conference on Evolutionary Computation, IEEE Press, 1994. Annunziato, M., & Pizzuti, S., Adaptive parameterization of evolutionary algorithms driven by reproduction and competition, Proceeding of ESIT2000, PP 246-256, Achen Germany. Back, T., Self-Adaptation in genetic algorithms, In F. J. Varela and P. Bourgine, editor, Proceeding of the First European Conference on Artificial Life, PP 263-271, The MIT Press, Cambridge, MA, 1992. Back, T., The interaction of mutation rate, selection, and self-adaptation within a genetic algorithm, In R. Manner and B. Manderick, editors, Parallel Problem solving from Nature, PP 85-94, Elsevier Amsterdam, 1992. Back, T., Optimal mutation rates in genetic search. In Forrest, S. (Ed), Proceeding the Fifth International Conference on Genetic Algorithms PP 2-8, San Mateo, Ca: Morgan Kufmann. 1993. Back, T., & Schwefel, H.-P., An overview of evolutionary algorithms for parameter optimization, Evolutionary Computation, Vol. 1, No. 1, PP 1-23, 1993. Back, T., & Schwefel, H.-P., Evolution strategies I: Variants and their computational implementation. In winter, G., Perisux, J., Galan, M., & Cuesta, P. (Eds), Genetic Algorithms in Engineering and Computer Science (Chapter 6, PP 11-126). Chiechester: John Wiley and Sons. 1995. Back, T., & Schutz M., Intelligent mutation rate control in canonical genetic algorithm, Proceeding of the International Symposium on Methodologies for Intelligent Systems, PP 158-167, 1996. Back, T., Evolutionary Algorithms in theory and practice, Oxford University Press, 1996. Back, T., & Michalewiccz, Z., Test landscapes, In Back, T., Fogel, D.B., & Michalewicz, Z., (Ed): Handbook of Evolutionary Computation, Chapter B2.7, PP 14-20, Institute of Physics Publishing and Oxford University Press, New York, 1997. Back, T., Eiben, A.E., & Van der Vaart, N.A., An empirical study on Gas without parameters, In Schenauer, M., Deb, K., Rudolph, G., Yao, X., Lutton, E.,Merelo, J. J., and Schwefel, H-P. (Ed): Parallel Problem Solving from Nature PPSN V, Lecture Notes in Computer Science Vol. 1917, PP 315-324, 2000. Bryant, A., & Julstrom, What have you done for me lately? Adapting operator probabilities in a steady-state genetic algorithm, Proceeding of the Sixth International Conference on Genetic Algorithms, PP 81-7, Morgan Kufmann, 1995. Davis, L., Adapting operator probabilities in genetic algorithms. In Schaffer, J. D. (Ed), Proceeding of the Third International Conference on Genetic Algorithms PP 16-69, San Mateo, Ca: Morgan Kaufman,. 1989. Deb, K., Deceptive Landscape, In Back, T., Fogel, D.B, & Michalewicz, Z. (editors): Handbook of Evolutionary Computation, Institute of Physics Publishing & Oxford University Press, New York, 1997. De Jong, K. A., An analysis of the behavior of a class of genetic adaptive systems, Doctoral dissertation, University of Michigan, Ann Arbor, University Microfilms No 769381, 1975. [17] Eiben, A.E., Hinterding, R., & Michalewicz, Z., Parameter control in evolutionary algorithms, IEEE Transactions on Evolutionary Computation, Vol. 3, No. 2, PP 124-41, 1999. [18] Fogarty, T., & Terence, C., Varying the probability of mutation in the genetic algorithm, Proceeding of the Third International Conference on Genetic algorithms, PP 104-109, Morgan Kufmann, 1989. [19] Gabriela, O., Inman, H., & Hilary, B. On recombination and optimal mutation rates, Proceedings of Genetic and Evolutionary Computation Conference (GECCO-99), PP 488495, Morgan Kaufmann, San Francisco, CA, 1999. [20] Grefenstette, J. J., Optimization of control parameters for genetic algorithms, In Sage, A. P. (Ed), IEEE Transactions on Systems, Man, and Cybernetics, Volume SMC-16-1, pp 122128, New York: IEEE, 1986. [21] Goldberg, D.E., Genetic algorithms in search, optimization, and machine learning, Addison Wesley Publishing Company, Inc, 1989. [22] Goldberg, D.E., Sizing populations for serial and parallel genetic algorithms, Proceeding of the third international Conference on Genetic Algorithms and Their applications, PP 7079, Morgan Kaufmann, 1989. [23] Harik, G. R., & Lobo, F. G., A parameter-less genetic algorithm, Banzhaf, W., Daida, J., Eiben, A. E., Garzon, M. H., Honavar, V., Jakiela, M., & Smith, R. E. (Eds.) .GECCO-99: Proceedings of the Genetic and Evolutionary Computation Conference, PP 258–267, San Francisco, CA: Morgan Kaufmann, 1999 [24] Hesser, J. & Manner, R., Towards an optimal mutation probability in genetic algorithms, Proceeding of the 1st Parallel Problem Solving from Nature, PP 23-32, Springer 1991. [25] Hinterding, R., Gaussian mutation and self-adaptation for numeric genetic algorithms, In Proceeding of IEEE International Conference on Evolutionary Computation, PP 384-389, 1995. [26] Hinterding, R., Michalewicz, Z., & Peachy, T. C., Self-Adaptive genetic algorithm for numeric functions, Proceeding of the Fourth International Conference on Parallel Problem Solving from Nature, PP 420-429, in Lecture Notes from Computer Science, Springer Verlag, 1996. [27] Hoffmeister, F., & Back. T., Genetic algorithms and Evolution strategies: Similarities and differences, In Shwefel, H-P., Manner. R., Parallel Problem Solving from Nature- PPSN 1 (Lecture Note in Computer Science; Vol. 496), Springer Verlag, Berlin, 1991. [28] Holland, J. H., Adaptation in natural and artificial systems, Ann Arbor, MI: University of Michigan Press, 1975. [29] Muhlenbein, H., How genetic algorithms really work: I. Mutation and Hill climbing, Parallel Problem Solving from Nature- PPSN II, 15-2, 1992. [30] Rechenberg, I., Evolutions strategie: Optimierung technischer systeme nach prinzipien der biologischen evolution, Frommann, 1973. [31] Rosenbrock, H.H., An Automatic method for finding the greatest or least value of a function, The Computer Journal, Vol. 3, No.3, PP 175-184, 1960. [32] Schaffer, J.D., Caruana, R.A., Eshelman, L.J., & Das, R., A study of control parameters affecting online performance of genetic algorithms for function optimization, Proceeding of the Third International Conference on Genetic Algorithms and Their Applications, PP 5160, Morgan Kaufmann, 1989. [33] Schlierkamp-Voosen, D., & Muhlenbein, H. Adaptation of population sizes by competing subpopulations, Proceeding of International Conference on Evolutionary Computation (ICEC’96), Negoya, Japan, PP 330-335, 1996. [34] Schwefel, H-P., Numerische optimierung von computer-modellen mittels der evolutionsstrategie, Volume 26 of Interdisciplinary systems research. Birkhauser, Basel, 1997. [35] Schwefel, H-P., Collective phenomena in evolutionary system, In Preprints of the 31st Annual Meeting of the International Society for General System Research, Budapest, Vol. 2, PP 1025-1033, 1987. [36] Smith, J., & Fogarty, T., Self-Adaptation of mutation rates in a steady state genetic algorithm, Proceeding of the third IEEE Conference on Evolutionary Computation, IEEE Press, 1996. [37] Smith, R., Adaptively resizing populations: An algorithm and analysis, Proceeding of the Fifth International Conference on Genetic Algorithms, P 653 Morgan Kaufmann, 1989. [38] Srinivas, M., & Patniak, L. M., Adaptive Probabilities of crossover and mutation in genetic algorithms, IEEE Transactions on Systems, Man and Cybernetics, Vol. 24, No. 4, PP 1726,1994. [39] Torn, A., & Zilinskas, A., Global Optimization, Lecture Note in Computer Science; Vol. 350, Springer Verlarg, Barlin, 1989. [40] Van der Vaart, N.A.L., Towards Totally self-adjusting genetic algorithms: Let nature sort out, Master Thesis, Leiden University, 1999. [41] Whitley, L. D., Mathias, K.E., Rana, S., & Dzubera, J., Building better test functions, In Eshelman, L.J. (Ed), Proceeding of the Sixth International Conference on Genetic Algorithms, PP 239-246, Morgan Kaufmann, San Francisco, California, 1995.