最优化方法实验报告_第1页
最优化方法实验报告_第2页
最优化方法实验报告_第3页
最优化方法实验报告_第4页
最优化方法实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、维搜索方法的MATLAB实现姓名:班级:信息与计算科学学号:实验时间:2014/6/21一、实验目的:通过上机利用Matlab数学软件进行一维搜索,并学会对具体问题进行分 析。并且熟悉Matlab软件的实用方法,并且做到学习与使用并存,增加学习的 实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们 的学习兴趣。二、实验背景:黄金分割法它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后, 我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。1、算法原理黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断 的缩小搜索区间,就可以使搜索区间的端点逼近

2、到极小点。2、算法步骤用黄金分割法求无约束问题min f 3),点R的基本步骤如下:(1)选定初始区间3平及精度0,计算试探点:X = a + 0.382*( b - a )1111r = a + 0.618*( b - a )1 .1 1。山)乂)(2)声bk-a,则停止计算。否则当八W八叩时转步骤(3)。ff如)转步骤(4)。(3)气广气b = bk+1k气+1 = RkR = a + 0.382*( b - a )转步骤(5)侦 k+1k+1k+1k+1 转步骤(5)(4)以十1二再A+i = &|U-1 = 1 + 0-382 *(%】)转步骤(5)令k = k +1,转步骤(2)。算

3、法的MATLAB实现function xmin=golden(f,a,b,e)k=0;x1=a+0.382*(b-a);x2=a+0.618*(b-a);while b-aef1=subs(f,x1);f2=subs(f,x2);if f1f2a=x1;x1=x2;f1=f2;x2=a+0.618*(b-a);elseb=x2;x2=x1;f2=f1;x1=a+0.382*(b-a);endk=k+1;endxmin=(a+b)/2;fmin=subs(f,xmin)fprintf(k=n);disp(k);3、实验结果(总结/方案)黄金分割法求解极值实例。用黄金分割法求解下面函数的最小值:f

4、 (t) =t4 -12 -2t + 5,其中t e-10,10Command WindowNew to MATLAB ? Watch this Videci, see D/rns. or repad Getting Stmed. synis k a b e;%定义变量=膈5十fJ姓圭lx问的笛一占 a=j 1 鼎福由姓君成词fmin =3. 0000 k=27xmin -1. 0000进退法算法原理进退法是用来确定搜索区间(包含极小值点的区间)的算法,其理论依据 是:f 3)为单谷函数(只有一个极值点),且a,b为其极小值点的一个搜索区 间,对于任意气,x e a,b,如果f (七) f (

5、x) 则气,b为极小值的搜索区间。2因此,在给定初始点x,及初始搜索步长h的情况下,首先以初始步长向 前搜索一步,计算f (x + h)。0(1)如果 f (x ) f (x + h)则可知搜索区间为X,X + h,其中X待求,为确定X,后退一步计算 f (X0-人h),人为缩小系数,且0 X f (x),从而确定搜索区间x -X *h, x + h。第3页共6页(2)如果 f (x ) f (x + h)则可知搜索区间为%,X,其中X待求,为确定X,前进一步计算f (%+人h), 人为放大系数,且人1,知道找到合适的人*,使得f (x0 + h)v f (x0 +1h),从 而确定搜索区间%

6、, %+人* h 。算法步骤用进退法求一维无约束问题min f (x), x e R的搜索区间(包含极小值点的区 间)的基本算法步骤如下:(1)(2)(3)(4)给定初始点x(0),初始步长h0,令h = h0,x(i)= (1)(2)(3)(4)令x (4) = x + h,置 k = k +1 ;若f (x)v f (x),则转步骤(4),否则转步骤(5);令 x (2) = x (1), x (1) = x (4),f (x (2) )= f (x (1) ),f (x (1) )= f (x (4),令 h = 2h,转步骤(2);(5)(6)(7)若k = 1(5)(6)(7)令 h

7、 = -h, x=x,f (x)=f (x(4),转步骤(2);令x=x(2) , x=x(1), x=x(4),停止计算,极小值点包含于区间x(1), x(3)或x(3), x算法的MATLAB实现function A,B=minJT(f,x0,h0,eps)%目标函数:f;%初始点:x0;%初始步长:h0;%精度:eps;%目标函数取包含极值的区间的左端点:A;%目标函数取包含极值的区间的右端点:B;format long;if nargin=3;eps=1.0e-6;endx1=x0;最优化方法上机实验 k=0;h=h0;while 1x4=x1+h;%试探步k=k+1;f4=subs(f,f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论