Default Control list for spot.
This function returns the default controls for the functions spot
and spotLoop
.
spotControl(dimension = NA)
problem dimension, that is, the number of optimized parameters. This parameter is mandatory since v2.8.4.
a list
Control is a list of the settings:
design
A function that creates an initial design of experiment. Functions that accept the same parameters,
and return a matrix like designLHD
or designUniformRandom
can be used. Default is designLHD
.
designControl
A list of controls passed to the control
list of the design
function. See help
of the respective function for details. Default is an empty list
.
directOpt
A function that is used to optimize after the spot
run is finished.
Functions that accept the same parameters, and return a matrix like optimNLOPTR
or optimDE
can be used. Default is optimNLOPTR
.
directOptControl
A list of controls, which determine whether a direct optimization
(exploitation of the final search region) is performed. Default is to run no direct optimization, i.e.,
directOptControl = list(funEvals = 0)list
.
funEvals
This is the budget of function evaluations of the direct optimization performed
after the SMBO is performed. Default is list(funEvals = 0)
.
duplicate
In case of a deterministic (non-noisy) objective function, this handles duplicated candidate solutions.
By default (duplicate = "EXPLORE"
), duplicates are replaced by new candidate solutions, generated by random
sampling with uniform distribution. If desired, the user can set this to "STOP", which means that the optimization
stops and results are returned to the user (with a warning). This may be desirable, as duplicates can be a indicator
for convergence, or for a problem with the configuration.
In case of noise, duplicates are allowed.
funEvals
This is the budget of function evaluations (spot uses no more than funEvals evaluations of fun), defaults to 20.
handleNAsMethod
A function that treats NAs if there are any present in the result vector of the objective function.
Default: NULL
. By default NAs will not be treated.
infillCriterion
A function defining an infillCriterion to be used while optimizing a model. Default: NULL. For example check infillExpectedImprovement
model
A function that builds a statistical model of the observed data. Functions that accept the same
parameters, and return a matrix like buildKriging
or buildRandomForest
can be used. Default is buildKriging
.
modelControl
A list of controls passed to the control
list of the model
function.
See help of the respective function for details. Default is an empty list
.
multiStart
Number of restarts for optimization on the surrrogate
model. Default: 1
, i.e., no restarts.
noise
Boolean, whether the objective function has noise or not. Default is non-noisy, that is, FALSE
.
OCBA
Boolean, indicating whether Optimal Computing Budget Allocation (OCBA) should be used in case of a noisy
objective function or not. OCBA controls the number of replications for each candidate solution.
Note, that replicates
should be larger than one in that case, and that the initial experimental design
(see design
) should also have replicates larger one. Default is FALSE
.
OCBABudget
The number of objective function evaluations that OCBA can distribute in each iteration. Default is 3.
optimizer
A function that is used to optimize based on model
, finding the most promising
candidate solutions. Functions that accept the same parameters, and return a matrix like optimLHD
or optimDE
can be used. Default is optimLHD
.
optimizerControl
A list of controls passed to the control
list of the optimizer
function.
See help of the respective function for details. Default is an empty list
.
parNames
Vector of parameter names of each variable as a string, defaults c("x1", "x2", "x3",..)
.
plots
Whether progress should be tracked by a line plot, default is FALSE
progress
Whether progress should be visualized, default is FALSE
replicates
The number of times a candidate solution is initially evaluated, that is, in the initial design,
or when created by the optimizer. Default is 1
.
replicateResult
logical
. If TRUE
, one result is
replicated. The result is specified as the lower
vector and
re-evaluated funEvals
times. No model building and
optimization is performed, only evaluations on the
objective function. Default: FALSE
.
returnFullControlList
logical
. Return the full control
list. Can be switched off to save memory/space. Default: TRUE
.
seedFun
An initial seed for the objective function in case of noise, by default NA
. The default means that no seed is set.
The user should be very careful with this setting. It is intended to generate reproducible experiments for each objective
function evaluation, e.g., when tuning non-deterministic algorithms. If the objective function uses a constant number
of random number generations, this may be undesirable. Note, that this seed is by default set prior to each evaluation. A replicated
evaluation will receive an incremented value of the seed.
Sometimes, the user may want to call external code using random numbers. To allow for that case, the user can specify an objective function (fun
),
which has a second parameter seed
, in addition to first parameter (matrix x
). This seed can then be passed
to the external code, for random number generator initialization. See end of examples section for a demonstration.
seedSPOT
This value is used to initialize the random number generator. It ensures that experiments are reproducible. Default is 1
.
subsetSelect
A function that selects a subset from a given set of design points. Default is selectAll
.
subsetControl
A list of controls passed to the control
list of the subsetSelect
function. See help
of the respective function for details. Default is an empty list
.
time
List with the following time information:
maxTime
num
Maximum allowed run time (in minutes) for spot
or spotLoop
.
The default value for maxTime
(in minutes) is Inf
and can be overwritten by the user.
The internal value startTime
, that is used to control maxTime
,
will be set by spotFillControlList
.
Note: maxTime
is only an approximate value. It does not affect the directOpt
run.
startTime
Start time. Will be set in spotFillControlList
.
endTime
End time.
types
Vector of data type of each variable as a string, defaults "numeric"
for all variables.
verbosity
Integer level specifying how much output should be given by SPOT. 0 (default) ignores warnings of internal optimizers /models. 1 will show warnings and output.