asemoa function

Implementation of the NSGA-II EMOA algorithm by Deb.

Implementation of the NSGA-II EMOA algorithm by Deb.

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.

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

Returns

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

  • Maintainer: Jakob Bossek
  • License: GPL-3
  • Last published: 2023-03-08