Compute the dominated hypervolume of the Pareto front contained in an
OptimizationResult. Hypervolume is a standard quality indicator for
multi-objective optimization: larger values indicate a front that
simultaneously improves on more objectives.
hypervolume(object, ref = NULL, ref_buffer = 0.05)
# S4 method for class 'OptimizationResult'
hypervolume(object, ref = NULL, ref_buffer = 0.05)An OptimizationResult.
Optional numeric reference point in the user-facing direction
(same scale as the columns in solutions(object)). If NULL, defaults to
the front's nadir shifted by ref_buffer.
Fractional outward shift applied per objective when ref
is auto-computed. Default 0.05.
A single numeric value: the dominated hypervolume in minimization
form. The reference point used is attached as attr(., "ref") (still in
user-facing direction).
Objective values are converted to a common minimization form using the
directions stored in control$objective_directions (i.e. "maximize"
objectives are negated). The reference point must therefore strictly dominate
every point in minimization form. By default the nadir of the observed front
is used and shifted outward by ref_buffer * range per objective so all
points contribute non-zero volume.
Requires the suggested emoa package.
hypervolume(OptimizationResult): Hypervolume of the final Pareto front.
hypervolume_history() for HV trajectory across NSGA generations.