cuopt-numerical-optimization-api-cli について
NVIDIA cuOptを使い、MPSファイルからLP、MILP、QPを解くCLIスキルです。問題の定式化、コマンドオプション、QPの制約、入力に関する一般的な問題の調査を扱います。
主な機能
- 01MPSからLP、MILP、QPを解く
- 02時間制限とMIP許容差の設定
- 03MPSのセクションとマーカー規則
- 04QP固有の定式化制約への対応
- 05解析エラーと実行不可能性の調査
活用シーン
- 01MPS形式のLPまたはMILPの求解
- 02時間制限やMIPギャップの設定
- 03MPSから連続変数の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 数値最適化 — CLI
cuopt_cli を使用して、MPS ファイルから LP、MILP、QP の問題を解きます。3 種類すべてで、同じコマンド、オプション、MPS ワークフローを使用します。QP では、標準の MPS 二次目的関数拡張を使用します。
コーディングを始める前に、問題の種類と定式化(変数、目的関数、制約、変数の型)を確認してください。
このスキルは CLI 専用(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' を使用します。
CLI での QP(ベータ版)
二次目的関数では標準の MPS ワークフローを拡張します。cuopt_cli コマンドとオプションは同じです。QP 固有のフラグは cuopt_cli --help で確認し、二次目的関数の MPS 形式についてはリポジトリのドキュメント docs/cuopt/source/cuopt-cli/ を参照してください。
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、2 つの制約)
- lp_production — 生産計画:椅子とテーブル、木材/労働力
- milp_facility — 施設配置(開設/閉鎖をバイナリで指定)
CLI の入手方法
CLI は Python パッケージ(cuopt)に含まれています。pip または conda でインストールし、cuopt_cli --help を実行して確認してください。
コメント
Markdown 対応