asemoa: Implementation of the NSGA-II EMOA algorithm by Deb.

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

asemoaR Documentation

Implementation of the NSGA-II EMOA algorithm by Deb.

Description

The AS-EMOA, short for aspiration set evolutionary multi-objective algorithm aims to incorporate expert knowledge into multi-objective optimization [1]. The algorithm expects an aspiration set, i.e., a set of reference points. It then creates an approximation of the pareto front close to the aspiration set utilizing the average Hausdorff distance.

Usage

asemoa(
  fitness.fun,
  n.objectives = NULL,
  minimize = NULL,
  n.dim = NULL,
  lower = NULL,
  upper = NULL,
  mu = 10L,
  aspiration.set = NULL,
  normalize.fun = NULL,
  dist.fun = computeEuclideanDistance,
  p = 1,
  parent.selector = setup(selSimple),
  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.

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.

n.dim

[integer(1)]
Dimension of the decision space.

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)]
Population size. Default is 10.

aspiration.set

[matrix]
The aspiration set. Each column contains one point of the set.

normalize.fun

[function]
Function used to normalize fitness values of the individuals before computation of the average Hausdorff distance. The function must have the formal arguments “set” and “aspiration.set”. Default is NULL, i.e., no normalization at all.

dist.fun

[function]
Distance function used internally by Hausdorff metric to compute distance between two points. Expects a single vector of coordinate-wise differences between points. Default is computeEuclideanDistance.

p

[numeric(1)]
Parameter p for the average Hausdorff metric. Default is 1.

parent.selector

[ecr_selector]
Selection operator which implements a procedure to copy individuals from a given population to the mating pool, i. e., allow them to become parents.

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.

Value

[ecr_multi_objective_result]

Note

This is a pure R implementation of the AS-EMOA algorithm. It hides the regular ecr interface and offers a more R like interface while still being quite adaptable.

References

[1] Rudolph, G., Schuetze, S., Grimme, C., Trautmann, H: An Aspiration Set EMOA Based on Averaged Hausdorff Distances. LION 2014: 153-156. [2] G. Rudolph, O. Schuetze, C. Grimme, and H. Trautmann: A Multiobjective Evolutionary Algorithm Guided by Averaged Hausdorff Distance to Aspiration Sets, pp. 261-273 in A.-A. Tantar et al. (eds.): Proceedings of EVOLVE - A bridge between Probability, Set Oriented Numerics and Evolutionary Computation V, Springer: Berlin Heidelberg 2014.


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