论文标题:Leveraging Large Language Models to Develop Heuristics for Emerging Optimization Problems
论文链接:https://arxiv.org/abs/2503.03350
摘要
组合优化问题通常依赖启发式算法来生成高效解决方案。然而,手动设计启发式方法既耗费资源又受限于设计者的专业知识。近期人工智能的进展,特别是大语言模型(LLM)的发展,展示了通过进化框架自动生成启发式方法的潜力。现有研究主要关注旅行商问题和在线装箱问题等经典组合优化问题的构造性启发式方法设计。本研究探讨了LLM是否能为小众的、尚未广泛研究的优化问题有效生成启发式方法,并以单位负载预编组问题(UPMP)为例。
作者提出了一种 EoH [1,2] 框架的扩展:基于大模型的上下文启发式演化框架(CEoH)。它在启发式生成过程中引入了问题特定描述以增强上下文学习。计算实验结果表明,CEoH使较小的LLM能够更稳定地生成高质量启发式方法,甚至优于较大的模型。较大的模型无论是否有上下文化提示都表现出稳健的性能。生成的启发式方法展现出对不同实例配置的可扩展性。
研究背景
启发式方法被广泛应用于求解众多领域中的组合优化问题。与精确方法相比,启发式方法可以快速提供良好的解决方案,使其适合实际应用。然而,传统的启发式方法设计需要大量人类专业知识且耗时,使得这个过程在财务上成本高昂。
自动启发式设计减少了对专业人类知识的依赖。遗传编程通常用于进化程序代码以解决优化问题。这些方法虽然有效,但依赖于预定义的搜索空间。人工输入决定了生成启发式方法的允许原语和变异操作。这种依赖可能限制了新方法的发现,特别是在复杂或研究较少的领域。
近期人工智能的进展引入了大语言模型作为解决优化问题的新资源。虽然LLM主要以其自然语言生成能力而闻名,但研究表明它们也能生成代码和解决数学问题。这种更广泛的技能组合可能有助于解决启发式生成的挑战,而无需依赖大型预定义搜索空间。
在组合优化中,LLM通常扮演两个角色:优化器或设计器。基于优化器的方法要求LLM解决问题并返回解决方案,这显示出适度的性能和较少的可扩展性。基于设计器的方法要求LLM创建启发式方法,利用模型生成和改进启发式方法的能力。尽管前景看好,但大多数基于设计器的研究在设计构造性启发式方法时都集中在旅行商问题(TSP)和在线装箱问题(OBPP)等知名问题上。它们在小众优化问题中的应用仍未被探索。
本研究探讨了LLM在为新兴优化问题设计启发式方法方面的潜力。提出了上下文启发式演化(CEoH)框架。该框架通过在启发式生成过程中引入问题特定描述来增强上下文学习,主要贡献如下:
- 提出了一个基于LLM的自动启发式设计框架,通过引入问题描述来增强模型对特定优化问题的理解。
- 实验证明了CEoH使较小的LLM能够更稳定地生成高质量启发式方法,甚至在某些情况下优于较大的模型。
- 以单位负载预编组问题(UPMP)为例,验证了该方法在小众优化问题上的有效性和可扩展性。
方法介绍
CEoH框架
CEoH框架是EoH框架的扩展,它在启发式设计过程中引入了问题特定描述。通过在每个提示中添加"上下文"组件,CEoH使LLM能够更好地理解问题及其约束。结果是一个更明智的启发式生成过程,其中模型使用上下文学习来生成针对UPMP的启发式方法。
与EoH类似,CEoH是一个迭代进化框架,生成和进化启发式方法。每个启发式方法由**「程序代码」和「思想」**表示。
- 程序代码是具有定义输入和输出的Python函数。
- 思想描述了LLM在生成启发式方法时的核心想法。
在CEoH的每一代演化中,预训练的LLM通过一组固定次数的提示策略基于父代生成新的启发式方法,每个新方法经评估获得适应度值并加入当前种群,直到完成所有预设提示次数后,将当前种群中表现最优的启发式方法选入下一代。
提示策略
CEoH采用了EoH中的初始化提示I0、探索策略提示E1和E2以及修改策略提示M1和M2。每个提示遵循相同的结构:
- 任务描述
- 额外的问题描述(CEoH中的新内容)
- 父代启发式方法(I0中没有)
- 策略特定的输出指令
- 附加指令
额外的问题描述通过指定预期输入的数据结构并阐明它在问题域中应如何解释来增强上下文学习。这部分还包括程序输入和输出的示例来说明预期行为,以及要求模型彻底分析额外问题描述的明确指令。
实验结果
适应度评估
实验结果表明:
- CEoH在使用开源模型(Gemma2:27b、Qwen2.5-Coder:32b和DeepSeekV3:685b)时始终优于EoH,产生更好的启发式性能并具有更强的鲁棒性。
- GPT-4o:2024-08-06和GPT-4o:2024-11-20无论是否有额外的问题上下文都能找到好的启发式方法。
- 对于GPT-4o:2024-08-06,使用EoH生成的启发式方法表现优于使用CEoH生成的启发式方法,这表明过多的显式问题信息有时可能会阻碍启发式探索。
- 最佳启发式方法由Qwen2.5-Coder:32b使用CEoH框架生成,在评估实例上实现了仅**4.35%**的最优性差距。
生成的启发式代码分析
实验比较了由(a)Qwen2.5-Coder:32b CEoH和(b)GPT4o:2024-08-06 EoH生成的最佳评分启发式方法:
- Qwen2.5-Coder:32b CEoH启发式方法基于优先级平衡、阻塞惩罚和密度加权评估。它奖励单位负载按降序优先级排序的序列,并惩罚产生阻塞的配置。
- GPT4o:2024-08-06 EoH启发式方法采用逻辑变换方法,根据优先级值和通道定位动态调整分数。它对阻塞的单位负载应用指数惩罚,同时奖励可访问的、排序良好的堆栈。
总结
本文开发了一种基于LLM的新框架CEoH,用于为小众优化问题设计启发式方法。主要贡献包括:
- 提出了CEoH框架,通过引入问题特定描述来增强上下文学习
- 证明了CEoH在使用较小LLM时的优势,能够更稳定地生成高质量启发式方法
未来研究应该调查哪些类型的LLM在启发式设计中最能从额外的上下文问题描述中受益。此外,还应研究通过LLM为更多小众优化问题设计启发式方法。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。