xegaDfReplicateGeneDE: Replicates a gene (differential evolution).

View source: R/xegaDfReplicate.R

xegaDfReplicateGeneDER Documentation

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)

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.

targetGene is selected with lF$SelectGene(), gene0, gene1, and gene2 are selected by lF$SelectMate().

Value

A list of one gene.

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

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)

xegaDfGene documentation built on Aug. 22, 2025, 5:12 p.m.