PDA

查看完整版本 : [求助]请教关于linprog


airy6548
2008-11-30, 14:39
当我用linprog解线性规划,变量比较多,采用Large-Scale Optimization算法求解时.调用结束后为什么感觉得不到精确值.比如解中某精确值应该为3,它却显示3.00000000001252,要为0,则 -1.1517e-012储如此类.并显示是 Optimization terminated.
我尝试将得到的结果代入规划式时,结果并不满足约束条件.就是 A*x-B向量中 值或者小
于零满足约束条件,或者绝对值极小趋近于零,abs(Aeq*x-Beq)向量中 值或者等于零满足约
束条件,或者极小趋近于零.
是不是显示误差之类的问题?

airy6548
2008-11-30, 14:52
规模不大时好像也这样
举个例子吧:

max f=2x1+5x2

st:x1 <=4
x2<=3
x1+x2<=8
x1,x2>=0

f=[-2 -5];
A=[1 0;0 1;1 2];
b=[4;3;8];

[x,fval]=linprog(f,A,b)

结果则为:
x =

2.00000000524781
2.99999999630342
fval =

-18.99999999201270