资源描述:
《等式约束极值问题-外点罚函数法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、重庆科技学院学生实验报告课程名称最优化方法与应用实验项目名称等式约束极值问题-外点罚函数法开课学院及实验室实验日期学生姓名学号专业班级指导教师实验成绩一、实验目的和要求1.熟悉外点罚函数法的思想和步骤;2.掌握外点罚函数法求解等式约束的多维极值问题。二、实验内容和原理1.对所给等式约束的多维极值问题用matlab编程进行求解;三、主要仪器设备操作系统为Windows2000及以上的电脑,并装有matlab软件四、实验操作方法和步骤根据外点罚函数法的步骤,读懂下列的程序,并用该程序求解所给多维函数极值。五、实验记录与处理(数据、图表、计算等)>>symsxy;>>minGeneralPF(x^2
2、+y^2,[1,1],y^2-1,1000,2,[x,y],0.0001)ans=00Minf=0>>六、实验结果及分析运用所给程序能够求出最优解X=(0,0)最优值0,附录function[x,minf]=minGeneralPF(f,x0,h,c1,p,var,eps)formatlong;ifnargin==6eps=1.0e-4;endk=0;FE=0;fori=1:length(h)FE=FE+(h(i))^2;endx1=transpose(x0);x2=inf;while1M=c1*p;FF=M*FE;SumF=f+FF;[x2,minf]=minNT(SumF,transpos
3、e(x1),var);ifnorm(x2-x1)<=epsx=x2;break;elsec1=M;x1=x2;endendminf=subs(f,var,x);formatshort;%牛顿法求解无约束最优化问题function[x,minf]=minNT(f,x0,var,eps)formatlong;ifnargin==3eps=1.0e-6;endtol=1;x0=transpose(x0);gradf=jacobian(f,var);jacf=jacobian(gradf,var);whiletol>epsv=subs(gradf,var,x0);tol=norm(v);pv=subs
4、(jacf,var,x0);p=-inv(pv)*transpose(v);p=double(p);x1=x0+p;x0=x1;endx=x1;minf=subs(f,var,x);formatshort;>>symsxy;>>minGeneralPF(x^2+y^2,[1,1],y^2-1,1000,10,[x,y],0.0001)ans=01.0000