Ti-2 配方动态优化(recipe-optim)
对应 issue #78(问题建模)/ #79(求解器集成)/ #80(跨工序寻优)/ #81(可解释建议)。 PRD §5.3 ②「配方动态优化」:
入:质量目标 + 约束;出:参数/配方建议,二期交付。
本目录沉淀配方优化的声明式模板资产 + 求解器无关的问题建模引擎,跨行业差异落 资产(YAML 模板),引擎零改动(PRD「超参包驱动」「模板化技术路径」)。
模块
problem.py— 优化问题建模(#78):决策变量 / 目标 / 约束的声明式规格 + 校验 + 可行性判定 + 零依赖 YAML 子集加载。config/recipe_optim.template.yaml— Template-Ti 配方优化模板资产。tests/— 单元测试(python -m unittest discover -s tests)。_sanity_check.py— 部署期一键自检(5 能力点)。
设计
- 决策变量
DecisionVariable:bounds(连续区间)/choices(离散枚举), 带meaning/unit/initial,供 #81 可解释建议引用。 - 目标
ObjectiveSpec:线性加权(min/max)+ PRD 超参包target字段。 - 约束
ConstraintSpec:统一描述 box / linear / ratio / forbidden 工艺约束, 每条带reason(工艺依据,对齐 PRD"可解释、可溯源、引用依据")。 - 问题
OptimizationProblem:validate聚合静态校验、is_feasible/violated_constraints做可行性判定,solve留给 #79 注入求解器(求解器无关)。
与上下游的契约
- 下游 #79 求解器:消费
OptimizationProblem,产出满足约束的最优取值。 - 下游 #80 跨工序寻优:复用同一变量/目标/约束模型描述跨工序关联。
- 下游 #81 可解释建议:读
violated_constraints+ 变量meaning+ 约束reason产出"可溯源"建议。
运行
python -m unittest discover -s tests # 单元测试
python _sanity_check.py # 部署期自检
零第三方依赖(纯标准库),与内核既有模块一致,便于离线/隔离网部署。