2014-04-16 34 views
0

我想通过MATLAB求解线性规划。为此,我正在关注以下链接。 Linear Programming通过MATLAB可求解的线性规划

在这里,样品的问题是下式给出:

求x最小化

F(X)= -5x1 - 4×2 -6x3,

X1 - X2 + x3≤20 3x1 + 2x2 + 4x3≤42 3x1 + 2x2≤30 0≤x1,0≤x2,0≤x3。

首先,输入系数

f = [-5; -4; -6]; A = [1 -1 1 3 2 0];; b = [20; 42; 30]; lb =零(3,1);

接下来,调用线性编程例程。

[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb);

我的问题是这条线的含义是什么?
lb =零(3,1); 没有这条线,MATLAB所能解决的所有问题都被认为是不可行的。你能帮助我达到这个目的吗?

回答

1

这不是所有线性问题的共同点。在这里,你对付那里有关于该解决方案的最小值一些约束的问题:

0≤X1,0≤X2,0≤X3

你要设置这些限制在你的问题的参数。这样做的方法是指定解决方案的下边界,即第5个参数。

没有这一行,您在其上搜索解决方案的域不受限制,在调用该函数后exitflag的值为-3,这正是无界问题的错误代码。

+0

我有另一个基本问题在解决线性规划问题的matlab。你能帮我么 ? –

+0

在SO上发布一个新问题: – Bentoy13

+0

http://stackoverflow.com/questions/23109138/solve-linear-programming-by-simplex-on-matlab –