资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五章 无约束问题算法(III)共轭梯度法共轭方向法的思路共轭方向法的思路对于简单的二次函数任给一个初始向量x(0),沿着方向e1=(1,0,0)T进行搜索,即求解下面问题由于因此n注:此处的一维搜索中a1的范围是整个实数集,即x(1)是函数在集合x(0)+a1e1,a1R中的极小点.共轭方向法的思路共轭方向法的思路nx(1)与x(0)唯一不同的是它们的第一个分量.其中x(1)的第一个分量与原问题最优解 b 的第一个分量一致,其余的分量未发生变化.n下面再沿着方向e2=(0,1,0,0)T进行搜索,得到的x(2)的前两个分量与最优解 b 的前两个分量一致,其余分量不变.n显然, x(2)是函数在集合x(0) +a1e1+a2e2,a1,a2R中的极小点.共轭方向法的思路共轭方向法的思路n因此,上述的迭代过程每一步在一个分量上达到最优,且每一步求得了函数在一个集合中的极小点,这种集合在迭代过程中逐渐扩大,迭代n步之后得到原问题的最优解.n将此过程进行下去有n进行n步后有n x(k)是函数在x(0) +a1e1+a2e2+akek,a1,a2,akR中的极小点.共轭方向法的思路共轭方向法的思路n在三维情况下,上面的迭代过程可以用图形来表示.x(0)x(1)x(2)x(3)xyzO=x*共轭方向法的思路共轭方向法的思路n上面的方法对一般的二次函数是否适用呢?n考虑问题其中n易见G是正定的,f(x)的极小点为(0,0)T.n以x(0)=(-1,-1)T为初始点,在方向e1=(1,0)T上进行一维搜索.即求解问题n易求得a1*=3,x(1)=x(0)+a1*e1=(2,-1)T.n第一个分量没有变为0,进一步沿e2=(0,1)T搜索显然不能达到 f (x)的极小点.共轭方向法的思路共轭方向法的思路n在空间Rn上,重新定义内积与范数:n给定最优化问题(其中G对称正定)则共轭方向法的思路共轭方向法的思路n在Rn上,按照上面定义的内积给出一组正交基p1,p2,pn,n因此原问题等价于n即p1,p2,pn线性无关,且n设问题的最优解x*= -G-1b在这组基底下的表示为x*= u1 p1+u2 p2+un pnn任取初始点x(0) =s1 p1+s2 p2+sn pn, 在方向p1上进行一维搜索,即求解问题共轭方向法的思路共轭方向法的思路n显然,当a1=u1s1时,上面的函数取最小值,nx(1) =u1 p1+s2 p2+sn pn.n即x(1)与最优点在基底中第一个向量p1前的系数达到一致.nx(1)是函数在集合x(0)+a1p1,a1R中的极小点.共轭方向法的思路共轭方向法的思路n最终x(n)= u1 p1+u2 p2+un pn =x*n即迭代过程同样在n步之后找到最优点.n因此,对二次函数n我们可以找到n个方向(向量),对其依次进行一维搜索,最多n步可以找到函数的最优点.n类似的,再依次沿着p2,pk进行一维搜索,可以得到x(k)= u1 p1+uk pk+sk+1 pk+1+un pn ,nx(k)是函数在x(0) +a1p1+a2p2+akpk,a1,a2,akR中的极小点.共轭方向法的思路共轭方向法的思路n定义 设n维向量组p1,pk线性无关, x(0)Rn,n称向量集合 为由点x(0)与np1,p2,pk 生成的k维超平面.n我们希望x(k)是k维超平面的极小点,于是x(n)是n维超平面(即整个Rn空间)的极小点.n若k=1,上述集合表示以p1为方向向量,且过点x(0)的一条直线.超平面上极小点的判断超平面上极小点的判断n若函数f(x)连续可微, p1,p2,pk为一组线性无关的n维向量, x(0)Rn,n若 是f(x)在Hk上的极小点,则p1,p2,pk都不是下降方向,因此n p1,p2,pk也不是下降方向,因此n于是有超平面上极小点的判断超平面上极小点的判断n严格证明:Hk上的点可以表示为n若 是f(x)在Hk上的极小点.则n定义其中因此超平面上极小点的判断超平面上极小点的判断n反之,若n如果f(x)是严格凸函数,对于则n因此 是f(x)在Hk上的唯一极小点.超平面上极小点的判断超平面上极小点的判断引理 设f (x)为连续可微的严格凸函数,又 p1,p2,pk为一组线性无关的n维向量, x1Rn ,则是f(x)在x1与p1,p2,pk所生成的k维超平面Hk上唯一极小点的充分必要条件是n注:若k=n,易推出在xk+1的梯度为零向量.因此,这一引理是一常用定理(极小点梯度为0)的推广.n已知k个点与k个方向之后,令xk+1=xk+ak pk,进行精确一维搜索,确定xk+1,再确定pk+1.共轭方向法共轭方向法(用于二次函数用于二次函数)n对于正定二次函数,确定pk的准则是希望 xk+1是目标函数在k维超平面上的极小点. xn+1就是目标函数在整个空间的极小点.n给定一个初始点x1,给出一个下降方向p1 ,令x2=x1+a1 p1,进行精确一维搜索,确定x2,再确定p2(方法待定).共轭向量共轭向量n对于f(x)=xTGx/2+bTx+c,有g(x)=Gx+b,因此ngj+1-gj=G(xj+1-xj)=ajGpj, 因此n根据引理,左边应为零,于是搜索方向满足性质piTGpj=0(i j).共轭向量:设G为n阶正定矩阵,p1,p2,pk为n维向量组,如果piTGpj=0(i j)则称向量组 p1,p2,pk关于G共轭.实际上是在新的内积意义下,这是一组正交向量.共轭方向法共轭方向法(用于二次函数用于二次函数)n注:在前面讨论思路时,根据方向的共轭性(正交性)得到xk+1是目标函数在k维超平面上的极小点(后面的定理将给出严格证明).n根据上一页的推导,根据极小点可以推出共轭性(正交性),即若一种迭代方法每次求出的是二次函数在k维超平面上的极小点,则对应的方向是共轭的. 基本概念基本概念n二次终止性n如果一个算法经过有限次迭代就得到正定二次函数的极小点,称该算法具有二次终止性.n共轭方向法是一种迭代方法,每次所取方向与前面的方向关于G共轭,然后进行精确一维搜索确定步长及下一步的迭代点.定理 设G为n阶正定矩阵,非零向量组 p1,p2,pk关于G共轭,则此向量组线性无关.证明:设存在常数a1,a2,ak使得a1p1+a2p2+akpk=0,以piTG左乘上式,显然有ai piTGpi=0.又,G是正定矩阵,pi0,因此ai=0(i=1,2,k)于是p1,p2,pk线性无关.共轭方向的性质共轭方向的性质推论1 设G为n阶正定矩阵,非零向量组p1,p2,pn关于G共扼,则此向量组构成 Rn的一组基.推论2 设G为n阶正定矩阵,非零向量组p1,p2,pn关于G共扼,若向量v与p1,p2,pn 关于G共扼,则v=0.共轭方向的性质共轭方向的性质共轭方向法共轭方向法(用于二次函数用于二次函数)n定理 设G是n阶正定阵,向量组p1,p2,pk关于G共轭,对正定二次函数f(x)=xTGx/2+bTx+c 由任意初始点x1开始,依次进行k次一维搜索,xi+1=xi+aipi(i=1,2,k) 则(i)gTk+1pi=0 (i=1,2,k). (ii)xk+1是二次函数在k维超平面Hk上的极小点.n推论 当k =n时,xn+1为二次函数在Rn上的极小点.共轭方向法共轭方向法(用于二次函数用于二次函数)n证明要点:只要证明gTk+1pi=0.精确一维搜索共轭梯度法共轭梯度法(共轭方向的形成共轭方向的形成)n我们首先讨论针对下面二次函数的共轭梯度法n给定初始点x0,初始下降方向取为p0= -g0n从x0出发,沿方向p0进行一维搜索得x1.n设p1是-g1与p0的线性组合p1= -g1+b0p0,np1与p0共轭,于是n因此共轭梯度法共轭梯度法(共轭方向的形成共轭方向的形成)n假设已经沿k个共轭方向p0, p1, pk-1逐次进行一维搜索得xk.n若gk=g(xk)=0,则xk已是极小点,否则构造下一个方向pk.令pk为-gk以及p0,p1,pk的线性组合.n用pjTG(j=0,1,k-1)左乘上式n因此共轭梯度法共轭梯度法(共轭方向的形成共轭方向的形成)再根据二次函数的性质,有由于有因此由于xk是由点x0及向量p0,p1,pk-1得到的k维超平面上的极小点,因此gkTpj=0(j=0,1,k-1).由pj的构造方式因此gkTgj=0(j=0,1,k-1).共轭梯度法共轭梯度法(共轭方向的形成共轭方向的形成)因此gkTgj=0(j=0,1,k-1)根据得所以定理 对正定二次函数由上面三式所确定共扼方向并采用精确一维搜索得到的共轭梯度法,在m(n)次迭代后可函数的极小点,并且对所有i(1im)有共轭梯度法共轭梯度法(用于二次函数用于二次函数)其中FR算法算法(1)Flecher-Reeves公式为了能将上述方法用于其它函数,我们必须消去系数中的G.所以(2)Polak-Ribiere-Polyak公式PRP算法算法由于gkTgk-1=0,所以有对于二次函数,这两个函数是等价的,但对于一般的函数,根据这两个公式的出的算法的计算效果有差异.FR算法中:n注:对于这两个算法,可以证明pkTgk= -gkTgk0,因而都是下降算法.由g0=(-2,0)T0,故取p0=(2,0)T,从x0出发,沿p0作一维搜索,即求min f (x0+a p0)=6a 2-4a 的极小点,得a0 =1/3 ,于是x1=x0+a 0 p0=(2/3,0)T,g1=(0,-2/3)T,由FR公式得b0=g1Tg1/g0Tg0=1/9故p1=-g1+b0p0=(2/9,2/3)T.例 用FR共轭梯度法求解(x0=(0,0)T)共轭梯度法算例共轭梯度法算例解注:此处不需求G.从x1出发,沿p1作一维搜索,求解得a1=3/2,于是此时的极小点故此算例中,f(x)为二元的正定二次函数,因此FR算法迭代两次得到最优点共轭梯度法算例共轭梯度法算例例 用FR方法与PRP方法求解设初始点为x0=(0,0)T.解:由g0=(-2,0)T0,故取p0=(2,0)T,从x0出发,沿p0作一维搜索,即求min f (x0+a p0)=1600a 4+4a2-4a+1的极小点,得a0 =0.080632,(精确一维搜索方法求得,e =10-5,)于是x1=x0+a 0 p0=(0.161264,0)T,g1=(0.000065,-5.201215)T.共轭梯度法算例共轭梯度法算例p0=(2,0)T,x1=(0.161264,0)T,g1=(0.000065,-5.201215)T,由FR公式得b0=g1Tg1/g0Tg0=6.763160故p1=-g1+b0 p0=(13.526254,5.201215)T.进一步可以以下的迭代,所得的结果(终止准则为|gk|10-12 ,55步收敛)见下表.最终得到x*(1,1)T.FR方法计算结果n从最后两组数据可以看出,虽然函数值下降,但是迭代点离最优点的距离却有所增加.kxkf(xk)|g(xk) |0 (0,0)T121 (0.161264,0)T0.7711105.2012152 (0.292861,0.050603)T0.6237037.53526110 (1.006492,1.015405)T6.07e-41.05720420 (1.000035,1.000074)T3.02e-90.00184330 (1+1.31e-7,1+2.69e-7)T2.21e-142.89e-640 (1+0.51e-9,1+1.03e-9)T2.79e-195.40e-950 (1+2.10e-12,1+4.26e-12)T4.74e-242.16e-1154 (1-1.14e-13,1-2.51e-13)T6.14e-269.63e-1255 (1-1.42e-13,1-2.86e-13)T2.06e-265.55e-13对于PRP算法,计算过程类似.计算15步收敛, x*(1,1)T对于此例,PRP方法比FR方法收敛快.计算结果见下表.PRP方法计算结果kxkf
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号