makeMultiObjectiveFunction function

Generator for multi-objective target functions.

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 )

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.

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)
  • Maintainer: Jakob Bossek
  • License: BSD_2_clause + file LICENSE
  • Last published: 2023-03-10

Downloads (last 30 days):