@@ -27,6 +27,7 @@ OpenEvolve follows an evolutionary approach with the following components:
2727
2828### Installation
2929
30+ To install natively, use:
3031``` bash
3132git clone https://github.com/codelion/openevolve.git
3233cd openevolve
@@ -60,6 +61,44 @@ OpenEvolve can also be run from the command line:
6061python openevolve-run.py path/to/initial_program.py path/to/evaluator.py --config path/to/config.yaml --iterations 1000
6162```
6263
64+ ### Resuming from Checkpoints
65+
66+ OpenEvolve automatically saves checkpoints at intervals specified by the ` checkpoint_interval ` config parameter (default is 10 iterations). You can resume an evolution run from a saved checkpoint:
67+
68+ ``` bash
69+ python openevolve-run.py path/to/initial_program.py path/to/evaluator.py \
70+ --config path/to/config.yaml \
71+ --checkpoint path/to/checkpoint_directory \
72+ --iterations 50
73+ ```
74+
75+ When resuming from a checkpoint:
76+ - The system loads all previously evolved programs and their metrics
77+ - Checkpoint numbering continues from where it left off (e.g., if loaded from checkpoint_50, the next checkpoint will be checkpoint_60)
78+ - All evolution state is preserved (best programs, feature maps, archives, etc.)
79+
80+ Example workflow with checkpoints:
81+
82+ ``` bash
83+ # Run for 50 iterations (creates checkpoints at iterations 10, 20, 30, 40, 50)
84+ python openevolve-run.py examples/function_minimization/initial_program.py \
85+ examples/function_minimization/evaluator.py \
86+ --iterations 50
87+
88+ # Resume from checkpoint 50 for another 50 iterations (creates checkpoints at 60, 70, 80, 90, 100)
89+ python openevolve-run.py examples/function_minimization/initial_program.py \
90+ examples/function_minimization/evaluator.py \
91+ --checkpoint examples/function_minimization/openevolve_output/checkpoints/checkpoint_50 \
92+ --iterations 50
93+ ```
94+ ### Docker
95+
96+ You can also install and execute via Docker:
97+ ``` bash
98+ docker build -t openevolve .
99+ docker run --rm -v .:/app openevolve examples/function_minimization/initial_program.py examples/function_minimization/evaluator.py --config examples/function_minimization/config.yaml --iterations 1000
100+ ```
101+
63102## Configuration
64103
65104OpenEvolve is highly configurable. You can specify configuration options in a YAML file:
0 commit comments