Uses the Penalty Function constraint handling method to generate a preference index for the MOEADr framework.

constraint_penalty(B, bigZ, bigV, beta, ...)

Arguments

B

Matrix of neighborhoods (generated by define_neighborhood()$B)

bigZ

Matrix of scalarized objective values for each neighborhood and the incumbent solution (generated by scalarize_values())

bigV

Matrix of violation values for each neighborhood and the incumbent solution (generated in order_neighborhood())

beta

Penalization constant (non-negative value)

...

other parameters (unused, included for compatibility with generic call)

Value

[ N x (T+1) ] matrix of preference indices. Each row i contains a permutation of {1, 2, ..., (T+1)}, where 1,...,T correspond to the solutions contained in the neighborhood of the i-th subproblem, B[i, ], and T+1 corresponds to the incumbent solution for that subproblem. The order of the permutation is defined by the increasing values of f(xk) + beta * v(xk), where f(xk) is the aggregation function value of the k-th solution being compared, and v(xk) is its total constraint violation (calculated in evaluate_population()$V$v).

Details

This function calculates the preference index of a set of neighborhoods based on the "penalty" constraint handling method. Please see order_neighborhood() for more information on the preference index matrix.

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