hypervolume: Hypervolume metric

View source: R/hv.R

hypervolumeR Documentation

Hypervolume metric

Description

Computes the hypervolume metric with respect to a given reference point assuming minimization of all objectives.

Usage

hypervolume(data, reference, maximise = FALSE)

Arguments

data

(matrix | data.frame)
Matrix or data frame of numerical values, where each row gives the coordinates of a point.

reference

(numeric())
Reference point as a vector of numerical values.

maximise

(logical() | logical(1))
Whether the objectives must be maximised instead of minimised. Either a single logical value that applies to all objectives or a vector of logical values, with one value per objective.

Details

The algorithm has O(n^{d-2} \log n) time and linear space complexity in the worst-case, but experimental results show that the pruning techniques used may reduce the time complexity even further.

Value

A single numerical value.

Author(s)

Manuel López-Ibáñez

References

\insertRef

FonPaqLop06:hypervolumeeaf

\insertRef

BeuFonLopPaqVah09:teceaf

Examples


data(SPEA2minstoptimeRichmond)
# The second objective must be maximized
# We calculate the hypervolume of the union of all sets.
hypervolume(SPEA2minstoptimeRichmond[, 1:2], reference = c(250, 0),
            maximise = c(FALSE, TRUE))


eaf documentation built on March 31, 2023, 9:08 p.m.