好文档 - 专业文书写作范文服务资料分享网站

最优化方法上机报告格式

天下 分享 时间: 加入收藏 我要投稿 点赞

中国矿业大学矿业学院

实验报告

课程名称 姓名: 学号: 成绩:

最优化方法

倪永波 01160252

班级: 日期: 教师:

工业工程一班 2024-12-24 李小林

一、在Matlab中,使用0.618法,求 在[1,2]上的极小点,取控制误差 。 过程程序:

function bo=s_(a,b) a=1;b=2;e=0.05; for i=1:10000

z=a+0.382*(b-a); y=a+0.618*(b-a); fz=z^2-3*z+5; fy=y^2-3*y+5; if fz>fy a=z; if b-a<=e y fy break; end else

b=y; if b-a<=e z fz

break; end end end

运行结果: Untitled y =1.5066 fy =2.7500

二、求出函数 的所有平稳点。问哪些是极小点?是否为全局极小点。并绘制出该函数的局部三维图形及等值线图,以显示这些极小点的位置。 解:(1)使用梯度等于零,求出驻点 程序代码:syms x1 x2;

fx=2*x1^2+x2^2-2*x1*x2+2*x1^3+x1^4; dif1=diff(fx,x1);dif2=diff(fx,x2); [x1,x2]=solve(dif1,dif2,'x1','x2'); x1=vpa(x1,4) x2=vpa(x2,4)

解得:x1?(0,?1,?0.5),x2?(0,?1,?0.5) 所以平稳点有(0,0),(?1,?1),(?0.5,?0.5)

TT(2)计算Hessian矩阵 syms x1 x2;

fx=2*x1^2+x2^2-2*x1*x2+2*x1^3+x1^4; dif1=diff(fx,x1);dif2=diff(fx,x2); dif3=diff(dif1,x1);dif4=diff(dif2,x1); dif5=diff(dif1,x2);dif6=diff(dif2,x2); h=[dif3,dif4;dif5,dif6]

得到:h =

[ 12*x1^2 + 12*x1 + 4, -2] [ -2, 2]

在三个驻点处,Hessian矩阵分别为

?4?2???22?,矩阵特征值:3?5,大于零,正定矩阵,极小值点。 ???4?2???22?,特征矩阵值:3?5,大于零,正定矩阵,极小值点。 ???1?2?3?17,特征矩阵值:,值不定,不定矩阵,不是极值点。 ??22?2??把三个驻点带入

因此(0,0),(?1,?1)为极小值点 (3)通过matlab绘图,查看图形特征

程序代码:[x1,x2]=meshgrid(-2:0.01:2);

fx=2*x1.^2+x2.^2-2*x1.*x2+2*x1.^3+x1.^4; surf(x1,x2,fx)

程序代码:[x1,x2]=meshgrid(-2:0.01:2); fx=2*x1.^2+x2.^2-2*x1.*x2+2*x1.^3+x1.^4;

最优化方法上机报告格式

中国矿业大学矿业学院实验报告课程名称姓名:学号:成绩:最优化方法倪永波01160252班级:日期:教师:工业工程一班2024-12-24李小林
推荐度:
点击下载文档文档为doc格式
2n2gk7g3ik8iiwn479cv9uewu2s0a001e0q
领取福利

微信扫码领取福利

微信扫码分享