Compute the dominated hypervolume of the rank-1 (Pareto) population at each recorded generation. Useful for diagnosing convergence — a flattening curve suggests further iterations are unlikely to expand the front.
hypervolume_history(
object,
ref = NULL,
ref_buffer = 0.05,
include_dominated = FALSE
)
# S4 method for class 'OptimizationResult'
hypervolume_history(
object,
ref = NULL,
ref_buffer = 0.05,
include_dominated = FALSE
)An OptimizationResult with non-empty nsga_history().
Optional numeric reference point in user-facing direction. If
NULL, derived from the final generation's Pareto set.
Fractional outward shift applied per objective when ref
is auto-computed. Default 0.05.
Logical; if TRUE, compute HV over the full
generation population rather than only the rank-1 individuals. Default
FALSE.
A data frame with columns generation and hypervolume. The
reference point used is attached as attr(., "ref").
Requires the optimization to have been run with record_history = TRUE and
the suggested emoa package to be installed. The reference point is held
fixed across generations so HV values are comparable: if not supplied, the
nadir of the final generation's Pareto set is used (with ref_buffer).
hypervolume_history(OptimizationResult): HV trajectory by generation.