APP下载

求解非线性方程组的修正Fletcher-Reeves共轭梯度法

2023-06-29黎勇罗丹王松华

应用数学 2023年3期
关键词:线性方程组共轭梯度

黎勇,罗丹,王松华

(百色学院数学与统计学院,广西 百色 533000)

1.引言

考虑如下非线性方程组问题:

式中g: Rn →Rn连续可微.非线性方程组问题在压缩感知[1],以及化学平衡、经济平衡、电力系统领域等实际工程问题上有着较强的应用背景[2],一直得到了广泛的研究,出现了牛顿算法、拟牛顿算法、高斯牛顿算法等收敛性理论较好的算法.然后这些算法普遍因为存储量大、算法较为复杂等因素限制,不适合求解大规模非线性方程组问题.共轭梯度算法存储量需求小、算法结构简单,是求解大规模无约束优化问题最有效的算法之一,近年来被推广到大规模非线性方程组问题,并成为最优化领域研究的一个热点[3−7].令f(x)=是欧几里得范数,则问题(1.1)与式(1.2)等价,非线性方程组问题(1.1)转化为如下无约束优化问题:

求解无约束优化问题(1.2)的共轭梯度法迭代公式如下:

式中dk是搜索方向,αk是搜索步长,βk+1是控制参数,不同的控制参数βk+1对应不同的共轭梯度法.FR算法[8]、PRP算法[9]和HS算法[10]等经典共轭梯度法已广泛被人们所熟知,其中FR方法的控制参数公式如下:

FR算法收敛性质较好,但因为可能会连续产生小步长而导致数值表现一般[8].PRP算法和HS算法数值表现较好的一个原因之一,是其搜索方向dk能够自动靠近负梯度方向[9−10],克服了FR算法的不足.因此,从PRP算法或HS算法中寻找更有效的FR方法的修正技术,理论上是有可能的.

在非精确线搜索分析中,设计具有不依赖任何线搜索自动满足充分下降条件[11−13]和信赖域性质[14−15]的搜索方向,所构建算法在更温和的条件下的全局收敛理论性质更好,数值结果表现更优.所谓的充分下降条件是:=−c‖gk‖2,∀k ∈N,c <0,信赖域性质是‖dk‖≤−c0‖gk‖,∀k ∈N,c0>0.近来,一类具有自动满足充分下降条件的共轭梯度算法,有效求解了非线性方程组问题[16−18].其中,文[16]提出了一类新型的无导数PRP共轭梯度算法,其搜索方向公式为:

式中:δk=gk+1−gk,γ >0.该算法保持了文[16]自动满足充分下降条件的性质,还克服了文[16]不具有的信赖域性质的不足,其搜索方向公式更为简便,算法效果更好.文[18]也有类似的思想,所设计的算法收敛性更快,数值结果更好.文[17-18]不仅能有效求解问题(1.1),特别在大规模优化问题上,效率更好.

基于以上讨论,本文在经典FR算法的基础提出一种新的搜索方向,结合超平面投影技术和文[18]的经典线搜索,设计一类针对非线性方程组的修正FR算法.研究表明该算法不仅自动满足充分下降条件,而且搜索方向具有信赖域性质,在一定条件下所提出的方法全局收敛.初步的数值实验也表明修正FR算法在求解非线性方程组方面更加高效.

2.MFR算法(Modified Fletcher-Reeves Method)

本节结合文献[17,18]的技术,在经典FR方法的基础上,设计一个新的搜索方向如下:

式中: 常数µ1>0,µ2>0.显然,在精确线搜索条件下,当目标函数为严格凸二次函数时,(2.1)式退化为经典FR方法.

为便于表述,本文将修正FR算法简称为MFR算法,其步骤如下:

算法1(MFR算法)

步0 给定初始点x0∈Rn.ε ∈(0,1),µ1>0,µ2>0,σ >0.令k:=0.

步1 若‖g(xk)‖<ε则停止;否则转步2.

步2 利用式(2.1)计算搜索方向dk.

步3 利用文[18]计算步长αk:

其中αk=max{s,λs,λ2s,···},σ >0,s>0,λ ∈(0,1).

步4 令迭代公式为zk=xk+αkdk.

步5 若‖g(zk)‖≤ε则停止,并令xk+1=zk;否则下一个迭代点xk+1取xk在超平面Hk=上的投影[19]:

步6 令k:=k+1,转步1.

3.全局收敛性

假设A非线性方程组问题(1.1)的解集是非空集合,水平集Ω={x∈Rn:f(x)≤f(x1)}有界.

假设B映射g在Rn →Rn上Lipschitz连续,即存在L>0,使得

由以上假设容易推出存在一个常数ξ >0,使得

引理3.1若搜索方向dk满足式(2.1),则下列性质成立:

证当k=0时,式(3.2)、式(3.3)显然成立.当k ≥1时,由式(2.1)有

即式(3.2)成立.因此由Cauchy-Schwartz不等式得

故式(3.3)左边不等式成立.

另一方面,式(2.1)两边同取范数,并再次利用Cauchy-Schwartz不等式得

综上所述,(3.3)式得证.证毕.

引理3.2[19]令假设A、B成立,序列{xk}由MFR算法产生,若x∗是非线性方程组(1.3)的解,即g(x∗)=0,则

成立.

以上引理及其证明详见文[19].

引理3.3若假设A、B成立,则MFR算法经有限次回溯后必产生迭代xk+1=xk+αkdk,即MFR算法有意义.

证反证法.假设MFR算法不停止或者‖gk‖→0不成立,则存在常数η >0,使得

下面证明: 线搜索(2.2)能保证获得一个正的步长,使之在有限步内终止,即证明满足线搜索(2.2)的步长αk有下界.利用反证法,假设存在k′使(2.2)不成立,则对∀m ∈N∪{0},令,有

由假设B和式(3.2)有

而根据式(3.1)、式(3.3),有

由式(3.3)、式(3.5)、式(3.6)得

根据以上三个引理,下面证明MFR算法在一般条件下全局收敛.

定理3.1设序列{αk,dk,xk+1,gk+1}由MFR算法产生,假设A,B成立,则

证反证法.假设式(3.7)不成立,则式(3.4)成立,故由式(3.3)有

因为由引理3.2中序列{xk}的有界性知道,必存在一个聚点和无限指数集N1,使

同理由式(3.1)、式(3.3)得到

也说明序列{dk}有界,因此也必存在一个聚点和无限指数集N2⊂N1,使

另外由引理3.2和引理3.3容易知道

因此

因为根据式(2.2)不难得到

当k →∞时,对所有k ∈N2,式(3.10)两边同取极限得

而当k →∞时,对所有k ∈N2,式(3.2)两边同取极限得

4.数值试验

为了验证MFR算法求解非线性方程组的有效性,下面将对表1中的测试问题进行数值实验,所选测试问题来自文[20-21].每个测试函数取[500,1000,3000,5000]等4种维数情形,并从迭代次数(NI)、函数值计算次数(NG)、算法终止时函数的范数值(GN)、实验所需时间(CPU time)等几方面将MFR算法的实验结果与传统FR方法的实验结果进行比较.

数值试验是在Win 7.Pentium Dual E5800 3.20GHz,内存2.0G的PC机上进行的,测试代码利用Matlab R2010b编写,各参数取值如下:µ1=0.99,µ2=0.01,ε=10−5,终止条件为‖g(x)‖≤10−5或者NI≥1000.表4.1列出了数值实验结果,表4.2列出6个测试问题的名称和初始点.

表4.1 数值结果

表4.2 测试问题

为了更加直观地比较两种算法对以上测试问题的数值表现,根据Dolan和Mo´re在文[22]中提出的评价方法,利用Matlab编写程序得到以下三个数值实验结果的比较图像:

图4.1 MFR算法与FR算法的NI性能比较

图4.2 MFR算法与FR算法的NG性能比较

图4.3 MFR算法与FR算法的CPU time性能比较

从图4.1-4.3,容易直观看出,无论是迭代次数、函数值计算次数,还是实验所需时间,代表MFR算法的曲线基本上都在代表传统FR算法的曲线上方,这表明MFR算法求解问题的成功概率更大,而且鲁棒性更强,稳定性更高.针对这本次的6个测试问题,两类算法是有效的,MFR算法总体效能优于FR方法.

5.结语

本文提出一种求解非线性方程组问题的MFR算法,该算法具有自动满足充分下降条件和信赖域性质的特点,具有很好的收敛性质;数值结果表明,MFR算法比经典FR算法更高效.未来我们将加大数值实验测试问题的个数和维数,如10个以上测试问题,每个问题的维数设定到5万维以上,进一步验证MFR算法的稳健性和有效性.同时,尝试将MFR算法推广到压缩感知等实际工程问题中,推广MFR算法的应用价值.

猜你喜欢

线性方程组共轭梯度
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
求解非线性方程组的Newton迭代与Newton-Kazcmarz迭代的吸引域
巧用共轭妙解题
一种自适应Dai-Liao共轭梯度法
一类扭积形式的梯度近Ricci孤立子
线性方程组解的判别
保护私有信息的一般线性方程组计算协议
基于Matlab实现线性方程组的迭代解法
地温梯度判定地热异常的探讨