Files
iAOP/templates/ti-cl4/recipe-optim/README.md
T

42 lines
2.1 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.
# 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 能力点)。
## 设计
1. **决策变量 `DecisionVariable`**:`bounds`(连续区间)/`choices`(离散枚举),
带 `meaning`/`unit`/`initial`,供 #81 可解释建议引用。
2. **目标 `ObjectiveSpec`**:线性加权(min/max)+ PRD 超参包 `target` 字段。
3. **约束 `ConstraintSpec`**:统一描述 box / linear / ratio / forbidden 工艺约束,
每条带 `reason`(工艺依据,对齐 PRD"可解释、可溯源、引用依据")。
4. **问题 `OptimizationProblem`**:`validate` 聚合静态校验、`is_feasible` /
`violated_constraints` 做可行性判定,`solve` 留给 #79 注入求解器(求解器无关)。
## 与上下游的契约
- 下游 #79 求解器:消费 `OptimizationProblem`,产出满足约束的最优取值。
- 下游 #80 跨工序寻优:复用同一变量/目标/约束模型描述跨工序关联。
- 下游 #81 可解释建议:读 `violated_constraints` + 变量 `meaning` + 约束 `reason`
产出"可溯源"建议。
## 运行
```bash
python -m unittest discover -s tests # 单元测试
python _sanity_check.py # 部署期自检
```
零第三方依赖(纯标准库),与内核既有模块一致,便于离线/隔离网部署。