質問

問題についてsolve.qpを実行すると、Rから次のエラーが発生します。

Error in solve.QP(sigma, rep(0, 5), t(Amat), bvec, meq = 2) : 
  matrix D in quadratic function is not positive definite!

私のシグママトリックスは対称ですが、明確ではありません。なぜこれが必要なのですか?ラグランジアン関数を使用して自分で解決すれば、解決策を取得することができます。では、なぜRがこの要件を課しているのですか?

役に立ちましたか?

解決

GoldFarb-Idnaniアルゴリズムは、制約のないソリューションを計算することから始まります。したがって、目的関数のマトリックスDが正確であることが必要です。

Fortranソースファイル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.

他のヒント

関数 auglag パッケージで alabama 最適化問題のために、ソリューションでラグランジュ乗数を提供します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top