BFGS算法分析与实现1.docx
- 文档编号:621796
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:10
- 大小:108.17KB
BFGS算法分析与实现1.docx
《BFGS算法分析与实现1.docx》由会员分享,可在线阅读,更多相关《BFGS算法分析与实现1.docx(10页珍藏版)》请在冰豆网上搜索。
BFGS算法分析与实现1
《最优化方法》
课程设计
题目:
BFGS算法分析与实现
日期:
2014年01月22日
摘要
在求解无约束最优化问题的众多算法中,拟牛顿法是颇受欢迎的一类算法。
尤其是用于求解中小规模问题时该类算法具有较好的数值效果。
BFGS算法被认为是数值效果最好的拟牛顿法,其收敛理论的研究也取得了很好的成果.在一定的条件下,BFGS算法具有全局收敛性和超线性收敛速度。
然而,对于大规模最优化问题来求解,包括BFGS算法在内拟牛顿法具有明显的缺陷。
有许多的例子表明,一旦处理问题很大时,一些对小规模问题非常成功的算法变得毫无吸引力。
究其原因,主要是由于在中小型问题一些不太重要的因素在求解大规模问题时,变得代价很高。
随着速度更快及更复杂的计算机的出现,增强了我们的计算处理能力。
同时也为我们设计算法带来了新的课题。
并行计算机的发展为求解大规模最优化问题提供了一条新途径。
关键词:
BFGS拟牛顿法;无约束最优化问题;大规模问题
Abstract
Quasi-Newtonmethodsarewelcomenumericalmethodsforsolvingoptimizationproblems.Theyareparticularlyeffectivewhenappliedtosolvesmallormiddlesizeproblems.BFGSmethodisregardedasthemosteffectivequasi-Newtonmethodduetoitsgoodnumericalperformance.Italsopossessesverygoodglobalandsuperlinearconvergenceproperties.Ontheotherhand,however,whenappliedtosolvelargescaleproblems,quasi-NewtonmethodsincludingBFGSmethoddonotperformwell.Themajordrawbackforaquasi-Newtonmethod,whenusedtosolvelargescaleoptimizationproblem,isthatthematrixgeneratedbythemethoddoesnotretainthesparsityoftheHessianmatrixoftheobjectivefunction.Thereareexamplesshowingthatmanysuccessmethodsforsolvingsmall-sizedoptimizationbecomeunattractiveoncetheproblemtobetackledislarge.Animportantreasonforthisfeatureisthatsomeprocessthatisimportantforsmallproblemsmaybecomeveryexpensiveforlargescaleproblems.
Thefastdevelopmentofcomputerhasenhancedourabilitytosolvelargescaleproblems.Inparticular,theparallelcomputerprovidesusanewwaytosolvelargescaleproblemsefficiently.Inrecentyears,therehasbeengrowinginterestinthestudyinparallelmethods.Ithasbeenfoundthatmanygoodmethodsthatareefficientforsolvingsmallandmiddlesizeproblemscanbeparallized.
KeyWords:
BFGSquasi-Newtonmethod;unconstrainedoptimizationproblem,largescaleproblem
2.3修正形式的BFGS算法5
3、BFGS算法对大规模问题研究5
4.3算法测试8
4.4结果分析8
5.1总结概括9
5.2个人感言9
6、参考文献:
10
1.引言
最优化问题在经济计划,生产管理,交通,运输,物理和通信等居多领域有广泛而又深入的应用。
本文主要考察无约束最优化问题。
无约束最优化问题的数学模型如下:
(1.1)
其中是一个连续可微函数.我们用和分别表示在处的梯度和Hessian阵。
在求解上述无约束最优化问题时,通常采用算法是迭代算法,其迭代格式如下:
,(1.2)
其中为搜索方向,一般满足,因而是在处的一个下降方向。
称为步长,由线性搜索得到,为简便起见,在整篇文章中,我们分别把记为,记为,记为。
上面的迭代法称为下降算法,自上世纪70年代以来,下降算法的研究得到了飞速发展。
迄今为止,已提出了许多的下降算法,这些算法具有各自的优缺点。
常用的算法有:
最速下降法.即取。
该算法的优点是计算简便且存储量小,可用于大规模最优化问题求解。
但该算法仅有线性收敛速度,收敛速度太慢。
牛顿法.即取=。
其中表示在处的Hessian阵
。
该算法的优点是收敛速度快,可达到二阶收敛速度,但每次迭代需计算目标函数Hessian矩阵,计算量大。
拟牛顿法.即取。
其中是的近似。
拟牛顿法的优点是超线性收敛速度,而且,大多数拟牛顿法可产生下降方向,但拟牛顿法需贮存一个矩阵。
共轭梯度法.即取(1.3)
其中参数的选取依赖于不同的共轭梯度法。
优点在于克服了最速下降法收敛慢的缺点,又避免了存贮和计算牛顿法所需的二阶导数信息。
所以对大规模问题来说,也是一种很不错的算法。
超记忆梯度法.即取(1.4)
其中当时,
Miele和Cantrell研究了这种记忆梯度法(memorygradientmethod)。
同时Cantrell发现,当用于二次函数极小值问题求解时,记忆梯度法与Fletcher--Reeves算法是一致的.Cragg和Levy进一步地研究了一种超记忆梯度法(super-memorygradientmethod),实际上是记忆梯度法的一般化.其他有关超记忆梯度法可参考文献[3,4]等。
无论是记忆梯度法还是超记忆梯度法,都比共轭梯度法更为有效,因为它使用了更多的先前迭代信息,并且增加了参数的自由度,但在形式上与共轭梯度法很相似,并且避免了计算与Hessian阵有关的矩阵,尽管收敛速度不如拟牛顿法,但也适合于大规模稀疏问题的求解。
在选取步长时,通常有如下几种方式:
精确搜索:
即满足
(1.5)
此种搜索由于计算量大,所以在实际中很少采用。
非精确搜索:
(i)Armijo搜索:
给定,步长满足下列不等式
(1.6)
确定步长的一种方式是令其为集合满足条件(1.6)的最大者。
(ii)Wolfe-Powell搜索:
即步长同时满足下面的两个不等式:
(1.7)
其中为常数,满足
2.BFGS算法及其修正形式
自上世纪七十年代以来,关于拟Newton法的收敛性研究取得了重大进展。
假设目标函数f(x)是凸的,采用精确线性搜索时,Powell等证明了Broyden族算法具有全局收敛性和超线性收敛速率。
当采用非精确线性搜索时,即Wolfe-Powell准则确定步长,Byrd等在1987年证明了Broyden族算法(除DFP算法外)具有全局收敛性。
若假设目标函数是一致凸的,其二阶导数矩阵在极小点附近满足Lipschitz条件,且在正定的条件下,还证明了其收敛速度是Q-超线性的.Bryd和Nocedal证明了采用Armijo线性搜索时,BFGS方法的全局收敛性等在文献得出:
当目标函数是伪凸函数时,Broyden算法依然具有全局收敛性.Li证明了:
当目标函数是凸二次函数,DFP算法仍然具有全局收敛性。
在2001年,Li和Fukushima在文献提出了一种求解非凸函数极小值问题的修正拟牛顿法,并证明了修正的拟牛顿法的全局收敛性,并在适当的假设条件下,证明了超线性收敛速率。
本文将侧重于对拟牛顿法中BFGS算法的研究.在众多求解无约束最优化的拟牛顿法中,BFGS(Broyden,Fletcher,Goldfarb,Shanno)法被认为是数值效果最好的方法.该方法中的修正公式为
,(2.1)
其中,
修正公式(2.1)具有如下重要性质:
定理2.1设是由BFGS修正公式产生,若矩阵是对称正定的且,则矩阵也是正定的。
求解(1.1)的BFGS算法步骤如下:
算法2.1
步1:
取初始点,,初始对称正定矩阵。
精度。
令。
步2:
若,则算法终止。
得问题的解,否则,转步3。
步3:
解线性方程组
(2.2)
得解.转步4.
步4:
由线性搜索方法确定步长.
步5:
令.若,则得解.否则,由拟牛顿修正公式(2.1)确定.
步6:
令,转步2.
若将算法(2.1)中的的修正公式换成其它公式,则得相应的拟牛顿法的计算步骤。
对于非凸函数的最优化问题,即使采用精确搜索,标准的BFGS方法也不具有全局收敛性.为了克服BFGS算法的这种缺陷,下面简单扼要地介绍BFGS的修正形式-MBFGS(ModifiedBFGS)算法及保守BFGS修正-CBFGS(cautionBFGS)算法.详细内容可看参考文献.
MBFGS法的修正公式与标准的BFGS修正公式形式上是完全相同的,所不同的是其中的定义,Li-Fukushima的修正BFGS公式中的定义如下:
,其中:
。
为了保证的对称正定性.可以通过对参数的调整,使得
,,(2.3)满足上式的的取法有许多.例如可由下式确定
,
其中,,
其中是常数。
MBFGS算法的一个重要优点是:
该算法用于求解非凸函数极小值问题时,也具有全局收敛性.而且的对称正定性与算法的线性搜索以及目标函数的凸性无关.
文献[17]提出了一种保守BFGS修正-CBFGS修正方式.具体如下:
,(2,4)
其中,,是常数。
容易看出,若对称正定,则有CBFGS公式产生的矩阵序列满足。
因此,对所有的,矩阵对称正定.该性质与算法的线性搜索以及函数的凸性无关.此外,若不等式
,(2,5)
成立,则算法还原为标准的BFGS算法.因而,算法的仿射不变性成立。
3.BFGS算法对大规模问题研究
所谓的大规模问题,就是所涉及的变量的维数很高,通常上千维,有的甚至达到了万维,百万维的.一般来说,大规模问题的二阶导Hessian阵
常常是对称的、正定的,尤其具有某种稀疏的结构.在求解大规模问题时,我们总是希望得到收敛速度快、计算量少和存贮量小的算法.而用于求解中小型最优化问题的传统算法,来求解大规模问题时,许多的优点已经变得不太重要,(比如数值效果较好的BFGS算法,虽然校正矩阵能够继承正
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BFGS 算法 分析 实现