ga_pmutation function

Variable mutation probability in genetic algorithms

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), ...)

Arguments

  • 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.

Returns

Return a numeric value in the range (0,1).

Author(s)

Luca Scrucca

See Also

ga, ga_Mutation

Examples

## 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)
  • Maintainer: Luca Scrucca
  • License: GPL (>= 2)
  • Last published: 2024-01-28