Skip to main content

igd

Function igd 

Source
pub fn igd(true_front: &[Vec<f64>], approx_front: &[Vec<f64>]) -> f64
Expand 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);