Skip to content

Latest commit

 

History

History

README.md

OpenEvolve Configuration Files

This directory contains configuration files for OpenEvolve with examples for different use cases.

Configuration Files

default_config.yaml

The main configuration file containing all available options with sensible defaults. This file includes:

  • Complete documentation for all configuration parameters
  • Default values for all settings
  • Island-based evolution parameters for proper evolutionary diversity

Use this file as a template for your own configurations.

island_config_example.yaml

A practical example configuration demonstrating proper island-based evolution setup. Shows:

  • Recommended island settings for most use cases
  • Balanced migration parameters
  • Complete working configuration

island_examples.yaml

Multiple example configurations for different scenarios:

  • Maximum Diversity: Many islands, frequent migration
  • Focused Exploration: Few islands, rare migration
  • Balanced Approach: Default recommended settings
  • Quick Exploration: Small-scale rapid testing
  • Large-Scale Evolution: Complex optimization runs

Includes guidelines for choosing parameters based on your problem characteristics.

Island-Based Evolution Parameters

The key new parameters for proper evolutionary diversity are:

database:
  num_islands: 5                      # Number of separate populations
  migration_interval: 50              # Migrate every N generations  
  migration_rate: 0.1                 # Fraction of top programs to migrate

Parameter Guidelines

  • num_islands: 3-10 for most problems (more = more diversity)
  • migration_interval: 25-100 generations (higher = more independence)
  • migration_rate: 0.05-0.2 (5%-20%, higher = faster knowledge sharing)

When to Use What

  • Complex problems → More islands, less frequent migration
  • Simple problems → Fewer islands, more frequent migration
  • Long runs → More islands to maintain diversity
  • Short runs → Fewer islands for faster convergence

Usage

Copy any of these files as a starting point for your configuration:

cp configs/default_config.yaml my_config.yaml
# Edit my_config.yaml for your specific needs

Then use with OpenEvolve:

from openevolve import OpenEvolve
evolve = OpenEvolve(
    initial_program_path="program.py",
    evaluation_file="evaluator.py", 
    config_path="my_config.yaml"
)