Performs two-point crossover operation on a pair of two selected parent candidate solutions
Performs two-point crossover operation on a pair of two selected parent candidate solutions
This function is not called directly but is given as a parameter in GA::ga function. In GA::ga, if the parameter crossover= is set to byte_crossover_2p than the byte-coded two-point crossover operator is applied in the genetic search. In mcga2 function, the hard-coded crossover parameter is set to byte_crossover by definition. byte_crossover_2p function simply takes two double vectors (parents) and combines the bytes of doubles using given cutpoint1 and cutpoint2.
byte_crossover_2p(object, parents,...)
Arguments
object: A GA::ga object
parents: Indices of the selected parents
...: Additional arguments to be passed to the function
Returns
List of two generated offspring
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_2p, mutation = byte_mutation)print(myga@solution)
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