无约束与约束优化问题的求解方法
1. 拟牛顿法
1.1 纯牛顿法的问题
纯牛顿法在求解无约束最小化问题时,需要在第 $k$ 次迭代中计算海森矩阵的逆来确定搜索方向 $p(k)$。当海森矩阵病态时,得到的搜索方向会不准确,迭代过程可能失败。
1.2 拟牛顿法的基本思想
拟牛顿法不直接求海森矩阵的逆,而是在不同迭代中寻找海森矩阵的近似。用正定矩阵 $B(k)$ 代替 $(H(k))^{-1}$,第 $k$ 次迭代的搜索方向为 $p(k) = -B(k)g(k)$,通常从 $B(0) = I$($I$ 是 $n×n$ 的单位矩阵)开始。不同的拟牛顿法在更新矩阵 $B(k)$ 的方式上有所不同,从而计算搜索方向。最著名的拟牛顿法有 Davidon - Fletcher - Powell(DFP)和 Broyden - Flethcher - Goldfarb - Shanno(BFGS)方法。
1.3 BFGS 方法
1.3.1 算法步骤
- 初始近似海森矩阵 $H(0) \approx I$。
- 在第 $k$ 次迭代,已知 $x(k)$、$g(k) = g(x(k))$ 和 $H(k)$:
- 求解线性系统 $H(k)p(k) = -g(k)$ 得到搜索方向 $p(k)$。
- 通过线搜索算法得到步长 $\alpha(k)$。
- 计算两个向量:$s(k) = \alpha(k)p(k)$ 和 $y(k) = g(x(k) + s(k)) - g(x(k))$。