Implements the "/current-to-pbest" mutation for the ExpDE framework
mutation_current_to_pbest(X, mutpars)Matrix M containing the mutated population
population matrix
mutation parameters (see Mutation parameters for details)
The mutpars parameter contains all parameters required to define the
mutation. mutation_current_to_pbest() understands the following fields in
mutpars:
f : scaling factor for difference vector(s).
Accepts numeric vectors of size 1 or nvecs.
p : either the number of "best" vectors to use (if given as a
positive integer) or the proportion of the population to use as "best"
vectors (if 0 < p < 1).
This routine will search for the performance vector
of population X (J) in the parent environment (using
parent.frame(). This variable must be defined for
mutation_current_to_pbest() to work.
Felipe Campelo (fcampelo@ufmg.br)
This routine also implements one special case:
current-to-best mutation (current_to_best), by setting
mutpars$p = 1);
Flat recombination (flat), by setting
recpars$alpha = recpars$beta = 0)
J. Zhang, A.C. Sanderson, "JADE: Adaptive differential evolution with optional external archive". IEEE Transactions on Evolutionary Computation 13:945-958, 2009