【文献笔记】LLM for Large-Scale Optimization Model Auto-Formulation

发布于:2025-09-09 ⋅ 阅读:(22) ⋅ 点赞:(0)

LLM for Large-Scale Optimization Model Auto-Formulation: A Lightweight Few-Shot Learning Approach

面向大规模优化模型自动构建的LLM:一种轻量级少样本学习方法

1. 概述

1.1. 研究背景

大规模优化是现代商业决策的核心支柱,广泛应用于供应链、金融规划、资源分配等领域。然而,构建这些优化模型的过程存在一个核心瓶颈:它高度依赖具备专业技能的专家,整个过程(从理解问题、处理数据到构建数学公式和编写代码)通常是劳动密集型且耗时费力的。

为了解决这个问题,研究界开始探索利用大语言模型(LLM)实现优化建模的自动化。目前主要有两种技术路线,但都存在明显缺陷:

在这里插入图片描述

  1. 基于微调(Fine-tuning)的方法:通过在特定任务的数据集上训练模型参数来提升性能 。这种方法的缺点是资源消耗巨大,需要大量的标注数据和先进的GPU硬件(如A100,见表1),这使得将该方法扩展到参数量更大的高级LLM变得成本过高。
  2. 基于提示(Prompting)的方法:直接利用预训练LLM的能力进行建模。这种方法的准确性往往不尽人意,尤其是在处理复杂问题时。

更关键的是,现有工作几乎都只关注小规模问题,即所有数据信息都可以直接写入问题描述中。它们缺乏处理需要从外部大型数据集(如CSV文件)中提取数据的大规模实际问题的能力。

因此,本文提出了一个核心研究问题:我们能否以一种资源高效的方式,让LLM处理从自然语言输入到大规模优化任务的自动建模?

1.2. 研究贡献

本文提出了一个名为 LEAN-LLM-OPT 的轻量级小样本学习框架,用于LLM辅助的大规模优化模型自动构建 。其核心贡献可概括为以下几点:

  1. 创新的代理协作框架:设计了一个由三个LLM代理(问题分类、小样本示例生成、模型生成)协同工作的流程。该框架通过小样本学习教会LLM代理如何有效运用推理能力和定制化工具来分步构建优化模型 。
  2. 全新的设计理念:“学习技术而非映射”:与微调方法试图学习从“问题”到“公式”的直接映射不同 ,LEAN-LLM-OPT的理念是,虽然优化问题无穷无尽,但解决问题的步骤和技术是相似的。因此,它通过提供分步示例来教会LLM“如何建模”这一技术过程,极大地提升了数据效率和资源效率。
  3. 高质量数据集的构建:创建了两个综合性基准数据集:Large-Scale-ORAir-NRMLarge-Scale-OR 是一个包含70个实例的测试集,侧重于在真实商业场景下的中型(20-99个变量)和大型(≥100个变量)优化问题。还构建了一个包含86个条目的参考数据集 Ref-Data,为代理提供参考示例。
  4. 卓越的性能和实用性:实验证明,LEAN-LLM-OPT在处理大规模问题上远超现有方法,在Large-Scale-OR上实现了81.43%的准确率,而最佳竞品仅为45.71% 。在与新加坡航空公司的真实业务场景用例中,该框架也展现了领先的性能和巨大的实用价值 。
  5. 资源高效和可扩展性:该框架无需GPU微调,仅依赖一个86条的参考数据集即可实现高性能,资源消耗极低。其“即插即用”的设计也使其能轻松应用于未来更先进的LLM。

2. 数据集构建

为了支持和评估LEAN-LLM-OPT框架,研究人员构建了两个核心数据集:一个用于模型参考的 Ref-Data 和一个用于性能测试的 Large-Scale-OR

2.1. 参考数据集 (Ref-Data) 的构建

Ref-Data 是框架在运行过程中用于识别问题类型和学习建模方法的参考库。为了确保其广泛适用性,该数据集共包含86个条目,涵盖了不同领域和规模的问题实例。

2.1.1. 小规模问题实例 (Small-Scale Instances)

在这里插入图片描述

  • 目的:这部分实例不包含外部数据集,主要用于帮助模型准确识别问题的基本类型 。虽然论文的核心是解决大规模问题,但这些小规模实例对框架的分类步骤至关重要。
  • 构成:共包含79个小规模实例,覆盖了六种在文献中广泛研究的优化问题类型(见表2):网络收益管理 (NRM),资源分配 (RA),运输问题 (TP),分配问题 (AP),设施选址问题 (FLP),其他问题(如多种问题的组合或最小成本流问题)。
  • 数据格式:每个实例表示为 (q, t, m),分别代表用户查询 q、问题类型 t 和专家生成的优化模型 m。(示例见下图

在这里插入图片描述
在这里插入图片描述

2.1.2. 大规模问题实例 (Large-Scale Instances)
  • 目的:提供包含外部数据集(CSV文件)的、更贴近实际应用的复杂案例 。
  • 数据来源:为了确保问题的实际相关性,数据主要源自著名的数据科学平台 Kaggle,涵盖零售、物流、供应链等多个运营管理场景 。
  • 构成Ref-Data 中包含了7个大规模实例作为参考,其中5个来自Kaggle数据集,另外2个是为新加坡航空案例特别准备的SBLP实例。
  • 数据格式:每个实例表示为 (q, d, t, m),其中 d 代表相关的外部数据集(如CSV文件)。(示例见下图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2. 测试数据集 (Large-Scale-OR) 的构建

Large-Scale-OR 是一个包含70个实例的测试基准,专门用于全面评估LEAN-LLM-OPT在多样化真实场景中的性能。

在这里插入图片描述

  • 构成:包含70个从Kaggle数据处理后得到的高质量大规模问题实例。问题类型分布和问题规模分布见图1。
  • 数据格式:每个实例都包含两部分:一个自然语言查询(包括问题描述和对应的数据集)和一个标签(包括基准的数学模型和最优值)。

3. 研究方法 LEAN-LLM-OPT

LEAN-LLM-OPT 框架建立在 ReAct(Reasoning and Acting) 的思想之上,但通过引入多个关键设计使其适用于复杂的优化建模任务。整个工作流程利用外部数据输入由三个智能代理协同完成(见下图)。

在这里插入图片描述

图:LEAN-LLM-OPT 工作流程图 :当用户提交包含问题描述及相关数据集的查询后,问题分类代理会识别问题类型,并将其输出给少样本示例生成代理。随后,少样本示例生成代理会从Ref-Data中检索出与该问题类型最相关的示例。最后,这些示例将被提供给模型生成代理,后者遵循一套明确的、循序渐进的流程,最终生成优化问题的数学表达式。

3.1. 代理一:问题分类代理 (Problem Classification Agent)

  • 目标:接收用户查询(问题描述和相关的CSV文件),并准确识别问题的类型,例如网络收益管理(NRM)、资源分配(RA)、运输问题(TP)等 。
  • 输入:用户的自然语言问题描述(可伴随数据集说明)。
  • 工作流程
    1. 问题(Question) 该代理首先会得到一个小样本示例(Few-Shot Example),该示例详细演示了如何一步步确定一个问题的类型(通常与用户的问题不同)。
    2. 思考 (Thought):代理分析用户查询(例如,是否包含额外的输入数据集),并通过明确目标和推理来规划下一步行动,并计划使用定制的RAG工具 FileQA
    3. 行动和输入 (Action and Action Input):调用 FileQA 工具,把 Question 的原文作为检索输入。然后 FileQA 工具会在参考数据集 Ref-Data 中进行相似性搜索,找出与当前问题最相似的5个案例及其问题类型。
    4. 观察,思考与最终回答 (Observation, Thought and Final Answer):代理接收 FileQA 返回的5个相似案例的类型。结合LLM代理的推理能力,对观察到的结果进行判断,输出最终的问题类型(如“网络收益管理”)。这一步的推理至关重要,相比直接使用RAG的结果,准确性更高。
  • 输出:一个明确的问题类型标签,传给下游代理。

完整问题分类流程示例如下

在这里插入图片描述
在这里插入图片描述

3.2. 代理二:小样本示例生成代理 (Few-Shot Example Generation Agent)

  • 目标:根据前一个代理识别出的问题类型,从 Ref-Data 中检索出一个最相关、最详细的完整建模示例。
  • 输入:上一步给出的问题类型 + 用户原始描述。
  • 工作流程:这个代理的功能相对简单,它不进行复杂的推理,而是直接使用RAG工具在 Ref-Data 中检索与用户查询最相似的完整示例 。
  • 输出:一份“可示范的 few-shot 示例”,后续代理会严格依样执行,这个示例包含4个部分:
    • 示例问题描述:一个与用户问题同类型的完整问题描述。
    • 所需数据类别:该问题建模所需的数据字段。
    • 所需数据详细描述: 用 CSVQA 从 CSV 等数据里逐条取回的“明细记录”——支持模糊匹配,例如“OliviaKim”品牌的所有鞋款。(CSVQA:它会把输入数据逐行向量化,按照“需求的字段/类别”做相似度检索,返回与描述最匹配的行;支持模糊检索(无需精确产品名),非常适合真实业务数据里“字段杂乱/缺失/命名不统一”的情况)
    • 示例的标签:该问题的标准数学公式和从数据中提取出的参数。

完整的问题提取示例
在这里插入图片描述
在这里插入图片描述

3.3. 代理三:模型生成代理 (Model Generation Agent)

  • 目标:利用前一个代理生成的详细结构化示例作为“模板”,为用户的原始查询生成最终的数学模型和可执行的Python代码 。
  • 输入:用户问题描述 + 第 2 步产出的“few-shot 示例”。
  • 工作流程
    1. Question:该代理接收到一个包含小样本建模过程的提示(Prompt),这个过程详细展示了如何思考、如何使用工具、如何处理数据并最终生成模型 。
    2. 思考 (Thought):代理根据示例的指导,计划从用户提供的CSV文件中提取所需数据。
    3. 行动 (Action and Action Input):调用定制的RAG工具 CSVQACSVQA 专门用于处理CSV数据,它能将数据行向量化,并根据自然语言查询(例如“检索所有‘索尼’品牌的产品数据”)进行模糊和精确的相似性搜索,提取出相关数据行 。
    4. 观察 (Observation):代理接收 CSVQA 从CSV文件中检索到的具体数据(如价格、库存、需求量等) 。
    5. 思考与整合(Thought):代理再次进行思考,根据小样本示例的指导,理解观察到的每一条数据代表的含义,并计划如何将这些数值参数填入数学模型的正确位置(例如,库存数据放入库存约束,收益数据放入目标函数) 。
    6. 最终回答 (Final Answer):生成包含所有实际数据参数的完整数学模型(规范的Markdown公式,不含任何解释),并可进一步生成Gurobi等求解器的Python代码 。
  • 输出:一份“带实参的优化模型”(文中示例给出了 NRM 的目标与三类约束,并在“Retrieved Information”处附上向量 I I I, A A A, d d d 的具体数值);此外还提供一个代码生成组件,可把模型翻译成(如 Gurobi 可用的)程序代码

模型生成过程的提示词:
在这里插入图片描述

完整的模型建模流程示例
在这里插入图片描述

建模输出示例
在这里插入图片描述

4. 实验

论文通过在一系列通用基准和一个真实的商业案例上进行实验,全面评估了LEAN-LLM-OPT的性能。

4.1. 实验设置

4.1.1. 数据集与基准
  • Large-Scale-OR 测试集:作者自己构造的数据集。
  • Small-scale 示例:咖啡店、库存分配等小规模实例,主要用于 Ref-Data 演示。
  • IndustryOR 基准:100 个实际运筹学问题,覆盖 LP、NLP、IP、MIP。
  • NL4OPT 基准:一系列线性规划任务,每个包含自然语言描述与最优解。
  • Air-NRM 案例数据:来自新航真实售票数据训练的仿真器,生成 355 天销售周期的票价、需求、吸引值等数据,用于 舱位容量分配 (CA)网络规划 (NP) 任务。
4.1.2. 对比方法
  • LEAN-LLM-OPT(提出的方法)。
  • ORLM(先前的 solver-oriented 方法)。
  • GPT-4.1o4-mini(通用 LLM baseline)。
  • RAG-onlyFew-shot-only(消融实验)。
4.1.3. 评测指标
  • 执行准确率 Execution Accuracy:生成模型 + 代码是否能成功求解并得到正确最优值。
  • Optimality Gap(航空网络实验):用 加权平均绝对百分比误差(WMAPE)平均绝对百分比误差(MAPE) 来衡量最优差距。

4.2. 实验一:通用基准测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 实验结果
    • Large-Scale-OR 上,LEAN-LLM-OPT 取得了 81.43% 的惊人准确率,显著优于所有对手(ORLM为45.71%,GPT-4.1仅为17.14%) 。最重要的是,当问题规模从小型增加到大型时,竞争对手的性能急剧下降,而LEAN-LLM-OPT始终保持高准确率。证明三代理框架在大规模复杂场景中优势显著。
    • NL4OPT 上,LEAN-LLM-OPT 达到 95.1% 的最高准确率。在 IndustryOR 上,准确率为 38.0%,与最先进的模型持平 。说明方法在线性规划类任务上表现尤为突出,但在高度多样化的 IndustryOR 上差距不大。

4.3. 实验二:新加坡航空公司案例研究

这是一个更具挑战性的实验,旨在验证框架在真实、复杂业务场景下的实用性。

  • 案例背景:为新加坡航空公司的收益管理问题构建销售线性规划(SBLP)模型,该模型需要从多个CSV文件中精确检索参数并正确放置 。
  • 测试平台Air-NRM 数据集,分为两部分:
    1. Air-NRM-CA:15个票价容量分配问题实例 。
    2. Air-NRM-NP:21个网络规划问题实例(联合优化容量分配和航班调度),复杂度更高。
  • 消融研究:为了验证框架各组件的必要性,论文设计了两个变体进行对比:
    1. RAG-only:有定制的RAG工具,但在模型生成阶段没有小样本示例的逐步指导。
    2. Few-shot-only:有小样本示例指导,但没有定制的RAG工具,只能用Python内置函数处理数据。
4.3.1. 案例中各种数据表格解释

表5 — OD pairs’ demands(OD 对的需求)

在这里插入图片描述

列出每个市场分段(每个 OD 对(Origin–Destination(出发地 — 到达地)的代号))的平均旅客量(Avg Pax)。这是基于新航模拟器/销售数据计算得到的统计量,用于反映每个航班市场段的大致潜在客流规模。

把 Avg Pax 作为某些约束或参数的输入(例如用来校准期望需求、作为乘数用于计算期望销量或容量需求),或作为生成训练/验证数据时的先验。


表6 — Sample ticket choice(样本票务选择记录)

在这里插入图片描述

展示单个候选航班/时次下,具体的售票组合信息和平均票价示例,作为票务选择数据的一个行样本。论文把这种格式作为输入数据的一类原始记录示例。Fare type:票种(例子里有 Eco-flexi、Eco-lite 等)。

这些记录是用来 训练/估计吸引力参数(attraction values) 的原始观测(模型用这些数据来估计吸引力值 v l k v_{lk} vlk 等参数,从而得到选择概率与预期销量)。


表7 — Attraction values(吸引力值 v l k v_{lk} vlk

在这里插入图片描述

列出对每个 OD / 每种票(或时段-票种组合)估计出来的吸引力参数 v l k v_{lk} vlk。这些参数是从票务选择数据通过 EM 等方法估计出来的,反映某个产品对某一市场分段 l l l 的相对吸引力。表里通常还会有一个 No Purchase(不购买)列,表示“无购买”选项的吸引力(样例中被写为 1,用作基准)。

Generalized Attraction Model (GAM) 框架下, v l k v_{lk} vlk 用来計算当给定一个可供选择集合时,每个票的被选概率(进而用于估计期望销售数量和收入)。SBLP(sales-based LP)会把这些概率/吸引力映射到容量约束、平衡约束和收益计算中。论文里明确把 v l k v_{lk} vlk 当作 SBLP 构建的先验参数来用。


表8 — Shadow attraction values(影子吸引力 w l k w_{lk} wlk

在这里插入图片描述

给出 shadow attraction values w l k w_{lk} wlk(论文称之为 shadow attraction value / shadow ratios)的具体数值或比率。它们与 v l k v_{lk} vlk 一起被估计(EM 算法同时估计 v l k , w l k , Λ l v_{lk}, w_{lk}, \Lambda_l vlk,wlk,Λl),用于模型的某些变体或约束构造。

shadow attraction 用来表示在某些模型变换或近似下对原始吸引力的调整/替代形式(例如在构建平衡/比例约束或处理替代/互斥效应时使用的辅助参数)。论文把它们当作 SBLP 建模中需要的额外参数/比率来计算特定约束(比如 scale constraints / balance constraints 时使用的系数)。

w l k w_{lk} wlk 会进入 SBLP 的平衡与尺度相关约束,把选择行为的替代关系和“影子”需求影响映射为线性/近似系数,便于用线性规划求解。


以下是Air-NRM-NP中的一个示例查询:
在这里插入图片描述
在这里插入图片描述

对于此查询,其标签是一个广义的SBLP模型,如下:
在这里插入图片描述

图3展示了该示例的候选航班,以及SBLP针对该示例查询推荐的航班:
在这里插入图片描述


4.3.2. 容量分配 Air-NRM-CA实验结果

在这里插入图片描述

  • LEAN-LLM-OPT: 准确率 73.33%
  • RAG-only: 准确率 20.00%。失败原因:虽然能检索到数据,但常常出错(幻觉),且不知道如何正确地将复杂数据放入模型中 。
  • Few-shot-only / GPT-4.1 / o4-mini: 准确率均为 0.00% 。失败原因:无法从外部CSV文件中有效提取所需数据 。
4.3.3. 网络规划 Air-NRM-NP实验结果

在这里插入图片描述

  • WMAPE(加权平均绝对百分比误差)对比(图4,越低越接近最优):
    • LEAN-LLM-OPT:在所有实例上 WMAPE 都低于 34%,且随问题规模增加保持稳定;
    • RAG-only:误差普遍在 67% 以上,说明只依赖检索但缺少模板约束会误用数据;
    • Few-shot-only、GPT-4.1、o4-mini:曲线几乎都在 100%,即完全没能生成可用的模型,导致误差极大。

图4表明提出方法在航空网络收益最大化问题中能够稳定接近最优,而基线方法几乎失效。


在这里插入图片描述

  • MAPE(平均绝对百分比误差)对比(图5):
    • LEAN-LLM-OPT:始终维持在低水平(小于 34%);
    • RAG-only:高误差(67%+);
    • Few-shot-only / GPT-4.1 / o4-mini:几乎恒定在 100%,说明模型完全失败。

图5 用另一种误差度量(未加权的平均误差)验证了图4 的结论,进一步证明 方法对不同误差指标都稳健有效。


实验结论:以上实验有力地证明了 小样本学习指导定制化RAG工具 的结合是成功的关键。缺少任何一个部分,模型性能都会大幅下降。

5. 总结

5.1. 结论

论文提出了 LEAN-LLM-OPT 框架,一种基于 三代理协同(问题分类代理、少样例生成代理、模型生成代理) 的端到端优化建模方法。该框架以 ReAct 框架为基础,但做了重要改进:

  1. 在建模前引入 问题类型判别,避免模型自由发挥带来的幻觉与错误;
  2. 通过 few-shot 示例拼装 提供清晰的“数据–公式”映射范例;
  3. 在模型生成阶段强调 结构化步骤 + CSVQA 检索工具,实现“自然语言需求 → 数据提取 → 数学建模 → 可执行代码”的全链路自动化。

且在多个基准与真实场景中,LEAN-LLM-OPT 都展现出显著优势。

5.2. 限制

  1. 问题类型覆盖面:当前工作主要集中在线性规划和整数规划问题上。虽然框架具有通用性,但其在非线性规划、动态规划等其他更复杂的优化问题类型上的表现尚未得到验证。
  2. 对参考数据的依赖:框架的性能高度依赖于 Ref-Data 的质量和覆盖范围。对于 Ref-Data 中没有或很少出现的新问题类型,其分类和示例生成环节可能会失败。
  3. 对基础LLM能力的依赖:虽然框架是“即插即用”的 ,但其最终性能上限仍受限于所使用的基础LLM(如GPT-4.1)的推理能力。如果换用一个能力较弱的LLM,可能无法准确地遵循小样本示例的指导。

5.3. 未来方向

  1. 扩展问题领域:通过向 Ref-Data 中添加更多类型的示例,将该框架扩展到更广泛的优化问题领域,如随机优化、非线性优化等 。
  2. 增强工具的鲁棒性:进一步提升 CSVQA 等RAG工具的能力,使其能够处理更复杂、更混乱的真实世界数据格式。
  3. 推广“学习技术”范式:将这种通过小样本学习教会LLM“如何解决问题”的范式,应用到除优化建模之外的其他需要复杂、多步推理的领域中。

网站公告

今日签到

点亮在社区的每一天
去签到