CMA-ES acquisition function optimizer.
Calls cmaes() from libcmaesr.
The default algorithm is "abipop" with unlimited restarts and a budget of 100 * D^2 function evaluations,
where D is the dimension of the search space.
The optimization starts from the best point in the archive.
For the meaning of the control parameters, see libcmaesr::cmaes_control().
Only fully numeric search spaces (all parameters of type p_dbl) are supported.
Parameters
algocharacter(1)
CMA-ES variant to use, seelibcmaesr::cmaes_algos. Default is"abipop".lambdainteger(1)
Number of generated descendants per iteration. Deactivate withNA(Default).sigmanumeric(1)
Initial sigma for the covariance. Deactivate withNA(Default).max_restartsinteger(1)
Maximum number of restarts for the IPOP and BIPOP variants. Default is1e5, i.e., restarts are only limited by the evaluation budget. Deactivate withNA.tpainteger(1)
Activates or deactivates the two-point adaptation step-size mechanism.0for no,1for auto,2for yes. Deactivate withNA(Default).tpa_dsigmanumeric(1)
Value of the two-point adaptation dsigma. Deactivate withNA(Default).seedinteger(1)
Seed of the random number generator of libcmaes. IfNA(Default), the seed is drawn from R and the optimization is therefore reproducible viaset.seed().quietlogical(1)
Should the output of libcmaes be suppressed? Default isTRUE.skip_already_evaluatedlogical(1)
Should the proposed candidate be rejected if it was already evaluated on the actual bbotk::OptimInstance? IfTRUEand the candidate was already evaluated, an error is raised so that theloop_functioncan propose a randomly sampled point instead. Default isTRUE.
Termination Parameters
The following termination parameters can be used.
max_fevalsinteger(1)
Maximum number of function evaluations. Default is100 * D^2, whereDis the dimension of the search space. Deactivate withNA.max_iterinteger(1)
Maximum number of iterations. Deactivate withNA(Default).ftargetnumeric(1)
Target function value. Deactivate withNA(Default).f_tolerancenumeric(1)
Function tolerance. Deactivate withNA(Default).x_tolerancenumeric(1)
Parameter tolerance. Deactivate withNA(Default).
Super class
AcqOptimizer -> AcqOptimizerCmaes
Public fields
state(
list())
Result of the lastlibcmaesr::cmaes()run.
Active bindings
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.
Methods
Inherited methods
AcqOptimizerCmaes$new()
Creates a new instance of this R6 class.
Usage
AcqOptimizerCmaes$new(acq_function = NULL)Arguments
acq_function(
NULL| AcqFunction).
AcqOptimizerCmaes$optimize()
Optimize the acquisition function.
Returns
data.table::data.table() with 1 row per candidate.
AcqOptimizerCmaes$reset()
Reset the acquisition function optimizer.
Clears the state of the previous optimization run.
Examples
if (requireNamespace("libcmaesr")) {
acqo("cmaes")
}
#> <AcqOptimizerCmaes>: (OptimizerCmaes)
#> * Parameters: algo=abipop, max_restarts=100000,
#> skip_already_evaluated=TRUE, catch_errors=TRUE