0

Как решить проблему с максимизацией линейного программирования, которая содержит как уравнения <=10, так и >=?Линейный код максимизации программирования в MATLAB

Например вот так:

Maximize:

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) 
+0

Благодаря @Sardar_Usama, Как я могу получить значение г с использованием MATLAB? – Tiash

+0

Помещая значения констант 'c1',' c2' и 'c3' –

+0

Должен ли я вычислить его вручную или есть ли встроенная функция для этого? – Tiash