Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -63% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -33% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -15% | 0% |
Model and solve LP, MILP, and QP problems using NVIDIA cuOpt's GPU-accelerated solver.
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.
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).
x*x or x*y terms (portfolio optimization, least squares, regularized regression).| 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.
f(x), minimize -f(x) and negate the reported objective value.Duals and reduced costs are available for LP and QP only:
NaN.| 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 |
| 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.
Other measured skills in the registry, with their headline benchmark lift.