Optimizer for AcqFunctions which performs the infill optimization. Wraps an bbotk::Optimizer and bbotk::Terminator.
Parameters
logging_level
character(1)
Logging level during the infill optimization. Can be"fatal"
,"error"
,"warn"
,"info"
,"debug"
or"trace"
. Default is"warn"
, i.e., only warnings are logged.warmstart
logical(1)
Should the infill optimization be warm-started by evaluating the best point(s) present in the bbotk::Archive of the actual bbotk::OptimInstance? This is sensible when using a population based infill optimizer, e.g., local search or mutation. Default isFALSE
.warmstart_size
integer(1) | "all"
Number of best points selected from the bbotk::Archive that are to be used for warm starting. Can also be "all" to use all available points. Only relevant ifwarmstart = TRUE
. Default is1
.skip_already_evaluated
logical(1)
It can happen that the candidate resulting of the infill optimization was already evaluated in a previous iteration. Should this candidate proposal be ignored and the next best point be selected as a candidate? Default isTRUE
.catch_errors
logical(1)
Should errors during the infill optimization be caught and propagated to theloop_function
which can then handle the failed infill optimization appropriately by, e.g., proposing a randomly sampled point for evaluation? Default isTRUE
.
Public fields
optimizer
terminator
acq_function
(AcqFunction).
Active bindings
print_id
(
character
)
Id used when printing.param_set
(paradox::ParamSet)
Set of hyperparameters.
Methods
Method new()
Creates a new instance of this R6 class.
Usage
AcqOptimizer$new(optimizer, terminator, acq_function = NULL)
Arguments
optimizer
terminator
acq_function
(
NULL
| AcqFunction).
Method optimize()
Optimize the acquisition function.
Returns
data.table::data.table()
with 1 row per optimum and x as columns.