L-BFGS-B acquisition function optimizer.
Calls nloptr() from nloptr with the NLOPT_LD_LBFGS algorithm.
In its default setting, the algorithm runs a single time starting from the best point in the archive,
for at most 100 * D^2 function evaluations, where D is the dimension of the search space.
The run stops when the relative tolerance of the parameters is less than 10^-4.
With restart_strategy = "random", the optimizer additionally restarts from random points until the evaluation
budget is exhausted, which can help escape local optima.
Only fully numeric search spaces (all parameters of type p_dbl) are supported.
restart_strategycharacter(1)
Restart strategy.
Can be "none" or "random".
Default is "none".
max_restartsinteger(1)
Maximum number of restarts.
Default is 5 * D, where D is the dimension of the search space.
skip_already_evaluatedlogical(1)
Should the proposed candidate be rejected if it was already evaluated on the actual bbotk::OptimInstance?
If TRUE and the candidate was already evaluated, an error is raised so that the loop_function can
propose a randomly sampled point instead.
Default is TRUE.
The following termination parameters can be used.
stopvalnumeric(1)
Stop value.
Deactivate with -Inf (Default).
maxevalinteger(1)
Maximum number of evaluations.
Default is 100 * D^2, where D is the dimension of the search space.
Deactivate with -1L.
xtol_relnumeric(1)
Relative tolerance of the parameters.
Default is 10^-4.
Deactivate with -1.
xtol_absnumeric(1)
Absolute tolerance of the parameters.
Deactivate with -1 (Default).
ftol_relnumeric(1)
Relative tolerance of the objective function.
Deactivate with -1 (Default).
ftol_absnumeric(1)
Absolute tolerance of the objective function.
Deactivate with -1 (Default).
AcqOptimizer -> AcqOptimizerLbfgsb
state(list())
List of nloptr::nloptr() results.
print_id(character)
Id used when printing.
label(character(1))
Label for this object.
Can be used in tables, plot and text output instead of the ID.
man(character(1))
String in the format [pkg]::[topic] pointing to a manual page for this object.
Inherited methods
AcqOptimizerLbfgsb$new()Creates a new instance of this R6 class.
AcqOptimizerLbfgsb$new(acq_function = NULL)acq_function(NULL | AcqFunction).
AcqOptimizerLbfgsb$optimize()Optimize the acquisition function.
AcqOptimizerLbfgsb$optimize()data.table::data.table() with 1 row per candidate.
AcqOptimizerLbfgsb$reset()Reset the acquisition function optimizer.
Clears the state of the previous optimization run.
AcqOptimizerLbfgsb$reset()AcqOptimizerLbfgsb$clone()The objects of this class are cloneable with this method.
AcqOptimizerLbfgsb$clone(deep = FALSE)deepWhether to make a deep clone.
if (requireNamespace("nloptr")) {
acqo("lbfgsb")
}
Run the code above in your browser using DataLab