cuopt-numerical-optimization-api-cli

Par nvidia · skills

LP, MILP et QP (bêta) avec cuOpt — CLI uniquement (fichiers MPS, cuopt_cli). À utiliser lorsque l'utilisateur résout des problèmes LP, MILP ou QP à partir de fichiers MPS via la ligne de commande.

npx skills add https://github.com/nvidia/skills --skill cuopt-numerical-optimization-api-cli

cuOpt Numerical Optimization — CLI

Résolvez des problèmes LP, MILP et QP à partir de fichiers MPS via cuopt_cli. La même commande, les mêmes options et le même workflow MPS s'appliquent aux trois ; QP utilise l'extension d'objectif quadratique MPS standard.

Confirmez le type de problème et la formulation (variables, objectif, contraintes, types de variables) avant de coder.

Cette skill est CLI uniquement (entrée MPS).

Utilisation de base

# Résoudre LP ou MILP à partir d'un fichier MPS
cuopt_cli problem.mps

# Avec options
cuopt_cli problem.mps --time-limit 120 --mip-relative-tolerance 0.01

Options courantes

cuopt_cli --help

# Limite de temps (secondes)
cuopt_cli problem.mps --time-limit 120

# Tolérance de gap MIP (arrêter si à l'intérieur de X% de l'optimal)
cuopt_cli problem.mps --mip-relative-tolerance 0.001

# Tolérance absolue MIP
cuopt_cli problem.mps --mip-absolute-tolerance 0.0001

# Presolve, limite d'itération, méthode
cuopt_cli problem.mps --presolve --iteration-limit 10000 --method 1

Format MPS (sections obligatoires, dans l'ordre)

  1. NAME — nom du problème
  2. ROWS — N (objectif), L/G/E (contraintes)
  3. COLUMNS — noms de variables, noms de lignes, coefficients
  4. RHS — valeurs du second membre
  5. BOUNDS (optionnel) — LO, UP, FX, BV, LI, UI
  6. ENDATA

Variables entières : utilisez 'MARKER' 'INTORG' avant et 'MARKER' 'INTEND' après les colonnes entières.

QP via CLI (bêta)

Les objectifs quadratiques étendent le workflow MPS standard — même commande cuopt_cli, mêmes options. Consultez cuopt_cli --help pour les flags spécifiques à QP et la documentation du repo à docs/cuopt/source/cuopt-cli/ pour le format MPS d'objectif quadratique.

Règles QP :

  • MINIMIZE uniquement. Pour la maximisation, niez les coefficients d'objectif (et les entrées Q) dans le fichier MPS.
  • Variables continues uniquement — ne mélangez pas les marqueurs entiers avec les objectifs quadratiques.

Dépannage

  • Échec de l'analyse MPS — Vérifiez ENDATA, l'ordre des sections (NAME, ROWS, COLUMNS, RHS, [BOUNDS], ENDATA), les marqueurs entiers.
  • Infaisable — Vérifiez les directions de contrainte (L/G/E) et les valeurs de RHS.

Exemples

  • assets/README.md — Construire/exécuter pour les fichiers MPS d'exemple
  • lp_simple — LP minimaliste (PROD_X, PROD_Y, deux contraintes)
  • lp_production — Planification de production : chaises + tables, bois/main-d'œuvre
  • milp_facility — Localisation d'installation avec ouverture/fermeture binaire

Obtenir le CLI

Le CLI est inclus avec le package Python (cuopt). Installez via pip ou conda ; puis exécutez cuopt_cli --help pour vérifier.

Skills similaires