Population update using the best neighborhood replacement method for the MOEADr package.
updt_best(update, X, Xt, Y, Yt, V, Vt, normYs, W, BP, constraint, aggfun, ...)
List containing the population update parameters. See
Section Update Strategies
of the moead()
documentation for
details. update
must have the following key-value pairs:
update$Tr
: positive integer, neighborhood size for the update
operation
update$nr
: positive integer, maximum number of copies of a given
candidate solution.
Matrix of candidate solutions
Matrix of incumbent solutions
Matrix of objective function values of X
Matrix of objective function values of Xt
List object containing information about the constraint violations
of the candidate solutions, generated by evaluate_population()
List object containing information about the constraint violations
of the incumbent solutions, generated by evaluate_population()
List generated by scale_objectives()
, containing two matrices
of scaled objective values (normYs$Y
and normYs$Yt
) and two vectors,
containing the current estimates of the ideal (normYs$minP
) and nadir
(normYs$maxP
) points. See scale_objectives()
for details.
matrix of weights, generated by generate_weights()
.
Neighborhood list, generated by define_neighborhood()
.
list containing the parameters defining the constraint
handling method. See Section Constraint Handling
of the moead()
documentation for details.
List containing the aggregation function parameters. See
Section Scalar Aggregation Functions
of the moead()
documentation for
details.
other parameters (included for compatibility with generic call)
List object containing the update population matrix (X
),
and its corresponding matrix of objective function values (Y
) and
constraint value list (V
).
The Best Neighborhood Replacement method consists of three steps:
For each subproblem i
, the best candidate solution x_j
from the
entire population is determined.
The neighborhood of subproblem i
is replaced by the neighborhood
of subproblem j. The size of this neighborhood is given by a parameter
Tr
.
The Restricted replacement (see updt_restricted()
) is then
applied using this new neighborhood.
This update routine is intended to be used internally by the main moead()
function, and should not be called directly by the user.
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