1、1第四章 共轭梯度法4.1 共轭方向法共轭方向法是无约束最优化问题的一类重要算法。它一方面克服了最速下降法中,迭代点列呈锯齿形前进,收敛慢的缺点,同时又不像牛顿法中计算牛顿方向耗费大量的工作量,尤其是共轭方向法具有所谓二次收敛性质,即当将其用于二次函数时,具有有限终止性质。一、共轭方向定义 4.1 设 是 对称正定矩阵, , 是 维非零向量,若Gn1d2n(4.1)120T则称 , 是 共轭的。类似地,设 是 中一组非零向量。若1d2 1,m nR(4.2)TijdG()ij则称向量组 是 共轭的。1,m注:(1) 当 时,共轭性就变为正交性,故共轭是正交概念的推广。I(2) 若 共轭,则它们
2、必线性无关。1,md二、共轭方向法共轭方向法就是按照一组彼此共轭方向依次搜索。模式算法:1)给出初始点 ,计算 ,计算 ,使 , (初始共轭方向) ;0x0()gx0d0Tg:k2)计算 和 ,使得 ,令 ;k1min()kkkffx1kkxd3)计算 ,使 , ,令 ,转 2) 。kdTkjGd,1j :三、共轭方向法的基本定理共轭方向法最重要的性质就是:当算法用于正定二次函数时,可以在有限多次迭代后终止,得到最优解(当然要执行精确一维搜索) 。2定理 4.2 对于正定二次函数,共轭方向法至多经过 步精确搜索终止;且对每个 ,都是n1ix在线性流形 中的极小点。()fx0,ijjjxd证明:
3、首先证明对所有的 ,都有1in, (即每个迭代点处的梯度与以前的搜索方向均正交)1Tijg,ji事实上,由于目标函数是二次函数,因而有 11kkkGxd1)当 时, ji111iTTijj kjjgdg110iTTjkjjd2)当 时,由精确搜索性质知:ji10Tijgd综上所述,有 。ij(,1)ji再证算法的有限终止结论。若有某个 ( ) ,则结论已知。若不然,那么由上面0ig1in已证则必有: 。0Tnjgd(,)j而由于 是 的一组基,由此可得 。故至多经过 次精确一维搜索即可获得最优01,nd Rn解。下面证明定理的后半部分。由于 1()2TfxGbxc是正定二次函数,那么可以证明
4、00(,)()ii jtfxtd是线性流形上的凸函数。事实上,300000 (,)()1()2ii ji i iTTj j jtfxtdxtGtbxtdc 00001()()2i iTTTTjj jjtdxdtGbx由 知 为 的凸函数。因而0TjjdG(,)i ,it ,it100(,)min(,)0itRjtt (,)ji0)iTjjfxtd(,)i注意到:当 , 时,jjt(,)i。001i ij jijxtdxdx而由定理前部分证明,在 处有1i,1()0Tijijfxdg(,)i故在 处, 取得极小,即00(,)(,i it 0,)it10ii jjxd是 在线性流形上的极小点。()
5、fx4.2 共轭梯度法上节一般地讨论了共轭方向法,在那里 个共轭方向是预先给定的,而如何获得这些共轭方向n并为提及。本节讨论一种重要的共轭方向法共轭梯度法。这种方法在迭代过程中通过对负梯度方向进行适当校正获得共轭方向,故而称之为共轭梯度法。一、共轭梯度的构造 (算法设计针对凸二次函数)设 1()2TfxGbxc4其中 为 正定矩阵,则Gn。()gxGb对二次函数总有 11kkkxGd1)设 为初始点。首先取 ,令 ( 为精确步长因子)0x0d00则有: (精确一维搜索性质) 。10Tg2)令 ,适当选择 ,使 ,d010TdG得 (从而得到 ) 1 100100()TTTggd1d由前一节共轭
6、方向法的基本定理有:, ,21Tg20T再由 与 的构造,还可得:0d1,21T20Tg3)再令 ,适当选择 , ,使得 ( ) ,由此得:20gd120TidG,1i, 02111()TTgd4) 一般地,在第 次迭代中,令 适当选取 ,使 (k0kkidi0TkidG) ,0,1ik可得到 ( ) (4.3)1()TTkikiiiigGdg0,1k同样由前一节共轭方向的基本定理有:( ) , (4.4)0Tkigd,1k再由 与 的关系得:igid( ) (4.5)Tki,ik将(4.4)与(4.5)代入(4.3)得:当 时, ,0,2 0i5而 。11 1()TTkkkkggd 共轭梯度
7、法的迭代公式为:( 为共轭方向, 为最佳步长因子)1kkxkk对二次函数;TkkgdG而对非二次函数,则采用精确一维搜索得到 。k共轭方向的修正公式为: (4.6)11kkdgd其中, 由下面诸式之一计算:k1) (Crowder-Wolfe 公式) (4.7)1()Tkkgd2) (Fletcher-Reeves 公式) (4.8)1Tk3) (Polak-Ribiere-Polyak 公式) (4.9)1()Tkkg4) (Dixon 公式) (4.10)1Tkkd注: 对二次函数而言,上述四个公式都是等价的。而且求得的搜索方向均为共轭方向;若对非二次函数,则将导出互不相同的算法,而且据此
8、求出的搜索方向不再保证是共轭的。 (事实上,此时不存在一个常值正定矩阵 ,共轭的提法都已无意义) 。G二、共轭梯度法的性质定理 4.3 对于正定二次函数,采用基于精确一维搜索的共轭梯度算法,必定经过 步迭代后mn终止。且对 ,下列关系式成立:1im1) ( ) (4.11)0TijdG0,1ji2) ( ) (4.12)ijg63) (4.13)TTiidg4) (4.14)0100,iigGg 5) (4.15)ii 证明:先用归纳法证明(4.11)(4.13) 。对于 ,容易验证(4.11) , (4.12) ,4.13)成立。1i现假设这些关系式对某个 成立,下面证明对于 ,这些关系式仍
9、然成立。事实上,对于二im次函数,显然有 (4.16)11()iiiiiigGxgGd对上式左乘 ,并注意到 是精确步长因子,得Tidi(4.17)0TTiiid利用(4.16) , (4.17) ,得(4.18)1 1()TTTTijijijijijjgdGgdd 当 时, (4.18)成为ji1 0TTiiji iigd当 时,由归纳法假设可知ji1 1()0TTijijijjgdGd 于是(4.12)得证。再由共轭梯度法的迭代公式及(4.17) ,有(4.19)1111jjTTTTTijijiji ijgdGgddG当 时,由(4.12) , (4.17)及(4.8) , (4.19)成
10、为ji111 0TTTi iii iiiiggddd当 时,直接由归纳法假设知(4.19)为零,于是(4.11)得证。ji又由于 1111TTTTiiiiidgdg7于是(4.13)得证。下面利用归纳法证明(4.14)与(4.15) 。当 时,由 及1i0dg,容易看出: 1000gGdg10,G再由 及 ,易见:1010dg。1,G故当 时, (4.14)与(4.15)成立。假定(4.14)与(4.15)对 成立。下证结论对 也成i i1i立。由于 ,1iiigd而从归纳法假设知 00,iiGg故有 11ii 还可证明: 001,ii igd 否则由 及 (共轭方向法基本定理)11i id
11、Tijg(0,)则必有 (与算法结束前,不会出现 矛盾)i1i因此 01100,iigG 再由 iiidd立即有: 。10101100,ii iggGg 定理证毕。注:1)上面定理中出现的这些生成子空间通称为 Krylov 子空间;2)在共轭梯度法中, ,若采用精确一维搜索,则 不论采用哪种公式计11kkkdgdk算,都有 ,即 总是下降方向,若不采1 10TTTTk kgg1d用精确一维搜索,则就不一定了;3)对 Dixon 公式,使用不精确搜索准则 , ,能保证搜索方向总1TTkkd(,)是下降的。事实上,由811Tkk kgdd有 ,111TTTkkkg而 (由 ) ,111TTTTTk
12、kkkkgddgd0Tkgd由此即得 10Tkg故 为下降方向;1kd4)FletcherReeves 公式最为简洁,使用得最多; 5)共轭梯度算法用于非二次函数时,没有有限终止性质,一般经过 次搜索后,就取一次负n梯度方向,称再开始。Polak-Ribiere-Polyak 具有自动再开始的特点,事实上,当算法改进不大时,会出现 ,这时用 Polak-Ribiere-Polyak 公式计算出的 ,从而导致 。1kg 0k11kkdg4. 3 共轭梯度法的收敛性由前面的讨论已经知道,当共轭梯度算法用于正定二次函数时必定有限终止。本节研究将其用于一般非二次函数时的收敛性问题。一、共轭梯度法的总体
13、收敛性定理 4.4 设水平集 有界, 是 上具有一阶连续偏导数的凸函数。0()LxfxfnR是由 Fletcher-Reeves 共轭梯度算法产生的迭代点列。则kx1) 为严格单调下降序列,且 存在。() kf lim()kkfx2) 的任意聚点都是最优解,于是: 。x in()xRf证明:在算法迭代过程中,由于每隔 次采用一次再开始措施。因而搜索方向要么是共轭梯度方向,n要么是最速下降方向。但不管是哪种情形都有:(采用严格一维搜索)20Tkkgd因而 单调下降,又由 有界,故 也有下界,因此 存在,记为 。又由()kfxL()fxlim()kkfx*f9单调下降,知 ,故 是有界序列。()k
14、fxkxLkx设 是 中的这样的一个子列:从 出发按最速下降方向 得到 。由 有1K k kg1kx1kK界,故存在收敛子列 ,使 。2kKx2*limkx又 也是有界点列,故存在子列 ,使 ,且21kKx 31kK31limkx(*)* *()li()kkfxffxf下面用反证法证明 。若不然,设 ,则对充分小的 ,有00*()()fxffx注意当 时, 3kK1 )()kkkkkkdgfxg0令 ,则有 *()(fxfgfx与(*)式矛盾,故必有 。再由 是凸函数,即知 是最优解。因而有0*x*min()lim()kkxRfxfx进一步地,对点列 的任一极限点 ,必存在 的子列 ,使得 。
15、k0kK0limkKx进而有 0 *()li)li()kkKfxfxf这表明: 也是问题的最优解。x注:由这个定理的证明过程易见:上述收敛定理对其它几种共轭梯度算法也是成立的。定理 4.5 假设水平集 是有界集, 在其上 Lipschitz 连续,则采用精确0()Lxfx()fx一维搜索的 Crowder-Wolfe 再开始共轭梯度法产生的点列 至少存在一个聚点是驻点。k证明: 与前一定理的证明类似,略。定理 4.6 (Polak-Ribbiere-Polyak 算法的总体收敛性)设 二阶连续可微,水平集()fx有界。又设存在常数 ,使得对 ,有:0()Lxfx0mL22()TmyfxynR则
16、采用精确一维搜索的 P-R-P 共轭梯度算法产生的点列 收敛于 的唯一极小点。kx()fx10证明:只要证明 ,即 即可。事实上,若cosTkkgdTkkgd( )Tkk 0成立。由第二章的定理 2.7 知,必有 ,若 是 的极限点,由 的连续性,()kfx*xk()fx则有 ,由 的凸性,即知 是极小点。*()0fx()fx*再由 在水平集 上一致凸,知 的极限点必唯一。否则设 是 的另一极限点,则Lkxxk也有 。因此,()fx*2*0()()()()T Txfxfxfx这与一致凸的假设矛盾,所以 只有唯一极限点。k可证:有界点列 若只有唯一极限点 ,则必有 。故 收敛于 的唯一极小kx*
17、x*limkxkx()fx点。下证: (1)Tkkgd由于采用了精确一维搜索,故有 2Tkk因而(1)式等价于 (2)kgd由 111110()TTTkkkkkGxtdt得: (3)2111kkTTkkggdd其中 。10()kkGxtt再注意到, 11110()kkkkkkgffxGxtdtGd有 ,111 2()TTkkkkgg11由(3)得 111 2TkkkkkgGdgdm又由 有界,故存在常数 ,使得 , ,L0M()xyMxLnyR故 1121kkkkgdg 因而 1 ()kkkkkd gm即 ()kgMm由前述分析,定理得证。上述总体收敛性定理均建立在精确一维搜索基础之上。Al-
18、Baali(1985)研究了采用不精确一维搜索的 Fletcher-Reeves 共轭梯度法。发现若采用 Wolfe-Powell 不精确一维搜索准则,也有总体收敛性。定理 4.7 若 由不精确一维搜索的 Wolfe-Powell 准则产生,那么 Fletcher-Reeves 共轭梯度算法k具体下降性质: 。0Tgd证明:先用归纳法证明:(*)200Tk kj jkj jg其中 是 W-P 准则中的 。1(,)2当 时, (*)成为等式,故结论成立。假设对任何 , (*)式成立,现考虑 情形。k 0k1k由 11 1222()TT Tkkkkkgdgdgd 111222TTTkkkgg及 1
19、TTkkd12有 12221TTkkkgdgd再由归纳法假设,有 1 2001Tkkj jkj j gd112200TTkkj jkkj jgdg 即 。1 1120 0Tk kj jkj j利用已经证明的(*)式,并注意到 001kjjj有 0 220kjj最后得 ,证毕。Tkgd定理 4.8 设 二阶连续可微,水平集 有界。设 由 Wolfe-Powell()fx0()nLxRfxk准则确定,那么 Fletcher-Reeves 共轭梯度算法产生的点列总体收敛,即有. (1)limnf0kkg证明:由 Wolfe-Powell 准则,及定理 4.7 中(*)式得2111TTkkkgdd又由
20、 , 1kk211Tkkkg得 2 221Tkkkdgd2 2211()kkkgd递推可得 (2)2240()()1kkjjdg下面用反证法证明(1)成立。若不然,则存在常数 ,使得对充分大的 ,都有0k13。0kg由 在水平集 上有界,从(2)即有L( 为常数)1kdc1由 2012os ()()TTkkkkjkk jggggdddd222211c()()kkk kkc故级数 发散。若设 为 在 上的上界,2oskMGxL则 21TTkkkgdd再由 Wolfe-Powell 准则(1)1TTkk即 1kgdgd故有 2TTkk kM因而有 。2kkgd又由 Wolfe-Powell 准则(2)1Tkkfgd2 21()(1)(1) coscosk kkk kkf fgfMMM由(2)知 单调下降且有下界,故 存在。再由 ()kfxlim()kfx及 2)0211coskkf由此又推得 收敛,矛盾。从而定理结论成立。2coskk