当前位置:文档之家› 数学应用软件作业5 用MATLAB求解非线性规划问题

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

佛山科学技术学院
上 机 报 告
课程名称 数学应用软件
上机项目 用MATLAB 求解非线性规划问题 专业班级 姓 名 学 号
一. 上机目的
1.了解非线性规划的基本理论知识。

2.对比Matlab 求解线性规划,学习用Matlab 求解非线性规划的问题。

二. 上机内容
1、用quadprog 求解二次规划问题min f(x):
2、求解优化问题:
min 321)(x x x x f -= S.T.
72220321≤++≤x x x
注:取初值为(10,10,10)。

3、求表面积为常数150 m 2的体积最大的长方体体积及各边长。

注:取初值为(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)
四.上机结果
1、结果:
(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。

相关主题