This project provides the sourcecodes of Evolution of Benchmark (EoB).
Create the conda environment with python 3.10.13 and torch 2.1.1, then install packages:
conda create -n EoB python=3.10.13
conda activate EoB
conda install pytorch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 pytorch-cuda=12.4 -c pytorch -c nvidia
pip install -r requirements.txt
Before starting the EoB search, please follow the instructions on (this website) to apply for API-KEY, then configure the corresponding API-KEY in main.py:
api_key = 'your-api-key-here'
model = 'deepseek-v3.2'To search EoB-BBOB, run:
python main.py --task_mode 'task_bbob_expand' --dim 10 --n_jobs 1To search EoB-HPO, run:
python main.py --task_mode 'task_hpo_expand' --dim 10 --n_jobs 1To search EoB-UAV, run:
python main.py --task_mode 'task_uav_expand' --dim 15 --n_jobs 1Adjusting the --n_jobs(default is 1) based on the computing resources (number of CPU cores) can significantly improve the computational efficiency of EoB search. For more adjustable settings, please refer to the detailed description in config.py.
Recording results: all files will be saved to ./save, the file structure is as follow:
save
|--deepseek-v3.2
|--YYYYMMDD-HHMMSS
|--pareto_archive_solutions.md
|--pareto_archive_data.pkl
|--function_evolution_log.md
|--MO_function_evolution_log.pkl
|--...
|--...
You can find the final set of Parent front functions from a single EoB search in pareto_archive_solutions.md, which includes the function code, LSI, and ADC scores. Additionally, you can view detailed information in function_evolution_log.md, such as the population and reflection for each generation during the EoB search.