Learn R Programming

adana (version 1.1.0)

nunimut: Non-uniform Mutation

Description

The nunimut operator is a mutation operator that adjusts for generations by reducing the mutation severity according to genetic progression (Michalewicz, 1994).

This operator is used for value encoded (integer or real number) chromosomes.

Usage

nunimut(y, lb, ub, g, gmax, mutb, ...)

Arguments

y

A vector. Chromosome of the offspring

lb

A vector. Lower bounds of genes

ub

A vector. Upper bounds of genes

g

Current generation number.

gmax

Maximum generation number.

mutb

An exponent parameter that sets non-uniformity

Further arguments passed to or from other methods.

Value

mutant

A vector. Chromosome of the offspring

mutgen

The number of the mutated gene.

References

Michalewicz, . (1994).

See Also

mutate, bitmut, randmut, randmut2, randmut3, randmut4, unimut, boundmut, nunimut2, powmut, powmut2, gaussmut, gaussmut2, gaussmut3, bsearchmut1, bsearchmut2, swapmut, invmut, shufmut, insmut, dismut, invswapmut, insswapmut, invdismut

Examples

Run this code
# NOT RUN {
lb = c(2, 1, 3, 1, 0, 4)
ub = c(10, 15, 8, 5, 6, 9)
offspring = c(8, 6, 4, 1, 3, 7)
set.seed(12)
nunimut(offspring, lb=lb, ub=ub, g=1, gmax=100, mutb=0.5)
set.seed(12)
nunimut(offspring, lb=lb, ub=ub, g=50, gmax=100, mutb=0.5)
# }

Run the code above in your browser using DataLab