The NSGA-II merges the current population and the generated offspring and reduces it by means of the following procedure: It first applies the non dominated sorting algorithm to obtain the nondominated fronts. Starting with the first front, it fills the new population until the i-th front does not fit. It then applies the secondary crowding distance criterion to select the missing individuals from the i-th front.
nsga2(fitness.fun, n.objectives = NULL, n.dim = NULL, minimize = NULL, lower = NULL, upper = NULL, mu = 100L, lambda = mu, mutator = setup(mutPolynomial, eta = 25, p = 0.2, lower = lower, upper = upper), recombinator = setup(recSBX, eta = 15, p = 0.7, lower = lower, upper = upper), terminators = list(stopOnIters(100L)), ...)
fitness.fun | [ |
---|---|
n.objectives | [ |
n.dim | [ |
minimize | [ |
lower | [ |
upper | [ |
mu | [ |
lambda | [ |
mutator | [ |
recombinator | [ |
terminators | [ |
... | [any] Further arguments passed down to fitness function. |
[ecr_multi_objective_result
]
This is a pure R implementation of the NSGA-II algorithm. It hides the regular ecr interface and offers a more R like interface while still being quite adaptable.
Deb, K., Pratap, A., and Agarwal, S. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6 (8) (2002), 182-197.