所谓的光辉岁月,并不是以后,闪耀的日子,而是无人问津时,你对梦想的偏执。
最优化方法题目:斐波那契法分析与实现院系:信息与计算科学学院专业:统计学姓名学号:小熊熊 11071050137指导教师:大胖胖日期: 2014 年 01 月 10 日摘要科学的数学化是当代科学发展的一个主要趋势,最优化理论与算法是一个重要的数学分支,它所研究的问题是讨论在众多的方案中什么样的方案最优以及怎样找出最优方案.一维搜索是指寻求一元函数在某个区间上的最优点的方法.这类方法不仅有实用价值,而且大量多维最优化方法都依赖于一系列的一维最优化.本文就斐波那契法的一维搜索进行了详细的分析,并且成功的用 MATLAB 实现了斐波那契法求解单峰函数的极小值问题.斐波那契法的一维搜索过程是建立在一个被称为斐波那契数列的基础上进行的,斐波那契法成功地实现了单峰函数极值范围的缩减.从理论上来说,斐波那契法的精度比黄金分割法要高.但由于斐波那契法要事先知道计算函数值的次数,故相比之下,黄金分割法更为简单一点,它不需要事先知道计算次数,并且当n 7 时,黄金分割法的收敛速率与斐波那契法越来越接近.因此,在实际应用中,常常采用黄金分割法. 斐波那契法也是一种区间收缩算法,和黄金分割法不同的是:黄金分割法每次收缩只改变搜索区间的一个端点,即它是单向收缩法. 而斐波那契法同时改变搜索区间的两个端点,是一种双向收缩法.关键字:一维搜索斐波那契法单峰函数黄金分割法MATLABAbstractMathematical sciences is a major trend in contemporary scientific development, optimization theory and algorithms is an important branch of mathematics, the problems it was discussed in numerous research programs in the best of what programs and how to find the optimal solution .One-dimensional search is the best method of seeking functions of one variable on the merits of a certain interval. Such methods not only have practical value, but also a large number of multi-dimensional optimization methods rely on a series of one-dimensional optimization article on Fibonacci the one-dimensional search method carried out a detailed analysis, and successful in MATLAB Fibonacci method for solving unimodal function minimization problem.Fibonacci method of one-dimensional search process is based on the Fibonacci sequence is called a Fibonacci conducted on, Fibonacci method successfully achieved a unimodal function extreme range reduction. Theory , Fibonacci method accuracy is higher than the golden section method, but the number of times due to the Fibonacci method to calculate function values to know in advance, so the contrast, the golden section method is more simply, it does not need to know in advance the number of calculations and at that time, the rate of convergence of golden section and the Fibonacci method getting closer, so in practical applications, often using the golden section method. Fibonacci method is also a range contraction algorithm, and the golden section method the difference is: golden section each contraction only one endpoint to change the search range that it is unidirectional shrinkage law Fibonacci search method while changing the two endpoints of the range, is a two-way contraction method.Key words: one-dimensional search Fibonacci method unimodal function Golden Section function MATLAB目录1.前言 (1)1.1 一维搜索 (1)1.2 单峰函数 (1)1.3 单峰函数的性质 (1)2.斐波那契法分析 (2)2.1 区间缩短率 (2)2.2 斐波那契数列 (3)2.3 斐波那契法原理 (3)2.4 斐波那契法与黄金分割法的关系 (6)3.斐波那契法实现 (7)3.1 斐波那契算法步骤 (7)3.2 斐波那契法的MATLAB 程序 (8)3.3 斐波那契算法举例 (10)4.课程设计总结 (12)4.1 概述 (12)4.2 个人心得体会 (12)5.参考文献 (13)1 *1. 前言一维搜索是指寻求一元函数在某区间上的最优值点的方法.这类方法不仅有 实用价值,而且大量多维最优化方法都依赖于一系列的一维最优化.斐波那契法的一维搜索过程是建立在一个被称为斐波那契数列的基础上进 行的.从理论上来说,斐波那契法的精度比黄金分割法要高.但由于斐波那契法要 事先知道计算函数值的次数,故相比之下,黄金分割法更为简单一点,它不需要 事先知道计算次数,并且当 n ≥ 7 时,黄金分割法的收敛速率与斐波那契法越来 越接近.因此,在实际应用中,常常采用黄金分割法. ·1.1 一维搜索很多迭代下降算法具有一个共同点,即得到点 x k 后,需要按某种规则确定 一个方向 d k ,再从 x k 出发,沿着方向 d k 在直线或射线上寻求目标函数的极小点, 进而得到 x k 的后继点 x k +1 .重复上面的做法,直至求得问题的解.这里所谓求目标 函数在直线上的极小点,称为一维搜索或线性搜索.·1.2 单峰函数定义 1.2.1 设 f 是定义在闭区间[a , b ]上的一元实函数,x * 是 f 在[a , b ]上的极小点,对 ∀x 1 , x 2 ∈ [a , b ] 且 x 1 < x 2 ,当 x 2 ≤ x 时, f (x 1 ) > f (x 2 ) ,当 x * ≤ x 时,f (x 2 ) > f (x 1 ) ,则称 f 是闭区间[a , b ]上的单峰函数.·1.3 单峰函数的性质单峰函数具有很重要的性质:通过计算闭区间[a , b ]内两个不同点处的函数 值,就能确定一个包含极小点的子区间.这也是斐波那契法的理论基础.为了后面分析的方便,先证明下面的定理,这个定理是斐波那契方法的理论 基础.定理 1.3.1 设 f 是闭区间 [a , b ] 上的单峰函数, x 1 , x 2 ∈ [a , b ] ,且 x 1 < x 2 .如果 f (x 1 ) > f (x 2 ) , 则 对 ∀x ∈ [a , x 1 ] , 有 f (x ) > f (x 2 ) ; 如 果 f (x 1 ) ≤ f (x 2 ) , 则 对∀x ∈ [x 2 , b ],有 f (x ) ≥ f (x 1 ).证明:(反证法)先证第一种情形.假设当 f (x 1 ) > f (x 2 ) 时, []1x x a ,∈∃,使得* 2f (x )≤ f (x 2 ) .(1.3.1.1)显然 x 1 不是极小点.这时有两种可能性,要么极小点 x ∈ [a , x 1 ),要么 x ∈ (x 1 , b ] .当 x ∈ [a , x 1 )时,根据单峰函数的定义,有f (x 2 ) > f (x 1 ) .(1.3.1.2)这与假设矛盾.当 x ∈ (x 1 , b ]时,根据单峰函数的定义,有f (x )> f (x ). 1(1.3.1.3)由于假设 f (x 1 ) > f (x 2 ) ,因此(1.3.1.3)式与(1.3.1.1)式相矛盾.综上可知,当f (x 1 ) > f (x 2 )时,对∀x ∈ [a , x 1 ],必有f (x ) >f (x 2 ) .(1.3.1.4)同理可以证明第二种情形.证毕. 根据上面的定理知:只需选择两个试探点,就可以将包含极小点的区间缩短.事实上,如果 f (x 1 ) > f (x 2 ) ,则 x ∈ [x 1 , b ] ;如果 f (x 1 ) ≤ f (x 2 ) ,则 x * ∈ [a , x ].这就是斐波那契法的理论基础.2. 斐波那契法分析斐波那契法的一维搜索过程是建立在一个被称为斐波那契数列的基础上进 行的.在此之前,有必要知道区间缩短率以及斐波那契数列的概念. ·2.1 区间缩短率定义 2.1.1 在逐次缩短区间时,设)10(......)10()10(112211221111<<=--<<=--<<=----k k k k kk a b a b a b a b a b a b ττττττ称τk (k = 1,2,⋅ ⋅ ⋅) 为区间缩短率.对于上面的τk 不外乎两种情况,要么τk = c ,要么τk ≠ c ( c 为常数).第一种情况就可以引入前面提到的黄金分割法,第二种情况就是下面要分析的斐波那契 法.·2.2 斐波那契数列斐波那契数列是 13 世纪,由意大利的数学家列昂纳多·斐波那契(Leonardo Fibonacci)提出的,当时和兔子的繁殖问题有关,它是一个很重要的数学模型. 斐波那契数列,又被称为“黄金分割数列”,它指的是这样的一个数列:数列的 第一个和第二个数都为 1,接下来每个数都等于前面两个数的和.在数学上,斐波那契数列有如下的递归定义:⎩⎨⎧=+===--,...3,2,12110n F F F F F n n n故,斐波那契数列如表 2.2.1 所示.表 2.2.1 斐波那契数列表⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+=nn n a 25125151 此时).,3(,1,1*2121N n n a a a a a n n n ∈≥+===-- 2.3 斐波那契法原理在定义2.1.1中,若为常数)c c (k ≠τ,可取kk k F F 1-=τ.其中k F 满足斐波那契数列的递推关系。