mcpField
C
cuopt-numerical-optimization-api-cli

cuopt-numerical-optimization-api-cli

github.com/promptingcompany数据与数据库039 次安装17 周前更新
代码仓库

关于 cuopt-numerical-optimization-api-cli

这是一个使用 NVIDIA cuOpt 从 MPS 文件求解 LP、MILP 和 QP 的命令行技能,涵盖问题建模、命令选项、QP 约束和常见输入问题排查。

主要功能

  1. 01从 MPS 求解 LP、MILP 和 QP
  2. 02设置时间限制和 MIP 容差
  3. 03遵循 MPS 分段及标记规则
  4. 04应用 QP 特有的建模限制
  5. 05排查解析错误和不可行问题

适用场景

  1. 01求解以 MPS 保存的 LP 或 MILP
  2. 02设置求解时间限制或 MIP 间隙
  3. 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.md
skill-card.md
skill.oms.sig
assets/
README.md
assets/lp_production/
production.mps
README.md
assets/lp_simple/
README.md
sample.mps
assets/milp_facility/
facility.mps
README.md
evals/
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 格式(必需的区段,按顺序排列)

  1. NAME — 问题名称
  2. ROWS — N(目标函数)、L/G/E(约束)
  3. COLUMNS — 变量名称、行名称、系数
  4. RHS — 右端值
  5. BOUNDS(可选)— LO、UP、FX、BV、LI、UI
  6. 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 值。

示例

获取 CLI

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

评论

支持 Markdown