ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:702.29KB ,
资源ID:5862551      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5862551.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(最优化方法课程设计-斐波那契法分析与实现-.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

最优化方法课程设计-斐波那契法分析与实现-.doc

1、 最优化方 法 题 目: 斐波那契法分析与实现 院 系: 信息与计算科学学院 专 业: 统计学 姓名学号: 小熊熊 11071050137 指导教师: 大胖胖 日 期: 2014 年 01 月 10 日

2、 摘 要 科学的数学化是当代科学发展的一个主要趋势,最优化理论与算法是一个重 要的数学分支,它所研究的问题是讨论在众多的方案中什么样的方案最优以及怎 样找出最优方案. 一维搜索是指寻求一元函数在某个区间上的最优点的方法.这类方法不仅有 实用价值,而且大量多维最优化方法都依赖于一系列的一维最优化.本文就斐波 那契法的一维搜索进行了详细的分析,并且成功的用 MATLAB 实现了斐波那契法 求解单峰函数的极小值问题. 斐波那契法的一维搜索过程是建立在一个被称为斐波那契数列的基础上进 行的,斐波那契法成功地实现了单峰函数极值范围的缩减.从理论上来说,斐波 那契法的精度比黄金

3、分割法要高.但由于斐波那契法要事先知道计算函数值的次 数,故相比之下,黄金分割法更为简单一点,它不需要事先知道计算次数,并且 当 n ³ 7 时,黄金分割法的收敛速率与斐波那契法越来越接近.因此,在实际应用 中,常常采用黄金分割法. 斐波那契法也是一种区间收缩算法,和黄金分割法不 同的是:黄金分割法每次收缩只改变搜索区间的一个端点,即它是单向收缩法. 而斐波那契法同时改变搜索区间的两个端点,是一种双向收缩法. 关键字:一维搜索 斐波那契法 单峰函数 黄金分割法 MATLAB Abstract Mathematical

4、 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

5、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

6、 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 metho

7、d 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

8、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

9、 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:

10、 one-dimensional search Fibonacci method unimodal function Golden Section function MATLAB 目 录 1.前言……………………………………………………………………1 1.1 一维搜索………………………………………………………………………1 1.2 单峰函数………………………………………………………………………1 1.3 单峰函数的性质………………………………………………………………1 2.斐波那契法分

11、析………………………………………………………2 2.1 区间缩短率……………………………………………………………………2 2.2 斐波那契数列…………………………………………………………………3 2.3 斐波那契法原理………………………………………………………………3 2.4 斐波那契法与黄金分割法的关系……………………………………………6 3.斐波那契法实现………………………………………………………7 3.1 斐波那契算法步骤……………………………………………………………7 3.2 斐波那契法的 MATLAB 程序…………………………………………

12、…………8 3.3 斐波那契算法举例 ………………………………………………………… 10 4.课程设计总结 ………………………………………………………12 4.1 概述 …………………………………………………………………………12 4.2 个人心得体会 ………………………………………………………………12 5.参考文献 ……………………………………………………………13 1. 前言 一维搜索是指寻求一元函数在某区间上的最优值点的方法.这类方法不仅有 实用价值,而且大量多维最优化方法都依赖于一系列的一维最优化. 斐波

13、那契法的一维搜索过程是建立在一个被称为斐波那契数列的基础上进 行的.从理论上来说,斐波那契法的精度比黄金分割法要高.但由于斐波那契法要 事先知道计算函数值的次数,故相比之下,黄金分割法更为简单一点,它不需要 事先知道计算次数,并且当 n ³ 7 时,黄金分割法的收敛速率与斐波那契法越来 越接近.因此,在实际应用中,常常采用黄金分割法. ·1.1 一维搜索 很多迭代下降算法具有一个共同点,即得到点 x k 后,需要按某种规则确定 一个方向 d k ,再从 x k 出发,沿着方向 d k 在直线或射线上寻求目标函数的极小点, 进而得到 x k 的后继点 x k +1 .重复上面的做法,直至

14、求得问题的解.这里所谓求目标 函数在直线上的极小点,称为一维搜索或线性搜索. ·1.2 单峰函数 定义 1.2.1 设 f 是定义在闭区间[a, b]上的一元实函数,x* 是 f 在[a, b]上的极小 11 * 点,对 "x1 , x2 Î [a, b] 且 x1 < x2 ,当 x2 £ x 时, f (x1 ) > f (x2 ) ,当 x* £ x 时, 1 f (x2 ) > f (x1 ) ,则称 f 是闭区间[a, b]上的单峰函数. ·1.3 单峰函数的性质 单峰函数具有很重要的性质:通过

15、计算闭区间[a, b]内两个不同点处的函数 值,就能确定一个包含极小点的子区间.这也是斐波那契法的理论基础. 为了后面分析的方便,先证明下面的定理,这个定理是斐波那契方法的理论 基础. 定理 1.3.1 设 f 是闭区间 [a, b] 上的单峰函数, x1 , x2 Î [a, b] ,且 x1 < x2 .如果 f (x1 ) > f (x2 ) , 则 对 "x Î [a, x1 ] , 有 f (x) > f (x2 ) ; 如 果 f (x1 ) £ f (x2 ) , 则 对 "x Î [x2 , b],有 f (x) ³ f

16、 (x1 ) . 证明:(反证法)先证第一种情形.假设当 f (x1 ) > f (x2 ) 时, ,使得 f () £ f (x2 ) . (1.3.1.1) 显然 x1 不是极小点.这时有两种可能性,要么极小点 x Î [a, x1 ),要么 x Î (x1 , b] . 当 Î [a, x1 )时,根据单峰函数的定义,有 f (x2 ) > f (x1 ) . (1.3.1.2) 这与假设矛盾. 当 Î (x1 , b]时,根据单峰函数的定义,有 f () > f (x ) . 1

17、 (1.3.1.3) 由于假设 f (x1 ) > f (x2 ) ,因此(1.3.1.3)式与(1.3.1.1)式相矛盾.综上可知,当 f (x1 ) > f (x2 ) 时,对"x Î [a, x1 ],必有 f (x) >  f (x2 ) . (1.3.1.4) 同理可以证明第二种情形. * 证毕. 根据上面的定理知:只需选择两个试探点,就可以将包含极小点的区间缩短. 事实上,如果 f (x1 ) > f (x2 ) ,则 x Î [x1 , b] ;如果 f (x1 ) £ f (x

18、2 ) ,则 x* Î [a, x ]. 2 这就是斐波那契法的理论基础. 2. 斐波那契法分析 斐波那契法的一维搜索过程是建立在一个被称为斐波那契数列的基础上进 行的.在此之前,有必要知道区间缩短率以及斐波那契数列的概念. ·2.1 区间缩短率 定义 2.1.1 在逐次缩短区间时,设 称tk (k = 1,2,× × ×) 为区间缩短率. 对于上面的tk 不外乎两种情况,要么tk = c ,要么tk ¹ c ( c 为常数).第一种 情况就可以引入前面提到的黄金分割法,第二种情况就是下面要分析的斐波那契 法. ·2.2

19、 斐波那契数列 斐波那契数列是 13 世纪,由意大利的数学家列昂纳多·斐波那契(Leonardo Fibonacci)提出的,当时和兔子的繁殖问题有关,它是一个很重要的数学模型. 斐波那契数列,又被称为“黄金分割数列”,它指的是这样的一个数列:数列的 第一个和第二个数都为 1,接下来每个数都等于前面两个数的和. 在数学上,斐波那契数列有如下的递归定义: 故,斐波那契数列如表 2.2.1 所示. 表 2.2.1 斐波那契数列表 n 0 1 2 3 4 5 6 7 8 9 … Fn 1 1 2 3 5 8 13 21

20、 34 55 … 斐波那契数列的通项公式(又称为“比内公式”)如下: 此时 2.3 斐波那契法原理 在定义2.1.1中,若,可取.其中满足斐波那契数列的递推关系。 斐波那契法成功地实现了单峰函数极值范围的缩减.现设某一单峰函数 在闭区间[a,b]上有一极小点,则在此区间内任意取两点,使得 分别计算其函数值可能出现的以下两种情况: (1) (2) 可以看出,只要在闭区间[a, b]内任意取两点 a1 和b1 (a1 < b1 ),再计算其函数 值加以比较,就可以把区间[a, b]缩短成[a, b1 ] 或[a1 , b].若要继续缩短搜索

21、区间, 只需要在前一次区间内再取一点算出其函数值并与 f (a1 ) 或 f (b1 ) 加以比较即可. 因此,计算函数的次数越多,搜索区间就会缩得越小,即区间的缩 短率与函数的计算次数有关.下面分析如何确定试探点. 假设第 k 次试探前的区间为[ak -1 , bk -1 ],试探点为 pk 、 qk , n 为达到预定精度需 要计算函数的次数,则有: 现在先证明用(2.3.1)和(2.3.2)计算试探点时,第k次迭代区间长度的缩短率为: 分别考虑一下两种情形: (1) ⑵当 f ( pk ) £f (qk ) 时,令 ak +1 = ak , bk +1

22、 = qk ; 从上面的结果可以看出,不论哪种情形,区间缩小的比例都是一样的. 利用上述比值,可以计算出经 n - 1 次迭代 (k = n - 1) 所得到的区间长度. 由此可知,只要给定初始区间的长度b1 - a1 和精度要求e,就可以求出计算 函数值的次数 n .令b - a £ e,即 ,故可以推出: 故先用(2.3.3)式计算出斐波那契数 Fn ,再根据 Fn 确定计算函数值的次数 n . 由于第一次迭代需计算两个试探点,以后每次计算一个.因此,经过 n - 1 次 迭代就计算完 n 个试探点.注意,在第 n - 1 次迭代中并没有

23、选择新的试探点.根据 (2.3.1)式和(2.3.2)式,必有 又因为 pn-1和qn-1 中的一个取自第 n - 2 次迭代中的试探点.为了在第 n - 1 次迭代 中能够缩短不确定区间,可以在第 n - 2 次迭代之后(此时,已确定 pn-1 = qn-1 ), 在 pn-1 的左边或右边取一点令: ·2.4 斐波那契法与黄金分割法的关系 斐波那契法也是一种区间收缩算法,和黄金分割法不同的是:黄金分割法每 次收缩只改变搜索区间的一个端点,即它是单向收缩法.而斐波那契法同时改变 搜索区间的两个端点,是一种双向收缩法. 可以证明,黄金分割法可作为

24、斐波那契法的极限形式. 斐波那契数列的递推关系为 Fk +1 = Fk + Fk -1 , (2.4.1) 其特征方程为 l2 - l- 1 = 0 , (2.4.2) 解(2.4.2)式,可以得到两个根 (2.4.3) 满足递推关系(2.4.1)的一般解是

25、 (2.4.4) 又因为 F0 = F1 = 1 ,故 因此有: 很明显,这个极限值恰好是黄金分割法中的参数a. 所以,从理论上来说,斐波那契法的精度比黄金分割法要高.斐波那契法的 缺点是要事先求出计算函数值的次数.相比之下,黄金分割法来得更简便一点, 它不需要事先知道计算次数,而且收敛速率与斐波那契法比较接近,当 n ³ 7 时, 有 因此,在实际应用中,一般采用黄金分割法. 3. 斐波那契实现 通过对上面的斐

26、波那契法的原理进行分析之后,可以写出斐波那契算法的步 骤如下: ·3.1 斐波那契算法步骤 用斐波那契法求无约束问题 min f (x), x Î R 的基本算法步骤如下: ⑴选定初始区间和精度要求e > 0 ,利用下式 求出计算函数值的次数 n .并设d > 0 .接着由下式 计算试探点 p1和q1 .令 k = 1 . ⑵如果 f ( pk ) > ⑶令 f (qk ),转⑶;否则转⑷

27、 若 k = n - 2 ,则转⑹;否则转⑸. ⑷令 若 k = n - 2 ,则转⑹;否则转⑸. ⑸令 k = k + 1,转⑵. ⑹令 pn = pn-1 , qn = pn-1 + d,计算 f ( pn )和f (qn ) .若则令 否则令  停止计算,极小点 ·3.2 斐波那契法的 MATLAB 程序 用

28、 MATLAB 编写斐波那契法程序如下所示: function [x,minf] = minFBNQ(f,a,b,delta,eps) format long; if nargin==4 %输入参数的个数 eps=1.0e-6; end F=ones(2,1); %产生一个2行1列值全为1的矩阵 N=(b-a)/eps; c=F(2)-N; n=2; while c<0 %求出计算函数值的次数n n=n+1; F(n)=F(n-1)+F(n-2); c=F(n)-N; end p=a+F(n-2)*(b-a)/F(n); %p和q为试探点 q=a+F(n-1)*(b-a

29、)/F(n); k=1; while 1 fp=subs(f,findsym(f),p); %fp和fq为试探点的函数值 fq=subs(f,findsym(f),q); if fp>fq a=p; %第一种情况,改变区间的左端点 p=q; q=a+F(n-k-1)*(b-a)/F(n-k); %缩短搜索区间 if(k==n-3) break; else k=k+1; end else b=q; %第二种情况,改变区间的右端点 q=p; p=a+F(n-k-2)*(b-a)/F(n-k); %缩短搜索区间 if(k==n-3) break; else k=k

30、1; end  end end if k==100000 disp('未找到最小值!'); x=NaN; minf=NaN; %not a number! return; end q=p+delta; fp=subs(f,findsym(f),p); fq=subs(f,findsym(f),q); if fp>fq a=p; else b=p; end x=(a+b)/2; minf=subs(f,findsym(f),x); format short; end 调用格式:[x, min f ] = min FBNQ( f , a,

31、 b, delta, eps) . 符号说明: x …………目标函数取最小值时的自变量; min f ……目标函数的最小值; f …………目标函数; a …………极值区间左端点; b …………极值区间右端点; delta ………算法结束参数; eps ………精度; ·3.3 斐波那契算法举例 现在,用上面的 MATLAB 程序求解两个一维搜索问题,并进行验证. 问题一:试用斐波那契法求函数 f (x) = 3x 2 - 12x + 10 的极小点,要求缩短后的区 间不大于初始给定的区间[1,4]的 0.05 倍. 解:在 MATLAB 窗口输入如下命令

32、 >> syms x; >> f=3*x^2-12*x+10; >> [x,minf]=minFBNQ(f,1,4,0.05) 运行结果为 x = 2.0000 minf = -2.0000 >> 下面用数学分析的方法来验证所求结果的正确性: 因为 f (x) = 3x 2 - 12x + 10 是二次函数,将其配方后可得 f (x) = 3(x - 2)2 - 2 . 对称轴为直线 x = 2 .由于 x = 2 Î [1,4],抛物线的开口向上,故在顶点处取得极小 值(也是最小值).顶点的纵坐标 y = -2 即为函

33、数 f (x) = 3x 2 - 12x + 10 在区间[1,4] 上的极小点.证毕. 因此,这个结果和用 MATLAB 求解的结果是一致的.说明了斐波那契法的正确 性. 问题二:用斐波那契法求解下列问题 min f (x) = 2x 2 - x - 1 . 初始区间为[- 1,1],精度要求e £ 0.16 . 解:在 MATLAB 窗口输入如下命令 >> syms x; >> f=2*x^2-x-1; >> [x,minf]=minFBNQ(f,-1,1,0.16) 运行结果为 x = 0.2500 minf = -

34、1.1250 >> 下面用数学分析的方法验证所求结果的正确性: 二次函数的对称轴抛物线的开口向上故在顶点处取得最小值.顶点纵坐标为即为函数 在区间[-1,1]上的极小点(也是最小点).证毕 所以,跟上一个问题的结论一样,这个结果证明了斐波那契法的正确性. 4. 课程设计总结 ·4.1 概述 最优化理论与算法是一个重要的数学分支,它所研究的问题是讨论在众多的 方案中什么样的方案最优以及怎样找出最优方案.求解最优问题是一个艰难而具 有挑战性的过程,最优化方法涵盖了无约束最优化问题、凸集与凸函数、等式约 束最优化问题和不等式约束最优化问题等知识点.

35、本次课程设计的题目是:斐波那契分析与实现. 斐波那契法的一维搜索过程 是建立在一个被称为斐波那契数列的基础上进行的,斐波那契法成功地实现了单 峰函数极值范围的缩减.从理论上来说,斐波那契法的精度比黄金分割法要高. 但由于斐波那契法要事先知道计算函数值的次数,故相比之下,黄金分割法更为 简单一点,它不需要事先知道计算次数,并且当 n ³ 7 时,黄金分割法的收敛速 率与斐波那契法越来越接近.因此,在实际应用中,常常采用黄金分割法. 斐波 那契法也是一种区间收缩算法,和黄金分割法不同的是:黄金分割法每次收缩只 改变搜索区间的一个端点,即它是单向收缩法.而斐波那契法同时改变搜索区间 的两个端点,是一

36、种双向收缩法. ·4.2 个人心得体会 通过本次课程设计,我知道了一维搜索的概念,深刻理解了单峰函数的定义 和性质.学会了区间缩短率是怎样定义的以及斐波那契数列的定义和性质.在此 基础上,我还深刻理解了斐波那契法进行一维搜索的原理,并且知道了一维搜索 的斐波那契法与黄金分割法的关系,并进行相关证明和验证,增强了说服力.另 外,我成功的实现了斐波那契算法的 MATLAB 程序并用数学分析的理论方法证明 了程序求解的正确性.通过斐波那契的 MATLAB 实现,让我更加熟悉 MATLAB 编程 了,感觉使用 MATLAB 软件求解很多数学问题还是很方便的. 5. 参考文献 [1] 陈宝林.最优化理论与算法[M].北京:清华大学出版社,2005. [2] 董文永,刘进,丁健立,朱福喜.最优化技术与数学建模[M].北京:清华大 学出版社,2010. [3] 张光澄.非线性最优化计算方法[M].北京:高等教育出版社,2005. [4] 龚纯,王正林.精通 MATLAB 最优化计算(第 2 版)[M].北京:电子工业出版 社,2005.

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服