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)),...)
Arguments
fitness.fun: [function]
The fitness function.
n.objectives: [integer(1)]
Number of objectives of obj.fun. Optional if obj.fun is a benchmark function from package smoof.
n.dim: [integer(1)]
Dimension of the decision space.
minimize: [logical(n.objectives)]
Logical vector with ith entry TRUE if the ith objective of fitness.fun
shall be minimized. If a single logical is passed, it is assumed to be valid for each objective.
lower: [numeric]
Vector of minimal values for each parameter of the decision space in case of float or permutation encoding. Optional if obj.fun is a benchmark function from package smoof.
upper: [numeric]
Vector of maximal values for each parameter of the decision space in case of float or permutation encoding. Optional if obj.fun is a benchmark function from package smoof.
mu: [integer(1)]
Number of individuals in the population. Default is 100.
ref.point: [numeric]
Reference point for the hypervolume computation. Default is (11, ..., 11)' with the corresponding dimension.
mutator: [ecr_mutator]
Mutation operator of type ecr_mutator.
recombinator: [ecr_recombinator]
Recombination operator of type ecr_recombinator.
terminators: [list]
List of stopping conditions of type ecr_terminator . Default is to stop after 100 iterations.
...: [any]
Further arguments passed down to fitness function.
Returns
[ecr_multi_objective_result]
Note
This helper function hides the regular ecr interface and offers a more R like interface of this state of the art EMOA.
References
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.