Sie sind auf Seite 1von 10

Lineare Programmierung

Grundlegende Konzepte;

Um die Simplex-Methode zu initializieren, muss man alle Ungleichungen in


Gleichungen zu transformieren und muss eine mögliche nicht negative Ausgangslösung
kennen.

Nichtnegativitӓtsbedingung;

Lineare Bedingungen sind in folgender Form;

𝑛
𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ∼ 𝑏𝑖 , ∼ stehts für ≤, ≥, =

Die Konstanten 𝑏𝑖 werden stets nichtnegative angenommen.

Beispiel;
Bedingung 2 𝑥1 − 3𝑥2 + 4𝑥3 ≤ −5 wird mit -1 multipliziert um die
rechten nicht negative zu erhalten;

−2 𝑥1 + 3𝑥2 − 4𝑥3 ≥ 5
Schlupf- und Überschussvariablen;

𝑛
Eine lineare Bedingung 𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 kann durch das Hinzufügen einer neuen
nichtnegativen Variable auf der linken Seite der der Ungleichung in eine Gleicheit
überführt werden. Eine solche Variable numerisch gleic dir Differenz zwischen rechten
und linken Seiten der Ungleihung und als die Schlupfvariable benant.

2 𝑥1 + 𝑥2 ≤ 6 Holz Beschrӓnkung von


Beispiel II
2 𝑥1 + 𝑥2 + 𝑥3 = 6

𝑛
Eine lineare Bedingung 𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≥ 𝑏𝑖 kann durch das Abziehen einer neuen
nichtnegativen Variable auf der linken Seite der der Ungleichung in eine Gleicheit
überführt werden. Eine solche Variable numerisch gleic dir Differenz zwischen rechten
und linken Seiten der Ungleihung und als die Überschussvariable benant.

𝑥1 + 𝑥2 ≥ 50000 mind. Liefermenge von


Beispiel III
𝑥1 + 𝑥2 − 𝑥3 = 50000
Erzeugen einer Ausgangslösung;

Nachdem alle lineare Bedingungen haben durch die Einführung von Schlupf und
Überschussvariablen in die Gleichungen transformiert worden, fügen Sie eine neue
Variable, namens eine Künstliche Variable auf die rechte Seite jeder Gleichung die keine
Schlupfvariable hat.

Jede Bedingung dann enthӓlt entweder eine Schlupfvariable oder eine


Künstlichevariable. Eine nichtnegative Ausgangslösung zu dieser neuen Reihe von
Bedingungen erhӓlt man durch Einstellen jeder Schlupfvariable und Künstlichevariable
gleich die rechten Seite der Gleichung in der sie erscheinen , und Einstellen allen anderen
Variablen einschlisslich der Überschussvariablen gleich Null.

Beispiel;

𝑥1 + 2𝑥2 ≤ 3 ⟹ 𝑥1 + 2𝑥2 + 𝑥3 = 3 (Schlupfvariable)

4𝑥1 + 5𝑥2 ≥ 6 ⟹ 4𝑥1 + 5𝑥2 − 𝑥4 = 6 (Überschussvar.)

7𝑥1 + 8𝑥2 = 15 ⟹ 7𝑥1 + 8𝑥2 = 15


𝑥1 + 2𝑥2 + 𝑥3 =3

4𝑥1 + 5𝑥2 − 𝑥4 + 𝑥5 = 6 (Künstlichevariable)

7𝑥1 + 8𝑥2 + 𝑥6 = 15 (Künstlichevariable)

Eine nichtnegative Ausganglösung dann ;

𝑥3 = 3, 𝑥5 = 6, 𝑥6 = 15 und 𝑥1 = 𝑥2 = 𝑥3 = 0.

Beachten Sie jedoch, dass 𝑥1 = 𝑥2 = 0 ist keine Lösung zu der ursprunglichen Reihe
von Bedingungen. Gelegentlich kann eine Ausganglösung einfach ohne volle Ergӓnzung
der Schlupf und Künstlichevariablen erzeugt werden.
Strafkosten;

Die Einführung von Schlupf und Überschussvariablen ӓndert weder die art der
Bedingungen noch die Zielfunktion. Dementsprechend haben solche Variablen in die
Zielfunktion mit Null koeffizienten eingeschlossen. Aber Künstlichevariablen ӓndern die
art der Bedingungen, da sie nur auf eine Seite der Gleichungen eingegeben werden. Das
neue System ist ӓquivalent wenn und nur wenn die Künstlichenvariablen Null sind. Um
solche Zuordnung in optimalen Lösungen gewӓhrzuleisten, die Künstlichenvariablen
werden in die Zielfunktion mit sehr grossen positiven Koeffizienten in einem
Minimierungsproblem oder mit sehr grossen negativen Koeffizienten in einem
Maximierungsproblem eingegeben werden.

Diese Koeffizienten, von M oder – M bezeichnet wobei M ist eine sehr grosse positive
Zahl, stellen die schwerste Strafe beim Zuordnen eine Einheit zu Künstlichenvariablen. In
Handberechungen können Strafkosten als ∓ M gelassen werden. In
Komputerberechnungen muss zur M einen Zahlwert zugeordnet werden, die inder Regel
drei bis vier Mal grösser als jede andere Zahl in dem Problem.
Standardform;

Ein lineares Programm ist in Standardform, wenn alle Bedingungen in Gleichungen


dargestellt werden und eine Ausganglösung ist bekannt;

optimiere 𝑧 = 𝒄𝑇 𝒙

unter den Bedingungen 𝑨𝒙 = 𝒃

mit 𝒙≥0

𝒙 ist der Spaltenvektor von Variablen einschlisslich aller Schlupf und


Künstlichenvariablen.

𝒄𝑇 ist der Zeilenvektor der entsprechenden Kosten.

𝑨 ist die Koeffizientmatrix der Bedingunggleichungen.

𝒃 ist der Spaltenvektor der rechten Seiten der Bedingunggleichungen.


Beispiel; Setzen Sie das folgende Programm in Standardform.

maximiere z = 5𝑥1 + 2𝑥2

unter der Bedingungen 6𝑥1 + 𝑥2 ≥ 6

4𝑥1 + 3𝑥2 ≥ 12

𝑥1 + 2𝑥2 ≥ 4

𝑥1 , 𝑥2 nichtnegative

Durch das Abziehen der Überschussvariablen von der linken Seite der Ungleihungen
und Beifügen neue Variablen mit Null Koeffizienten in Ziel funktion, erhalten wir;

maximiere z = 5𝑥1 + 2𝑥2 + 0𝑥3 + 0𝑥4 + 0𝑥5

unter der Bedingungen 6𝑥1 + 𝑥2 − 𝑥3 =6

4𝑥1 + 3𝑥2 − 𝑥4 = 12

𝑥1 + 2𝑥2 − 𝑥5 = 4

mit allen Variablen nichtnegative


Weil keine Bedingunggleihung eine Schlupfvariable enthӓlt , hinzufügen wir zunӓchst
Künstlichevariablen zu den linken Seiten der Gleichungen. Wir setzen auch diese
Variablen mit sehr grossen Kostenkoeffizienten in die Zielfunktion ein.

maximiere z = 5𝑥1 + 2𝑥2 + 0𝑥3 + 0𝑥4 + 0𝑥5 − M𝑥6 − M𝑥7 − M𝑥8

unter der Bedingungen 6𝑥1 + 𝑥2 − 𝑥3 + 𝑥6 =6

4𝑥1 + 3𝑥2 − 𝑥4 + 𝑥7 = 12

𝑥1 + 2𝑥2 − 𝑥5 + 𝑥8 = 4

mit allen Variablen nichtnegative

Das Programm ist in Standardform mit der Ausganglösung;

𝑥6 = 6, 𝑥7 = 12, 𝑥8 = 4 und 𝑥1 = 𝑥2 = 𝑥3 = 𝑥4 = 𝑥5 = 0.
Beispiel; Setzen Sie das folgende Programm in Standardmatrixform.

maximiere z = 𝑥1 + 2𝑥2 + 3𝑥3

unter der Bedingungen 3𝑥1 + 4𝑥3 ≤ 5

5𝑥1 + 𝑥2 + 6𝑥3 = 7

8𝑥1 + 9𝑥3 ≥ 2
mit allen Variablen nichtnegative

Durch Beifügen eine Schlupfvaraible 𝑥4 in die erste Ungleichung, Abziehen eine


Überschussvariable 𝑥5 von der zweiten Ungleichung und Beifügen eine
Künstlichevariable 𝑥6 in die dritte Ungleihung, erhalten wir das Programm;
maximiere z = 𝑥1 + 2𝑥2 + 3𝑥3 −0𝑥4 − 0𝑥5 − M𝑥6

unter der Bedingungen 3𝑥1 + 4𝑥3 + 𝑥4 =5

5𝑥1 + 𝑥2 + 6𝑥3 =7

8𝑥1 + 9𝑥3 − 0𝑥5 + 𝑥6 = 2

mit allen Variablen nichtnegative


Das Programm ist in Standardform mit der Ausganglösung;

𝑥4 = 5, 𝑥2 = 7, 𝑥6 = 2 und 𝑥1 = 𝑥3 = 𝑥5 = 0.

In Matrixform ;

𝒙𝑇 = 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 , 𝒄𝑇 = 1, 2, 3, 0, 0, 𝑀

3 0 4 1 0 0 5 𝑥4
𝑨= 5 1 6 0 0 0 𝒃= 7 𝒙𝟎 = 𝑥2
8 0 9 0 −1 0 2 𝑥5

In diesem Fall anstatt eine Künstlichevariable beizufügen kann man 𝑥2 einsetzen um


eine Ausgangslösung zu erzeugen. Im Allgemeinen, wenn eine Variable nur in einer
Bedingung erscheint kann man diese Variable um einen Teil der Ausgangslösung zu
Erzeugen benutzen. Zuerst sollte man die Gleichung durch den Koeffizient der Variable
teilen und dann setzen die Variable gleich der rechten Seite der Gleichung. Eine
Künstlichevariable braucht man nicht zu der Gleichung beizufügen.

Das könnte Ihnen auch gefallen