# hv_contributions: Hypervolume contribution of a set of points In eaf: Plots of the Empirical Attainment Function

## Description

Computes the hypervolume contribution of each point given a set of points with respect to a given reference point assuming minimization of all objectives. Dominated points have zero contribution. Duplicated points have zero contribution even if not dominated, because removing one of them does not change the hypervolume dominated by the remaining set.

## Usage

 `1` ```hv_contributions(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.

## Value

([numeric]) A numerical vector

## Author(s)

Manuel López-Ibáñez

## References

\insertRef

FonPaqLop06:hypervolumeeaf

\insertRef

BeuFonLopPaqVah09:teceaf

`hypervolume`
 ``` 1 2 3 4 5 6 7 8 9 10 11``` ```data(SPEA2minstoptimeRichmond) # The second objective must be maximized # We calculate the hypervolume contribution of each point of the union of all sets. hv_contributions(SPEA2minstoptimeRichmond[, 1:2], reference = c(250, 0), maximise = c(FALSE, TRUE)) # Duplicated points show zero contribution above, even if not # dominated. However, filter_dominated removes all duplicates except # one. Hence, there are more points below with nonzero contribution. hv_contributions(filter_dominated(SPEA2minstoptimeRichmond[, 1:2], maximise = c(FALSE, TRUE)), reference = c(250, 0), maximise = c(FALSE, TRUE)) ```