46 lines
1.1 KiB
Markdown
46 lines
1.1 KiB
Markdown
# 排产算法 · 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)。
|