cuopt-lp-milp-api-cli

Par nvidia · skills

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

npx skills add https://github.com/nvidia/skills --skill cuopt-lp-milp-api-cli

cuOpt LP/MILP — CLI

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 basique

# 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 écart MIP (arrêter quand à 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érations, 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 de droite
  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.

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 RHS.

Exemples

  • assets/README.md — Build/run pour fichiers MPS d'exemple
  • lp_simple — LP minimal (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