aps-agent/docs/algorithm/scheduling-cp-v1.md

46 lines
1.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.

# 排产算法 · CP-SAT / HYBRID v1(SC-03)
> 代码:`server/engines/cp_engine.py`
> 测试:`tests/golden/test_cp_engine.py`
> 工厂:`get_engine("CP"|"HYBRID")`
---
## 1. 范围
| 引擎 | 管线 |
| --- | --- |
| CP | CP-SAT 产线分配+排序 → 班次占槽 |
| HYBRID | RULE 策略序/选线 hint → CP-SAT 改良 → 班次占槽 |
诚实留痕:`engineType` + `solverMeta`(backend / pipeline / warmStart / status / gap / wallTimeSec)。
---
## 2. 模型摘要
- 决策:每订单恰好一条可行产线
- 区间:订单在所选产线上的连续工时估算
- 约束:同产线 `AddNoOverlap`
- 目标:加权延期最小化
- HYBRID:`AddHint` 仅注入 RULE 选线;有 hint 时单线程求解(避免多 worker + hint 不稳定)
---
## 3. 降级策略
| 场景 | CP | HYBRID |
| --- | --- | --- |
| 缺 ortools | `ENGINE_UNAVAILABLE` 空版本 | `DEGRADED_RULE` 物化 RULE 序 |
| 求解无可行解 | 保留启发式序 | 保留 warm 强制线 |
---
## 4. 未做
- 工序级 Interval / Cumulative / 换型矩阵进 CP
- LNS 大邻域
- GA / NSGA-II
见 [roadmap.md](./roadmap.md)。