matlab 线性规划问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:06:49
目标函数:min x=0x1+0.1x2+0.2x3+0.3x4+0.8x5
约束函数:
x1+2x2+x4=100
2x3+2x4+x5=100
3x1+x2+2x3+3x5=100
x1,x2,x3,x4,x5>=0
minf = 16.0000这个结果是对的,为什么X的取值却不对呢?
正确的X为0,40,30,20,0

>> f=[0;0.1;0.2;0.3;0.8];
>> A=[];
>> b=[];
>> Aeq=[1,2,0,1,0;0,0,2,2,1;3,1,2,0,3];
>> beq=[100;100;100];
>> xmin=zeros(5,1);
>> xmax=[];
>> [x,minf]=linprog(f,A,b,Aeq,beq,xmin,xmax)
得到:
x =

12.4070
27.5930
17.5930
32.4070
0.0000

minf =

16.0000