xegaDfReplicateGeneDE {xegaDfGene} | R Documentation |
Replicates a gene (differential evolution).
Description
ReplicateGeneDE
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 binary 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.
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>
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)