线性规划与非线性规划
:
2. 线性规划的基本算法——单纯形法
一、线性规划
用MATLAB优化工具箱解线性规划
min z=cX
1、模型:
命令:x=linprog(c,A,b)
2、模型:min z=cX
命令:x=linprog(c,A,b,Aeq,beq)
注意:若没有不等式: 存在,则令A=[ ],b=[ ].
3、模型:min z=cX
VLB≤X≤VUB
命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB)
[2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0)
注意:[1] 若没有等式约束: , 则令Aeq=[ ], beq=[ ].
[2]其中X0表示初始点
4、命令:[x,fval]=linprog(…)
返回最优解x及x处的目标函数值fval.
解: :
c=[6 3 4];
A=[0 1 0];
b=[50];
Aeq=[1 1 1];
beq=[120];
vlb=[30,0,20];
vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
二、非线性规划
定义如果目标函数或约束条件中至少有一个是非线性函数时的最优化问题就叫做非线性规划问题.
非现性规划的基本概念
一般形式:
(1)
其中, 是定义在 En 上的实值函数,简记:
其它情况: 求目标函数的最大值或约束条件为小于等于零的情况,都可通过取其相反数化为上述一般形式.
非线性规划的基本解法
SUTM外点法
SUTM内点法(障碍罚函数法)
1、罚函数法
2、近似规划法
用MATLAB软件求解,其输入格式如下:
1. x=quadprog(H,C,A,b);
2. x=quadprog(H,C,A,b,Aeq,beq);
3. x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);
4. x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0);
5. x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0,options);
6. [x,fval]=quaprog(...);
7. [x,fval,exitflag]=quaprog(...);
8. [x,fval,exitflag,output]=quaprog(...);
1、二次规划
例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22
. x1+x2≤2
-x1+2x2≤2
x1≥0, x2≥0
1、写成标准形式:
2、输入命令:
H=[1 -1; -1 2];
c=[-2 ;-6];A=[1 1; -1 2];b=[2;2];
Aeq=[];beq=[]; VLB=[0;0];VUB=[];
[x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)
3、运算结果为:
x = z = -
.
4线性规划与非线性规划 来自淘豆网m.daumloan.com转载请标明出处.