We have the TerminatorStagnation / TerminatorStagnationBatch from bbotk, but that one only works on single-crit stagnation. If we want to consider generation-wise multi-crit stagnation, things get more difficult.
Suggested API: TerminatorStagnationGeneration, with patience and min.improvement, as well as aggregate-function that gets fed the (highest fidelity) fitness-values of each generation. The user could set domhv() here, but maybe also other measures.
Problem here is
we probably want caching, otherwise we keep re-evaluating domHV patience + 1 times for most generations
we may want to keep this generation aggregate value around in any case for the user to analyze post-hoc
--> We probably want to store generation-aggregate values in the OptimInstance or Archive.
We have the TerminatorStagnation / TerminatorStagnationBatch from bbotk, but that one only works on single-crit stagnation. If we want to consider generation-wise multi-crit stagnation, things get more difficult.
Suggested API: TerminatorStagnationGeneration, with
patience
andmin.improvement
, as well as aggregate-function that gets fed the (highest fidelity) fitness-values of each generation. The user could set domhv() here, but maybe also other measures.Problem here is
patience + 1
times for most generations