运筹学(2)-牛顿法

来源:互联网 发布:淘宝网光威官方旗舰店 编辑:程序博客网 时间:2024/06/17 12:28

运筹学(2)
多维无约束优化算法——梯度法之牛顿法

一. 原理

牛顿法与最速下降法同属于求解多维无约束优化算法的搜索算法,也是梯度法的一种。但与最速下降法最大的不同在于为了避免最速下降法锯齿形的搜索路径在接近最优点时收敛过慢,牛顿法的迭代更新公式在搜索方向得选择策略上与最速下降法是最大的区别。牛顿法的思想就是在每一次迭代中,以一个二次函数来近似表示所要求解的目标函数,搜索迭代方向从迭代的那一点指向二次函数的极值点。并且如果目标函数为二次正定函数,牛顿法一次迭代就可以最优。
(1)搜索方向p的计算
x(k) 处对f(x)用一个二次函数代替得:

f(x)f(x(k))+Δf(x(k))T(xx(k))+12(xx(k))Δ2f(x(k))(xx(k))

又因为上式中的海塞矩阵Δ2f(x(k))为正定矩阵。所以此二次函数的极小点为其驻点。则对上式求导得
x=x(k)Δ2f(x(k))1Δf(xk)

可以得到牛顿法的搜索方向pΔ2f(x(k))1Δf(xk)
(2)牛顿法的搜索步长t取1
则得到牛顿法的迭代更新公式为:x=x(k)Δ2f(x(k))1Δf(xk)

二. 算法步骤

(1). 取初始点x(0),确定终止误差ϵ>0
(2).求Δf(xk),如果Δf(xk)<ϵ,搜索迭代终止,否则继续进行下一步
(3).计算牛顿迭代方向p
(4).求得下一迭代点x=x(k)Δ2f(x(k))1Δf(xk),继续进行第(2)步

三. 例子
用牛顿法求解minf(x)=x21+25x22,选取初始点为(2,2)T,ϵ=106
解:(1)Δf(x0)=(4,100)T
p=(2,2)T
下一迭代点x=x(0)+p=(0,0)T,并且最终满足迭代终止条件,得最优点为x=(0,0)T.

四.优缺点
优点:
(1):相对最速下降法,牛顿法收敛的速度更快。尤其对于目标函数为二次函数,可以经过一次迭代得到最优解,如上例。
缺点:
(1)牛顿法的迭代搜索计算复杂。
(2)对于目标函数为非二次函数,牛顿法并不一定能够很好的收敛。对于离最优解较远的优化也不一定可以很好的收敛。

原创粉丝点击