Learn R Programming

ExpDE (version 0.1.4)

mutation_current_to_pbest: /current-to-pbest mutation for DE

Description

Implements the "/current-to-pbest" mutation for the ExpDE framework

Usage

mutation_current_to_pbest(X, mutpars)

Arguments

X

population matrix

mutpars

mutation parameters (see Mutation parameters for details)

Value

Matrix M containing the mutated population

Mutation Parameters

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).

Warning

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.

Details

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)

References

J. Zhang, A.C. Sanderson, "JADE: Adaptive differential evolution with optional external archive". IEEE Transactions on Evolutionary Computation 13:945-958, 2009