基于Armijo非单调线搜索的修正LM方法
A Modified Levenberg-Marquardt Method with an Armijo Nonmonotone Line Search
DOI: 10.12677/AAM.2022.119689, PDF, HTML, XML, 下载: 209  浏览: 279 
作者: 陈 咪:长沙理工大学数学与统计学院,湖南 长沙
关键词: 非线性方程组LM方法非单调线搜索全局收敛Nonlinear Equations LM Method Nonmonotone Line Search Global Convergence
摘要: 近年来,非线性方程组问题越来越多地出现在科学与工程领域中。Levenberg-Marquardt (LM)方法是解决此问题的有效方法。为了避免信赖域步不可取的情况,文章提出一种基于非单调线搜索技术的修正LM方法,同样保证了算法在局部误差界的条件下达到全局收敛,并在文末附上了相应的数值结果,证明算法是有效的。
Abstract: Recently, systems of nonlinear equations have wide application in fields of science and engineering. The Levenberg-Marquardt method is an effective method to solve this problem. In this paper, we propose a modified Levenberg-Marquardt method by using a nonmonotone line search technique for the nonlinear equations system to avoid the situation where a trust step is not acceptable. The global and cubic convergence of this new method is also preserved under the local error bound con-dition. Finally, some numerical results are reported, which show that the algorithm is efficient.
文章引用:陈咪. 基于Armijo非单调线搜索的修正LM方法[J]. 应用数学进展, 2022, 11(9): 6511-6520. https://doi.org/10.12677/AAM.2022.119689

1. 前言

考虑如下非线性方程组:

F ( x ) = 0 (1)

其中 F : R n R n 是连续可微的。文章中,假设(1)的解集X非空,符号 · 指2-范数。

Levenberg-Marquardt方法(LM)是解决问题(1)的一种经典有效的方法。

为了进一步提高算法的收敛速度,范在文 [1] 中提出一种修正的LM方法。该算法结合信赖域技术,采用两步走的方式,每一次迭代过程中通过求解以下方程组来计算两个步长 d k L M d k M L M

( J k T J k + λ k I ) d = J k T F k ( J k T J k + λ k I ) d = J k T F ( y k )

其中 J k = F ( x k ) 是F在 x k 处的雅克比矩阵, F k = F ( x k ) λ k = μ k F k δ , δ [ 1 , 2 ] μ k > 0 由信赖域技术更新, y k = x k + d k L M 。该算法具有全局收敛性和三次收敛速度。但是算法中的搜索方向可能不是问题(1)的优化函数 F ( x ) 2 的下降方向。在范文章的基础上,郭和黄 [2] 提出了新的非单调修正L-M方法。新算法在每次迭代步都引入校正步,使新的试探步更靠近Moore-Penrose步。Chen、Ma [3] 还提出了多步走的LM方法。何和马在文 [4] 中利用非单调搜索准则提出求解非线性方程组的修正LM算法(L-M算法),该算法中,当试探步未被接受时,执行非单调线搜索来获取下一个迭代点。

周在文 [5] 中提出了一种新的非单调二阶Armijo线搜索方式,通过下式更新算法的步长因子:

F ( x k + α d k + α 2 d ^ k ) 2 F k 2 σ 1 α 2 d k 2 σ 2 α 2 d ^ k 2 σ 3 α 2 F k 2 + ε k F k 2

其中 { ε k } 是给定的正数列,满足 k = 0 ε k < 。周 [4] 结合上述非单调线搜索,进一步修正了LM算法,同样

确保了算法在局部误差界的条件下具有全局收敛性,且有三次收敛速度。He、Ma和Fan [6] 在周 [5] 的基础上,结合平均值型线搜索提出一种修正LM方法,该方法同样具有全局收敛性以及三次收敛速度。

目前,还有许多其他方法 [7] [8] [9] 都是解决问题(1)的有效方法。

文章在文 [1]、文 [5] 和文 [6] 的基础上,结合Grippo L在文 [10] 中提出的Max型Armijo非单调线搜索,构造一种基于Armijo非单调线搜索的修正LM方法。

2. 算法及其全局收敛性

定义(1)的优化函数为 f ( x ) = F ( x ) 2

假设1

a) 水平集 Ω 1 = { x | f ( x ) f ( x 0 ) } Ω 是有界闭集

b) F ( x ) 和其雅可比矩阵 J ( x ) 在水平集 Ω 1 上Lipschitz连续,即存在正常数L使得

F ( x ) F ( y ) L x y , x , y Ω 1 , (6)

J ( x ) J ( y ) L x y , x , y Ω 1 , (7)

由(6)易知 J ( x ) L , x Ω 1

J k 的SVD分解为 J k = U Σ V T ,其中U和V正交矩阵, Σ 是一对角矩阵,其对角元素为 σ i 0 , i = 1 , , n ,且 σ 1 σ 2 σ 3 σ n 。由(7)知 σ 1 L

引理 1 设假设1成立,若存在 τ 1 > 0 使得 F ( x ) τ 1 , x Ω 1 ,则存在常数 C 1 , C 2 > 0 使得下式成立

F k T J k d k C 1 J k T F k 2 (8)

F T ( y k ) J k d k C 1 J k T F k 2 (9)

d k C 2 J k T F k (10)

d ^ k C 2 J k T F ( y k ) (11)

证明:由 ( J k T J k + λ k I ) d k = J k T F k ,可以得到

F k T J k d k = F k T J k ( J k T J k + λ k I ) 1 J k T F k = F k T J k V ( Σ 2 + λ k I ) 1 V T J k T F k = A k T ( Σ 2 + λ k I ) 1 A k ( σ 1 2 + λ k ) 1 A k T A k ( L 2 + μ M ) 1 F k T J k J k T F k C 1 J k T F k 2

d k = ( J k T J k + λ k I ) 1 J k T F k ( J k T J k + λ k I ) 1 J k T F k λ k 1 J k T F k = ( μ F k ) 1 J k T F k ( μ τ 1 ) 1 J k T F k C 2 J k T F k

其中 C 1 = ( L 2 + μ M ) 1 C 2 = ( μ τ 1 ) 1 A k = V T F k T J k

同理,可以得到(9)和(11)。

引理 2 设 { x k } 是由算法1产生的序列,则总存在正常数使得下式成立

F ( x k + α d k + α 2 d ^ k ) 2 max 0 j m ( k ) { F ( x k j ) 2 } + σ 1 α 2 F k T J k d k + σ 2 α 2 F T ( y k ) J k d ^ k

其中 m ( 0 ) = 0 0 m ( k ) min [ m ( k 1 ) + 1 , M 0 ] k 1

证明:用反证法证明。假设对 α 0 < α 1 都有

F ( x k + α d k + α 2 d ^ k ) 2 > max 0 j m ( k ) { F ( x k j ) 2 } + σ 1 α 2 F k T J k d k + σ 2 α 2 F T ( y k ) J k d ^ k

则有

F ( x k + α d k + α 2 d ^ k ) 2 F ( x k ) 2 > σ 1 α 2 F k T J k d k + σ 2 α 2 F T ( y k ) J k d ^ k

对上式两边同除α,有

F ( x k + α d k + α 2 d ^ k ) 2 F ( x k ) 2 α > σ 1 α F k T J k d k + σ 2 α F T ( y k ) J k d ^ k

α 0 + ,由极限的性质有

2 F k T J k d k 0

然而,由于 ( J k T J k + λ k I ) 1 是正定的, d k = ( J k T J k + λ k I ) 1 J k T F k ,则有 F k T J k d k < 0

显然,这是矛盾的,则原命题成立。这也意味着算法中所使用的线搜索技术是可行的。

定理1 设假设1成立。则算法1将有限终止,或满足 lim inf k J k T F k = 0

证明:用反证法证明。

假设 k ¯ > 0 τ > 0 ,s.t. k k ¯ J k T F k τ 。则 τ 1 > 0 ,s.t. F k τ 1

l ( k ) 是满足下式的整数

{ k m ( k ) l ( k ) k f ( x l ( k ) ) = F ( x l ( k ) ) 2 = max 0 j m ( k ) [ f ( x k j ) ]

m ( k + 1 ) m ( k ) + 1 ,知

f ( x l ( k + 1 ) ) = max 0 j m ( k + 1 ) [ f ( x k + 1 j ) ] max 0 j m ( k ) + 1 [ f ( x k + 1 j ) ] = max 0 j m ( k ) + 1 max k [ f ( x k + 1 ) , f ( x k j ) ] = max k [ f ( x k + 1 ) , f ( x l ( k ) ) ] = f ( x l ( k ) )

{ f ( x l ( k ) ) } 非增。对 k > M

f ( x l ( k ) ) = f ( x l ( k ) 1 + α l ( k ) 1 d l ( k ) 1 + α l ( k ) 1 2 d ^ l ( k ) 1 ) max 0 j m ( l ( k ) 1 ) [ f ( x l ( k ) 1 j ) ] + σ 1 α l ( k ) 1 2 F l ( k ) 1 T J l ( k ) 1 d l ( k ) 1 + σ 2 α l ( k ) 1 2 F T ( x l ( k ) 1 + d l ( k ) 1 ) J l ( k ) 1 d ^ l ( k ) 1 = f ( x l ( l ( k ) 1 ) ) + σ 1 α l ( k ) 1 2 F l ( k ) 1 T J l ( k ) 1 d l ( k ) 1 + σ 2 α l ( k ) 1 2 F T ( x l ( k ) 1 + d l ( k ) 1 ) J l ( k ) 1 d ^ l ( k ) 1

定义上式为(12)。

因为 F ( x ) Ω 1 上Lipschitz连续,则 F ( x ) Ω 1 上一致连续,则有

lim k f ( x l ( k ) ) = lim k f ( x l ( l ( k ) 1 ) ) (13)

由(11)以及(12),可知

lim k ( α l ( k ) 1 2 F l ( k ) 1 T J l ( k ) 1 d l ( k ) 1 + α l ( k ) 1 2 F T ( x l ( k ) 1 + d l ( k ) 1 ) J l ( k ) 1 d ^ l ( k ) 1 ) = 0

由于上式的两加数都非正,则有

lim k α l ( k ) 1 2 F l ( k ) 1 T J l ( k ) 1 d l ( k ) 1 = 0

lim k α l ( k ) 1 2 F T ( x l ( k ) 1 + d l ( k ) 1 ) J l ( k ) 1 d ^ l ( k ) 1 = 0

由引理1知, α k 2 F k T J k d k C 1 α k 2 J k T F k 2 C 1 C 2 2 α k 2 d k 2 ,则有

lim k α l ( k ) 1 2 J k T F k 2 = 0 lim k α l ( k ) 1 2 d l ( k ) 1 2 = 0

又因为 α k > 0 d k > 0 ,则有

lim k α l ( k ) 1 J k T F k = 0 (14)

lim k α l ( k ) 1 d l ( k ) 1 = 0 (15)

同理,可以得到

lim k α l ( k ) 1 d ^ l ( k ) 1 = 0 (16)

接下来证明 lim k α k d k = 0

l ^ ( k ) = l ( k + M + 2 )

首先证明 j 1 ,下式都成立

lim k α l ^ ( k ) j d l ^ ( k ) j = 0 (17)

lim k α l ^ ( k ) j d ^ l ^ ( k ) j = 0 (18)

lim k α l ^ ( k ) j J l ^ ( k ) j T F l ^ ( k ) j = 0 (19)

lim k f ( x l ^ ( k ) j ) = lim k f ( x l ( k ) ) (20)

用数学归纳法证明这些等式。

j = 1 时,因为 { l ^ ( k ) } { l ( k ) } ,由(14)、(15)、(16),易得到(17)、(18)以及(19)成立。等式

lim k α l ^ ( k ) 1 d l ^ ( k ) 1 = 0 也意味着 x l ^ ( k ) x l ^ ( x ) 1 0 。由 F ( x ) 的一致连续性有(20)成立。

下面,假设对某一 j 1 ,(17)至(20)成立。

则对 j + 1 ,由(12)知

f ( x l ^ ( k ) j ) f ( x l ( l ^ ( k ) j 1 ) ) + σ 1 α l ^ ( k ) j 1 2 F l ^ ( k ) j 1 T J l ^ ( k ) j 1 d l ^ ( k ) j 1 + σ 2 α l ^ ( k ) j 1 2 F T ( x l ^ ( k ) j 1 + d l ^ ( k ) j 1 ) J l ^ ( k ) j 1 d ^ l ^ ( k ) j 1

由上述假设,对上式令 k ,则有

lim k α l ^ ( k ) j 1 2 F l ^ ( k ) j 1 T J l ^ ( k ) j 1 d l ^ ( k ) j 1 = 0

lim k α l ^ ( k ) j 1 2 F T ( x l ^ ( k ) j 1 + d l ^ ( k ) j 1 ) J l ^ ( k ) j 1 d ^ l ^ ( k ) j = 0

同(15)、(16)的证明,可得到

lim k α l ^ ( k ) j 1 J l ^ ( k ) j 1 T F l ^ ( k ) j 1 = 0 lim k α l ^ ( k ) j 1 d l ^ ( k ) j 1 = 0 lim k α l ^ ( k ) j 1 d ^ l ^ ( k ) j 1 = 0

同样有

x l ^ ( k ) j x l ^ ( x ) j 1 0 lim k f ( x l ^ ( k ) j 1 ) = lim k f ( x l ^ ( k ) j ) = lim k f ( x l ( k ) )

即(17)至(20)对 j 1 成立。

l ( k ) 以及 l ^ ( k ) 的定义知 l ^ ( k ) k 1 M + 1 ,所以 j = 1 l ^ ( k ) k 1 α l ^ ( k ) j d l ^ ( k ) j 是有限项和。

由(16)、(17) 以及

x l ^ ( k ) = x k + 1 + j = 1 l ^ ( k ) k 1 α l ^ ( k ) j d l ^ ( k ) j

lim k x k + 1 x l ^ ( k ) = 0

这也意味着

lim k f ( x k + 1 ) = lim k f ( x k ) = lim k f ( x l ^ ( k ) ) = lim k f ( x l ( k ) ) (21)

由(11)知

f ( x k + 1 ) f ( x l ( k ) ) + σ 1 α k 2 F k T J k d k + σ 2 α k 2 F T ( x k + d k ) J k d ^ k

不等式两边令 k ,由(21)有

lim k α k 2 F k T J k d k = 0

lim k α k 2 F T ( x k + α k d k ) J k d ^ k = 0

同样的方法有

lim k α k d k = 0 lim k α k J k T F k = 0

又由于 J k T F k τ > 0 ,则有 lim k α k = 0

J k 的SVD分解,可得到

( J k T J k + λ k I ) 1 = V ( Σ 2 + λ k I ) 1 V T = max i ( σ i 2 + λ k ) 1 λ k 1

d k = ( J k T J k + λ k I ) 1 J k T F k ( J k T J k + λ k I ) 1 J k F k L λ k 1 F k = L μ 1

d ^ k = ( J k T J k + λ k I ) 1 J k T F ( y k ) ( J k T J k + λ k I ) 1 J k T ( F ( y k ) F k ) + ( J k T J k + λ k I ) 1 J k T F k L 2 λ k 1 d k + d k ( 1 + L 2 μ 1 τ 1 1 ) d k

lim k d k = 0 ,由于 0 J k T F k J k T J k + λ k I d k ( L 2 + μ M ) d k

则有 lim k inf J k T F k = 0

这与假设矛盾,所以存在常数 τ 2 > 0 使得 lim k inf d k τ 2

α ¯ k = α k r 1 ,由 α k 的定义知

F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) 2 > max j F ( x k j ) 2 + σ 1 α ¯ k 2 F k T J k d k + σ 2 α ¯ k 2 F T ( y k ) J k d ^ k F k 2 + σ 1 α ¯ k 2 F k T J k d k + σ 2 α ¯ k 2 F T ( y k ) J k d ^ k

α ¯ k 2 ( σ 1 F k T J k d k + σ 2 F T ( y k ) J k d ^ k ) < F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) 2 F k 2

F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F k 2 = 2 F k T ( F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F k ) + F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F k 2 2 F k T ( F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F k ) + L 2 α ¯ k 2 ( d k + d ^ k ) 2 2 F k T ( F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F k ) + L 2 α ¯ k 2 ( 2 + L 2 μ 1 τ 1 1 ) d k 2

此外,

F k T ( F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F k ) = F k T ( F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F ( x k + α ¯ k d k ) ) + F k T ( F ( x k + α ¯ k d k ) F k ) F k F ( x k + α ¯ k d k + α ¯ k 2 d ^ k ) F ( x k + α ¯ k d k ) + α ¯ k F k T J k d k + F k T 0 1 ( J ( x k + t α ¯ k d k ) J k ) α ¯ k d k d t L M α ¯ k 2 d ^ k α ¯ k d k T ( J k T J k + λ k I ) d k + L M α ¯ k 2 d k 2 ( 2 + L 2 μ 1 τ 1 1 ) L M α ¯ k 2 d k 2 α ¯ k d k T ( J k T J k + λ k I ) d k

综上所述,有

α ¯ k > d k T ( J k T J k + λ k I ) d k σ 1 F k T J k d k + σ 2 F T ( y k ) J k d ^ k ( 2 + L 2 μ 1 τ 1 1 ) L M d k λ k d k T d k C 1 σ 1 J k T F k 2 + C 1 σ 1 J k T F ( y k ) 2 + ( 2 + L 2 μ 1 τ 1 1 ) L M d k μ τ 1 τ 2 2 L 2 M 2 ( C 1 σ 1 + C 1 σ 1 ) + ( 2 + L 2 μ 1 τ 1 1 ) L 2 (22)

α ¯ k { α k } ,(22)与 lim k α k = 0 矛盾。

所以,假设不成立,原命题成立。即

lim k inf J k T F k = 0

3. 数值结果

为了验证算法1的有效性,该部分进行了数值试验,并与文 [5] [6] 的算法进行了比较,结果列于表1中。

· 文 [6] 中修正LM算法(表中记为LM1)的参数选为: μ = 10 6 ε = 0.01 γ = 0.5

κ 1 = κ 2 = σ 1 = σ 2 = σ 3 = 0.005 η k 0.5

· 文 [5] 中修正LM算法(表中记为LM2)的参数选为: σ 1 = σ 2 = σ 3 = 0.05 ρ = 0.8 r = 0.5 μ = 10 6

ε k = 0.5 k 10

· 算法1的参数选为 σ 1 = σ 2 = 0.02 ρ = 0.8 r = 0.2 μ = 10 6 M 0 = 1

如果 J k T F k 10 4 或者迭代次数 k > 500 ,则终止算法。算法的测试问题是对文 [11] 中的问题改编得到的。选择不同长度得初始点 x 0 = ( 1 , 1 , 1 , 1 , , 1 , 1 ) T ,测试函数为

F ^ ( x ) = F ( x ) J ( x ) A ( A T A ) 1 A T ( x x )

其中 A R n × 1 A T = ( 1 , 1 , , 1 ) F ( x ) 是文 [11] 中非奇异标准测试函数, x 是其根, J ( x ) F ( x ) x 处的雅可比函数。显然, F ^ ( x ) = 0 J ^ ( x ) = J ( x ) ( 1 A ( A T A ) 1 A T ) 的秩为n − 1。

表1中,“NF”和“NJ”分别代表函数、其雅可比函数的计算量,“NF + NJ × n”表示总计算量。如果算法迭代100(n + 1)次仍然无法找到解,用符合“--”表示。

Table 1. The numerical results

表1. 数值实验结果

4. 结束语

论文提出了一个基于Armijo非单调线搜索的修正LM方法,避免了传统LM算法中信赖域步不可被接受的情况。在适当的假设条件下,证明了该算法的全局收敛性。通过数值试验可以看出这个算法对于奇异值问题的求解是可行并有效的。

参考文献

[1] Fan, J.Y. (2012) The Modified Levenberg-Marquardt Method for Nonlinear Equations with Cubic Convergence. Math-ematics of Computation, 81, 447-466.
https://doi.org/10.1090/S0025-5718-2011-02496-8
[2] 郭楠, 黄华鹰. 求解非线性方程组的一类非单调修正Levenberg-Marquardt算法[J]. 安徽大学学报(自然科学版), 2016, 40(2): 14-20.
[3] 何叶丹, 马昌凤. 求解非线性方程组的一个修正非单调L-M算法[J]. 福建师范大学学报(自然科学版), 2013, 29(4): 15-22.
[4] Chen, L. and Ma, Y.F. (2020) Shamanskii-Like Levenberg-Marquardt Method with a New Line Search for Systems of Nonlinear Equations. Journal of Systems Science and Complexity, 33, 1694-1707.
https://doi.org/10.1007/s11424-020-9043-x
[5] Zhou, W.J. (2013) On the Convergence of the Modified Leven-berg-Marquardt Method with a Nonmonotone Second Order Armijo Type Line Search. Journal of Computational & Ap-plied Mathematics, 239, 152-161.
https://doi.org/10.1016/j.cam.2012.09.025
[6] He, Y.D., Ma, C.F. and Fan, B. (2015) A Corrected Leven-berg-Marquardt Algorithm with a Nonmonotone Line Search for the System of Nonlinear Equations. Applied Mathemat-ics & Computation, 260, 159-169.
https://doi.org/10.1016/j.amc.2015.03.076
[7] 周童, 陈亮, 伍珍香. 一种求解非线性方程组的Levenberg-Marquardt方法及其收敛性[J]. 淮北师范大学学报(自然科学版), 2021, 42(1): 1-7.
[8] Amini, K. and Rostami, F. (2016) Three-Steps Modified Levenberg-Marquardt Method with a New Line Search for Systems of Non-linear Equations. Journal of Computational & Applied Mathematics, 300, 30-42.
https://doi.org/10.1016/j.cam.2015.12.013
[9] Chen, L. (2016) A Modified Levenberg-Marquardt Method with Line Search for Nonlinear Equations. Computational Optimization & Applications, 65, 753-779.
https://doi.org/10.1007/s10589-016-9852-y
[10] Grippo, L., Lampariello, F. and Lucidi, S. (1986) A Nonmonotone Line Search Technique for Newton’s Method. SIAM Journal on Numerical Analysis, 23, 707-716.
https://doi.org/10.1137/0723046
[11] Moré, J.J., Garbow, B.S. and Hillstrom, K.E. (1981) Testing Unconstrained Optimization Software. ACM Transform on Mathematical Software, 7, 17-41.
https://doi.org/10.1145/355934.355936