Please note that internally all infill criteria are minimized. So for some of them, we internally compute their negated version, e.g., for EI or also for CB when the objective is to be maximized. In the latter case mlrMBO actually computes the negative upper confidence bound and minimizes that.

setMBOControlInfill(
  control,
  crit = NULL,
  interleave.random.points = 0L,
  filter.proposed.points = NULL,
  filter.proposed.points.tol = NULL,
  opt = "focussearch",
  opt.restarts = NULL,
  opt.focussearch.maxit = NULL,
  opt.focussearch.points = NULL,
  opt.cmaes.control = NULL,
  opt.ea.maxit = NULL,
  opt.ea.mu = NULL,
  opt.ea.sbx.eta = NULL,
  opt.ea.sbx.p = NULL,
  opt.ea.pm.eta = NULL,
  opt.ea.pm.p = NULL,
  opt.ea.lambda = NULL,
  opt.nsga2.popsize = NULL,
  opt.nsga2.generations = NULL,
  opt.nsga2.cprob = NULL,
  opt.nsga2.cdist = NULL,
  opt.nsga2.mprob = NULL,
  opt.nsga2.mdist = NULL
)

Arguments

control

[MBOControl]
Control object for mbo.

crit

[MBOInfillCrit]
How should infill points be rated. See infillcrits for an overview of available infill criteria or implement a custom one via makeMBOInfillCrit.# Default is “(lower) confidence bound” (see makeMBOInfillCritCB).

interleave.random.points

[integer(1)]
Add interleave.random.points uniformly sampled points additionally to the regular proposed points in each step. If crit="random" this value will be neglected. Default is 0.

filter.proposed.points

[logical(1)]
Design points located too close to each other can lead to numerical problems when using e.g. kriging as a surrogate model. This may solve the 'leading minor of order ...' error during model fit. This parameter activates or deactivates a heuristic to handle this issue. If TRUE, proposed points whose distance to design points or other current candidate points is smaller than filter.proposed.points.tol, are replaced by random points. If enabled, the column entry for prop.type is set to “random_filter” in the resulting opt.path, so you can see whether such a replacement happened. This does only work for numeric parameter sets without any discrete parameters. Default is FALSE.

filter.proposed.points.tol

[numeric(1)]
Tolerance value filtering of proposed points. We currently use a maximum metric to calculate the distance between points. Default is 0.0001.

opt

[character(1)]
How should SINGLE points be proposed by using the surrogate model. Possible values are: “focussearch”: In several iteration steps the parameter space is focused on an especial promising region according to infill criterion. “cmaes”: Use CMA-ES (function cmaes from package cmaesr to optimize infill criterion. If all CMA-ES runs fail, a random point is generated instead and a warning informs about it. “ea”: Use an (mu+1) EA to optimize infill criterion. “nsga2”: NSGA2 for multi obj. optimizations. Needed for mspot. Default is “focussearch”. Alternatively, you may pass a function name as string.

opt.restarts

[integer(1)]
Number of independent restarts for optimizer of infill criterion. If opt == "cmaes" the first start point for the optimizer is always the currently best point in the design of already visited points. Subsequent starting points are chosen according to the CMA-ES restart strategy introduced by Auger and Hansen. For details see the corresponding paper in the references and the help page of the underlying optimizer cmaes. Default is 3.

opt.focussearch.maxit

[integer(1)]
For opt = "focussearch": Number of iteration to shrink local focus. Default is 5.

opt.focussearch.points

[integer(1)]
For opt = "focussearch": Number of points in each iteration of the focus search optimizer. Default is 1000.

opt.cmaes.control

[list]
For opt = "cmaes": Control argument for cmaes optimizer. For the default see the help page of the underlying optimizer cmaes.

opt.ea.maxit

[integer(1)]
For opt = "ea": Number of iterations / generations of EA. Default is 500.

opt.ea.mu

[integer(1)]
For opt = "ea": Population size of EA. Must be at least 2. The default is 10 times the number of parameters of the function to optimize.

opt.ea.sbx.eta

[numeric(1)]
For opt = "ea": Distance parameter of crossover distribution , see sbx_operator. Default is 15.

opt.ea.sbx.p

[numeric(1)]
For opt = "ea": Probability of 1-point crossover, see sbx_operator. Default is 0.5.

opt.ea.pm.eta

[numeric(1)]
For opt = "ea": Distance parameter of mutation distribution, see pm_operator. Default is 15.

opt.ea.pm.p

[numeric(1)]
For opt = "ea": Probability of 1-point mutation, see pm_operator. Default is 0.5.

opt.ea.lambda

[integer{1}]
For opt.ea = "ea". Number of children generated in each generation. Default is 1.

opt.nsga2.popsize

[integer{1}]
For opt.multiobj.method = "nsga2". Population size of nsga2. Default is 100.

opt.nsga2.generations

[integer{1}]
For opt.multiobj.method = "nsga2". Number of populations for of nsga2. Default is 50.

opt.nsga2.cprob

[numeric{1}]
For opt.multiobj.method = "nsga2". nsga2 param. Default is 0.7.

opt.nsga2.cdist

[numeric{1}]
For opt.multiobj.method = "nsga2". nsga2 param. Default is 5.

opt.nsga2.mprob

[numeric{1}]
For opt.multiobj.method = "nsga2". nsga2 param. Default is 0.2.

opt.nsga2.mdist

[numeric{1}]
For opt.multiobj.method = "nsga2". nsga2 param. Default is 10.

Value

[MBOControl].