Hypervolume
Method |
---|
FrontContainer |
Exact Hypervolume |
dimension_type hypervolume() const |
dimension_type hypervolume(key_type reference_point) const |
Monte-Carlo Hypervolume |
dimension_type hypervolume(size_t sample_size) const |
dimension_type hypervolume(size_t sample_size, const key_type &reference_point) const |
Parameters
reference_point
- point used as reference for the hypervolume calculation. When not provided, it defaults to thenadir()
point.sample_size
- number of samples for the hypervolume estimate
Return value
- Hypervolume indicator
Complexity
- Exact hypervolume: \(O(n^{m-2} \log n)\)
- Monte-Carlo hypervolume approximation: \(O(s m \log n)\), where \(s\) is the number of samples
Notes
Because the solutions in a front are incomparable, we need performance indicators to infer the quality of a front. Indicators can measure several front attributes, such as cardinality, convergence, distribution, and spread. Correlation indicators can also estimate the relationship between objectives in a set.
The most popular indicator of a front quality is its hypervolume, as it measures both convergence and distribution quality. The front hypervolume refers to the total hypervolume dominated by the front.
Hypervolume Approximation
When \(m\) is large, the exact hypervolume calculation becomes impractical. Our benchmarks provide a reference on the impact of these approximations.
Example
Continuing from the previous example:
1 2 |
|
1 2 |
|
1 2 |
|