用MATLAB解二次型规划和一般非线性规划问题

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

实验报告11

实验名称:用MATLAB 解二次型规划和一般非线性规划问题

实验目的:学会如何运用MATLAB 解二次型规划和一般非线性规划问题; 实验内容:

书P211

11、试求解下面的二次型规划问题。

212

2212136442min x x x x x x --+-

⎪⎩⎪⎨⎧≥≤+≤+0943..2

,12121x x x x x t s x

解:

>> f=[-6,-3];H=[4,-4;-4,8];

>> A=[1,1;4,1];B=[3,9];Aeq=[];Beq=[];xm=zeros(2,1);

>> [x,f_opt]=quadprog(H,f,A,B,Aeq,Beq,xm,[],[])

Warning: Your Hessian is not symmetric. Resetting H=(H+H')/2.

> In quadprog at 232

Warning: Large-scale method does not currently solve this problem formulation, using medium-scale method instead.

> In quadprog at 263

Optimization terminated.

x =

1.9500

1.0500

f_opt =

-11.0250

12、试求解下面的非线性规划问题。 ()

12424min 22122211++++x x x x x e x

⎪⎪⎩⎪⎪⎨⎧≤≤--≥≥++-≤+10

,10105.10..2121212121x x x x x x x x x x t s x 解:

function [c,ceq]=cdd01(x)

c=[x(1)+x(2);x(1)*x(2)-x(1)-x(2)+1.5;-x(1)*x(2)-10];ceq=[];

>> y=@(x)exp(x(1))*(4*x(1)*x(1)+2*x(2)*x(2)+4*x(1)*x(2)+2*x(2)+1);

x0=[1;1];xm=[-10;-10];xM=[10;10];A=[];B=[];Aeq=[];Beq=[];

[x,f_opt,c,d]=fmincon(y,x0,A,B,Aeq,Beq,xm,xM,@cdd01)

Warning: Trust-region-reflective method does not currently solve this type of problem, using active-set (line search) instead.

> In fmincon at 422

Maximum number of function evaluations exceeded;

increase OPTIONS.MaxFunEvals.

x =

3.1740

-7.9967

f_opt =

1.2351e+003

c =

d =

iterations: 54

funcCount: 201

lssteplength: 1

stepsize: 5.6428

algorithm: 'medium-scale: SQP, Quasi-Newton, line-search'

firstorderopt: 390.0759

constrviolation: 1.7857e-008

message: [1x79 char]

15、试求解下面的0-1线性规划问题

>> f=[5,7,10,3,1]

>> A=[-1,1,-5,-1,4;2,-6,3,2,-2;0,-2,2,-1,-1] >> B=[-2;0;1]

>> x_m=[0,0,0,0,0]

>> x_M=[1,1,1,1,1]

>> x=bintprog(f,A,B,[],[],x_m,x_M)

x =

1

1

相关文档
最新文档