Abstract Optimizer
class that implements the base functionality each Optimizer
subclass must provide.
A Optimizer
object describes the optimization strategy.
A Optimizer
object must write its result to the $assign_result()
method of the OptimInstance at the end in order to store the best point and its estimated performance vector.
$optimize()
supports progress bars via the package progressr
combined with a Terminator. Simply wrap the function in
progressr::with_progress()
to enable them. We recommend to use package
progress as backend; enable with progressr::handlers("progress")
.
id
(character(1)
)
Identifier of the object.
Used in tables, plot and text output.
param_set
paradox::ParamSet
Set of control parameters.
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.
The referenced help package can be opened via method $help()
.
param_classes
(character()
)
Supported parameter classes that the optimizer can optimize, as given in the paradox::ParamSet
$class
field.
properties
(character()
)
Set of properties of the optimizer.
Must be a subset of bbotk_reflections$optimizer_properties
.
packages
(character()
)
Set of required packages.
A warning is signaled by the constructor if at least one of the packages is not installed, but loaded (not attached) later on-demand via requireNamespace()
.
new()
Creates a new instance of this R6 class.
Optimizer$new(
id = "optimizer",
param_set,
param_classes,
properties,
packages = character(),
label = NA_character_,
man = NA_character_
)
id
(character(1)
)
Identifier for the new instance.
param_set
(paradox::ParamSet)
Set of control parameters.
param_classes
(character()
)
Supported parameter classes that the optimizer can optimize, as given in the paradox::ParamSet
$class
field.
properties
(character()
)
Set of properties of the optimizer.
Must be a subset of bbotk_reflections$optimizer_properties
.
packages
(character()
)
Set of required packages.
A warning is signaled by the constructor if at least one of the packages is not installed, but loaded (not attached) later on-demand via requireNamespace()
.
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.
The referenced help package can be opened via method $help()
.
...
(ignored).
(character()
).
optimize()
Performs the optimization and writes optimization result into OptimInstance. The optimization result is returned but the complete optimization path is stored in Archive of OptimInstance.
Optimizer$optimize(inst)
inst
(OptimInstance).
clone()
The objects of this class are cloneable with this method.
Optimizer$clone(deep = FALSE)
deep
Whether to make a deep clone.