Regular R function with additional classes smoof_function and one of smoof_single_objective_function or codesmoof_multi_objective_function. Both single- and multi-objective functions share the following attributes.

name [character(1)]

Optional function name.

id [character(1)]

Short identifier.

description [character(1)]

Optional function description.

has.simple.signature

TRUE if the target function expects a vector as input and FALSE if it expects a named list of values.

par.set [ParamSet]

Parameter set describing different ascpects of the target function parameters, i. e., names, lower and/or upper bounds, types and so on.

n.objectives [integer(1)]

Number of objectives.

noisy [logical(1)]

Boolean indicating whether the function is noisy or not.

fn.mean [function]

Optional true mean function in case of a noisy objective function.

minimize [logical(1)]

Logical vector of length n.objectives indicating which objectives shall be minimzed/maximized.

vectorized [logical(1)]

Can the handle “vector” input, i. e., does it accept matrix of parameters?

constraint.fn [function]

Optional function which returns a logical vector with each component indicating whether the corresponding constraint is violated.

Futhermore, single-objective function may contain additional parameters with information on local and/or global optima as well as characterizing tags.

tags [character]

Optional character vector of tags or keywords.

global.opt.params [data.frame]

Data frame of parameter values of global optima.

global.opt.value [numeric(1)]

Function value of global optima.

local.opt.params [data.frame]

Data frame of parameter values of local optima.

global.opt.value [numeric]

Function values of local optima.

Currenlty tagging is not possible for multi-objective functions. The only additional attribute may be a reference point:

ref.point [numeric]

Optional reference point of length n.objectives

.