Make a vectorized version of test functions available in package "smoof".

make_vectorized_smoof(prob.name, ...)

Arguments

prob.name

name of the problem to build

...

other parameters passed to each specific function

Details

This routine builds MOEADr-compliant versions of the classic multiobjective test functions available in package smoof. The most commonly used ones are:

  • prob.name = ZDT1, ... , ZDT6, in which case the function requires additional parameter dimensions (positive integer)

  • prob.name = DTLZ1, ..., DTLZ7, in which case the function requires additional parameters dimensions (positive integer), n.objectives (= 2 or 3) and, for DTLZ4, alpha (positive integer, defaults to 100).

  • prob.name = UF, in which case the function requires additional parameters dimensions (positive integer) and id (= 1, ..., 10).

Examples

if (FALSE) {
  library(smoof)
  DTLZ2 <- make_vectorized_smoof(prob.name    = "DTLZ2",
                                 dimensions   = 10,
                                 n.objectives = 2)
  DTLZ2(X = matrix(runif(100), ncol = 10))
}