Skip to content

Commit 007bcfa

Browse files
authored
Correct quadratic-constraint claims in formulation skill (NVIDIA#1407)
Corrects a stale claim in the concepts-only `cuopt-numerical-optimization-formulation` skill: it stated quadratic constraints are unsupported, but cuOpt supports **convex quadratic constraints** (PSD, inequality) via second-order cones, with non-convex and equality forms still unsupported. Three concepts-level edits (no API symbols): the LP/MILP/QP constraints row, the constraints formulation question, and one line noting duals aren't returned when the model has quadratic constraints. Verified in source (`tests/socp/test_socp.py`, `barrier/translate_soc.hpp`). Follows NVIDIA#1393; companion to NVIDIA#1408 (API dual scope). `validate_skills.sh` passes; generated artifacts regenerate via NVSkills-Eval. Authors: - Cameron Afzal (https://github.com/cafzal) Approvers: - Ramakrishna Prabhu (https://github.com/ramakrishnap-nv) URL: NVIDIA#1407
1 parent a26f3d1 commit 007bcfa

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

  • skills/cuopt-numerical-optimization-formulation

skills/cuopt-numerical-optimization-formulation/SKILL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,22 @@ Concepts and workflow for going from a problem description to a clear formulatio
2828
| Property | LP | MILP | QP |
2929
|---|---|---|---|
3030
| Objective | Linear | Linear | Quadratic (xᵀQx + cᵀx) |
31-
| Constraints | Linear | Linear | Linear (no quadratic constraints) |
31+
| Constraints | Linear | Linear | Linear + convex quadratic (inequality only) via second-order cones |
3232
| Variables | Continuous | Mixed: continuous + integer/binary | Continuous |
3333
| Sense | min or max | min or max | **minimize only** (negate to max) |
34-
| Duals / sensitivity | Shadow prices + reduced costs | **None** (integer optima) | Shadow prices + reduced costs |
34+
| Duals / sensitivity | Dual values + reduced costs | **None** (integer optima) | Dual values + reduced costs |
3535

3636
If the objective is purely linear, prefer LP/MILP — do not artificially introduce quadratic terms. If any variable is integer or binary, the problem is MILP regardless of the rest.
3737

38-
**Post-solve sensitivity (LP / QP only).** Continuous LP and QP solutions expose **dual values** (shadow prices — the marginal objective change per unit a binding constraint is relaxed: *where to invest to improve the outcome*) and **reduced costs** (for a variable the optimizer left at zero, how far it must improve to enter the solution: a *near-miss*). **MILP solutions have no duals** — integer optima are not continuous, so there are none to return. See the language-specific API skills for how to retrieve them after a solve.
38+
**Post-solve sensitivity (LP / QP only).** Continuous LP and QP solutions expose **dual values** (the marginal objective change per unit a binding constraint is relaxed: *where to invest to improve the outcome*) and **reduced costs** (for a variable the optimizer left at zero, how far it must improve to enter the solution: a *near-miss*). **MILP solutions have no duals** — integer optima are not continuous, so there are none to return. Duals are also unavailable when the model includes quadratic constraints — the second-order cone path returns primal values only. See the language-specific API skills for how to retrieve them after a solve.
3939

4040
## Required formulation questions
4141

4242
Ask these if not already clear:
4343

4444
1. **Decision variables** — What are they? Bounds?
4545
2. **Objective** — Minimize or maximize? Linear or quadratic? For QP: any squared or cross terms (x², x·y)? If maximize a quadratic, the user must negate and minimize.
46-
3. **Constraints** — Linear inequalities/equalities? (Quadratic constraints are not supported.)
46+
3. **Constraints** — Linear inequalities/equalities? Convex quadratic constraints (inequality only) are also supported, handled as second-order cones; non-convex or equality quadratic constraints are not.
4747
4. **Variable types** — All continuous (LP / QP) or some integer/binary (MILP)?
4848
5. **Convexity (QP only)** — For minimization, the quadratic form (matrix Q) should be positive semi-definite for well-posed problems.
4949

0 commit comments

Comments
 (0)