第4讲线性规划与matlab
:
用单纯法求解时,常将标准形式化为:
2. 线性规划的基本算法——单纯形法
线性规划的基本算法——单纯形法
引入松弛变量x3, x4, x5, 将不等式化为等式等式约束: , 则令Aeq=[ ], beq=[ ].
[2]其中X0表示初始点
4、命令:[x,fval]=linprog(…)
返回最优解x及x处的目标函数值fval.
解 :
c=[- - - - - -];
A=[ ; 0 0 0 0;0 0 0 0;0 0 0 0 ];
b=[850;700;100;900];
Aeq=[]; beq=[];
vlb=[0;0;0;0;0;0]; vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
To Matlab (xxgh1)
解: :
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)
To Matlab (xxgh2)
.
改写为:
例3 问题一的解答
问题
:
f = [13 9 10 11 12 8];
A = [ 1 0 0 0
0 0 0 ];
b = [800; 900];
Aeq=[1 0 0 1 0 0
0 1 0 0 1 0
0 0 1 0 0 1];
beq=[400 600 500];
vlb = zeros(6,1);
vub=[];
[x,fval] = linprog(f,A,b,Aeq,beq,vlb,vub)
To Matlab (xxgh3)
结果:
x =
fval =+004
即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800。
例2 问题二的解答
问题
改写为:
:
c = [40;36];
A=[-5 -3];
b=[-45];
Aeq=[];
beq=[];
vlb = zeros(2,1);
vub=[9;15];
%调用linprog函数:
[x,fval] = linprog(c,A,b,Aeq,beq,vlb,vub)
To Matlab (xxgh4)
结果为:
x =
fval =360
即只需聘用9个一级检验员。
注:本问题应还有一个约束条件:x1、x2取整数。故它是一个整数线性规划问题。这里把它当成一个线性规划来解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该整数规划的最优解。若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解。
返 回
投资的收益和风险
二、基本假设和符号规定
三、模型的建立与分析
,即max{ qixi|i=1,2,…n}
4. 模型简化:
四、模型1的求解
由于a是任意给定的风险度,到底怎样给定没有一个准则,不同的投资者有不同的风险度。我们从a=0开始,以步长△a=,编制程序如下:
a=0;
while(-a)>1
c=[- - - - -];
Aeq=[1 ]; beq=[1];
A=[0 0 0 0;0 0 0 0;0 0 0 0;0 0 0 0
第4讲线性规划与matlab 来自淘豆网m.daumloan.com转载请标明出处.