正在加载图片...
f0, g1, g2]=nwfun(x) end x fO 如果目标函数是非二次函数,一般地说,用 Newton法通过有限轮迭代并不能保证 可求得其最优解。 为了提高计算精度,我们在迭代时可以采用变步长计算上述问题,编写主程序文件 example52如下: clc, clea x=[2;2] [fo, g1, g2]=nwfun(x) while norm(g1)>0.00001 p=-inv(g2)*gl; p=p/norm(p)i t=l0; f=nwfun(x+t*p) while f>fo t=t/2; f=nwfun(x+t*p)i [fo, gl, g2]=nwfun(x) end x,fO Newton法的优点是收敛速度快;缺点是有时不好用而需采取改进措施,此外,当 维数较高时,计算-V2f(x*)]的工作量很大。 231.3变尺度法 变尺度法( Variable Metric Algorithm)是近20多年来发展起来的,它不仅是求解 无约束极值问题非常有效的算法,而且也已被推广用来求解约束极值问题。由于它既避 免了计算二阶导数矩阵及其求逆过程,又比梯度法的收敛速度快,特别是对高维问题具 有显著的优越性,因而使变尺度法获得了很高的声誉。下面我们就来简要地介绍一种变 尺度法一DFP法的基本原理及其计算过程。这一方法首先由 Davidon在1959年提出, 后经 Fletcher和 Powell加以改进。 我们已经知道,牛顿法的搜索方向是-[v2f(x)Vf(x*),为了不计算二阶 导数矩阵[V2f(x)及其逆阵,我们设法构造另一个矩阵,用它来逼近二阶导数矩阵 的逆阵[Vf(x),这一类方法也称拟牛顿法( Quasi-Newton Method) 下面研究如何构造这样的近似矩阵,并将它记为H()。我们要求:每一步都能以 现有的信息来确定下一个搜索方向;每做一次选代,目标函数值均有所下降;这些近似 矩阵最后应收敛于解点处的 Hesse阵的逆阵。 当∫(x)是二次函数时,其Hess阵为常数阵A,任两点x和x处的梯度之差为 Vf(x)-vf(x=A(x-x") 或 x-x=A IVf(x+)-vf(x) 对于非二次函数,仿照二次函数的情形,要求其 Hesse阵的逆阵的第k+1次近似 阵H(+)满足关系式 H(+IVf(x*+)-Vf(x)I (7) 41-41- [f0,g1,g2]=nwfun(x); end x, f0 如果目标函数是非二次函数,一般地说,用 Newton 法通过有限轮迭代并不能保证 可求得其最优解。 为了提高计算精度,我们在迭代时可以采用变步长计算上述问题,编写主程序文件 example5_2 如下: clc,clear x=[2;2]; [f0,g1,g2]=nwfun(x); while norm(g1)>0.00001 p=-inv(g2)*g1;p=p/norm(p); t=1.0;f=nwfun(x+t*p); while f>f0 t=t/2;f=nwfun(x+t*p); end x=x+t*p; [f0,g1,g2]=nwfun(x); end x,f0 Newton 法的优点是收敛速度快;缺点是有时不好用而需采取改进措施,此外,当 维数较高时,计算 2 1 [ ( )]− − ∇ k f x 的工作量很大。 2.3.1.3 变尺度法 变尺度法(Variable Metric Algorithm)是近 20 多年来发展起来的,它不仅是求解 无约束极值问题非常有效的算法,而且也已被推广用来求解约束极值问题。由于它既避 免了计算二阶导数矩阵及其求逆过程,又比梯度法的收敛速度快,特别是对高维问题具 有显著的优越性,因而使变尺度法获得了很高的声誉。下面我们就来简要地介绍一种变 尺度法—DFP 法的基本原理及其计算过程。这一方法首先由 Davidon 在 1959 年提出, 后经 Fletcher 和 Powell 加以改进。 我们已经知道,牛顿法的搜索方向是 [ ( )] ( ) 2 k 1 k − ∇ f x ∇f x − ,为了不计算二阶 导数矩阵[ ( )] 2 k ∇ f x 及其逆阵,我们设法构造另一个矩阵,用它来逼近二阶导数矩阵 的逆阵 2 1 [ ( )]− ∇ k f x ,这一类方法也称拟牛顿法(Quasi-Newton Method)。 下面研究如何构造这样的近似矩阵,并将它记为 (k ) H 。我们要求:每一步都能以 现有的信息来确定下一个搜索方向;每做一次选代,目标函数值均有所下降;这些近似 矩阵最后应收敛于解点处的 Hesse 阵的逆阵。 当 f (x)是二次函数时,其 Hesse 阵为常数阵 A ,任两点 k x 和 k +1 x 处的梯度之差为 ( ) ( ) ( ) k 1 k k 1 k ∇f x − ∇f x = A x − x + + 或 [ ( ) ( )] k 1 k 1 k 1 k x − x = A ∇f x − ∇f x + − + 对于非二次函数,仿照二次函数的情形,要求其 Hesse 阵的逆阵的第k +1次近似 矩阵 (k +1) H 满足关系式 [ ( ) ( )] k 1 k (k 1) k 1 k x − x = H ∇f x − ∇f x + + + (7)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有