1. 引言
本文主要研究无约束优化问题:
(1.1)
其中
是一个连续可微的函数。BFGS方法是求解无约束优化问题的一种非常有效的拟牛顿方法 [2] ,该方法具有如下迭代格式:
(1.2)
其中步长
可通过某种线性搜索得到,搜索方向
是以下线性方程的解,
(1.3)
这里
是f在x处的梯度,
是拟牛顿矩阵,由下面BFGS公式进行校正:
(1.4)
其中
,
。BFGS校正公式的一个重要性质当
,且
对称正定时,
也对称正定 [3] 。
Powell在文献 [4] 中证明了求解凸优化问题的BFGS方法只有全局收敛性。但对非凸优化问题,Dai [5] 和Mascarenhas [6] 给出例子说明采用Wolfe型非精确线性搜索和精确线性搜索的BFGS方法不一定具有全局收敛性。在文献 [1] 中,Liu提出了一种扰动的BFGS方法,简称PBFGS,在该算法中,搜索方向
由以下线性方程组确定。
(1.5)
这里的Q是一个给定的对称正定阵,
是扰动因子,满足
,Liu [1] 证明了该扰动方法在Wolfe搜索下求解非凸问题具有全局收敛性。对Armijo搜索,该文未讨论其收敛性,原因是在Armijo搜索下
不一定大于0。
本节,我们给出具体的Armijo搜索下扰动的BFGS方法,我们采用Li在文献 [7] 中给出的BFGS公式校正迭代矩阵
。
(1.6)
其中
与
的取值与(1.4)式一致。值得指出的是,(1.6)式中只要
对称正定,则得到的迭代矩阵序列
总是对称正定的。在第二节中,我们给出具体算法并分析其全局收敛性。在第三节中,我们进行数值实验,验证在Armijo搜索下该扰动方法的计算效果。
2. 算法与收敛性分析
本文考虑该扰动的BFGS方法在Armijo搜索下的全局收敛性。下面我们给出算法的具体步骤。
算法1 (Armijo搜索下的PBFGS算法):
步0:选择初始点
和初始的对称正定矩阵
以及
。选取常数
,
以及
。令
,
以及
。
步1:解线性方程组
(2.1)
解得
。转步2。
步2:由Armijo线性搜索 [8]
(2.2)
来确定
,其中
的取值为集合
中使上面不等式成立的最大者。然后令
。
步3:由修正公式
(2.3)
确定
。
步4:如果
,令
,
,
。否则令
以及
(2.4)
其中,
。
步5:令
然后转步1。
在以上的算法中,
按照如下规则逐渐减小
(2.5)
其中
,并且
,i取值是
中的一个指标。所以
中必存在一个公比不超过
的几何子序列,如果
(2.6)
成立,那么
为单调非增序列,并且当
时,有
。由此可得,当
有界时,
,从而
,(2.1)式逐渐逼近于(1.3)式。
下面证明算法的全局收敛性,在证明之前需作如下假设:
假设1:存在一个水平集
是一个有界集,函数
在
上有Lipschitz连续的梯度,即存在常数
使得
(2.7)
由(2.3)式所产生的矩阵
总是正定的,从而序列
是单调递减的,由假设可知
是有界的,因而
有下界。由Armijo线性搜索不等式(2.2)可得
将上面k个式子累加
因此
其中常数
,由此可推出
(2.8)
为了方便证明收敛性,根据步4可定义指标集合
(2.9)
下面为了证明算法的全局收敛性,我们先证明几个重要的引理。
引理1:假定集合
是有限集,则算法所产生的步长序列
有非零的下界,并且当
时,
。
证明:假定
是有限集,即
被减小有限次,也就是说存在一个整数
使得对任意的
都有
。由于
是正定的,那么对于所有的k,有
(2.10)
由Armijo型线性搜索准则知,当
时,
不满足(2.2)式 [5] [9] ,那么我们有 [9]
(2.11)
通过中值定理以及
的Lipschitz连续性,存在一个
,可得
, (2.12)
这里的
是
的Lipschitz常数。再将(2.12)式代入(2.11)式可得
(2.13)
当
时,显然可得
。又由(2.8),(2.10)可得
因此,
时,
。
引理2. 如果
是无限集,而
是有限集,则必有
(2.14)
证明:令
和
,那么有
。当
为有限集时,可从集合
的定义
,这里
以及算法的步4知,对任意的
,并且
,有
。又由修正的拟牛顿方法
,那么
也满足
所以有
(2.15)
由(2.11)式和(2.12)式可得
由上面不等式及
,我们可推出
将(2.15)式代入上式,从而
进一步由(2.8)式及上面的结论有
可得
(2.16)
并且对所有的
,我们有
因此由(2.16)式的结论可得
引理3:如果
是有限集并且
也是有限集,那么有
证明:反设存在一个正数
使得对所有的k有
成立。由算法的步4可知,当
时,有
,且
(2.17)
当
为有限集时,对所有的
有(2.10)式成立。由引理1和(2.8)可知,当
时,
。进一步由修正后的拟牛顿公式(2.1)以及(2.17)式可得,对所有的
有下面不等式
以上结论说明
但是这与假设矛盾,所以必定有(2.14)成立。
在引理2和引理3的基础上,下面我们证明算法1的全局收敛性。
定理1:设序列
由算法产生且满足假设1,那么
(2.18)
证明:这里需要考虑两种情形:(i)
是无限集和(ii)
是有限集。
对情形(i):由
的定义
及(2.4)式可知
中必存在一个公比不超过
的几何子序列,那么此时必有(2.18)式成立。
对情形(ii):这时需要考虑
是无限集还是有限集这两种情况。在引理2和引理3中,我们已证明在这两种情况下,结论(2.18)总是成立的,即
被减小无穷多次。因此,由
的定义可知情形(ii)是不可能出现的。
由定理1可以得到,
一定无限次的减小,即
时,
。当
有界,且k充分大时,有
,显然当
时,也可得到
。
3. 数值试验及结果分析
为了验证本文提出的算法对实际问题的可行性,我们进行了数值实验及结果分析。数值实验是通过MATLAB7.0编程,程序在3.2 GHZ处理器,2 GB内存的电脑上实现。本文的所有测试问题以及问题的初始点均选自参考文献 [10] 。这些问题也被文献 [1] 采用来测试扰动的BFGS方法。为了体现算法的有效性,本文将计算结果与文献 [1] 提出的扰动的BFGS方法(PBFGS)和原始的BFGS方法的计算结果作比较。同时规定
为算法的终止条件,并规定算法中的常数和参数的取值为:
。测试问题如下:
问题1:
。
问题2:
。
问题3:
。
问题4:
,其中
。
问题5:
。
问题6:
。

Table 1. Experimental results of algorithm
表1. 算法的数值实验结果
表1中表头的各个变量的具体意义如下:pro表示被测问题序号,ite表示迭代次数,gn表示目标函数梯度的计算次数,BFGS表示使用Wolfe搜索下的BFGS方法,PBFGS表示使用Wolfe搜索下的扰动的BFGS方法,PBFGS (Armijo)表示本文提出的Armijo搜索下的扰动的BFGS方法。
从表1的各项数据可以看出,本论文提出的算法能有效地解决各类问题并且能保持BFGS的仿射不变性。虽然在求解其中几个问题时,Armijo搜索下扰动的BFGS方法的迭代次数相对于PBFGS方法多几步,是因为PBFGS方法采用的是Wolfe搜索,对于步长的搜索优于Armijo搜索。与BFGS方法的迭代次数相比,本文研究的算法数值效果会优于Wolfe搜索下的BFGS方法。总的来说,我们的Armijo搜索下扰动的BGFS方法效果较好。
致谢
本篇论文,我首先要感谢我的导师周伟军教授及我的同班同学,从论文选题、论文的撰写、修改到最终完稿,他们都给予了我很大的帮助。其次,我要感谢我父母对我的支持,是父母的辛勤培育,才造就我现在的学习成果。