generationalDistance: Quality measures for MCO solutions

View source: R/qs.R

generationalDistanceR Documentation

Quality measures for MCO solutions

Description

Functions to evaluate the quality of the estimated pareto front.

Usage

generationalDistance(x, o)
generalizedSpread(x, o)
epsilonIndicator(x, o)
dominatedHypervolume(x, ref)

Arguments

x

Estimated pareto front or an object which has a paretoFront method

o

True pareto front or an object which has a paretoFront method

ref

Reference point (may be omitted).

Details

Instead of the pareto front, one can also pass an object for which a paretoFront method exists to both methods.

For dominatedHypervolume, if no reference point is given, the maximum in each dimension is used as the reference point.

Value

The respective quality measure.

Note

This code uses version 1.3 of the hypervolume code available from https://lopez-ibanez.eu/hypervolume. For a description of the algorithm see

Carlos M. Fonseca, Luis Paquete, and Manuel Lopez-Ibanez. An improved dimension-sweep algorithm for the hypervolume indicator. In IEEE Congress on Evolutionary Computation, pages 1157-1163, Vancouver, Canada, July 2006.

Author(s)

Heike Trautmann trautmann@statistik.uni-dortmund.de, Detlef Steuer steuer@hsu-hamburg.de and Olaf Mersmann olafm@statistik.uni-dortmund.de

References

Carlos M. Fonseca, Luis Paquete, and Manuel Lopez-Ibanez. An improved dimension-sweep algorithm for the hypervolume indicator. In IEEE Congress on Evolutionary Computation, pages 1157-1163, Vancouver, Canada, July 2006.

Nicola Beume, Carlos M. Fonseca, Manuel Lopez-Ibanez, Luis Paquete, and J. Vahrenhold. On the complexity of computing the hypervolume indicator. IEEE Transactions on Evolutionary Computation, 13(5):1075-1082, 2009.

Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C., and Grunert da Fonseca, V (2003): Performance Assessment of Multiobjective Optimizers: An Analysis and Review. IEEE Transactions on Evolutionary Computation, 7(2), 117-132.

Examples

## Estimate true front:
## Not run: 
tf <- nsga2(fonseca2, 2, 2,
            lower.bounds=c(-4, -4), upper.bounds=c(4, 4),
            popsize=1000, generations=100)
res <- nsga2(fonseca2, 2, 2,
             lower.bounds=c(-4, -4), upper.bounds=c(4, 4),
             popsize=16, generations=c(2, 4, 6, 8, 10, 20, 50))
n <- length(res)
sapply(1:n, function(i) dominatedHypervolume(res[[i]], c(1, 1)))
sapply(1:n, function(i) generationalDistance(res[[i]], tf))
sapply(1:n, function(i) generalizedSpread(res[[i]], tf))
sapply(1:n, function(i) epsilonIndicator(res[[i]], tf))

## End(Not run)

olafmersmann/mco documentation built on Jan. 17, 2024, 6:19 p.m.