MATLAB - 线性规划

时间:2017-09-08 16:28:19

标签: matlab linear-programming

这是一个试图最小化的线性编程问题。看了很多例子,但没有一个类似于这个例子。特别混淆了如何使用inf()zero()作为界限。

我有很多限制因素:

c = [6, 8, -6, -1]
A = [];
B = [];
Aeq = [9, 3, -1, -1; 17, 1, 0, -2; 4, -5, 6, 1];
beq = [30, -20, 6.7]

但其余部分非常困惑!

1 个答案:

答案 0 :(得分:0)

你去了:

vC = [6; 8; -6; -1];
mA = [9, 3, -1, -1; -17, -1, 0, 2];
vB = [30; 20];
mAEq = [4, -5, 6, 1];
vBEq = [6.7];
vL = [-3; 6.5; -inf; -inf];
vU = [15; inf; -2; inf];

vX = linprog(vC , mA, vB, mAEq, vBEq, vL, vU);
disp(['Optimal Solution - ', num2str(vX.')]);
disp(['Objective Value - ', num2str(vC.' * vX)]);

Optimal solution found.

Optimal Solution - 3.036          6.5           -2       39.056
Objective Value - 43.16

你必须将第二个不等式赋予<=形式 其余的都很直接。