BFGS算法实现课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《最优化方法》

课程设计

题目:BFGS算法分析与实现

院系:数学与计算科学学院

专业:统计学

姓名学号:吕效忠**********

指导教师:***

日期:2015 年01 月22 日

在求解无约束最优化问题的众多算法中,拟牛顿法是颇受欢迎的一类算法,尤其是用于求解小规模问题时,该类算法具有良好的数值效果,BFGS 算法被认为时数值效果最好的拟牛顿法,并且具有全局收敛性和超线性收敛速度。

随着速度更快及更复杂的计算机的出现,增强了我们的计算处理能力,同时也为我们设计算法带来了新的课题,并行计算机的发展为求解大规模最优化问题提供了一条新途径,对求解中小规模问题中数值效果好的算法并行化以用于大规模问题的求解受到广泛欢迎。

本文提出一种求解无约束最优化问题的并行BFGS 算法。无约束优化问题的核心是选择搜索方向。而BFGS 算法的基本思想是在牛顿法的第二步中用Hesse

矩阵2=)k k G f x (的某个近似矩阵k B 取代k G 。从而找出搜索方向,沿着这组方向

进行搜索,求出目标函数的极小点。这种算法具有N 步终止性。再结合该算法编写MATLAB 程序,求解相同的无约束优化问题。

关键词:无约束优化;拟牛顿法;BFGS 算法;超线性收敛; MATLAB

In many algorithms that solve unconstrained optimization problems,the quasi-Newton method is a popular kind of algorithms. Especially it is used to solve the small problem. This algorithm has good numerical results. The BFGS algorithm is considered the best numerical effect of quasi-newton method, and it has global convergence and superlinear convergence rate.

With the emergence of faster and more sophisticated computers, our computing ability has improved. But it also for our design algorithm has brought the new task.The development of parallel computer for solving large-scale optimization problem provides a new way. To solve the problem of small and medium-sized numerical algorithm with good effect in parallel to the popularity of large scale problems.

This paper proposes a parallel BFGS algorithm for solving unconstrained optimization problems. At the heart of the unconstrained optimization problems is choose search direction. The BFGS algorithm is the basic idea of the Newton method that used in the second step in the replaced one of Hesse matrix. To find out the search direction, along this direction, this set of direction the minimum point of the objective function. This algorithm has N steps termination. Combining write the MATLAB program, the algorithm is employed to solve unconstrained optimization problems of the same.

Key words: Unconstrained optimization;Quasi-Newton method; BFGS algorithm; Superlinear convergence; MATLAB

目录

1、引言 (1)

2、BFGS算法综述 (1)

2.1 拟牛顿法及其性质 (1)

2.2 BFGS算法 (3)

3、数值实验 (6)

3.1 代码实现 (6)

3.2 算法测试 (7)

3.3 结果分析 (8)

4、总结 (8)

4.1 总结概括 (8)

4.2 个人感言 (9)

5、参考文献: (9)

1、引言

在最优化的问题中,线性最优化至少可以使用单纯形法求解,但对于非线性优化问题,牛顿法提供了一种求解的办法。牛顿法的优点是具有二次收敛速度,

但是当Hesse 矩阵2=)k k G f x ∇(

不正定时,不能保证所产生的方向是目标函数在k x 处的下降方向。特别地,当k G 奇异时,算法就无法继续进行下去,尽管修正

的牛顿法可以克服这一缺点,但修正参数的选取很难把握,过大或过小都会影响到收敛速度,此外,牛顿法的每一迭代步都需要目标函数的二阶导数,即Hesse 矩阵,对于大规模问题,其计算量是惊人的。由此引出了一种新的求解非线性优化问题的方法——拟牛顿法。

拟牛顿法(Quasi-Newton Methods)是求解非线性优化问题最有效的方法之一,于20世纪50年代由美国Argonne 国家实验室的物理学家W. C. Davidon 所提出来。Davidon 设计的这种算法在当时看来是非线性优化领域最具创造性的发明之一。不久R. Fletcher 和M. J. D. Powell 证实了这种新的算法远比其他方法快速和可靠,使得非线性优化这门学科在一夜之间突飞猛进。在之后的20年里,拟牛顿方法得到了蓬勃发展,出现了大量的变形公式以及数以百计的相关论文。其中BFGS 就是拟牛顿法中的一种方法。

2、BFGS 算法的综述

2.1拟牛顿法及其性质

拟牛顿法的基本思想是在牛顿法的第二步中用Hesse 矩阵2=)k k G f x ∇(

的某个近似矩阵k B 取代k G 。通常,k B 应具有以下三个特点:

(1)在某种意义下有k k B G ≈,使得相应的算法产生的方向近似于牛顿方向,以确保算法具有较快的收敛速度;

(2)对所有的k ,k B 是对称正定的,从而使得算法所产生的方向是函数f 在k x 处下降方向;

(3)矩阵k B 更新规则相对比较简单,即通常采用秩1或秩2矩阵进行校正。

下面介绍满足这三个特点的矩阵k B 的构造,设:

n f →在开集n D ⊂上

相关文档
最新文档