1佛山科学技术学院上机报告课程名称数学应用软件上机项目用MATLAB求解非线性规划问题专业班级姓名学号一.上机目的1.了解非线性规划的基本理论知识。2.对比Matlab求解线性规划,学习用Matlab求解非线性规划的问题。二.上机内容1、用quadprog求解二次规划问题minf(x):2、求解优化问题:min321)(xxxxfS.T.72220321xxx注:取初值为(10,10,10)。3、求表面积为常数150m2的体积最大的长方体体积及各边长。注:取初值为(4,5,6)。三.上机方法与步骤1、可用两种方法解题:方法一:Matlab程序:H=[1-1;-12];c=[-2;-6];2A=[11;-12;21];b=[2;2;3];Aeq=[];beq=[];vlb=[0;0];vub=[];[x,z]=quadprog(H,c,A,b,Aeq,beq,vlb,vub)方法二:Matlab程序如下:先建立fun.m文件,程序为:functionf=fun(x);f=1/2*x(1)^2+x(2)^2-x(1)*x(2)-2^x(1)-6*x(2);再建立chushi.m文件,程序为:x0=[1;1];A=[11;-12;21];b=[2;2;3];Aeq=[];beq=[];vlb=[0;0];vub=[];[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,vlb,vub)32、Matlab程序:先建立fun1.m文件,程序为:functionf=fun1(x);f=-x(1)*x(2)*x(3);再建立chushi1.m文件,程序为:x0=[10;10;10];A=[122;-1-2-2];b=[72;0];Aeq=[];4beq=[];vlb=[];vub=[];[x,fval]=fmincon('fun1',x0,A,b,Aeq,beq,vlb,vub)53、假设长方形的长、宽、高分别为(1)x、(2)x、(3)x,则长方形的体积为f,则有max(1)(2)(3)2(1)(2)2(1)(3)3(2)(3)150.()0(1,2,3)fxxxxxxxxxstxiiMatlab程序:先建立fun2.m文件,程序为:functionf=fun2(x);f=-x(1)*x(2)*x(3);然后建立mycon.m文件,程序为:function[g,ceq]=mycon(x)g=[];ceq=[2*x(1)*x(2)+2*x(1)*x(3)+2*x(2)*x(3)-150];再建立chushi2.m文件,程序为:x0=[4;5;6];A=[];b=[];Aeq=[];beq=[];vlb=[0;0;0];vub=[];[x,fval]=fmincon('fun2',x0,A,b,Aeq,beq,vlb,vub,'mycon')f=-fval67四.上机结果1、结果:(1)方法一结果:x=0.66671.3333z=-8.22228(2)方法二结果:x=0.66671.3333fval=-8.47632、结果:x=24.000012.000012.0000fval=-3.4560e+00393、结果:x=5.00005.00005.0000fval=-125.0000f=125.000010