Ask Before You Optimize: Dynamic Pre-Formulation Clarification for Interactive Optimization
Sihan Ge, Yichen Lin, Chenyu Zhou, Jianghao Lin, Tao Yao, Dongdong Ge
math.OC, cs.AI
2026-09-04
OR-Clarify 把建模前该不该问做成 100 题、178 个隐藏槽的基准。两阶段 InterOPT 在选择题设定下 Core Exact 达 67.5%,高于 MC-D 的 50.6%;开放问答里仍有 40.6% 的回合过早宣布可以建模。
用 LLM 把自然语言业务描述写成优化模型,已经有 NL4Opt、OptiMUS、ORLM 这类工作。它们默认说明书是完整的。真实业务请求经常缺目标、缺约束、缺硬约束还是软约束。缺的那一块会改数学模型的结构:快递要不要回仓,未满足需求是必须满足还是罚款,时间窗能不能破。
现有评测几乎不问「现在能不能建」。强模型会在核心业务事实还没澄清时宣布 READYTOMODEL,或者默默填一个默认值。ORPilot 把访谈嵌进端到端流水线,但没有单独打「隐藏槽有没有问回来」。这篇把建模前澄清拆成独立任务:公开说明书够不够确定一个有意义的建模;不够,就用尽量少的轮次把会改结构的事实问回来。
OR-Clarify 从完整、有出处的运筹任务记录出发,把事实拆开。业务场景和数值留在公开 brief 里,目标、约束、假设按固定种子大约遮一半。每个被遮的事实变成一个 hidden slot,带着只能基于该事实作答的模拟用户答案、可接受问法、语义召回规则,以及严重度 P0/P1/P2。P0 是会改问题本身的阻断条件,例如路径开放还是闭合;P1 是实质建模条件;P2 是次要边界。当前集:100 题、178 槽,每题 1 到 5 个(均值 1.78),75 个 P0、83 个 P1、20 个 P2。
评测时 agent 只看见公开 brief 和对话记录。模拟用户不主动泄露没问到的槽。主指标 Core Exact:一次运行里所有 P0/P1 槽必须全部精确召回才算过(100 题里 94 题有核心槽)。All-Slot Exact 把 P2 也算上。另记沉默假设、过早停止、平均轮次和原子问题数。每题跑 5 次,最多 20 轮。
InterOPT 分两段。Stage 1 Dynamic Gap Search 只在公开证据上找缺口,覆盖六类:目标与权衡、决策范围、操作约束、时间边界、实体关系、硬/软策略,每轮最多登记 3 条 Open。Stage 2 Gap-Guided Action Search 根据未关闭缺口决定问还是停;若要问,生成 3 个绑在缺口上的候选,再由选择器挑一个。账本空了不强制 READY,账本还有条目也不拦截停止。两边都看不到基准的隐藏槽。
主实验用 DeepSeek V4 Pro。现成模型在两种协议下都过不了 60% Core Exact:Opus-4.8 最强,开放问答和选择题都是 0.583。
| 设定 | 方法 | Core Exact | All-Slot Exact | Silent/run | Avg Q |
| Choice | InterOPT | 0.675 | 0.638 | 0.366 | 10.036 |
| Choice | MC-D | 0.506 | 0.474 | 0.692 | 2.350 |
| Choice | ReadyGate | 0.517 | 0.476 | 0.614 | 2.892 |
| Open | InterOPT | 0.538 | 0.492 | 0.560 | 4.824 |
| Open | ORPilot | 0.583 | 0.546 | 0.268 | 4.918 |
| Open | GATE | 0.560 | 0.528 | 0.412 | 4.818 |
选择题设定里,InterOPT 把核心精确召回从 MC-D 的 50.6% 拉到 67.5%,沉默假设从 0.692 降到 0.366,代价是原子问题数从 2.35 涨到 10.0。890 个被评判槽里,InterOPT 拿到 617 yes、20 partial、253 no,MC-D 是 461、16、413。提升几乎全是把没问到的槽问全,近错过问贡献很小。
开放问答里没有通吃的方法。ORPilot 召回最高,InterOPT 接近,但沉默假设更多。开放设定 500 次运行里 98.8% 会宣布可以建模,停止审计却标了 203 次(40.6%)过早。失败主要不是没问,是不知道问够没有。
消融在选择题里更清楚:去掉 Stage 1,Core Exact 掉 11.1 个点;去掉 Stage 2 掉 6.0 个点。开放设定里 Stage 1 对召回贡献更大,Stage 2 主要把问题数从 9.5 压到 4.8。
LLM 自动建模如果默认说明书完整,上线就会拿错模型去求解。这篇把「问还是建」做成可量化任务,并给出一套不训练、只改交互策略的两段式流程。对做优化 Copilot 的人,带选项、允许 D 纠正的选择题界面,比纯开放提问更容易把缺口问全;开放聊天里更难的是停。
InterOPT 不是全面胜利。开放设定它打不过 ORPilot,选择题的增益伴随着大约四倍的问话成本。
基准只有 100 题,做法是把完整任务再遮起来。模拟用户严格按槽作答、不主动补充,比真人业务沟通干净得多,也可能更好问。「会改结构」的判定依赖标注,严重度是遮完之后才标的,不参与遮挡。主实验绑在 DeepSeek V4 Pro 上,换模型数字会动。
InterOPT 的停止权在模型手里,账本不保证发现所有缺口,也不保证安全停止。开放设定四成过早停止说明校准仍差。下游有没有建成正确模型、求出正确解,这篇没有评。论文把后续工作写成扩基准、提高问话效率、把停止校准做好。