**The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms**

Yourim Yoon1 and Yong-Hyuk Kim2\*

<sup>1</sup>*School of Computer Science and Engineering, Seoul National University, Seoul* <sup>2</sup>*Department of Computer Science and Engineering, Kwangwoon University, Seoul Republic of Korea*

#### **1. Introduction**

64 Bio-Inspired Computational Algorithms and Their Applications

Quintero-R, H., Calle-Trujillo, G. & Dáz-Arias, A. 2004. Síntesis de generación de

Radcliffe, C. 1977. The knud Jansen lecture:above-knee mechanisms: kinematics, alignment

Ramírez-Gordillo, J. 2010. *Planeación de trayectorias en sistemas de manipuladores robóticos* 

Rechenberg, I. 1973. Evolutionsstrategie Optimierung technischer systeme nach prinzipien der biologischen evolution. *Friedrich Frommann Verlag, Stuttgart-Bad Cannstatt*. Roston, G. P. & Sturges, R. H. 1996. Genetic Algorithm Synthesis of Four-bar Mechanisms.

Sanchéz-Marín, F. T. 2000. *Contribución a la Síntesis Dimensional de Mecanismos Planos para* 

Sinha, A. 2002. Designing Efficent Genetic and Evolutionary Algorithm Hybrids. *M.S. Thesis,* 

Smith, B. D. A. S. S., R. 1995. Fitness Inheritance in Genetic Algorithms. *in: Proc. of the ACM* 

Smith, R. 1993. Adaptively resizing populations: An algorithm and analysis. *Proc. 5th Int. Conf. Genetic Algorithms, S. Forrest Ed. San Mateo, CA: Morgan Kaufmann***,** 653. Srivastava, R. 2002. Time Continuation in Genetic Algorithms. *M.S. Thesis, University of* 

Starosta, R. 2006. On some application of genetic algorithm in mechanism synthesis. *Annual* 

Tzong-Mou, W. & Cha'o-Kuang, C. 2005. Mathematical model and its simulation of exactly

Varbanov, H., Yankova, T., Kulev, K. & Lilov, S. 2006. S&AExpert system for planar

Vasiliu, A. & Yannou, B. 2001. Dimensional Synthesis of planar Mechanism Using Neural

Walczak, T. 2006. Mechanism synthesis with the use of neural network. *in Annual Meeting of* 

Wen-Jyi, H., Chien-Min, O. & Chin-Ming, Y. 2003. Robust Vector Quantization for Burst

Whitley, D., Rana, S. & Heckendorn, R. 1998. Representation Issues in Neighborhood Search

*Science. Recent Advances and Industrial Applications, chapter 3***,** 39-57.

mechanism design. *Expert Systems with Applications,* 31**,** 558-569.

mechanism synthesis with adjustable link. *Applied Mathematics and Computation,*

Network: Application to path generator lnkages. *Mechanism and machine theory* 

Error Channels Using Genetic Algorithm. *European Symposium on Artificial Neural* 

and Evolutionary Algorithms. *In D. Quagliarella, J. P´eriaux, C. Poloni, and G. Winter, editors, Genetic Algorithms and Evolution Strategies in Engineering and Computer* 

*Generación de Trayectorias.*Doctor en Ciencias, Universitat Jaume-I.

algoritmos genéticos. *Scientia et Technica,* 10 No.25.

*múltiples.*Doctorado, Instituto Politécnico Nacional.

*University of Illinois-Urbana-Champaign*.

*Meeting of GAMM, Book of Abstracts,* 77.

*(Mech. mach. theory,* 36 No. 2**,** 229-310.

*GAMM, Book of Abstracts.Berlin,* 77.

*Illinois-Urbana-Champaign*.

160**,** 309-316.

*Networks***,** 267-274.

*Symposium on Applied Computing***,** 345-350.

390.

and prescription criteria.: Prosthetic and orthetic practice.

trayectorias y de movimiento para múltiples posiciones en mecanismos, utilizando

*Artificial Intelligence for Engineering Design,Analysis and Manufacturing,* 10, pp. 371-

We recognized that the roles of crossover and mutation in real encoding are quite different from those in binary encoding during performing previous work with real-coded genetic algorithms (Yoon et al., 2012). In this study, we are to argue the distinct roles of genetic operators in real encodings.

Recently many studies on evolutionary algorithms using real encoding have been done. They include ant colony optimization (Socha & Dorigo, 2008), artificial bee colony algorithm (Akay & Karaboga, 2010; Kang et al., 2011), evolution strategies (ES) (Beyer, 2001), differential evolution (Das & Suganthan, 2011; Dasgupta et al., 2009; Kukkonen & Lampinen, 2004; 2005; Mezura-Montes et al., 2010; Noman & Iba, 2005; Rönkkönen et al., 2005; Storn & Price, 1997; Zhang et al., 2008), particle swarm optimization (Chen et al., 2007; Huang et al., 2010; Juang et al., 2011; Krohling & Coelho, 2006; l. Sun et al., 2011), and so on. In particular, in the field of ES, we can find many studies based on self-adaptive techniques (Beyer & Deb, 2001; Hansen & Ostermeier, 2001; Igel et al., 2007; 2006; Jägersküpper, 2007; Kita, 2001; Kramer, 2008a;b; Kramer et al., 2007; Meyer-Nieberg & Beyer, 2007; Wei et al., 2011).

Many researchers have also concentrated on using real-valued genes in genetic algorithms (GAs), as in (Ripon et al., 2007). It is reported that, for some problems, real-coded representation and associated techniques outperform conventional binary representation (Eshelman & Schaffer, 1993; Herrera et al., 1998; Janikow & Michalewicz, 1991; Lozano et al., 2004; Ono et al., 1999; Ono & Kobayashi, 1997; Surry & Radcliffe, 1996; Wright, 1991). Several theoretical studies of real-coded GAs have also been performed (Goldberg, 1991; Higuchi et al., 2000; Kita et al., 1998; Qi & Palmieri, 1994a;b). However, the role and behavior of genetic operators in real-coded GAs are fundamentally different from those in binary encodings although motivation of the operators and the framework of GAs are similar.

In this chapter, we try to verify different properties of crossover and mutation in real encodings from those in binary encodings through various experiments. We especially concentrate on the effect of genetic operators (the bias and functions of crossover and mutation) when they are used in real-coded GAs.

<sup>\*</sup>Corresponding author: Yong-Hyuk Kim

box-crossover(*x*, *y*)

**for** *i* ← 1 to *n*

Fig. 2. Pseudo-code of box crossover

extended-box-crossover(*x*, *y*)

**for** *i* ← 1 to *n*

// *α* is extension rate.

parents but extends beyond them.

**return** *z* = (*z*1, *z*2,..., *zn*);

**return** *z* = (*z*1, *z*2,..., *zn*);

Fig. 3. Pseudo-code of extended-box crossover

parent the (real) value for that position is taken.

*m* ← min(*xi*, *yi*), *M* ← max(*xi*, *yi*);

*em* ← *m* − *α*(*M* − *m*), *eM* ← *M* + *α*(*M* − *m*);

*zi* ← a random real number in [min(*em*, *li*), max(*eM*, *ui*)];

The mask is still a binary vector dictating for each position of the offspring vector from which

The blend recombination family does not exchange values between parents like discrete recombinations but it averages or blends them. Line recombination returns offspring on the (Euclidean) line segment connecting the two parents. Box recombination returns offspring in the box (hyper-rectangle) whose diagonally opposite corners are the parents. Extended-line recombination picks offspring on an extended segment passing through the parent vectors but extending beyond them and not only in the section between them. Analogously extended-box recombination picks offspring on an extended box whose main diagonal passes through the

Recently several new crossovers for the real-coded representation have been designed. Several non-traditional crossover operators for real-coded representation are found in the recent literature. They include SBX (simulated binary crossover) (Ballester & Carter, 2003; 2004b; Deb & Agrawal, 1995; Deb & Beyer, 1999; Deb & Kumar, 1995; Deb et al., 2007), UNDX (unimodal normal distribution crossover) (Kita et al., 1998; 1999; Ono et al., 1999; Ono & Kobayashi, 1997), SPX (simplex crossover) (Higuchi et al., 2000; Tsutsui & Goldberg, 2002; Tsutsui et al., 2001; 1999), PCX (parent-centric crossover) (Ballester & Carter, 2004a; Deb et al., 2002), etc (Herrera et al., 2003; 2005; Takahashi & Kita, 2001). Most of them are complex and based on the specific probability distribution of the offspring (SBX, UNDX, and PCX), self-adaptivity (SBX and UNDX), or multiple parents (UNDX and SPX). Some of them, e.g., include the function of mutation operators. In this study, we focus on traditional crossover that does not consider the specific probability distribution of the offspring but only what offspring can be generated with a probability greater than zero, given the two parents.

*zi* ← a random real number in [min(*xi*, *yi*), max(*xi*, *yi*)];

The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms 67

{

}

{

}

Fig. 1. The range of possible offspring in two-dimensional bounded real space

The remainder of this chapter is organized as follows. Traditional and recent genetic operators in real encoding are introduced in Section 2. Previous genetic operators are presented in Section 2.1 and ones we used in real encoding in this study are described in Section 2.2. In Section 3, we describe the concept of bias of genetic operators and analyze that in the case of crossover and mutation for GAs. In Section 4, experimental results for various combinations of crossover and mutation are provided and analyzed. Finally, we make conclusions in Section 5.

#### **2. Genetic operators in real encoding**

#### **2.1 Previous operators**

The roles of crossover and mutation may change according to the selection of the operators. We reviewed the most frequently used crossover and mutation operators for real-code representation. We are to analyze how the roles of crossover and mutation can change by studying various combinations of crossover and mutation operators.

In literature many crossover operators for real-code representation are found. Traditional crossover operators for the real-code representation are described in (Bäck et al., 2000). The two main families of traditional crossover operators (Mühlenbein & Schlierkamp-Voosen, 1993) are discrete crossovers1 (Reed et al., 1967) and blend crossovers (Michalewicz, 1996). Blend crossover operators can be distinguished into line crossovers and box crossovers. Important variations of the last two crossover operators are the extended-line crossover and the extended-box crossover (Mühlenbein, 1994).

The discrete recombination family is the straightforward extension to real vectors of the family of mask-based crossover operators for binary strings including *n*-point and uniform crossover.

<sup>1</sup> It is also called *dominant crossover*.

```
box-crossover(x, y)
{
       for i ← 1 to n
           zi ← a random real number in [min(xi, yi), max(xi, yi)];
       return z = (z1, z2,..., zn);
}
```

```
Fig. 2. Pseudo-code of box crossover
```
2 Will-be-set-by-IN-TECH

*x*

*x*

α*l*

α*w w* α*w*

(b) Extended-box crossover

*y <sup>l</sup>*

(d) Extended-line crossover

α*l*

*y*

*y*

*y*

Fig. 1. The range of possible offspring in two-dimensional bounded real space

studying various combinations of crossover and mutation operators.

The remainder of this chapter is organized as follows. Traditional and recent genetic operators in real encoding are introduced in Section 2. Previous genetic operators are presented in Section 2.1 and ones we used in real encoding in this study are described in Section 2.2. In Section 3, we describe the concept of bias of genetic operators and analyze that in the case of crossover and mutation for GAs. In Section 4, experimental results for various combinations of crossover and mutation are provided and analyzed. Finally, we make conclusions in Section 5.

The roles of crossover and mutation may change according to the selection of the operators. We reviewed the most frequently used crossover and mutation operators for real-code representation. We are to analyze how the roles of crossover and mutation can change by

In literature many crossover operators for real-code representation are found. Traditional crossover operators for the real-code representation are described in (Bäck et al., 2000). The two main families of traditional crossover operators (Mühlenbein & Schlierkamp-Voosen, 1993) are discrete crossovers1 (Reed et al., 1967) and blend crossovers (Michalewicz, 1996). Blend crossover operators can be distinguished into line crossovers and box crossovers. Important variations of the last two crossover operators are the extended-line crossover and

The discrete recombination family is the straightforward extension to real vectors of the family of mask-based crossover operators for binary strings including *n*-point and uniform crossover.

*x*

*x*

**2. Genetic operators in real encoding**

the extended-box crossover (Mühlenbein, 1994).

<sup>1</sup> It is also called *dominant crossover*.

**2.1 Previous operators**

(a) Box crossover

(c) Line crossover

```
extended-box-crossover(x, y)
{
       for i ← 1 to n
          m ← min(xi, yi), M ← max(xi, yi);
          em ← m − α(M − m), eM ← M + α(M − m);
          zi ← a random real number in [min(em, li), max(eM, ui)];
       return z = (z1, z2,..., zn);
}
// α is extension rate.
```
#### Fig. 3. Pseudo-code of extended-box crossover

The mask is still a binary vector dictating for each position of the offspring vector from which parent the (real) value for that position is taken.

The blend recombination family does not exchange values between parents like discrete recombinations but it averages or blends them. Line recombination returns offspring on the (Euclidean) line segment connecting the two parents. Box recombination returns offspring in the box (hyper-rectangle) whose diagonally opposite corners are the parents. Extended-line recombination picks offspring on an extended segment passing through the parent vectors but extending beyond them and not only in the section between them. Analogously extended-box recombination picks offspring on an extended box whose main diagonal passes through the parents but extends beyond them.

Recently several new crossovers for the real-coded representation have been designed. Several non-traditional crossover operators for real-coded representation are found in the recent literature. They include SBX (simulated binary crossover) (Ballester & Carter, 2003; 2004b; Deb & Agrawal, 1995; Deb & Beyer, 1999; Deb & Kumar, 1995; Deb et al., 2007), UNDX (unimodal normal distribution crossover) (Kita et al., 1998; 1999; Ono et al., 1999; Ono & Kobayashi, 1997), SPX (simplex crossover) (Higuchi et al., 2000; Tsutsui & Goldberg, 2002; Tsutsui et al., 2001; 1999), PCX (parent-centric crossover) (Ballester & Carter, 2004a; Deb et al., 2002), etc (Herrera et al., 2003; 2005; Takahashi & Kita, 2001). Most of them are complex and based on the specific probability distribution of the offspring (SBX, UNDX, and PCX), self-adaptivity (SBX and UNDX), or multiple parents (UNDX and SPX). Some of them, e.g., include the function of mutation operators. In this study, we focus on traditional crossover that does not consider the specific probability distribution of the offspring but only what offspring can be generated with a probability greater than zero, given the two parents.

mutation(*z*, *p*)

**for** *i* ← 1 to *n*

Fig. 6. Pseudo-code of mutation

// *x* and *y* are parents. fine-mutation(*x*, *y*, *z*, *p*)

**for** *i* ← 1 to *n*

Fig. 7. Pseudo-code of fine mutation

**3. Bias of genetic operators**

**return** *z* = (*z*1, *z*2,..., *zn*);

**return** *z* = (*z*1, *z*2,..., *zn*);

**if** a random number from [0, 1] is less than mutation rate *p*

The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms 69

**if** a random number from [0, 1] is less than mutation rate *p*

And, as mutation operators for our analysis, we adopted two kinds of mutation: Gaussian mutation and fine mutation. Their pseudo-codes are shown in Figures 6 and 7, respectively. The Gaussian mutation is a simple static Gaussian mutation, the same as in Tsutsui & Goldberg (2001). The *i*-th parameter *zi* of an individual is mutated by *zi* = *zi* + *N*(0, *σi*) with a mutation rate *p*, where *N*(0, *σi*) is an independent random Gaussian number with the mean of zero and the standard deviation of *σi*. In our study, *σ<sup>i</sup>* is fixed to (*ui* − *li*)/10 - the tenth of width of given area. The fine mutation is a simple dynamic Gaussian mutation inspired from Ballester & Carter (2004b). In different with Gaussian mutation, it depends on the distance between parents and, as population converges, the strength of the mutation approaches zero.

Pre-existing crossovers for the real-coded representation have an inherent bias toward the center of the space. Some boundary extension techniques to reduce crossover bias have been extensively studied (Someya & Yamamura, 2005; Tsutsui, 1998; Tsutsui & Goldberg, 2001). The concept of crossover *bias* first appeared in (Eshelman et al., 1997) and it has been extensively used in (Someya & Yamamura, 2005; Tsutsui & Goldberg, 2001), in which they tried to remove

Notice that the notion of bias of a crossover operator has different definitions depending upon the underlying representation considered. The bias toward the center of the space considered in real-coded crossovers conceptually differs from the crossover biases on binary strings, which focus on how many bits are passed to the offspring and from which positions, which, in turn conceptually differs from the bias considered in Genetic Programming focusing on bloat. The notion of bias so defined can be understood as being the inherent preference of a search operator for specific areas of the search space. This is an important search property of a search

the bias of real-coded crossover heuristically (and theoretically incompletely).

*zi* ← *zi* + *N*(0,(*ui* − *li*)/10);

*zi* ← *zi* + *N*(0, |*xi* − *yi*|);

{

}

{

}

```
line-crossover(x, y)
{
       λ ← a random real number in [0, 1];
       for i ← 1 to n
               zi ← λxi + (1 − λ)yi;
       return z = (z1, z2,..., zn);
}
```
Fig. 4. Pseudo-code of line crossover

```
extended-line-crossover(x, y)
{
       m ← −∞, M ← ∞;
       for i ← 1 to n
              if xi �= yi
                      tl ← (li − yi)/(xi − yi), tu ← (ui − yi)/(xi − yi);
                      tm ← min(tl, tu), tM ← max(tl, tu);
                      m ← max(m, tm), M ← min(M, tM);
       λ ← a random real number in [max(m, −α), min(M, 1 + α)];
       for i ← 1 to n
              zi ← λxi + (1 − λ)yi;
       return z = (z1, z2,..., zn);
}
// α is extension rate.
```
#### Fig. 5. Pseudo-code of extended-line crossover

The most common form of mutation for real-code vectors generates an offspring vector by adding a vector *M* of random variables with expectation zero to the parent vector. There are two types of mutations bounded and unbounded depending on the fact that the range of the random variable is bounded or unbounded. The most frequently used bounded mutations are the creep mutation and the single-variable mutation and for the unbounded case is the Gaussian mutation. For the creep (or hyper-box) mutation *M* ∼ *U*([−*a*, *a*] *<sup>n</sup>*) is a vector of uniform random variables, where *a* is a parameter defining the limits of the offspring area. This operator yields offspring within a hyper-box centered in the parent vector. For the single-variable mutation *M* is a vector in which all entries are set to zero except for a random entry which is a uniform random variable ∼ *U*([−*a*, *a*]). Bounded mutation operators may get stuck in local optima. In contrast, unbounded mutation operators guarantee asymptotic global convergence. The primary unbounded mutation is the Gaussian mutation for which *M* is a multivariate Gaussian distribution.

#### **2.2 Adopted operators for this study**

As crossover operators for our analysis, we adopted four representative crossovers: box, extended-box, line, and extended-line crossovers. Their pseudo-codes are shown in Figures 2, 3, 4, and 5, respectively and the possible range for each crossover is represented in Figure 1.

```
mutation(z, p)
{
       for i ← 1 to n
               if a random number from [0, 1] is less than mutation rate p
                   zi ← zi + N(0,(ui − li)/10);
       return z = (z1, z2,..., zn);
}
```
Fig. 6. Pseudo-code of mutation

4 Will-be-set-by-IN-TECH

*tl* ← (*li* − *yi*)/(*xi* − *yi*), *tu* ← (*ui* − *yi*)/(*xi* − *yi*);

*tm* ← min(*tl*, *tu*), *tM* ← max(*tl*, *tu*); *m* ← max(*m*, *tm*), *M* ← min(*M*, *tM*); *λ* ← a random real number in [max(*m*, −*α*), min(*M*, 1 + *α*)];

The most common form of mutation for real-code vectors generates an offspring vector by adding a vector *M* of random variables with expectation zero to the parent vector. There are two types of mutations bounded and unbounded depending on the fact that the range of the random variable is bounded or unbounded. The most frequently used bounded mutations are the creep mutation and the single-variable mutation and for the unbounded case is the

uniform random variables, where *a* is a parameter defining the limits of the offspring area. This operator yields offspring within a hyper-box centered in the parent vector. For the single-variable mutation *M* is a vector in which all entries are set to zero except for a random entry which is a uniform random variable ∼ *U*([−*a*, *a*]). Bounded mutation operators may get stuck in local optima. In contrast, unbounded mutation operators guarantee asymptotic global convergence. The primary unbounded mutation is the Gaussian mutation for which *M*

As crossover operators for our analysis, we adopted four representative crossovers: box, extended-box, line, and extended-line crossovers. Their pseudo-codes are shown in Figures 2, 3, 4, and 5, respectively and the possible range for each crossover is represented in Figure 1.

*<sup>n</sup>*) is a vector of

Gaussian mutation. For the creep (or hyper-box) mutation *M* ∼ *U*([−*a*, *a*]

line-crossover(*x*, *y*)

**for** *i* ← 1 to *n*

Fig. 4. Pseudo-code of line crossover

extended-line-crossover(*x*, *y*)

**for** *i* ← 1 to *n*

// *α* is extension rate.

*m* ← −∞, *M* ← ∞; **for** *i* ← 1 to *n*

**if** *xi* �= *yi*

**return** *z* = (*z*1, *z*2,..., *zn*);

Fig. 5. Pseudo-code of extended-line crossover

is a multivariate Gaussian distribution.

**2.2 Adopted operators for this study**

*λ* ← a random real number in [0, 1];

*zi* ← *λxi* + (1 − *λ*)*yi*;

*zi* ← *λxi* + (1 − *λ*)*yi*;

**return** *z* = (*z*1, *z*2,..., *zn*);

{

}

{

}

```
// x and y are parents.
fine-mutation(x, y, z, p)
{
       for i ← 1 to n
               if a random number from [0, 1] is less than mutation rate p
                   zi ← zi + N(0, |xi − yi|);
       return z = (z1, z2,..., zn);
}
```

```
Fig. 7. Pseudo-code of fine mutation
```
And, as mutation operators for our analysis, we adopted two kinds of mutation: Gaussian mutation and fine mutation. Their pseudo-codes are shown in Figures 6 and 7, respectively. The Gaussian mutation is a simple static Gaussian mutation, the same as in Tsutsui & Goldberg (2001). The *i*-th parameter *zi* of an individual is mutated by *zi* = *zi* + *N*(0, *σi*) with a mutation rate *p*, where *N*(0, *σi*) is an independent random Gaussian number with the mean of zero and the standard deviation of *σi*. In our study, *σ<sup>i</sup>* is fixed to (*ui* − *li*)/10 - the tenth of width of given area. The fine mutation is a simple dynamic Gaussian mutation inspired from Ballester & Carter (2004b). In different with Gaussian mutation, it depends on the distance between parents and, as population converges, the strength of the mutation approaches zero.

### **3. Bias of genetic operators**

Pre-existing crossovers for the real-coded representation have an inherent bias toward the center of the space. Some boundary extension techniques to reduce crossover bias have been extensively studied (Someya & Yamamura, 2005; Tsutsui, 1998; Tsutsui & Goldberg, 2001). The concept of crossover *bias* first appeared in (Eshelman et al., 1997) and it has been extensively used in (Someya & Yamamura, 2005; Tsutsui & Goldberg, 2001), in which they tried to remove the bias of real-coded crossover heuristically (and theoretically incompletely).

Notice that the notion of bias of a crossover operator has different definitions depending upon the underlying representation considered. The bias toward the center of the space considered in real-coded crossovers conceptually differs from the crossover biases on binary strings, which focus on how many bits are passed to the offspring and from which positions, which, in turn conceptually differs from the bias considered in Genetic Programming focusing on bloat.

The notion of bias so defined can be understood as being the inherent preference of a search operator for specific areas of the search space. This is an important search property of a search

Function *n* Range of *xi*: [*li*, *ui*]

(*xi* <sup>−</sup> *oi*)<sup>2</sup> <sup>−</sup> <sup>450</sup> <sup>30</sup> [−100, 100]

(*xj* <sup>−</sup> *oj*))<sup>2</sup> <sup>−</sup> <sup>450</sup> <sup>30</sup> [−100, 100]

(100((*xi* <sup>−</sup> *oi* <sup>+</sup> <sup>1</sup>)<sup>2</sup> <sup>−</sup> (*xi*<sup>+</sup><sup>1</sup> <sup>−</sup> *oi*<sup>+</sup><sup>1</sup> <sup>+</sup> <sup>1</sup>))<sup>2</sup> + (*xi* <sup>−</sup> *oi*)2) + <sup>390</sup> <sup>30</sup> [−100, 100]

The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms 71

o = (*o*1, *o*2,..., *on*) is the optimal solution, which is randomly located in the domain. In the Hamming space, the distribution of the offspring of uniform crossover tends in the limit to be uniform on all space, whereas in the Euclidean space the distribution of the offspring tends to be unevenly distributed on the search space and concentrates toward the center of the space. One way to compensate, but not eliminate, such bias is using extended-line and extended-box crossovers. Figure 8 visualizes the crossover bias in the one-dimensional real space by plotting frequency rates of 107 offspring randomly generated by each type crossover. As we can see, box and line crossover are biased toward the center of the domain. We could also observe that extended-box and extended-line crossover largely reduce the bias but they

For analyzing the effect of mutation in relation with the bias, we also performed the same test using crossover combined with Gaussian mutation. We picked 107 pairs of random parents, generated offspring randomly using each type crossover, and then applied Gaussian mutation. The tests are performed for various mutation rates from 0.0 to 1.0. The results for box, extended-box, line, and extended-line crossover are shown in Figures 9, 10, 11, and 12, respectively. Interestingly, for all cases, we could observe that the higher mutation rate reduces the bias more largely. However, even high mutation rates cannot eliminate the bias

In this section, we try to figure out the properties of crossover and mutation through experiments using their various combinations. For our experiments, four test functions are

We mainly followed the genetic framework by Tsutsui & Goldberg (2001). Its basic evolutionary model is quite similar to that of CHC (Eshelman, 1991) and (*μ* + *λ*)-ES (Beyer,

<sup>2</sup> We can find consistent results with this in Someya & Yamamura (2005); Yoon et al. (2012).

((*xi* <sup>−</sup> *oi*)<sup>2</sup> <sup>−</sup> 10 cos(2*π*(*xi* <sup>−</sup> *oi*)) + <sup>10</sup>) <sup>−</sup> <sup>330</sup> <sup>30</sup> [−5, 5]

Shifted sphere

Shifted Schwefel

Shifted Rosenbrock

Shifted Rastrigin

*n* ∑ *i*=1

*n* ∑ *i*=1 ( *i* ∑ *j*=1

*n*−1 ∑ *i*=1

> *n* ∑ *i*=1

Table 1. Test Functions

are still biased toward the center.2

**4. Combination of crossover and mutation**

chosen from Suganthan et al. (2005). They are described in Table 1.

completely.

2001).

Fig. 8. Crossover bias in one-dimensional bounded real space

operator: an evolutionary algorithm using that operator, without selection, is attracted to the areas the search operator prefers. Arguably, also when selection is present, the operator bias acts as a background force that makes the search keener to go toward the areas preferred by the search operator. This is not necessarily bad if the bias is toward the optimum or an area with high-quality solutions. However, it may negatively affect performance if the bias is toward an area of poor-quality solutions. If we do not know the spatial distribution of the fitness of the problem, we may prefer not to have any *a priori* bias of the search operator, and instead use only the bias of selection, which is informed by the fitness of sampled solutions that constitute empirical knowledge about promising areas obtained in the search, and which is better understood.

In this chapter, we investigate the bias caused by crossover itself and crossover combined with mutation in real-coded GAs. Intuitively, box and line crossover are biased toward the center on the Euclidean space. This intuition is easy to verify experimentally by picking a large number of pairs (ideally infinitely many) of random parents and generating offspring uniformly at random in the boxes (or lines) identified by the pairs of parents.


#### Table 1. Test Functions

6 Will-be-set-by-IN-TECH

(a) Box crossover (b) Extended-box crossover (*α* = 0.5)

(c) Line crossover (d) Extended-line crossover (*α* = 0.5)

operator: an evolutionary algorithm using that operator, without selection, is attracted to the areas the search operator prefers. Arguably, also when selection is present, the operator bias acts as a background force that makes the search keener to go toward the areas preferred by the search operator. This is not necessarily bad if the bias is toward the optimum or an area with high-quality solutions. However, it may negatively affect performance if the bias is toward an area of poor-quality solutions. If we do not know the spatial distribution of the fitness of the problem, we may prefer not to have any *a priori* bias of the search operator, and instead use only the bias of selection, which is informed by the fitness of sampled solutions that constitute empirical knowledge about promising areas obtained in the search, and which

In this chapter, we investigate the bias caused by crossover itself and crossover combined with mutation in real-coded GAs. Intuitively, box and line crossover are biased toward the center on the Euclidean space. This intuition is easy to verify experimentally by picking a large number of pairs (ideally infinitely many) of random parents and generating offspring

uniformly at random in the boxes (or lines) identified by the pairs of parents.

Fig. 8. Crossover bias in one-dimensional bounded real space

is better understood.

o = (*o*1, *o*2,..., *on*) is the optimal solution, which is randomly located in the domain.

In the Hamming space, the distribution of the offspring of uniform crossover tends in the limit to be uniform on all space, whereas in the Euclidean space the distribution of the offspring tends to be unevenly distributed on the search space and concentrates toward the center of the space. One way to compensate, but not eliminate, such bias is using extended-line and extended-box crossovers. Figure 8 visualizes the crossover bias in the one-dimensional real space by plotting frequency rates of 107 offspring randomly generated by each type crossover. As we can see, box and line crossover are biased toward the center of the domain. We could also observe that extended-box and extended-line crossover largely reduce the bias but they are still biased toward the center.2

For analyzing the effect of mutation in relation with the bias, we also performed the same test using crossover combined with Gaussian mutation. We picked 107 pairs of random parents, generated offspring randomly using each type crossover, and then applied Gaussian mutation. The tests are performed for various mutation rates from 0.0 to 1.0. The results for box, extended-box, line, and extended-line crossover are shown in Figures 9, 10, 11, and 12, respectively. Interestingly, for all cases, we could observe that the higher mutation rate reduces the bias more largely. However, even high mutation rates cannot eliminate the bias completely.

#### **4. Combination of crossover and mutation**

In this section, we try to figure out the properties of crossover and mutation through experiments using their various combinations. For our experiments, four test functions are chosen from Suganthan et al. (2005). They are described in Table 1.

We mainly followed the genetic framework by Tsutsui & Goldberg (2001). Its basic evolutionary model is quite similar to that of CHC (Eshelman, 1991) and (*μ* + *λ*)-ES (Beyer, 2001).

<sup>2</sup> We can find consistent results with this in Someya & Yamamura (2005); Yoon et al. (2012).

(a) Crossover without mutation (b) Crossover with mutation (*p* = 0.05)

The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms 73

(c) Crossover with mutation (*p* = 0.1) (d) Crossover with mutation (*p* = 0.2)

(e) Crossover with mutation (*p* = 0.5) (f) Crossover with mutation (*p* = 1.0)

Fig. 10. Bias of extended-box crossover (*α* = 0.5) with mutation

Fig. 9. Bias of box crossover with mutation

8 Will-be-set-by-IN-TECH

(a) Crossover without mutation (b) Crossover with mutation (*p* = 0.05)

(c) Crossover with mutation (*p* = 0.1) (d) Crossover with mutation (*p* = 0.2)

(e) Crossover with mutation (*p* = 0.5) (f) Crossover with mutation (*p* = 1.0)

Fig. 9. Bias of box crossover with mutation

Fig. 10. Bias of extended-box crossover (*α* = 0.5) with mutation

(a) Crossover without mutation (b) Crossover with mutation (*p* = 0.05)

The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms 75

(c) Crossover with mutation (*p* = 0.1) (d) Crossover with mutation (*p* = 0.2)

(e) Crossover with mutation (*p* = 0.5) (f) Crossover with mutation (*p* = 1.0)

Fig. 12. Bias of extended-line crossover (*α* = 0.5) with mutation

Fig. 11. Bias of line crossover with mutation

10 Will-be-set-by-IN-TECH

(a) Crossover without mutation (b) Crossover with mutation (*p* = 0.05)

(c) Crossover with mutation (*p* = 0.1) (d) Crossover with mutation (*p* = 0.2)

(e) Crossover with mutation (*p* = 0.5) (f) Crossover with mutation (*p* = 1.0)

Fig. 11. Bias of line crossover with mutation

Fig. 12. Bias of extended-line crossover (*α* = 0.5) with mutation

Function Shifted Sphere Shifted Schwefel Shifted Rosenbrock Shifted Rastrigin

0.05/*k* 5.46e+02 (4.59e+01) 1.68e+04 (9.05e+02) 1.87e+07 (1.70e+06) -2.66e+02 (1.91e+00) 0.10/*k* **6.40e+01** (2.17e+01) 1.16e+04 (5.33e+02) **4.64e+06** (3.86e+05) **-2.68e+02** (1.65e+00)

0.50/*k* 9.87e+02 (3.13e+01) **7.87e+03** (3.18e+02) 1.89e+07 (8.19e+05) -2.27e+02 (1.28e+00) 1.00/*k* 2.38e+03 (6.45e+01) 1.24e+04 (3.76e+02) 7.12e+07 (2.45e+06) -1.91e+02 (1.72e+00) None 2.46e+04 (4.46e+02) 2.47e+04 (3.03e+02) 5.36e+09 (1.69e+08) -1.83e+02 (1.64e+00) 0.05/*k* -3.61e+02 (1.81e+00) 1.44e+04 (1.96e+02) 2.66e+05 (8.26e+03) -2.53e+02 (1.51e+00) 0.10/*k* -4.02e+02 (1.13e+00) 1.22e+04 (1.42e+02) 7.86e+04 (2.26e+03) **-2.60e+02** (1.11e+00) 0.20/*k* **-4.25e+02** (6.96e-01) 9.98e+03 (1.40e+02) **4.34e+04** (1.57e+03) -2.48e+02 (2.37e+00) 0.50/*k* -3.40e+02 (3.04e+00) **8.10e+03** (1.17e+02) 2.16e+05 (1.02e+04) -1.94e+02 (1.90e+00)

<sup>√</sup>*n*) Ave (*σ*/

<sup>√</sup>*n*) Ave (*σ*/

<sup>√</sup>*n*)

<sup>√</sup>*n*) Ave (*σ*/

The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms 77

None 0.20/*k* 1.37e+02 (1.55e+01) 7.99e+03 (4.79e+02) 4.74e+06 (2.34e+05) -2.64e+02 (1.58e+00)

Box 1.00/*k* 2.81e+02 (1.54e+01) 8.68e+03 (2.05e+02) 5.55e+06 (2.53e+05) -1.71e+02 (1.48e+00) crossover Fine **-4.50e+02** (4.63e-03) 8.74e+03 (1.16e+02) **1.40e+03** (7.16e+01) **-3.03e+02** (1.60e+00)

Extended 0.50/*k* 2.54e+02 (1.91e+01) 1.60e+04 (3.92e+02) 6.93e+06 (3.35e+05) -1.63e+02 (1.68e+00) box 1.00/*k* 1.60e+03 (5.17e+01) 2.10e+04 (4.98e+02) 4.65e+07 (1.85e+06) -1.50e+02 (2.26e+00) crossover Fine **-4.23e+02** (7.81e-01) **1.76e+04** (3.62e+02) **2.07e+05** (1.21e+04) **-1.75e+02** (1.71e+00) (*α* = 0.5) Fine + 0.05/*k* -3.67e+02 (2.09e+00) 1.80e+04 (4.84e+02) 7.16e+05 (2.99e+04) -1.68e+02 (1.56e+00) Fine + 0.10/*k* -2.72e+02 (3.48e+00) 1.85e+04 (4.39e+02) 1.55e+06 (6.25e+04) -1.68e+02 (1.83e+00) Fine + 0.20/*k* -2.18e+01 (1.03e+01) 1.84e+04 (5.26e+02) 5.45e+06 (2.49e+05) -1.63e+02 (2.22e+00) Fine + 0.50/*k* 9.07e+02 (3.03e+01) 2.24e+04 (5.74e+02) 2.69e+07 (1.32e+06) -1.52e+02 (1.92e+00) Fine + 1.00/*k* 2.47e+03 (5.56e+01) 2.55e+04 (5.66e+02) 9.84e+07 (3.94e+06) -1.37e+02 (2.26e+00) None 4.29e+04 (6.09e+02) 3.44e+04 (8.72e+02) 1.22e+10 (4.00e+08) -7.32e+01 (3.09e+00) 0.05/*k* -2.11e+02 (4.61e+00) 1.45e+04 (3.04e+02) 1.30e+06 (4.48e+04) -2.24e+02 (2.19e+00) 0.10/*k* -3.55e+02 (2.03e+00) 1.26e+04 (2.19e+02) 2.12e+05 (7.95e+03) **-2.32e+02** (1.56e+00) 0.20/*k* **-4.00e+02** (1.76e+00) 1.00e+04 (1.80e+02) **9.66e+04** (3.77e+03) -2.24e+02 (3.13e+00) 0.50/*k* -3.37e+02 (3.29e+00) **7.26e+03** (1.59e+02) 2.33e+05 (1.30e+04) -1.91e+02 (1.62e+00)

Line 1.00/*k* 2.37e+02 (2.04e+01) 6.93e+03 (1.46e+02) 4.34e+06 (2.80e+05) -1.73e+02 (1.50e+00) crossover Fine **-4.48e+02** (1.22e-01) 9.38e+03 (1.38e+02) 1.07e+04 (8.87e+02) **-2.87e+02** (2.31e+00)

Extended 0.50/*k* -2.41e+02 (6.38e+00) **7.03e+03** (1.43e+02) 6.22e+05 (3.95e+04) -1.88e+02 (1.40e+00) line 1.00/*k* 4.60e+02 (2.41e+01) 8.00e+03 (1.61e+02) 7.43e+06 (3.58e+05) -1.69e+02 (1.61e+00) crossover Fine **-4.46e+02** (2.66e-01) 7.67e+03 (1.98e+02) **1.88e+04** (2.14e+03) **-2.44e+02** (5.08e+00) (*α* = 0.5) Fine + 0.05/*k* -4.39e+02 (4.12e-01) 7.69e+03 (1.76e+02) 2.28e+04 (1.56e+03) -2.26e+02 (3.84e+00) Fine + 0.10/*k* -4.29e+02 (1.03e+00) 7.52e+03 (1.90e+02) 3.51e+04 (2.50e+03) -2.09e+02 (1.96e+00) Fine + 0.20/*k* -3.92e+02 (2.23e+00) **7.24e+03** (1.57e+02) 1.42e+05 (7.84e+03) -1.92e+02 (1.67e+00) Fine + 0.50/*k* -4.34e+01 (1.06e+01) 8.62e+03 (1.56e+02) 1.93e+06 (8.59e+04) -1.73e+02 (1.65e+00) Fine + 1.00/*k* 8.69e+02 (3.33e+01) 1.10e+04 (2.63e+02) 1.51e+07 (9.43e+05) -1.57e+02 (1.86e+00)

Fine + 0.05/*k* -4.47e+02 (1.52e-01) 8.81e+03 (1.73e+02) **8.13e+03** (4.91e+02) -2.58e+02 (4.68e+00) Fine + 0.10/*k* -4.43e+02 (4.00e-01) 8.16e+03 (1.54e+02) 1.10e+04 (6.89e+02) -2.30e+02 (3.34e+00) Fine + 0.20/*k* -4.32e+02 (5.20e-01) 7.79e+03 (1.37e+02) 2.95e+04 (1.63e+03) -2.05e+02 (1.97e+00) Fine + 0.50/*k* -2.27e+02 (7.78e+00) **7.71e+03** (1.70e+02) 7.95e+05 (3.23e+04) -1.82e+02 (1.50e+00) Fine + 1.00/*k* 5.76e+02 (2.37e+01) 9.91e+03 (1.62e+02) 9.54e+06 (5.55e+05) -1.62e+02 (1.68e+00) None 3.85e+04 (9.05e+02) 3.11e+04 (6.79e+02) 9.81e+09 (5.11e+08) -1.17e+02 (3.40e+00) 0.05/*k* -1.37e+02 (1.20e+01) 1.21e+04 (2.97e+02) 2.97e+06 (2.14e+05) **-2.40e+02** (2.59e+00) 0.10/*k* -3.27e+02 (4.22e+00) 9.46e+03 (2.92e+02) 5.23e+05 (3.33e+04) -2.37e+02 (2.16e+00) 0.20/*k* **-3.67e+02** (3.37e+00) 8.19e+03 (2.09e+02) **2.02e+05** (1.00e+04) -2.13e+02 (2.53e+00)

Fine + 0.05/*k* **-4.50e+02** (2.54e-02) 8.43e+03 (1.36e+02) 1.99e+03 (8.59e+01) -2.77e+02 (3.16e+00) Fine + 0.10/*k* -4.48e+02 (8.07e-02) 8.10e+03 (1.42e+02) 3.33e+03 (1.59e+02) -2.39e+02 (3.26e+00) Fine + 0.20/*k* -4.37e+02 (5.19e-01) **7.83e+03** (1.06e+02) 1.78e+04 (8.37e+02) -2.07e+02 (1.87e+00) Fine + 0.50/*k* -2.11e+02 (6.63e+00) 8.83e+03 (1.72e+02) 8.47e+05 (3.91e+04) -1.82e+02 (1.64e+00) Fine + 1.00/*k* 6.67e+02 (2.51e+01) 1.20e+04 (2.27e+02) 1.08e+07 (5.26e+05) -1.68e+02 (1.65e+00) None **-4.50e+02** (2.72e-04) **8.78e+03** (1.90e+02) **7.45e+02** (3.21e+01) **-2.21e+02** (2.33e+00) 0.05/*k* -4.49e+02 (3.17e-02) 9.63e+03 (2.20e+02) 3.14e+03 (1.67e+02) -2.00e+02 (1.97e+00) 0.10/*k* -4.40e+02 (2.52e-01) 1.07e+04 (2.50e+02) 2.24e+04 (9.14e+02) -1.95e+02 (1.75e+00) 0.20/*k* -3.59e+02 (2.22e+00) 1.25e+04 (2.45e+02) 3.35e+05 (1.86e+04) -1.81e+02 (1.66e+00)

Crossover Mutation Ave (*σ*/

Table 2. Results

Let *N* the population size. A collection of *N*/2 pairs is randomly composed, and crossover and mutation are applied to each pair, generating *N*/2 offspring. Parents and newly generated offspring are ranked and the best *N* individuals among them are selected for the population in the next generation. The population size was 400 for all experiments. If the population has no change during *n* × *r* × (1.0 − *r*) generations, it is reinitialized except for the best individual. Here, *r* is a divergence rate and we set it to 0.25 as in Eshelman (1991). The used GA terminates when it finds the global optimum.

For crossover, we used four crossover operators: box crossover, extended-box crossover (extension rate *α*: 0.5), line crossover, and extended-line crossover (extension rate *α*: 0.5). After crossover, we either mutate the offspring or do not. We used two different mutation operators; Gaussian mutation and fine mutation. Different mutation rates were applied to each crossover type and the rates decrease as the number of generations increases.

Table 2 shows the results from 30 runs. Each value in 'Ave' means the average function value from 30 runs. The smaller, the better. The limit of function evaluations is 50,000, i.e., the genetic algorithm terminates after 50,000 evaluations and outputs the best solution among evaluated ones so far over generations. In the table, *k* = 1 + �*numberOfGenerations*/100� and the rate of fine mutation is 0.5/*k*.

From these experiments we can obtain the following properties.


12 Will-be-set-by-IN-TECH

Let *N* the population size. A collection of *N*/2 pairs is randomly composed, and crossover and mutation are applied to each pair, generating *N*/2 offspring. Parents and newly generated offspring are ranked and the best *N* individuals among them are selected for the population in the next generation. The population size was 400 for all experiments. If the population has no change during *n* × *r* × (1.0 − *r*) generations, it is reinitialized except for the best individual. Here, *r* is a divergence rate and we set it to 0.25 as in Eshelman (1991). The used GA terminates

For crossover, we used four crossover operators: box crossover, extended-box crossover (extension rate *α*: 0.5), line crossover, and extended-line crossover (extension rate *α*: 0.5). After crossover, we either mutate the offspring or do not. We used two different mutation operators; Gaussian mutation and fine mutation. Different mutation rates were applied to each crossover

Table 2 shows the results from 30 runs. Each value in 'Ave' means the average function value from 30 runs. The smaller, the better. The limit of function evaluations is 50,000, i.e., the genetic algorithm terminates after 50,000 evaluations and outputs the best solution among evaluated ones so far over generations. In the table, *k* = 1 + �*numberOfGenerations*/100� and

• There is no superior operator combination for all over the problem instances. For the shifted sphere, box crossover with fine mutation showed the best performance. For the shifted Schwefel, line crossover with Gaussian mutation, for the shifted Rosenbrock, extended-box crossover without mutation, and for the shifted Rastrigin, box crossover with fine mutation showed the best performances, respectively. So we can know that suitable crossover and mutation can be varied depending on the property of given

• Without mutation, extended-box crossover showed the best performance. That is, when we do not know the characteristic of given problem, it is a general choice that we use extended-box crossover as a crossover operator in real-coded genetic algorithms. It is convenient since parameter tuning with mutation is not required. However, it is possible to surpass the performance of extended-box crossover using well-designed combination

• Unusually, for extended-box crossover, the results without mutation is the best and the performance becomes worse as mutation rate increases. However, for box crossover, moderate rate of mutation has a good effect to the performance. For all cases, box crossover with mutation showed better performance than that without mutation. From this fact, we can infer that extended-box crossover contains the function of mutation in itself but box

• Except for extended-box crossover, the results of crossover with mutation were better than those of crossover without mutation. In particular, fine mutation was better than Gaussian mutation. Fine mutation depends on the distance between parents so, as population converges, the strength of the mutation approaches zero. That is, the amount of mutation becomes very fine as population converges. In binary encodings, the main role of mutation is perturbation effect to prevent premature convergence. However, we can know that, in real encoding, the function of fine tuning by mutation is also important from this

type and the rates decrease as the number of generations increases.

From these experiments we can obtain the following properties.

when it finds the global optimum.

the rate of fine mutation is 0.5/*k*.

of crossover and mutation.

crossover does not.

experiment.

problem.


Table 2. Results

Dasgupta, S., Das, S., Biswas, A. & Abraham, A. (2009). On stability and convergence of the population-dynamics in differential evolution, *AI Commun.* 22(1): 1–20. Deb, K. & Agrawal, R. B. (1995). Simulated binary crossover for continuous search space,

The Roles of Crossover and Mutation in Real-Coded Genetic Algorithms 79

Deb, K., Anand, A. & Joshi, D. (2002). A computationally efficient evolutionary algorithm for real-parameter optimization, *Evolutionary Computation* 10(4): 371–395. Deb, K. & Beyer, H.-G. (1999). Self-adaptation in real-parameter genetic algorithms with

Deb, K. & Kumar, A. (1995). Real-coded genetic algorithms with simulated binary crossover: Studies on multi-modal and multi-objective problems, *Complex Systems* 9: 431–454. Deb, K., Sindhya, K. & Okabe, T. (2007). Self-adaptive simulated binary crossover for

Eshelman, L. J. (1991). The CHC adaptive search algorithm: How to have safe search when

Eshelman, L. J., Mathias, K. E. & Schaffer, J. D. (1997). Crossover operator biases: Exploiting

Eshelman, L. J. & Schaffer, J. D. (1993). Real-coded genetic algorithms and interval-schemata, *Proceedings of the Workshop on Foundations of Genetic Algorithms*, pp. 187–202. Goldberg, D. E. (1991). Real-coded genetic algorithms, virtual alphabets, and blocking,

Hansen, N. & Ostermeier, A. (2001). Completely derandomized self-adaptation in evolution

Herrera, F., Lozano, M. & Sánchez, A. M. (2003). A taxonomy for the crossover operator

Herrera, F., Lozano, M. & Sánchez, A. M. (2005). Hybrid crossover operators for real-coded genetic algorithms: an experimental study, *Soft Computing* 9(4): 280–298. Herrera, F., Lozano, M. & Verdegay, J. L. (1998). Tackling real-coded genetic

Higuchi, T., Tsutsui, S. & Yamamura, M. (2000). Theoretical analysis of simplex crossover

Huang, H., Qin, H., Hao, Z. & Lim, A. (2010). Example-based learning particle

Igel, C., Hansen, N. & Roth, S. (2007). Covariance matrix adaptation for multi-objective

Igel, C., Suttorp, T. & Hansen, N. (2006). A computational efficient covariance matrix update

Jägersküpper, J. (2007). Algorithmic analysis of a basic evolutionary algorithm for continuous

for real-coded genetic algorithms: An experimental study, *International Journal of*

algorithms: Operators and tools for behavioural analysis, *Artificial Intelligence Review*

for real-coded genetic algorithms, *Proceedings of the Sixth International Conference on*

swarm optimization for continuous optimization, *Information Sciences* .

and a (1 + 1)-CMA for evolution strategies, *Proceedings of the Genetic and Evolutionary*

simulated binary crossover, *Proceedings of the Genetic and Evolutionary Computation*

real-parameter optimization, *Proceedings of the Genetic and Evolutionary Computation*

engaging in nontraditional genetic recombination, *Proceedings of the Workshop on*

the population distribution, *Proceedings of the International Conference on Genetic*

*Complex Systems* 9(2): 115–148.

*Conference*, pp. 172–179.

*Conference*, pp. 1187–1194.

*Algorithms*, pp. 354–361.

*Complex Systems* 5: 139–167.

*Intelligent Systems* 18(3): 309–338.

doi:10.1016/j.ins.2010. 10.018.

*Computation Conference*, pp. 453–460.

12(4): 265–319.

*Foundations of Genetic Algorithms*, pp. 265–283.

strategies, *Evolutionary Computation* 9: 159–195.

*Parallel Problem Solving from Nature*, pp. 365–374.

optimization, *Evolutionary Computation* 15(1): 1–28.

optimization, *Theoretical Computer Science* 379(3): 329–347.

#### **5. Conclusions**

In this chapter, we tried to analyze distinct roles of crossover and mutation when using real encoding in genetic algorithms. We investigated the bias of crossover and mutation. From this investigation, we could know that extended crossover and mutation can reduce the inherent bias of traditional crossover in real-coded genetic algorithms.

We also studied the functions of crossover and mutation operators through experiments for various combinations of both operators. From these experiments, we could know that extended-box crossover is good in the case of using only crossover without mutation. However, it is possible to surpass the performance of extended-box crossover using well-designed combination of crossover and mutation. In the case of other crossover operators, not only the function of perturbation but also that of fine tuning by mutation is important, but extended-box crossover contains the fine tuning function in itself.

There are many other test functions defined on real domains. We conducted experiments with limited test functions. We may obtain more reliable conclusions through experiments with more other functions. So, more extended experiments on more various test functions are needed for future work. We may also find other useful properties from those empirical study.
