1、最优化方法实验 最优化方法实验报告实验序号:01 实验项目名称:线性规划及MATLAB应用 学号 姓名专业、班级实验地点计算机楼1402指导教师时 间2016.9.21 一、实验目的1.了解Matlab,学会创建Matlab的M文件。2学会利用matlab解决数学模型求得最优解;3.学会利用matlab求解线性方程组问题。二、实验环境 使用电脑硬件设备,在matlab工作环境。三、实验内容及步骤第一题:P2 例 1.1程序:f=8400;7500;6700;A=60,65,80;-3800,-3500,-2500;b=70;-2900;Aeq=1,1,1;beq=1;VLB=0;0;0;VUB
2、=Inf;Inf;Inf;x,fval=linprog(f,A,b,Aeq,beq,VLB,VUB)实验结果:Optimization terminated.x =0.00000.66670.3333fval =7.2333e+003第二题:P41 T4(1)程序:f=-2;-1;1;A=1,1,2;1,4,-1;b=6;4;Aeq=;beq=;VLB=0;0;0;VUB=Inf;Inf;Inf;x,fval=linprog(f,A,b,Aeq,beq,VLB,VUB)程序结果:Optimization terminated.x =4.66670.00000.6667fval =-8.6667
3、则Max=8.667(2)程序:f=-1;1;-1;A=-1,2,-1;b=-1;Aeq=-1,1,1;beq=2;VLB=-1;0;0;VUB=Inf;Inf;Inf;x,fval=linprog(f,A,b,Aeq,beq,VLB,VUB)实验结果:x =1.0e+014 *4.00050.00004.0005fval =-8.0011e+014第三题:求解: 取程序:model:min=1.5*x1*x1+0.5*x2*x2-x1*x2-2*x1;init:x1=-2;x2=4;end initfree(x1);free(x2);end结果:min=-1x1=x2=1第四题:解方程组:
4、matlab程序:x1,x2=solve(x1)2-x2=1,(x1-2)2+(x2-0.5)2=1)实验结果:x =1.54634288331994500507288897251941.067346085806689713408597312807- 1.2136904451605911320167045558746*i - 1.30684448456331735924074314266321.2136904451605911320167045558746*i - 1.3068444845633173592407431426632y = 1.39117631279424105219408632
5、40803114729679579201533260544281675522440233186 660598457116942191248575338181509569760819712993230793 0.13922766688686144048362498805141087933357298414914486351532392237011544190365728451529715182980975642655455229498393680361776014 3.1722093284506318231178646481142869096328621010406471307419312878
6、787791623708452886545479195649687661220331009729607188767691491*i-0.76520198984055124633885565606586 - 3.1722093284506318231178646481143*i - 0.76520198984055124633885565606586最优解: x1=1.546 x2=1.391四实验小结:通过本次的实验, 我已了解了matlab的一些求解数学方法,如调用linprog求得函数的最小值,知道如何应用lingo软件求的方程的最优解,也可以熟练的利用solve函数解决方程组问题,实验过
7、程基本正常。教师评语: 签名: 日期:成绩最优化方法实验报告实验序号:02 实验项目名称:0.618黄金分割法的应用 学号姓名专业、班级实验地点计算机楼1402指导教师时 间2016.10.16 一、实验目的1.熟悉Matlab上机环境,了解Matlab的相关知识; 2. 通过本次实验了解线性搜索,加深对0.618分割法的理解; 3. 根据0.618分割法的算法步骤编写相应的Matlab程序,并利用matlab程序计算求解; 4. 通过本次实验提高编程能力。二、实验环境 使用电脑硬件设备,在matlab工作环境。三、实验内容及步骤第一题内容:用黄金分割法计算,初始区间为0,3,收敛精度为0.5
8、.程序:function t,f=golden1(a,b)m=1-(sqrt(5)-1)/2;t2=a+m*(b-a);f2=g(t2);t1=a+b-t2;f1=g(t1);while abs(t1-t2)0.5if f10.16; %判定是否满足精度if f1golden3(-1,1)ans =0.2918结果分析:根据以上结果可知,在区间-1,1上,函数g(x)=2*x2-x-1的最小值点在x=0.2918处,此时最小值为0。第三题: 用牛顿法计算,初始迭代点为,要求精确到小数点后第5位。程序:function t,d=newtow1(t0)t0=0.4;t=t0-(18*(t0)-co
9、s(t0)/(18+sin(t0);k=1;T(1)=t;while abs(t-t0)0.000005 t0=t; t=t0-(18*(t0)-cos(t0)/(18+sin(t0); k=k+1; T(k)=t;endt1=t0;d=9*(t1)2-sin(t1)-1;kTend运行结果:第四题:P64 T3程序:function t,d=newtow2(t0)t0=2.5;t=t0-(4*(t0)3-12*(t0)2-12*(t0)-16)/(12*(t0)2-24*(t0)-12);k=1;T(1)=t;while abs(t-t0)0.000005 t0=t; t=t0-(4*(t0)3-12*(t0)2-12*(t0)-16)/(12*(t0)2-24*(t0)-12); k=k+1; T(k)=t;endt1=t0;d=(t1)4-4*(t1)3-6*(t1)2-16*(t1)+4;kTend运行结果:当x(0)=2.5当x(0)=3四实验小结:1.通过这次实验,加深了对0.618法的理解。 2.在学习0.618法的过程中,又巩固了倒数、求解函数值等相关知识。3.利用Matlab的巨大功能来帮助我们学习,进一步提高我们的学习效率。教师评语: 签名: 日期:成绩
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1