达摩院 ICML'26|大模型优化建模总是“能跑但错”?DA-RL让模型学会先写后审
作者|闵泽平 阿里巴巴达摩院算法专家
摘要
自然语言到优化建模(NL2Opt)正在让大模型参与更复杂的决策建模任务:用户用自然语言描述一个排班、物流、资源分配或网络流问题,模型直接生成可执行的优化求解代码。
然而,优化建模的难点不止在于代码能否运行。更隐蔽的风险在于,模型生成的程序可以顺利调用求解器,也能输出一个看似合理的数值,但其中的约束、变量类型或目标函数已经偏离原题。这类silent modeling failure会在下游决策中被放大,是NL2Opt落地的一大障碍。
本文提出Draft-and-Audit Reinforcement Learning(DA-RL),将优化建模训练成一个“先草拟、再审计”的两阶段流程。模型首先生成完整求解程序,随后基于固定检查清单审计并修订;训练阶段只执行最终审计后的代码,并根据最终答案是否正确给出奖励。通过这种终端验证机制,模型不再依赖中间报错信息进行被动修补,而是逐步内化面向约束、参数和变量域的主动审计能力。
实验显示,DA-RL在5个优化建模基准上取得68.1%的宏平均pass@1准确率。其中在结构更复杂的MAMO-Complex上达到84.5%,显著提升了复杂约束场景中的建模可靠性。
![]()
背景:能运行,不代表模型正确
混合整数线性规划(MILP)是运筹优化中最常见的建模形式之一,广泛用于物流调度、生产计划、资源分配、金融优化等场景。一个完整的优化模型通常包含决策变量、约束条件、目标函数和变量类型。对人类建模者而言,这些要素需要在读题、抽象、建模和检查之间反复确认。
大语言模型为NL2Opt带来了新的可能性。用户只需输入自然语言题目,模型即可生成PySCIPOpt等求解器代码,从而降低建模门槛。但与通用代码生成相比,优化建模的错误更难被发现。
语法错误会让程序直接崩溃,API错误也通常会暴露在运行阶段;但建模错误往往不会。一个遗漏约束、约束方向写反、整数变量误写成连续变量的程序,仍可能正常求解并输出结果。此时系统获得的是一个“形式正确、语义错误”的答案。
因此,NL2Opt的关键问题不是让模型多写一段代码,而是让模型具备类似优化工程师的复核能力:写完模型后,回到原题逐项检查约束是否完整、参数是否一致、变量域是否合理。
![]()
方法:从单轮生成到 Draft→Audit
DA-RL的核心设计是一个固定的两轮交互协议。
第一轮为Draft。模型读取自然语言优化问题,结合变量类型提示和少量示例,生成一份完整的PySCIPOpt求解程序。该程序需要包含变量定义、约束、目标函数、求解过程以及最终答案输出。
第二轮为Audit。模型再次获得原始问题、第一轮草稿代码以及一份固定审计清单,并据此输出最终代码。审计清单聚焦三类高频错误:
-
约束是否与题意一致,是否存在遗漏;
-
参数数值是否与题目描述一致;
-
变量类型设置是否合理,例如vtype="C" 与 vtype="I"的选择。
与常见的self-refine或工具调用式修补不同,DA-RL在训练中不执行第一轮草稿,也不把求解器报错、运行日志等中间反馈提供给模型。训练系统只执行第二轮审计后的最终程序,并将输出结果与标准答案比较,得到二值奖励。
这一设置迫使模型基于题目和代码本身完成审计,而不是等待环境返回错误信息后再修补。作者希望训练出的不是一个依赖外部脚手架的推理流程,而是一种沉淀在模型参数中的建模复核能力。
![]()
终端验证:只奖励最终正确性
训练时,模型先生成草稿程序y(1),再生成审计后的程序y(2)。系统只对y(2) 进行沙盒执行,并比较其输出目标函数值与标准答案。
若程序无法抽取合法代码、执行失败、没有输出数值,或输出值与标准答案不匹配,则奖励为0;只有程序执行成功且数值误差在容差范围内,奖励才为1。论文采用绝对误差与相对误差结合的匹配规则,阈值为1e-6。
模型以Qwen2.5-7B-Instruct为基座,使用PPO进行强化学习训练。训练在8张NVIDIA H100上完成,采用Verl框架与SGLang rollout引擎,学习率为1e-6,训练batch size为64。
由于两轮生成共享同一套参数,最终奖励不仅会强化第二轮审计行为,也会反向塑造第一轮草稿质量。成功样本往往来自更结构化、更易检查、更少硬伤的初稿。论文将这种现象称为cross-turn synergy:模型逐渐学会生成更适合后续审计的草稿。
![]()
实验设置
论文在5个公开优化建模基准上评估DA-RL,覆盖线性规划、整数规划、网络流、工业调度与数学优化等不同任务类型,包括NL4Opt、MAMO-Easy、MAMO-Complex、IndustryOR和OptMATH-Bench。
每个数据集进行3次独立随机80/20划分,模型只在80%训练集上训练,并在保留的20%测试集上评估。指标为pass@1 execution accuracy,即模型一次生成的程序能否执行并得到正确目标值。
论文同时列出若干已有方法结果,但部分方法使用了不同训练数据、私有数据或不同评测协议,因此作者将其标记为reference-only。主比较集中在相同public-split协议下的模型表现。
(一)结果:复杂约束场景提升最明显
在public-split协议下,DA-RL取得68.1%的宏平均准确率,高于Claude-Sonnet-4.5的67.1%。作为7B规模模型,DA-RL在多个结构化优化任务上展现出较强竞争力。

其中,MAMO-Complex是最能体现DA-RL优势的基准。该数据集包含网络流、最大流和组合优化等复杂结构,模型需要正确处理变量域、流守恒、容量约束和目标函数方向。DA-RL在该数据集上达到84.5%,明显超过prompt-only闭源模型,说明基于审计的训练机制对复杂约束逻辑具有较强修复能力。
在NL4Opt上,DA-RL达到97.1%,表现稳定;在MAMO-Easy上达到91.8%,与强闭源模型接近。不过,在IndustryOR与OptMATH-Bench上,DA-RL仍低于Claude系列模型,表明面对更开放、更长文本、更依赖细粒度数值抽取的任务时,仍存在明显改进空间。
(二)审计行为分析:从silent failure到正确程序
为进一步验证审计是否真正发挥作用,论文比较了第一轮草稿与第二轮审计结果之间的转移情况。
在MAMO-Complex上,审计带来14.0%的净准确率提升,错误恢复率达到42.9%,并且没有观察到正确样本被审计改错的情况。在OptMATH-Bench上,审计带来8.8%的净提升,错误恢复率为10.7%,同样未观察到退化。
这一结果说明,审计阶段并非简单重写代码,而是在一部分失败样本上完成了有效修复。对于MAMO-Complex这类约束逻辑错误较集中的任务,固定rubric能够较好覆盖主要错误来源。
论文还分析了silent modeling failure的变化。在MAMO-Complex上,草稿阶段的静默建模错误比例为32.6%,审计后下降到0.0%。这表明模型确实学会了将一部分“能运行但建模错误”的程序修正为正确程序。
与此同时,审计阶段也引入了新的执行失败。MAMO-Complex审计后的execution failure为18.6%,OptMATH-Bench为32.4%。作者在定性分析中发现,这类失败常与输出格式漂移有关:模型能够识别逻辑问题,但最终输出混入解释性文本,导致严格评测器无法抽取单一代码块。
这也提示,优化建模模型不仅需要具备数学审计能力,还需要稳定遵守输出协议。对于自动评测和工业系统而言,格式一致性本身就是可靠性的一部分。
(三)Few-shot 示例仍是关键
论文进一步移除draft prompt中的few-shot示例,训练零样本版本的DA-RL。结果显示,few-shot对复杂建模任务仍然非常重要。

在MAMO-Complex上,去除few-shot后准确率从84.5%降至76.7%;在OptMATH-Bench上,准确率从30.4%降至11.8%。
作者发现,few-shot示例不仅提供PySCIPOpt语法模板,还提供了关键建模范式。例如在max-min问题中,模型需要知道如何构造epigraph形式的约束;在覆盖选址问题中,模型需要将自然语言列出的覆盖关系重构为集合或矩阵,而不是误判为“题目缺少数据”。
因此,DA-RL的能力来自两部分协同:few-shot示例提供领域归纳偏置,强化学习则将这些建模与审计行为进一步稳定下来。
![]()
总结与展望
DA-RL的主要贡献在于,将NL2Opt从单轮翻译任务拓展为可训练的两轮工作流。模型先生成候选模型,再基于固定清单审计修订,更接近真实优化建模中的工作方式。更重要的是,论文采用终端验证而非中间反馈:第一轮草稿不会被执行,模型也不会看到求解器错误日志,最终程序的正确性成为唯一奖励来源,从而推动模型学习基于题意和代码结构的主动检查,而不是依赖环境反馈的被动修复。此外,两轮共享参数带来了草稿质量与审计能力之间的耦合,使模型逐渐生成更清晰、更一致、更便于审计的初稿。这为复杂代码生成任务提供了一种新的训练思路:把专家复核流程写入交互协议,再通过终端结果训练模型。
DA-RL仍有两个方向值得继续推进。首先是进一步强化评测与泛化能力:某些错误模型可能偶然得到正确目标值,后续可引入约束级、变量级或解结构级验证;同时,public-split协议主要衡量同一benchmark内的泛化能力,而DA-RL在IndustryOR与OptMATH-Bench上仍未全面超过强闭源模型,说明跨域泛化、长文本解析与细粒度数值抽取仍是难点。其次是提升审计阶段的输出稳定性与修改克制:论文中审计后的格式漂移带来新的执行失败,raw edit rate也达到100%,说明模型几乎总会重写程序。更理想的审计器应能稳定遵守代码输出协议,并更准确地区分“保持原样”与“必须修改”,减少“逻辑已修好但评测失败”或不必要改动。总体来看,DA-RL展示了一个清晰方向:复杂专业代码生成不应只追求一次性给出答案,还应训练模型掌握专家式复核流程;对于运筹优化与工业决策场景而言,让模型不仅会“写模型”,也会“查模型”,是比单轮生成更稳健的路径。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)