LP Simplex CAS Functions(GAUS,PIVOT)
CAS Functions
Qb(Pivotzeile des Tableaus berechnen: DIV Element der Pivotspalte, EE Element der b-Vektor-Spalte: EE/DIV)
(Muss ggf. bei Abweichungen der Nebenbedingungen von den Standard-Simplex-Vorgaben angepasst werden)
PIVOT(Liste {Pivotzeile, Pivotspalte} berechnen)
GAUS(Gauß'sche Elimiationsschritte mit der Pivotzeile ausführen)
maxIL(Auslesen des End-Tableaus eines Max Programm)
minIL(Auslesen des dualen End-Tableaus für Min-Programme)
Zmin:={First(Flatten(Last(Transpose(Start))), n)} -
Letzte Zeile im Start-Tableau = (-1)Koeffizienten der Ziel-Funktion (Zmin/Zmax).
Last Row in Start-Tableau = (-1)*Coefficients of Target/Objective-Function(Zmin/Zmax) .
Terminate LP all Coefficients of line of Target/Objective-Function positiv.
Beispiel:
Start:={{3,4,2,1,0,0,0,2100},{1,0,0,0,1,0,0,300},{0,1,0,0,0,1,0,300},{0,0,1,0,0,0,1,250},{-22,-28,-19,0,0,0,0,0}}
load("simplex");
maximize_lp( 22*x+28*y+19*z, [ x<=300, y<=300, z<=250, 3*x+4*y+2*z<=2100 ]), nonegative_lp=true;
[16250,[z=250,y=175,x=300]]
{{1,0,1,1,0,0,8},{1,1,0,0,1,0,7},{1,2,0,0,0,1,12},{-3,-2,-2,0,0,0,0}};
{{1, 4, 2, 1, 0, 0, 200}, {1, 3, 4, 0, 1, 0, 160}, {2, 1, 6, 0, 0, 1, 300}, {-1, -3, -2, 0, 0, 0, 0}};
{{1,-2,0,1,0,0,30}, {3,1,-5,0,1,0,47}, {0,3,1,0,0,0,20},{0,0,1,0,0,1,5}, {-20,-15,-7,0,0,0,0}};
dualtab min
{{1,0,0,−1,0,1,0,0,0,0,0,35},{0,1,0,−1,0,0,1,0,0,0,0,30},{0,0,1,−1,0,0,0,1,0,0,0,20},{1,0,0,0,−1,0,0,0,1,0,0,15},{0,1,0,0,−1,0,0,0,0,1,0,20},{0,0,1,0,−1,0,0,0,0,0,1,25},{−80,−40,−45,90,75,0,0,0,0,0,0,0}};
Beispiel max Start

LP min Programm Dual Max Tableau
