solve.QP不能最大化正定二次函数

时间:2012-10-29 16:42:04

标签: r optimization quadratic

我有一个非常简单的二次问题,原则上应该可以通过solve.QP(quadprog)来解决:

max x^2+3*y^2 subject to x>=0, y>=0, x+y <=1

问题在于将最大化转化为所需的最小化,矩阵(显然)变为负定。这不是与小特征值或舍入有关的问题。

我认为解决问题.QP是一个普通求解器,但是尽管我努力阅读在线资料,看起来好像你不能使用solve.QP在紧致域(由线性约束定义)上最大化正定二次形式。

这是真的吗?

我知道我可以解决这个问题以及与其他函数类似的问题(constrOptim工作正常),但我很乐意将拉格朗日乘数附加到最大化器上。

你能否提出任何解决上述问题的方法(非常有效)solve.QP,克服与正定义相关的不对称限制?

1 个答案:

答案 0 :(得分:1)

您想在凸域上找到凸函数的最大值。凸函数在其域的内部点中不能具有最大值,因此使用拉格朗日乘数的方法不能应用于该问题。

在您的情况下,域是紧凑多边形,因此在其中一个顶点中假定最大值。这是一个微不足道的检查。