R/nondom.R

Defines functions nondom

Documented in nondom

##' Find the non-dominated point of a set (minima of a point set).
##'
##' A point x dominates y if it is never worse and at least in one case strictly better.
##' Formally, let f_i denote the ith coordinate of the condition (objective) function,
##' then for all i: f_i(x)<=f_i(y) and there exists j: f_j(x)<f_j(y).
##'
##' Based on the algorithm of Kung et al. 1975.
##' @title Find non-dominated points of a set
##' @param x matrix
##' @param ... additional arguments to lower level functions
##' @return matrix
##' @author Klaus Kähler Holst
##' @export
##' @examples
##' rbind(
##'   c(1.0, 0.5),
##'   c(0.0, 1.0),
##'   c(1.0, 0.0),
##'   c(0.5, 1.0),
##'   c(1.0, 1.0),
##'   c(0.8, 0.8)) |> nondom()
nondom <- function(x, ...) {
  if (is.vector(x)) {
    return(min(x))
  }
  if (!is.matrix(x)) stop("expecting a matrix")
  val <- .nondom(x)
  return(val)
}

Try the targeted package in your browser

Any scripts or data that you put into this service are public.

targeted documentation built on May 29, 2024, 2:08 a.m.