{"slug":"cuopt-numerical-optimization-api","title":"cuopt-numerical-optimization-api","summary":"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.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-26T16:30:34.69654Z","repo":{"url":"https://github.com/NVIDIA/skills","stars":3445,"forks":416,"license":"Apache-2.0","updatedAt":"2026-09-25T03:14:56Z"},"bodyHtml":"<h1>Assets — reference C examples</h1>\n<p>LP/MILP C API reference implementations. Use as reference when building new applications; do not edit in place. Build requires cuOpt installed (include and lib paths set).</p>\n<table>\n<thead>\n<tr>\n<th>Example</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"lp_basic/\">lp_basic</a></td>\n<td>LP</td>\n<td>Simple LP: create problem, solve, get solution</td>\n</tr>\n<tr>\n<td><a href=\"lp_duals/\">lp_duals</a></td>\n<td>LP</td>\n<td>Dual values and reduced costs</td>\n</tr>\n<tr>\n<td><a href=\"lp_warmstart/\">lp_warmstart</a></td>\n<td>LP</td>\n<td>PDLP warmstart (see README)</td>\n</tr>\n<tr>\n<td><a href=\"milp_basic/\">milp_basic</a></td>\n<td>MILP</td>\n<td>Simple MILP with integer variable</td>\n</tr>\n<tr>\n<td><a href=\"milp_production_planning/\">milp_production_planning</a></td>\n<td>MILP</td>\n<td>Production planning with resource constraints</td>\n</tr>\n<tr>\n<td><a href=\"mps_solver/\">mps_solver</a></td>\n<td>LP/MILP</td>\n<td>Solve from MPS file via <code>cuOptReadProblem</code></td>\n</tr>\n</tbody>\n</table>\n<h2>Build and run</h2>\n<p>Set include and library paths, then build and run.</p>\n<p><strong>Using conda:</strong> Activate your cuOpt env first (<code>conda activate cuopt</code>), then:</p>\n<pre><code># Paths from active conda env (CONDA_PREFIX is set when env is activated)\nexport INCLUDE_PATH=\"${CONDA_PREFIX}/include\"\nexport LIB_PATH=\"${CONDA_PREFIX}/lib\"\nexport LD_LIBRARY_PATH=\"${LIB_PATH}:${LD_LIBRARY_PATH}\"\n\n# Build and run (from this assets/ directory) — example: lp_basic\ngcc -I\"${INCLUDE_PATH}\" -L\"${LIB_PATH}\" -o lp_basic/lp_simple lp_basic/lp_simple.c -lcuopt\n./lp_basic/lp_simple\n</code></pre>\n<p>For the other examples, use the same pattern (e.g. <code>lp_duals/lp_duals.c</code> → <code>lp_duals/lp_duals</code>). <code>mps_solver</code> takes an MPS file path: <code>./mps_solver mps_solver/data/sample.mps</code>.</p>\n<p>Without conda, set <code>INCLUDE_PATH</code> and <code>LIB_PATH</code> to your cuOpt include and lib directories, then use the same <code>gcc</code> and <code>LD_LIBRARY_PATH</code> as above. Each subdirectory README has a one-line build/run for that example.</p>\n","files":[{"path":"assets/cli/lp_production/production.mps","sizeBytes":375,"isText":false},{"path":"assets/cli/lp_production/README.md","sizeBytes":192,"isText":true},{"path":"assets/cli/lp_simple/README.md","sizeBytes":191,"isText":true},{"path":"assets/cli/lp_simple/sample.mps","sizeBytes":490,"isText":false},{"path":"assets/cli/milp_facility/facility.mps","sizeBytes":694,"isText":false},{"path":"assets/cli/milp_facility/README.md","sizeBytes":199,"isText":true},{"path":"assets/cli/README.md","sizeBytes":856,"isText":true},{"path":"assets/c/lp_basic/lp_simple.c","sizeBytes":3705,"isText":false},{"path":"assets/c/lp_basic/README.md","sizeBytes":466,"isText":true},{"path":"assets/c/lp_duals/lp_duals.c","sizeBytes":4060,"isText":false},{"path":"assets/c/lp_duals/README.md","sizeBytes":500,"isText":true},{"path":"assets/c/lp_warmstart/README.md","sizeBytes":289,"isText":true},{"path":"assets/c/milp_basic/milp_simple.c","sizeBytes":3463,"isText":false},{"path":"assets/c/milp_basic/README.md","sizeBytes":405,"isText":true},{"path":"assets/c/milp_production_planning/milp_production.c","sizeBytes":3546,"isText":false},{"path":"assets/c/milp_production_planning/README.md","sizeBytes":459,"isText":true},{"path":"assets/c/mps_solver/data/sample.mps","sizeBytes":490,"isText":false},{"path":"assets/c/mps_solver/mps_solver.c","sizeBytes":3493,"isText":false},{"path":"assets/c/mps_solver/README.md","sizeBytes":590,"isText":true},{"path":"assets/c/README.md","sizeBytes":1712,"isText":true},{"path":"assets/python/least_squares/model.py","sizeBytes":831,"isText":true},{"path":"assets/python/least_squares/README.md","sizeBytes":136,"isText":true},{"path":"assets/python/lp_basic/model.py","sizeBytes":1122,"isText":true},{"path":"assets/python/lp_basic/README.md","sizeBytes":207,"isText":true},{"path":"assets/python/lp_duals/model.py","sizeBytes":1213,"isText":true},{"path":"assets/python/lp_duals/README.md","sizeBytes":227,"isText":true},{"path":"assets/python/lp_warmstart/model.py","sizeBytes":1860,"isText":true},{"path":"assets/python/lp_warmstart/README.md","sizeBytes":140,"isText":true},{"path":"assets/python/maximization_workaround/model.py","sizeBytes":736,"isText":true},{"path":"assets/python/maximization_workaround/README.md","sizeBytes":152,"isText":true},{"path":"assets/python/milp_basic/incumbent_callback.py","sizeBytes":1857,"isText":true},{"path":"assets/python/milp_basic/model.py","sizeBytes":1184,"isText":true},{"path":"assets/python/milp_basic/README.md","sizeBytes":433,"isText":true},{"path":"assets/python/milp_production_planning/model.py","sizeBytes":1235,"isText":true},{"path":"assets/python/milp_production_planning/README.md","sizeBytes":165,"isText":true},{"path":"assets/python/mps_solver/data/README.md","sizeBytes":2025,"isText":true},{"path":"assets/python/mps_solver/data/sample.mps","sizeBytes":490,"isText":false},{"path":"assets/python/mps_solver/model.py","sizeBytes":8409,"isText":true},{"path":"assets/python/mps_solver/README.md","sizeBytes":2248,"isText":true},{"path":"assets/python/mps_solver/results.md","sizeBytes":2521,"isText":true},{"path":"assets/python/portfolio/model.py","sizeBytes":1610,"isText":true},{"path":"assets/python/portfolio/README.md","sizeBytes":232,"isText":true},{"path":"assets/python/README.md","sizeBytes":581,"isText":true},{"path":"BENCHMARK.md","sizeBytes":4936,"isText":true},{"path":"evals/evals.json","sizeBytes":13978,"isText":true},{"path":"references/c_api.md","sizeBytes":4811,"isText":true},{"path":"references/cli_api.md","sizeBytes":5621,"isText":true},{"path":"references/python_api.md","sizeBytes":4789,"isText":true},{"path":"references/qp_examples.md","sizeBytes":5800,"isText":true},{"path":"skill-card.md","sizeBytes":4359,"isText":true},{"path":"SKILL.md","sizeBytes":4947,"isText":true},{"path":"skill.oms.sig","sizeBytes":16285,"isText":false}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-26T16:31:13.795164Z","sha256":"5E906BF018CFA44A25FEE5772C87DBEB3C7EDCB2CE7DE60059CA5D9C3F94565A","sizeBytes":54843},"review":null,"source":{"repositoryUrl":"https://github.com/NVIDIA/skills","path":"skills/cuopt-numerical-optimization-api","license":"Apache-2.0","commit":"d8519c57da6db5d9bea274ec1724a4a7a56a3dee","subtreeSha":"81D2543E7C5191187E49618EA30E7A50239516C6509B2BE75441487C864401CD","lastSyncedAt":"2026-09-26T16:30:30.547995Z"},"reviewedAt":"2026-09-26T16:32:27.604034Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/NVIDIA/skills/tree/main/skills/cuopt-numerical-optimization-api"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install nvidia-skills@llmmart"},{"target":"git","command":"git clone https://github.com/NVIDIA/skills.git"}]}