You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add option to checkpoint only when improvement is detected #434
Currently, checkpoints are saved based on checkpoint_interval (e.g., every 10 iterations), regardless of whether any improvement was made. This can be wasteful when the optimization is making slow progress.
Feature Request:
Add a configuration option checkpoint_on_improvement: bool that when set to True, only saves a checkpoint when a new best solution is found, rather than at fixed intervals.
Possible Implementation:
Config: Add checkpoint_on_improvement: bool = False to Config class in openevolve/config.py
Logic: Modify checkpoint trigger in openevolve/process_parallel.py (around line 667):
If checkpoint_on_improvement is True, checkpoint only when database.best_program_id == child_program.id (improvement detected)
If False, use existing interval-based logic
Example use case:
Only save checkpoint when a new best is found
checkpoint_on_improvement: true
checkpoint_interval is ignored when above is true
This is especially useful when:
Users only care about capturing improvements, not every N iterations
Implemented in PR #461 - adds an opt-in checkpoint_on_improvement config flag that fires the checkpoint callback when a new-best program is found, alongside the existing interval-based trigger. Default False preserves existing behavior.
Activity
mvanhorn commentedon May 8, 2026
Implemented in PR #461 - adds an opt-in
checkpoint_on_improvementconfig flag that fires the checkpoint callback when a new-best program is found, alongside the existing interval-based trigger. DefaultFalsepreserves existing behavior.