LectureIntroductiontoNonlinearOptimization说课.ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * 例: 解: t1 t2 3 0 t 1、第一轮: t1=1.146, t2=1.854 t2-00.5 2、第二轮: t2=1.146, t1=0.708 t2-0=1.1460.5 3、第三轮: t1=0.438, t2=0.708 b -t1=1.146-0.4380.5 1.854 0 t t2 t1 1.146 0 t t2 t1 4、第四轮: t2=0.876=(1.146-0.438), t1=0.708 b-t1=1.146-0.7080.5 输出:t*=t2=0.876为最优解,最优值为-0.0798 0 1.146 t t1 t2 四. Fibonacci法 此法类似于0.618法,也是用于单峰函数。其计算过程也与0.618类似,第1次迭代计算两个试探点,以后每次迭代只需新加一点,另一试探点取自上次的迭代点。此法与0.618法的主要差别为:区间长度的缩短比率不是常数,而是由Fibonacci 数确定;给出精度后,迭代次数可预先确定;适合于参数只能取整数值的情况。 定义 称满足条件 (i)F0 = F1 = 1; (ii) 的数列{ Fn }为Fibonacci数列。 由定义推知Fibonacci数列的前10项为1,1,2,3,5,8,13,21,34,55,89。通过求解递推关系可求得该数列的通项为 ú ú ? ù ê ê ? é ? ? ? ? è ? - - ? ? ? ? è ? + = + + 1 1 2 5 1 2 5 1 5 1 n n n F (2.3) 由(2.3)式可求得 。利用Fibonacci数的这一特 点,用 法中的0.618,再梢加改进,便是 Fibonacci法。 618 . 0 1 ? - n n F F 618 . 0 1 代替 n n F F - 在Fibonacci法中,第n次迭代的搜索区间的长度(记为 )是上一次区间长度的 倍 所以要使在第n次迭代时搜索区间的长度不超过ε,只需 £ 0 1 L F n ε (2.4) 即可。因 是已知值,所以给出精度ε后利用(2.4)式可求得迭代次数。 Fibonacc法在迭代中计算试探点的公式为 即有 Fibonacci法 (1) 对初始区间 和精度ε0,求目标函数值的计算次数 n,使 置辨别常数δ0。计算试探点 计算函数值和 。置k =1。 (2) 若 ,则转(3); 若 ,则转(4)。 (3) (5) 置k﹕= k+1,转(2)。 (4) (6) 思想 在极小点附近,用二次三项式 四. 抛物线(二次)插值 即“两头大中间小” 如何计算函数 令 x = 3 3 2 2 1 1 2 3 3 2 2 2 2 1 1 1 1 1 1 1 1 2 1 f x f x f x x f x f x f - 抛物线插值算法步骤: 解出 思路: 五. 三次插值法 设 令 则有 求解满足 的极小点 令 而 解方程(3),有两种情况: 由(2)可知 极小点的计算公式: 令 算法步骤: 其它插值算法: 有理插值。 收敛速度:三次插值算法的收敛阶为2。 非精确一维搜索方法 非精确一维搜索的基本思想: 一. Goldstein 方法 Goldstein 一维搜索的算法: 二. Armijo 方法 三. Wolfe 方法 注 六、MATLAB 单变量函数求最小值的标准形式为 s.t 函数 fminbnd 格式 x = fminbnd(fun,x1,x2) %返回自变量x在区间 上函数fun取最小值时x值,fun为目标函数的表达式字符串或MATLAB自定义函数的函数柄。 函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。 x = fminbnd(fun,x1,x2,options) % options为指定优化参数选项 [x,fval] = fminbnd(…) % fval为目标函数的最小值 [x,fval,exitflag] = fminbnd(…) %xitflag为终止迭代的条件

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档