Sie sind auf Seite 1von 50

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen

Operations Research
Vorlesung 3
Lineare Programmierung: Simplex-Algorithmus
Wiederholung
▪ Die drei Schritte im Operations Research
▪ Problem, Modell, Lösung

▪ Typische Problemszenarien
▪ Z.B. Transportproblem, Energieflussproblem, Auswahlproblem

▪ Standardform der linearen Programmierung

▪ Intuitive Lösungsverfahren
▪ Systematisches Durchsuchen und Grafisches Lösen

Operations Research | Vorlesung 3 | Seite 2

© Prof. Dr. Dirk C. Mattfeld


Heutige Fragestellungen
▪ Wie können wir (größere) lineare Probleme lösen?

▪ Ist jedes lineare Programm lösbar?

▪ Gibt es Ausnahmen und wie erkennen wir sie?

Operations Research | Vorlesung 3 | Seite 3

© Prof. Dr. Dirk C. Mattfeld


Überblick

1. Simplex-Algorithmus

2. Anwendungsbeispiel zum Simplex-Algorithmus

3. Sonderfälle der linearen Programmierung

Operations Research | Vorlesung 3 | Seite 4

© Prof. Dr. Dirk C. Mattfeld


Überblick

1. Simplex-Algorithmus

2. Anwendungsbeispiel zum Simplex-Algorithmus

3. Sonderfälle der linearen Programmierung

Operations Research | Vorlesung 3 | Seite 5

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus (Dantzig, 1947): Idee
▪ Eine Lösung der 𝑚 Restriktionen 𝑎𝑖,1 𝑥1 + ⋯ + 𝑎𝑖,𝑛+𝑚 𝑥𝑛+𝑚 = 𝑏𝑖 𝑖 = 1, … , 𝑚
heißt Basislösung, falls gilt:

▪ 𝑛 der Variablen 𝑥1 ,…,𝑥𝑛+𝑚 sind Null (Nicht-Basisvariablen)

▪ Jede der verbleibenden 𝑚 Variablen (Basisvariablen) tritt in nur jeweils


einer Gleichung, und zwar mit dem Koeffizienten 1, auf.

▪ Eine Basislösung heißt zulässig, falls alle Basisvariablen (BV) nicht-negativ sind.

Operations Research | Vorlesung 3 | Seite 6

© Prof. Dr. Dirk C. Mattfeld


Variablennotation
▪ Strukturvariablen:
▪ originale Entscheidungsvariablen
▪ Wirken sich auf Zielfunktion aus
▪ Schlupfvariablen:
▪ Repräsentieren Nebenbedingungen
▪ Keine Auswirkung auf Zielfunktion

▪ Basisvariablen einer Lösung:


▪ Sind ungleich 0
▪ Haben einen einzigen Eintrag in unserem Gleichungssystem
▪ Nicht-Basisvariablen:
▪ Sind 0
▪ Können in mehreren Gleichungen auftreten

Operations Research | Vorlesung 3 | Seite 7

© Prof. Dr. Dirk C. Mattfeld


Struktur-, Schlupf-, Basis- und Nicht-Basisvariablen
▪ Strukturvariable ist Basisvariable:
▪ originale Entscheidungsvariablen
▪ I.d.R. ungleich 0 (kommt in der Lösung vor) Strukturvariable Schlupfvariable
▪ Strukturvariable ist Nicht-Basisvariable:
▪ originale Entscheidungsvariablen
▪ Gleich 0 (kommt nicht in der Lösung vor)

▪ Schlupfvariable ist Basisvariable: Basisvariable Nicht-Basisvariable


▪ Repräsentiert Nebenbedingung
▪ I.d.R. ungleich 0 (Nebenbedingung bindet nicht)
▪ Schlupfvariable ist Nicht-Basisvariable:
▪ Repräsentiert Nebenbedingung
▪ Gleich 0 (Nebenbedingung bindet)

Operations Research | Vorlesung 3 | Seite 8

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus (Dantzig, 1947): Idee
▪ Eine Lösung der 𝑚 Restriktionen 𝑎𝑖,1 𝑥1 + ⋯ + 𝑎𝑖,𝑛+𝑚 𝑥𝑛+𝑚 = 𝑏𝑖 𝑖 = 1, … , 𝑚
heißt Basislösung, falls gilt:

▪ 𝑛 der Variablen 𝑥1 ,…,𝑥𝑛+𝑚 sind Null (Nicht-Basisvariablen)

▪ Jede der verbleibenden 𝑚 Variablen (Basisvariablen) tritt in nur jeweils


einer Gleichung, und zwar mit dem Koeffizienten 1, auf.

▪ Eine Basislösung heißt zulässig, falls alle Basisvariablen (BV) nicht-negativ sind.

▪ Idee des Simplex-Algorithmus:


Ausgehend von einer zulässigen Basislösung wird eine neue zulässige Basislösung mit verbessertem
Zielfunktionswert konstruiert, bis ein Abbruchkriterium erreicht wird.

Operations Research | Vorlesung 3 | Seite 9

© Prof. Dr. Dirk C. Mattfeld


Beispiel: Produktionsprogrammplanung
▪ Eine Unternehmung stellt die Produkte 𝑃1 und 𝑃2 her, die mit einem Gewinn (Deckungsbeitrag) von 3 €
bzw. 4 € pro ME verkauft werden können.
▪ Zur Fertigung der beiden Produkte sind erforderlich
(a) eine Maschine, die (in dem Planungszeitraum) maximal 1200 Std. eingesetzt
werden kann
(b) ein Rohstoff, von dem (in dem Planungszeitraum) höchstens 3000 ME zur
Verfügung stehen
(c) Arbeitskräfte, die (in dem Planungszeitraum) höchstens 125 Std. eingesetzt
werden können
▪ Für die Herstellung einer ME des Produktes P1 (bzw. P2) werden benötigt:
Maschine 3 Std. (bzw. 2 Std.)
Rohstoff 5 ME (bzw. 10 ME)
Arbeitskräfte - (bzw. 0,5 Std.)

Gesucht: Produktionsprogramm mit maximalem (Gesamt-)Gewinn

Operations Research | Vorlesung 3 | Seite 10

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Problemformulierung
(Produktionsprogrammplanung)
max 𝑧 = 3𝑥1 + 4𝑥2 + 0𝑥3 + 0𝑥4 + 0𝑥5

u.d.N. 3𝑥1 + 2𝑥2 + 𝑥3 = 1200 (1)


5𝑥1 + 10𝑥2 + 𝑥4 = 3000 (2)
0,5𝑥2 + 𝑥5 = 125 (3)
𝑥1  0, 𝑥2  0, 𝑥3  0, 𝑥4  0, 𝑥5  0

Zulässige Basislösung:
𝑥1 = 0, 𝑥2 = 0 Nichtbasisvariablen
𝑥3 = 1200, 𝑥4 = 3000, 𝑥5 = 125 Basisvariablen
𝑧 = 0

Operations Research | Vorlesung 3 | Seite 11

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Basistausch
Austausch 𝑥5 gegen 𝑥2:
(1) - 4*(3): 3𝑥1 + 𝑥3 − 4𝑥5 = 700
(2) - 20*(3): 5𝑥1 + 𝑥4 − 20𝑥5 = 500
2*(3): 𝑥2 + 2𝑥5 = 250  𝑥2 = 250 - 2𝑥5
BV: 𝑥2, 𝑥3, 𝑥4
NBV: 𝑥1, 𝑥5
Zielfunktion:
max 3𝑥1 + 4*(250 - 2𝑥5)  max 3𝑥1 - 8𝑥5 + 1000

Neue zulässige Basislösung:


𝑥1 = 0, 𝑥5 = 0 Nichtbasisvariablen
𝑥2 = 250, 𝑥3 = 700, 𝑥4 = 500 Basisvariablen
𝑧 = 1000

Operations Research | Vorlesung 3 | Seite 12

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Basistausch
Ein Austauschschritt wird gewöhnlich im Simplex-Tableau durchgeführt. Zur Veranschaulichung liege
eine zulässige Basislösung mit
NBV 𝑥1 , … , 𝑥𝑛 und BV 𝑥𝑛+1 , … , 𝑥𝑛+𝑚 vor.

𝑥1 𝑥2 … 𝑥𝑠 … 𝑥𝑛 𝑥𝑛+1 𝑥𝑛+2 … 𝑥𝑛+𝑟 … 𝑥𝑛+𝑚 RS


𝑐1 𝑐2 … 𝑐𝑠 … 𝑐𝑛 0 0 … 0 … 0 −𝑧0
𝑎11 𝑎12 … 𝑎1𝑠 … 𝑎1𝑛 1 0 … 0 … 0 𝑏1
𝑎21 𝑎22 … 𝑎2𝑠 … 𝑎2𝑛 0 1 … 0 … 0 𝑏2

𝑎𝑟1 𝑎𝑟2 … 𝑎𝑟𝑠 … 𝑎𝑟𝑛 0 0 … 1 … 0 𝑏𝑟

𝑎𝑚1 𝑎𝑚2 … 𝑎𝑚𝑠 … 𝑎𝑚𝑛 0 0 … 0 … 1 𝑏𝑚

Operations Research | Vorlesung 3 | Seite 13

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Basistausch
Wahl eines Pivotelements, das festlegt, welche Variable in die Basis aufgenommen wird und welche
Variable Nichtbasisvariable wird.

𝑥1 𝑥2 … 𝑥𝑠 … 𝑥𝑛 𝑥𝑛+1 𝑥𝑛+2 … 𝑥𝑛+𝑟 … 𝑥𝑛+𝑚 RS


𝑐1 𝑐2 … 𝑐𝑠 … 𝑐𝑛 0 0 … 0 … 0 −𝑧0
𝑎11 𝑎12 … 𝑎1𝑠 … 𝑎1𝑛 1 0 … 0 … 0 𝑏1
𝑎21 𝑎22 … 𝑎2𝑠 … 𝑎2𝑛 0 1 … 0 … 0 𝑏2

𝑎𝑟1 𝑎𝑟2 … 𝑎𝑟𝑠 … 𝑎𝑟𝑛 0 0 … 1 … 0 𝑏𝑟

𝑎𝑚1 𝑎𝑚2 … 𝑎𝑚𝑠 … 𝑎𝑚𝑛 0 0 … 0 … 1 𝑏𝑚


𝑎𝑟𝑠: „Pivotelement“

Operations Research | Vorlesung 3 | Seite 14

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Basistausch
Modifikation der Pivotspalte und -zeile zur Durchführung des Basistausches

NBV NBV BV NBV BV BV NBV BV


𝑥1 𝑥2 … 𝑥𝑠 … 𝑥𝑛 𝑥𝑛+1 𝑥𝑛+2 … 𝑥𝑛+𝑟 … 𝑥𝑛+𝑚 RS
𝑐1´ 𝑐2´ … 0 … 𝑐𝑛´ 0 ´
0 … 𝑐𝑛+𝑟 … 0 −𝑧0
´ ´ ´ ´
𝑎11 𝑎11 … 0 … 𝑎1𝑛 1 0 … 𝑎1,𝑛+𝑟 … 0 𝑏1´

𝑎𝑟1 𝑎𝑟2 … … 𝑎𝑟𝑛 1 𝑏𝑟


1 0 0 … … 0
𝑎𝑟𝑠 𝑎𝑟𝑠 … … 𝑎𝑟𝑠 𝑎𝑟𝑠 𝑎𝑟𝑠

´ ´ ´ ´ ´
𝑎𝑚1 𝑎𝑚2 … 0 … 𝑎𝑚𝑛 0 0 … 𝑎𝑚,𝑛+𝑟 … 1 𝑏𝑚

Operations Research | Vorlesung 3 | Seite 15

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Kreisregel
Transformation der Elemente außerhalb von Pivotspalte und -zeile
´
𝑎𝑖𝑠 𝑎𝑟𝑗
𝑎𝑖𝑗 = 𝑎𝑖𝑗 − 𝑖 ≠ 𝑟, 𝑗 ≠ 𝑠
𝑎𝑟𝑠

𝑎𝑖𝑗 𝑎𝑖𝑠 𝑎𝑖𝑠


𝑏𝑖´ = 𝑏𝑖 − 𝑏𝑟 (𝑖 ≠ 𝑟)
𝑎𝑟𝑠

𝑎𝑟𝑗
𝑐𝑗´ = 𝑐𝑗 − 𝑐𝑠 (𝑗 ≠ 𝑠)
𝑎𝑟𝑗 𝑎𝑟𝑠 𝑎𝑟𝑠

𝑐𝑠
−𝑧𝑖´ = −𝑧0 − 𝑏𝑟
𝑎𝑟𝑠

Allgemein gilt für die


Pivotzeilenelement * Pivotspaltenelement
Elemente außerhalb neues Element = altes Element -
von Pivotspalte/-zeile: Pivotelement

Operations Research | Vorlesung 3 | Seite 16

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Bestimmung des Pivotelements
Regel I (Auswahl der Pivotspalte s):
Ist der größte Zielfunktionskoeffizient positiv, so wähle man die (oder eine) bei diesem Koeffizienten
stehende Variable zur Basisvariable.

Regel II (Auswahl der Pivotzeile r):

𝑏𝑖
Man wähle das Pivotelement 𝑎𝑟𝑠 so, dass 𝑎𝑟𝑠 > 0 und min 𝑎𝑖𝑠 > 0 erfüllt sind.
𝑖=1,…,𝑚 𝑎𝑖𝑠

Abbruch:
• Ist Regel I nicht anwendbar, so ist das Optimum gefunden und das Verfahren terminiert.
• Ist Regel II nicht anwendbar, so existiert keine optimale Lösungen und das Verfahren terminiert.

Operations Research | Vorlesung 3 | Seite 17

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus: Bestimmung des Pivotelements
▪ Regel I garantiert eine Verbesserung des Zielfunktionswertes

𝑐𝑠
𝑧′0 = 𝑧0 + 𝑏𝑟 ≥ 𝑧0 , da 𝑏𝑟 , 𝑐𝑠 , 𝑎𝑟𝑠  0
𝑎𝑟𝑠

▪ Regel II garantiert die Zulässigkeit der neuen Basislösung

𝑏𝑟 𝑏𝑖 𝑏
𝑎𝑖𝑠 > 0: 𝑏′𝑖 = 𝑏𝑖 − 𝑎𝑖𝑠 ≥ 𝑏𝑖 − 𝑎𝑖𝑠 = 0 , da 𝑎𝑏𝑟 = min 𝑎 𝑖
𝑎𝑟𝑠 𝑎𝑖𝑠 𝑟𝑠 𝑖𝑠

𝑏𝑟
𝑎𝑖𝑠 < 0: 𝑏′𝑖 = 𝑏𝑖 − 𝑎𝑖𝑠 ≥ 𝑏𝑖 ≥ 0 , da 𝑎𝑏𝑟 ≥ 0
𝑎𝑟𝑠 𝑟𝑠

Operations Research | Vorlesung 3 | Seite 18

© Prof. Dr. Dirk C. Mattfeld


Simplex-Algorithmus
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS

3 4 0 0 0 0
Steigung in Richtung 𝑥2
3 2 1 0 0 1200

Ressourcenkonsum von 𝑥2 5 10 0 1 0 3000

0 0,5 0 0 1 125

▪ Idee:
▪ Nimm verbessernde NBV in Basis auf.
▪ Entferne erste limitierende BV: neue NBV.
▪ Löse Tableau, erhalte neue Basislösung

Operations Research | Vorlesung 3 | Seite 19

© Prof. Dr. Dirk C. Mattfeld


Beispiel: Identifikation des Pivotelements
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS Größter positiver
Zielfunktionskoeffizient: 3
3 0 0 0 -8 -1000

3 0 1 0 -4 700 700 / 3 ≈ 233,3

5 0 0 1 -20 500 500 / 5 = 100


0 1 0 0 2 250

Pivotspalte
Pivotelement

Basiswechsel: 𝑥1 → BV
𝑥4 → NBV

Operations Research | Vorlesung 3 | Seite 20

© Prof. Dr. Dirk C. Mattfeld


Bsp.: Transformation von Pivotzeile und -spalte
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS
1 𝑖=𝑟
Pivotspalte: 𝑎′𝑖𝑗 = ൝ (𝑖 = 1, . . , 𝑚)
3 0 0 0 -8 -1000 0 𝑠𝑜𝑛𝑠𝑡

𝑎𝑟𝑗 𝑏𝑖
3 0 1 0 -4 700 Pivotzeile: 𝑎′𝑖𝑗 = 𝑗 = 1, . . , 𝑛 ; 𝑏′𝑖 =
𝑎𝑟𝑠 𝑎𝑟𝑠
5 0 0 1 -20 500 𝑎22 0
Beispiel: 𝑎′22 = = =0
𝑎21 5
0 1 0 0 2 250
𝑎23 0
𝑎′23 = = =0
𝑎21 5
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS
𝑎24 1
𝑎′24 = =
0 𝑎21 5

𝑎25 −20
0 𝑎′25 = = = −4
𝑎21 5
1 0 0 0,2 -4 100 𝑏2 500
𝑏′2 = = = 100
𝑎21 5
0

Operations Research | Vorlesung 3 | Seite 21

© Prof. Dr. Dirk C. Mattfeld


Beispiel: Kreisregel – Zielfunktionszeile
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS Regeln: 𝑐′𝑗 = 𝑐𝑗 − 𝑐𝑠
𝑎𝑟𝑗
(𝑗 ≠ 𝑠)
𝑎𝑟𝑠
𝑐𝑠
3 0 0 0 -8 -1000 −𝑧′0 = −𝑧0 − 𝑏𝑟
𝑎𝑟𝑠

3 0 1 0 -4 700
𝑎22 0
5 0 0 1 -20 500 Beispiel: 𝑐′2 = 𝑐2 − 𝑐1 =0−3∗ =0
𝑎21 5
0 1 0 0 2 250
𝑎23 0
𝑐′3 = 𝑐3 − 𝑐1 =0−3∗ =0
𝑎21 5
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS
𝑎24 1 3
𝑐′4 = 𝑐4 − 𝑐1 =0−3∗ =−
0 0 0 -0,6 4 -1300 𝑎21 5 5

0 𝑎25 −20
𝑐′5 = 𝑐5 − 𝑐1 = −8 − 3 ∗ =4
𝑎21 5
1 0 0 0,2 -4 100
𝑐1 3
0 −𝑧′0 = −𝑧0 − 𝑏2 = −1000 − 500 ∗ = −1300
𝑎21 5
Operations Research | Vorlesung 3 | Seite 22

© Prof. Dr. Dirk C. Mattfeld


Beispiel: Kreisregel – Zeile 1
𝑎𝑖𝑠 𝑎𝑟𝑗
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS Regeln: 𝑎′𝑖𝑗 = 𝑎𝑖𝑗 − 𝑖 ≠ 𝑟, 𝑗 ≠ 𝑠
𝑎𝑟𝑠

3 0 0 0 -8 -1000 𝑎𝑖𝑠
𝑏′𝑖 = 𝑏𝑖 − 𝑏𝑟 (𝑖 ≠ 𝑟)
𝑎𝑟𝑠
3 0 1 0 -4 700
𝑎11 𝑎22 3∗0
5 0 0 1 -20 500 Beispiel: 𝑎′12 = 𝑎12 − =0− =0
𝑎21 5

0 1 0 0 2 250 𝑎11 𝑎23 3∗0


𝑎′13 = 𝑎13 − =1− =1
𝑎21 5
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS 𝑎11 𝑎24 3∗1 3
𝑎′14 = 𝑎14 − =0− =−
𝑎21 5 5
0 0 0 -0,6 4 -1300
𝑎11 𝑎25 3∗(−20)
0 0 1 -0,6 8 400 𝑎′15 = 𝑎15 − = −4 − =8
𝑎21 5
1 0 0 0,2 -4 100
𝑎11 3
𝑏′1 = 𝑏1 − 𝑏2 = 700 − 500 = 400
0 𝑎𝑟𝑠 5

Operations Research | Vorlesung 3 | Seite 23

© Prof. Dr. Dirk C. Mattfeld


Überblick

1. Simplex-Algorithmus

2. Anwendungsbeispiel zum Simplex-Algorithmus

3. Sonderfälle der linearen Programmierung

Operations Research | Vorlesung 3 | Seite 24

© Prof. Dr. Dirk C. Mattfeld


Der Simplexalgorithmus (Wiederholung)
1. Starte mit zulässiger Basislösung
2. Wenn kein positiver Zielfunktionskoeffizient existiert, gehe zu 3.
sonst Basistausch:
a) Wähle Pivotspalte s (maximaler Zielfunktionskoeffizient)
b) Wähle Pivotzeile r (limitierende Zeile):

𝑏𝑟 𝑏𝑖
𝑎𝑟𝑠 > 0, = min |𝑎 >0
𝑎𝑟𝑠 𝑖=1,…,𝑚 𝑎𝑖𝑠 𝑖𝑠

a) Aktualisiere Tableau mit Kreisregel


b) Gehe zu 2.
3. Abbruchkriterium.
4. Lösungsdetails:
a) (negativer) Zielfunktionswert oben rechts im Tableau
b) Entscheidung ist Wert b für die zugehörige Basisvariable

Operations Research | Vorlesung 3 | Seite 25

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung

𝑥2 Max 𝑧 = 3 𝑥1 + 4𝑥2
u.d.N. 3 𝑥1 + 2𝑥2 + 𝑥3 = 1200
600 5 𝑥1 + 10𝑥2 + 𝑥4 = 3000
3𝑥1 + 2𝑥2 = 1200
0,5𝑥2 + 𝑥5 = 125
500
𝑥1, 𝑥2, 𝑥3, 𝑥4, 𝑥5  0
400

300
0,5𝑥2 = 125 Basislösung:
200
𝑥1 = 0, 𝑥2 = 0, 𝑧 = 0

100
5𝑥1 + 10𝑥2 = 3000

100 200 300 400 500 600 700 𝑥1

Operations Research | Vorlesung 3 | Seite 26

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS 𝑥1 = 𝑥2 = 0
𝑥3 = 1200
3 4 0 0 0 0 𝑥4 = 3000
𝑥5 = 125
3 2 1 0 0 1200 600 𝑧 = 0

5 10 0 1 0 3000 300
0 0,5 0 0 1 125 250 Pivotzeile

Pivotspalte

Pivotelement

Basiswechsel: 𝑥2 → BV
𝑥5 → NBV

Operations Research | Vorlesung 3 | Seite 27

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung

𝑥2
Neue Basislösung:
𝑥1 = 0, 𝑥2 = 250, 𝑧 = 1000
600
3𝑥1 + 2𝑥2 = 1200
500

400

300
0,5𝑥2 = 125

200

100
5𝑥1 + 10𝑥2 = 3000

100 200 300 400 500 600 700 𝑥1

Operations Research | Vorlesung 3 | Seite 28

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung

𝑥1 𝑥4 𝑥1 = 𝑥5 = 0
𝑥2 𝑥3 𝑥5 RS
𝑥2 = 250
3 0 0 0 -8 -1000 𝑥3 = 700
𝑥4 = 500
3 0 1 0 -4 700 700 / 3 𝑧 = 1000

5 0 0 1 -20 500 500 / 5

0 1 0 0 2 250 Pivotzeile

Pivotspalte
Pivotelement

Basiswechsel: 𝑥1 → BV
𝑥4 → NBV

Operations Research | Vorlesung 3 | Seite 29

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung

𝑥2
Neue Basislösung:
600 𝑥1 = 100, 𝑥2 = 250, 𝑧 = 1300
3𝑥1 + 2𝑥2 = 1200
500

400

300
0,5𝑥2 = 125

200

100
5𝑥1 + 10𝑥2 = 3000

100 200 300 400 500 600 700 𝑥1

Operations Research | Vorlesung 3 | Seite 30

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung

𝑥4 = 𝑥5 = 0
𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS
𝑥1 = 100
0 0 0 -0,6 4 -1300 𝑥2 = 250
𝑥3 = 400
0 0 1 -0,6 8 400 50 𝑧 = 1300

1 0 0 0,2 -4 100 Pivotzeile


0 1 0 0 2 250 125

Pivotspalte Pivotelement

Basiswechsel: 𝑥5 → BV
𝑥3 → NBV

Operations Research | Vorlesung 3 | Seite 31

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung

𝑥2
Neue Basislösung:
600 𝑥1 = 300, 𝑥2 = 150, 𝑧 = 1500
3𝑥1 + 2𝑥2 = 1200
500

400

300
0,5𝑥2 = 125

200

100
5𝑥1 + 10𝑥2 = 3000

100 200 300 400 500 600 700 𝑥1

Operations Research | Vorlesung 3 | Seite 32

© Prof. Dr. Dirk C. Mattfeld


Beispiel Produktionsprogrammplanung

𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 RS 𝑥3 = 𝑥4 = 0
0 0 -1/2 -3/10 0 -1500 𝑥1 = 300
𝑥2 = 150
0 0 1/8 -3/40 1 50 𝑥5 = 50
𝑧 = 1500
1 0 1/2 -1/10 0 300
0 1 -1/4 3/20 0 150

Abbruchkriterium: alle ZF-Koeffizienten  0


(d.h. keine ZF-Wert-Verbesserung mehr möglich)

optimale Lösung: 𝑥1∗ = 300, 𝑥2∗ = 150, 𝑧 ∗ = 1500

Operations Research | Vorlesung 3 | Seite 33

© Prof. Dr. Dirk C. Mattfeld


Verkürztes Simplextableau
▪ lediglich Darstellung der Nichtbasisvariablen im Tableau
▪ Anwendung der Transformationsregeln auf die Koeffizienten der Nichtbasisvariablen

Transformationsregeln:
1. Pivotelement → Kehrwert
2. Pivotzeile → dividieren durch Pivotelement
3. Pivotspalte → mit (-1) multiplizieren und durch Pivotelement dividieren

Pivotzeilenelement * Pivotspaltenelement
4. übrige Elemente → altes Element -
Pivotelement

Operations Research | Vorlesung 3 | Seite 34

© Prof. Dr. Dirk C. Mattfeld


Verkürztes Simplextableau
NBV

−𝑧 𝑥1 𝑥2 RS

1 3 4 0

𝑥3 3 2 1200 600

BV 𝑥4 5 10 3000 300

𝑥5 0 0,5 125 250

Pivotelement

Basistausch: 𝑥2 → BV
𝑥5 → NBV

Operations Research | Vorlesung 3 | Seite 35

© Prof. Dr. Dirk C. Mattfeld


Verkürztes Simplextableau

−𝑧 𝑥1 𝑥2 RS Transformationsregeln:
1 3 4 0 1. Pivotelement → Kehrwert

𝑥3 3 2 1200 2. Pivotzeile → dividieren durch


Pivotelement
𝑥4 5 10 3000
3. Pivotspalte → mit (-1) multiplizieren und
𝑥5 0 0,5 125 durch Pivotelement
dividieren

−𝑧 𝑥1 𝑥5 RS
1 -8
𝑥3 -4
𝑥4 -20
𝑥2 0 2 250
Operations Research | Vorlesung 3 | Seite 36

© Prof. Dr. Dirk C. Mattfeld


Verkürztes Simplextableau

−𝑧 𝑥1 𝑥2 RS Transformationsregeln:
1 3 4 0 4. übrige Elemente →

𝑥3 3 2 1200
Pivotzeilenelement * Pivotspaltenelement
𝑥4 5 10 3000 altes Element -
Pivotelement
𝑥5 0 0,5 125
(Analog zur Kreisregel!)

−𝑧 𝑥1 𝑥5 RS
0∗4
1 3 -8 -1000 Bsp: 𝑐′1 = 3 − =3
0,5
𝑥3 3 -4 700 125∗4
𝑥4 −𝑧′0 = 0 − = −1000
5 -20 500 0,5

𝑥2 0 2 250 𝑏1 = 1200 −
125∗2
= 700
0,5
Operations Research | Vorlesung 3 | Seite 37

© Prof. Dr. Dirk C. Mattfeld


Verkürztes Simplextableau
Endtableau:

−𝑧 𝑥4 𝑥3 RS
1 -3/10 -1/2 -1500

𝑥5 -3/40 1/8 50
𝑥1 -1/10 1/2 300
𝑥2 3/20 -1/4 150

optimale Lösung: 𝑥1∗ = 300, 𝑥2∗ = 150, 𝑧 ∗ = 1500

Operations Research | Vorlesung 3 | Seite 38

© Prof. Dr. Dirk C. Mattfeld


Überblick

1. Simplex-Algorithmus

2. Anwendungsbeispiel zum Simplex-Algorithmus

3. Sonderfälle der linearen Programmierung

Operations Research | Vorlesung 3 | Seite 39

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 1: Unendlich viele optimale Lösungen
𝑥2
4
max 𝑧 = 𝑥1 + 𝑥2
u.d.N. 𝑥 1 + 𝑥2  4
𝑥2  2
3
𝑥1 , 𝑥2  0

2
Optimalwert z = 4
Optimale Lösungen:

1 𝑥1 , 𝑥2 | 𝑥1 + 𝑥2 = 4, 𝑥2 ≤ 2

𝑧 = 4
𝑧 = 1 𝑧 = 2
𝑥1
Operations Research | Vorlesung 3 | Seite 40

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 1: Unendlich viele optimale Lösungen
−𝑧 𝑥1 𝑥2 𝑥3 𝑥4 RS
1 1 0 0 0 max 𝑧 = 𝑥1 + 𝑥2
𝑥3 u.d.N. 𝑥 1 + 𝑥2  4
1 1 1 0 4
𝑥2  2
𝑥4 0 1 0 1 2
𝑥1 , 𝑥2  0
1 0 0 -1 -2
𝑥3 1 0 1 -1 2
𝑥2 0 1 0 1 2
0 0 -1 0 -4 optimale Lösung:
𝑥1 1 0 1 -1 2 𝑥1 = 2, 𝑥2 = 2, 𝑥3 = 𝑥4 = 0
𝑥2 0 1 0 1 2 𝑧 = 4
0 0 -1 0 -4 optimale Lösung:
𝑥1 1 1 1 0 4 𝑥1 = 4, 𝑥2 = 𝑥3 = 0, 𝑥4 = 2
𝑥4 0 1 0 1 2 𝑧 = 4
Operations Research | Vorlesung 3 | Seite 41

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 2: Zulässiger Bereich unbeschränkt

𝑥2
max 𝑧 = 𝑥1 − 2𝑥2
u.d.N. 𝑥1 − 𝑥2 ≤ 1
−2𝑥1 + 𝑥2 ≤ 2
𝑧 = −6 𝑥1 , 𝑥2 ≥ 0

Die Menge der zulässigen Lösungen


ist unbeschränkt. Die Zielfunktion ist
allerdings auf dieser Menge nach oben
beschränkt.

𝑧 = −2
𝑧 = 1, 𝑥1 = 1, 𝑥2 = 0

𝑧 = 1 𝑥1

Operations Research | Vorlesung 3 | Seite 42

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 2: Zulässiger Bereich unbeschränkt

-𝑧 𝑥1 𝑥2 𝑥3 𝑥4 RS (Primaler)
Simplex-Algorithmus
1 -2 0 0 0
𝑥3 1 -1 1 0 1
𝑥4 -2 1 0 1 2
0 -1 -1 0 -1
𝑥1 1 -1 1 0 1 Keine Auffälligkeiten im Tableau!
𝑥4 0 -1 2 1 4

Operations Research | Vorlesung 3 | Seite 43

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 3: Keine optimale Lösung

Der zulässige Bereich ist (nach oben)


unbeschränkt.
𝑥2
Es existiert keine (optimale) Lösung.

max 𝑧 = 2𝑥1 + 3𝑥2


𝑥2  3
−𝑥1 + 2𝑥2  2
𝑧 = 24 𝑥1, 𝑥2  0
𝑥1
𝑧 = 6 𝑧 = 12

Operations Research | Vorlesung 3 | Seite 44

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 3: Keine optimale Lösung
-𝑧 𝑥1 𝑥2 𝑥3 𝑥4 RS (Primaler)
2 3 0 0 0 Simplex-Algorithmus

𝑥3 0 1 1 0 3
𝑥4 -1 2 0 1 2
3,5 0 0 -1,5 -3
𝑥3 0,5 0 1 -0,5 2
𝑥2 -0,5 1 0 0,5 1
0 0 -7 2 -17
𝑥1 1 0 2 -1 4 keine Pivotzeile bestimmbar!
𝑥2 0 1 1 0 3

Steht unter einem positiven Zielfunktionskoeffizienten eine „ ≤ 0 - Spalte“, so ist der zulässige Bereich
unbeschränkt und das Optimierungsproblem nicht lösbar!
Operations Research | Vorlesung 3 | Seite 45

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 4: Keine Startlösung bestimmbar
Der zulässige Bereich ist beschränkt und es
existiert eine optimale Lösung.
Startecke 𝑥1 , 𝑥2 = 0,0 ist nicht im zulässigen
𝑥2 Bereich.

max 𝑧 = −2𝑥1 − 2𝑥2


u.d.N. 𝑥1 + 𝑥2 ≤ 4
2
−2𝑥1 − 2𝑥2 ≤ −2

1
𝑥1 , 𝑥2 ≥ 0

𝑧 = 2, 𝑥1 = 1, 𝑥2 = 0
1 4 𝑥1

Operations Research | Vorlesung 3 | Seite 46

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 4: Keine Startlösung bestimmbar

-𝑧 𝑥1 𝑥2 𝑥3 𝑥4 RS
-2 -2 0 0 0
𝑥3 1 1 1 0 4 Ein 𝑏𝑖 < 0, somit kein
𝑥4 -2 -1 0 1 -2 gültiges Simplex-Tableau.

Das Herstellen einer zulässigen Startlösung mithilfe des


Dualen Simplex-Verfahren wird in Vorlesung 5 behandelt.

Operations Research | Vorlesung 3 | Seite 47

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 5: Keine Lösung

𝑥2
Die Menge der zulässigen
Lösungen ist leer.
Es existiert keine Lösung.

max 𝑧 = 𝑥1
u.d.N. −𝑥1 − 𝑥2 ≤ −2
𝑥1 − 𝑥2 ≤ 3
𝑥1
𝑥1 , 𝑥2 ≥ 0

Operations Research | Vorlesung 3 | Seite 48

© Prof. Dr. Dirk C. Mattfeld


Sonderfall 5: Keine Lösung

-𝑧 𝑥1 𝑥2 𝑥3 𝑥4 RS
1 1 1 0 0 0
0 -1 -1 1 0 -2 Ein 𝑏𝑖 < 0, somit kein
0 1 -1 0 1 3 gültiges Simplex-Tableau.

Anwendung von Dualem Simplex-Verfahren führt auch zu


unzulässigem Simplex-Tableau.

Operations Research | Vorlesung 3 | Seite 49

© Prof. Dr. Dirk C. Mattfeld


Zusammenfassung
▪ Umwandlung von Standardproblem in ein Gleichungssystem durch Einführung von Schlupfvariablen

▪ Basislösung und Basisvariablen

▪ Simplex-Algorithmus
▪ Simplex-Tableau
▪ Bestimmung von Pivotelement
▪ Basistausch

▪ Sonderfälle

Operations Research | Vorlesung 3 | Seite 50

© Prof. Dr. Dirk C. Mattfeld

Das könnte Ihnen auch gefallen