Pure R implementation of the SMS-EMOA. This algorithm belongs to the group of indicator based multi-objective evolutionary algorithms. In each generation, the SMS-EMOA selects two parents uniformly at, applies recombination and mutation and finally selects the best subset of individuals among all subsets by maximizing the Hypervolume indicator.
smsemoa(fitness.fun, n.objectives = NULL, n.dim = NULL, minimize = NULL, lower = NULL, upper = NULL, mu = 100L, ref.point = NULL, 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 | [ |
ref.point | [ |
mutator | [ |
recombinator | [ |
terminators | [ |
... | [any] Further arguments passed down to fitness function. |
[ecr_multi_objective_result
]
This helper function hides the regular ecr interface and offers a more R like interface of this state of the art EMOA.
Beume, N., Naujoks, B., Emmerich, M., SMS-EMOA: Multiobjective selection based on dominated hypervolume, European Journal of Operational Research, Volume 181, Issue 3, 16 September 2007, Pages 1653-1669.