ga_pmutation.Rd
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), ...)
An object of class "ga"
, usually resulting from a call to function ga
.
initial probability of mutation.
limiting probability of mutation.
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).
if (FALSE) {
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)
}