关于 cuopt-numerical-optimization-api-cli
这是一个使用 NVIDIA cuOpt 从 MPS 文件求解 LP、MILP 和 QP 的命令行技能,涵盖问题建模、命令选项、QP 约束和常见输入问题排查。
主要功能
- 01从 MPS 求解 LP、MILP 和 QP
- 02设置时间限制和 MIP 容差
- 03遵循 MPS 分段及标记规则
- 04应用 QP 特有的建模限制
- 05排查解析错误和不可行问题
适用场景
- 01求解以 MPS 保存的 LP 或 MILP
- 02设置求解时间限制或 MIP 间隙
- 03从 MPS 运行连续变量 QP
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ promptingcompany/ nv-skills --skill cuopt-numerical-optimization-api-cli安装后在 Claude Code 中输入/cuopt-numerical-optimization-api-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdskill-card.mdskill.oms.sigassets/README.mdassets/lp_production/production.mpsREADME.mdassets/lp_simple/README.mdsample.mpsassets/milp_facility/facility.mpsREADME.mdevals/evals.json详细介绍
cuOpt 数值优化 — 命令行
通过 cuopt_cli 从 MPS 文件求解 LP、MILP 和 QP 问题。这三种问题使用相同的命令、选项和 MPS 工作流;QP 使用标准 MPS 二次目标扩展。
编码前,请确认问题类型和公式(变量、目标函数、约束、变量类型)。
此技能仅支持命令行(MPS 输入)。
基本用法
# Solve LP or MILP from MPS file
cuopt_cli problem.mps
# With options
cuopt_cli problem.mps --time-limit 120 --mip-relative-tolerance 0.01
常用选项
cuopt_cli --help
# Time limit (seconds)
cuopt_cli problem.mps --time-limit 120
# MIP gap tolerance (stop when within X% of optimal)
cuopt_cli problem.mps --mip-relative-tolerance 0.001
# MIP absolute tolerance
cuopt_cli problem.mps --mip-absolute-tolerance 0.0001
# Presolve, iteration limit, method
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'。
通过命令行使用 QP(测试版)
二次目标扩展了标准 MPS 工作流——使用相同的 cuopt_cli 命令和选项。请查看 cuopt_cli --help 获取 QP 专用标志,并查看仓库文档 docs/cuopt/source/cuopt-cli/ 了解二次目标的 MPS 格式。
QP 规则:
- 仅支持最小化。 对于最大化,请在 MPS 文件中将目标系数(以及 Q 项)取反。
- 仅支持连续变量 — 请勿将整数标记与二次目标混用。
故障排除
- MPS 解析失败 — 检查 ENDATA、区段顺序(NAME、ROWS、COLUMNS、RHS、[BOUNDS]、ENDATA)和整数标记。
- 不可行 — 检查约束方向(L/G/E)和 RHS 值。
示例
- assets/README.md — 构建/运行示例 MPS 文件
- lp_simple — 最小 LP(PROD_X、PROD_Y,两个约束)
- lp_production — 生产计划:椅子和桌子、木材/劳动力
- milp_facility — 带有二元开/关变量的设施选址
获取 CLI
CLI 随 Python 包(cuopt)提供。通过 pip 或 conda 安装,然后运行 cuopt_cli --help 进行验证。
评论
支持 Markdown