xegaDfReplicateGeneDEPipeline: Generates a function closure with a gene pipeline for...

View source: R/xegaDfReplicate.R

xegaDfReplicateGeneDEPipelineR Documentation

Generates a function closure with a gene pipeline for differential evolution.

Description

xegaDfReplicateGeneDEPipeline() embeds a gene pipeline for differential evolution and the genes necessary to evaluate it into a function closure. 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.

The execution is shifted to the evaluation phase.

Usage

xegaDfReplicateGeneDEPipeline(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.

xegaDfReplicateGeneDEPipeline() is a genetic operator constructor which generates a function closure which embeds differential mutation, crossover and the acceptance rule.

Value

A list of differential evolution pipelines.

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: xegaDfReplicateGeneDE()

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}))
ng<-xegaDfReplicateGeneDEPipeline(pop10, fit10, lFxegaDfGene)

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