Skip to contents

Select best subset of points by non dominated sorting with hypervolume contribution for tie breaking. Works on an arbitrary dimension of size two or higher. Non-dominated sorting is computed with moocore::pareto_rank() and hypervolume contributions with moocore::hv_contributions(). Boundary points, i.e., points that are best in at least one objective within their front, always survive tie breaking.

Usage

nds_selection(points, n_select, ref_point = NULL, minimize = TRUE)

Arguments

points

(matrix())
Numeric matrix with each column corresponding to a point

n_select

(integer(1L))
Amount of points to select.

ref_point

(numeric())
Reference point for hypervolume.

minimize

('logical()')
Should the ranking be based on minimization? Must be of length 1 for all dimensions or of length nrow(points) for each dimension. Default is TRUE for each dimension.

Value

Vector of indices of selected points