最优化方法(黄金分割与进退法)实验报告

上传人:平*** 文档编号:13934689 上传时间:2017-10-26 格式:DOC 页数:6 大小:214.82KB
返回 下载 相关 举报
最优化方法(黄金分割与进退法)实验报告_第1页
第1页 / 共6页
最优化方法(黄金分割与进退法)实验报告_第2页
第2页 / 共6页
最优化方法(黄金分割与进退法)实验报告_第3页
第3页 / 共6页
最优化方法(黄金分割与进退法)实验报告_第4页
第4页 / 共6页
最优化方法(黄金分割与进退法)实验报告_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《最优化方法(黄金分割与进退法)实验报告》由会员分享,可在线阅读,更多相关《最优化方法(黄金分割与进退法)实验报告(6页珍藏版)》请在金锄头文库上搜索。

1、最优化方法上机实验第 0 页 共 6 页一维搜索方法的 MATLAB 实现姓名: 班级:信息与计算科学 学号: 实验时间: 2014/6/21一、实验目的:通过上机利用 Matlab 数学软件进行一维搜索,并学会对具体问题进行分析。并且熟悉 Matlab 软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。二、实验背景:黄金分割法它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。1、算法原理黄金分割法的思想很直接,既然极小点包含于搜索区间内,那

2、么可以不断的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。2、算法步骤用黄金分割法求无约束问题 的基本步骤如下:min(),fxR(1)选定初始区间 及精度 ,计算试探点:1,ab00.382*()a。116(2)若 ,则停止计算。否则当 时转步骤(3) 。 当kbkkff转步骤(4) 。ff(3)转步骤(5)1110.382*()kkkabba最优化方法上机实验第 1 页 共 6 页(4)转步骤(5)(5)令 ,转步骤(2) 。1k算法的 MATLAB 实现function xmin=golden(f,a,b,e) k=0; x1=a+0.382*(b-a); x2=a+0.618*(b

3、-a); while b-ae f1=subs(f,x1); f2=subs(f,x2); if f1f2 a=x1; x1=x2; f1=f2; x2=a+0.618*(b-a); else b=x2; x2=x1; f2=f1; x1=a+0.382*(b-a); end k=k+1; end xmin=(a+b)/2; fmin=subs(f,xmin)最优化方法上机实验第 2 页 共 6 页fprintf(k=n);disp(k);3、实验结果(总结/方案)黄金分割法求解极值实例。用黄金分割法求解下面函数的最小值: 10,52)(4tttf其 中进退法1. 算法原理进退法是用来确定搜索

4、区间(包含极小值点的区间)的算法,其理论依据是: 为单谷函数(只有一个极值点) ,且 为其极小值点的一个搜索区()fx ,ab间,对于任意 ,如果 ,则 为极小值的搜索区12,ab12fxf2,x间,如果 ,则 为极小值的搜索区间。ffx,因此,在给定初始点 ,及初始搜索步长 的情况下,首先以初始步长向0h前搜索一步,计算 。fh(1) 如果 00x则可知搜索区间为 ,其中 待求,为确定 ,后退一步计算,xx, 为缩小系数,且 ,直接找到合适的 ,使得0()fxh1*,从而确定搜索区间 。*0fx*00,h最优化方法上机实验第 3 页 共 6 页(2) 如果 00fxfh则可知搜索区间为 ,其

5、中 待求,为确定 ,前进一步计算,xx, 为放大系数,且 ,知道找到合适的 ,使得0()fxh1*,从而确定搜索区间 。*0()fx0,h2. 算法步骤用进退法求一维无约束问题 的搜索区间(包含极小值点的min(),fxR区间)的基本算法步骤如下:(1) 给定初始点 ,初始步长 ,令 , , ;(0)x0h0(1)(0)xk(2) 令 ,置 ;(4)1h1k(3) 若 ,则转步骤(4) ,否则转步骤(5) ;()ff(4) 令 , , ,令(2)(1),xx(2)(1)ffx(1)(4)ffx,转步骤(2) ;h(5) 若 ,则转步骤( 6)否则转步骤(7) ;k(6) 令 , , ,转步骤(

6、 2) ;()(4)x(2)(4)fxf(7) 令 ,停止计算,极小值点包含于区间(3)214,1(3),或3. 算法的 MATLAB 实现function A,B=minJT(f,x0,h0,eps)%目标函数 :f;%初始点 :x0;%初始步长 :h0;%精度 :eps;%目标函数取包含极值的区间的左端点:A;%目标函数取包含极值的区间的右端点:B;format long;if nargin=3;eps=1.0e-6;endx1=x0;最优化方法上机实验第 4 页 共 6 页k=0;h=h0;while 1x4=x1+h;%试探步k=k+1;f4=subs(f,findsym(f),x4);f1=subs(f,findsym(f),x1);if f4f1x2=x1;x1=x4;f2=f1;f1=f4;h=2*h;%加大步长else if k=1h=-h;%反向搜索x2=x4;f2=f4;else x3=x2;x2=x1;x1=x4;break;endendendA=min(x1,x3);B=x1+x3-A;format short;例:取 初 始 点 为 0, 步 长 为 0.1, 用 进 退 法 求 函 数的 极 值 区 间 。2242()1()35ftttt最优化方法上机实验第 5 页 共 6 页

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号