API 概览¶
各接口的 CP-SAT、HiGHS 限制见求解器支持矩阵;方法详情中的标签区分支持、条件支持和不支持。
从 optagent 导入公开模型与求解入口。按使用目的查阅接口:
| 目的 | 接口 | 参考 |
|---|---|---|
| 创建模型、变量与约束 | OptModel |
建模接口 |
| 保存模型,读取 protobuf / MPS / LP 文件 | model.save、read_model |
模型文件 |
| 组合并读取表达式 | Expression、IntervalExpression |
建模接口 |
| 注册外部计算 | ExternalFunction |
建模接口 |
| 混合求解、独立启发式求解或精确求解 | solve、solve_heuristic、solve_optx |
求解与配置 |
| 暂停、改解与续跑 | interactive_solve、SolveSession |
交互式求解 |
| 读取返回结果 | Solution |
结果与诊断 |
三个入口都可写为模型方法或模块函数,例如 model.solve_optx(config=...) 与 solve_optx(model, config=...)。
solve 和 solve_heuristic 的通用参数直接按名称传入;solve_optx 通过 HighsConfig 或 CpSatConfig 选择内置后端。旧接口的替换方式见迁移说明。
类型与算子¶
OptType 描述表达式值类型,Operator 标识表达式操作,OptValue 表达带类型的值。通常直接使用模型工厂方法和 Python 运算符创建表达式,无需手动构造底层表示。
异常¶
| 异常 | 含义与处理 |
|---|---|
OptxUnsupportedError |
OptX 无法编译模型;读取 .issues 定位不兼容表达式 |
OptxCompatibilityIssue |
问题包含 code、expression_id、operator、root_kind、root_name、message、requirement、expression_path、backend |
HeuristicUnsupportedError |
选定的 GA 搜索方案不适用于当前模型;查看 .search_definition 和 .diagnostics |
LicenseError |
许可证校验失败;检查许可证状态 |
ValueError |
变量范围、配置或调用方式无效 |
RuntimeError |
求解组件不可用、执行失败,或表达式没有可读取的值 |