The Optimizer
implements the optimization algorithm.
Details
Optimizer
is an abstract base class that implements the base functionality each optimizer 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.
Progress Bars
$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")
.
Active bindings
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 theparadox::ParamSet
$class
field.properties
(
character()
)
Set of properties of the optimizer. Must be a subset ofbbotk_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 viarequireNamespace()
.
Methods
Method new()
Creates a new instance of this R6 class.
Arguments
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 theparadox::ParamSet
$class
field.properties
(
character()
)
Set of properties of the optimizer. Must be a subset ofbbotk_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 viarequireNamespace()
.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()
.