62一维搜索2012-11-18幻灯片资料.ppt

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

进退法,又称成功失败法,其基本思想是: 从某一点出发,任选一个方向和步长,向前试探性走一步,求出该点的函数值。如果有利(指该点函数值较小),就向前走一步,并加大步长再向前试探一步; 否则,就缩小步长反方向(后退方向)试探一步。如此反复搜索,当步长缩小到一定程度时停止。最后确定高-中-高的三点,中间点即为近似极值点。 9.2.4、进退法 第九章 一维搜索 9.1、一维搜索的基本概念 下降方向: 设, 若存在 ,使得当 时,有 ,则称 为 在 处的下降方向。 下降迭代法的基本思想 : 若该点的序列收敛于 ,在一定条件下, 就是极点。 下降迭代算法步骤 (1)给出初始点 ,令 ; (2)按照某种规则确定下降搜索方向 ; (3)按照某种规则确定搜索步长 ,使得 ; (4)令 , ; (5)判断 是否满足停止条件。是则停止,否则转第2步。 搜索步长确定方法: 称 。 为最优步长,且有 收敛速度 则称 的收敛阶为 。 设算法A所得的点列为 ,如果 的极值问题,即 为一维搜索。 上述下降算法关键在于求: (1)给定点的下降方法dk 下降迭代算法的框图。 9.1. 一维搜索问题 下降迭代算法中最优步长的确定 . . 一维最优化问题: 极值点的必要条件: 第2节 一维搜索算法 一、单峰函数及性质 设 是定义在闭区间 上的一元实函数, 是 在 上的极小点,并对任意的 ,且 ,满足: 当 时, ;当 时, ,则 称 是闭区间 上的单峰函数。 例如图6-11 中(a)是单峰函数,(b)不是单峰函数。 (a) (b) 1. 单峰函数 定义:设 是区间 上的一元函数, 是 在 上的极小点,且对任意的 有 (a)当 时, (b)当 . . . . . 则称 是单峰函数。 . . 性质:通过计算区间 内两个不同点的函数值,就可以 确定一个包含极小点的子区间。 推论 设 是区间 上的一元函数, 是 在 上的极小点。任取点 则有 (1)如果 ,则 (2)如果 则 . . . . . 2. 黄金分割法 思想 通过选取试探点使包含极小点的区间不断缩短, 直到区间长度小到一定程度,此时区间上各点的函数 值均接近极小值。 下面推导黄金分割法的计算公式。 通过确定 的取值,使上一次迭代剩余的迭代点恰与下一次迭代的一个迭代点重合,从而减少算法的计算量。 同理可得。 9.2.1-1、黄金分割法(Golden section method)计算步骤 黄金分割法的基本思想是:通过取试探点使包含极小点的区间(不确定区间)不断缩短,当区间长度小到一定程度时,区间上各点的函数值均接近极小值,因此任意一点都可作为极小值点的近似。 黄金分割法计算公式 黄金分割法又称0.618法 算法步骤: 黄金分割法的迭代效果:第k次后迭代后所得区间长度为 初始区间长度的 其它的试探点算法:Fibonacci算法。 例9.2.1 用0.618法求解下列问题 初始区间 =[-1,1],精度 function [x,eval]=gold(a,b) epsilon=10^-4; a1=a; a3=b; x=a1+0.382*(a3-a1); y=a1+0.618*(a3-a1); f1=liti1(x); f2=liti1(y); while abs(y-x)=epsilon if f1f2 a1=x; x=y; y=a1+0.618*(a3-a1); f1=f2; f2=liti1(y); else a3=y; y=x; f2=f1; x=a1+0.382*(a3-a1); f1=liti1(x); end end x y xmin=0.5*(x+y); fmin=liti1(xmin); x=xmin; eval=fmin; 例题1 用0.618法求解下列问题 精度 初始区间 [x,eval]=gold(-1,1) x = 0.25008293838988 eval = -1.12499997236155 解:利用0.618法程序 [x,eval]=gold(a,b)求解所给函数在区间[a

文档评论(0)

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

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

1亿VIP精品文档

相关文档