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.