SuperAPI AI 工具集

cuopt-numerical-optimization-api-cli

数据与分析

查看项目

更新于 10-16 07:24

技能介绍

用途:通过命令行从 MPS 文件求解线性规划(LP)、混合整数线性规划(MILP)以及二次规划(QP,beta)。三种问题类型共用同一命令、选项与 MPS 工作流;QP 使用标准 MPS 的二次目标扩展。本技能仅限 CLI(MPS 输入),编写前应先确认问题类型与建模(变量、目标、约束、变量类型)。

主要能力与用法:基本调用为 cuopt_cli problem.mps。常用选项包括 --time-limit(秒)、--mip-relative-tolerance(相对 MIP 间隙)、--mip-absolute-tolerance(绝对间隙)、--presolve、--iteration-limit、--method;完整列表可运行 cuopt_cli --help 查看。

MPS 格式要求按顺序包含必要段:NAME、ROWS(N 表示目标,L/G/E 表示约束)、COLUMNS、RHS、BOUNDS(可选,含 LO、UP、FX、BV、LI、UI)、ENDATA。整数变量需在整数列前后使用 'MARKER' 'INTORG' 与 'MARKER' 'INTEND'。

QP(beta):目标为二次型,命令与选项与前述一致;仅支持最小化,最大化需在 MPS 中对目标系数(含 Q 项)取负;仅支持连续变量,不得与整数标记混用。QP 专用参数与二次目标 MPS 格式需查看 cuopt_cli --help 及仓库文档 docs/cuopt/source/cuopt-cli/。

疑难排查:解析 MPS 失败时检查 ENDATA、段顺序与整数标记;不可行时检查约束方向(L/G/E)与 RHS 值。

获取方式:CLI 随 Python 包 cuopt 提供,可通过 pip 或 conda 安装,安装后运行 cuopt_cli --help 验证。示例 MPS 见 assets/README.md,含 lp_simple、lp_production、milp_facility。