Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - Português - 日本語 -

See the recommended documentation of this function

Scilab help >> Genetic Algorithms > Utilities > crossover_ga_default

# crossover_ga_default

A crossover function for continuous variable functions

### Calling Sequence

`[Crossed_Indiv1,Crossed_Indiv2] = crossover_ga_default(Indiv1,Indiv2,param)`

### Arguments

Indiv1

The first individual to be crossed-over.

Indiv2

The second individual to be crossed-over.

param

a list of parameters.

• 'beta': the range of the random generator. A random value will be sampled between -beta and 1+beta. This sampled value will be used to perform a convex combination between Indiv1 and Indiv2.

• 'minbound': a vector of minimum bounds for the variable X.

• 'maxbound': a vector of maximum bounds for the variable X.

Crossed_Indiv1

The first individual resulting from the crossover.

Crossed_Indiv2

The second individual resulting from the crossover.

### Description

crossover_ga_default is a crossover function for functions with continuous variables. This crossover function is an extension of a convexe combination. The crossed individuals are computed with the following equations :

```mix = (1 + 2*Beta)*rand(1,1) - Beta;
Crossed_Indiv1 =     mix*Indiv1 + (1-mix)*Indiv2;
Crossed_Indiv2 = (1-mix)*Indiv1 +     mix*Indiv2;```

The Beta parameter should be set to a positive value. If Beta is set to 0, the resulting crossover is a simple convexe combination between the two parents. That may lead to a too fast convergence of the genetic algorithm and may decrease the diversity of the individuals of the population. If Beta is chosen strictly positive, that may allow children to explore the domain beyond the domain explored by their parents.

### References

Michalewicz, Zbigniew Genetic Algorithms + Data Structures = Evolution Programs