数学应用软件作业5用MATLAB求解非线性规划问题.docVIP

  • 35
  • 0
  • 约1.72千字
  • 约 10页
  • 2016-11-29 发布于重庆
  • 举报

数学应用软件作业5用MATLAB求解非线性规划问题.doc

数学应用软件作业5用MATLAB求解非线性规划问题

佛山科学技术学院 上 机 报 告 课程名称 数学应用软件 上机项目 用MATLAB求解非线性规划问题 专业班级 姓 名 学 号 一. 上机目的 1.了解非线性规划的基本理论知识。 2.对比Matlab求解线性规划,学习用Matlab求解非线性规划的问题。 二. 上机内容 1、用quadprog求解二次规划问题min f(x): 2、求解优化问题: min S.T. 注:取初值为(10,10,10)。 3、求表面积为常数150 m2的体积最大的长方体体积及各边长。 注:取初值为(4,5,6)。 上机方法与步骤 1、可用两种方法解题: 方法一:Matlab程序: H=[1 -1;-1 2]; c=[-2;-6]; A=[1 1;-1 2;2 1]; b=[2;2;3]; Aeq=[]; beq=[]; vlb=[0;0]; vub=[]; [x,z]=quadprog(H,c,A,b,Aeq,beq,vlb,vub) 方法二:Matlab程序如下: 先建立fun.m文件,程序为: function f=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=[1 1;-1 2;2 1]; b=[2;2;3]; Aeq=[]; beq=[]; vlb=[0;0]; vub=[]; [x,fval]=fmincon(fun,x0,A,b,Aeq,beq,vlb,vub) 2、Matlab程序: 先建立fun1.m文件,程序为: function f=fun1(x); f=-x(1)*x(2)*x(3); 再建立chushi1.m文件,程序为: x0=[10;10;10]; A=[1 2 2;-1 -2 -2]; b=[72;0]; Aeq=[]; beq=[]; vlb=[]; vub=[]; [x,fval]=fmincon(fun1,x0,A,b,Aeq,beq,vlb,vub) 3、假设长方形的长、宽、高分别为、、,则长方形的体积为f,则有 Matlab程序: 先建立fun2.m文件,程序为: function f=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=-fval 上机结果 结果: (1)方法一结果: x = 0.6667 1.3333 z = -8.2222 (2)方法二结果: x = 0.6667 1.3333 fval = -8.4763 2、结果: x = 24.0000 12.0000 12.0000 fval = -3.4560e+003 3、结果: x = 5.0000 5.0000 5.0000 fval = -125.0000 f = 125.0000 10

文档评论(0)

1亿VIP精品文档

相关文档