moocore.

whv_rect#

moocore.whv_rect(points, /, rectangles, *, ref, maximise=False)[source]#

Compute weighted hypervolume given a set of rectangles.

See also

For examples, see total_whv_rect().

Warning

The current implementation only supports 2 objectives.

Parameters:
  • points (ArrayLike) – Array of numerical values, where each row gives the coordinates of a point in objective space. If the array is created by the read_datasets() function, remove the last column.

  • rectangles (ArrayLike) – Weighted rectangles that will bias the computation of the hypervolume. Maybe generated by eafdiff() with rectangles=True or by choose_eafdiff().

  • ref (ArrayLike) – Reference point as a 1D vector. Must be either a single value, which will be used for all coordinates, or the same length as a single point in points.

  • maximise (bool | Sequence[bool], default: False) – Whether the objectives must be maximised instead of minimised. Either a single boolean value that applies to all objectives or a list of boolean values, with one value per objective. Also accepts a 1D numpy array with value 0/1 for each objective.

Returns:

float – A single numerical value, the weighted hypervolume.