Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

ga_pmutation

Variable mutation probability in genetic algorithms


Description

A function which calculates the mutation probability for the current iteration. This enables to use GAs with variable mutation rate (see examples).

Usage

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.

Value

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

Author(s)

Luca Scrucca

See Also

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)

GA

Genetic Algorithms

v3.2.1
GPL (>= 2)
Authors
Luca Scrucca [aut, cre] (<https://orcid.org/0000-0003-3826-0484>)
Initial release
2021-04-20

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.