Learn R Programming

xegaDfGene (version 1.0.0.5)

xegaDfReplicateGeneDE: Replicates a gene (differential evolution).

Description

xegaDfReplicateGeneDE() replicates a gene. Replication is the reproduction function which uses crossover and mutation. The control flow of differential evolution is as follows:

  • A target gene is selected from the population.

  • A mutant gene is generated by differential mutation.

  • The gene and the mutant gene are crossed to get a new gene.

  • The gene is accepted if it is at least as good as the target gene.

Usage

xegaDfReplicateGeneDE(pop, fit, lF)

Value

A list of one gene.

Arguments

pop

Population of real-coded genes.

fit

Fitness vector.

lF

Local configuration of the genetic algorithm.

Details

For selection="UniformP", for crossover="UPCrossGene" and for accept="Best" this is the algorithm of Price, Storn and Lampinen (2005), page 41.

References

Price, Kenneth V., Storn, Rainer M. and Lampinen, Jouni A. (2005) The Differential Evolution Algorithm (Chapter 2), pp. 37-134. In: Differential Evolution. A Practical Approach to Global Optimization. Springer, Berlin. <doi:10.1007/3-540-31306-0>

See Also

Other Replication: xegaDfReplicateGeneDEPipeline()

Examples

Run this code
pop10<-lapply(rep(0,10), function(x) xegaDfGene::xegaDfInitGene(lFxegaDfGene))
epop10<-lapply(pop10, lFxegaDfGene$EvalGene, lF=lFxegaDfGene)
fit10<-unlist(lapply(epop10, function(x) {x$fit}))
newgenes<-xegaDfReplicateGeneDE(pop10, fit10, lFxegaDfGene)

Run the code above in your browser using DataLab