DFP算法

设 $f(x)$ 是一个已知的函数, 现在我们要去求它的一个极小点

定义两个符号 $\Delta x_k = x_{k+1} – x_k$, $\Delta g_k = g_{k+1}- g_{k}$, 其中 $g_k = \nabla f(x_k)$

  1. 取 $H= I$, $d_0 = – \nabla f(x_0)$, 利用精确线搜索确定 $x_1$, 计算 $g_1 = \nabla f(x_1)$
  2. 计算新的 $H$ $$H := H + \frac{\Delta x_0 \Delta x_0^T}{\Delta x_0 \cdot \Delta g_0} -\frac{H \Delta g_0 (H \Delta g_0)^T}{\Delta g_0^T H \Delta g_0}$$
  3. $d_1 = -H g_1$

DFP算法的一些性质:

若 $x_k$ 不是极小点, $H_k$ 正定, 则 $\Delta x_k \cdot \Delta g_k >0$

0 Shares:
发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

You May Also Like