- feat: Add new stage
on_result_begin
toCallbackAsyncTuning
andCallbackBatchTuning
. - refactor: Rename stage
on_result
toon_result_end
inCallbackAsyncTuning
andCallbackBatchTuning
. - docs: Extend the
CallbackAsyncTuning
andCallbackBatchTuning
documentation.
- feat:
ContextBatch
andContextAsync
have aresult_extra
field now to access additional results passed to the instance. - refactor: Additional information are passed with
extra
toOptimInstance$assign_result()
.
- feat: The optimizers passes additional information to
OptimInstance$assign_result()
method.
- docs: Move vignette to mlr3book.
- feat: Add hypervolume stagnation terminator
trm("stagnation_hypervolume")
. - feat Add local search optimizer
opt("local_search")
. - refactor: Remove unused fields from callbacks.
- fix: Add
"on_optimization_end_batch"
stage toCallbackBatch
.
- refactor: extra columns in results.
- feat: Introduce asynchronous optimization with the
OptimizerAsync
andOptimInstanceAsync
classes. - BREAKING CHANGE: The
Optimizer
class isOptimizerBatch
now. - BREAKING CHANGE: The
OptimInstance
class and subclasses areOptimInstanceBatch*
now. - BREAKING CHANGE: The
CallbackOptimization
class isCallbackBatch
now. - BREAKING CHANGE: The
ContextOptimization
class isContextBatch
now. - BREAKING CHANGE: Remove
ArchiveBest
class andkeep_evals
parameter fromOptimInstance
.
- fix:
OptimizerIrace
failed with logical parameters and dependencies. - refactor: Optimize the runtime of
archive$best()
method and add ties method. - compatibility: Work with new paradox version 1.0.0
- fix:
OptimInstance$print()
errored when the search space was empty.
- fix: Standalone
Tuner
andFSelector
were rejected byContextBatch
.
- feat: Data unrelated to a specific point evaluation can be written to
Archive$data_extra
.
- fix:
Terminator$format(with_params = TRUE)
printed an empty list when no parameter was set. - refactor:
OptimizerIrace
automatically added theinstances
parameter toObjective$constants
. From now on, theinstances
parameter can be also set manually. - BREAKING CHANGE:
branin(xs)
is nowbranin(x1, x2, noise)
andbranin_wu(x1, x2, fidelity)
. - feat: Add
ObjectiveRFunMany
that can evaluate a list of configurations with a user supplied function. - fix: If all configurations were missing a parameter,
ObjectiveRFunDt$eval_many()
did not create a column withNA
for the missing parameter. - refactor: The default of
digits
inOptimizerIrace
is 15 now to avoid rounding errors. - refactor: The bounds of double parameters were processed with only 4 decimal places in
OptimizerIrace
. By default, the bounds of double parameters are represented with 15 decimal places now. Thedigits
parameter ofOptimizerIrace
also changes number of decimal places of the bounds now.
- fix:
OptimizerIrace
did not work with parameters with multiple dependencies. - feat: Add new callback that backups the archive to disk to
mlr_callbacks
. - feat: Create custom callbacks with the
callback_batch()
function.
- feat: Add
OptimizerFocusSearch
that performs a focusing random search.
- feat:
Optimizer
andTerminator
objects have the field$id
now.
- refactor: The
$print()
method ofOptimInstance
omits unnecessary columns now. - fix: The
$clear()
method ofOptimInstance
raised an error. - fix: The
$clear()
method ofArchive
missed to reset the$start_time
field. - feat:
Optimizer
andTerminator
objects have the optional field$label
now. - feat:
as.data.table()
functions for objects of classDictionary
have been extended with additional columns. - feat: Add a
as.data.table.DictionaryTerminator()
function.
- fix: The return of the
$.status()
method ofTerminatorRunTime
andTerminatorClockTime
was not in a consistent unit. The return is in seconds from now on. - fix: The number of evaluations was recorded as 0 in the log messages when the search space was empty.
- feat: Add a
as.data.table.DictionaryOptimizer()
function. - feat: New
$help()
method which opens the manual page of anOptimizer
.
- feat: Add
$nds_selection()
method toArchive
. - feat: New
Codomain
class that allows extra parameters. - refactor: Objective values were automatically named.
From now on, only unnamed returns of
ObjectiveRFun
are named. - fix:
OptimInstance
,Archive
andObjective
objects were not cloned properly. - refactor: The fields
$param_classes
,$properties
and$packages
ofOptimizer
objects are read-only now. - feat: The
branin()
function is exported now.
- feat: The search space and domain can now be empty.
- feat: The budget of
TerminatorEvals
can now be changed depending on the dimension of the search space with the parameterk
. - feat: Add
bb_optimize()
function. - feat: Add
OptimizerIrace
which callsirace::irace
from theirace
package.
- refactor: Internal changes.
- feat: Add
$clear()
method toOptimInstance
to reset the instance. - refactor: Prettier
$print()
methods. - feat: Assertions on overlapping and reserved names in domain and codomain.
- feat: The check of points and results can now be disables with the
check_values
flag inOptimInstance
,OptimInstanceSingleCrit
,OptimInstanceMultiCrit
,ObjectiveRFun
andObjectiveRFunDt
. - refactor: The
data.table
within theArchive
can now be accessed with$data
. - refactor: The
m
parameter ofArchive$best()
is renamed tobatch
. - feat: New
ArchiveBest
class which only stores best scoring evaluation instead of all evaluations - refactor: The runtime is reduced when
ObjectiveRFunDt
is used with a domain without trafo. - fix: Add support for
ParamUty
inOptimizerDesignPoints
. - feat: The start points for
OptimizerCmaes
andOptimizerNloptr
can now be randomly created or from center of the search space. - feat: The
$optimize()
method supports progress bars via the packageprogressr
.
- refactor: Remove dependency on orphaned package
bibtex
. - feat: Add
OptimizerCmaes
which callsadagio::pureCMAES
from theadagio
package.
- refactor: Compact in-memory representation of R6 objects to save space when saving mlr3 objects via saveRDS(), serialize() etc.
- refactor: Warning and error messages when upstream package of
Optimizer
is not installed.
- First version of the Black-Box Optimization Toolkit