solv.QP 要求 D 在 R 中是对称正定的
当我对问题运行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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Goldfarb-Idnani 算法首先计算
无约束解。因此,要求矩阵D
目标函数是正定的。
摘自 Fortran 源文件solve.QP.f:
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:
alabama
包中的函数auglag
为任何优化问题的解提供了拉格朗日乘子。The function
auglag
in packagealabama
provides the lagrange multipliers at the solution for any optimization problem.