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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

佛山科学技术学院

上 机 报 告

课程名称 数学应用软件

上机项目 用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

相关文档
最新文档