Skip to contents

Class to terminate the optimization after the hypervolume stagnates, i.e. does not improve more than threshold over the last iters iterations. The hypervolume is computed using moocore::hypervolume(). The reference point is the maximum of each objective over all evaluations.

Dictionary

This Terminator can be instantiated via the dictionary mlr_terminators or with the associated sugar function trm():

mlr_terminators$get("stagnation_hypervolume")
trm("stagnation_hypervolume")

Parameters

iters

integer(1)
Number of iterations to evaluate the performance improvement on, default is 10.

threshold

numeric(1)
If the improvement is less than threshold, optimization is stopped, default is 0.

Super class

Terminator -> TerminatorStagnationHypervolume

Methods

Inherited methods


TerminatorStagnationHypervolume$new()

Creates a new instance of this R6 class.


TerminatorStagnationHypervolume$is_terminated()

Is TRUE if the termination criterion is positive, and FALSE otherwise.

Usage

TerminatorStagnationHypervolume$is_terminated(archive)

Arguments

archive

(Archive).

Returns

logical(1).


TerminatorStagnationHypervolume$clone()

The objects of this class are cloneable with this method.

Usage

TerminatorStagnationHypervolume$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

TerminatorStagnation$new()
#> 
#> ── <TerminatorStagnation> - Stagnation ─────────────────────────────────────────
#> • Parameters: iters=10, threshold=0
trm("stagnation", iters = 5, threshold = 1e-5)
#> 
#> ── <TerminatorStagnation> - Stagnation ─────────────────────────────────────────
#> • Parameters: iters=5, threshold=1e-05