跳到正文
cccskills
免费在 GitHub 公开

cuopt-numerical-optimization-api

LP, MILP, and QP (beta) with cuOpt — Python, C, and CLI. Use when the user is solving LP, MILP, or QP with any cuOpt interface.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(52)

  • SKILL.md4.8 KB
  • assets/c/lp_basic/lp_simple.c3.6 KB
  • assets/c/lp_basic/README.md466 B
  • assets/c/lp_duals/lp_duals.c4.0 KB
  • assets/c/lp_duals/README.md500 B
  • assets/c/lp_warmstart/README.md289 B
  • assets/c/milp_basic/milp_simple.c3.4 KB
  • assets/c/milp_basic/README.md405 B
  • assets/c/milp_production_planning/milp_production.c3.5 KB
  • assets/c/milp_production_planning/README.md459 B
  • assets/c/mps_solver/data/sample.mps490 B
  • assets/c/mps_solver/mps_solver.c3.4 KB
  • assets/c/mps_solver/README.md590 B
  • assets/c/README.md1.7 KB
  • assets/cli/lp_production/production.mps375 B
  • assets/cli/lp_production/README.md192 B
  • assets/cli/lp_simple/README.md191 B
  • assets/cli/lp_simple/sample.mps490 B
  • assets/cli/milp_facility/facility.mps694 B
  • assets/cli/milp_facility/README.md199 B
  • assets/cli/README.md856 B
  • assets/python/least_squares/model.py831 B
  • assets/python/least_squares/README.md136 B
  • assets/python/lp_basic/model.py1.1 KB
  • assets/python/lp_basic/README.md207 B
  • assets/python/lp_duals/model.py1.2 KB
  • assets/python/lp_duals/README.md227 B
  • assets/python/lp_warmstart/model.py1.8 KB
  • assets/python/lp_warmstart/README.md140 B
  • assets/python/maximization_workaround/model.py736 B
  • assets/python/maximization_workaround/README.md152 B
  • assets/python/milp_basic/incumbent_callback.py1.8 KB
  • assets/python/milp_basic/model.py1.2 KB
  • assets/python/milp_basic/README.md433 B
  • assets/python/milp_production_planning/model.py1.2 KB
  • assets/python/milp_production_planning/README.md165 B
  • assets/python/mps_solver/data/README.md2.0 KB
  • assets/python/mps_solver/data/sample.mps490 B
  • assets/python/mps_solver/model.py8.2 KB
  • assets/python/mps_solver/README.md2.2 KB
  • assets/python/mps_solver/results.md2.5 KB
  • assets/python/portfolio/model.py1.6 KB
  • assets/python/portfolio/README.md232 B
  • assets/python/README.md581 B
  • BENCHMARK.md4.8 KB
  • evals/evals.json13.7 KB
  • references/c_api.md4.7 KB
  • references/cli_api.md5.5 KB
  • references/python_api.md4.7 KB
  • references/qp_examples.md5.7 KB
  • skill-card.md4.3 KB
  • skill.oms.sig15.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

cuOpt Numerical Optimization API

Model and solve LP, MILP, and QP problems using NVIDIA cuOpt's GPU-accelerated solver.

Interface Selection

Choose the reference for the user's interface:

InterfaceWhen to useReference
PythonUser is writing Python codereferences/python_api.md
C / C++User is embedding in a C/C++ applicationreferences/c_api.md
CLIUser is solving from MPS files on the command linereferences/cli_api.md

If the interface is not yet clear, ask before writing any code.

Already using a modeling language? cuOpt also works as a solver backend for third-party modeling tools — AMPL, GAMS / GAMSPy, PuLP, JuMP, Pyomo, and CVXPY — with near-zero code changes (point the model's solver at cuOpt). CVXPY additionally covers convex QP and, in beta, QCQP / SOCP. Prefer this when the user already has a model in one of these tools rather than porting it to the cuOpt API. See Third-Party Modeling Languages.

Choosing LP vs MILP vs QP

Decide from the objective and variables:

If the objective is...And variables are...Use
Linear (sum of c_i * x_i)All continuousLP
LinearSome integer or binaryMILP
Has squared (x*x) or cross (x*y) termsContinuous (integer QP not supported)QP (beta)

Prefer LP when the problem allows it. LP solves faster and has stronger optimality guarantees. Use MILP only when the problem logically requires whole numbers or yes/no decisions. Use QP only when the objective is genuinely quadratic (variance, squared error, kinetic energy).

  • Use LP when every quantity can meaningfully be fractional: flows, proportions, rates, dollars, hours, tonnes of material, etc.
  • Use MILP when the problem mentions counts of discrete entities, yes/no choices, or either/or decisions (e.g. open a facility or not, assign a person to a shift, number of trucks).
  • Use QP when the objective minimizes variance, squared error, or any expression with x*x or x*y terms (portfolio optimization, least squares, regularized regression).

Integer vs Continuous from Wording

Problem wording / conceptVariable typeExamples
Discrete entities (counts)INTEGERWorkers, cars, trucks, machines, pilots, facilities, units to manufacture
Yes/no or on/offINTEGER (binary, lb=0 ub=1)Open a facility, run a machine, assign a person to a shift
Amounts that can be fractionalCONTINUOUSTonnes, litres, dollars, hours, kWh, proportion of capacity
Rates or fractionsCONTINUOUSUtilization, percentage, share of budget

Rule of thumb: "How many things" → INTEGER. "How much" → CONTINUOUS.

QP Rules (all interfaces)

  • MINIMIZE only — the solver rejects MAXIMIZE for quadratic objectives. To maximize f(x), minimize -f(x) and negate the reported objective value.
  • Continuous variables only — integer QP is not supported.
  • Q should be positive semi-definite for a convex, well-posed problem.
  • Beta — API may evolve; treat as production-capable for typical convex QP.

Dual Values

Duals and reduced costs are available for LP and QP only:

  • MILP — no duals (integer optima are not continuous).
  • Quadratic constraints — duals unavailable even for LP/QP; all values return NaN.
  • PDLP warmstart — LP only; MILP solves do not accept a PDLP warmstart.

Common Issues (all interfaces)

ProblemLikely causeFix
InfeasibleConflicting constraintsCheck constraint logic and bounds
UnboundedMissing boundsAdd variable bounds
Slow solveLarge problemSet time limit; increase gap tolerance
QP rejected with MAXIMIZEQP only supports MINIMIZENegate the objective; negate the result
QP returns non-optimalQ not PSD or badly scaledCheck Q is PSD; rescale variables

Solver Settings (concepts)

SettingPurpose
time_limitStop after N seconds
mip_relative_gapStop MILP when within X% of optimal
mip_absolute_toleranceAbsolute MIP gap stop
log_to_consoleEnable solver logging

Syntax varies by interface — see the interface reference file.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Modify, build, test, debug, and contribute to NVIDIA cuOpt (C++/CUDA, Python, server, CI). Use for solver internals, PRs, DCO, and code conventions.

中文简介正在准备中。当前显示原文说明。

NVIDIA/cuopt10652026年10月17日 更新

Install cuOpt for Python, C, or server via pip, conda, or Docker; verify the install. For building cuOpt from source, see cuopt-developer.

中文简介正在准备中。当前显示原文说明。

NVIDIA/cuopt10652026年10月17日 更新

Trace, complete, and interpret the Pareto frontier across competing objectives using repeated single-objective cuOpt solves (weighted-sum and ε-constraint).

中文简介正在准备中。当前显示原文说明。

NVIDIA/cuopt10652026年10月17日 更新

LP, MILP, QP — concepts, problem-text parsing, and formulation patterns (parameters, constraints, decisions, objective). Concepts only; no API.

中文简介正在准备中。当前显示原文说明。

NVIDIA/cuopt10652026年10月17日 更新

Vehicle routing (VRP, TSP, PDP) with cuOpt — Python API only. Use when the user is building or solving routing in Python.

中文简介正在准备中。当前显示原文说明。

NVIDIA/cuopt10652026年10月17日 更新

cuOpt REST server — start server, endpoints, Python/curl client examples. Use when the user is deploying or calling the REST API.

中文简介正在准备中。当前显示原文说明。

NVIDIA/cuopt10652026年10月17日 更新

查看 NVIDIA 的全部技能

报告此技能的问题