solve.QP exiger D à être symétrique définie positive dans R
Question
Quand je lance solve.QP sur mon problème, je reçois l'erreur suivante de R:
Error in solve.QP(sigma, rep(0, 5), t(Amat), bvec, meq = 2) :
matrix D in quadratic function is not positive definite!
Ma matrice sigma est symétrique mais non définie positive. Pourquoi est-ce nécessaire? Si je résous moi-même en utilisant des fonctions lagrangiennes, je suis en mesure d'obtenir la solution. Alors pourquoi R impose cette exigence?
La solution
L'algorithme Goldfarb-Idnani commence par le calcul de la solution sans contrainte. Ainsi, il faut que la matrice D dans le fonction objective est définie positive.
Extrait de Fortran fichier source solve.QP.f:
c this routine uses the Goldfarb/Idnani algorithm to solve the
c following minimization problem:
c
c minimize -d^T x + 1/2 * x^T D x
c where A1^T x = b1
c A2^T x >= b2
c
c the matrix D is assumed to be positive definite. Especially,
c w.l.o.g. D is assumed to be symmetric.
Autres conseils
La auglag
fonction dans alabama
paquet fournit les multiplicateurs de lagrange à la solution pour tout problème d'optimisation.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow