Utilities

saealib.hypervolume(f, reference_point)[source]

Compute hypervolume indicator (minimization convention).

Uses a recursive slicing algorithm. Complexity: O(n^(m-1) * n log n), where n is the number of points and m is the number of objectives.

Parameters:
  • f (np.ndarray) – Objective matrix, shape (n, n_obj).

  • reference_point (np.ndarray) – Reference (nadir) point, shape (n_obj,). Each component must be strictly greater than the corresponding component of at least one point in f for a non-zero hypervolume to be returned.

Returns:

Hypervolume value.

Return type:

float