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