-
考虑下列无约束问题:
其中
$\mathit{\boldsymbol{f}}:{\mathbb{R}^n} \to \mathbb{R}$ 二次连续可导.求解此类问题的方法有很多,共轭梯度法就是其中一类. PRP方法是共轭梯度法中最有效的方法之一[1-2],其公式为其中
此方法数值表现很出色,但理论结果不是很理想.
有学者认为该方法收敛性不好的原因在于βkPRP<0可能发生,另一个原因在于不具有充分下降性.对此Zhang[3]提出了一种3项共轭梯度公式:
该算法弥补了原算法自动下降性上的不足,但它不具备信赖域性质. Wei等[4]提出了一个新的公式:
其中
容易得到
可见βkWYL≥0,解决了βkPRP可能小于0的问题,并且在收敛性和数值结果方面都有一定的提升.基于以上方法,很多学者对此作了相应的研究[5-12].本文在已有研究基础上给出了一个新的搜索方向,此搜索方向自动具有充分下降性和信赖域特征.
全文HTML
-
本文给出如下改进的搜索方向:
此搜索方向不仅具有充分下降性,而且还有信赖域特征.
本文的算法步骤如下:
算法1(改进的PRP算法)
Step 0:给定
${\mathit{\boldsymbol{x}}_0} \in {\mathbb{R}^n}$ ,ε∈(0,1),$\delta \in \left( {0, \frac{1}{2}} \right)$ ,δ1∈(0,δ),σ∈(δ,1),c1,c2∈(0,1).令d1=-g1=$-\nabla \mathit{\boldsymbol{f}}\left( {{\mathit{\boldsymbol{x}}_1}} \right)$ ,k:=1.Step 1:如果‖gk‖≤ε,则停止;否则进行Step 2.
Step 2:通过MWWP线搜索[13]:
计算步长αk.
Step 3:令xk+1=xk+αkdk.
Step 4:若‖gk+1‖≤ε,则停止;否则进行Step 5.
Step 5:由式(4)计算搜索方向dk+1.
Step 6:令k:=k+1,返回Step 2.
注 (5)和(6)式是文献[13]中提出的一种修正的WWP线搜索,该线搜索技术保证了BFGS和PRP对一般函数的全局收敛性,并且在数值结果方面表现良好,所以本文采用此技术.
-
引理1 由式(4)的定义搜索方向满足如下性质:
证
1) 当k=0时,d0=-g0,性质显然成立.
2) 当k≥1时,
故性质(7)成立.以下验证性质(8),
综上所述,性质(7),(8)成立.证毕.
为了分析算法的全局收敛性,给出如下假设:
假设1 (A)水平集L0={x|f(x)≤f(x0)}有界.
(B) 设目标函数f(x)两次连续可微且下方有界,梯度函数g(x)满足Lipschitz连续且系数L>0,即
定理1 令{xk,αk,dk,gk}由算法1给出,且假设1成立,有
证 由MWWP线搜索和假设1(B)可知,
对不等式两边从k=0到∞求和并结合假设1(B),可知
即得
利用性质(7)得
通过MWWP线搜索以及式(9)和(7),可得
因此
其中
将不等式(12)代入到(11)式,得到(10)式,原命题成立.证毕.
-
本节为数值实验的结果分析,算法MPRP中具有固定初始点的测试函数[14],数值实验中,所有代码均为Matlab语言,测试环境是惠普笔记本电脑,CPU为Inter Pentium(R)Dual-Core E5800 3.2 GHz,操作系统为Window 7.
算法1中参数设定为δ=0.1,δ1=0.05,σ=0.9,c1=0.3,c2=0.5,实验的终止条件是‖gk‖≤10-5.数值结果见表 1,其中n表示问题的维数,I表示实验中的迭代次数,T表示函数值和梯度值的计算总次数.
从表 1可以看出,算法MPRP在计算维数相同的条件下,计算出结果所需要的迭代次数较少,且能有效求解.
为了分析算法的性能,利用文献[15]的技术比较MPRP算法与PRP算法关于函数值和梯度值的计算总次数的性能图(图 1).由图 1可以看出,MPRP具有更好的数值表现.
-
本文基于文献[13]的思路,运用了一种改进的WWP搜索方向技术求解无约束问题.在一定的条件下,证明了算法MPRP的下降性、全局收敛性等性质,实验结果也表明该算法是可行的.