# LEAD (LLM-Evolved Algorithm Development) LLM驱动的算法进化开发框架,支持单目标和多目标优化问题的算法自动进化。 ## 单目标算法进化 ### 1. 配置要求 在问题目录下的`problem_config.json`中配置: ```json { "multi_objective": false, "description": "问题描述", "function_name": "函数名", "input_format": "输入格式", "output_format": "输出格式", "evolution_params": { "algorithm": "TU", # 或"DE" "population_size": 8, "generations": 10 } } ``` ### 2. 运行流程 1. 初始化种群:LLM根据问题描述生成初始算法代码 2. 评估:计算每个个体的适应度(单目标值) 3. 进化循环: - 选择:锦标赛选择或差分进化选择 - 交叉:代码片段重组 - 变异:LLM引导的代码变异 4. 输出:最优算法代码和适应度曲线 ### 3. 运行命令 ```bash lead-run --problem [问题名] [--generations 代数] [--population 种群大小] ``` 可选参数: - `--generations`: 覆盖默认进化代数 - `--population`: 覆盖默认种群大小 ## 多目标算法进化 ### 1. 配置要求 ```json { "multi_objective": true, "objective_names": ["目标1", "目标2"], "description": "问题描述", "evolution_params": { "algorithm": "MO", "population_size": 10, "generations": 20 } } ``` ### 2. 运行流程 1. 初始化种群:LLM生成初始多目标算法 2. 评估:计算每个个体的多目标适应度向量 3. 进化循环: - 非支配排序 - 拥挤度计算 - 精英保留 4. 输出:Pareto前沿算法集合 ### 3. 运行命令 ```bash lead-run --problem [问题名] [--generations 代数] [--population 种群大小] ``` 可选参数同上 ## 配置说明 - `problem_config.json`必须包含: - 问题描述 - 输入输出格式 - 进化参数 - 可选配置: - LLM参数 - 评估超时时间 ## 结果输出 - 单目标:`evolution_history/[时间戳]/`目录保存各代最优解 - 多目标:`multi_objective_history/[时间戳]/`保存Pareto前沿