К основному содержанию
скилл CX Codex

cuopt-numerical-optimization-api — скилл для Claude Code: LP, MILP

Скилл для работы с решателем NVIDIA cuOpt: помогает собрать задачу линейного, целочисленного или квадратичного программирования и выбрать интерфейс — Python, C или CLI.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add NVIDIA/skills --skill cuopt-numerical-optimization-api -a claude-code
Открыть на GitHub

Что делает cuopt-numerical-optimization-api

Скилл описывает, как моделировать и решать задачи LP, MILP и QP через GPU-ускоренный решатель cuOpt. Он не содержит самого решателя: внутри лежит инструкция и три справочника по интерфейсам — references/python_api.md, references/c_api.md и references/cli_api.md. Агент сначала уточняет, на чём вы пишете, и только потом берётся за код. Если интерфейс неясен, он спросит до того, как что-то напишет.

Отдельная часть посвящена выбору типа задачи. Линейная цель и непрерывные переменные — LP. Линейная цель плюс целые или бинарные переменные — MILP. Квадратичные члены вида x*x или x*y — QP в бете. Правило простое: «сколько штук» — целые, «сколько чего-то» — непрерывные. Для QP есть жёсткое ограничение: решатель принимает только MINIMIZE, поэтому максимизацию придётся переписать через отрицание цели и результата. Целые переменные в QP не поддерживаются, а матрица Q должна быть положительно полуопределённой.

Если модель уже живёт в AMPL, GAMS / GAMSPy, PuLP, JuMP, Pyomo или CVXPY, скилл советует не переносить её на API cuOpt, а подключить cuOpt бэкендом решателя — правок в коде почти не будет. Двойственные переменные доступны только для LP и QP; в MILP их нет, а при квадратичных ограничениях они возвращают NaN. Настройки вроде time_limit и mip_relative_gap задаются по-разному в каждом интерфейсе, синтаксис смотрите в справочнике.

Какие задачи решает

  • выбрать между LP, MILP и QP под конкретную задачу
  • определить, какие переменные делать целыми, а какие непрерывными
  • собрать модель на Python через API cuOpt
  • подключить cuOpt бэкендом к уже готовой модели в Pyomo или CVXPY
  • разобраться, почему QP отклоняет максимизацию

Примеры запросов агенту

  • Реши эту задачу линейного программирования через cuOpt на Python
  • У меня модель в Pyomo — подключи cuOpt как решатель
  • Почему мой QP возвращает неоптимальное решение?

Как установить cuopt-numerical-optimization-api

1Через Skills CLI (Vercel)

npx skills add NVIDIA/skills --skill cuopt-numerical-optimization-api -a claude-code

2Вручную: положить файлы

~/.claude/skills/cuopt-numerical-optimization-api/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/cuopt-numerical-optimization-api/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о cuopt-numerical-optimization-api

Как установить cuopt-numerical-optimization-api в Claude?

Выполните npx skills add NVIDIA/skills --skill cuopt-numerical-optimization-api -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/cuopt-numerical-optimization-api/SKILL.md.

Что делает cuopt-numerical-optimization-api?

Помогает агенту моделировать и решать задачи LP, MILP и QP через решатель NVIDIA cuOpt. Скилл подсказывает, какой интерфейс выбрать, и объясняет ограничения каждого типа задачи.

Можно ли использовать cuOpt с Pyomo или CVXPY?

Да, cuOpt работает бэкендом для AMPL, GAMS / GAMSPy, PuLP, JuMP, Pyomo и CVXPY. В этом случае модель остаётся в привычном инструменте, а решатель просто указывается на cuOpt.

Исходный текст

SKILL.md · Apache-2.0
---
name: cuopt-numerical-optimization-api
version: "26.10.00"
description: 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.
license: Apache-2.0
metadata:
  author: NVIDIA cuOpt Team
  tags:
    - cuopt
    - linear-programming
    - milp
    - qp
    - python
    - c-api
    - cli
---



# 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](references/python_api.md) |
| **C / C++** | User is embedding in a C/C++ application | [references/c_api.md](references/c_api.md) |
| **CLI** | User is solving from MPS files on the command line | [references/cli_api.md](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](https://docs.nvidia.com/cuopt/user-guide/latest/thirdparty_modeling_languages/index.html).

## 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*x` or `x*y` terms (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.

© NVIDIA cuOpt Team · Apache-2.0 · NVIDIA/skills

Похожие скиллы

Всё по теме «ИИ и ML» →
cuopt-user-rules официальный NVIDIA cuOpt Team Скилл задаёт агенту правила, как помогать с NVIDIA cuOpt: маршрутизация, LP, MILP, QP, установка и сервер. CX Codex GP ChatGPT ★ 7 596звёзд репо api-response-optimization aj-geddes Скилл для ИИ-кодинга, который помогает сократить время ответа API: кэширование, сжатие и чистые payload'ы. CX Codex +1 484установок google-analytics-data-api-basics официальный google Скилл подключает работу с отчётными данными Google Analytics через Data API v1beta. Нужен для запросов метрик, измерений и проверки доступа к API. CX Codex 7 364установок gemini-api-dev официальный google-gemini Помогает писать код для Gemini API на Python и TypeScript по актуальным правилам SDK: от вызова моделей до миграции с устаревшего generateContent. CX Codex +1 25 100установок flask-api-development aj-geddes Скилл помогает проектировать REST API на Flask с разделением на блюпринты, базой данных через SQLAlchemy и JWT-авторизацией. Пригодится для сборки микросервисов и валидации входящих запросов. CX Codex +1 1 400установок birdeye-api agiprolabs Скилл помогает получать рыночные данные токенов Solana через API Birdeye: цены, свечи OHLCV, историю сделок и проверки безопасности контрактов. CX Codex +1 444установок

Из того же набора178

jetson-print-device-info Скилл опрашивает плату NVIDIA Jetson и выводит отчёт о модели, версии L4T, ядре, операционной системе и профиле питания перед тестами. CX Codex +1 1 100установок jetson-customize-nvpmodel Скилл редактирует режимы питания nvpmodel на Jetson/Tegra: добавляет и удаляет профили, меняет ограничения частот и режим при загрузке. CX Codex +1 1 100установок jetson-build-source Пересобирает ядро, DTB и OOT-модули Jetson из изменений в bsp_sources/ и пишет манифест для деплоя. CX Codex +1 1 100установок jetson-customize-camera Подключает сенсоры MIPI и GMSL на платах Jetson Thor или Orin через оверлей дерева устройств ядра. Помогает настроить порты CSI, когда v4l2-ctl не видит каналы захвата видео. CX Codex +1 1 100установок nvidia-skill-finder Скилл-роутер: по запросу про NVIDIA находит подходящий скилл в живом каталоге и предлагает поставить. CX Codex +1 838установок deepstream-generate-pipeline Собирает команды gst-launch-1.0 для DeepStream по описанию задачи. Пригодится для инференса, трекинга и вывода видео или изображений. CX Codex +1 771установок deepstream-profile-pipeline Профилирует пайплайны DeepStream через Nsight Systems и подбирает параметры конфигурации по замерам. Пригодится при настройке FPS и поиске узких мест на видеокартах NVIDIA. CX Codex +1 750установок amc-run-video-calibration Прогоняет записанные с нескольких камер MP4 через REST API AutoMagicCalib: создаёт проект, загружает файлы, запускает калибровку и оценку. CX Codex +1 654установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой