Stops when no improvement observed for patience iterations.
Tracks best score seen and stops if no improvement for N iterations.
Examples
# Stop if no improvement for 10 iterations
NoImprovement.new(patience: 10)
# Require at least 0.01 improvement
NoImprovement.new(patience: 5, min_improvement: 0.01)
Summary
Functions
Creates a no improvement stop condition.
Updates condition with new state (call after each iteration).
Types
@type t() :: %GEPA.StopCondition.NoImprovement{ best_score: float(), iterations_without_improvement: non_neg_integer(), min_improvement: float(), patience: pos_integer() }
Functions
Creates a no improvement stop condition.
Options
:patience- Number of iterations to wait (required):min_improvement- Minimum improvement to count (default: 0.001)
@spec update(t(), GEPA.State.t()) :: t()
Updates condition with new state (call after each iteration).