cuopt-numerical-optimization-formulation
LP, MILP, QP — concepts, problem-text parsing, and formulation patterns (parameters, constraints, decisions, objective). Concepts only; no API.
Install / Use
npx skills add NVIDIA/skills --skill cuopt-numerical-optimization-formulationInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of cuopt-numerical-optimization-formulation
cuopt-numerical-optimization-formulation scores 93/100 on our quality scale, 590th of 2,125 Automation skills we index (top 28%).
Its SKILL.md is 19 KB long, well organised into 32 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
With 3,421 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 5 days ago, so cuopt-numerical-optimization-formulation is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
cuopt-numerical-optimization-formulation compared with similar skills
All 4 of these similar skills score higher than cuopt-numerical-optimization-formulation; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| cuopt-numerical-optimization-formulation (this skill)by NVIDIA | 93 | 3.4k | 5d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 86.0k | 13d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.0k | today | CLAUDE.md |
| rufloby ruvnet | 100 | 73.4k | today | CLAUDE.md |
| crawl4aiby unclecode | 100 | 84.4k | 3d ago | MCP Server |
Frequently asked questions
- How do I install cuopt-numerical-optimization-formulation?
- Run
npx skills add NVIDIA/skills --skill cuopt-numerical-optimization-formulation. The install tabs above show the steps for each supported agent. - Which AI agents does cuopt-numerical-optimization-formulation work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is cuopt-numerical-optimization-formulation safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is cuopt-numerical-optimization-formulation still maintained?
- The repository was last updated 5 days ago, so cuopt-numerical-optimization-formulation is actively maintained.
Skill content
View source on GitHubname: cuopt-numerical-optimization-formulation version: "26.10.00" description: LP, MILP, QP — concepts, problem-text parsing, and formulation patterns (parameters, constraints, decisions, objective). Concepts only; no API. license: Apache-2.0 metadata: author: NVIDIA cuOpt Team tags: - linear-programming - milp - qp - formulation - concepts
Numerical Optimization Formulation
Concepts and workflow for going from a problem description to a clear formulation across LP, MILP, and QP. No API code here.
What is LP / MILP / QP
- LP: Linear objective, linear constraints, continuous variables.
- MILP: Same as LP plus some integer or binary variables (e.g., scheduling, facility location, selection).
- QP: Quadratic objective (e.g., x², x·y terms — portfolio variance, least squares), linear constraints. QP support in cuOpt is currently in beta.
Identifying problem type
| Property | LP | MILP | QP | |---|---|---|---| | Objective | Linear | Linear | Quadratic (xᵀQx + cᵀx) | | Constraints | Linear | Linear | Linear + convex quadratic (inequality only) via second-order cones | | Variables | Continuous | Mixed: continuous + integer/binary | Continuous | | Sense | min or max | min or max | minimize only (negate to max) | | Duals / sensitivity | Dual values + reduced costs | None (integer optima) | Dual values + reduced costs |
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.
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.
Required formulation questions
Ask these if not already clear:
- Decision variables — What are they? Bounds?
- 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.
- 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.
- Variable types — All continuous (LP / QP) or some integer/binary (MILP)?
- Convexity (QP only) — For minimization, the quadratic form (matrix Q) should be positive semi-definite for well-posed problems.
Typical modeling elements
- Continuous variables — production amounts, flow, allocations, portfolio weights.
- Binary variables — open/close, yes/no (e.g., facility open, item selected).
- Linking constraints — e.g., production only if facility open (Big-M or indicator).
- Resource constraints — linear cap on usage (materials, time, capacity).
- Quadratic objective terms — variance (xᵀQx), squared error (‖Ax − b‖²), interaction terms.
Typical QP use cases
- Portfolio optimization — minimize variance subject to return and budget.
- Least squares — minimize ‖Ax − b‖² subject to linear constraints.
- Other quadratic objectives with linear constraints.
Problem statement parsing
When the user gives problem text, classify every sentence and then summarize before formulating. The parsing framework below applies regardless of LP / MILP / QP.
Classify every sentence as parameter/given, constraint, decision, or objective. Watch for implicit constraints (e.g., committed vs optional phrasing) and implicit objectives (e.g., "determine the plan" + costs → minimize total cost).
Ambiguity: If anything is still ambiguous, ask the user or solve all plausible interpretations and report all outcomes; do not assume a single interpretation.
🔒 MANDATORY: When in Doubt — Ask
- If there is any doubt about whether a constraint or value should be included, ask the user and state the possible interpretations.
🔒 MANDATORY: Complete-Path Runs — Try All Variants
- When the user asks to run the complete path (e.g., end-to-end, full pipeline), run all plausible variants and report all outcomes so the user can choose; do not assume a single interpretation.
Three labels
| Label | Meaning | Examples (sentence type) | |-------|--------|---------------------------| | Parameter / given | Fixed data, inputs, facts. Not chosen by the model. | "Demand is 100 units." "There are 3 factories." "Costs are $5 per unit." | | Constraint | Something that must hold. May be explicit or implicit from phrasing. | "Capacity is 200." "All demand must be met." "At least 2 shifts must be staffed." | | Decision | Something we choose or optimize. | "How much to produce." "Which facilities to open." "How many workers to hire." | | Objective | What to minimize or maximize. May be explicit ("minimize cost") or implicit ("determine the plan" with costs given). | "Minimize total cost." "Determine the production plan" (with costs) → minimize total cost. |
Implicit constraints: committed vs optional phrasing
Committed/fixed phrasing → treat as parameter or implicit constraint (everything mentioned is given or must happen). Not a decision.
| Phrasing | Interpretation | Why | |----------|-----------------|-----| | "Plans to produce X products" | Constraint: all X must be produced. | Commitment; production level is fixed. | | "Operates 3 factories" | Parameter: all 3 are open. Not a location-selection problem. | Current state is fixed. | | "Employs N workers" | Parameter: all N are employed. Not a hiring decision. | Workforce size is given. | | "Has a capacity of C" | Parameter (C) + constraint: usage ≤ C. | Capacity is fixed. | | "Must meet all demand" | Constraint: demand satisfaction. | Explicit requirement. |
Optional/decision phrasing → treat as decision.
| Phrasing | Interpretation | Why | |----------|-----------------|-----| | "May produce up to …" | Decision: how much to produce. | Optional level. | | "Can choose to open" (factories, sites) | Decision: which to open. | Selection is decided. | | "Considers hiring" | Decision: how many to hire. | Hiring is under consideration. | | "Decides how much to order" | Decision: order quantities. | Explicit decision. | | "Wants to minimize/maximize …" | Objective (drives decisions). | Goal; decisions are the levers. |
Implicit objectives — do not miss
If the problem asks to "determine the plan" (or similar) but does not state "minimize" or "maximize" explicitly, the objective is often implicit. You MUST identify it and state it before formulating; do not build a model with no objective.
| Phrasing / context | Likely implicit objective | Why | |-------------------|---------------------------|-----| | "Determine the production plan" + costs given (per unit, per hour, etc.) | Minimize total cost (production + inspection/sales + overtime, etc.) | Plan is chosen; costs are specified → natural goal is to minimize total cost. | | "Determine the plan" + costs and revenues given | Maximize profit (revenue − cost) | Both sides of the ledger → optimize profit. | | "Try to determine the monthly production plan" + workshop hour costs, inspection/sales costs | Minimize total cost | All cost components are given; no revenue to maximize → minimize total cost. |
Rule: When the problem gives cost (or cost and revenue) data and asks to "determine", "find", or "establish" the plan, always state the objective explicitly (e.g., "I'm treating the objective as minimize total cost, since only costs are given."). If both cost and revenue are present, state whether you use "minimize cost" or "maximize profit". Ask the user if unclear.
Parsing workflow
- Split the problem text into sentences or logical clauses.
- Label each: parameter/given | constraint | decision | objective (if stated).
- Identify the objective (explicit or implicit): If the problem says "minimize/maximize X", that's the objective. If it only says "determine the plan" (or "find", "establish") but gives costs (and possibly revenues), the objective is implicit — state it (e.g., minimize total cost, or maximize profit) and confirm with the user if ambiguous.
- Flag implicit constraints: For each sentence, ask — "Does this state a fixed fact or a requirement (→ parameter/constraint), or something we choose (→ decision)?"
- Resolve ambiguity by checking verbs and modals:
- "is", "has", "operates", "employs", "plans to" (fixed/committed) → parameter or implicit constraint.
- "may", "can choose", "considers", "decides", "wants to" (optional) → decision or objective.
- 🔒 MANDATORY — If anything is still ambiguous (e.g., a value or constraint could be read two ways): ask the user which interpretation is correct, or solve all plausible interpretations and report all outcomes. Do not assume a single interpretation.
- Summarize for the user: list parameters, constraints (explicit + flagged implicit), decisions, and objective (explicit or inferred) before writing the math formulation.
Parsing checklist
- [ ] Every sentence has a label (parameter | constraint | decision | objective if stated).
- [ ] Objective is identified: Explicit ("minimize/maximize X") or implicit ("determine the plan" + costs → minimize total cost; + revenues → maximize profit). Never formulate without stating the objective.
- [ ] Committed phrasing ("plans to", "operates", "employs") → not decisions.
- [ ] Optional phrasing ("may", "can choose", "considers") → decisions.
- [ ] Implicit constraints from committed phrasing are written out (e.g., "all X must be produced").
- [ ] 🔒 MANDATORY — Ambiguity: Any phrase that could be read two ways → I asked the user or I will solve all interpretations and report all outcomes (no silent single interpretation).
- [ ] Summary is produced before formulating (parameters, constraints, decisions, objective).
Example
Text: "The company operates 3 factories and plans to produce 500 units. It may use overtime at extra cost. Minimize total cost."
| Sentence / phrase | Label | Note | |-------------------|-------|------| | "Operates 3 factories" | Parameter | All 3 open; not facility selection. | | "Plans to produce 500 units" | Constraint (implicit) | All 500 must be produced. | | "May use overtime at extra cost" | Decision | How much overtime is a decision. | | "Minimize total cost" | Objective | Drives decisions. |
Result: Parameters = 3 factories, 500 units target. Constraints = produce exactly 500 (implicit from "plans to produce"). Decisions = production allocation across factories, overtime amounts. Objective = minimize cost.
Implicit-objective example: A problem that asks to "determine the production plan" (or similar) and gives cost components (e.g., workshop, inspection, sales) but does not state "minimize" or "maximize" → Objective is implicit: minimize total cost. Always state it explicitly: "The objective is to minimize total cost."
QP rule: minimize only
QP objectives must be minimization. To maximize a quadratic expression, negate it and minimize; then negate the optimal value.
For minimization to be well-posed, the quadratic form Q should be positive semi-definite. If Q is indefinite, the problem is non-convex and may not have a finite optimum.
Common patterns
The remaining sections cover
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
86.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.4k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
crawl4ai
84.4kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
