信赖域方法信赖域方法信赖域方法是求解最优化问题的另一类有效方法.其最初的设计思想可追溯至Levenberg和Marquart对Gauss-Newton法的修正.线搜索方法是把一个复杂的最优化问题转化成一系列简单的一维寻优问题.信赖域方法是把最优化问题转化为一系列相对简单的局部寻优问题.基本思想牛顿法的基本思想是在迭代点kx附近用二次函数逼近,21sGssgfsqxfkTTkkk并以sqk的的极小点ks修正,kx得到:.1kkksxx以上方法只能保证算法的局部收敛性,为了建立总体收敛性算法,我们采用了线搜索技术.虽然这种策略是成功的,但它有一个缺点,即没有进一步利用二次模型.基本思想牛顿法的基本思想是在迭代点kx附近用二次函数逼近,21sGssgfsqxfkTTkkk并以sqk的的极小点ks修正,kx得到:.1kkksxx以上方法只能保证算法的局部收敛性,为了建立总体收敛性算法,我们采用了线搜索技术.虽然这种策略是成功的,但它有一个缺点,即没有进一步利用二次模型.信赖域方法是另一种新的保证算法总体收敛的方法.信赖域方法的模型子问题121minsBssgfsqkTTkkkksts.其中,,kkkxfgxxskB是Hesse阵kxf2的近似0k为信赖域半径.注:(1)这种方法既具有牛顿法的快速局部收敛性,又具有理想的总体收敛性.(2)不要求目标函数的Hesse阵是正定的.(3)利用了二次模型来求修正量,使得目标函数的下降比线性搜索方法更有效.(4)由于步长受到使Taylor展开式有效的信赖域的限制,故方法又称为有限步长法.信赖域半径的选择根据模型函数sqk对目标函数xf的拟合程度来调整信赖域半径.k对于问题(1)的解,ks定义比值:kkkkkkkkksqqsxfxfredPAredr0它衡量模型函数sqk与目标函数xf的一致性程度.注:(1)kr越接近于1,表明模型函数与目标函数的一致性程度越好,可以增大k以扩大信赖域.(2)0kr不接近于1,可以保持k不变.(3)kr接近于零或取负值,表明模型函数与目标函数的一致性程度不好,可以减小k以缩小信赖域.信赖域算法Step1:给出,0nRx信赖域半径的上界,,0,0.0,10,10,02121kStep2:如果,kg停止.Step3:求解子问题(1)得到.ksStep4:计算kksxf和,kr令:othersxrsxxkkkkk11Step5:校正信赖域半径,令:2212111111,min,),[,,0kkkkkkkkkkkrrrStep6:产生,1kB校正,kq令,1kk转Step2注:参数建议取:1,2,5.0,75.0,01.002121信赖域子问题折线法基本思想如果令信赖域的半径k在区间,0内连续变化,则问题(1)的解ks在空间nR中形成一条光滑的连续曲线,记为.kop此时,问题(1)等价于在信赖域内在最优曲线kop上确定一点使二次函数sqk取极小,即:kkopksstssq,.min由于最优曲线的确定需要计算矩阵kB的所有特征值和特征向量,相当费时.折线法在于用低维空间内满足一定要求的折线,记为,k代替最优曲线.通过求解:kkksstssq,.2min得问题(1)的近似解.ks注:(1)求解(2)的一个突出特点在于:近似折线k一经确定,对于给定的,k无需再解任何线性方程组,即能相当有效的确定问题(1)的近似解.(2)构造近似最优曲线kop的折线时,一般应满足下面基本要求:当点x从kx出发沿着折线前进时:(P1)点x到kx的距离单调增;(P2)函数值sqk严格单调降;性质(P1)确保对任意给定的,k折线上的近似解惟一.性质(P2)确保在折线上所确定的近似解ks能满足收敛性定理的条件.折线法算法原理(1970)连接Cauchy点(由最速下降法产生的极小点C.P.)和牛顿点(即由牛顿法产生的极小点Nkx1),其连线与信赖域的边界的交点取为.1kx显然,.1kkkxx当牛顿步Nks的长度kNks时,1kx就取为.1Nkx对二次模型:kkTkkkkkkgGggxfgxq2221精确线搜索下.2kkTkkkgGggCauchy步为:.kkkTkkTkkkckggGggggs若,kkkckgs取,kkkkggs若,kkkckgs再计算牛顿步,1kkNkgGs若,kNks取,1kkNkkgGss否则取,ckNkckkssss其中由方程kckNkcksss得到.综上:kNkkckkkkkNkkckckNkckkkckkkkkkssgGxsssssxsggxx,,11双折线法(1979)让信赖域迭代中产生的点偏向牛顿方向,于是把Cauchy点和牛顿方向上的Nˆ点连接起来,并将这条连线与信赖域边界的交点取为.1kx折线NkkxPCx1..称为单折线.把NkkxNPCx1ˆ..称为双折线.在双折线情形下:kNkkckkkkkNkkckckNkckkkckkkkkkssgGxsssssxsggxxˆ1ˆˆ1,,其中.,1,,14ˆkkTkkkTkkNkNkgGggGggss一般取.2.08.0例1:设,222141xxxxf在当前点,1,1Tkx,21k试用双折线法求.1kx解:214,2,6,1,1kTkTkGgxTkkNkgGs1,731156.0469.026512402kkkTkkckggGggs由于,kcks计算,ˆNks有:684.073251240214kkTkkkTkkgGggGgg747.02.08.0747.0320.0ˆNkNkss由于,813.0ˆkNks故取双折线步长为:1,0ˆckNkckkssss使得,kks解二次方程22ˆkckNkcksss得.867.0因此669.0340.0867.0ˆckNkckkssss所以331.0660.01kkksxx