- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最优化数值实验报告三
实验目的:
能够对具体的问题用合适的最优化方法进行求解。
对同一个问题用不同的优化方法进行求解并比较其优劣。
实验内容:(主要是《最优化练习题017》中的3,4,5题)
(1)设某实验对象的变化规律可由专业知识得出下列函数
其中a,b,c是反映对象物理特性的待定参数。经过实验,测得数据为
k 1 2 3 4 5 6 7 8 x 0.20 1.0 2.0 3.0 5.0 7 11.0 16.0 y 5.05 8.88 11.63 12.93 14.15 14.73 15.30 15.60 请你把此问题表示为最小二乘问题的模型,然后用你认为合适的方法求解,得出待定参数
a,b,c的具体数值,将实验对象的变化规律写出。进一步,如果根据专业知识,知道待定参
数a,b,c还满足下列条件:,那么结果又是如何?请你写出求解的数学思想,求解的全过程,并分析你的方法的优缺点。
解:
首先将问题表示为最小二乘问题的模型,即是将目标函数写成若干个函数的平方和的形式,一般可以写成
其中是中的点。一般假设,最小而成问题就是求
对于本题而言,有m=8,且
所以问题转化为求
通过在前次实验中对各种无约束问题的算法分析和比较知道,BFGS是当中一种性能比较好的,所以首先我们采用BFGS法。(同前两次实验,jintuifa和gold对应进退法和黄金分割法。见附录)
程序:
syms a b c r;
f1=a*exp(b/0.20)+c-5.05;f2=a*exp(b/1.0)+c-8.88;f3=a*exp(b/2.0)+c-11.63;
f4=a*exp(b/3.0)+c-12.93;f5=a*exp(b/5.0)+c-14.15;f6=a*exp(b/7.0)+c-14.73;
f7=a*exp(b/11.0)+c-15.30;f8=a*exp(b/16.0)+c-15.60;
f=f1^2+f2^2+f3^2+f4^2+f5^2+f6^2+f7^2+f8^2;
x=[a,b,c];
df=jacobian(f,x);
df=df.;
error=1e-6;x0=[0,0,0];g1=subs(df,x,x0);k=0;H0=[1,0 0;0,1 0;0 0 1];
while(norm(g1)error)
if k==0
d=-H0*g1;
else
H1=H0+(1+qk*H0*qk/(pk*qk))*(pk*pk)/(pk*qk)-(pk*qk*H0+H0*qk*pk)/(pk*qk);
d=-H1*g1;
H0=H1;
end
z=subs(f,x,x0+r*d);
result=jintuifa(z,r);
result2=gold(z,r,result);
step=result2;
x0=x0+step*d;
g0=g1;
g1=subs(df,x,x0);
qk=g1-g0; pk=step*d;
k=k+1;
end;
k
x0
min=subs(f,x,x0)
结果:
在上述实验中,选择的初始点为(0,0,0),当,停止寻优,其中= 。最后我们取得的最优解为(a,b,c)=(11.3457, -1.0730,4.9974),最优值为1.9877e-004。效果还是比较不错的。
我们可以得到实验对象的变化规律如下:
我们取k=4的时候带入验证,=12.9315,与原来的12.93相差无几。
进一步,我们假设参数a,b,c满足下面的条件,打算采用拉格朗日乘子法,惩罚函数法和广义乘子法来求解。但是在用拉格朗日乘子法和惩罚函数法求解的时候,发现BFGS法会出现分母为零的情况,导致计算无法正确进行,是由计算过程中的误差的产生而使得分母为0的。但是广义乘子法没有这样的情况。所以最后采用的广义乘子法。
程序:
syms a b c t v;
f1=a*exp(b/0.20)+c-5.05;f2=a*exp(b/1.0)+c-8.88;f3=a*exp(b/2.0)+c-11.63;
f4=a*exp(b/3.0)+c-12.93;f5=a*exp(b/5.0)+c-14.15;f6=a*exp(b/7.0)+c-14.73;
f7=a*exp(b/11.0)+c-15.30;f8=a*exp(b/16.0)+c-15.60;f9=2*a+b^2+tan(c)-15;
f=f1^2+f2^2+f3^2+f4^2+f5^2+f6^2+f7^2+f8^2+0.5*t*f9^2-v*f9;
文档评论(0)