二次规化是非线性规化中的一种特殊情形,其目标函数是二次实函数,约束是线性的。考试中会考到四种方法,分别为:Lagrange方法、起作用集方法、直接消去法和广义消去法。前两种在教材上有详细描述,后面两种出现在PPT上面。本节先介绍最简单的方法:Lagrange方法。
一、Lagrange方法适用情形
Lagrange方法适用于具有等式线性约束的二次规化问题:
min 21xTHx+cTxs.t. Ax=b
二、Lagrange方法推导
首先定义Lagrange函数,将约束式和目标函数进行合成:
L(x,λ)=21xTHx+cTx−λT(Ax−b) 之后令L函数关于
x和
λ的梯度分别为0,即
▽xL(x,λ)=0,
▽λL(x,λ)=0,可以得到:
Hx+c−ATλ=0−Ax+b=0 将
x和
λ视为变量,写成矩阵形式则为:
[H−A−AT0][xλ]=[−c−b] 其中左侧矩阵称为Lagrange矩阵。可以发现,如果两侧同时左乘Lagrange矩阵的逆,则可以直接得到
x和
λ的解,接下来定义逆阵:
[H−A−AT0]T=[Q−R−RTS] 逆阵快速计算方法如下:
Q=H−1−H−1AT(AH−1AT)−1AH−1R=(AH−1AT)−1AH−1S=−(AH−1AT)−1 好吧这个是真的不好记,我的方法如下:先记S,之后以H逆为中心元素左组合右组合,左组合先乘到右边,右组合后乘到左边,最后用H逆减去。
最后根据左乘后的式子进行求解
x和
λ:
[xλ]=[Q−R−RTS][−c−b]
三、Lagrange方法另一种表现形式
之所以提这个是因为起作用集方法中,乘子
λ的解算用到了公式,所以在本节末尾给出。
回顾上面的求解过程会发现,所有的运算都是在二次规划中系数的基础上进行的,通过给定的系数直接解算
x和
λ。考虑如果给定了一个可行点
x(k),则可以按照下面公式直接求解,其本质是上一个求解公式的变形。
x=x(k)−Qgkλ=Rgk 最后的公式在起作用集方法中有重要应用。