Learn R Programming

windfarmGA (version 5.0.0)

mutation: Mutation Method

Description

Legacy bit-flip mutation on 0/1 chromosomes. The GA loop uses swap_mutation so that every individual keeps exactly n turbines.

Usage

mutation(a, p, seed = NULL)

Value

Returns a binary matrix with mutated genes.

Arguments

a

The binary matrix of all individuals

p

The mutation rate

seed

Set a seed for comparability. Default is NULL

See Also

Other Genetic Algorithm Functions: crossover(), fitness(), genetic_algorithm(), init_population(), selection(), set_crossover(), swap_mutation(), trimton()

Examples

Run this code
## Create 4 random individuals with binary values
a <- cbind(
  bin0 = sample(c(0, 1), 20, replace = TRUE, prob = c(70, 30)),
  bin1 = sample(c(0, 1), 20, replace = TRUE, prob = c(30, 70)),
  bin2 = sample(c(0, 1), 20, replace = TRUE, prob = c(30, 70)),
  bin3 = sample(c(0, 1), 20, replace = TRUE, prob = c(30, 70))
)
a

## Mutate the individuals with a low percentage
aMut <- mutation(a, 0.1, NULL)
## Check which values are not like the originals
a == aMut

## Mutate the individuals with a high percentage
aMut <- mutation(a, 0.4, NULL)
## Check which values are not like the originals
a == aMut

Run the code above in your browser using DataLab