solv.QP 要求 D 在 R 中是对称正定的

发布于 2024-09-15 02:39:59 字数 262 浏览 12 评论 0原文

当我对问题运行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为什么要提出这样的要求呢?

When I run solve.QP on my problem, I get the following error from R:

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

My sigma matrix is symmetric but is not positive definite. Why is this needed? If I solve it myself using Lagrangian functions, I am able to get the solution. Then why is R imposing this requirement?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小嗷兮 2024-09-22 02:39:59

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.

The Goldfarb-Idnani algorithm starts off by calculating the
unconstrained solution. Thus, it requires that the matrix D in the
objective function is positive definite.

Excerpt from Fortran source file 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.
旧情别恋 2024-09-22 02:39:59

alabama 包中的函数 auglag 为任何优化问题的解提供了拉格朗日乘子。

The function auglag in package alabama provides the lagrange multipliers at the solution for any optimization problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文