收藏 分享(赏)

最优化方法实验报告(1).doc

上传人:精品资料 文档编号:10773786 上传时间:2020-01-08 格式:DOC 页数:13 大小:309.19KB
下载 相关 举报
最优化方法实验报告(1).doc_第1页
第1页 / 共13页
最优化方法实验报告(1).doc_第2页
第2页 / 共13页
最优化方法实验报告(1).doc_第3页
第3页 / 共13页
最优化方法实验报告(1).doc_第4页
第4页 / 共13页
最优化方法实验报告(1).doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、第 0 页 共 13 页最优化方法实验报告Numerical Linear Algebra And Its Applications学生所在学院:理 学 院学生所在班级:计算数学 10-1学 生 姓 名:甘 纯指 导 教 师:单 锐教 务 处2013 年 5 月第 1 页 共 13 页实验一实验名称: 熟悉 matlab 基本功能 实验时间: 2013 年 05 月 10 日 星期三 实验成绩: 一、实验目的:在本次实验中,通过亲临使用 MATLAB,对该软件做一全面了解并掌握重点内容。二、实验内容:1. 全面了解 MATLAB 系统2. 实验常用工具的具体操作和功能实验二实验名称: 一维搜索

2、方法的 MATLAB 实现 实验时间: 2013 年 05 月 10 日 星期三 实验成绩: 一、实验目的:通过上机利用 Matlab 数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉 Matlab 软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。二、实验背景:第 2 页 共 13 页(一)0.618法(黄金分割法) ,它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。1、算法原理黄金分割法的思想很直接,既然极小点包含于搜索区间内,

3、那么可以不断的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。2、算法步骤用黄金分割法求无约束问题 的基本步骤如下:min(),fxR(1)选定初始区间 及精度 ,计算试探点:1,ab011.382*()ba。110.6a(2)若 ,则停止计算。否则当 时转步骤(3) 。kbakkff当 转步骤(4) 。kff(3)置第 3 页 共 13 页转步骤(5)1110.382*()kkkabba(4)置转步骤( 5)1110.382*()kkkabba(5)令 ,转步骤(2) 。(2)斐波那契法:1、算法原理斐波那契法也是一种区间收缩算法,但是和黄金分割法不同的是,黄金分割法每次收缩只改变搜索区间

4、的一个端点,而斐波那契法同时改变搜索区间的两个端点,是一种双向收缩法。2、算法步骤(1)选取初始数据,确定单峰区间 ,给出搜索精度 ,由 ,0ba0确定搜索次数 。nFabn(2) ,计算最初两个搜索点,按(3)计算 和 。0,1bk 1t2(3) while n第 4 页 共 13 页)(),(21tftfif )()(1;12 abknFattaelse )(1(;21 baknFbttbend 1ken(4) 当进行至 时,nk)(211bat这就无法借比较函数值 和 的大小确定最终区间,为此,取)(1tf)2f)(2112abat其中 为任意小的数。在 和 这两点中,以函数值较小者为近

5、似1t2极小点,相应的函数值为近似极小值。并得最终区间 或 。,1ta,2b由上述分析可知,斐波那契法使用对称搜索的方法,逐步缩短所考察的区间,它能以尽量少的函数求值次数,达到预定的某一第 5 页 共 13 页缩短率。(3)三点二次插值法:1、算法原理该算法在搜索区间中不断用低次(通常不超过三次)插值多项式来近似目标函数,并逐步用插值多项式的极小点来逼近 的)( x极小点,当函数具有比较好的解析性质时,插值方法比直接方法(如0.618或 Fibonacci 法)效果更好。2、算法步骤(1)取初始点 ,计算 并满足3213,21iii ) ,( ,置精度要求 (迭代终止条件) 。)()(21(2

6、 ) 计算 ,则置 0AA213132321 ,)()()( 停止计算22)(,(3)计算 A3212123123 )()()( 若 或 则置 停止计算1),(332,第 6 页 共 13 页(4)计算 ,若 停止计算( 作为极小点))(2(5)如果 则,32若 则置: 否则置 ;,222121, 3,否则 则),(21若 则置: 否则置 。,2 22323, 1,(6)转(2)三、实验内容:1. 0.618 法的 MATLAB 实现2. Fibonacci 法的 MATLAB 实现3二次插值法的 MATLAB 实现四、实验过程:10.618 法的函数:function x,minf = mi

7、nHJ(f,a,b,eps)if nargin = 3eps = 1.0e-6;endl = a + 0.382*(b-a);u = a + 0.618*(b-a);第 7 页 共 13 页k=1;tol = b-a;while toleps l = u;u = a + 0.618*(b - a);elseb = u;u = l;l = a + 0.382*(b-a);endk = k+1;tol = abs(b - a);endif k = 100000disp(找不到最小值!);x = NaN;minf = NaN;return;endx = (a+b)/2;minf = subs(f,

8、findsym(f),x);2Fibonacci 法的函数:function x,minf = minFBNQ(f,a,b,delta,eps)if nargin = 4eps = 1.0e-6;endF = ones(2,1);N = (b-a)/eps;c = F(2) - N;n = 2;第 8 页 共 13 页while c fua = l;l = u;u = a + F(n-k-1)*(b-a)/F(n-k);if (k = n - 3)break; elsek = k+1;endelseb = u;u = l;l = a + F(n-k-2)*(b-a)/F(n-k);if ( k

9、 = n-3 )break; elsek = k+1;endendendif k = 100000disp(找不到最小值!);x = NaN;minf = NaN;return;end第 9 页 共 13 页u = l + delta;fl = subs(f , findsym(f), l);fu = subs(f , findsym(f), u);if fl fua = l;elseb = l;endx = (a+b)/2;minf = subs(f , findsym(f), x);3二次插值法函数:function min,minf=minTP(a1,a2,a3,f,eps)if nar

10、gin=4eps=10(-2);endf1=subs(f,findsym(f),a1);f2=subs(f,findsym(f),a2);f3=subs(f,findsym(f),a3);if (f1f3)disp(输入三点不符合三点二次插值的要求);endax=(a22-a32)*f1+(a32-a12)*f2+(a12-a22)*f3)/(2*(a2-a3)*f1+(a3-a1)*f2+(a1-a2)*f3);fax=subs(f,findsym(f),ax);while(abs(fax-f2)eps)if axa2if faxsyms t;f=t4-t2-2*t+5;x,fx=minHJ

11、(f,-10,10)结果为:x= 1.0000fx= 3.0000第 11 页 共 13 页2Fibonacci 法Fibonacci 法求解极值实例。用 Fibonacci 法求解下面函数的最小值: 10,52)(4tttf其 中在 command window 中输入:syms t;f=t4-t2-2*t+5;x,fx=minFBNQ(f,-10,10,0.05)结果为:x= 1.0000fx= 3.00003二次插值法在 command window 中输入: syms t;f=t3-3*t+2;a1=0;a2=2;a3=3;min,minf=minTP(a1,a2,a3,f,0.0001)结果为:min =0.9983minf =8.9463e-006第 12 页 共 13 页

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报