smsemoa: Implementation of the SMS-EMOA by Emmerich et al.

View source: R/emoa.sms-emoa.R

smsemoaR Documentation

Implementation of the SMS-EMOA by Emmerich et al.

Description

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.

Usage

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.

Value

[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.


ecr documentation built on March 31, 2023, 10:07 p.m.