cuOpt Numerical Optimization API
Guide agents through GPU-accelerated LP, MILP, and QP modeling with cuOpt
The skill is scoped to cuOpt LP/MILP/QP modeling and solving, asks for clarification when the interface is unclear, and shows no credential access, exfiltration, destructive defaults, or excessive permissions. It does not document sensitive-data handling, dependency security, solver data flows, user confirmation, rollback, or result-risk controls, so 7 points are deducted.
The document gives interface routing, problem classification, QP constraints, common issues, and some C build examples, with limited diagnostic guidance for failures. However, the referenced Python/C/CLI references are not supplied, no key-path tests for this skill are shown, and the QP beta/production-capable wording is potentially unsafe. Under the static ceiling and with these gaps, it receives 8.
Audience and activation conditions are relatively clear, covering Python, C/C++, CLI, and LP/MILP/QP, with boundaries such as unsupported integer QP stated. Non-fit ranges, input/output contracts, compatibility, Chinese support, and mainland-China reachability are insufficiently documented; core documentation links depend on NVIDIA-hosted overseas pages, so 5 points are deducted.
The skill has a version, name, tags, Apache-2.0 license metadata, interface routing, troubleshooting guidance, and C assets. It lacks the recommended Instructions and Examples sections; the author format fails the stated schema finding; and there is no changelog, explicit maintenance/update path, complete installation dependency note, or visible Python/CLI examples. Seven points are deducted.
The stated goal is to guide users through LP/MILP/QP solving, and the classification rules, settings, and C assets provide potentially usable guidance. The included benchmark reports a pass across 9 tasks with correctness, discoverability, and effectiveness metrics, but it lacks reproducible task outputs, while the Python/C/CLI reference contents are unavailable here. Direct completeness and usability therefore remain uncertain, yielding 6 under static calibration.
Versioned source, C example assets, repository CI, and an attached benchmark summary provide limited audit evidence. The skill has no committed key-path test suite, and the benchmark is only a summary without task details or independent reproduction artifacts, so it does not meet the stronger corroboration threshold and receives 4.
- This is a static review only; installation, compilation, solving, and the benchmark were not executed. The referenced Python/C/CLI materials and key-path tests should be supplied and reviewed before publication.
- QP is labeled beta while also described as production-capable for typical convex QP; compatibility, stability, and supported-use limits should be clarified.
- Users must confirm cuOpt, GPU availability, library paths, and documentation reachability in the target environment; no Chinese-language guidance or mainland-China reachability guarantee is provided.
- Results may be affected by infeasibility, unboundedness, numerical scaling, time limits, and MIP gaps; the skill guidance does not replace independent model and solution validation.
What does this skill do, and when should you use it?
This skill guides AI agents in using NVIDIA cuOpt for linear programming (LP), mixed-integer linear programming (MILP), and beta quadratic programming (QP). It selects guidance for Python, C/C++, or command-line workflows and helps classify the problem and variable types. It also covers using cuOpt as a solver backend for AMPL, GAMS/GAMSPy, PuLP, JuMP, Pyomo, and CVXPY. Version 26.08.00 is published by the NVIDIA cuOpt Team under Apache-2.0.
Selects a Python, C/C++, or CLI reference based on the user's interface; classifies LP, MILP, and QP from the objective and variable types; maps wording such as counts, on/off choices, proportions, and rates to integer, binary, or continuous variables; explains QP restrictions including minimization only, continuous variables, and positive-semidefinite Q; documents availability limits for dual values, reduced costs, and PDLP warmstarts; diagnoses infeasibility, unboundedness, slow solves, rejected QP maximization, and poor QP scaling; and introduces time_limit, mip_relative_gap, mip_absolute_tolerance, and log_to_console settings.
- A Python developer building and solving an LP or MILP with cuOpt.||||A systems engineer embedding cuOpt in a C or C++ application and needing interface-specific guidance.
- A user with MPS files who wants to solve from the command line.
- A team with an existing AMPL, GAMS/GAMSPy, PuLP, JuMP, Pyomo, or CVXPY model that wants cuOpt as the backend instead of porting the model.
- A user modeling portfolio variance, least squares, or regularized regression who needs to check whether the problem fits cuOpt's continuous QP rules.
What are this skill's strengths and limitations?
- Covers LP, MILP, and beta QP with explicit problem-selection and variable-type rules.
- Provides guidance for Python, C/C++, and CLI interfaces.
- Includes troubleshooting guidance for infeasibility, unboundedness, performance, and QP numerical issues.
- Supports a documented backend path for several third-party modeling languages.
- QP is beta, supports minimization only and continuous variables, and requires a positive-semidefinite Q for a convex, well-posed problem.
- MILP has no dual values; duals are also unavailable with quadratic constraints.
- The supplied material documents guidance and references but does not include concrete API code, cuOpt installation instructions, or test results.
- The CLI workflow assumes MPS files, but the source does not explain how to create them.
How do you install this skill?
Install the individual skill from the NVIDIA/skills collection with the skills CLI:
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --yes
You can target Codex explicitly:
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent codex
The supplied source does not document cuOpt installation, version requirements, or hardware requirements.
How do you use this skill?
After installation, state the interface and optimization task in the request, for example: “Use the cuOpt Python API to build and solve a production-planning MILP with integer variables.” If the interface is unclear, the skill directs the agent to ask first. If an AMPL, GAMS/GAMSPy, PuLP, JuMP, Pyomo, or CVXPY model already exists, identify that tool so cuOpt can be considered as its solver backend.
How does this skill compare with similar options?
For users already working in AMPL, GAMS/GAMSPy, PuLP, JuMP, Pyomo, or CVXPY, the source explicitly recommends using cuOpt as the solver backend to minimize code changes. Otherwise, users can follow the cuOpt Python, C/C++, or CLI interface guidance.