0

Wie löst man das lineare Programmiermaximierungsproblem, das sowohl <= als auch >= Gleichungen enthält?Linearer Programmiermaximierungscode in MATLAB

Zum Beispiel ist hier ein Fall:

Maximize:

z = c1x1 + c2x2 + c3x3 

vorbehalten:

a1x1 + a2x2 + a3x3 <= b1 
a4x1 + a5x2 + a6x3 <= b2 
x1 >= d1 
x2 >= d2 
x3 >= d3 

Wo a1, a2, a3, a4, a5, a6, b1, b2, b3, c1, c2, c3 die Konstanten in den gegebenen Gleichungen sind.

Was wird der richtige Matlab-Code sein, um dieses Problem zu lösen?

Antwort

1

Das ist, wie:

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

Dank @Sardar_Usama, Wie kann ich den Wert von z mit Matlab bekommen? – Tiash

+0

Durch Setzen der Werte der Konstanten 'c1',' c2' und 'c3' –

+0

Muss ich es manuell berechnen oder gibt es dafür eine eingebaute Funktion? – Tiash