MATLAB 中的线性规划最大化代码
Linear programming maximization code in MATLAB
如何求解同时包含<=
和>=
方程的线性规划最大化问题?
举个例子:
最大化:
z = c1x1 + c2x2 + c3x3
受制于:
a1x1 + a2x2 + a3x3 <= b1
a4x1 + a5x2 + a6x3 <= b2
x1 >= d1
x2 >= d2
x3 >= d3
其中 a1, a2, a3, a4, a5, a6, b1, b2, b3, c1, c2, c3
是给定方程式中的常数。
解决这个问题的正确 Matlab 代码是什么?
就是这样:
z = -[c1 ; c2 ; c3];
A = [ a1 a2 a3 ;
a4 a5 a6];
b=[b1;
b2];
Aeq= [ ]; beq= [ ];
LB = [d1 ; d2 ; d3];
UB = [1 ; 1 ; 1]* inf; % Any relax number
x = linprog(z, A, b, Aeq, beq, LB, UB)
如何求解同时包含<=
和>=
方程的线性规划最大化问题?
举个例子:
最大化:
z = c1x1 + c2x2 + c3x3
受制于:
a1x1 + a2x2 + a3x3 <= b1
a4x1 + a5x2 + a6x3 <= b2
x1 >= d1
x2 >= d2
x3 >= d3
其中 a1, a2, a3, a4, a5, a6, b1, b2, b3, c1, c2, c3
是给定方程式中的常数。
解决这个问题的正确 Matlab 代码是什么?
就是这样:
z = -[c1 ; c2 ; c3];
A = [ a1 a2 a3 ;
a4 a5 a6];
b=[b1;
b2];
Aeq= [ ]; beq= [ ];
LB = [d1 ; d2 ; d3];
UB = [1 ; 1 ; 1]* inf; % Any relax number
x = linprog(z, A, b, Aeq, beq, LB, UB)