[Paper] DSL或代码?评估LLM生成的代数规范质量:Kinaxis优化案例研究

发布: (2026年1月2日 GMT+8 04:48)
8 min read
原文: arXiv

Source: arXiv - 2601.00469v1

概述

本文研究了大型语言模型(LLM)是否能够可靠地生成用于数学优化的领域特定语言(DSL)规范,还是在要求生成通用代码(例如 Python)时表现更佳。作者使用 AMPL——一种广泛使用的优化 DSL——构建了一个名为 EXEOS 的系统,该系统将自然语言问题陈述翻译为可执行模型,然后利用求解器的反馈对模型进行细化。他们在公开基准以及来自 Kinaxis 的真实供应链场景上进行实验,结果表明,DSL 生成的模型可以达到与 Python 等价模型同等的准确性,甚至在某些情况下更为准确。

关键贡献

  • EXEOS 框架:一个端到端的流水线,(1) 提示 LLM 从自然语言描述生成 AMPL 或 Python 模型,(2) 将生成的模型通过优化器运行,(3) 基于求解器诊断信息迭代修复错误。
  • 实证比较 LLM 生成的 AMPLPython 规范,跨两个 LLM 系列(基于 GPT 和基于 LLaMA),关注可执行性和解的正确性。
  • 消融研究 展示 (a) 提示工程(包括 DSL 特定的脚手架),(b) 求解器反馈循环,和 (c) 模型后处理 对整体质量的影响。
  • 工业验证 使用 Kinaxis 供应链优化案例,提供超出学术数据集的真实测试平台。
  • 开源成果(提示模板、评估脚本和精心策划的基准)以实现可重复性并促进进一步研究。

方法论

  1. Dataset preparation – 作者收集了 1,200 个优化问题:800 来自公共基准(MIPLIB‑style),400 来自 Kinaxis 的内部供应链案例。每个问题包括简洁的自然语言描述、最优解以及 AMPL 和 Python 的参考实现。
  2. Prompt design – 设计了两类提示:
    • DSL‑centric:明确要求 LLM 输出 AMPL 模型,提供一个小的 AMPL 语法“模板”,并列出常用构件(集合、参数、变量、约束)。
    • Code‑centric:要求使用 PuLP 库给出 Python 实现。
  3. Generation – 对每个 NL 描述,选定的 LLM(GPT‑4‑Turbo 或 LLaMA‑2‑70B)被调用三次,以生成候选规格。
  4. Solver feedback loop – 将生成的模型送入相应求解器(AMPL 使用 CPLEX,Python 使用 CBC)。若求解器报告语法错误、未定义符号或不可行,EXEOS 提取错误信息,在原始提示中加入简短的“修复指令”,并重新查询 LLM。该循环最多运行三次迭代。
  5. Evaluation metrics
    • Executability:模型是否能够无错误运行?
    • Correctness:解是否在 1 % 容差内匹配已知的最优目标?
    • Development effort:以 LLM 调用总次数(包括修复)衡量。
  6. Ablation – 作者系统性地禁用 (a) DSL‑specific 模板,(b) 修复循环,和 (c) 生成后格式化,以量化每个组件的贡献。

结果与发现

指标AMPL (DSL)Python (code)
首次尝试可执行率68 %74 %
修复后可执行率92 %95 %
目标正确率(误差 ≤1 %)85 %81 %
每题平均 LLM 调用次数1.71.5
最佳情况(GPT‑4‑Turbo)94 % correct90 % correct
  • DSL 竞争力 – 一旦应用修复循环,AMPL 模型不仅可执行率与 Python 相当,而且在优化目标上实现更高的正确性
  • 提示的影响 – 添加简洁的 AMPL 模板可将首次尝试可执行率提升约 12 %,并减少修复迭代次数。
  • 求解器反馈至关重要 – 移除修复循环会使两种语言的正确率下降约 15 %,这证实了基于错误驱动的迭代细化是 EXEOS 的关键优势。
  • 工业案例 – 在 Kinaxis 的供应链问题中,使用 EXEOS 生成的 AMPL 模型在 88 % 的案例中与内部解决方案匹配,而 Python 稍逊,为 82 %。
  • LLM 系列影响 – GPT‑4‑Turbo 始终优于 LLaMA‑2,但 DSL 与代码之间的相对差距在不同系列中保持相似。

Practical Implications

  • Rapid prototyping of optimization models – Engineers can describe a scheduling or logistics problem in plain English and obtain a ready‑to‑run AMPL model within minutes, cutting down the manual modeling effort that traditionally dominates MDE projects.
  • Lower barrier to DSL adoption – The results suggest that the perceived “training‑data bias” toward mainstream languages is not a show‑stopper; with proper prompting and feedback loops, DSLs like AMPL become viable targets for LLM‑assisted development.
  • Integration into CI pipelines – EXEOS’s repair loop can be automated as part of a continuous‑integration workflow: a new NL requirement triggers model generation, the solver validates it, and any failures automatically generate a ticket with the corrected specification.
  • Cost‑effective model maintenance – When business rules evolve, updating the NL description and re‑running EXEOS can regenerate the model, reducing the need for deep DSL expertise on every change.
  • Tooling opportunities – IDE plugins that embed EXEOS‑style prompts could let developers toggle between “Python” and “AMPL” views of the same optimization problem, facilitating cross‑language verification and education.

限制与未来工作

  • 领域范围 – 本研究聚焦于线性/混合整数规划;扩展到非线性、随机或组合式 DSL(如 MiniZinc)可能会呈现不同的准确性模式。
  • 模型规模与成本 – 像 GPT‑4‑Turbo 这样的高性能模型在大规模查询时成本高昂;未来工作可以探索在 DSL 语料上微调的更小模型。
  • 错误类型粒度 – 当前的修复循环对所有求解器错误一视同仁;更细致的解析(例如区分不可行与无界)可能产生更智能的提示。
  • 人机交互评估 – 虽然论文衡量了自动化正确性,但对领域工程师的用户研究可以阐明实际中仍需多少生成后编辑工作。
  • 基准多样性 – 增加来自其他行业(能源、金融)的更多真实案例研究,可检验研究结果的普适性。

总体而言,论文表明,通过精心的提示和迭代的求解器反馈,LLM 能够生成高质量的优化 DSL 规范——为工业中的模型驱动工程打开了实用路径。

作者

  • Negin Ayoughi
  • David Dewar
  • Shiva Nejati
  • Mehrdad Sabetzadeh

论文信息

  • arXiv ID: 2601.00469v1
  • Categories: cs.SE
  • Published: 2026年1月1日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »