mutation_ga_binary
A function which performs binary mutation
Syntax
[Mut_Indiv, pos] = mutation_ga_binary(Indiv,param)
Arguments
- Indiv
- A string. - The individual on which we will perform the mutation. 
- param
- a list of parameters. - "binary_length": an integer scalar, the size of the binary code. 
- "multi_mut": a boolean. If %T, several random bits will be flipped. 
- "multi_mut_nb": an integer scalar, the number of bits to be flipped. Only used when multi_mut is set to %T (default 2). 
 
- Mut_Indiv
- A string. - The mutated individual. 
- pos
- A vector of integers. - The positions of the mutated bits. 
Description
This function performs a classical multi-bits binary mutation.
This generates the individual Mut_Indiv by inverting bits on random positions.
By default mutation_ga_binary(Indiv) selects randomly
            an index i between 1 and length(Indiv).
            It then modifies the i-th character of Indiv to 1 if it was 0, or 0 if it was 1.
If "multi_mut" is set to %T multiple mutations may occur.
            The maximal number of mutation is given by "multi_mut_nb".
Random number generator
mutation_ga_binary is based
            on grand
            for generating the random samples.
            Use grand("setsd", seed) to change the seed
            for crossover_ga_binary.
Examples
Indiv="00010000" [Mut_Indiv, pos] = mutation_ga_binary(Indiv) // With multiple mutation param=init_param("multi_mut",%t,"multi_mut_nb",3); Indiv="00010000" [Mut_Indiv, pos] = mutation_ga_binary(Indiv,param)
See also
- mutation_ga_default — A continuous variable mutation function
- crossover_ga_binary — A crossover function for binary code
- init_ga_default — A function a initialize a population
- optim_ga — A flexible genetic algorithm
| Report an issue | ||
| << init_ga_default | Utilities | mutation_ga_default >> |