Armijo搜索下求解无约束优化问题的扰动BFGS方法
The Perturbed BFGS Method for the Unconstrained Optimization with the Armijo Line Search
DOI: 10.12677/AAM.2019.82029, PDF, HTML, XML, 下载: 1,197  浏览: 4,204 
作者: 严娇娇:长沙理工大学数学与统计学院,湖南 长沙
关键词: BGFS方法Armijo线性搜索全局收敛性BGFS Method Armijo Linear Search Global Convergence
摘要: 文献[1]提出了一种求解无约束优化问题的扰动BFGS方法,并在Wolfe搜索下证明了其全局收敛性。本文证明了该扰动BFGS方法在较弱的Armijo线性搜索下求解非凸问题也具有全局收敛性。数值结果表明在Armijo搜索下该方法也具有较好的数值效果。
Abstract: In [1], a perturbed BFGS method was proposed to solve the unconstrained optimization and was proved to be globally convergent when the Wolfe line search was used. In this paper, we show that the perturbed BFGS method also possesses global convergence for nonconvex problems with the relatively weaker Armijo line search. Numerical results show that this method with the Armijo search is also promising.
文章引用:严娇娇. Armijo搜索下求解无约束优化问题的扰动BFGS方法[J]. 应用数学进展, 2019, 8(2): 250-257. https://doi.org/10.12677/AAM.2019.82029

1. 引言

本文主要研究无约束优化问题:

min f ( x ) , x R n , (1.1)

其中 f : R n R 是一个连续可微的函数。BFGS方法是求解无约束优化问题的一种非常有效的拟牛顿方法 [2] ,该方法具有如下迭代格式:

x k + 1 = x k + α k d k , k 1 , (1.2)

其中步长 α k 可通过某种线性搜索得到,搜索方向 d k 是以下线性方程的解,

B k d k + f ( x k ) = 0 , (1.3)

这里 f ( x ) 是f在x处的梯度, B k 是拟牛顿矩阵,由下面BFGS公式进行校正:

B k + 1 = B k B k s k s k T B k s k T B k s k + y k y k T y k T s k , (1.4)

其中 s k = x k + 1 x k y k = f ( x k + 1 ) f ( x k ) 。BFGS校正公式的一个重要性质当 y k T s k > 0 ,且 B k 对称正定时, B k + 1 也对称正定 [3] 。

Powell在文献 [4] 中证明了求解凸优化问题的BFGS方法只有全局收敛性。但对非凸优化问题,Dai [5] 和Mascarenhas [6] 给出例子说明采用Wolfe型非精确线性搜索和精确线性搜索的BFGS方法不一定具有全局收敛性。在文献 [1] 中,Liu提出了一种扰动的BFGS方法,简称PBFGS,在该算法中,搜索方向 d k 由以下线性方程组确定。

( B k + μ k Q ) d k + f ( x k ) = 0 , (1.5)

这里的Q是一个给定的对称正定阵, μ k 是扰动因子,满足 μ k > 0 ,Liu [1] 证明了该扰动方法在Wolfe搜索下求解非凸问题具有全局收敛性。对Armijo搜索,该文未讨论其收敛性,原因是在Armijo搜索下 y k T s k 不一定大于0。

本节,我们给出具体的Armijo搜索下扰动的BFGS方法,我们采用Li在文献 [7] 中给出的BFGS公式校正迭代矩阵 B k

B k + 1 = { B k B k s k s k T B k s k T B k s k + y k y k T y k T s k ,   y k T s k > 0 B k ,                   (1.6)

其中 s k y k 的取值与(1.4)式一致。值得指出的是,(1.6)式中只要 B 0 对称正定,则得到的迭代矩阵序列 { B k } 总是对称正定的。在第二节中,我们给出具体算法并分析其全局收敛性。在第三节中,我们进行数值实验,验证在Armijo搜索下该扰动方法的计算效果。

2. 算法与收敛性分析

本文考虑该扰动的BFGS方法在Armijo搜索下的全局收敛性。下面我们给出算法的具体步骤。

算法1 (Armijo搜索下的PBFGS算法):

步0:选择初始点 x 1 R n 和初始的对称正定矩阵 B 1 R n × n 以及 Q = I 。选取常数 0 < σ 1 < σ 2 < 1 ρ , τ , η ( 0 , 1 ) , ε 1 > 0 以及 M B > 1 。令 μ 1 = ε 1 δ = f ( x 1 ) 以及 k = 1

步1:解线性方程组

( B k + μ k Q ) d k + f ( x k ) = 0 , (2.1)

解得 d k 。转步2。

步2:由Armijo线性搜索 [8]

f ( x k + α k d k ) f ( x k ) σ 1 α k f ( x k ) T d k , (2.2)

来确定 α k ,其中 α k 的取值为集合 { ρ , ρ 2 , ρ 3 , } 中使上面不等式成立的最大者。然后令 x k + 1 = x k + α k d k

步3:由修正公式

B k + 1 = { B k B k s k s k T B k s k T B k s k + y k y k T y k T s k , y k T s k > 0 B k ,                 (2.3)

确定 B k + 1

步4:如果 f ( x k + 1 ) / δ η ,令 ε k + 1 = τ ε k μ k + 1 = ε k + 1 δ = f ( x k + 1 ) 。否则令 ε k + 1 = ε k 以及

μ k + 1 = { ε k + 1 B k + 1 F , B k + 1 F M k + 1 ε k + 1 , (2.4)

其中, M k = max { M B , 1 / f ( x k ) }

步5:令 k = k + 1 然后转步1。

在以上的算法中, ε k 按照如下规则逐渐减小

ε k + 1 = { τ ε k , f ( x k + 1 ) / δ η ε k , (2.5)

其中 τ , η ( 0 , 1 ) ,并且 δ = f ( x i ) ,i取值是 [ 1 , k ] 中的一个指标。所以 { f ( x k ) } 中必存在一个公比不超过 η 的几何子序列,如果

lim inf k f ( x k ) = 0 (2.6)

成立,那么 { ε k } 为单调非增序列,并且当 k 时,有 ε k 0 。由此可得,当 B k F 有界时, ε k B k F 0 ,从而 μ k 0 ,(2.1)式逐渐逼近于(1.3)式。

下面证明算法的全局收敛性,在证明之前需作如下假设:

假设1:存在一个水平集 Ω = { x R n | f ( x ) f ( x 1 ) } 是一个有界集,函数 f ( x ) Ω 上有Lipschitz连续的梯度,即存在常数 L > 0 使得

f ( x ) f ( y ) L x y , ( x , y Ω ) . (2.7)

由(2.3)式所产生的矩阵 B k 总是正定的,从而序列 { f ( x k ) } 是单调递减的,由假设可知 Ω = { x R n | f ( x ) f ( x 1 ) } 是有界的,因而 f ( x ) 有下界。由Armijo线性搜索不等式(2.2)可得

f ( x 1 + α 1 d 1 ) f ( x 1 ) σ 1 α 1 f ( x 1 ) T d 1 f ( x k + α k d k ) f ( x k ) σ 1 α k f ( x k ) T d k

将上面k个式子累加

f ( x k + α k d k ) f ( x 1 ) σ 1 k = 1 α k f ( x k ) T d k .

因此

k = 1 α k f ( x k ) T d k C 1 δ 1 < + .

其中常数 C 1 = f ( x k + α k d k ) f ( x 1 ) < 0 ,由此可推出

lim k + α k f ( x k ) T d k = lim k + f ( x k ) T s k = 0. (2.8)

为了方便证明收敛性,根据步4可定义指标集合

K τ = { k : ε k + 1 = τ ε k } , K B = { k : B k F M k } . (2.9)

下面为了证明算法的全局收敛性,我们先证明几个重要的引理。

引理1:假定集合 K τ 是有限集,则算法所产生的步长序列 { α k } 有非零的下界,并且当 k 时, d k 0

证明:假定 K τ 是有限集,即 ε k 被减小有限次,也就是说存在一个整数 k 1 使得对任意的 k k 1 都有 ε k = ε k 1 。由于 B k 是正定的,那么对于所有的k,有

f ( x k ) T d k = d k T ( B k + μ k I ) d k ε k B k F d k 2 ε k min { 1 , M B } d k 2 . (2.10)

由Armijo型线性搜索准则知,当 α k 1 时, ρ 1 α k 不满足(2.2)式 [5] [9] ,那么我们有 [9]

f ( x k + ρ 1 α k d k ) f ( x k ) > σ 1 ρ 1 α k f ( x k ) T d k . (2.11)

通过中值定理以及 f ( x ) 的Lipschitz连续性,存在一个 θ k ( 0 , 1 ) ,可得

f ( x k + ρ 1 α k d k ) f ( x k ) = ρ 1 α k f ( x k + θ k ρ 1 α k d k ) T d k = ρ 1 α k f ( x k ) T d k + ρ 1 α k [ f ( x k + θ k ρ 1 α k d k ) T f ( x k ) ] d k ρ 1 α k f ( x k ) T d k + L ρ 2 α k 2 d k 2 (2.12)

这里的 L > 0 f ( x k ) 的Lipschitz常数。再将(2.12)式代入(2.11)式可得

α k ( 1 σ 1 ) ρ f ( x k ) T d k L d k 2 = ( 1 σ 1 ) ρ d k T ( B k + μ k I ) d k L d k 2 ( 1 σ 1 ) ρ ε k 1 L min { 1 , M B } > 0. (2.13)

α k = 1 时,显然可得 α k > 0 。又由(2.8),(2.10)可得

0 = lim k + α k f ( x k ) T d k = lim k + α k d k T ( B k + μ k I ) d k lim k + α k ε k min { 1 , M B } d k 2 > 0 ,

因此, k 时, d k 0

引理2. 如果 K B 是无限集,而 K τ 是有限集,则必有

lim k inf f ( x k ) = 0. (2.14)

证明:令 α ^ k = α k / B k F d ^ k = B k F d k ,那么有 α ^ k d ^ k = α k d k 。当 K τ 为有限集时,可从集合 K B 的定义 K B = { k : B k F M k } ,这里 M k = max { M B , 1 / f ( x k ) } 以及算法的步4知,对任意的 k k 1 ,并且 k K B ,有 μ k = ε k 1 B k F 。又由修正的拟牛顿方法 ( B k + μ k I ) d k + f ( x k ) = 0 ,那么 d k 也满足

B k d k + ε k 1 B k F d k + f ( x k ) = 0.

所以有

f ( x k ) T d ^ k = d k T B k d ^ k + ε k 1 d ^ k 2 . (2.15)

由(2.11)式和(2.12)式可得

L ρ 2 α k 2 d k 2 ( σ 1 ) ρ 1 α k f ( x k ) T d k .

由上面不等式及 α ^ k d ^ k = α k d k ,我们可推出

L ρ 2 α ^ k 2 d ^ k 2 ( σ 1 ) ρ 1 α ^ k f ( x k ) T d ^ k ,

将(2.15)式代入上式,从而

α ^ k ( 1 σ 1 ) ρ f ( x k ) T d ^ k L d ^ k 2 = ( 1 σ 1 ) ρ ( d k T B k d ^ k + ε k 1 d ^ k 2 ) L d ^ k 2 ( 1 σ 1 ) ρ ε k 1 L > 0.

进一步由(2.8)式及上面的结论有

0 = lim k + α ^ k f ( x k ) T d ^ k = lim k + α ^ ( d k T B k d ^ k + ε k 1 d ^ k 2 ) lim k + α ^ k ε k 1 d ^ k 2 > 0.

可得

lim k , k K B d ^ k = 0. (2.16)

并且对所有的 k K B ,我们有

f ( x k ) B k d ^ k / B k F + ε k 1 d ^ k ( 1 + ε k 1 ) d ^ k .

因此由(2.16)式的结论可得

lim k inf f ( x k ) = 0.

引理3:如果 K B 是有限集并且 K τ 也是有限集,那么有

lim k inf f ( x k ) = 0.

证明:反设存在一个正数 γ 使得对所有的k有 f ( x k ) γ 成立。由算法的步4可知,当 k K B 时,有 μ k = ε k ,且

B k F < max { M B , 1 / f ( x k ) } max { M B , 1 / γ } . (2.17)

K τ 为有限集时,对所有的 k k 1 有(2.10)式成立。由引理1和(2.8)可知,当 k 时, d k 0 。进一步由修正后的拟牛顿公式(2.1)以及(2.17)式可得,对所有的 k K B 有下面不等式

f ( x k ) ( B k + ε k ) d k ( B k F + ε 1 ) d k ( max { M B , 1 / γ } + ε 1 ) d k

以上结论说明

lim k , k K B inf f ( x k ) = 0 ,

但是这与假设矛盾,所以必定有(2.14)成立。

在引理2和引理3的基础上,下面我们证明算法1的全局收敛性。

定理1:设序列 { x k } 由算法产生且满足假设1,那么

lim k inf f ( x k ) = 0. (2.18)

证明:这里需要考虑两种情形:(i) K τ 是无限集和(ii) K τ 是有限集。

对情形(i):由 K τ 的定义 K τ = { k : ε k + 1 = τ ε k } 及(2.4)式可知 { f ( x k ) } 中必存在一个公比不超过 0 < η < 1 的几何子序列,那么此时必有(2.18)式成立。

对情形(ii):这时需要考虑 K B 是无限集还是有限集这两种情况。在引理2和引理3中,我们已证明在这两种情况下,结论(2.18)总是成立的,即 ε k 被减小无穷多次。因此,由 K τ 的定义可知情形(ii)是不可能出现的。

由定理1可以得到, ε k 一定无限次的减小,即 k + 时, ε k 0 。当 B k 有界,且k充分大时,有 μ k = ε k ,显然当 k + 时,也可得到 μ k 0

3. 数值试验及结果分析

为了验证本文提出的算法对实际问题的可行性,我们进行了数值实验及结果分析。数值实验是通过MATLAB7.0编程,程序在3.2 GHZ处理器,2 GB内存的电脑上实现。本文的所有测试问题以及问题的初始点均选自参考文献 [10] 。这些问题也被文献 [1] 采用来测试扰动的BFGS方法。为了体现算法的有效性,本文将计算结果与文献 [1] 提出的扰动的BFGS方法(PBFGS)和原始的BFGS方法的计算结果作比较。同时规定 f ( x k ) 10 6 为算法的终止条件,并规定算法中的常数和参数的取值为: σ 1 = 0.001 , σ 2 = 0.9 , η = 0.5 , τ = 0.7 , ε 1 = 1.0 , M B = 10 10 , B = I 。测试问题如下:

问题1: min f ( x ) = 100 ( x 1 2 x 2 ) 2 + ( x 1 1 ) 2

问题2: min f ( x ) = ( 10 4 x 1 x 2 1 ) 2 + ( e x 1 + e x 2 1.0001 ) 2

问题3: min f ( x ) = 100 ( x 1 2 x 2 ) 2 + ( x 1 1 ) 2

问题4: min f ( x ) = 100 ( x 3 10 θ ( x 1 , x 2 ) ) 2 + 100 ( ( x 1 2 + x 2 2 ) 1 / 2 1 ) 2 + x 3 2 ,其中

θ ( x 1 , x 2 ) = { 1 arctan ( x 2 x 1 ) , x 1 > 0 1 arctan ( x 2 x 1 ) + 0.5 , x 1 < 0

问题5: min f ( x ) = ( x 1 + 10 x 2 ) 2 + 5 ( x 3 x 4 ) 2 + ( x 2 2 x 3 ) 4 + 10 ( x 1 x 4 ) 4

问题6: min f ( x ) = 100 ( x 2 x 1 2 ) 2 + ( 1 x 1 ) 2 + 90 ( x 4 x 3 2 ) 2 + ( 1 x 3 ) 2 + 10 ( x 2 + x 4 2 ) 2 + 10 ( x 2 x 4 ) 2

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方法效果较好。

致谢

本篇论文,我首先要感谢我的导师周伟军教授及我的同班同学,从论文选题、论文的撰写、修改到最终完稿,他们都给予了我很大的帮助。其次,我要感谢我父母对我的支持,是父母的辛勤培育,才造就我现在的学习成果。

参考文献

[1] 刘陶文. BFGS方法及其在求解约束优化问题中的应用[D]: [博士学位论文]. 长沙: 湖南大学, 2006.
[2] 李董辉, 童小娇, 万中. 数值最优化算法与理论[M]. 北京: 科学出版社, 2010: 51-63.
[3] 袁亚湘, 孙文瑜. 最优化理论与方法[M]. 北京: 中国科学出版社, 2001: 1-627.
[4] Powell, M.J.D., Cottle, R.W. and Lemke, C.E. (1976) Some Convergence Properties of a Variable Metric Algorithm for Minimization without Exact Line Search. SIAM Publications, 53-72.
[5] Dai, Y.H. (2002) Convergence Properties of the BFGS Algorithm. SIAM Journal on Optimization, 13, 693-701.
https://doi.org/10.1137/S1052623401383455
[6] Mascarenhas, W.F. (2004) The BFGS Method with Exact Line Searches Fails for Non-Convex Objective Functions. Mathematical Programming, 99, 49-61.
https://doi.org/10.1007/s10107-003-0421-7
[7] Li, D.H. and Fukushima, M. (2001) On the Global Conver-gence of the BFGS Method for Nonconvex Unconstrained Problems. SIAM Journal on Optimization, 11, 1054-1064.
https://doi.org/10.1137/S1052623499354242
[8] Armijo, L. (1966) Minimization of Functions Having Lipschitz Continuous Partial Derivatives. Pacific Journal of Mathematics, 16, 1-3.
https://doi.org/10.2140/pjm.1966.16.1
[9] Li, D.H. and Fukushima, M. (2001) A Modified BFGS Method and Its Global Convergence in Nonconvex Minimization. Journal of Computational and Applied Mathematics, 192, 15-35.
https://doi.org/10.1016/S0377-0427(00)00540-9
[10] More, J.J., Garbow, B.S. and Hillstrom, K.E. (1981) Testing Unconstrained Optimization Software. ACM Transactions on Mathematical Software, 7, 17-41.
https://doi.org/10.1145/355934.355936