Generator for multi-objective target functions.
makeMultiObjectiveFunction(name = NULL, id = NULL,
description = NULL, fn, has.simple.signature = TRUE, par.set,
n.objectives = NULL, noisy = FALSE, fn.mean = NULL,
minimize = NULL, vectorized = FALSE, constraint.fn = NULL,
ref.point = NULL)[function] Target function with additional stuff attached as attributes.
[character(1)]
Function name. Used for the title of plots for example.
[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.
[character(1) | NULL]
Optional function description.
[function]
Objective function.
[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.
[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.
[integer(1)]
Number of objectives of the multi-objective function.
[logical(1)]
Is the function noisy? Defaults to FALSE.
[function]
Optional true mean function in case of a noisy objective function. This functions should
have the same mean as fn.
[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.
[logical(1)]
Can the objective function handle “vector” input, i.~e., does it
accept matrix of parameters? Default is FALSE.
[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.
[numeric]
Optional reference point in the objective space, e.g., for hypervolume computation.
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)
Run the code above in your browser using DataLab