Calculates neighborhood relations for the MOEADr package

define_neighborhood(neighbors, v.matrix, iter)

Arguments

neighbors

List containing the decomposition method parameters. This list must contain the following key-value pairs:

  • neighbors$name, type of neighborhood to use. The following types are currently available:

    • neighbors$name = "lambda": defines the neighborhood using the distance matrix for the weight vectors. The calculation is performed only once for the entire run.

    • neighbors$name = "x": defines the neighborhood using the distance matrix for the incumbent solution associated with each subproblem. In this case the calculation is performed at each iteration.

  • neighbors$T: Neighborhood size. The value of neighbors$T must be smaller than the number of subproblems.

  • neighbors$delta.p: Probability of sampling from the neighborhood when performing variation. Must be a scalar value between 0 and 1.

v.matrix

matrix of vectors to be used for defining the neighborhoods.

iter

iteration counter of the MOEA/D

Value

List containing the matrix of selection probabilities (P) and the matrix of neighborhoods (B).

Details

This routine calculates the neighborhood relations for the MOEA/D.

Warning: this routine may access (but not directly modify) variables from the calling environment.

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