GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions  www.geatbx.com

# 5 Mutation options

### Mutation.Name

This option contains the name of the mutation function (name of m-file). The possible mutation operators depend on the internal representation of the variables (VariableFormat).

• Default value: mutreal
• Type: string or cell array of strings; multi strategy support
• Available recombination functions:
• mutreal: real mutation (real valued representation)
• mutint: integer mutation (integer valued representation)
• mutbin: binary mutation (binary valued representation)
• mutswap: swap mutation (ordering/permutation representation)
• mutinvert: invert mutation (ordering/permutation representation)
• mutmove: move mutation (ordering/permutation representation)
• mutexch: exchange mutation (ordering/permutation representation)
• mutes1: Evolutionary strategy 1 (real valued representation)
• mutes2: Evolutionary strategy 2 (real valued representation)
• mutrandreal: random creation of individuals for random search (real valued representation)
• mutrandint: random creation of individuals for random search (integer valued representation)
• mutrandbin: random creation of individuals for random search (binary valued representation)
• mutrandperm: random creation of individuals for random search (permutation representation)
• mutnone: no mutation (internal dummy function in mutate), parents are not mutated
• Any other mutation function may be used directly, just set Mutation.Name to the name of the m-file.
• Example - use binary mutation mutbin (variables of individuals must be binary):
`GeaOpt = geaoptset(GeaOpt, 'Mutation.Name', 'mutbin');`
• Example - perform random search by random creation of individuals by ,,mutation" (no recombination):
```GeaOpt = geaoptset(GeaOpt, 'Recombination.Name', 'recnone', ...
'Mutation.Name', 'mutrandreal'});```
• The setting of this option corresponds with VariableFormat.
• Option number in previous versions: 6 (2.x and 1.x), the global variable GLOBAL_MUTATIONFUN is no longer necessary to define special mutation functions.

### Mutation.Rate

This option defines the mutation rate. Internally, the defined mutation rate is divided by the number of variables of the individuals. Thus, the defined mutation rate is just the factor of how many variables per individual are mutated (and not the internally used value).

• Default value: 1
• Type: scalar in [0, 1]; multi strategy support
• A value of Mutation.Rate=1 means that on the average 1 variable per individual is mutated, a value of 4 mutates 4 variables per individual (on average) and a value of 0.2 only 1 variable per 5 individuals.
• Example - set the mutation rate to 2 (higher mutation rate than default):
`GeaOpt = geaoptset(GeaOpt, 'Mutation.Rate', 2);`
• Option number in previous versions: 11 (2.x), not available/internal option (1.x)

### Mutation.Range

• This option defines the range of the mutation steps for every variable depending on the size of the domain of the respective variable or the definition of the respective operators. This option is not necessary for binary valued representations (mutbin).
• Default value: 0.1
• Type: scalar in [1, 0]; multi strategy support
• Mutation range is also used for defining the initial step sizes of evolution strategy mutation (mutes1 and mutes2). When mutation range is 1.0, the initial step sizes will be 0.01 times domain of variable, for mutation range of 0.2, the initial step sizes will be 0.002 times domain of variable.
• Example - set the mutation range of 4 subpopulations (defines rough / standard / fine / very fine search):
`GeaOpt = geaoptset(GeaOpt, 'Mutation.Range', [0.3 0.1 0.03 0.01]);`
• Option number in previous versions: 24 (2.x), not available/internal option (1.x)

### Mutation.Precision

This option defines the precision of the mutation steps depending on the mutation range. This option is not necessary for binary valued representations (mutbin).

• Default value: 12
• Type: scalar in [1, Inf]; multi strategy support
• Example - set the mutation precision for 4 subpopulations (from rough to very fine precision):
`GeaOpt = geaoptset(GeaOpt, 'Mutation.Precision', [8, 12, 16, 24]);`
• Option number in previous versions: 25 (2.x), not available/internal option (1.x)
 GEATbx: Main page  Tutorial  Algorithms  M-functions  Parameter/Options  Example functions  www.geatbx.com

This document is part of version 3.8 of the GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with Matlab - www.geatbx.com.
The Genetic and Evolutionary Algorithm Toolbox is not public domain.