本文设计一个三项共轭梯度算法,用来求解非线性方程组问题,建议的算法优点是:(1) 搜索方向的充分下降性;(2) 搜索方向的信赖域特点;(3) 算法能保证具有全局收敛性;(4) 算法能成功求解一千维以上的非线性方程组问题。 This paper designs a three-term conjugate gradient algorithm for nonlinear equations problems and the proposed algorithm has four advantages: (1) the sufficient descent property is satisfied for the search direction; (2) the trust region feature holds for the direction too; (3) the global convergence of the proposed algorithm is possessed; (4) the new algorithm can successfully solve nonlinear equations problems with 1000 dimensions.
黄玲花
广西财经学院信息与统计学院,广西 南宁
收稿日期:2017年2月6日;录用日期:2017年2月21日;发布日期:2017年2月24日
本文设计一个三项共轭梯度算法,用来求解非线性方程组问题,建议的算法优点是:(1) 搜索方向的充分下降性;(2) 搜索方向的信赖域特点;(3) 算法能保证具有全局收敛性;(4) 算法能成功求解一千维以上的非线性方程组问题。
关键词 :方程组问题,三项共轭梯度,全局收敛性
Copyright © 2017 by author and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
本文研究下面的非线性方程组问题:
其中
本文将针对(1.2)设计一个新的三项共轭梯度法,众所周知共轭梯度算法是一类非常有效的求解目标函数最小值的优化方法 [
建议的三项共轭梯度公式如下:
算法1:(三项共轭梯度算法)
步骤0:初始条件的赋值,初始迭代点
步骤1:条件
步骤2:解(2.1)获得搜索方向
步骤3:通过下面线搜索技术
获得步长
步骤4:置
步骤5:如果条件
步骤6:置
注:线搜索技术(2.2)是文献 [
我们首先通过下面的引理证明算法1的信赖域的特点和充分下降性。
引理3.1:(2.1)产生的搜索方向
和
证明:根据(2.1)的定义形式,
从而获得(3.1)。根据(3.1)的结果,易得
取
最后一个不等式利用了
关系式(3.1)被称为充分下降性,而关系式(3.2)被称为信赖域的特征。从证明过程可以看出,我们建议的三项共轭梯度的搜索方向在没有其他假设条件的情况下,自身就能拥有这两个优点,关系式(3.1)和(3.2)对算法的收敛性起着至关重要的作用。为进一步获得三项共轭梯度算法的全局收敛性,需要一些假设条件。
假设A:(i) 假设问题(1.1)的解存在;
(ii)
根据假设A和获得的引理3.1,便可以证明算法1的全局收敛性结论。此结论的证明与参考文献 [
定理3.1:若迭代序列
成立。
此定理被称为算法1的全局收敛性定理。
为验证建议的三项共轭梯度算法是有效的,本节将对下面的问题(见表1)利用计算机编写程序计算。
我们将利用Matlab R2009a编写程序代码,程序是在Windows 7系统、CPU为Intel (R) Xeon (R),E5507 2.27 GHz、64位操作系统、6.00GB内存上运行。算法中的参数选取分别是:
Nr. | 名称 |
---|---|
1 | Exponential function 2 |
2 | Trigonometric function |
3 | Logarithmic function |
4 | Broyden Tridiagonal function |
5 | Trigexp function |
6 | Strictly convex function 1 |
7 | Variable dimensioned function |
8 | Extended Freudentein and Roth function |
9 | Discrete boundary value problem |
10 | Troesch problem |
表1. 问题名称
Nr. | Dim | NI/Nq | Cpu-Time | Val |
---|---|---|---|---|
1 | 800 | 57/206 | 0.218401 | 9.958541e-005 |
1500 | 24/93 | 0.249602 | 8.792103e-005 | |
2 | 800 | 35/70 | 0.124801 | 9.849371e-005 |
1500 | 34/68 | 0.249602 | 8.990512e-005 | |
3 | 800 | 4/5 | 0.000000 | 3.878205e-005 |
1500 | 4/5 | 0.046800 | 3.246054e-005 | |
4 | 800 | 76/152 | 0.202801 | 8.833125e-005 |
1500 | 78/156 | 0.468003 | 8.953038e-005 | |
5 | 800 | 229/594 | 0.748805 | 9.804039e-005 |
1500 | 227/590 | 1.778411 | 9.532705e-005 | |
6 | 800 | 50/100 | 0.156001 | 9.109563e-005 |
1500 | 52/104 | 0.343202 | 8.173231e-005 | |
7 | 800 | 1/2 | 0.000000 | 0.000000e+000 |
1500 | 1/2 | 0.031200 | 0.000000e+000 | |
8 | 800 | 616/1693 | 1.934412 | 4.555189e-005 |
1500 | 714/1957 | 5.444435 | 1.939103e-005 | |
9 | 800 | 28/57 | 0.093601 | 8.779266e-005 |
1500 | 26/53 | 0.202801 | 9.421179e-005 | |
10 | 800 | 0/1 | 0.000000 | 0.000000e+000 |
1500 | 0/1 | 0.000000 | 0.000000e+000 |
表2. 数值结果
从表格中测验结果能够看出:(1) 给定的三项共轭梯度算法能成功求解这10个非线性方程组问题,范数值接近于零说明利用新算法几乎得到了其精确解,其中第十个问题就获得了精确解;(2) 随着检验问题规模的增大,NI和Nq的变化不大,有的个别问题反而减少,但Cpu-Time均会适当增加,这也证明了算法的合理性;(3) 有些问题的Cpu-Time = 0,这证明算法在运行时,几乎没有占用系统的CPU时间。
黄玲花. 非线性方程组问题的一个三项共轭梯度算法 A Three-Term Conjugate Gradient Algorithm for Nonlinear Equations Problems[J]. 运筹与模糊学, 2017, 07(01): 31-36. http://dx.doi.org/10.12677/ORF.2017.71004