Reference
DFP 算法是建立在阻尼牛顿法之上的,由 Davidon 提出,后经 Fletcher 和 Powell 加以发展和完善,因此以三人的姓名的首字母命名,是最早的拟牛顿法
对于阻尼牛顿法的搜索方向
其中,
关于拟牛顿条件详见:拟牛顿迭代法
【算法原理】
假设校正矩阵
采用待定系数法,设
从形式上看,这种待定公式保证了校正矩阵
结合拟牛顿条件
可以发现,括号中的
带回
为使上式成立,直接取最简单情况
这时,校正矩阵
由于近似矩阵
因此,DFP 最终的迭代式为:
【算法流程】
DFP 算法的算法流程如下:
- 给定初值
和精度阈值 ,并令 , - 计算梯度向量
,与搜索方向 - 利用
得到步长 ,并令 , - 若
的梯度向量 的 L1 范数 满足 ,则停止迭代,得近似解 ,否则转至步骤 5 - 计算两次迭代的梯度差
- 计算第
次的近似矩阵 - 令
,转至步骤 2
Be the first person to leave a comment!