# Optimization Mode Router

> Choose fast direct-to-cuOpt solve versus replayable or auditable model artifact mode.

- Skill: `nvidia/optimization-mode-router` (Agent Skill)
- Install (CLI): `npx skillmds@latest add nvidia/optimization-mode-router`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nvidia/optimization-mode-router/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: Apache-2.0
- Author: NVIDIA (https://skillmd.com/u/nvidia)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/nvidia/optimization-mode-router

---


# Optimization Mode Router

Use this skill when a user asks a question that may be answered by solving an optimization problem from uploaded or provided data, and you need to decide whether to:

- proceed with a **fast direct-to-cuOpt solve**, or
- offer a **replayable/auditable path** that preserves a structured model artifact for later reruns, review, export, or audit.

This skill is about **mode selection**, not full formulation. Its purpose is to keep the common path fast while surfacing stronger reproducibility only when it is actually useful.

## Read this when

Read this skill when all of the following are true:

1. The user appears to be asking a question that could become an LP, MILP, QP, or routing problem.
2. The user has provided data, or is expected to provide data.
3. You need to decide whether to:
   - go straight to a direct cuOpt solve, or
   - preserve a replayable/auditable artifact as part of the workflow.

## Do not use this skill for

- Pure formulation work after the execution mode has already been chosen.
- Pure cuOpt API usage when the user has already clearly chosen fast vs replayable mode.
- Non-optimization analytics questions.

## Default behavior

- Default to **Fast mode**.
- Default to **direct cuOpt solve** for one-off requests from uploaded CSVs
  (schedule, assignment, allocation, routing) — proceed to
  `cuopt-model-mapper` without asking fast vs replayable unless the user
  signals audit/export/rerun.
- Do **not** ask about replayability/auditability unless there is a real signal that it matters.
- Avoid turning a straightforward optimization request into a heavy upfront questionnaire.
- **NemoClaw sandbox:** Fast mode means cuOpt after `cuopt-sandbox` gates —
  never a custom greedy/heuristic builder as the solve path.

## Two modes

### Fast mode
Use Fast mode when the user appears to want the quickest route to an answer.

Behavior:
- inspect the provided data
- identify whether the request is LP, MILP, QP, or routing
- ask only the minimum necessary clarifying questions
- build the model directly in cuOpt
- solve and explain the result
- do not preserve a replayable model artifact unless requested

### Replayable / Auditable mode
Use this mode when the user wants reuse, traceability, or formal review.

Behavior:
- capture explicit assumptions
- record data-to-model mappings
- preserve a structured model specification or equivalent reusable artifact
- solve with cuOpt
- return both the answer and reusable/reviewable model metadata

## When to ask the mode-selection question

Ask the user to choose between Fast mode and Replayable/Auditable mode if any of the following are true:

1. The user explicitly asks for any of these:
   - save the model
   - rerun on new data
   - replay later
   - recurring or scheduled runs
   - audit trail
   - export the model
   - document assumptions
   - review the formulation
   - show how the data maps into the model

2. The request appears operational or recurring rather than one-off:
   - daily / weekly / monthly planning
   - production workflow
   - repeated scenario analysis
   - future datasets are expected

3. The user indicates a need for traceability or justification:
   - compliance
   - internal or external review
   - reproducibility
   - explicit explanation of assumptions or mappings

## When not to ask

Do **not** ask the mode-selection question when the request is clearly:
- one-off
- exploratory
- ad hoc
- speed-oriented

In those cases, proceed in **Fast mode** unless the user later asks for replayability, audit, export, or model persistence.

## Recommended user-facing phrasing

Preferred short form:

**Should I treat this as a one-off solve, or make it replayable/auditable too?**

Alternative longer form:

**I can do this in two ways: Fast mode for the quickest answer, or Replayable mode that also keeps a structured spec for reruns, audit, and reuse. Which do you want?**

## Decision rule

- If there is **no meaningful signal** for replayability/auditability → use **Fast mode** silently.
- If there **is** a meaningful signal → ask the mode-selection clarifier early.
- If the user chooses replayable/auditable mode → preserve the structured artifact and proceed.
- If the user chooses fast mode → proceed directly to cuOpt.

## Handoff guidance

After selecting a mode, hand off based on problem type:

- If the request is LP / MILP:
  - use `numerical-optimization-formulation`
  - then use `cuopt-numerical-optimization-api-python` (or
    `cuopt-numerical-optimization-api-cli` for MPS inputs)
  - in sandbox contexts, follow `cuopt-sandbox` (gates + selected gRPC path)
    before any LP/MILP solve

- If the request is QP:
  - use `numerical-optimization-formulation`
  - then use `cuopt-numerical-optimization-api-python`
  - in sandbox contexts, follow `cuopt-sandbox` (gates + selected gRPC path)
    before any QP solve

- If the request is routing (VRP / TSP / PDP):
  - use `routing-formulation`
  - then use `cuopt-routing-api-python`
  - in sandbox contexts, follow `cuopt-sandbox` (gates + REST)
    before any routing solve

- If the user is asking about server usage or deployment rather than solving a model directly:
  - use `cuopt-server-common` or `cuopt-server-api-python` as appropriate

- In all cuOpt user tasks:
  - follow `cuopt-user-rules`

## Operational notes

- This skill is about **execution mode selection**, not full mathematical modeling.
- Keep the user experience lightweight by default.
- Prefer direct-to-cuOpt for one-off work.
- Use replayable/auditable mode only when the user’s needs justify the extra structure.

