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

一维搜索方法[网搜] 工程优化教材 西电.ppt

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

第三章 一维搜索方法 一维搜索可用于: ①求一元函数的最优解(一般指:极小点、极小值); ②多维优化设计时,在第k次迭代中,求最优步长。即把目标函数看成是步长α的一元函数。 ;一维搜索的2个步骤: ①确定fmin所在的区间,即找出“高-低-高”单峰区间。单峰区间是指函数在该区间内只有1个极值点,; ②缩小搜索区间,当区间足够小时得到最优点。 ;图a的函数具有“高--低--高”变化特点,而图b和图c可以看成是图a的特例。;一维搜索方法属于无约束规划问题的直接法。 常用解法有成功—失败法,黄金分割法,二次插值法,等等。其基本思想都是确保搜索区间是一个单峰区间,并通过重复不断缩小单峰区间。; 3.1确定搜索区间的方法—进退法 如果目标函数为图a的形式,则可以通过进退法确定出一个严格的单峰区间。即在此单峰区间内,函数呈“??头大,中间小”的特点。这里“两头”为区间的两个端点,“中间”为该区间内的任一点。 ; 若f1≤f2 (如下图c、d),则作后退计算。后退到图中第3点,然后对调1、2点。比较f2与f3: 若f2≤f3(如图c),则找到了“两头大,中间小”的区间:[α3,α1]。 若f2f3(如图d),则将步长加倍,即加倍后退到图d中第三行的α3位置,然后对第2步的试探点重新编号,检查新一轮搜索中的三点是否满足“两头大,中间小”的特点,若不,则重复这一过程。 ; ;以上两种搜索过程中试点1、2、3的排列顺序有什么特点? ; 向前搜索时,试点1、2、3为单调递增顺序排列。向后搜索时,试点1、2、3为单调递减顺序排列。 ;例:用进退法确定 函数的单峰区间。 设初始点为0,初始步长为1. 解:(1)取 ,则有 比较f1和f2的大小,有f1f2,则前进一步,得, 。 ;(2)比较发现,f2f3,符合图b的情况,则步长加倍,即前进两步(h=?),重新编号后得: ;(3)此时仍有f2f3,则步长再加倍(h=?),重复(2)的过程,得 此时,找到了“两头大,中间小”的区间,即[2,8]。;3.2成功—失败法 这种方法可以简单概括为: 大步前进,小步后退。该法可使已知的单峰区间逐渐缩小。 ;以x0点为初始点,以h为初始步长,到达x0+h点,1):若目标函数值下降,即f(x0)f(x0+h),则称搜索成功。下一次就以x0+h为起点,以2h为步长前进到新点,这个过程称为大步前进。2)到达x0+h点,若目标函数值不下降,即f(x0)≤f(x0+h),则称搜索失败。下一次就以x0+h为起点,以-h/4为步长,即改变搜索方向并缩小步长,这个过程称为小步后退。 当步长足够小(小于允许误差)时,搜索停止,得到问题的近似解。 ;例:考虑图中函数f(x)的最小值点。初始点为x0,初始步长为h。为简单起见,以符号来描述运算过程:若成功记为V,若失败记为F;I→J表示从第I点到第J点的搜索过程,其步长标注在→的下边。具体过程为:;; ,失败,退回到x1,下一步反向,改变步长。 ,失败,仍回到x1,下一步再反向,再 改变步长 ,迭代失败,回到x5,下一步… ;实际工程中,函数的形态可能并不清楚,但只要是一维函数,通过成功—失败法就可以找到其最小值点。这个过程可以通过计算机程序来实现。以下是一个matlab程序。 ;%用成功--失败法求x^2+2*x的最小值 h=3; x0=4;n=1; f0=x0*x0+2*x0; fprintf(初始点x0=%d 步长h=%d 目标函数f0=%d\n,x0,h,f0) while abs(h)1e-4 x=x0+h; f=x^2+2*x; fprintf(第%d步,从x=%d出发,经过步长%d,到达点x=%d,目标函数为f=%d;,n,x0,h,x,f) n=n+1; if ff0 h=h*2;x0=x;f0=f;i=此步成功了!; else h=-h/4;i=此步失败了.; end fprintf(%s\n,i) end printf(最优解为x=%d,目标函数f=%d,x0,f0) ;成功--失败法的有点是比较简便,缺点是不容易识别最优解,在最优解附近收敛速度较慢。以下介绍收敛较快的两种方法:黄金分割法和二次插值法。 ;3.3黄金分割法(0.618法) 一维搜索法就其本质而

文档评论(0)

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

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

1亿VIP精品文档

相关文档