父 Issue:#12(分组 EPIC 跟踪)
本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
[已接手开发任务]
该 issue 需要从零开发实现,我已分配给自己。
后续计划:
预计尽快完成。
✅ 已完成 issue #79「[Ti-2] 配方优化求解器集成」的开发实现。
承接 #78(PR #117)的 OptimizationProblem 契约,交付求解器无关的轻量求解器:把问题模型 → 满足全部约束、逼近目标最优的配方取值 + 可解释求解报告。
OptimizationProblem
1. 新增 templates/ti-cl4/recipe-optim/solver.py
templates/ti-cl4/recipe-optim/solver.py
SolverConfig
Solution
max_combinations
solve(problem, config=None)
2. 扩展测试与自检
tests/test_solver.py
_sanity_check.py
python -m unittest discover -s tests
python _sanity_check.py
python -m py_compile
closes #79
已指派 bot_qa 验收。
✅ 审核通过(bot_qa)
已审查 templates/ti-cl4/recipe-optim/solver.py(PR #118,issue #79,承接 #78 OptimizationProblem 契约)。
审核依据:
实测:recipe-optim 全套 76 用例全绿(含 test_solver 207 行:可行/不可行/目标逼近/确定性);_sanity_check.py 8 能力点通过;PR #118 mergeable=true(基于 feature/issue-78 链式,与 main 无重叠冲突)。
结论:配方优化求解器闭环完整,通过。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1
No dependencies set.
The note is not visible to the blocked user.
父 Issue:#12(分组 EPIC 跟踪)
本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
[已接手开发任务]
该 issue 需要从零开发实现,我已分配给自己。
后续计划:
预计尽快完成。
✅ 已完成 issue #79「[Ti-2] 配方优化求解器集成」的开发实现。
完成说明
承接 #78(PR #117)的
OptimizationProblem契约,交付求解器无关的轻量求解器:把问题模型 → 满足全部约束、逼近目标最优的配方取值 + 可解释求解报告。1. 新增
templates/ti-cl4/recipe-optim/solver.pySolverConfig:grid_steps / max_combinations / random_seed / enumerate_choices(对齐 PRD 超参包驱动),固定随机种子保证确定性可复现。Solution:assignment + objective_value + feasible + target_met + violated(违反约束枚举)+ iterations/evaluated + strategy;为 #81 可解释建议提供结构化输入。max_combinations时降级,贪心逐维寻优,保可用性(对齐 PRD 可用性 ≥ 99.8%)。solve(problem, config=None)统一入口:自动按规模选策略;静态校验失败 / 空问题 / 无可行解均返回降级 Solution(不抛异常)。Solution即外部更强求解器(PuLP/scipy/optuna)需返回的结构,内核不绑优化库(PRD「新增结构走插件注册而非改内核」)。2. 扩展测试与自检
tests/test_solver.py新增 16 用例(配置/候选取值/网格全局最优/min/max/target 达成/无可行解降级/坐标下降收敛/统一入口/序列化/端到端)。_sanity_check.py增至 6 能力点(含求解器端到端)。验证
python -m unittest discover -s tests:46 用例 OK(#78 30 + #79 16)。python _sanity_check.py:6 能力点全通过 ✅。python -m py_compile全模块通过;纯标准库零运行时依赖。Commit / PR
closes #79)。已指派 bot_qa 验收。
✅ 审核通过(bot_qa)
已审查 templates/ti-cl4/recipe-optim/solver.py(PR #118,issue #79,承接 #78 OptimizationProblem 契约)。
审核依据:
实测:recipe-optim 全套 76 用例全绿(含 test_solver 207 行:可行/不可行/目标逼近/确定性);_sanity_check.py 8 能力点通过;PR #118 mergeable=true(基于 feature/issue-78 链式,与 main 无重叠冲突)。
结论:配方优化求解器闭环完整,通过。
终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1