欢迎来到天天文库
浏览记录
ID:35538117
大小:70.53 KB
页数:7页
时间:2019-03-25
《最优化理论与方法上机报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、最优化理论与方法上机报告班级:姓名:学号:1•黄金分割法黄金分割法乂称0.618法,其基本思想是试探点函数值的比较,使包含极小点的搜索区间不断缩小.该方法仅需计算函数值,适用范围广,使用方便•由于该方法思想简单,在此不给出具体算法流程,仅介绍思想和matlab实现的程序.1.1思想在搜索区间[a,b]内插入点xl,x2,其中Xj=a+0.382(/?-a)x2=a+0.618(方-a)把[a,b]区间分为了三段,比较f(xl)与f(x2)的大小,f(xl)>f(x2),则x*G[xl,b],去掉[a,xl];若f(xl)2、余下的区间上根据对称原则再计算一个对称点的函数值,再重复上述操作,直到满足精度.1.2实现及结果采用matlab2011a实现,命名为golden,具体程序见附录golden.m文件.下而给岀程序运行结果,其屮目标函数为:f(x)=x"2・xl+6,精度采用默认:10A-6»golden(dfunc,0^1):0.49340.49840.50150.50650.49840.50150-50340.5065wotenoughinputarguments1Usedefault:epsilon=10-610.49840.50030.50150.5034极小点:0.49840.49960.3、50030.50150.50000.49960.50030.50080.50150.49960.50010.50030.5008极小点对应函教值:0.49960.49990.50010.50035.75000.49990.50010.50020.50030.49990.50000.50010.5002迭代次数:0.49990.50000.50000.5001310.50000.50000.50000.50010.50000.50000.50000.5000迭代区间:0.50000.50000.50000.5000axlm2b0.50000.50000.50000.500000.384、200.61801.00000.50000.50000.50000.500000.23610.38200.61800.50000.50000.50000.50000.23610.38200.47210.61800.50000.50000.50000.50000.38200.47210.52780.61800.50000.50000.50000.50000.47210.52780.56230.61800.50000.50000.50000.50000.47210.50650.52780.56230.50000.50000.50000.50000.47210.49340.50650.55、2780.50000.50000.50000.50000.49340.50650.51470.52780.50000.50000.50000.50000.49340.50150.50650.51470.49340.49840.50150.5065迭代终止时的区间长度:0.49840.50150.50340.50656.2292-00;由f(x)=xlA2-xl+6,求导得f(x)=2xl-l,易知xl=0.5为其极小点,可见程序正确。2•牛顿法牛顿法也是一种经典的无约束优化方法,并且其收敛速度快,具有口适应的特点,至今仍受到人们的青睐.2・1思想牛顿法的基木思想是用迭代点Xk处的一6、阶导数(梯度)和二阶导数(Hesse阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至达到精度.2.2算法牛顿法的算法如下:Stepl取初始点xOCRn,容许误差0<6彳,令k:=0;Step2计算gk=Vf(xk).Step3若7、8、gk9、10、<0,则停止迭代,取x*=xk,否则,转下一步.Step4计算Hk=^A2f(xk),并由Hkd=-gk,求得dk=・Hkgk・Step5令xk+]=xk+Qdk,k:=k+l,转Step2.2.3实现及结果采用matlab2011a实现,具体程序见附录Newton.m文件.下而以上机题第一题为例介绍11、具体使用方法:上机题1的优化目标函数为/(X)=(X]+10兀2)+5(兀3—尤4)+(*2—2兀3)+10(兀]—X4),»Newton<^func,X0,0.001);极小点:•0.00730.00070.01580.0158极小点对应函数備:3.7616e-006送代次效:12,仍然使用最速卜•降法中建立的func.m文件,在命令窗口中输入(加粗部分):X0=[l234]J;Newton(@ftinc,XO);即可按默认的精度10A-6计算,若想改变精度,如10
2、余下的区间上根据对称原则再计算一个对称点的函数值,再重复上述操作,直到满足精度.1.2实现及结果采用matlab2011a实现,命名为golden,具体程序见附录golden.m文件.下而给岀程序运行结果,其屮目标函数为:f(x)=x"2・xl+6,精度采用默认:10A-6»golden(dfunc,0^1):0.49340.49840.50150.50650.49840.50150-50340.5065wotenoughinputarguments1Usedefault:epsilon=10-610.49840.50030.50150.5034极小点:0.49840.49960.
3、50030.50150.50000.49960.50030.50080.50150.49960.50010.50030.5008极小点对应函教值:0.49960.49990.50010.50035.75000.49990.50010.50020.50030.49990.50000.50010.5002迭代次数:0.49990.50000.50000.5001310.50000.50000.50000.50010.50000.50000.50000.5000迭代区间:0.50000.50000.50000.5000axlm2b0.50000.50000.50000.500000.38
4、200.61801.00000.50000.50000.50000.500000.23610.38200.61800.50000.50000.50000.50000.23610.38200.47210.61800.50000.50000.50000.50000.38200.47210.52780.61800.50000.50000.50000.50000.47210.52780.56230.61800.50000.50000.50000.50000.47210.50650.52780.56230.50000.50000.50000.50000.47210.49340.50650.5
5、2780.50000.50000.50000.50000.49340.50650.51470.52780.50000.50000.50000.50000.49340.50150.50650.51470.49340.49840.50150.5065迭代终止时的区间长度:0.49840.50150.50340.50656.2292-00;由f(x)=xlA2-xl+6,求导得f(x)=2xl-l,易知xl=0.5为其极小点,可见程序正确。2•牛顿法牛顿法也是一种经典的无约束优化方法,并且其收敛速度快,具有口适应的特点,至今仍受到人们的青睐.2・1思想牛顿法的基木思想是用迭代点Xk处的一
6、阶导数(梯度)和二阶导数(Hesse阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至达到精度.2.2算法牛顿法的算法如下:Stepl取初始点xOCRn,容许误差0<6彳,令k:=0;Step2计算gk=Vf(xk).Step3若
7、
8、gk
9、
10、<0,则停止迭代,取x*=xk,否则,转下一步.Step4计算Hk=^A2f(xk),并由Hkd=-gk,求得dk=・Hkgk・Step5令xk+]=xk+Qdk,k:=k+l,转Step2.2.3实现及结果采用matlab2011a实现,具体程序见附录Newton.m文件.下而以上机题第一题为例介绍
11、具体使用方法:上机题1的优化目标函数为/(X)=(X]+10兀2)+5(兀3—尤4)+(*2—2兀3)+10(兀]—X4),»Newton<^func,X0,0.001);极小点:•0.00730.00070.01580.0158极小点对应函数備:3.7616e-006送代次效:12,仍然使用最速卜•降法中建立的func.m文件,在命令窗口中输入(加粗部分):X0=[l234]J;Newton(@ftinc,XO);即可按默认的精度10A-6计算,若想改变精度,如10
此文档下载收益归作者所有