使用等式约束最小化二次形式

计算科学 优化 矩阵 二次规划
2021-12-04 17:16:47

我想最小化功能:

f(x)=xTAx+bx

给定约束:

Bx=0.

这里:x是一个向量 (xRn),A是一个大小矩阵n×n,b是一个大小的向量nB是一个大小矩阵k×n(我们有k约束)。

没有约束,这个问题是标准优化问题。我也知道我可以将这个问题简化为二次规划(因为Bx=0相当于 Bx0Bx0)。但我希望这个问题能以更简单的方式解决。

3个回答

一开始我还以为尼古拉斯的回答是对的,然后又看了看这个问题。

对于二次规划 (QP),A按照惯例是对称的,并且可以重新表达它,因此不失一般性,假设A是对称的。

如果A也是半正定的,则​​局部最优是全局最优,并且 Nicolas 引用的 KKT 条件对于找到全局最优是必要和充分的,因为这种特殊情况下的约束是线性的。

Nicolas 在以下情况下的回答的反例A是半正定的,可以通过设置来构造b=0, 并设置BA这样的零空间B对应于特征空间A特征值为零。例如,设置

A=[1000],B=[10],

所以问题变得最小化x22这样x1=0. 然后问题有无限数量的最优解(任何有序对,使得x2=0),Nicolas 构造的 KKT 矩阵的形式为

K=[101000100],

在哪里K显然是等级不足的。(琐碎的反例也会出现在B不是满秩。)

如果A不是半正定的,则​​问题不再是凸的。KKT 条件仍然是必要的,但不是充分的。

一般来说,凸情况下的 QP 求解器是高效且稳健的,所以我会为这种情况使用一个库。非凸情况是 NP 难的,但仍然有非常好的求解器可用,例如 CPLEX,它为学术界提供免费许可证。

写拉格朗日算子会产生以下最优条件

Bx=0Ax+b+ATλ=0.

改写为矩阵形式,我们有

[ABTB0]=:K[xλ]=[b0].

如果K是非奇异的,那么你有一个独特的,最优的对(x,λ). 否则二次优化问题是无界的或不可行的。

具有线性等式约束的二次优化问题很容易解决,并且是一个标准问题。Nicolas 已经给出了正确的答案,但我想指出,您会发现每个关于优化的教科书都讨论过这个问题。我最喜欢的是 Nocedal 和 Wright 的“数值优化”。