Polynomial mutation implementation for the MOEA/D

variation_polymut(X, etam, pm, eps = 1e-06, ...)

Arguments

X

Population matrix

etam

mutation constant

pm

variable-wise probability of mutation (numeric value 0 <= pm <= 1, or use "n" for setting it as (1 / problem dimension).)

eps

small constant used to prevent divisions by zero

...

other parameters (included for compatibility with generic call)

Value

Matrix X' containing the mutated population

Details

This R implementation of the Polynomial Mutation reproduces the C code implementation available in the R package emoa 0.5-0, by Olaf Mersmann. The differences between the present version and the original one are:

  • The operator is performed on the variables scaled to the [0, 1] interval, which simplifies the calculations.

  • Calculations are vectorized over variables, which also simplifies the implementation.

References

K. Deb and S. Agrawal (1999). A Niched-Penalty Approach for Constraint Handling in Genetic Algorithms. In: Artificial Neural Nets and Genetic Algorithms, pp. 235-243, Springer.

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

Olaf Mersmann (2012). emoa: Evolutionary Multiobjective Optimization Algorithms. R package version 0.5-0.
http://CRAN.R-project.org/package=emoa