Simplex optimiert | |||
---|---|---|---|
schrittweise Iteration | Im oberen Bereich können Werte eingegeben werden. Es wird jeweils der Zuwachs berechnet, der am wenigsten Rundungsfehler verursacht. Bei negativen Maxwerten, wird N1,N2 eingefügt. Weiter unten kann man die Einzelschritte starten. | ||
Iteration auf einmal |
Problem | Maxwerte | X 1 | X 2 | X 3 | X 4 | X 5 | X 6 | Hilfswert |
Zielwert | Max | 2 | -2 | 4 | 0 | |||
Ungl. 1 | 8 | 2 | 1 | -1 | ||||
Ungl. 2 | -3 | 1 | -2 | -1 | ||||
Ungl. 3 | 20 | 1 | -2 | 3 | ||||
Ungl. 4 | -4 | -2 | -1 | 2 | ||||
Ungl. 5 | ||||||||
Ungl. 6 | ||||||||
Ungl. 7 | ||||||||
Ungl. 8 | ||||||||
Ungl. 9 | ||||||||
Ungl. 10 | ||||||||
Iteration Schritt | Aktuelle Basis | |||||||
Basivariable | Nichbasivariable | |||||||
Tausch: | X 1 | X 2 | X 3 | X 4 | X 5 | X 6 | N 1=HW | |
Hilfs-ZW | ||||||||
Zielwert | ||||||||
H 1 | ||||||||
H 2 | ||||||||
H 3 | ||||||||
H 4 | ||||||||
H 5 | ||||||||
H 6 | ||||||||
H 7 | H 8 | |||||||
H 9 | ||||||||
H 10 | ||||||||
Reserve |
Erklärung:
Dieser Simplex funktioniert nach der revidierten Methode mit optimierten Zuwachs.
Die Basis ist immer die Einheitsmatrix, BV(i) = {0, 0,... ,1,0,..}
Das hat zur Folge das man den Wert einer BV , bei jeden Schritt, sofort ablesen kann ( dort, wo die Maxwerte stehen ).
Basisvariable ( BV ) sind zu anfangs nur Schlupfvariable.
Nichtbasisvariable (NBV) sind immer null.
Bei jedem Iterationsschritt wird eine Basisvariable mit einer Nichtbasisvariable getauscht.
Die Basis wird dann invertiert, es entsteht wieder die Einheitsmatrix.
Eine tauschwürdige NBV ergibt einen Zuwachs der Zielfunktion.
Hier wird jene NBV gewählt, die den kleinsten Rundungsfehler verursacht.
Dabei wird das Verhältnis des (Betrag-)max. Spaltenelements zum möglichen Pivot geprüft.
Wenn negative Maxwerte auftreten, gibt es folgenden Trick:
Man fügt zwei Variable dazu, die nach Voraussetzung null sind.
N1 ist dort -1, wo die Maxwerte negativ sind, bei N2 ist N1 1, woanders ist N1 0.
diese NB-Variable N1 wird dann mit der Basisvariable mit dem betragsgrößten Negativwert getauscht.
N2 übernimmt dann alle negativen Basiswerte.
N2 wird dann mit der gleichen Methode maximiert, bis sie null erreicht.
Anschließend wird die Zielfunktion optimiert .
Simplexmethode allemein:
Aus dem Problem:
v11*x1 + v12*x2 + v13*x3 + ..+ v1k*xk <= b1 v21*x1 + v22*x2 + v23*x3 + ..+ v2k*xk <= b2 .................. vm1*x1 + vm2* x2 + vm3*x3 + ..+ vmk*xk <= bm a1*x1 + a2* x2 + a3*x3 + ..+ ak* xk = Z x1 >= 0, x2 >= 0, x3 >= 0 ... xk >= 0entsteht das Gleichungssystem:
v11*x1 + v12*x2 + v13*x3 + ..+ v1k*xk + s1 = b1 v21*x1 + v22*x2 + v23*x3 + ..+ v2k*xk + s2 = b2 .................. vm1*x1 + vm2* x2 + vm3*x3 + ..+ vmk*xk + sm = bm -a1*x1 - a2*x2 - a3*x3 - ..- ak*xk + Z = maximal x1 >= 0, x2 >= 0, x3 >= 0 ... xk >= 0 s1 >= 0, s2 >= 0, s3 >= 0 ... sm >= 0s (1...m) heißen Schlupfvariable, Z ist die Zielfunktion, Sie soll maximiert werden. Jede Lösung, die die Bedingungen xi, sj >= 0 erfüllt, nennt man zulässige Basislösung.