# 排产算法 · 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)。