Wraps a multi-criteria Objective function with extra services for convenient evaluation. Inherits from OptimInstance.
Automatic storing of results in an Archive after evaluation.
Automatic checking for termination. Evaluations of design points are performed in batches. Before a batch is evaluated, the Terminator is queried for the remaining budget. If the available budget is exhausted, an exception is raised, and no further evaluations can be performed from this point on.
bbotk::OptimInstance
-> OptimInstanceMultiCrit
result_x_domain
(list()
)
(transformed) x part of the result in the domain space of the objective.
result_y
(numeric(1)
)
Optimal outcome.
new()
Creates a new instance of this R6 class.
OptimInstanceMultiCrit$new(
objective,
search_space = NULL,
terminator,
keep_evals = "all",
check_values = TRUE
)
objective
(Objective).
search_space
(paradox::ParamSet)
Specifies the search space for the Optimizer. The paradox::ParamSet
describes either a subset of the domain
of the Objective or it describes
a set of parameters together with a trafo
function that transforms values
from the search space to values of the domain. Depending on the context, this
value defaults to the domain of the objective.
terminator
(Terminator)
Multi-criteria terminator.
keep_evals
(character(1)
)
Keep all
or only best
evaluations in archive?
check_values
(logical(1)
)
Should x-values that are added to the archive be checked for validity?
Search space that is logged into archive.
assign_result()
The Optimizer object writes the best found points and estimated performance values here (probably the Pareto set / front). For internal use.
OptimInstanceMultiCrit$assign_result(xdt, ydt)
xdt
(data.table::data.table()
)
Set of untransformed points / points from the search space.
One point per row, e.g. data.table(x1 = c(1, 3), x2 = c(2, 4))
.
Column names have to match ids of the search_space
.
However, xdt
can contain additional columns.
ydt
(numeric(1)
)
Optimal outcomes, e.g. the Pareto front.
clone()
The objects of this class are cloneable with this method.
OptimInstanceMultiCrit$clone(deep = FALSE)
deep
Whether to make a deep clone.