[數學建模(五)]線性規划,二次規划和非線性規划的MATLAB求解


1.線性規划問題

如果目標函數和約束條件都是線性函數,則該模型稱為線性規划。

[x,f_opt,flag,c]=linprog(f,A,B,Aeq,Beq,xm,xM,x0,opt)

參數說明:

X: 解

f_opt: 最優值

Flag:大於零表示求解成功,否則求解出問題

C:求解信息

X0:搜索點的初值

Opt:最優化控制項

例子:

 

MATLAB求解:

f=[-6,-4]'; A=[2 3;4 2];

B=[100;120]; Ae=[]; Be=[]; xm=[0,0];

ff=optimset;

ff.LargeScale='off'; % 不用大規模問題求解

ff.TolX=1e-15;

ff.TolFun=1e-20;

ff.TolCon=1e-20;

ff.Display='iter';

[x,f_opt,key,c]=linprog(f,A,B,Ae,Be,xm,[],[],ff)

運行結果:

x =

   20.0000

   20.0000

f_opt =

  -200

key =

     1

c =

         iterations: 2

    constrviolation: 0

          algorithm: 'active-set'

       cgiterations: []

            message: 'Optimization terminated.'

      firstorderopt: 7.1054e-15

2. 二次規划問題

 

[x,f_opt,flag,c]=quadprog(H,f,A,B,Aeq,Beq,xm,xM,x0,opt)

例子:

 

MATLAB求解:

f=[-2,-4,-6,-8]; H=diag([2,2,2,2]);

OPT=optimset;

OPT.LargeScale='off';

A=[1,1,1,1; 3,3,2,1];

B=[5;10];

Aeq=[];

Beq=[];

LB=zeros(4,1);

[x,f_opt]=quadprog(H,f,A,B,Aeq,Beq,LB,[],[0 0 0 0],OPT)

運行結果:

x =

    0.0000

    0.6667

    1.6667

    2.6667

f_opt =

  -23.6667

3.非線性規划問題

目標函數或約束條件中至少有一個是非線性函數的最優化問題叫做非線性規划問題。

[x,f_opt,flag,c]=fmincon(F, x0, A,B,Aeq,Beq,xm,xM,CF,opt)

F;目標函數,inline函數或m函數

Cf;非線性約束條件對應的m函數

 

MATLAB求解:

1.目標函數:

function y=opt_fun1(x)

y=100-x(1)*x(1)-2*x(2)*x(2)-x(3)*x(3)-x(1)*x(2)-x(1)*x(3);

2.非線性約束條件的函數:

function [c,ceq]=opt_con1(x)

ceq=[x(1)*x(1)+x(2)*x(2)+x(3)*x(3)-25;8*x(1)+14*x(2)+7*x(3)-56];

c =[0 0 0 ];

3.求解:

ff=optimset;

ff.LargeScale='off';

ff.Display='iter';

ff.TolFun=1e-30;

ff.TolX=1e-15;

ff.TolCon=1e-20;

x0=[1;1;1];

xm=[0;0;0];

xM=[];A=[];B=[];Aeq=[]; Beq=[];

[x,f_opt,c,d]=fmincon('opt_fun1',x0,A,B,Aeq,Beq,xm,xM,'opt_con1',ff);

運行結果:

x =

    3.5121

    0.2170

    3.5522

f_opt =

   61.7152

c =

     2

d =

         iterations: 105

          funcCount: 569

    constrviolation: 0

           stepsize: 8.0563e-20

          algorithm: 'interior-point'

      firstorderopt: 1.2326e-07

       cgiterations: 26

            message: 'Local minimum possible. Constraints satisfied.…'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM