1. 引言
牛顿法与拟牛顿法是求解无约束优化问题的两类经典方法[1]。传统的牛顿法因其局部二次收敛性而备受关注,但需要计算目标函数的Hessian矩阵及其逆,在高维问题中计算成本较高[2]。拟牛顿法通过构造Hessian矩阵的近似,直接计算二阶导数,从而减少了计算量[3]。
对称秩一(SR1, Symmetric Rank-1)更新是通过秩一校正更新Hessian近似矩阵,具有存储需求低和收敛速度快的优势[4]。Conn等人[5]证明了SR1更新生成的矩阵序列在一定条件下能够全局收敛到真实的Hessian矩阵,尤其适用于非凸优化问题。Khalfan等人[6]的理论与实验研究表明,SR1更新在捕捉Hessian矩阵特征方面具有高效性,然而,SR1方法存在正定性不足的问题,可能影响算法的稳定性。为解决这一问题,Leong和Hassan [7]提出了一种自适应正定缩放的重启SR1方法,有效提升了非凸优化中的性能。此外,Modarres等人[8] [9]通过修正割线方程改进了SR1方法的Hessian近似精度,为本文算法的理论基础提供了支持。
与此同时,两步Broyden方法作为一种加速技术受到广泛关注。Magrenan和Argyros [10]研究了两步Broyden方法的收敛行为,指出额外的修正步骤可以显著提高局部收敛效率。Zhou和Zhang [11]将两步修正思想应用于拟牛顿法,提出了一种改进的Broyden-like方法,并证明了其全局收敛性和超线性收敛性。此外,Ali等人[12]提出了一种多步SR1更新方法,通过插值多项式改进Hessian近似,为两步策略与SR1的结合提供了理论支持。
尽管SR1和两步Broyden方法各有优势,但二者的结合尚未得到充分探索。传统SR1方法因正定性不足可能导致收敛不稳定,而两步Broyden方法通过额外修正可提高局部收敛速度。基于此,本文提出了一种结合SR1更新和两步Broyden方法的算法,利用SR1生成高效Hessian近似,并通过两步修正克服正定性缺陷,从而兼顾计算效率和稳定性。
与MSSR1方法[12]相比,TSSR1-B在以下方面有所不同:首先是MSSR1采用插值多项式构造多步割线方程,而TSSR1-B通过两步Broyden修正构造更简洁的割线方程,避免了高次插值带来的复杂性;其次是TSSR1-B引入自适应缩放因子和重启机制,更灵活地保持矩阵正定性和数值稳定性。
本文的贡献在于:在SR1理论框架中引入两步修正步骤,提升了算法的收敛速度;通过理论分析证明了算法的全局收敛性;数值实验验证了TSSR1-B在迭代次数和计算时间上的优越性。
本文结构如下:第二节介绍无约束优化问题的数学模型及算法框架,第三节详细描述修正割线方程的构造,第四节提出结合SR1更新和两步修正的TSSR1-B算法,第五节分析算法的全局收敛性,第六节通过数值实验对比TSSR1-B与传统方法的性能,第七节总结全文并展望未来研究方向。
2. 无约束优化问题的数学模型及算法框架
本节提出一种无约束优化问题的两步Broyden秩一校正方法(TSSR1-B),用于求解如下形式的问题:
(1.1)
其中
是一个光滑函数。假设
是连续的,并且至少是二次可微的。TSSR1-B方法的基本框架可以概括如下:
给定
或其有限差分近似,以及
(
的割线近似),我们通过下式确定TSSR1-B方向
(1.2)
通过基于以下等式的线搜索方法选择新的迭代
(1.3)
其中
(1.4)
将
更新为
,使
对称并满足正割方程
(1.5)
其中
。
2.1.
的构造
将目标函数
的良好曲率信息合并到更新矩阵的方法之一是强制矩阵满足一般正割方程(1.5)。为了生成新的正割更新,我们可以从TSSR1-B方向(1.2)生成方向
,其中
被矩阵
(2.1)
其中
是单位矩阵,为更好地近似Hessian矩阵的曲率信息,引进修正项
,
以适当的方式选择(
的实际选择将在下一小节中讨论)。由于
满足
矩阵
满足以下关系:
或等效地
所以我们可以把修改后的正割方程写成如下
(2.2)
很明显,如果
趋近于无穷大,
趋近于零,那么修正的正割方程就接近于一般的正割方程。
现在假设目标函数
足够光滑。设
通过沿着
的泰勒级数,我们有
或者
因此,
(2.3)
通过(2.2),我们有
(2.4)
通过比较(2.3)与(2.4),我们可以以合理的方式选择
,使其满足
(2.5)
其中
根据公式(2.5),我们可以很好的选择
(2.6)
且
是使得
。
Modarres等人基于上述关系提出了以下等式
(2.7)
本文所考虑的是通常的
-范数向量和相应的诱导范数矩阵。
下面的定理显示了割线方程(2.7)的好的性质,可以在[8] [9]中找到。
定理1. [8] 假设函数
足够光滑,且
满足式(2.5)。如果
足够小,则以下估计保持
(2.8)
(2.9)
其中
是
在
处的张量,并且
上面的定理表明,
比
更好地近似于
。
2.2. 对正割方程(2.7)的一个简单修改
由于
且
可能为负,如果
大于
,并且
。为了解决这个缺陷,我们进一步修改向量
,如下所示
(2.10)
因此很容易看出,我们总是有
当且仅当
,
公式(2.10)中代入
,我们得到
(2.11)
3. 正割方程的SR1修正
在这一节中,我们考虑用修正的割线方程(2.10)对SR1进行修正。此外,我们将介绍一种策略来保持修正的SR1公式中的正定性。
3.1. 修改的SR1更新
现在我们提出基于修改的正割方程(2.10)的修改的SR1更新:
(3.1)
其中。如果用
近似Hessian的逆,则修改的割线方程被重写为
(3.2)
基于该等式,我们具有逆SR1更新
(3.3)
我们将更新(3.1)称为修改的SR1更新,而(3.3)是其逆版本。
3.2. 修改的SR1更新的正定性
在本小节中,我们将对对称秩一更新应用重新启动过程,以避免正定性的丢失。重新开始方法和常用的调整方法之间的重要区别在于,调整被合并到每个SR1更新中以保持正定性,而重新开始方法在SR1更新不是正定时用单位矩阵的倍数重新开始SR1算法。我们不喜欢这种方法的主要原因是,它需要计算
(Hessian的近似)。如果该迭代中的SR1矩阵是正定的,则大小调整将是多余的。
为了克服这个缺陷,我们采用Leong和Hassan [6]提出的最佳缩放因子,并考虑由
定义的缩放单位矩阵,其中
(3.4)
我们的方法是结合重新启动程序,当我们失去了正定性的修改SR1或修改SR1的分母接近零或
是无界的。现在,通过这种修改,我们提出了我们的新算法。
4. 算法描述
算法4.1:无约束优化问题的两步Broyden秩一校正方法(TSSR1-B)。
Step 0:给定初始点
初始正定矩阵
,令
。
Step 1:若
,则停止迭代。
Step 2:通过如下方程式来求解
(4.1)
其中令:
(4.2)
通过下列方程式求解
(4.3)
令:
(4.4)
该方向结合了当前梯度信息和历史曲率信息,能更有效地引导搜索方向。
Step 3:若以下任一条件成立:
1)
(搜索方向非下降), (4.5)
2)
(SR1更新分母接近零), (4.6)
3)
(近似矩阵范数过大), (4.7)
则重启:
其中
由式(3.4)计算。
Step 4:尝试
若满足Wolfe条件:
(4.8)
则接受;否则通过回溯法(如
)找到满足条件的步长。
Step 5:更新迭代点:
Step 6:通过修正割线方程计算
(4.9)
其中
(4.10)
Step 7:通过(3.3)使用对称秩一更新逆Hessian近似。
Step 8:令
,返回Step 1。
5. 全局收敛性
为了证明算法的全局收敛性,我们需要如下假设:
(1)
在水平集
的领域内连续可微,且有下界。
(2) 梯度
在
上Lipschitz连续,即存在常数
使得:
(5.1)
定义:
(5.2)
下面的定理表明算法4.1具有全局收敛性。
定理1:若
是满足上述假设的起点,算法生成的序列
满足强Wolfe条件,则:
(5.3)
证明:由强Wolfe条件:
结合Lipschitz条件:
得:
(5.4)
由第一个Wolfe条件:
代入
得:
使用
可写为:
由于
有下界,对上式求和:
由于
有界(由跳跃更新和正定性修正保证),存在常数
,使得:
因此:
即算法全局收敛。
6. 数值实验
本小节给出一些数值结果,以表明所提出的无约束优化问题的两步Broyden秩一校正方法(TSSR1-B)的有效性,并与[9]中的MSR1方法、传统的SR1方法进行比较,算法在MATLAB2016A编程实现,数值实验在windows系统中进行。当
或达到最大迭代次数500时,终止实验。在同样的参数设置下(具体的参数设置为:线搜索参数
,重启参数
)。下表1展示不同算法在四种测试函数上的平均迭代次数和CPU时间(单位:秒):
Table 1. Performance comparison of different algorithms on test functions
表1. 不同算法在测试函数上的性能对比
函数名称 |
维度 |
TSSR1B (迭代/时间) |
MSR1 (1) (迭代/时间) |
SR1 (迭代/时间) |
强病态二次函数 |
30 |
12/0.007 |
26/0.032 |
35/0.012 |
50 |
8/0.006 |
26/0.041 |
53/0.022 |
80 |
10/0.008 |
27/0.055 |
89/0.042 |
100 |
18/0.010 |
29/0.073 |
106/0.075 |
标准Rastrigin函数 |
30 |
46/0.024 |
72/0.020 |
98/0.270 |
50 |
83/0.033 |
112/0.198 |
77/0.016 |
80 |
104/0.062 |
500/0.230 |
104/0. 029 |
100 |
24/0.028 |
500/0.330 |
113/0.040 |
非光滑过渡函数 |
30 |
4/0.002 |
8/0.005 |
10/0.012 |
50 |
4/0.002 |
10/0.002 |
11/0.008 |
80 |
6/0.003 |
9/0.003 |
10/0.005 |
稀疏病态函数 |
30 |
10/0.010 |
40/0.047 |
178/0.088 |
50 |
16/0.011 |
42/0.110 |
213/0.021 |
80 |
23/0.016 |
45/0.154 |
500/0.317 |
100 |
8/0.020 |
42/0.205 |
500/0.476 |
表格列举出了算法TSSR1-B、MSR1和SR1在四种测试函数上的不同初始点的数值结果。由表格可知,虽然三种算法都能求解测试问题,但是算法TSSR1-B的数值优于MSR1和SR1。在相同的条件下,算法TSSR1-B在大多数问题上进一步减少15%~40%的迭代次数。两步方向在病态问题上贡献更为显著,但在极低维简单问题上,两步优势不明显,单步方法可能更高效。
7. 结论
本文提出的无约束优化问题的两步Broyden秩一校正方法(TSSR1-B)通过结合SR1更新和两步修正策略,提升了无约束优化问题的求解效率。理论分析和数值实验验证了其优越性。未来研究可探索该方法在随机优化和大规模分布式场景中的应用。