# 当前接口与迁移

本页对照当前实现说明接口使用方式，不代表历史版本之间的完整发布日志。安装的 wheel 应与所查阅文档版本一致。

## 调整调用方式

| 旧代码或旧假设 | 当前方式 |
| --- | --- |
| 使用 `ModelBuilder` 或独立调度 facade | 使用 `OptModel` 统一声明变量、表达式、约束和目标 |
| 依赖自动切换公开求解入口 | 显式选择 `solve`、`solve_optx`、`solve_cpsat` 或 `solve_mathopt` |
| 仅把 exact 时间限制视为后端运行时间 | CP-SAT / MathOpt 的 `time_limit_s` 覆盖转换、求解与验证等阶段 |
| 超时后继续读取上次求解的值 | 先检查本次 `Solution.feasible`；未验证的结果不发布值 |
| 修改模型后读取旧 `.value` | 完成变更后重新求解 |
| 依赖 replay/trace 旧接口 | 使用当前 `log_level` 与返回结果中的诊断信息 |

## 内核变化对建模的影响

结构化搜索使用声明中的分配、顺序和时间关系生成联合候选，原模型评价仍负责确认候选。业务模型应完整写出实际约束；不要依赖内核修复推断未声明的限制。

有限域 exact 转换扩展了 CP-SAT / MathOpt 可处理的模型范围。模型是否被接受仍取决于具体表达式、变量域、展开规模与所选后端，不能根据“存在集合或区间”简单判断一定支持或不支持。

[从当前示例开始 →](../start/quickstart.md)
