第三章一维搜索.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 一般地,如?‘曲线上凹: ?‘ a b 一般地,如?‘曲线下凹: ?‘ a b 取t0为b 取t0为a * * CHAPTER 3 直 线 搜 索 * 无约束问题的数值方法一般格式 (i)确定局部下降方向d(k),使▽f(x(k))Td(k)0; (ii)确定步长tk0,使f(x(k)+tkd(k))f(x(k)); (iii)令x(k+1)=x(k)+tkd(k); (iv)判断是否终止,终止则输出,否则k:=k+1,返(i) 每次迭代时需选择下降方向d(k)、 步长因子tk并验证是否终止。 给定x(0),置k:=1 * 不同的确定下降方向d(k)的方法构成不同的无约束最优化算法。在确定了下降方向后,可根据“充分下降”的要求,沿这个方向找到使目标函数取极小的点,这样就使目标函数值在这个方向上下降的最多,从而确定步长因子tk。 选取tk,使 这种方法称为一维搜索、直线搜索、精确线搜索 ( one_dimension search ,exact linear search ) * ·x(k) x(k+1) · d(k) ▽f(x(k+1)) d(k+1) x(k+2) · ▽f(x(k+2)) 精确线搜索的性质(步长因子tk的极小化原则) Proof 搜索过程图示 * 单谷函数可以不可微 甚至不连续 ? t ? t 步长因子tk的确定,即求一元函数?(t)的极小, 即确定xk沿方向pk走多远。这是一个局部问题 由于,一个函数在一个局部范围内显然只有一个极小解 所以,我们不妨设函数?(t)是一个单谷函数。 本章求解的问题: min ?(t), ?:R1?R1, ?为单谷函数 * ? t t1 t2 t* ? t t* t1 t2 单谷函数 若t*是?的一个全局极小点,则对于?的定义域上的 任意两点t1t2: 当t2≤t*: ?(t1) ?(t2); 当t1≥t*: ?(t1) ?(t2) 满足这样条件的函数就称为单谷函数 * 单谷函数的性质 若已知三点t1t3t2处的函数值满足 ?(t1) ?(t3) ?(t2)(两头大中间小), 则在t1、t2之间必有?(t)的一个极小点 反设t1、t2之间无极小点t*, 则意味着t1,t2在t*的同一边 则对t1,t3,t2三点根据单谷函数的定义, 它们必不能满足已知条件(如图示) Proof (反设法) ? t t2 t* 条件:?(t3) ?(t2) 定义:?(t3) ?(t2) t3 ? t t* t1 条件:?(t1)?(t3) 定义:?(t1)?(t3) t3 ? t t* t2 t1 ? * 1 搜索区间 若在单谷函数?(t)的定义域内有两个点t1、t2, 使得t1t*t2,则称[t1,t2]为?(t)的一个搜索区间 (极小区间、不确定区间) 比如若有上述的两头大中间小的点的话, 则[t1,t2]就是一个极小区间。 * 一维搜索的一般算法框架 然后不断缩小该区间的长度, 直至长度充分小时, 则取区间中任一点(比如中点或端点) 作为?(t)的一个近似极小点, (确定极小区间的方法就称为划界) 也可根据在某点处其导数的绝对值充分小来确定 首先定出一个极小区间 * 常用的划界方法 (2) 计算?(t0), ?(t0+h0) 若?(t0)?(t0+h0):则令t1=t0+h0, h1=?h0 (?1一般取2) (3) 继续计算并比较 如此继续下去直到出现函数值的增大,?(tk)?(tk+hk) 这时取a=tk-1,b=tk+hk [a,b]即为极小区间 (因为它们之间有一点t3,从而形成两头大中间小) (1)任取一初始点t0,取步长h00, ?(t1)?(t1+h1),则令t2=t1+h1, h2=?h1 * ? t t0 t1 t2 h1 t3 t4 h2 h0 h3 * 若 ?(t0)?(t0+h0): 则 令t1=t0,h1=-?h0(0 ? 1一般取1/4或1/2) 继续计算并比较 若 ?(t1+h1)?(t1),则令t2=t1+h1, h2=?h1 如此继续下去直到,出现函数值的增大,?(tk)?(tk+hk) 这时取a=tk+hk,b=tk-1,[a,b]即为极小区间 * ? t t0+h0 t0(t1) t2 t3 t4 * 1.平分法(二分法、对分法) ? t a b 即?’(a)0, ?’(b)0,今要求出使?’(t)=0的点t* ?’ t a b t* 假设函数 ?(t)在极小区间上[a,b]有连续的 一阶导数?’(t),且?’(t)有明显的表达式 2 几种有效的一维搜索算法 * (1) 计算c=(a+b)/2,计算?’(c) (2) 若?’(c)=0,则c即为

文档评论(0)

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

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

1亿VIP精品文档

相关文档