qp-formulation

Par nvidia · skills

Programmation Quadratique (QP) — forme du problème et contraintes. Concepts du domaine ; pas d'API ni d'interface. La QP est en version bêta.

npx skills add https://github.com/nvidia/skills --skill qp-formulation

Formulation QP

Concepts de domaine pour la programmation quadratique. Aucun détail d'API ou d'interface ici. Le support QP dans cuOpt est actuellement en bêta.

Qu'est-ce que QP

  • Objectif : Quadratique dans les variables (par exemple x², x·y). Exemple : variance de portefeuille xᵀQx.
  • Contraintes : Linéaires uniquement. cuOpt ne supporte pas les contraintes quadratiques.

Règle de domaine importante : minimisation uniquement

Les objectifs QP doivent être une minimisation. Pour maximiser une expression quadratique, négativez-la et minimisez ; puis négativez la valeur optimale.

Questions requises (formulation du problème)

Posez ces questions si ce n'est pas déjà clair :

  1. Objectif — A-t-il des termes au carré ou croisés (x², x·y) ? Si purement linéaire, utilisez LP/MILP à la place.
  2. Minimiser ou maximiser ? — Si maximiser, l'utilisateur doit négativiser l'objectif et minimiser.
  3. Convexité — Pour une minimisation, la forme quadratique (matrice Q) doit être semi-définie positive pour les problèmes bien posés.
  4. Contraintes — Toutes linéaires (pas de contraintes quadratiques) ?

Cas d'usage typiques

  • Optimisation de portefeuille (minimiser la variance sous contrainte de rendement et de budget).
  • Moindres carrés (minimiser ‖Ax − b‖²).
  • Autres objectifs quadratiques avec contraintes linéaires.

Skills similaires