SuperAPI AI 工具集

cuopt-lp-milp-api-cli

数据与分析

查看项目

更新于 10-16 07:24

技能介绍

用途:该技能用于通过命令行求解线性规划(LP)与混合整数线性规划(MILP),仅支持 MPS 文件作为输入,使用 cuopt_cli 命令。编码前应先确认问题类型与建模形式,包括变量、目标、约束及变量类型。

主要能力:支持从 MPS 文件求解 LP 或 MILP,并可配置多种选项。

基本用法: cuopt_cli problem.mps

带选项: cuopt_cli problem.mps --time-limit 120 --mip-relative-tolerance 0.01

常用选项: cuopt_cli --help 时间限制(秒):cuopt_cli problem.mps --time-limit 120 MIP 相对容差(在最优解 X% 内停止):cuopt_cli problem.mps --mip-relative-tolerance 0.001 MIP 绝对容差:cuopt_cli problem.mps --mip-absolute-tolerance 0.0001 预处理、迭代上限、方法:cuopt_cli problem.mps --presolve --iteration-limit 10000 --method 1

MPS 格式要求按顺序包含以下必需部分:NAME(问题名)、ROWS(N 为目标,L/G/E 为约束)、COLUMNS(变量名、行名、系数)、RHS(右端值)、BOUNDS(可选,LO、UP、FX、BV、LI、UI)、ENDATA。整数变量需在整数列前后使用 'MARKER' 'INTORG' 与 'MARKER' 'INTEND'。

示例:assets/README.md 提供示例 MPS 文件的构建与运行说明;lp_simple 为最小 LP(PROD_X、PROD_Y、两个约束);lp_production 为生产计划(椅子与桌子、木材/人力);milp_facility 为带二进制开关的设施选址。

获取 CLI:CLI 随 Python 包(cuopt)提供,可通过 pip 或 conda 安装,然后运行 cuopt_cli --help 验证。

限制与排错:该技能仅限 CLI 与 MPS 输入。解析 MPS 失败时检查 ENDATA、部分顺序(NAME、ROWS、COLUMNS、RHS、[BOUNDS]、ENDATA)及整数标记;不可行时检查约束方向(L/G/E)与 RHS 值。