Given a matrix with one point per column, which_dominated returns the column numbers of the dominated points and which_nondominated the column numbers of the non-dominated points. Function is_maximally_dominated returns a logical vector with TRUE for each point which is located on the last non-domination level.

which_dominated(x)

which_nondominated(x)

is_maximally_dominated(x)

Arguments

x

[matrix]
Numeric \((m \times n)\) matrix where \(n\) is the number of points and \(m\) is the number of objectives.

Value

Integer vector of positions of (non-)dominated points.

See also

Other Pareto-dominance checks: dominated(), dominates(), set_dominates()

Other multi-objective tools: dominated(), dominates(), set_dominates()

Examples

data(mtcars) # assume we want to maximize horsepower and minimize gas consumption cars = mtcars[, c("mpg", "hp")] cars$hp = -cars$hp idxs = which_nondominated(t(as.matrix(cars))) if (FALSE) { print(mtcars[idxs, ]) plot(cars) points(cars[idxs, ], col = "tomato", pch = 10) }