aps-agent/docs/round-79-diagnostic-lp-attr...

35 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Round 79 诊断 LP 归因校准记录
## 已完成
- 保留原 `masterControl.isShadowPriceProxy=true` 日志代理,不覆盖、不改名。
- 新增 `diagnosticLpAnalysis` / `diagnosticLp`:使用 OR-Tools GLOP 对冲突残余分钟模型做 one-constraint-at-a-time 重解。
- 主结果 `localMarginalBenefit` 来自折点内有限差分;`capDualEvidence` 只作数值一致性证据;另列 `oneMinuteBenefit`,不把跨折点 1 分钟收益冒充局部导数。
- 仅 C4 维保重叠、C7 产线日容量、C8 订单交期允许分钟具备明确分钟 RHS;C5 资格、count 和约束/degree 类型不匹配全部 unsupported。
- 联合 relief 明确 `nonAdditiveAcrossConstraints=true`;共享证据不能跨约束相加。
- conflictId 全局一致性先于约束分组;同 ID 不一致载荷失败关闭并清空 rate;一致重复 ID、物理 RHS 重复和冲突重复分别记录与展示。
- C7 要求非空产线与规范 ISO 日期,C8 要求非空订单号,C4 要求设备和维保锚点;NaN/Infinity/零/负值均不输出 rate。
- solver_error 与 unsupported 分开统计;任何输入冲突或 solver_error 都使顶层一致性失败。
## 解释边界
- `modelScope=diagnostic-conflict-relaxation`,目标单位为 residual-minute。
- `exactForLpModel=true` 仅表示该人工诊断 LP 已求最优;`exactForCpSat=false`。
- CP-SAT 没有对偶变量;本结果不是原排产模型或业务成本函数的影子价。
- 输入中 delay/overload 来自求解日志描述,分别标记约 6 分钟/1 分钟精度;maintenance overlap 来自时段计算。
## 验收
- 诊断 LP + 原归因专项:26 passed;CP/Sidecar/evidence/Sobol 扩展回归:108 passed;全量黄金 1399 passed / 5 warnings(563.85 秒);Node 60 passed;Web build 通过。
- 冻结 Sidecar 当前代码重建,`APS_NATIVE_PROBE_OK ... glop=GLOP`,冻结健康冒烟通过。
- 隔离 8019/5189 浏览器真实显示 C7:局部边际率 1、1 分钟收益 1、cap dual 证据 1、量化 1/1;同时显示近似代理、非 CP 对偶和跨约束不可相加;新标签 console warning/error=0。
- 四轮数学/契约审计逐项关闭后最终 `AUDIT PASS`。
- GitNexus:13,613 nodes / 62,939 edges / 604 clusters / 300 flows;`compare main` 累计 CRITICAL(68 files / 541 symbols / 90 flows)。
- 隔离服务已关闭;测试目录位于系统 `%TEMP%`,递归删除被执行策略拒绝,不在仓库内。
## 剩余边界
- 仍需基于原排产决策变量构造容量/交期的调度级 LP 松弛,或用 CP one-at-a-time 重解给出业务目标边际变化;这才可进一步校准为现场参数价值。
- 现场成本权重、加班成本、替代线能力和交期罚则需业务确认。
- 未 commit、push、merge 或 publish。