1、一一. 无约束最优化问题无约束最优化问题无约束最优化问题无约束最优化问题nRxtsxf .)(min有有一一阶阶连连续续偏偏导导数数。其其中中)(xf解析方法:利用函数的解析性质构造迭代公式,使之收敛到最优解。下降迭代算法的概念回顾下降迭代算法的概念回顾1.一般迭代算法一般迭代算法集合集合S上的迭代算法上的迭代算法A:(1)初始点)初始点0 x;(2)按照某种规则)按照某种规则A产生下一个迭代点产生下一个迭代点)(1kkxAx 。(i)如果点列)如果点列kx收敛于最优解收敛于最优解*x,则称算法,则称算法A收敛。收敛。(ii)如果)如果 )()()(10kxfxfxf,则称算法,则称算法A为为
2、下降迭代算法。下降迭代算法。.0 x.1x.2x2.下降迭代算法步骤下降迭代算法步骤(1)给出初始点)给出初始点0 x,令,令0 k;(2)按照某种规则确定下降搜索方向)按照某种规则确定下降搜索方向kd;(3)按照某种规则确定搜索步长)按照某种规则确定搜索步长k ,使得,使得)()(kkkkxfdxf ;(4)令)令kkkkdxx 1,1: kk;(5)判断)判断kx是否满足停止条件。是则停止,否则转第是否满足停止条件。是则停止,否则转第2步。步。搜索步长确定方法:搜索步长确定方法:)(min)(kkkkkdxfdxf 称称0)( kTkkkddxf 。k 为最优步长,且有为最优步长,且有二二
3、. 最速下降法(梯度法)最速下降法(梯度法)迭代公式:迭代公式:kkkkdxx 1如何选择下降最快的方向?如何选择下降最快的方向?)(kxf )(kxf 函数值下降最快的方向函数值下降最快的方向函函数数值值增增加加最最快快的的方方向向函函数数值值下下降降的的方方向向kx最速下降法(梯度法):最速下降法(梯度法):也称为最速下降方向;也称为最速下降方向;搜索方向:搜索方向:, )(. 1kkxfd 。即即满满足足取取最最优优步步长长搜搜索索步步长长)(min)(,:. 2kkkkkkdxfdxf 最速下降法算法步骤:最速下降法算法步骤:。令令允许误差允许误差给定初始点给定初始点1,0,. 11
4、kRxn ;)(. 2kkxfd 计算搜索方向计算搜索方向kkkxd 否则,求最优步长否则,求最优步长为所求极值点;为所求极值点;则停止计算,则停止计算,若若,|. 3 。使得使得)(min)(kkkkkdxfdxf 。转转令令令令2,1:,. 41 kkdxxkkkk ,)1 ,2(,3)(min:.12221Txxxxf 设初始点为设初始点为用最速下降法求解用最速下降法求解例例。求迭代一次后的迭代点求迭代一次后的迭代点2x解:解:,)6,2()(21Txxxf .)6,4()(11Txfd .)61,42(11Tdx ,令令2211)61(3)42()()( dxf)(min 求解求解0)
5、61(36)42(8)( 令令62131 Tdxx)318,3136(1112 收敛性收敛性)(min)(kkkkkdxfdxf 。则有则有0)( kTkkkddxf 性质性质. 证明:证明:所以所以,令令)()(kkdxf .)()(kTkkddxf )(min)(kkkkkdxfdxf .0)()( kTkkkkddxf 满足满足步长步长有一阶连续偏导数,若有一阶连续偏导数,若设设kxf )(注:注:。kkkTkdddd 110)(所以所以,因为梯度法的搜索方向因为梯度法的搜索方向)(1kkkkdxfd 锯齿现象锯齿现象,其等值面近似,其等值面近似数可以用二次函数近似数可以用二次函数近似在
6、极小点附近,目标函在极小点附近,目标函椭椭球球面面。1x*x2x3x它它只只是是。标标函函数数的的一一种种局局部部性性质质最最速速下下降降方方向向反反映映了了目目快快的的方方向向。局局部部目目标标函函数数值值下下降降最最注注的的算算法法。最最速速下下降降法法是是线线性性收收敛敛3共轭梯度法共轭梯度法1. 共轭方向和共轭方向法共轭方向和共轭方向法定义定义共轭。共轭。关于关于和和,则称,则称若有若有AddAddT21210 ARdddnk它们两两关于它们两两关于中一组非零向量,如果中一组非零向量,如果是是设设,21。共轭,即共轭,即kjijiAddjTi,2,1,0 共轭方向。共轭方向。组组共轭的
7、,也称它们是一共轭的,也称它们是一则称这组方向是关于则称这组方向是关于AA注注:002121 dddIdTT21dd 共轭是正交的推广。共轭是正交的推广。,和和中的两个非零向量中的两个非零向量的对称正定矩阵,对于的对称正定矩阵,对于是是设设21ddRnnAn 是是单单位位矩矩阵阵,则则如如果果 A共共轭轭的的非非零零个个是是阶阶对对称称正正定定矩矩阵阵,是是设设AkdddnAk,21性性无无关关。向向量量,则则这这个个向向量量组组线线. 1定理定理证明证明,使得,使得设存在实数设存在实数k ,21,01 kiiid ,则则有有上上式式两两边边同同时时左左乘乘AdTj,01 kiiTjiAdd
8、可可化化简简为为共共轭轭的的向向量量,所所以以上上式式个个是是因因为为Akdddk,21.0 jTjjAdd ,是是正正定定矩矩阵阵,所所以以而而因因为为0,0 jTjjAddAd所以所以。kjj,2,1,0 线性无关。线性无关。因此因此kddd,21几何意义几何意义设设有有二二次次函函数数)()(21)(xxAxxxfT 对称正定矩阵,对称正定矩阵,是是其中其中nnA 是一个定点。是一个定点。x的等值面的等值面则函数则函数)(xfcxxAxxT )()(21为中心的椭球面。为中心的椭球面。是以是以 x由于由于,0)()( xxAxf,0)(2 AxfA所以所以正定,正定,因为因为的极小点。的
9、极小点。是是因此因此)(xfxx,)(2Axf 而而点,点,是在某个等值面上的一是在某个等值面上的一设设)0(x处的法向量为处的法向量为该等值面在点该等值面在点)1(x. )()()1()1(xxAxf o1x2xx)1(d)0(x中的一个方向,中的一个方向,是是nRd)1(。以最优步长搜索得到点以最优步长搜索得到点沿着沿着)1()1()0(xdx所所在在等等值值面面的的切切向向量量。是是点点则则)1()1(xd正交,正交,与与则则)()1()1(xfd , 0)()1()1( xfdT即即,)1()2(xxd 令令)1(x所以所以, 0)2()1( AddT共轭。共轭。小点的向量关于小点的向
10、量关于向量与由这一点指向极向量与由这一点指向极即等值面上一点处的切即等值面上一点处的切A)2(d. 2定理定理,设有函数设有函数cxbAxxxfTT 21)(共轭向量。共轭向量。一组一组是是阶对称正定矩阵。阶对称正定矩阵。是是其中其中AdddnAk)()2()1(,进行搜索,进行搜索,为初始点,依次沿为初始点,依次沿以任意的以任意的)()2()1()1(,kndddRx 上的上的在在是函数是函数则则得到点得到点kkkBxxfxxxx )1()1()1()3()2()(,极小点,其中极小点,其中,|1)(RdxxBikiiik 是是时,时,当当,生成的子空间。特别地生成的子空间。特别地是由是由)
11、1()()2()1(, nkxnkddd上上的的唯唯一一极极小小点点。在在nRxf)(推论推论有有在上述定理条件下,必在上述定理条件下,必。kidxfiTk,2,1,0)()()1( 共轭方向法对于极小化问题对于极小化问题:法法为为共共轭轭方方向向法法是是正正定定矩矩阵阵,称称下下述述算算其其中中 A,21)(mincxbAxxxfTT ;共轭方向共轭方向取定一组取定一组)()2()1(,)1(ndddA,)2()1()()1( kkxxx确定点确定点依次按照下式由依次按照下式由任取初始点任取初始点 )(min)()()()()()()()1(kkkkkkkkkdxfdxfdxx 。满足满足直
12、到某个直到某个0)()()( kkxfx注注至至多多经经过过求求解解上上述述极极小小化化问问题题,可可知知,利利用用共共轭轭方方向向法法由由定定理理2。次次迭迭代代必必可可得得到到最最优优解解n2. 共轭梯度法 如何选取一组共轭方向?如何选取一组共轭方向?:共轭梯度法共轭梯度法eevesRFletcher 代代点点向向相相结结合合,利利用用已已知知迭迭将将共共轭轭性性和和最最速速下下降降方方基基本本思思想想:进进行行搜搜索索,求求出出共共轭轭方方向向,并并沿沿此此方方向向处处的的梯梯度度方方向向构构造造一一组组函数的极小点。函数的极小点。以下分析算法的具体步骤。以下分析算法的具体步骤。cxbA
13、xxxfTT 21)(min是常数。是常数。,是对称正定矩阵,是对称正定矩阵,其中其中cRbARxnn ,;,第第一一个个搜搜索索方方向向取取为为任任取取初初始始点点)()1()1()1()1(xfdx ,令令,若若,设已求得点设已求得点)(0)()2()1(1)1()1( kkkkxfgxfx:)1(按按如如下下方方式式确确定定则则下下一一个个搜搜索索方方向向 kd)1()(1)1(kkkkdgd 令令共轭。共轭。关于关于和和要求要求Addkk)()1( ?如何确定如何确定k ,得得)式式两两边边同同时时左左乘乘则则在在(AdTk)(1)()(1)()1()(0kTkkkTkkTkdAdAg
14、dAdd )2()()(1)(kTkkTkkdAdgAd 解得解得:)3(搜搜索索步步长长的的确确定定,步步长长利利用用一一维维搜搜索索确确定定最最优优和和搜搜索索方方向向已已知知迭迭代代点点kkkdx ,)()(。即求解即求解)(min)()(kkdxf , )()()()(kkdxf 记记,令令0)()()()()( kTkkddxf ,即有即有0)()()()( kTkkdbdxA ,则有,则有令令bAxxfgkkk )()()(,0)()( kTkkdAdg )3()()()(kTkkTkkAdddg 解得解得3定理定理次次算法在算法在,对于正定二次函数对于正定二次函数nmFRcxbA
15、xxxfTT 21)(),下下列列关关系系成成立立(且且对对所所有有的的一一维维搜搜索索后后即即终终止止,并并mii 1;1,2,1,0)1()()( ijAddjTi;1,2,1,0)2( ijggjTi。iTiiTiggdg )()3(注注共共轭轭的的。是是可可知知搜搜索索方方向向)由由定定理理(Adddm)()2()1(,31则则构构造造的的搜搜索索必必须须取取负负梯梯度度方方向向,否否算算法法中中第第一一个个搜搜索索方方向向)2(方方向向不不能能保保证证共共轭轭性性。)可知,)可知,的(的(由定理由定理33)3(,0|2)( iiTiiTigggdg处的下降方向。处的下降方向。是迭代点
16、是迭代点所以所以)()(iixd的的计计算算公公式式可可以以简简化化。算算法法中中,由由定定理理iFR 3)4()()(1)(iTiiTiiAddgAd )()()(1iTiiTiAdddAg / )( / )( )()1()()()1(1iiiTiiiiTixxAdxxAg .)()()(bxAxfgiii )()(1)(11iiTiiiTiiggdggg iTiigdg)(21| )4(|221iigg 算算法法步步骤骤:FR。,令,令精度要求精度要求,任取初始点任取初始点1. 1)1( kx 为所求极小点;为所求极小点;停止,停止,若若令令)1(1)1(1,|, )(. 2xgxfg 。
17、令令,)计算)计算利用公式(利用公式(否则,令否则,令)1(1)1()2(11)1(3,dxxgd 为所求极小点;为所求极小点;停止,停止,若若令令)1(1)1(1,|, )(. 3 kkkkxgxfg )计算。)计算。用公式(用公式(其中其中否则,令否则,令4,)(1)1(kkkkkdgd 。转转,令,令)计算)计算利用公式(利用公式(3,3. 4)()()1(kkkkkdxx 。令令1: kk算算法法求求解解下下述述问问题题:用用例例FR22212)(minxxxf 。初始点取为初始点取为Tx)2,2()1( 解:解:.)2,4()(21Txxxf 次迭代:次迭代:第第1,)4,8(1)1
18、(Tgd 令令)1()1()1(11AdddgTT ,2004),(21)(2121 xxxxxf.2004 A而而 482004)4,8(48)4,8(185 )1(1)1()2(dxx 所以所以TT)4,8(185)2,2( T)98,92( 次迭代:次迭代:第第 2.)916,98(2Tg 21221|gg .81448)916()98(2222 )1(12)2(dgd TT)4,8(814)916,98( T)4,1(8140 )2()2()2(22AdddgTT 412004)4,1()8140(41)916,98(81402209 )2(2)2()3(dxx TT)4,1(8140
19、209)98,92( T)0,0( Tg)0,0(3 即为所求极小点。即为所求极小点。)3(x3. 用于一般函数的共轭梯度法nRxtsxf .)(min共轭梯度法进行修改:共轭梯度法进行修改:对用于正定二次函数的对用于正定二次函数的确确定定。)计计算算,需需由由一一维维搜搜索索不不能能利利用用公公式式(搜搜索索步步长长3)2(i 。速下降方向,即速下降方向,即第一个搜索方向仍取最第一个搜索方向仍取最)()1()1()1(xfd 算算:其其它它搜搜索索方方向向按按下下式式计计,)()()1()1(iiiidxfd 。其中其中2)(2)1(|)(|)(|iiixfxf 此此时时可可采采取取一一定定能能满满足足停停止止条条件件,算算法法在在有有限限步步迭迭代代后后不不)3(如如下下措措施施:没没有有求求成成一一轮轮搜搜索索后后,如如果果还还次次迭迭代代为为一一轮轮,每每次次完完以以n新新的的初初始始点点,的的最最后后一一个个迭迭代代点点作作为为得得极极小小点点,则则以以上上一一轮轮一轮搜索。一轮搜索。一个搜索方向,开始下一个搜索方向,开始下取最速下降方向作为第取最速下降方向作为第注注,如如算算采采用用其其它它形形式式的的公公式式计计在在共共轭轭梯梯度度法法中中,也也可可i 。)共轭梯度法共轭梯度法PRPgggggiTiiiTii()(11