Calculates the ordering of competing solutions for each subproblem in the MOEA/D, based on their scalarized performance and violation values.

order_neighborhood(bigZ, B, V, Vt, constraint)

Arguments

bigZ

Matrix of scalarized performance values by neighborhood, generated by scalarize_values()

B

Neighborhood matrix, generated by define_neighborhood().

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()

constraint

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

Value

[N x (T+1)] matrix of preference indexes. Each row contains the T indexes of the candidate solutions in the neighborhood of a given subproblem, plus a value (column T+1) for the incumbent solution of that subproblem, in an order defined by the constraint handling method specified in moead.env$constraint.

Details

This routine receives a matrix of scalarized performance values (returned by scalarize_values()), a neighborhood matrix, and the list of violation values for the candidate and incumbent populations. It calculates the preference order of the candidates for each neighborhood based on the performance values and constraint handling method.

The list of available constraint handling methods can be generated using get_constraint_methods().

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