1. 引言
在本文中,我们考虑以下无约束优化问题:
,其中
是一个连续可微函数,其梯度用g表示。单调线搜索方法来解决此问题要求每一次的迭代,目标函数值都要有下降,而非单调线搜索就不需要目标函数值连续下降,非单调线搜索最早是由Grippo [1] 于1986年提出。其具体格式如下:
给定常数a>0,
非负整数M,设定步长
满足下列不等式:
当M = 0时此不等式即变为标准的Armijo线搜索规则,非单调线搜索的一个优点是步长可以尽可能松散地选择,大量的数值实验表明,这种非单调线搜索技术是非常有效的,但也存在一些缺点,首先,由于上述不等式中的最大值函数,在任何迭代中生成的好的函数值基本上被丢弃。其次,在某些情况下,该方法数值性能非常依赖于M的选择,MBFGS [2] 方法中采用的线搜索就是由Grippo [3] 提出的方法,因此我们想通过更改MBFGS方法中的线搜索规则 [4] 来获得一种新的MBFGS方法,从而获得更好的数值性能。
本文其余部分组织如下:第二部分详细介绍了新的MBFGS方法;第三部分证明该算法的全局收敛性;第四部分给出数值实验结果。
2. 新的MBFGS算法
1.给定
,
,
,
,
,
,
,
2) 由
,计算下降方向
,如果
,取步长
,否则去步3。
3) 计算步长
,其中
是使得下列不等式成立的最大整数:
, (1.1)
其中
,
,
4) 计算
5) 迭代更新:
,
,
,
其中C,r > 0为给定常数。
3. 全局收敛性
在这一部分,为了建立起全局收敛性,需要先做以下几个假设 [5]:
1) 水平集
是有界的。
2) 在
的某些邻域N里,f是连续可微的且其导数Lipschitz连续 [6],也就是说存在一个常数L大于0使得
,也就是说由本算法产生的序列
是包含于
内的,此外,由假设得到,存在常数
使得
。
3) 假定存在正的常数
使得
,
(2.1)
引理1:假定假设2,3成立,如果
是满足(1.1)的步长,那么存在一个常数c大于0使得对每个k,都有下列不等式成立:
(2.2)
证明:我们将从两个方面来证明。
情况一:
,那么就有
则(2.2)成立
情况二:
在此种情况下,很明显对于获得的步长
不满足(1.1),因此,则有:
(2.3)
又由于中值定理,存在
使得:
(2.4)
联立(2.3),(2.4),则有:
(2.5)
其中
。
引理2:
,如果
,那么
。
证明:首先需证明:
, (2.5.2)
情况1:
由(2.1)有:
于是得证。
情况2:
则由(2.5)有
。
则由(2.1)和(1.1)
有:
于是(2.5.2)得证。
由(1.2):
,
又
有:
(2.6)
由于f有下界且由 [2] 中引理(1.1)式,
,我们可以得出
有下界的结论,
由(2.6)可得
。如果
在0附近则将违背此式,
因为由 [7] 中(2.14),
,于是
成立。
如果
,那么由 [8] 中(1.8):
因此
成立
于是得证。
4. 数值实验
实验环境:
硬件:R5 4600CPU、1650ti图形卡;
软件:VMware、Ubuntu系统、Matlab2016软件;
所有代码通过Matlab编程 [9],本文算法以NMBFGS为代号。
相关参数取值如下:
,
,
,
通过选取一些问题 [8] 进行求解,和标准的BFGS [10] 方法、MBFGS方法进行对比,得出一些数值结果如下:
通过以上实验数据可以看出,相同的无约束优化问题在使用我们的新算法进行计算时,取得了较好的数值结果,和BFGS [10] 以及MBFGS [11] 方法相比,明显减少了迭代次数,对于计算函数值次数和求导次数也有明显减少。
5. 结论
在适当条件下我们证明了这个新的算法对于一些非凸函数具有全局收敛性一些得出的数值结果也表明,相较于传统的单调线搜索,我们这种新的非单调线搜索在数值性能上具有更好的表现。
参考文献