数学实验8月13日作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.取不同的初值计算下列平方和形式的非线性规划,尽可能求出所有局部极小点,进而找出全局极小点,并对不同算法(搜索方向、搜索步长、数值梯度与分析梯度等)的结果进行分析、比较。(2).22222121212min12114949812324681xxxxxx,(4).2122222312123min10010,1xxxxxx,其中211122111arc,02,11arc,022tgxxxxxtgxxx.解:(2)由题意设2222212121212,12114949812324681fxxxxxxxx先求12,ffxx(文件名为a.m),再求1200fxfx(文件名为b.m),解得近似解为122.900.22xx或123.460.08xx或1220.6234.53xx或1221.1836.47xx或120.280.28xx或1222.3717.49xx或1224.1317.92xx或120.8323.72xx或120.1747.72xx,取初值02.90,0.22x(exam0705grad_run.m)利用matlab计算可得以下表中数据:搜索方向步长搜索最优解1x最优解2x最优值目标函数调用次数Case1bfgs混合二、三次插值-21.181,-36.468-2.8996e+0002.1584e-0014.2939e-0065.0000e+000Case2dfp-2.8996e+0002.1584e-0014.2939e-0065.0000e+000Case3bfgs-2.8996e+0002.1584e-0014.2939e-0065.0000e+000Case4steepdesc-2.8996e+0002.1584e-0014.2939e-0065.0000e+000Case5bfgs三次插值-2.8996e+0002.1584e-0014.2939e-0065.0000e+000Case6dfp-2.8996e+0002.1584e-0014.2939e-0065.0000e+000Case7bfgs-2.8996e+0002.1584e-0014.2939e-0065.0000e+000Case8steepdesc-2.8996e+0002.1584e-0014.2939e-0065.0000e+000当取初值03.46,0.08x(exam07051grad_run.m)利用matlab计算可得以下表中数据:搜索方向步长搜索最优解1x最优解2x最优值目标函数调用次数Case1bfgs混合二、三次插值3.4578e+000-7.9722e-0028.3883e-0121.4000e+001Case2dfp3.4578e+000-7.9722e-0027.2387e-0101.6000e+001Case3bfgs3.4578e+000-7.9722e-0028.3883e-0121.4000e+001Case4steepdesc3.4578e+000-7.9722e-0025.0577e-0091.7000e+001Case5bfgs三次插值3.4578e+000-7.9722e-0028.3883e-0121.4000e+001Case6dfp3.4578e+000-7.9722e-0027.2387e-0101.6000e+001Case7bfgs3.4578e+000-7.9722e-0028.3883e-0121.4000e+001Case8steepdesc3.4578e+000-7.9722e-0025.0577e-0091.7000e+001因为不同步长搜索到相同的最优解,但最优值不同,所以此时初值离最优解很远。继续取不同初值求解(只需在程序中不断改变初值即可)。当初值取021.18,36.47x时可得到以下数据搜索方向步长搜索最优解1x最优解2x最优值目标函数调用次数Case1bfgs混合二、三次插值-2.1181e+001-3.6468e+0011.3691e-0061.7000e+001Case2dfp-2.1158e+001-3.6504e+0011.9079e+0001.9500e+002Case3bfgs-2.1181e+001-3.6468e+0011.3691e-0061.7000e+001Case4steepdesc-2.1174e+001-3.6478e+0011.5885e-0017.7100e+002Case5bfgs三次插值-2.1181e+001-3.6468e+0011.3691e-0061.7000e+001Case6dfp-2.1158e+001-3.6504e+0011.9079e+0001.9500e+002Case7bfgs-2.1181e+001-3.6468e+0011.3691e-0061.7000e+001Case8steepdesc-2.1174e+001-3.6478e+0011.5885e-0017.7100e+002综上全局极小点为-21.181,-36.468,局部极小点-2.8996,0.21584,-21.181,-36.468。(2)8.取不同的初值计算下列非线性规划,尽可能求出所有局部极小点,进而找出全局极小点,并对不同算法(搜索方向、搜索步长、数值梯度与分析梯度等)的结果进行分析、比较。(2)11122211min()()()()TTzxaxacxaxac,2x其中c=(0.7,0.73),T1a=(4,4),T2a=(2.5,3.8)。解:(2)1.①设计程序如exam070702fun.m.建立功能函数,便于调用。function[f,g]=exam070702fun(x)a1=[4,4]';a2=[2.5,3.8]';c=[0.7,0.73];f=1/((x-a1)'*(x-a1)+c(1))-1/((x-a2)'*(x-a2)+c(2));ifnargout1g(1)=2*(x(1)-a1(1))/((x(1)-a1(1))^2+(x(2)-a1(2))^2+c(1))^2+2*(x(1)-a2(1))/((x(1)-a2(1))^2+(x(2)-a2(2))^2+c(2))^2%该为梯度函数的两个方向g(2)=2*(x(2)-a1(2))/((x(1)-a1(1))^2+(x(2)-a1(2))^2+c(1))^2+2*(x(2)-a2(2))/((x(1)-a2(1))^2+(x(2)-a2(2))^2+c(2))^2end②设计脚本程序如exam070702.m,opt1=optimset('LargeScale','off','MaxfunEvals',1000,'Tolfun',1e-8,'TolX',1e-8,'Gradobj','on');opt2=optimset(opt1,'HessUpdate','dfp');opt3=optimset(opt1,'HessUpdate','steepdesc');opt4=optimset(opt1,'lineSearchType','cubicpoly');opt5=optimset(opt5,'HessUpdate','dfp');opt6=optimset(opt5,'HessUpdate','steepdesc');%x0=[3,3]';%x0=[4,4]';%x0=[5,5]';%x0=[2,7]';%x0=[10,10]';%x0=[50,20]';%x0=[1,10]';%x0=[50,100]';%x0=[43,2]';x0=[20,43]';[x1,v1,exit1,out1]=fminunc(@exam070702fun,x0,opt1)[x2,v2,exit2,out2]=fminunc(@exam070702fun,x0,opt2)[x3,v3,exit3,out3]=fminunc(@exam070702fun,x0,opt3)[x4,v4,exit4,out4]=fminunc(@exam070702fun,x0,opt4)[x5,v5,exit5,out5]=fminunc(@exam070702fun,x0,opt5)[x6,v6,exit6,out6]=fminunc(@exam070702fun,x0,opt6)③运行结果及分析。得出答案;制成表格初值设定为(20,43)搜索方向步长搜索最优解最优值目标函数调用次数BFGS混合二、三次插值0.2024e-0040.4775e-0042.0423e-00512DFP混合二、三次插值0.2024e-0040.4775e-0042.0423e-00512最速下降混合二、三次插值0.2024e-0040.4775e-0042.0423e-00512BFGS三次插值0.2024e-0040.4775e-0042.0423e-00512DFP三次插值0.2024e-0040.4775e-0042.0423e-00512最速下降三次插值0.2024e-0040.4775e-0042.0423e-00512可以看到采用分析方法(给定梯度函数)比起默认的数值方法得到结果所需要的调用次数明显减少。DFP算法的函数调用次数较少。改变初值,采用默认搜索方向BFGS,默认搜索步长,给定梯度函数,得到的结果如下:X(1)X(2)最优值迭代次数(3,3)2.49333.7345-1.03292(4,4)3.67113.95610.76401(5,5)550.25161(2,7)2.98994.1982-0.31781可以看到,改变初值对结果的影响很大.结论:由上面计算结果得出,无论采用那种计算方法最终都可以得到函数的极小值的,而采用DFP算法函数的调用次数较少;分析法计算梯度函数效果较好;最终结果取哪一个局部极值同初值密切相关。5.某分子由25个原子组成,并且已经通过实验测量得到了其中某些原子对之间的距离(假设在平面结构上讨论),如下表所示。请你确定每个原子的位置关系。原子对距离原子对距离原子对距离原子对距离(4,1)0.9607(5,4)0.4758(18,8)0.8363(15,13)0.5725(12,1)0.4399(12,41.3402(13,9)0.3208(19,13)0.7660(13,1)0.8143(24,4)0.7006(15,9)0.1574(15,14)0.4394(17,1)1.3765(8,6)0.4945(22,9)1.2736(16,14)1.0952(21,1)1.2722(13,6)1.0559(11,10)0.5781(20,16)1.0422(5,2)0.5294(19,6)0.6810(13,10)0.9254(23,16)1.8255(16,2)0.6144(25,6)0.3587(19,10)0.6401(18,17)1.4325(17,2)0.3766(8,7)0.3351(20,10)0.2467(19,17)1.0851(25,2)0.6893(14,7)0.2878(22,10)0.4727(20,19)0.4995(5,3)0.9488(16,7)1.1346(18,11)1.3840(23,19)1.2277(20,3)0.8000(20,7)0.3870(25,11)0.4366(24,19)1.1271(21,3)1.1090(21,7)0.7511(15,12)1.0307(23,21)0.7060(24,3)1.1432(14,8)0.4439(17,12)1.3904(23,22

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功