Variable mutation probability in genetic algorithms
A function which calculates the mutation probability for the current iteration. This enables to use GAs with variable mutation rate (see examples).
ga_pmutation(object, p0 = 0.5, p = 0.01, T = round(object@maxiter/2), ...)
object
: An object of class "ga"
, usually resulting from a call to function ga
.p0
: initial probability of mutation.p
: limiting probability of mutation.T
: maximum iteration after which it should converges to p
....
: Further arguments passed to or from other methods.Return a numeric value in the range (0,1).
Luca Scrucca
ga
, ga_Mutation
## Not run: Rastrigin <- function(x1, x2) { 20 + x1^2 + x2^2 - 10*(cos(2*pi*x1) + cos(2*pi*x2)) } GA <- ga(type = "real-valued", fitness = function(x) -Rastrigin(x[1], x[2]), lower = c(-5.12, -5.12), upper = c(5.12, 5.12), popSize = 50, maxiter = 500, run = 100, pmutation = ga_pmutation) plot(GA) GA <- ga(type = "real-valued", fitness = function(x) -Rastrigin(x[1], x[2]), lower = c(-5.12, -5.12), upper = c(5.12, 5.12), popSize = 50, maxiter = 500, run = 100, pmutation = function(...) ga_pmutation(..., p0 = 0.1)) plot(GA) ## End(Not run)