Terminator {bbotk}R Documentation

Abstract Terminator Class

Description

Abstract Terminator class that implements the base functionality each terminator must provide. A terminator is an object that determines when to stop the optimization.

Termination of optimization works as follows:

Therefore the following note seems in order: While it is definitely possible to execute a fine-grained control for termination, and for many optimization algorithms we can specify exactly when to stop, it might happen that too few or even too many evaluations are performed, especially if multiple points are evaluated in a single batch (c.f. batch size parameter of many optimization algorithms). So it is advised to check the size of the returned archive, in particular if you are benchmarking multiple optimization algorithms.

Technical details

Terminator subclasses can overwrite .status() to support progress bars via the package progressr. The method must return the maximum number of steps (max_steps) and the currently achieved number of steps (current_steps) as a named integer vector.

Public fields

id

(character(1))
Identifier of the object. Used in tables, plot and text output.

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()⁠.

properties

(character())
Set of properties of the terminator. Must be a subset of bbotk_reflections$terminator_properties.

unit

(character())
Unit of steps.

Methods

Public methods


Method new()

Creates a new instance of this R6 class.

Usage
Terminator$new(
  id,
  param_set = ps(),
  properties = character(),
  unit = "percent",
  label = NA_character_,
  man = NA_character_
)
Arguments
id

(character(1))
Identifier for the new instance.

param_set

(paradox::ParamSet)
Set of control parameters.

properties

(character())
Set of properties of the terminator. Must be a subset of bbotk_reflections$terminator_properties.

unit

(character())
Unit of steps.

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()⁠.


Method format()

Helper for print outputs.

Usage
Terminator$format(with_params = FALSE, ...)
Arguments
with_params

(logical(1))
Add parameter values to format string.

...

(ignored).


Method print()

Printer.

Usage
Terminator$print(...)
Arguments
...

(ignored).


Method status()

Returns how many progression steps are made (current_steps) and the amount steps needed for termination (max_steps).

Usage
Terminator$status(archive)
Arguments
archive

(Archive).

Returns

named integer(2).


Method remaining_time()

Returns remaining runtime in seconds. If the terminator is not time-based, the reaming runtime is Inf.

Usage
Terminator$remaining_time(archive)
Arguments
archive

(Archive).

Returns

integer(1).


Method clone()

The objects of this class are cloneable with this method.

Usage
Terminator$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

See Also

Other Terminator: mlr_terminators, mlr_terminators_clock_time, mlr_terminators_combo, mlr_terminators_evals, mlr_terminators_none, mlr_terminators_perf_reached, mlr_terminators_run_time, mlr_terminators_stagnation, mlr_terminators_stagnation_batch


[Package bbotk version 1.0.1 Index]