Код максимизации линейного программирования в 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 для решения этой проблемы?
1 ответ
Решение
Вот как:
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)