Extension of mlr3mbo::AcqOptimizer that applies a batch selection strategy to diversify the returned candidate set.
Creates a new BatchProposer.
Optimize the acquisition function and apply a batch selection strategy.
Print method.
Arguments
- optimizer
(bbotk::OptimizerBatch)
Optimizer used for acquisition optimization.- terminator
(bbotk::Terminator)
Terminator used for acquisition optimization.- acq_function
(
NULL| mlr3mbo::AcqFunction)
Acquisition function. Can be set later via$acq_function.- batch_strategy
(
function)
Batch selection strategy. Must have signaturefunction(candidates, scores, batch_size, surrogate, archive, search_space)and return integer indices intocandidates.- pool_factor
(
integer(1))
Pool size multiplier. Pool size isn_candidates * pool_factor. Default is 10.- callbacks
(
NULL|list())
Callbacks. Passed to parent mlr3mbo::AcqOptimizer.- ...
(ignored).
Value
data.table::data.table() with 1 row per candidate.
Details
This class implements a wrapper around the parent mlr3mbo::AcqOptimizer:
it temporarily requests a larger number of candidates, then down-selects to
the desired batch size using batch_strategy.
Batch strategies operate on a pool that is already ranked by the acquisition optimizer and follow the convention: lower is better (the sign is adjusted automatically based on the acquisition codomain).
Fields
pool_factor(
integer(1))
Multiplier for pool size. The internal pool size isn_candidates * pool_factor.batch_strategy(
function)
Batch selection strategy.
Parameters
Inherits all parameters from mlr3mbo::AcqOptimizer, in particular:
n_candidates: number of points to propose (batch size)warmstart,warmstart_size,skip_already_evaluated,catch_errors,logging_level