Skip to main content

Module indicators

Module indicators 

Source
Expand description

Quality indicators for multi-objective fronts.

The standard toolkit for measuring how good an approximation front is (minimization convention throughout, matching MultiProblem):

  • hypervolume — the dominated volume w.r.t. a reference point (Zitzler & Thiele 1999): the only strictly Pareto-compliant unary indicator. Exact O(n log n) sweep in 2D; WFG exclusive decomposition (While, Bradstreet & Barone 2012) for 3+ objectives.
  • hv_contributions — each point’s exclusive hypervolume (what SmsEmoa selects on).
  • gd / igd — (inverted) generational distance to a reference front (Van Veldhuizen 1999; Coello & Reyes-Sierra 2004).
  • gd_plus / igd_plus — the weakly-Pareto-compliant + variants (Ishibuchi, Masuda, Tanigaki & Nojima, EMO 2015), which replace the Euclidean distance with the dominance-aware distance d⁺(z, a) = ‖max(a − z, 0)‖ so that dominating a reference point never reads as an error. Prefer IGD+ over plain IGD when comparing algorithms.

All functions are pure, deterministic, and dependency-free. Reference fronts are ordinary &[Vec<f64>] slices, so analytical fronts, sampled fronts, or another run’s ParetoFront::objective_vectors all work.

Functions§

gd
Generational Distance: the mean Euclidean distance from each point of front to its nearest neighbor in reference (Van Veldhuizen 1999). Measures convergence only; NaN for an empty front.
gd_plus
GD⁺ (Ishibuchi et al. 2015): like gd but with the dominance-aware distance ‖max(a − z, 0)‖ from front point a to reference point z, so components where the front point is better than the reference do not count as error.
hv_contributions
The exclusive hypervolume contribution of every point: contribution[i] = HV(points) − HV(points \ {i}). Dominated or duplicate points get 0.
hypervolume
Exact dominated hypervolume of points w.r.t. the reference point r (minimization: every point should weakly dominate r; components beyond r contribute zero). Duplicates and dominated points are handled correctly (they simply add no exclusive volume).
igd
Inverted Generational Distance: the mean Euclidean distance from each reference point to its nearest neighbor in front. Measures both convergence and coverage; NaN for an empty reference set. Sensitive to the reference-front resolution — prefer igd_plus for algorithm comparisons.
igd_plus
IGD⁺ (Ishibuchi et al. 2015): like igd but with the dominance-aware distance ‖max(a − z, 0)‖ from each reference point z to front point a. Weakly Pareto-compliant, unlike plain IGD — the recommended default for comparing fronts against a reference.