pub fn igd(true_front: &[Vec<f64>], approx_front: &[Vec<f64>]) -> f64Expand description
Inverted Generational Distance (IGD).
For each point in true_front, finds the nearest point in approx_front
and averages the distances. A value of 0 means approx_front covers every
point in true_front exactly.
§Arguments
true_front- Reference (true) Pareto front.approx_front- Approximated Pareto front being evaluated.
§Returns
IGD ∈ [0, ∞). Returns f64::INFINITY if either input is empty.
§Examples
use scirs2_optimize::multiobjective::indicators::igd;
let true_front = vec![vec![0.0, 1.0], vec![1.0, 0.0]];
let approx = vec![vec![0.0, 1.0], vec![1.0, 0.0]];
assert!(igd(&true_front, &approx) < 1e-10);