Abstract Base Class for Pool-Aware Optimizers
Source:R/OptimizerPoolAbstract.R
OptimizerPoolAbstract.RdExtends OptimizerSearchAbstract with infrastructure for optimizing over pool-restricted objectives (ObjectivePoolAbstract) and fully discrete search spaces.
Subclasses implement the actual optimization logic by overriding
the private methods .optimize_discrete() and .optimize_continuous().
This base class handles pool detection, candidate filtering, and
discrete-grid expansion.
Creates a new instance of this R6 class.
Arguments
- id
(
character(1))
Identifier for the optimizer.- param_set
(paradox::ParamSet)
Set of control parameters.- param_classes
(
character())
Supported parameter classes.- properties
(
character())
Optimizer properties.- packages
(
character())
Required packages.- label
(
character(1))
Human-readable label.- man
(
character(1))
Manual page reference.- grid_expansion_limit
(
integer(1))
Upper limit on the number of rows to materialize for the full grid for discrete search spaces in Objectives that are not pool-restricted. An error is raised if the full grid would exceed this limit. Default is1e7L.
Fields
grid_expansion_limit(
integer(1))
Upper limit on the number of rows to materialize for the full grid for discrete search spaces in Objectives that are not pool-restricted.
Extending
Concrete subclasses must implement two private methods:
.optimize_discrete(inst, candidates)Called when the search space is fully discrete or the objective is pool-restricted.
candidatesis adata.tableof admissible configurations..optimize_continuous(inst)Called when the search space contains continuous parameters and the objective is not pool-restricted.