makeMultiObjectiveFunction: Generator for multi-objective target functions.

Description Usage Arguments Value Examples

View source: R/makeMultiObjectiveFunction.R

Description

Generator for multi-objective target functions.

Usage

1
2
3
4
5
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)

Arguments

name

[character(1)]
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.

Value

[function] Target function with additional stuff attached as attributes.

Examples

1
2
3
4
5
6
7
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)

Example output

Loading required package: ParamHelpers
Loading required package: BBmisc
Loading required package: checkmate
Multi-objective function
Number of objectives: 2
Reference point:      ()
Name: My test function
Description: no description
Tags: 
Noisy: FALSE
Minimize: TRUE,TRUE
Constraints: TRUE
Number of parameters: 1
           Type len Def  Constr Req Tunable Trafo
x numericvector   1   - -5 to 5   -    TRUE     -

smoof documentation built on Feb. 18, 2020, 5:11 p.m.