1

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

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

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

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

真的吗?

我知道我可以用其他函数解决这个问题和类似问题(constrOptim工作正常),但我希望将拉格朗日乘数连接到最大化器。

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

4

1 回答 1

1

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

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

于 2012-10-29T16:52:34.880 回答