byte_mutation_dynamic: Performs mutation operation on a given double vector using...

byte_mutation_dynamicR Documentation

Performs mutation operation on a given double vector using dynamic mutation probabilities

Description

This function is not called directly but is given as a parameter in GA::ga function. In GA::ga, if the parameter mutation= is set to byte_mutation_dynamic than the byte-coded mutation operator is applied in the genetic search. In mcga2 function, the hard-coded mutation parameter is set to byte_mutation by definition. Byte-mutation function simply takes an double vector and changes bytes of this values by +1 or -1 using the dynamically decreased and pre-determined mutation probabilty.

Usage

byte_mutation_dynamic(object, parent, ...)

Arguments

object

A GA::ga object

parent

Index of the candidate solution of the current population

...

Additional arguments to be passed to the function

Value

Mutated double vector

Author(s)

Mehmet Hakan Satman - mhsatman@istanbul.edu.tr

References

M.H.Satman (2013), Machine Coded Genetic Algorithms for Real Parameter Optimization Problems, Gazi University Journal of Science, Vol 26, No 1, pp. 85-95

Examples

f <- function(x){ 
  return(-sum( (x-5)^2 ) )
}
myga <- GA::ga(type="real-valued", fitness = f, popSize = 100, maxiter = 200, 
              min = rep(-50,5), max = rep(50,5), crossover = byte_crossover,
              mutation = byte_mutation_dynamic, pmutation = 0.10)
print(myga@solution)

mcga documentation built on Nov. 27, 2023, 5:12 p.m.