搜索算法结构.ppt

上传人:豆**** 文档编号:65290500 上传时间:2022-12-04 格式:PPT 页数:66 大小:1.59MB
返回 下载 相关 举报
搜索算法结构.ppt_第1页
第1页 / 共66页
搜索算法结构.ppt_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《搜索算法结构.ppt》由会员分享,可在线阅读,更多相关《搜索算法结构.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、搜索算法结构 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望可行方向:设可行方向:设 S,dRn,d0,若存在若存在 ,使,使 ,称,称d 为为 点的点的可行方向。可行方向。同时满足上述两个性质的方向称同时满足上述两个性质的方向称下降可行方向下降可行方向。下降方向下降方向 :设设 S,d Rn,d0,若存在若存在 ,使,使 ,称,称d 为为 在在 点的下降方向。点的下降方向。l模型算法模型算法线性搜索求线性搜索求 ,新点新点使使x(k+1)S初始初始x(1)S,k

2、=1对对x(k)点选择下降点选择下降可行方向可行方向d(k)是否满足停机条件?是否满足停机条件?停停k=k+1yesno531二、二、收敛性收敛性概念概念:考虑(考虑(NP)设迭代算法产生点列设迭代算法产生点列x(k)S.1.理想的收敛性:设理想的收敛性:设x*S是是g.opt(全局最优解全局最优解).当当x*x(k)或或 x(k)x*,k,满足满足 时,称算法收敛到最优解时,称算法收敛到最优解 x*。min f(x)s.t.xS 由于非线性规划问题的复杂性,实用中建立下列收由于非线性规划问题的复杂性,实用中建立下列收敛性概念敛性概念:2.实用收敛性:定义解集实用收敛性:定义解集 S*=x|x

3、 具有某种性质具有某种性质 例:例:S*=x|x-g.opt S*=x|x-l.opt S*=x|f(x)=0 S*=x|f(x)(为给定的实数阈值为给定的实数阈值)2.实用收敛性(续)实用收敛性(续)收敛性:设解集收敛性:设解集S*,x(k)为算法产生的点为算法产生的点列。下列情况之一成立时,称算法收敛:列。下列情况之一成立时,称算法收敛:1 x(k)S*;2x(k)S*,k,x(k)的任意极限点的任意极限点x*S*。全局收敛全局收敛:对任意初始点:对任意初始点x(1),算法均收敛。算法均收敛。局部收敛局部收敛:当:当x(1)充分接近解充分接近解x*时,算法收敛。时,算法收敛。有限步终止有限

4、步终止三、收敛速度三、收敛速度 设算法产生点列设算法产生点列x(k)收敛到解收敛到解x*,且,且x(k)x*,k,关于算法的收敛速度,有关于算法的收敛速度,有1.线性收敛:线性收敛:当当k充分大时成立。充分大时成立。2.超线性收敛:超线性收敛:3.二阶收敛:二阶收敛:0,是是 使当使当k充分大时有充分大时有三、收敛速度(续)三、收敛速度(续)定理:设算法点列定理:设算法点列x(k)超线性收敛于超线性收敛于x*,且且x(k)x*,k,那么那么证明:证明:只需注意只需注意|x(k+1)x*|-|x(k)x*|x(k+1)x(k)|x(k+1)x*|+|x(k)x*|,除以,除以|x(k)x*|并令

5、并令k,利,利用超线性收敛定义可得结果。用超线性收敛定义可得结果。该结论导出算法的停止条件可用:该结论导出算法的停止条件可用:四、二次终结性四、二次终结性一个算法用于解正定二次函数的无约束极小一个算法用于解正定二次函数的无约束极小时,有限步迭代可达最优解,则称该算法具时,有限步迭代可达最优解,则称该算法具有有二次终结性二次终结性。问题描述:问题描述:问题描述:问题描述:已知并且求出了处的可行下降方向从出发,沿方向求如下目标函数的最优解,或者选取使得:常用的一维搜索算法常用的一维搜索算法常用的一维搜索算法常用的一维搜索算法设其最优解为(叫精确步长因子),所以线性搜索是求解一元函数的最优化问题(也

6、叫一维最优化问题或一般地,一维优化问题可描述为:于是得到一个新点:一维搜索)。或解一般地,线性搜索算法分成两个阶段:第一阶段确定包含理想的步长因子(或问题最优解)的搜索区间;第二阶段采用某种分割技术或插值方法缩小这个区间。搜索区间的确定搜索区间的确定 黄金分割法黄金分割法(0.618法法)二次插值法二次插值法 Newton法法要点:要点:单峰函数的消去性质、进退算法基本思想、黄金分割单峰函数的消去性质、进退算法基本思想、黄金分割法基本思想、重新开始、二次插值法要求、极小化框架、法基本思想、重新开始、二次插值法要求、极小化框架、Newton法基本思想、方法比较。法基本思想、方法比较。我们主要介绍

7、如下一些搜索方法:我们主要介绍如下一些搜索方法:学习的重要性:学习的重要性:1、工程实践中有时需要直接使用;工程实践中有时需要直接使用;2、多变量最优化的基础,迭代中经常要用到。多变量最优化的基础,迭代中经常要用到。方法分类:方法分类:1、直接法:、直接法:迭代过程中只需要计算函数值;迭代过程中只需要计算函数值;2、微分法:、微分法:迭代过程中还需要计算目标函数的导数;迭代过程中还需要计算目标函数的导数;f(x)xab3.2 搜索区间的确定搜索区间的确定 常用的一维直接法有常用的一维直接法有消去法消去法和和近似法近似法两类。它们都是从两类。它们都是从某个初始搜索区间出发,利用某个初始搜索区间出

8、发,利用单峰函数的消去性质单峰函数的消去性质,逐步缩,逐步缩小搜索区间,直到满足精度要求为止。小搜索区间,直到满足精度要求为止。3.2.1 单峰函数单峰函数 连续单峰函数连续单峰函数f(x)xab不连续单峰函数不连续单峰函数f(x)xab离散单峰函数离散单峰函数f(x)xa b非单峰函数非单峰函数定义:定义:如果函数如果函数f(x)在区间在区间a,b上只有一个极值点上只有一个极值点,则称则称f(x)为为 a,b上的单峰函数。上的单峰函数。单峰函数具有一个重要的消去性质单峰函数具有一个重要的消去性质定理:定理:设设f(x)是区间是区间a,b上的一个单峰函数,上的一个单峰函数,x*a,b是其极小是

9、其极小点,点,x1 和和x2是是a,b上的任意两点,且上的任意两点,且ax1 x2b,那么比较,那么比较f(x1)与与f(x2)的值后,可得出如下结论:的值后,可得出如下结论:f(x)xab(I)消去消去a,x1 x*x1x2f(x)xab(II)消去消去x2,bx*x2x1(II)(II)若若f(x1)f(x2),x*a,x2在单峰函数的区间内,计算两个点的函数值,比较大小后,就在单峰函数的区间内,计算两个点的函数值,比较大小后,就能把搜索区间缩小。在已缩小的区间内,仍含有一个函数值,能把搜索区间缩小。在已缩小的区间内,仍含有一个函数值,若再计算另一点的函数值,比较后就可进一步缩小搜索区间若

10、再计算另一点的函数值,比较后就可进一步缩小搜索区间.(I)若若f(x1)f(x2),x*x1,b3.2.2 进退算法进退算法(或称成功或称成功-失败失败法法)如何确定包含极小点在内的初始区间如何确定包含极小点在内的初始区间?(一)(一)基本思想:基本思想:由单峰函数的性质可知,函数值在极小点左边严格下降,在右由单峰函数的性质可知,函数值在极小点左边严格下降,在右边严格上升。边严格上升。f(x)xabx*x0 x1x2从某个初始点出发,沿函数值下降的方向前进,直至发现函数从某个初始点出发,沿函数值下降的方向前进,直至发现函数值上升为止。值上升为止。由由两边高,中间低的三点两边高,中间低的三点,可

11、确定极小点所在的初始区间。,可确定极小点所在的初始区间。(二)(二)算法算法1、选定初始点选定初始点a 和步长和步长h;f(x)x2、计算并比较计算并比较f(a)和和f(a+h);有前进;有前进(1)和后退和后退(2)两种情况:两种情况:(1)前进运算:若前进运算:若f(a)f(a+h),(2)后退运算:若后退运算:若f(a)f(a+h),a a+h 则步长加倍,计算则步长加倍,计算f(a+3h)。若。若f(a+h)f(a+3h),令令 a1=a,a2=a+3h,停止运算;否则将步长加倍,并重复上述运算。停止运算;否则将步长加倍,并重复上述运算。a+3hf(x)xaa+ha+7ha1b1a-h

12、a-3ha-7ha1b1 则将步长改为则将步长改为h。计算。计算f(ah),若若f(ah)f(a),令令 a1=ah,a2=a+h,停止运算;否则将步长加倍,继续后退。停止运算;否则将步长加倍,继续后退。仅仅找区间!若进一步找仅仅找区间!若进一步找最小点,参阅最小点,参阅P44!(三三)几点说明几点说明缺点:效率低;缺点:效率低;优点:可以求搜索区间;优点:可以求搜索区间;注意:注意:h 选择要适当,选择要适当,初始步长不能选得太小初始步长不能选得太小;3.3 区间消去法黄金分割法区间消去法黄金分割法 消去法的思想:消去法的思想:反复使用单峰函数的消去性质,不断缩小包含极小点的反复使用单峰函数

13、的消去性质,不断缩小包含极小点的搜索区间,直到满足精度为止。搜索区间,直到满足精度为止。消去法的优点:消去法的优点:只需计算函数值,通用性强。只需计算函数值,通用性强。消去法的设计原则:消去法的设计原则:(1)迭代公式简单;()迭代公式简单;(2)消去效率高;)消去效率高;(3)对称:)对称:x1 a=b-x2;(4)保持缩减比:)保持缩减比:=(保留的区间长度保留的区间长度原区间长度原区间长度)不变。(使每次保留下来的节点,不变。(使每次保留下来的节点,x1或或 x2,在下一次的,在下一次的比较中成为一个相应比例位置的节点比较中成为一个相应比例位置的节点)。)。(一)(一)黄金分割黄金分割

14、xabL LL (1 1)L L取“”,=0.61803398874189(二)(二)黄金分割法的基本思想黄金分割法的基本思想 黄金分割重要的黄金分割重要的消去性质消去性质:x2abL LL (1 1)L Lx1 LL (1 1)L L设设x1,x2 为为a,b 中对称的两个黄金分割点,中对称的两个黄金分割点,x1为为a,x2的的黄金分割点黄金分割点x2为为x1,b的黄金分的黄金分割点割点 在在进进行行区区间间消消去去时时,不不管管是是消消去去a,x1,还还是是消消去去x2,b,留留下下来来的的区区间间中中还还含含一一个个黄黄金金分分割割点点,只只要要在在对对称称位位置置找找另另一一个个黄黄金

15、金分分割割点点,又可以进行下一次区间消去。又可以进行下一次区间消去。每次消去后,新区间的长度是原区间的每次消去后,新区间的长度是原区间的0.618倍,经过倍,经过n次消去后次消去后,保,保留下来的留下来的区间长度为区间长度为0.618nL,需,需计算函数值的次数仅为计算函数值的次数仅为n+1。黄金分割比黄金分割比 0.618,所以此法也称为,所以此法也称为0.618法。法。(三)(三)算法算法 开始开始b-x1 x2 a 给定给定a0,b0,a=a0,b=b0,=0.618034x2=a+(b-a),x1=a+bx2f2=f(x2),f1=f(x1)f1 f2是是否否a=x1,x1=x2,f1

16、=f2 x2=a+b-x1,f2=f(x2)否否b=x2,x2=x1,f2=f1 x1=a+b-x2,f1=f(x1)否否x*a,x2x*x1,bx*=x1,f*=f1结束结束是是x*=x2,f*=f2是是abx2x1x1 x2=ab!在迭代过程中,四个点的顺序始终应该是在迭代过程中,四个点的顺序始终应该是 ax1 x2 b但在计算第二个分割点时使用但在计算第二个分割点时使用x1=a+bx2 或或 x2=a+b x1,由于舍入误差的由于舍入误差的影响,可能破坏影响,可能破坏ax1 x2 b这一顺序,导致混乱。迭代中必须采取一些措施:这一顺序,导致混乱。迭代中必须采取一些措施:(1)终止限终止限

17、 不要取得太小;不要取得太小;(2)使用双精度运算使用双精度运算;(3)经过若干次运算后,转到算法中的第经过若干次运算后,转到算法中的第3步,步,重新开始。重新开始。(四四)黄金分割法的优缺点黄金分割法的优缺点 2、缺点:对解析性能好的单峰函数,与后面要介绍的二次插值法、三次缺点:对解析性能好的单峰函数,与后面要介绍的二次插值法、三次 插值法及牛顿拉夫森法等比较,计算量较大,收敛要慢。插值法及牛顿拉夫森法等比较,计算量较大,收敛要慢。1、优点:算法简单,效率高,只计算函数值,对函数要求低,稳定性好,优点:算法简单,效率高,只计算函数值,对函数要求低,稳定性好,对多峰函数或强扭曲的,甚至不连续的

18、,都有效对多峰函数或强扭曲的,甚至不连续的,都有效;迭代迭代 序号序号ab比较比较0-30.0561.94450.1157.6671-3-1.1110.0561.944-0.987-0.9873-1.832-1.111-0.6650.056-0.987-0.9875-1.386-1.111-0.940-0.665例例例例3-23-2对函数对函数对函数对函数 ,当给定搜索区间,当给定搜索区间,当给定搜索区间,当给定搜索区间 时,时,时,时,试用黄金分割法求极小点。试用黄金分割法求极小点。试用黄金分割法求极小点。试用黄金分割法求极小点。f(x)=x2,a=-1.5,b=1;精度10-5 a x1

19、x2 b-3.6034e-005 2.9804e-006 2.7093e-005 6.6107e-00522 0.618034 0.618034(x1-a)/(x2-a)(b-x2)/(b-x1)-3.6034e-005-1.1922e-005 2.9804e-006 2.7093e-00523 0.618034 0.618034-1.1922e-005 2.9804e-006 1.219e-005 2.7093e-00524 0.618035 0.618035-1.1922e-005-2.7117e-006 2.9804e-006 1.219e-00525 0.618032 0.618032

20、-1.1922e-005-6.2296e-006-2.7117e-006 2.9804e-00626 0.618038 0.618038x*=-2.7117e-006若用若用0.618效果较差效果较差0.61803f(x)=x2,a=-1.5,b=1;精度10-10 a x1 x2 b-2.1976e-007-9.7339e-008-2.4483e-008 9.7933e-00834 0.626902 0.626902-9.7339e-008-2.4483e-008 2.5078e-008 9.7933e-00835 0.595145 0.595145-9.7339e-008-4.7778e-

21、008-2.4483e-008 2.5078e-00836 0.680264 0.680264-4.7778e-008-2.4483e-008 1.7832e-009 2.5078e-00837 0.470017 0.470017-2.4483e-008 1.7832e-009-1.1888e-009 2.5078e-00838 1.12758 1.12758(x1-a)/(x2-a)(b-x2)/(b-x1)1.7832e-009-1.1888e-009 2.805e-008 2.5078e-00839 -0.113146 -0.1131461.7832e-009 3.1022e-008-1

22、.1888e-009 2.805e-00840-9.83816 -9.83816x*=-1.1888e-009(不满足精度不满足精度)若用若用0.618效果更差效果更差f(x)=x2,a=-1.5,b=1;精度10-10重新开始重新开始 a x1 x2 b-7.8811e-010 1.9703e-010 8.0587e-010 1.791e-00944 0.618034 0.618034(x1-a)/(x2-a)(b-x2)/(b-x1)-7.8811e-010-1.7926e-010 1.9703e-010 8.0587e-01045 0.618034 0.618034-7.8811e-01

23、0-4.1182e-010-1.7926e-010 1.9703e-01046 0.618034 0.618034-4.1182e-010-1.7926e-010-3.5532e-011 1.9703e-01047 0.618034 0.618034-1.7926e-010-3.5532e-011 5.3298e-011 1.9703e-01048 0.618034 0.618034-1.7926e-010-9.0432e-011-3.5532e-011 5.3298e-01149 0.618034 0.618034-9.0432e-011-3.5532e-011-1.6019e-012 5.

24、3298e-01150 0.618034 0.618034x*=-1.6019e-012(满足要求满足要求)设设 f(x)在在 a,b上可微,且当导数为零时是解。上可微,且当导数为零时是解。取取 x=(a+b)/2,那么那么 f(x)=0 时时,x 为最小点为最小点,x=x*;f(x)0 时时,x 在上升段在上升段,x*x,去掉,去掉x,b;f(x)x,去掉,去掉a,x.(自己画算法框图自己画算法框图)a x btg 0f(x)a x btg 0f(x)3.4 二分法二分法a,b缩小,当区间缩小,当区间a,b的长度充分小时,或者当的长度充分小时,或者当 充分小时,即可将充分小时,即可将a,b的

25、中点取做极小点的近似点,的中点取做极小点的近似点,这这时有估计:时有估计:我们知道,在极小点我们知道,在极小点处,处,且,且时,时,递减,即递减,即,而当,而当,函数递增,即,函数递增,即若找到一个区间若找到一个区间a,b,满足性质满足性质。,则,则a,b内必有内必有的极小点的极小点,且,且,为找此,为找此,取取,若,若,则在则在中有极小点,这时中有极小点,这时用用作为新的区间作为新的区间a,b,继续这个过程,逐步将区间,继续这个过程,逐步将区间假设假设 f(x)是具有极小点的单峰函数,是具有极小点的单峰函数,则必存在区间则必存在区间a,b,使,使f(a)0。由由f(x)的连续性可知,必有的连

26、续性可知,必有x*(a,b),使,使f(x)=0f(x)xaba1b1a2b2优点:优点:计算量较少,总能找到最优点计算量较少,总能找到最优点缺点:缺点:要计算导数值,收敛速度较慢,收敛速度为一阶要计算导数值,收敛速度较慢,收敛速度为一阶其中区间其中区间a,b的确定的确定,一般可采用一般可采用“进退法进退法”。3.5 多项式近似法多项式近似法二次插值法二次插值法 (一)(一)基本思想基本思想对形式复杂的对形式复杂的函数,数学运函数,数学运算时不方便算时不方便找一个近似的、解析找一个近似的、解析性能好、便于计算的性能好、便于计算的简单函数来代替。简单函数来代替。用近似函数的极用近似函数的极小点作

27、为原函数小点作为原函数极小点的近似极小点的近似复杂函数复杂函数 f(x)极小点极小点x*简单函数简单函数P(x)极小点极小点x*函数近似,函数近似,最优点也应近最优点也应近似似一次多项式一次多项式二次多项式二次多项式三次多项式三次多项式?如何构造符合要求的多项式如何构造符合要求的多项式?f(x)P2(x)(二)(二)二次插值多项式近似法(抛物线法)的基本原理二次插值多项式近似法(抛物线法)的基本原理设目标函数设目标函数 f(x)在三点在三点x1 x2 x3 上的函数值分别为上的函数值分别为f 1,f2,f3 x1x2x3相应的二次插值多项式为相应的二次插值多项式为 P2(x)=a0a1x+a2

28、x2 令令P2(x)和和f(x)在三点上的函数值相等在三点上的函数值相等三个待定系数三个待定系数 P2(x1)=a0+a1x1+a2x12 f1 P2(x2)=a0+a1x2+a2x22f2 P2(x3)=a0+a1x3+a2x32f3a0,a1,a2 P2(x)的平稳点是的平稳点是 P2(x)a1+2a2x=0 的解的解 f(x)P2(x)(二)(二)二次插值多项式近似法(抛物线法)的基本原理二次插值多项式近似法(抛物线法)的基本原理设目标函数设目标函数 f(x)在三点在三点x1 x2 x3 上的函数值分别为上的函数值分别为f 1,f2,f3 x1x2x3相应的二次插值多项式为相应的二次插值

29、多项式为 P2(x)=a0a1x+a2x2 三个待定系数三个待定系数P2(x)的平稳点是的平稳点是 P2(x)a1+2a2x=0 的解的解 简化计算简化计算其他插值公式参阅其他插值公式参阅P51-52(2)-(4)!三点二次插值公式最三点二次插值公式最常用常用.!迭代过程要点迭代过程要点!f(x)P2(x)x1x2x3x1x2x3x*x*x*若任意取若任意取x1 x2 x3 三个点,三个点,则求出的则求出的x*可能位于给定区间之外或误差太大可能位于给定区间之外或误差太大最初的三个点最初的三个点x1 x2 x3 应构成一个两边高,中间低的应构成一个两边高,中间低的“极小化框架极小化框架”,即满足

30、即满足f1f2,f3f2,且两个等号不同时成立,且两个等号不同时成立极小化框架极小化框架可由进退算法求得可由进退算法求得在完成一次计算后,得到近似在完成一次计算后,得到近似x*,比较比较f(x*)与与f(x2),以函数值较小的,以函数值较小的x为起点,缩短步长为起点,缩短步长近似近似x*进退算法进退算法构造构造“极小化框架极小化框架”x1 x2 x3比比较较f(x*)与与f(x2),以以函函数数值值较较小小的的小者小者x为中间点,加上左右两点为中间点,加上左右两点 要进行搜索区间的收缩,然后在新区间中要进行搜索区间的收缩,然后在新区间中重新构造三点组成的重新构造三点组成的“极小化框架极小化框架

31、”,有两种方法,有两种方法终止准则:终止准则:采用目标函数值的相对误差或绝对误差来判断采用目标函数值的相对误差或绝对误差来判断 f(x)xx1x2 x3f(x)xx1x2 x4前进成功前进成功 x5极小化框架极小化框架 x1 x2 x3前进失败前进失败x1x2x3x4x5x6极小化框架极小化框架 x3 x2 x1后退后退h02h04h0h0h02h04h0(三)(三)进退算法(用于求进退算法(用于求“极小化框架极小化框架”或初始搜索区间)或初始搜索区间)(四)(四)逐次二次插值近似法的算法逐次二次插值近似法的算法初始点初始点x1,h0,精度,精度1,溢出下限,溢出下限2,步长缩短率,步长缩短率

32、m进退算法即进退算法即“极小化框架极小化框架”x1x2x3,或或x3x2x1计算近似点计算近似点x*检验精度检验精度以以x2与与x*函数值小者为函数值小者为x1h=mh以以x2与与x*函函数数值值小小者者为为x2,加加左左右右两两点点构构成成“极极小小化化框框架架”二次插值法的优点:二次插值法的优点:收敛速度较快,约为收敛速度较快,约为1.32阶阶缺点:缺点:对强扭曲或多峰的,收敛慢,甚至会失败,故要求函数具有较好对强扭曲或多峰的,收敛慢,甚至会失败,故要求函数具有较好 的解析性能的解析性能(五)(五)二次插值法与黄金分割法的结合二次插值法与黄金分割法的结合 黄金分割法黄金分割法二次插值法二次

33、插值法迭代收敛时迭代收敛时迭代不收敛时迭代不收敛时2)用二次插值法逼近极小点)用二次插值法逼近极小点相邻三点的函数值相邻三点的函数值:x1=0,x2=1,x3=2;f1=2,f2=1,f3=18.代代入公式:入公式:xp*0.555,fp=0.292例例例例 3-3 3-3用二次插值法求函数用二次插值法求函数用二次插值法求函数用二次插值法求函数f(f(x x)=3)=3x x3 3-4-4x x+2+2的极小点,的极小点,的极小点,的极小点,给定给定给定给定 x x0 0=0,=0,h h=1,=0.2=1,=0.2。l解解 1)确定初始区间)确定初始区间初始区间初始区间a,b=0,2,另有一

34、中间点另有一中间点x2=1。l在新区间,相邻三点的函数值在新区间,相邻三点的函数值:x1=0,x2=0.555,x3=1;f1=2,f2=0.292,f3=1.lxp*0.607,fp=0.243由于由于fpx2,新区间新区间a,b=x2,b=0.555,1|x2-xp*|=|0.555-0.607|=0.0520.2,迭代终止。迭代终止。lxp*0.607,f*=0.243由于由于fpf2,xp*0.2,应继续迭代。应继续迭代。此例黄金分割法需要此例黄金分割法需要5次收缩区间,次收缩区间,例例l例例 3-4用二次插值法求用二次插值法求 的极值点。初始搜的极值点。初始搜索区间索区间 ,。图图l

35、解:取解:取x2点为区间点为区间x1,x3的中点,的中点,,计算计算x1,x2,x3 3点处的函数值点处的函数值f1=19,f2=-96.9375,f3=124。可见函数值满足。可见函数值满足“高低高高低高”形态。形态。l以以x1,x2,x3为插值点构造二次曲线,为插值点构造二次曲线,l求第一次近似的二次曲线求第一次近似的二次曲线p(x)的极小值点,由公式得。的极小值点,由公式得。l ,比较函数值可知比较函数值可知ll这种情况应消去左边区段这种情况应消去左边区段 .然后用然后用 作为作为x1,x2,x3新新3点点,重新构造二次曲线重新构造二次曲线p(x),如此反复计算,直到,如此反复计算,直到

36、 为止。整个迭为止。整个迭代过程的计算结果列于表代过程的计算结果列于表2-2.l从表中可见,经从表中可见,经7次迭代后,次迭代后,终止迭代。,终止迭代。故最优点故最优点 0.618法法,11次迭代次迭代,x*=3.9968;f*=-155.9996高精度时差异更大!高精度时差异更大!要求计算导数的插值法要求计算导数的插值法 若目标函数若目标函数f(x)可导,可通过解可导,可通过解f(x)0求平稳点,进而求出极值点。求平稳点,进而求出极值点。对高度非线性函数,要用逐次逼近求平稳点。对高度非线性函数,要用逐次逼近求平稳点。一、一、Newton法法 要求目标函数要求目标函数f(x)在搜索区间内具有二

37、阶连续导数,且已知在搜索区间内具有二阶连续导数,且已知f(x)和和f(x)的表达式的表达式。(一)(一)基本思想基本思想 采用迭代法求采用迭代法求(x)=0的根的根 xk(x)xxk+1 xk+2(xk)=(xk)/(xk1xk)xk+1=xk(xk)/(xk)用于求用于求(x)f(x)0的根的根 xK+1=xkf(xk)/f”(xk)0一点二次插值一点二次插值-切线法切线法牛顿法程序流程:牛顿法程序流程:例题例题 用用Newton法求解法求解 初始点取初始点取 x0=1。(迭代三次)。(迭代三次)解:解:f(x)的一阶和二阶导函数为的一阶和二阶导函数为 迭代公式为迭代公式为 xK+1=xkf

38、(xk)/f”(xk)第一次迭代:第一次迭代:x0=1,f(x0)12,f”(x0)36 x11(12)/361.33 第二次迭代:第二次迭代:x1=1.33,f(x1)3.73,f”(x1)17.6 x21.33(3.73)/17.61.54(本例精确解为本例精确解为 x*)第三次迭代:第三次迭代:x2=1.54,f(x2)0.5865,f”(x2)12.76 x31.54(0.587)/12.761.586 f(x2)=15.11910.618法法1,2上上11次次 x*=1.5795,f*=15.1194例例1:求求 min f(x)=arctan t d t 解解:f (x)=arct

39、an x ,f(x)=1(1+x2)迭代公式:迭代公式:xk+1=xk-(1+xk 2)arctan xk 取取 x0=1,计算结果:,计算结果:k xk f(xk)1f(xk)1 1 0.7854 2 2 -0.5708 -0.5187 1.3258 3 0.1169 -0.1164 1.0137 4 -0.001095 -0.001095 5 7.9631e-010 x4 x*=0 取取 x0=2,计算结果如下:,计算结果如下:2 -3.535713.9510-279.3441 1.2202e+005 不收敛!不收敛!线性收敛线性收敛二次收敛二次收敛Ex1:Ex2:(二二)优缺点优缺点1、

40、优点:收敛速度快;、优点:收敛速度快;在在f(x)=0的单根处,是的单根处,是2阶收敛;在阶收敛;在f(x)=0的重根的重根 处,是线性收敛处,是线性收敛。例例2、缺点:、缺点:需要求二阶导数,若用需要求二阶导数,若用数值导数数值导数代替,由于舍入误差将影响收敛代替,由于舍入误差将影响收敛 速度;速度;收敛性还依赖于初始点及函数性质。收敛性还依赖于初始点及函数性质。f(x)x!通常在计算程序中规定最大迭代次数,当次数达到通常在计算程序中规定最大迭代次数,当次数达到K还不能满足还不能满足精度时,精度时,则认为不收敛,要换一个初始点。则认为不收敛,要换一个初始点。二、二点二次插值二、二点二次插值a

41、 f(x)x bx*1)割线法割线法基本思想:用割线代基本思想:用割线代替替Newton法中的切线,并与区间消法中的切线,并与区间消去法相结合。去法相结合。cP52(3-14)P51(3-12)2)另一个二点二次插值另一个二点二次插值(f(a)f(b)f(b)较割线法稍好较割线法稍好收敛速度都为收敛速度都为1.618阶阶通过检查区间两端导数来通过检查区间两端导数来收缩区间收缩区间新区间两端点的导数值异号新区间两端点的导数值异号基本思想与二次插值法类似:用四个已知值(如两个点函数值及其导数值)基本思想与二次插值法类似:用四个已知值(如两个点函数值及其导数值)构造一个三次多项式构造一个三次多项式P

42、3(x),用,用P3(x)的极小点近似目标函数的极小点的极小点近似目标函数的极小点x*利用函数在两点的函数值和导数值:利用函数在两点的函数值和导数值:三、三、三次插值三次插值三次插值法的收敛速度比二次插值法要快,达到三次插值法的收敛速度比二次插值法要快,达到2阶收敛速度。阶收敛速度。求出:极值的条件极值的条件:极值充分条件为:极值充分条件为:将极值点方程带入上式将极值点方程带入上式仅取正号仅取正号两种情形两种情形(A=0/A0)统一为统一为:其它形式其它形式二点三次插值法一般流程:二点三次插值法一般流程:编写程序应用时建议结合教材编写程序应用时建议结合教材p55p55框图编写框图编写(嵌入进嵌

43、入进退法退法),其更具普适性、鲁棒性。,其更具普适性、鲁棒性。教材教材P56-58的的 D.S.C.法、法、Powell法及其组合法是区法及其组合法是区间搜索与二次插值法的结合!间搜索与二次插值法的结合!P59-P64介绍了有理插值、连分式方法属特殊方法,介绍了有理插值、连分式方法属特殊方法,含教材含教材作者作者的一些研究成果,大家参阅教材,注意其的一些研究成果,大家参阅教材,注意其适应条件,必要时课选用适应条件,必要时课选用.方法综述方法综述(1)如目标函数能求二阶导数:如目标函数能求二阶导数:用用Newton法法 收敛快收敛快(2)如目标函数能求一阶导数如目标函数能求一阶导数:首先考虑用三

44、次插值法,收敛较快:首先考虑用三次插值法,收敛较快 对分法、收敛速度慢,但可靠对分法、收敛速度慢,但可靠 二次插值如割线法也可选择二次插值如割线法也可选择.(3)只需计算函数值的方法只需计算函数值的方法:首先考虑用二次插值法首先考虑用二次插值法,收敛快收敛快 黄金分割法收敛速度较慢,但可靠黄金分割法收敛速度较慢,但可靠 作业一、用黄金分割法求函数用黄金分割法求函数f(x)=3x4-4x2+2的极的极小点,给定小点,给定 x0=-2,h=1,=0.1(x0=2,h=1,=0.1)。二、ch3 3.1 3.7-9参考课件见http:/ 第一次缩小区间:第一次缩小区间:x1=0+0.382X(2-0

45、)=0.764,f1=0.282 x2=0+0.618 X(2-0)=1.236,f2=2.72 f10.2例例例例 3-1 3-1用黄金分割法求函数用黄金分割法求函数用黄金分割法求函数用黄金分割法求函数f(f(x x)=3)=3x x3 3-4-4x x+2+2的极小点,的极小点,的极小点,的极小点,给定给定给定给定 x x0 0=0,=0,h h=1,=0.2=1,=0.2。第三次缩小区间:第三次缩小区间:l令令 x1=x2=0.764,f1=f2=0.282lx2=0.472+0.618X(1.236-0.472)=0.944,f2=0.747l由于由于f10.2,应继续缩小区间。应继续

46、缩小区间。第二次缩小区间:第二次缩小区间:l令令 x2=x1=0.764,f2=f1=0.282lx1=0+0.382X(1.236-0)=0.472,f1=0.317l由于由于f1f2,故新区间故新区间a,b=x1,b=0.472,1.236l因为因为 b-a=1.236-0.472=0.7640.2,应继续缩小区间。应继续缩小区间。第四次缩小区间:第四次缩小区间:l令令 x2=x1=0.764,f2=f1=0.282lx1=0.472+0.382X(0.944-0.472)=0.652,f1=0.223l由于由于f10.2,应继续缩小区间。应继续缩小区间。第五次缩小区间:第五次缩小区间:l令令 x2=x1=0.652,f2=f1=0.223lx1=0.472+0.382X(0.764-0.472)=0.584,f1=0.262l由于由于f1f2,故新区间故新区间a,b=x1,b=0.584,0.764l因为因为 b-a=0.764-0.584=0.180.2,停止迭代。停止迭代。极小点与极小值:极小点与极小值:x*=0.5X(0.584+0.764)=0.674,f(x*)=0.222返回返回

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁