GEPA.StopCondition.NoImprovement (GEPA v0.3.0)

Copy Markdown View Source

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

t()

@type t() :: %GEPA.StopCondition.NoImprovement{
  best_score: float(),
  iterations_without_improvement: non_neg_integer(),
  min_improvement: float(),
  patience: pos_integer()
}

Functions

new(opts)

@spec new(keyword()) :: t()

Creates a no improvement stop condition.

Options

  • :patience - Number of iterations to wait (required)
  • :min_improvement - Minimum improvement to count (default: 0.001)

update(condition, state)

@spec update(t(), GEPA.State.t()) :: t()

Updates condition with new state (call after each iteration).