本文核心内容
最近KAU研究了大语言模型和进化算法的结合相关论文,发现这个方向挺有意思,让我觉得LLM能够给进化计算加上"语义上的方向感",该领域的研究进展也是日新月异。
因此,本文KAU对该研究方向作一些个人层面的梳理与分享,供大家参考讨论
(如有错漏,欢迎随时拍砖指正)
目录
一、 溯源:从自动算法设计到大语言模型设计
二、碰撞与融合:大语言模型遇上进化算法如何形成新"范式"
三、范式涌现:LLM驱动进化计算研究进展
四、手把手拆解:先进算法"ReEvo"核心逻辑
五、待续:开源资源获取
一、溯源:从自动算法设计到大语言模型设计
过去数十年,学界研发大量高效启发式,诞生模拟退火、禁忌搜索等诸多元启发式方法。但针对特定问题,这些优化算法的设计过程通常需要研究人员依托领域知识进行大量人工编写调试工作,成本极高。
为解决上述局限,研究者们致力于实现算法设计全流程自动化,也即自动算法设计(Automatic Algorithm Design, AAD),业内也常称其为超启发式算法(Hyper-Heuristic Algorithm, HHA)。
这类算法是在人工预设的低层次启发式(Low-Level Heuristics, LLH)/算子组件库中搜索最优启发式或组合方案,实现启发式设计自动化。

图1 超启发式算法概念模型
超启发式算法解决了针对优化问题应该自动选择哪个启发式算子的问题,但启发式算子本身的设计依赖于专业知识,整体设计流程耗时较长,拓展性受限。
近年大语言模型(Large Language Model, LLM)能力的大幅提升为该领域的发展注入了新的驱动力,目前许多研究都将大语言模型跨学科地融入了进化算法的自动设计中。
其实有时我们用AI时也是跨学科知识应用的体现,举一个最简单的例子,我们想写一个基于强化学习的XX优化算法代码,让我们自己写可能会很为难,但如果给出提示词AI让写,它可以在秒级的时间内实现:

好了,有这个能力放在前几年已经能用于发论文了(开个玩笑hh)
当你会用提示词让大语言模型帮你设计算法时,你就已经初步窥探到大语言模型设计的门道了。没错,这就是大语言模型的强大之处,只要你构建的提示词库得当,LLM就能快速生成一套逻辑正确且完整的程序,目前流行的大语言模型设计算法如:FunSearch1、EoH2、ReEvo3都是沿用该思想展开算法设计,其具体算法框架KAU将在第4节作具体拆解。
二、碰撞与融合:大语言模型遇上进化算法如何形成新"范式"
进化算法能够发现复杂应用问题的多样解,但其设计需要大量领域知识,而大语言模型能够生成创意性文本,两者结合能够有效克服彼此不足。
目前LLM可分为两类增强进化算法的方法融入进化计算的方法:
• 搜索算子 :作为进化算法的一个搜索算子,根据迭代经验自动更新算子
• 算法自动设计:利用LLM对优化问题的理解作为模型输入,通过演化自动生 成一套最佳的、新的进化算法
1.1 搜索算子
第一个方法很简单,类似于改进某个优化算法里的一个位置更新策略,而和强化学习等其他改进方法不同的是,他们提供的搜索算子是人为确定和设计的,而LLM提供的搜索算子是可以根据提示词自动变化的。
由于LLM往往是作为黑盒优化器用于生成新个体,难以解释其行为,因此文献4提出一种函数拟合的方法,用于拟合大语言模型在迭代过程中产生的父代-子代映射关系,以显式表征LLM的行为。
文献4提出的MOEA/D-LLM算法框图如图2,其使用分解MOEA/D来集成LLM,首先将多目标分解为若干子问题,使用LLM为每个子问题生成新个体,生成子个体时所用提示词包括:任务描述、多组决策变量-目标函数的样本、预期输出(使其以特定格式响应)。

图2 LLMsMOEA/D算法框图
1.2 算法自动设计
第二种方法利用大语言模型的可拓展推理能力自动设计启发式算法,如图3。

图3 不同的算法设计方法(图源文献5)
通常,针对某问题人工设计算法【图2(a)】需要不断试错调试,这会耗费大量时间成本。
而如果利用LLM自动生成算法【图2©】则可以省去这些麻烦,该方法以优化问题为输入,通过LLM自动演化出若干套不同的算法程序,并通过迭代评估不断筛选更新其中最佳的程序,最后输出一套最佳的程序,全程极少需要人工参与。在第四节KAU将具体介绍该类算法的ReEvo范式。
三、范式涌现:LLM驱动进化计算研究进展
这里给出一些经典的LLM结合进化计算的研究,这些文献及其开源的源码KAU都在文章最后给出,感兴趣的朋友可以回复相应关键词以进一步研究。
- Large Language Models as Optimizers(OPRO)
将大语言模型(LLM)用作优化器,仅通过自然语言描述优化任务。每一轮优化流程:提示词中载入此前生成的全部候选解及其对应目标值,大模型基于该信息生成全新解;随后评估新解性能,将结果追加至提示词,供下一轮迭代使用。
- Large Language Model for Multi-objective Evolutionary Optimization(LLMsMOEA/D)
依托大语言模型(LLM)自动设计多目标演化算法算子。此外,提炼大模型的生成行为规律,进一步设计具备随机特性的显式白盒算子。
- Algorithm Evolution Using Large Language Model(AEL)
在算法层级开展演化,将大语言模型(LLM)嵌入演化框架,自动生成优化算法,以TSP问题的构造型启发算法作为测试案例。
- Mathematical discoveries from program search with large language models(FunSearch)
将演化机制嵌入大模型提示词流程,采用孤岛演化策略,将预训练大语言模型与系统化评估器结合以迭代优化。
-
Evolution of Heuristics: Towards Efficient Automatic Algorithm Design Using Large Language Model(EoH)
EoH采用自然语言描述启发式的设计思路,称为thoughts;再由大语言模型将thoughts转换为可执行代码,在统一演化搜索框架内同步迭代优化thoughts与可执行代码。
-
ReEvo: Large Language Models as Hyper-Heuristics with Reflective Evolution(ReEvo)
与FunSearch和EoH的研究关联性高,提出语言超启发式概念。利用LLM的逻辑推理能力生成语言梯度,指导进化,短/长期反思机制沉淀知识。
-
HSEvo: Elevating Automatic Heuristic Design with Diversity-Driven Harmony Search and Genetic Algorithm Using LLMs(HSEvo)
针对基于大语言模型的进化程序搜索在自动启发式设计中的探索与开发失衡问题,提出两项关键贡献,多样性度量指标量化种群分布,全新优化框架HSEvo以动态平衡种群多样性与目标性能。
-
Generalizable Heuristic Generation Through LLMs with Meta-Optimization(MoH)
EoH、ReEvo等都是在固定的进化计算框架下生成和优化代码,该算法不再局限于该框架,而是让LLM转换为设计框架的角色,此外还采用多任务训练策略,进一步提升整体泛化性能。
四、手把手拆解:先进算法"ReEvo"核心逻辑
首先我们要转换认识,传统演化计算中个体代表一个由向量构成的可行解,而在ReEvo框架内每个个体都是一套针对目标问题专门设计的完整算法。因此ReEvo本质上已经不再是在搜索空间里寻优,而是在代码空间里寻优。
接下来我们通过论文框架图拆解该算法

图4 ReEvo整体流程示意图
在ReEvo中,大语言模型分工为两部分:
l生成器:用于生成种群个体(即代码片段)
l反思器:用于反思生成的代码是否合理,从而不断自我改进
ReEvo的运行大体分为5个环节:初始化、选择与短期反思、交叉、长期反思、变异。
Step1:初始化
ReEvo会通过向LLM下发包含任务说明的提示词让其生成初始的启发式种群。(注意:种群的个体是一个完整的算法程序)
Step2:选择
与传统GA类似,从所有可正常运行的启发式中随机挑选父代配对。
Step3:短期反思(核心)
传统优化算法只根据适应度选择最优,而ReEvo不一样的是,其充分利用了LLM能够深度思考的特性,让其思考该个体"为什么好"。
短期反思:针对选择的两个父代,让LLM阅读它们的代码及性能差异,并生成文本分析(哪个更好?原因是什么?可以怎么改进?),称为"语言梯度",类似于传统算法中的进化方向,能够提升寻优性能。
(研究表明,短期反思机制显著提高了搜索效率)
Step4:交叉
这一步也是LLM强大之处,ReEvo向生成器传递两个父代的代码以及短期反思建议从而生成一个全新的个体,即通过自然语言指导算法演化。
Step5:长期反思
随着演化的进行,ReEvo会积累大量短期反思,这些反思只是局部的比较。为了形成对问题的通用经验和理解,ReEvo引入了更高层次的长期反思,长期反思由反思器负责,长期反思会保存至记忆模块,从而使搜索过程逐步成熟。
Step6:精英变异
为避免陷入局部最优,ReEvo在每轮迭代结束时会对最优个体进行变异,变异的依据不再是GA中的随机变异,而是在长期反思的指导下对精英个体进行针对性调整。
总的来看,ReEvo提供了一种新的计算范式,通过"反思------生成"的不断循环,在无需经过人工干预的情况下就能迭代出完整算法。LLM的语言推理其实也与进化计算的选择-变异-进化类似,ReEvo的反思相当于一种轻量的闭环推理范式,使LLM能通过提示和反馈迭代优化出最优子代。
五、待续:开源资源获取
以上是KAU在研究LLM驱动进化计算时的一些研究分享,尽管大语言模型发展迅速,但将其用于进化算法自动设计的落地研究仍处于发展阶段,仍有可进一步研究的地方。
如果之前没有接触过LLM,可以从LLMsMOEA/D入手,该代码是将LLM作为一个搜索算子嵌入,整体框架和进化算法类似,上手更加容易一些,后续KAU也会出一期从零上手LLM设计代码的实现落地,感兴趣的朋友可以持续关注哦.后台回复LLMEC即可获取
如果这篇文章对你有帮助或启发,可以点击右下角的赞/在看(ง •̀_•́)ง(不点也行),你们的鼓励就是我坚持的动力!若有定制需求,可私信作者。
感谢阅读,祝顺利!
References
1 Romera-Paredes, B.; Barekatain, M.; Novikov, A.; Balog, M.; Kumar, M. P.; Dupont, E.; Ruiz, F. J.; Ellenberg, J. S.; Wang, P.; Fawzi, O.; et al. 2024. Mathematical discoveries from program search with large language models. Nature, 625(7995): 468--475.
2 Liu, F.; Xialiang, T.; Yuan, M.; Lin, X.; Luo, F.; Wang, Z.; Lu, Z.; and Zhang, Q. 2024a. Evolution of Heuristics: Towards Efficient Automatic Algorithm Design Using Large Language Model. In Forty-first International Conference on Machine Learning.
3 Ye, H.; Wang, J.; Cao, Z.; Berto, F.; Hua, C.; Kim, H.; Park, J.; and Song, G. 2024a. ReEvo: Large Language Models as Hyper-Heuristics with Reflective Evolution. In Advances in Neural Information Processing Systems. https://github.com/ai4co/reevo.
4 F. Liu, X. Lin, Z. Wang, S. Yao, X. Tong, M. Yuan, Q. Zhang, "Large Language Model for Multi-objective Evolutionary Optimization," arXiv preprint arXiv:2310.12541, 2023.
5 F. Liu, X. Tong, M. Yuan, Q. Zhang, "Algorithm Evolution Using Large Language Model," arXiv preprint arXiv:2311.15249, 2023.