欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年黄金分割法-进退法-原理及流程图 .docx

    • 资源ID:38520389       资源大小:312.57KB        全文页数:15页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年黄金分割法-进退法-原理及流程图 .docx

    精品_精品资料_1 黄金分割法的优化问题1黄金分割法基本思路:黄金分割法适用于 a ,b 区间上的任何单股函数求微小值问题, 对函数除要求“单谷”外不做其他要求,甚至可以不连续.因此,这种方 法的适应面特别广. 黄金分割法也是建立在区间消去法原理基础上的摸索方法,即在搜寻区间 a ,b 内适当插入两点 a1, a2,并运算其函数值. a1, a2 将区间分成三段,应用函数的单谷性质,通过函数值大小的比较,删去其中一段,是搜寻区间得以缩小.然后再在保留 下来的区间上作同样的处理,如此迭代下去,是搜寻区间无限缩小, 从而得到微小点的数值近似解.2 黄金分割法的基本原理一维搜寻是解函数微小值的方法之一, 其解法思想为沿某一已知方向求目标函数的微小值点. 一维搜寻的解法很多, 这里主要采纳黄金分割法法.该方法用不变的区间缩短率代替斐波那契法每次不同的缩短率,从而可以看成是斐波那契法的近似,实现起来比较简洁,也易于人们所接受.可编辑资料 - - - 欢迎下载精品_精品资料_67黄金分割法是用于一元函数 fx在给定初始区间 a,b内搜寻微小点 * 的一种方法.它是优化运算中的经典算法,以算法简洁、收敛速度匀称、成效较好而著称,是很多优化算法的基础,但它只适用 于一维区间上的凸函数,即只在单峰区间内才能进行一维寻优,其收敛效率较低.其基本原理是:依照“去劣存优”原就、对称原就、 以及等比收缩原就来逐步缩小搜寻区间.详细步骤是: 在区间a,b 内取点: a1 ,a2 把a,b分为三段.假如 fa1>fa2,令a=a1,a1=a2,a2=a+r*b-a.假如 fa1<fa2,令 b=a2, a2=a1,a1=b-r*b-a,假如 b-a/b和 y1-y2/y2都大于收敛精度重新开头.由于 a,b为单峰区间,这样每次可将搜寻区间 缩小倍或倍, 处理后的区间都将包含微小点的区间缩小, 然后在保留下来的区间上作同样的处理,如此迭代下去,将使搜寻区a,b逐步缩小,直到满意预先给定的精度时, 即获得一维优化问题的近似最优解.黄金分割法原理如图所示,3 程序流程如下:可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_4 试验所编程序框图开头给定 a=-3,b=5,收敛精度a1=b-r*b-ay1=fa1a2=a+r*b-ay2=fa2是否y1>=y2可编辑资料 - - - 欢迎下载精品_精品资料_a=a1a1=a2y1=y2b=a2a2=a1y2=y1可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_a2=a+r*b-a y2=fa2a1=b-r*b-a y1=fa1可编辑资料 - - - 欢迎下载精品_精品资料_否 b-a/b <和y2-y1 /y2 < .是a*=a+b/2终止可编辑资料 - - - 欢迎下载精品_精品资料_#include #include #define fx x*x+2*xdouble calcdouble *a,double *b,double e,int *n double x1,x2,s; iffabs*b-*a<=e s=f*b+*a/2; elsex1=*b-0.618*b-*a; x2=*a+0.618*b-*a; iffx1>fx2*a=x1; else*b=x2;*n=*n+1; s=calca,b,e,n;return s;main double s,a,b,e; int n=0;可编辑资料 - - - 欢迎下载精品_精品资料_scanf"%lf %lf %lf",&a,&b,&e; s=calc&a,&b,e,&n; printf"a=%lf,b=%lf,s=%lf,n=%dn",a,b,s,n;5 程序运行结果如以下图:2 进退法1算法原理可编辑资料 - - - 欢迎下载精品_精品资料_进退法是用来确定搜寻区间包含微小值点的区间的算法,其理论依据是:f x 为可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_单 谷函 数 只 有 一 个极 值 点 , 且 a, b为 其极 小 值 点 的 一 个 搜寻 区 间 , 对 于 任 意可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_x1, x2 a, b ,假如fx1fx2,就 a, x2 为微小值的搜寻区间, 假如fx1fx2,可编辑资料 - - - 欢迎下载精品_精品资料_就 x1,b 为微小值的搜寻区间.可编辑资料 - - - 欢迎下载精品_精品资料_因此, 在给定初始点x0 ,及初始搜寻步长 h 的情形下, 第一以初始步长向前搜寻一步,可编辑资料 - - - 欢迎下载精品_精品资料_运算 fx0h .可编辑资料 - - - 欢迎下载精品_精品资料_( 1) 假如fx0fx0h可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_就可知搜寻区间为 x, x0h ,其中 x 待求,为确定 x ,后退一步运算f x0h ,可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_为缩小系数,且 01,直接找到合适的* ,使得f xhfx,从而确定搜可编辑资料 - - - 欢迎下载精品_精品资料_*00可编辑资料 - - - 欢迎下载精品_精品资料_索区间 xh, xh .可编辑资料 - - - 欢迎下载精品_精品资料_*00可编辑资料 - - - 欢迎下载精品_精品资料_( 2) 假如fx0fx0h可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_就可知搜寻区间为 x0 , x ,其中 x 待求,为确定 x ,前进一步运算f x0h ,为可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_放大系数,且1 ,知道找到合适的* ,使得fx0hf x0h ,从而确定搜寻可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_*区间 x , x*h .可编辑资料 - - - 欢迎下载精品_精品资料_00进退法求极值基本思想:对 f x 任选一个初始点 x1 及初始步长 h0, 通过比较这两点函数值的大小,确定第三点位置,比较这三点的函数值大小,确定是否为“高低 高” 形状.算法原理1. 摸索搜寻:选定初始点x1, x2 = x 1+ h0,运算 y 1 f x1, y 2 fx 2a如 y1 >y2 , 转 2 向右前进.b如 y1 <y2 ,转 3 向左后退.加大步长h 2 h,产生新点x3= x 2 + 2h 0 .可编辑资料 - - - 欢迎下载精品_精品资料_ a如 y2<y 3, 就函数在 x1 , x3 内必有微小点,令a= x1 , b= x 3 搜寻区间为 a, b.b 如 y2>y3,令 x1=x2, y1=y2.x2=x3, y2 =y3.h=2h重新构造新点 x3 =x2+h,并比较 y2、y 3 的大小,直到 y2<y3 .令 h -h0 ,令 x3=x 1, y3 =y1. x1 =x2, y1 =y2. x 2=x3, y 2=y3. h=2h. 产生新点 x3 = x 2+ h.a如 y2<y 3, 就函数在 x1 , x3 内必有微小点,令a= x3, b= x 1,搜寻区间为a, bb如 y 2>y3,令 x 1 =x2 , y 1=y2. x 2=x3 , y2=y3. h=2h重新构造新点 x3 =x2+h,并比较 y2 、y3 的大小,直到 y2<y3. 令 a= x 1 , b= x 3, 搜寻区间为 a , b.2算法步骤用进退法求一维无约束问题min f x, xR的搜寻区间包含微小值点的区间的基本算法步骤如下:可编辑资料 - - - 欢迎下载精品_精品资料_( 1) 给定初始点x0 ,初始步长h0 ,令hh0 ,x1x0 , k0 .可编辑资料 - - - 欢迎下载精品_精品资料_2x4( ) 令x1h ,置 kk1 .可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_( 3) 假设fx4fx1,就转步骤 4,否就转步骤 5.可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_( 4) 令 x2x1 , x1x42fx,fx1fx1,fx4,令 h2h ,可编辑资料 - - - 欢迎下载精品_精品资料_转步骤 2.( 5) 假设 k1 ,就转步骤 6否就转步骤 7.可编辑资料 - - - 欢迎下载精品_精品资料_( 6) 令 hh , x2x4 ,fx2fx4,转步骤 2.可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载精品_精品资料_( 7) 令x3x2 , x2x1 , x1x4, 停 止 计 算 , 极 小 值 点 包 含 于 区 间可编辑资料 - - - 欢迎下载精品_精品资料_ x1 , x3 或 x3 , x1 3算法的 MATLAB实现在 MATLAB 中编程实现的进退函数为:min JT功能:用进退法求解一维函数的极值区间.可编辑资料 - - - 欢迎下载精品_精品资料_调用格式: minx,maxxminJT f, x0, h0, eps可编辑资料 - - - 欢迎下载精品_精品资料_其中, f :目标函数.x0 :初始点. h0 :初始步长. eps :精度.min x :目标函数取包含极值的区间左端点.max x :目标函数取包含极值的区间又端点.进退法的 MATLAB程序代码如下 :function minx,maxx=minJTf,x0,h0,eps%目标函数 :f;%初始点 :x0;%初始步长 :h0;%精度 :eps;%目标函数取包含极值的区间左端点:minx;%目标函数取包含极值的区间又端点:maxx; format long;if nargin=3eps=1.0e-6;end x1=x0; k=0;h=h0;while 1x4=x1+h;% 摸索步可编辑资料 - - - 欢迎下载精品_精品资料_k=k+1; f4=subsf,findsymf,x4; f1=subsf,findsymf,x1; if f4<f1x2=x1;x1=x4; f2=f1; f1=f4;h=2*h;%加大步长可编辑资料 - - - 欢迎下载精品_精品资料_elseif k=1h=-h;% 反向搜寻x2=x4;f2=f4;可编辑资料 - - - 欢迎下载精品_精品资料_endendelseendx3=x2; x2=x1; x1=x4; break;可编辑资料 - - - 欢迎下载精品_精品资料_minx=minx1,x3; maxx=x1+x3-minx; format short;流程图如下:可编辑资料 - - - 欢迎下载精品_精品资料_可编辑资料 - - - 欢迎下载

    注意事项

    本文(2022年黄金分割法-进退法-原理及流程图 .docx)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开