APP下载

一种求解不定信赖域子问题的精确解法

2014-06-13于海波王希云太原科技大学应用科学学院太原030024

太原科技大学学报 2014年2期
关键词:割线折线信赖

于海波,王希云,李 亮(太原科技大学应用科学学院,太原 030024)

信赖域方法的关键是每次迭代时都需求解下面形式的信赖域子问题:

(1)

其中g∈Rn为目标函数在当前迭代点的梯度,B∈Rn×n为目标函数在当前迭代点的Hessian矩阵或其近似,△∈R为信赖域半径,δ∈Rn为待求变量。当△变化时,上述信赖域子问题(1)的解δ*就形成一条空间曲线,称为最优曲线[1]。

求解信赖域子问题的方法主要有精确求解法、折线法和截断共轭梯度法.其中折线法是比较有效和实用的方法,如单折线法、双折线法[1]、切线单折线法、不定折线法、混合折线法、双割线折线法等[2-5]。而目前常用的精确求解法主要是牛顿法,为避免牛顿法中初始迭代点位置选取的困难,李亮[6]在Hessian阵正定的前提下提出了一种解信赖域子问题的分段割线法,有效避免了牛顿法中初值选取的困难,提高了计算效率。本文在此基础上,针对Hessian阵不定的情况,提出了一种求解信赖域子问题的修正分段割线算法,进一步完善了这一精确求解方法在一般二次模型中的应用。

1 分段割线法的思想

基于信赖域子问题精确求解方法的思想,得到最优曲线的参数方程如下[6]:

δ=-(B+μI)-1g(μ>0)

(2)

定义函数y=f(μ)=‖δ‖2=‖-(B+μI)-1g‖2,(μ≥0).则信赖域子问题(1)的解δ*就是:当μ=0时,解δ*=-B-1g;当μ>0时,通过求解一元非线性方程f(μ)-△=‖-(B+μI)-1g‖2-△=0得到解μ*,此时解δ*=-(B+μ*I)-1g.

分段割线法的思想是在B正定的前提下,利用函数f(μ)的单调减性,当给定的信赖域半径△≥‖B-1g‖2时,令μ=μ0=0,得到子问题的最优解δ*=-B-1g;给定的信赖域半径△<‖B-1g‖2时,以给定的步长不断增大μ,从而缩小函数f(μ)的值,最终找到一个最小的正整数m,使得f(μm)-△≤0,得到方程f(μ)-△=0的有根区间[0,μm].记节点μk处的函数值f(μk)为yk,k=0,1,…,m,通过对节点(μk,yk),(k=0,1,…,m)进行线性插值构造m条直线,连接所有直线构成分段割线,最后在插值点(μm-1,ym-1)和(μm,ym)之间利用线性插值构造的线性函数代替f(μ)来求解方程f(μ)-△=0的根μ*,从而求得子问题的解δ*=-(B+μ*I)-1g.

2 不定矩阵的修正

上述分段割线法是在B正定的前提下提出的,若B不定,则二次模型(1)不一定有极小值点,甚至没有平稳点[1]。为了克服这些困难,通常采用强迫矩阵正定的方法。文中采用了两种修正不定矩阵B的方法,一种是利用Bunch-Parlett分解和矩阵的特征值来构造新的对称正定矩阵G[2];另一种是利用Gill-Murray提出的修改Cholesky分解来修正不定矩阵B[1],从而提出了两种解决不定信赖域子问题的修正分段割线算法。通过数值实验比较了利用两种修正方法解不定子问题(1)的最优解。

2.1 Bunch-Parlett分解

对实对称矩阵B进行Bunch-Parlett分解:

RBRT=LDLT

其中R为置换阵,L是单位下三角矩阵,D为一块对角阵,对角块的阶数为1或2.为方便计算,不妨设置换阵R=I,其中I为单位矩阵。从而上式变为:

B=LDLT

由于矩阵D和B具有相同的惯性,即它们具有相同数目的正特征值、零特征值和负特征值[7],本文利用D的特征值来构造对称正定矩阵G.

不妨记D的特征值为λ1,λ2,…,λn,对应于特征值λ1,λ2,…,λn的特征向量为p1,p2,…,pn,令P=(p1,p2,…,pn)T,下面分λi>0,i=1,2,…,n和存在i使λi≤0两种情况来构造正定矩阵G.

由文献[4]可知,G是对称正定阵且-Gg是拟牛顿方向。

2.2 修改Cholesky分解

采用文献[1]中Gill-Murray提出的修改Cholesky分解对不定矩阵B进行修正。

3 修正分段割线算法

下面给出该算法的具体步骤:

步0给定梯度g,不定矩阵B,信赖域半径△,步长h.

步1取调整参数ε=0.1(或ε=1.1),对B进行Bunch-Parlett分解[7],得到B=LDLT,利用D的特征值来构造对称正定矩阵G,令B=G-1;

步3计算f(μk),μk=kh,令yk=f(μk).在插值节点(μk-1,yk-1)和(μk,yk)之间用线性插值方法构造直线Lk(μ),形成修正分段割线Γ.

注:步0中选取的步长h越小,则由该算法求得的信赖域子问题的最优解δ*越精确。

4 数值结果

对于无约束优化的信赖域子问题(1),本文选取不同的信赖域半径△,利用测试函数Function 1和Function 2,分别测试了以上两种不定修正分段割线算法。其中q(δ)表示测试函数最优解的函数值,BPD表示采用Bunch-Parlett分解和矩阵的特征值的信息来修正不定矩阵的修正算法,CHD表示采用修改Cholesky方法修正不定矩阵的修正算法,HD表示文献[2]的混合折线算法。qCHD-qBPD表示分别采用CHD和BPD修正方法所得到的最优解的差值,该差值越大,说明采用BPD方法的修正分段割线法越好;qHD-qBPD表示分别采用HD和BPD方法得到的最优解的差值。具体数值结果见表1、表2及表3.

当选取不同的信赖域半径△来求解子问题(1)时,分析表1和表2可以看出,当信赖域半径相对较小时,采用CHD方法的修正分段割线法与采用BPD方法的修正分段割线法相比,CHD的结果要略优于BPD的且与精确解十分接近。然而随着信赖域半径的增大,CHD方法逐渐达到局部最优解并趋于稳定,采用BPD方法求得的最优解要优于CHD方法得到的最优解。

综上所述,虽然采用CHD方法在小半径下求解时精度较高,但是随着半径的增大,求解过程容易陷入局部最优的境地;对于BPD方法,求解过程比较稳定,而且可以得到相应半径下的全局最优解。为此,我们选取BPD方法来求解子问题(1),并与HD算法进行比较。对比表3的数值结果可以看出,采用BPD方法求解子问题(1)得到的最优值明显优于运用HD算法得到的最优值。由此可见,修正分段割线法是一种求解不定信赖域子问题的很好的方法。

其中测试函数Function 1的拟牛顿步‖Gg‖=22.398,测试函数Function 2的拟牛顿步‖Gg‖=36.23.

其中测试函数如下:

表1 数值结果

表2 数值结果

表3 数值结果

参考文献:

[1] 袁亚湘,孙文瑜.最优化理论与方法[M].北京:科学出版社,2010.

[2] 赵丹.解信赖域子问题的混合折线法[J].徐州师范大学学报:自然科学版,2009,27(3):38-41.

[3] 赵英良,徐成贤.解信赖域子问题的切线单折线法[J].数值计算与计算机应用,2000,21(1):77-80.

[4] CHEN JUN,SUN WENYU.Nonmonotone Adaptive Trust Region Algorithms with Inde-finite Dogleg Path for Unconstrained Minimization[J].Northeast Math ,2008,24(1):19-30.

[5] 王希云,邵安.一种双割线折法求解线信赖域子问题[J].应用数学,2012,25(2):419-424.

[6] 李亮,王希云.解信赖域子问题的分段割线法[J].太原科技大学学报,2013,34(5):393-397.

[7] 徐成贤,陈志平,李乃成.近代优化方法[M].北京:科学出版社,2002.

[8] 李董辉,童小娇,万中.数值最优化算法与理论[M].北京:科学出版社,2010.

[9] 任玉杰.数值分析及其MATLAB实现[M].北京:高等教育出版社,2007.

[10] 王建宏,钱峰.基于最速下降曲线的特征值法[J].南通大学学报:自然科学版,2007,6(1):20-22.

猜你喜欢

割线折线信赖
信赖相伴唱响新生 北京现代20周年再攀新高峰
平面分割问题的探究之旅
求解无约束优化问题的非单调自适应信赖域方法
浅谈行政法的信赖利益保护原则
折线的舞台——谈含绝对值的一次函数的图象
潮流方程的割线法求解
折线
折线图案
从一道试题谈圆锥曲线的切割线定理
从圆的切割线定理谈起