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.
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`

].

## See also