Differential Mutation implementation for the MOEA/D
variation_diffmut(X, P, B, Phi = NULL, basis = "rand", ...)Population matrix
Matrix of selection probabilities (generated by
define_neighborhood())
Matrix of neighborhoods (generated by define_neighborhood())
Mutation parameter. Either a scalar numeric constant, or NULL for
randomly chosen between 0 and 1 (independently sampled for
each operation).
how to select the basis vector. Currently supported methods are:
basis = "rand", for using a randomly sampled vector from the
population;
basis = "mean", for using the mean point of the
neighborhood;
basis = "wgi", for using the the weighted mean point of the
neighborhood.
other parameters to be passed down to specific options of basis
vector generation (e.g., Y, Yt, W, scaling and aggfun, required
when basis = "wgi").
Matrix X' containing the mutated population
This function generalizes many variations of the Differential Mutation operator with general form:
u = x_basis + Phi(x_a - x_b)
Where u is the new candidate vector, Phi != 0 is a real number,
and x_basis, x_a and x_b are distinct vectors.
This routine is intended to be used internally by perform_variation(),
and should not be called directly by the user.
K. Price, R.M. Storn, J.A. Lampinen, "Differential Evolution: A
Practical Approach to Global Optimization", Springer 2005
F. Campelo, L.S. Batista, C. Aranha (2020): The MOEADr Package: A
Component-Based Framework for Multiobjective Evolutionary Algorithms Based on
Decomposition. Journal of Statistical Software doi:10.18637/jss.v092.i06
D. V. Arnold, “Weighted multirecombination evolution strategies,” Theoretical Computer Science 361(1):18–37, 2006.