网站大量收购独家精品文档,联系QQ:2885784924

最优化方法(黄金分割和进退法)实验报告.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最优化方法(黄金分割和进退法)实验报告

一维搜索方法的MATLAB实现 姓名: 班级:信息与计算科学 学号: 实验时间: 2014/6/21 一、实验目的: 通过上机利用Matlab数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉Matlab软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。 二、实验背景: 黄金分割法 它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。 1、算法原理 黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。 算法步骤 用黄金分割法求无约束问题的基本步骤如下: (1)选定初始区间及精度,计算试探点: 。 (2)若,则停止计算。否则当时转步骤(3)。 当转步骤(4)。 (3) 转步骤(5) (4) 转步骤(5) 令,转步骤(2)。 算法的MATLAB实现 function xmin=golden(f,a,b,e) k=0; x1=a+0.382*(b-a); x2=a+0.618*(b-a); while b-ae f1=subs(f,x1); f2=subs(f,x2); if f1f2 a=x1; x1=x2; f1=f2; x2=a+0.618*(b-a); else b=x2; x2=x1; f2=f1; x1=a+0.382*(b-a); end k=k+1; end xmin=(a+b)/2; fmin=subs(f,xmin) fprintf(k=\n); disp(k); 实验结果(总结/方案) 黄金分割法求解极值实例。用黄金分割法求解下面函数的最小值: 进退法 算法原理 进退法是用来确定搜索区间(包含极小值点的区间)的算法,其理论依据是:为单谷函数(只有一个极值点),且为其极小值点的一个搜索区间,对于任意,如果,则为极小值的搜索区间,如果,则为极小值的搜索区间。 因此,在给定初始点,及初始搜索步长的情况下,首先以初始步长向前搜索一步,计算。 如果 则可知搜索区间为,其中待求,为确定,后退一步计算,为缩小系数,且,直接找到合适的,使得,从而确定搜索区间。 如果 则可知搜索区间为,其中待求,为确定,前进一步计算,为放大系数,且,知道找到合适的,使得,从而确定搜索区间。 算法步骤 用进退法求一维无约束问题的搜索区间(包含极小值点的区间)的基本算法步骤如下: 给定初始点,初始步长,令,,; 令,置; 若,则转步骤(4),否则转步骤(5); 令,,,令,转步骤(2); 若,则转步骤(6)否则转步骤(7); 令,,,转步骤(2); 令,停止计算,极小值点包含于区间 算法的MATLAB实现 function [A,B]=minJT(f,x0,h0,eps) %目标函数:f; %初始点:x0; %初始步长:h0; %精度:eps; %目标函数取包含极值的区间的左端点:A; %目标函数取包含极值的区间的右端点:B; format long; if nargin==3; eps=1.0e-6; end x1=x0; k=0; h=h0; while 1 x4=x1+h;%试探步 k=k+1; f4=subs(f,findsym(f),x4); f1=subs(f,findsym(f),x1); if f4f1 x2=x1; x1=x4; f2=f1; f1=f4; h=2*h;%加大步长 else if k==1 h=-h;%反向搜索 x2=x4; f2=f4; else x3=x2; x2=x1; x1=x4; break; end end end A=min(x1,x3); B=x1+x3-A; format short; 例: 取初始点为0,步长为0.1,用进退法求函数的极值区间。 最优化方法上机实验 第 1 页 共 6 页 第 1 页 共 6 页

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档