xegaDfReplicateGeneDEPipelineG: Generates a gene with an embedded gene pipeline for...

View source: R/xegaDfReplicate.R

xegaDfReplicateGeneDEPipelineGR Documentation

Generates a gene with an embedded gene pipeline for differential evolution.

Description

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

The execution is shifted to the evaluation phase.

Usage

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

To concentrate sampling around the best gene for faster convergence of global functions, configure selection="TopK" and around the best 3 genes, add topK=3.

xegaDfReplicateGeneDEPipelineG() is a genetic operator constructor which generates a gene with an embedded differential evolution operator pipeline (differential mutation, crossover and the acceptance rule).

Value

A gene with an embedded differential evolution pipeline.

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(), 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}))
ng<-xegaDfReplicateGeneDEPipelineG(pop10, fit10, lFxegaDfGene)
g<-ng[[1]]$Pipeline(ng[[1]], lFxegaDfGene)

xegaDfGene documentation built on Feb. 16, 2026, 5:10 p.m.