cuopt-numerical-optimization-api
Skill1.1k starsChanged 5 months agoApache-2.0View on GitHub
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.
1 other project uses a version of this, 1 of them edited.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- NVIDIA/skillsedited, first seen Oct 1, 2026
Who's talking about NVIDIA/cuopt
- jump-dev/cuOpt.jl“Support QP interface via MOI”GitHub · Jan 10, 2026 · 4 reactions
- rapidsai/build-planning“Add `zizmor` to all RAPIDS projects and address all warnings”GitHub · Apr 30, 2026 · 3 reactions
- rapidsai/build-planning“Add `shellcheck` across `RAPIDS`”GitHub · Jan 16, 2025 · 3 reactions
- rapidsai/build-planning“use ruff instead of `black` / `flake8` / `isort` across RAPIDS”GitHub · Dec 30, 2024 · 3 reactions
- rapidsai/build-planning“Python 3.14 support”GitHub · Jul 30, 2025 · 2 reactions
The biggest 5 of 45 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 45
Talked about on GitHub (45 times).
On GitHub · 45
- Jan 10, 2026Support QP interface via MOI — jump-dev/cuOpt.jl4 reactions · 15 comments
- Apr 30, 2026Add `zizmor` to all RAPIDS projects and address all warnings — rapidsai/build-planning3 reactions · 9 comments
- Jan 16, 2025Add `shellcheck` across `RAPIDS` — rapidsai/build-planning3 reactions · 13 comments
- Dec 30, 2024use ruff instead of `black` / `flake8` / `isort` across RAPIDS — rapidsai/build-planning3 reactions · 10 comments
- Jul 30, 2025Python 3.14 support — rapidsai/build-planning2 reactions · 17 comments
40 more on GitHub
- Oct 6, 2026Drop Python 3.11 support — rapidsai/build-planning1 reaction
- Jul 23, 2026Add isolated load_library() smoke tests for library wheels — rapidsai/build-planning1 reaction · 1 comment
- Apr 17, 2026Consistent artifact naming across wheels and conda packages — rapidsai/build-planning1 reaction · 3 comments
- Apr 1, 2026install libgrpc-dev into pip devcontainers for cuopt — rapidsai/devcontainers1 reaction · 5 comments
- Dec 16, 2025Add cuOpt to unified devcontainers — rapidsai/devcontainers1 reaction · 5 comments
- Dec 11, 2025Update to CCCL 3.2 — rapidsai/build-planning1 reaction · 2 comments
- Dec 9, 2025Switch RAPIDS to static linking of libcudart by default — rapidsai/build-planning1 reaction
- Aug 5, 2025Add CUDA 13.0 Support across all of RAPIDS — rapidsai/build-planning1 reaction · 12 comments
- Jul 15, 2025Adding GAMSPy transportation model example as Jupyter notebook — NVIDIA/cuopt-examples1 reaction · 2 comments
- Jun 4, 2025integrate cuOpt solver into cvxpy — cvxpy/cvxpy1 reaction · 37 comments
- Feb 11, 2025Use SPDX license tags in pyproject.toml — rapidsai/build-planning1 reaction · 13 comments
- Nov 8, 2026agent-skills.github.nvidia.cuopt: init at 26.10.00 — sudosubin/agents.nix0 reactions
- Nov 1, 2026Bump the python-dependencies group across 1 directory with 3 updates — Amirhosseinheidari/SolverPilot0 reactions
- Oct 28, 2026claude-code-plugins.github.nvidia.cuopt: init at 26.10.00 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-marketplaces.github.nvidia.cuopt: init at 26.10.00 — sudosubin/agents.nix0 reactions
- Oct 25, 2026SAE Engineer: P7A GPU LP solver landscape and isolated compatibility experiment — JohnnyZPiggy/AccelSched0 reactions · 8 comments
- Oct 21, 2026Integrate cuOpt as a GPU UDTF family — algeon-dev/algeon0 reactions
- Oct 18, 2026Exploration: GPU-accelerated MILP (NVIDIA cuOpt) as a solver backend? — UBC-FRESH/fhops0 reactions · 5 comments
- Oct 2, 2026docs: add sphinx-llm for agent docs support to libraries — rapidsai/build-planning0 reactions · 1 comment
- Oct 1, 2026CI: use proxy cache for pypi.anaconda.org — rapidsai/build-planning0 reactions · 2 comments
- Sep 10, 2026Update RAPIDS to CUDA 13.4 — rapidsai/build-planning0 reactions · 3 comments
- Sep 9, 2026Properly leverage pre-commit cache — rapidsai/build-planning0 reactions · 7 comments
- Sep 8, 2026Adding Python 3.15 — rapidsai/build-planning0 reactions · 8 comments
- Aug 29, 2026Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref — rapidsai/build-planning0 reactions · 1 comment
- Aug 21, 2026Skip duals when quadratic constraints are present — jump-dev/cuOpt.jl0 reactions
- Aug 6, 2026wheels: run 'abi3audit' for limited ABI wheels — rapidsai/build-planning0 reactions · 2 comments
- Aug 4, 2026Update rapids-logger pins to 0.3 — rapidsai/build-planning0 reactions · 1 comment
- Aug 3, 2026Migrate constraint generation to `constraints` output type in DFG — rapidsai/build-planning0 reactions · 1 comment
- Jul 31, 2026Fix GB300 failures — rapidsai/build-planning0 reactions · 1 comment
- Jul 20, 2026use `yamllint` for any projects using `rapids-dependency-file-generator` — rapidsai/build-planning0 reactions · 1 comment
- Jul 1, 2026Use NVIDIA theme in library docs — rapidsai/build-planning0 reactions · 3 comments
- Jun 10, 2026cuOpt barrier/PDLP wrong result on a ranged constraint with a large finite bound (worked around; upstream #1806 filed) — spoorendonk/mcfcg0 reactions · 2 comments
- Jun 2, 2026Migrate off of `cuda-python` metapackage to `cuda-bindings` and friends — rapidsai/build-planning0 reactions · 3 comments
- Apr 22, 2026Add support for MOI.ConstraintDual — jump-dev/cuOpt.jl0 reactions · 3 comments
- Apr 13, 2026Add CUDA support — ctlab/virgo-solver0 reactions
- Mar 12, 2026Standardize on `pyproject.toml` for pytest settings — rapidsai/build-planning0 reactions · 1 comment
- Feb 14, 2026Integration with cuopt (open source) — google/or-tools0 reactions · 2 comments
- Oct 29, 2025Bindings for cuOpt solver — PyPSA/linopy0 reactions · 4 comments
- Oct 7, 2025[FEA]: SoL on cub::Transform for custom/zip input and output iterator — NVIDIA/cccl0 reactions · 1 comment
- Sep 23, 2025ensure every repo has fallback CODEOWNERS — rapidsai/build-planning0 reactions
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- NVIDIA/skills★ 3.9k99% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- cuopt-developerSkill
- cuopt-installSkill
- cuopt-multi-objective-explorationSkill
- cuopt-numerical-optimization-formulationSkill
- cuopt-routing-api-pythonSkill
- cuopt-server-api-pythonSkill
- cuopt-skill-evolutionSkill
- cuopt-user-rulesSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 34
If the interface is not yet clear, ask before writing any code.
- Distinctive: line 55
Use LP: when every quantity can meaningfully be fractional: flows, proportions, rates, dollars, hours, tonnes of material, etc.
- Distinctive: line 56
Use MILP: when the problem mentions counts of discrete entities, yes/no choices, or either/or decisions (e.g.
- Very specific: line 57
Use QP: when the objective minimizes variance, squared error, or any expression with x*x or x*y terms (portfolio optimization, least …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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:
| Interface | When to use | Reference |
| Python | User is writing Python code | references/python_api.md |
| C / C++ | User is embedding in a C/C++ application | references/c_api.md |
| CLI | User is solving from MPS files on the command line | references/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 continuous | LP |
| Linear | Some integer or binary | MILP |
Has squared (x*x) or cross (x*y) terms | Continuous (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*xorx*yterms (portfolio optimization, least squares, regularized regression).
Integer vs Continuous from Wording
| Problem wording / concept | Variable type | Examples |
| Discrete entities (counts) | INTEGER | Workers, cars, trucks, machines, pilots, facilities, units to manufacture |
| Yes/no or on/off | INTEGER (binary, lb=0 ub=1) | Open a facility, run a machine, assign a person to a shift |
| Amounts that can be fractional | CONTINUOUS | Tonnes, litres, dollars, hours, kWh, proportion of capacity |
| Rates or fractions | CONTINUOUS | Utilization, 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)
| Problem | Likely cause | Fix |
| Infeasible | Conflicting constraints | Check constraint logic and bounds |
| Unbounded | Missing bounds | Add variable bounds |
| Slow solve | Large problem | Set time limit; increase gap tolerance |
| QP rejected with MAXIMIZE | QP only supports MINIMIZE | Negate the objective; negate the result |
| QP returns non-optimal | Q not PSD or badly scaled | Check Q is PSD; rescale variables |
Solver Settings (concepts)
| Setting | Purpose |
time_limit | Stop after N seconds |
mip_relative_gap | Stop MILP when within X% of optimal |
mip_absolute_tolerance | Absolute MIP gap stop |
log_to_console | Enable solver logging |
Syntax varies by interface — see the interface reference file.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

