关于Matlab的问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 08:50:16
有这样一道求优化的题目:min z=13x1+9x2+10x3+11x4+12x5+8x6
s.t.:x1+x4=400
x2+x5=600
x3+x6=500
0.4x1+1.1x2+x3<=800
0.5x4+1.2x5+1.3x6<=900
xi>=0,i=1,2,...,6
我写的程序是:c=[13 9 10 11 12 8];
a=[1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1;0.4 1.1 1 0 0 0;0 0 0 0.5 1.2 1.3];
b=[400;600;500;800;900];
lb=[0;0;0;0;0;0]
ub=1*exp(+10*[1;1;1;1;1;1]);
nq=3;
x=lp(c,a,b,lb,ub,nq)
为什么运行不了,到底错在什么地方?

lp已经淘汰了,matlab现在用linprog进行线性规划,用法自己看help
f=[13 9 10 11 12 8];
A=[.4 1.1 1 0 0 0;0 0 0 .5 1.2 1.3];
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];
lb=zeros(6,1);
ub=inf*ones(6,1);
[x,val]=linprog(f,A,b,Aeq,beq,lb,ub)

输出
Optimization terminated.

x =

0.0000
600.0000
0.0000
400.0000
0.0000
500.0000

val =

1.3800e+004

下面是我年轻的时候发的。
http://zhidao.baidu.com/question/56154144.html
可能对你有一些帮助。