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

Arguments

update

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.

X

Matrix of candidate solutions

Xt

Matrix of incumbent solutions

Y

Matrix of objective function values of X

Yt

Matrix of objective function values of Xt

V

List object containing information about the constraint violations of the candidate solutions, generated by evaluate_population()

Vt

List object containing information about the constraint violations of the incumbent solutions, generated by evaluate_population()

normYs

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.

W

matrix of weights, generated by generate_weights().

BP

Neighborhood list, generated by define_neighborhood().

constraint

list containing the parameters defining the constraint handling method. See Section Constraint Handling of the moead() documentation for details.

aggfun

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)

Value

List object containing the update population matrix (X), and its corresponding matrix of objective function values (Y) and constraint value list (V).

Details

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.

References

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