1.1 KiB
1.1 KiB
排产算法 · 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。