无约束与约束优化问题的求解方法与实践
1. 无约束优化问题求解
1.1 拟牛顿法概述
传统牛顿法在求解无约束最小化问题时,需要在每次迭代中计算海森矩阵的逆来确定搜索方向。当海森矩阵病态时,搜索方向会不准确,导致迭代过程可能失败。拟牛顿法通过在不同迭代中寻找海森矩阵的近似值来避免直接求逆。具体来说,用正定矩阵 $B(k)$ 代替 $(H(k))^{-1}$,迭代过程通常从 $B(0) = I$($I$ 为 $n×n$ 单位矩阵)开始。常见的拟牛顿法有 Davidon - Fletcher - Powell(DFP)和 Broyden - Flethcher - Goldfarb - Shanno(BFGS)方法。
1.2 BFGS 方法
1.2.1 算法原理
BFGS 方法从海森矩阵的初始近似 $H(0) ≈ 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))$。最后,海森矩阵更新公式为:
$H(k + 1) = H(k) + \frac{y(k)(y(k))^T}{(y(k))^T s(k)} - \frac{H(k)(s(k)(s(k))^T)(H(k))^T}{(s(k))^T H(k)s(k)}$
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



