Function name. Used for the title of plots for example.
id: [character(1) | NULL]
Optional short function identifier. If provided, this should be a short name without whitespaces and now special characters beside the underscore. Default is NULL, which means no ID at all.
description: [character(1) | NULL]
Optional function description.
fn: [function]
Objective function.
has.simple.signature: [logical(1)]
Set this to TRUE if the objective function expects a vector as input and FALSE
if it expects a named list of values. The latter is needed if the function depends on mixed parameters. Default is TRUE.
par.set: [ParamSet]
Parameter set describing different aspects of the objective function parameters, i.~e., names, lower and/or upper bounds, types and so on. See makeParamSet
for further information.
n.objectives: [integer(1)]
Number of objectives of the multi-objective function.
noisy: [logical(1)]
Is the function noisy? Defaults to FALSE.
fn.mean: [function]
Optional true mean function in case of a noisy objective function. This functions should have the same mean as fn.
minimize: [logical]
Logical vector of length n.objectives indicating if the corresponding objectives shall be minimized or maximized. Default is the vector with all components set to TRUE.
vectorized: [logical(1)]
Can the objective function handle vector input, i.~e., does it accept matrix of parameters? Default is FALSE.
constraint.fn: [function | NULL]
Function which returns a logical vector indicating whether certain conditions are met or not. Default is NULL, which means, that there are no constraints beside possible box constraints defined via the par.set argument.
ref.point: [numeric]
Optional reference point in the objective space, e.g., for hypervolume computation.
Returns
[function] Target function with additional stuff attached as attributes.
Examples
fn = makeMultiObjectiveFunction( name ="My test function", fn =function(x) c(sum(x^2), exp(x)), n.objectives =2L, par.set = makeNumericParamSet("x", len =1L, lower =-5L, upper =5L))print(fn)