Mitschrift der Vorlesung: Kombinatorische Optimierung

Ähnliche Dokumente
Eigenschaften von LPs

Optimierung. Vorlesung 02

Kapitel 7 : Lineare Programmierung Die Simplexmethode (G.B.Dantzig, 1947) Beispiel:

Simplex-Verfahren. Kapitel 4. Simplex-Verfahren. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Computer Science Department - High Performance and Web Computing Group. Optimierungsprobleme

1 Lineare Optimierung, Simplex-Verfahren

Minimumproblem. Definition 4.7. Ein LP der Form. unter den Nebenbedingungen. d ij x j b i (i =1,...,m)

Übung 3, Simplex-Algorithmus

Lineare Optimierung Teil 2

Vorlesung Wirtschaftsmathematik I WS 2007/2008, Wirtschaftingenieurwesen. Kapitel IV: Grundlagen der Linearen Optimierung

Schnittebenenverfahren von Gomory. Stefan Allescher 30. Juni 2005

10. Die Berücksichtigung nicht vorzeichenbeschränkter Variablen

Teil I. Lineare Optimierung

4.3.3 Simplexiteration

8. Lineare Optimierung

Optimale Steuerung 1 Prozessoptimierung 1

Die duale Simplexmethode

Optimierung. Optimierung. Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus Fabian Kuhn

Lösung allgemeiner linearer Programme

Kombinatorische Optimierung

VORLESUNG 11 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

Lineare Optimierung: Simplexverfahren Phase Ⅰ

CARL HANSER VERLAG. Peter Stingl. Operations Research Linearoptimierung

Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht

mit. Wir definieren (Skalarprodukt = Winkel).

Optimierung. Vorlesung 04

Inhaltsverzeichnis Grundlagen der Linearen Optimierung

Der Simplex-Algorithmus

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Kap. 4.2: Simplex- Algorithmus

z = c T x : Ax = b, x 0 }, - die Darstellung der Nichtbasisvektoren durch die Basis ist

Optimierung für Wirtschaftsinformatiker: Lineare Programme

Operations Research. Linearoptimierung. Bearbeitet von Peter Stingl

Operations Research. Die Simplexmethode. LP-Dualität. Die Simplexmethode. Rainer Schrader. 18. Juni Zur Erinnerung: Gliederung

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

Abbildung 1: Graphische Lösung der ersten Übungsaufgabe

Probeklausur Optimierung

Lineare Optimierungsmodelle

Aufgabe 5.3 Duale Simplexverfahren

Optimierung. Vorlesung 08

Mathematische Grundlagen für Wirtschaftswissenschaftler Lösungshinweise zu den Übungsaufgaben aus Kapitel 3 - Lineare Optimierung

10.2 Dualitätstheorie Operations Research. In der Standardform eines Maximierungsproblem: b e ) mit ( w) + a ej ) x j + x g = ( b g + g G

Lineare Programmierung Teil I

Lineares Optimieren. W. Kippels 12. April Inhaltsverzeichnis. 1 Einleitung 2. 2 Die Beispielaufgabe 2. 3 Einführung von Schlupfvariablen 2

Hauptsatz und Optimalitätskriterium der Simplexmethode

Aufgaben zu Kapitel 23

1. Lineare Optimierungsaufgaben (LOA) als Teilklasse konvexer Optimierungsprobleme. f(x) min, x G (1.1) (Legende)

1. Transport- und Zuordnungsprobleme

VORLESUNG 14 Lineare Optimierung, Dualität (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)

Simplex-Verfahren. Kapitel 3. Simplex-Verfahren. Peter Becker (H-BRS) Lineare und kombinatorische Optimierung Wintersemester 2017/ / 372

Optimierung für Nichtmathematiker

Numerische Lineare Algebra

Studientag zur Algorithmischen Mathematik

Kap. 4: Lineare Programmierung

Kap. 4.2: Simplex- Algorithmus

6 Korrektheit des Simplexalgorithmus

Lineare Gleichungssysteme

Wie schreibe ich einen Kürzester Kruzester

3. Der Simplexalgorithmus Der Simplexalgorithmus 3.1 Formen des Linearen Optimierungsproblem. (3.1) Allgemeine Form !"#! " # # R $ %!

7.1 Matrizen und Vektore

Wie man die Matrix der Zeit versteht (Matrix)

Mathematische Grundlagen für Wirtschaftswissenschaftler Übungsaufgaben aus Kapitel 3 - Lineare Optimierung

Zugeordneter bipartiter Graph

Dualitätssätze der linearen Optimierung

Lineare Optimierung und Simplex-Algorithmus

5. Das klassische Transportproblem

3. Grundlagen der Linearen Programmierung

3. Schnittebenenverfahren

(Technisch: Setze alle Skalarprodukte der allgemeinen Lösung mit den Basisvektoren des Kerns gleich Null eindeutige leastsqares Lösung)

Über- und unterbestimmte

Produktionsplanung und Lineare Optimierung im Rahmen des Projekts Mathematik und Ökonomie 12./13. November 2003 in Düsseldorf.

Aufgabenkomplex 5: Hauptachsentransformation, Lineare Optimierung, Differentialrechnung in mehreren Veränderlichen

Lineare Optimierungsaufgaben - eine Einführung

OPERATIONS-RESEARCH (OR)

Lineare Programmierung (2)

Fachakademie für Wirtschaft der FHM A2: Lineare Optimierung und das Simplexverfahren

Klausur zur Vorlesung Einführung in das Operations Research im Wintersemester 2007/2008

1 Der Simplex Algorithmus I

05. Lineare Gleichungssysteme

4. Dualität Dualität 4.1 Dualität von LPs und der Dualitätssatz. Die duale Form eines LP in allgemeiner Form. Herleitung der dualen Form

Proseminar Lineare Algebra WS 08/09 Prof. Dr. O. Bogopolski 1. Vortrag: Lineare Gleichungen. am 11. März von Maximilian Wahner

6. Einführung 43. gilt. Dann soll also A B x B = b eindeutig lösbar sein, also A B vollen Rang haben, d. h. invertierbar (regulär) sein.

Verfahren des Operations Research

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25.

1. Hausaufgabenblatt (16.04./ )

Bestimmung einer ersten

Übung: Algorithmen und Datenstrukturen Einführung: Aufgabe 1. Malte Heins Helga Karafiat

Übungsblatt 6 Lösungsvorschläge

Lineare und kombinatorische Optimierung

Klausur zur Vorlesung Einführung in das Operations Research im Wintersemester 2005/2006

III. Transportaufgaben 1. Problemstellung 2. Analyse 3. Bestimmung der Startecke 4. Eckenaustausch 5. Umladeprobleme 6. Zuordnungsprobleme

Lineare Optimierung Dantzig 1947

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

Klausurkolloquium. Musterlösung Produktionscontrolling: Lineare Programmierung

Lineare Gleichungssystem

4 Lineare Optimierung

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung

Verfahren des Operations Research

Transkript:

Mitschrift der Vorlesung: Kombinatorische Optimierung bei Prof. Socher-Ambrosius Niels-Peter de Witt 26. April 2002 Inhaltsverzeichnis 1 Einführung 2 1.1 Beispiel: Profil zersägen....................... 2 1.2 Beispiel: Glasplatten schneiden................... 2 1.3 Beispiel: Bootsverleih......................... 2 1.4 Beispiel: Flugplatzproblem...................... 3 1.5 Beispiel: Transportproblem..................... 3 1.6 Beispiel: Handlungsreisender.................... 4 1.7 Beispiel: Das Stundenplanproblem................. 4 2 Lineare Optimierung 6 2.1 Einführung.............................. 6 2.2 Simplexmethode........................... 11 2.2.1 Die Standardform...................... 11 2.2.2 Das Simplexverfahren.................... 18 2.3 Multiphasenmethode: Bestimmen einer Ausgangslösung..... 26 2.4 Beschränkungen des Simplexverfahrens............... 29 1

1 Einführung 1.1 Beispiel: Profil zersägen Gegeben: n Alustäbe der Länge 200cm spezielle Kundenwünsche Name Anzahl Länge Brands 2 90 Klawonn 2 110 West 10 65 Aufgabe: Die Stäbe sollen so zersägt werden, daß der Verschnitt minimiert wird. 1.2 Beispiel: Glasplatten schneiden Gegeben: n Glasplatten der Größe 200x200cm spezielle Kundenwünsche Name Anzahl Größe Brands 2 120x180 Klawonn 2 110x90 West 10 65x100 Aufgabe: Die Glasplatten sollen so geschnitten werden, daß der Verschnitt minimiert wird. 1.3 Beispiel: Bootsverleih Gegeben: Frau Janssen hat einen Bootsverleih mit n gleicharten Booten, die sie von 8:00 bis 17:00 verleiht: Name Anzahl Ausleihdauer Bühler 3 3 Matull 4 1 Kreutz 1 8 Aufgabe: Der Gewinn soll maximiert werden. 2

1.4 Beispiel: Flugplatzproblem Gegeben: n Flugbewegungen (Rotationen) R t Stellplätze S R Ankunft Abfahrt S1 S2 S3 S4... 1 08:20 09:30-20 80-10...... 2 08:40 11:10 30-40 90...................................................... Aufgabe: Zuordnung von Standplätzen zu Rotatione, so daß die Gesamtbewertung maximal ist. 1.5 Beispiel: Transportproblem Gegeben: a i : Anzahl der Waren die versandt werden b j : Anzahl der Waren die empfangen werden c ij : Transportkosten von Lager i nach Stadt j Das Transportpoblem Ziel: Wieviele Einheiten X i j sollen ovn i nach j geschickt werden, so daß die gesamten Transportkosten minimal sind? 3

1.6 Beispiel: Handlungsreisender Gegeben: n Städte Entfernungstabelle EMD AUR LER... EMD 0 40 35... AUR 40 0 55... LER 35 55 0.................. Das Handlungsreisenden-Problem Ziel: Eine Rundreise durch alle Städte mit minimaler Gesamtlänge. Anzahl der Möglichkeiten: (n-1)! 1.7 Beispiel: Das Stundenplanproblem Gegeben: Lehrveranstaltungen Semestergruppen Profs Räume zulässige Stundenblöcke 4

Wünsche der Profs und Studierenden... 5

2 Lineare Optimierung 2.1 Einführung Beispiel aus der Produktionsplanung: Zwei Produkte: P 1 P 2 Kakaopulver Bitterschokolade Drei Produktionsanlagen: F 1 F 2 F 3 Kakaobohnen reinigen, rösten und brechen Kakaopulver herstellen Schokolade herstellen Profit pro Produktionseinheit: P 1 : 3 P 2 : 5 Kapazitätsgrenzen der Produktionsanlagen: P 1 P 2 Gesamtkapazität F 1 3 2 18 F 2 1 0 4 F 3 0 2 12 Erläuterung: Pro Einheit P 1 werden 3% der Kapazität von F 1 benötigt. 18% der Gesamkapazität von F 1 stehen für die Produktion von P 1 und P 2 zur Verfügung. Frage: Wieviele Einheiten x 1 von P 1 und x 2 von P 2 sollen produziert werden, um den Profit zu maximieren? Aufgabe: Maximiere 3x 1 + 5x 2 (Zielfunktion) unter den Nebenbedingungen: 3x 1 + 2x 2 18 x 1 4 2x 2 12 x 1 0(Standard) x 2 0(Standard) 6

Notation: x = c = A = b = ( ) x1 x 2 ( ) c1 = c 2 3 2 1 0 0 2 18 4 12 ( ) 3 5 (Koef f izienten der Zielf unktion) (Koef f izienten der N ebenbedingungen) Lineares Programm Maximiere: c x unter den Nebenbedingungen: A x b x 0 Vereinbarung: A i A j = i-te Zeile von A = j-te Spalte von A Geometrische Interpretation 7

Bild zur geometrischen Interpretation Jedes x, das alle Nebenbedingungen erfüllt, heißt zulässige Lösung des LP ( Lineraren Programms ). Die Menge der zulässigen Lösungen bildet ein konvexes Polyeder P. konvexer Polyeder konkaver Polyeder Jede Ungleichung A i x b i bzw. x j 0 definiert einen Halbraum in R 2. Wir erhalten ein P, indem wir den Durchschnitt aller dieser Halbräume bilden. Finden der optimalen Lösung: Zielfunktion: 3x 1 + 5x 2 = k 8

Geometrische Deutung der optimalen Lösung Ein x P, für das c x maximal ist, heißt optimale Lösung des linearen Programms. Hat ein LP immer eine optimale Lösung? es kann mehrere optimale Lösungen geben. das Gebiet der zulässigen Lösungen kann leer sein (Restriktionen wiedersprechen sich). P ist unbeschränkt (keine optimale Lösung, da die Zielfunktion beliebig groß werden kann). P ist beschränkt und nicht leer In diesem Fall hat das LP immer (mindestens) eine optimale Lösung. Hauptsatz der linearen Optimierung: Gegeben ein LP mit zulässigem Bereich P. Ist P beschränkt und nicht leer, so hat das LP eine Lösung x, die eine Ecke von P darstellt. Idee der Simplexmethode: Finde eine Ausgangslösung x 0 in Gestalt einer beliebigen Ecke von P. durchlaufe von x 0 aus die Ecken von P, bis eine optimale Ecke gefunden. 9

Ecken 2x 1 + 5x 2 (Zielfunktion) (0,0) = 0 (4,0) = 12 (4,3) = 27 (2,6) = 36 (0,6) = 30 Aufgabe: (Verschnittproblem) Formulieren Sie das folgende Problem als LP Gegeben: Drei Alustäbe der Länge s 1 s 2 s 3 = 200cm = 250cm = 320cm und die Kundenwünsche a 1 a 2 a 3 a 4 a 5 = 120cm = 180cm = 70cm = 90cm = 160cm Der Verschnitt soll minimiert werden. Nicht alle Kundenwünsche müssen berücksichtigt werden. Ein Verschnitt liegt bei Reststücken von 10cm oder weniger vor. 3 5 (s i (x ij a j )) = k i=1 j=1 3 x ij 1 j = 1..5 i=1 5 (x ij a j )) s i i = 1..3 j=1 Wenn alle Kundenwünsche erfüllt werden sollen: 10

f(i) = s i k = 1 = 5 0 Wenn = 0 (x ij a j )) 0 Wenn > 10 1 sonst j=1 3 f(i) i=1 3 i=1 x ij 2.2 Simplexmethode 2.2.1 Die Standardform Viele Optimierungsaufgaben können auf den folgenden Grundtyp zurückgeführt werden: Maximiere: c x so daß: A x b und x 0 Dabei ist A eine m n Matrix (m Zeilen; n Spalten). c und x sind n-zeilige Vektoren und b ein m-zeiliger Vektor. Umwandlungen auf Standardform: Ungleichungen der Form: a i1 x 1 + a i2 x 2 + + a in x n b i ( 1) werden zu a i1 x 1 a i2 x 2 a in x n b i Gleichungen der Form: a i1 x 1 + a i2 x 2 + + a in x n = b i werden zu a i1 x 1 + a i2 x 2 + + a in x n b i und a i1 x 1 + a i2 x 2 + + a in x n b i Gilt für ein x i 0: Neue Variable: y i = x i y i 0 Ersetze x i in der Zielfunktion und in A x durch y i Bsp: 11

3x 1 + x 2 5 x 1 0 x 2 0 y 2 = x 2 3x 1 y 2 5 x 1 0 y 2 0 Ist x i nicht beschränkt, so transformiere x i x i x i und addiere x i 0 und x i 0 Soll die Zielfunktion minimiert (statt maximiert) werden: min {c x x P} = max {-c x x P} Im nächsten Schritt werden Schlupfvariablen eingeführt und die Ungleichung in Gleichungen transformiert: a i1 x 1 + a i2 x 2 + + a in x n b i werden zu a i1 x 1 + a i2 x 2 + + a in x n + x n+i = b i x n+i 0 Maximiere: c x unter: A x = b und x 0 Beispiel (Kakao): 3x 1 + 2x 2 18 x 1 4 x 2 12 x 1 0 x 2 0 Wird zu: 3x 1 + 2x 2 + x 3 = 18 x 1 + x 4 = 4 x 2 + x 5 = 12 x 1, x 2, x 3, x 4, x 5 0 Allgemein aufgeschrieben erhält man folgendes Tableau: 12

A b a 11... a 1n 1 0... 0 0 b 1 0 1 0. 0 b 2...... 0... 0.. 0. 0 1 0 b m 1 a m1... a mn 0 0... 0 1 b m Aufgabe: Transformieren Sie in die Standardform Minimiere: 3x 1 2x 2 + x 3 unter den Nebenbedingungen: x 1 + x 2 5 x 2 x 3 12 2x 1 + 3x 2 + x 3 10 x 1, x 2 0 x 3 0 Transformation: x 3 0 x 3 = y 3 im weitern wird x 3 zu y 3 min max 3x 1 2x 2 y 3 3x 1 + 2x 2 + y 3 x 1 + x 2 5 x 1 x 2 5 x 1 x 2 + x 4 = 5 x 2 x 3 12 x 2 + y 3 + x 5 = 12 2x 1 + 3x 2 + x 3 10 2x 1 + 3x 2 y 3 + x 6 = 10 x 1... x 6 0 A = c = 1 1 0 1 0 0 0 1 1 0 1 0 2 3 1 0 0 1 3 2 2 Aufgabe: Gegeben folgendes LP 13

x 1 + x 2 4 x 1 + x 2 8 x 1 + 3x 2 0 x 1, x 2 0 a) Bestimmen Sie das zulässige Gebiet durch eine Zeichnung. b) Transformieren Sie das LP in die Standardform (Matrixdarstellung inkl. Schlupfvariablen). c) Wählen Sie Basen aus und bestimmen Sie die Eckpunkte des zulässigen Gebiets. d) Gegeben die beiden Zielfunktionen: 2x 1 + 3x 2 und 3x 1 + 2x 2 Bestimmen Sie jeweils die Maximalwerte der Zielfunktion grafisch. e) Drücken Sie die Zielfunktion jeweils in den Variablen x 3, x 4 sowie in x 4, x 5 aus. zu a) Zeichnung: zu b) Transfomration des LP: Darstellung des zulässigen Gebiets 14

x 1 + x 2 + x 3 = 4 x 1 + x 2 + x 4 = 8 x 1-3x 2 + x 5 = 0 x 1... x 5 0 A = 1 1 1 0 0 1 1 0 1 0 1 3 0 0 1 b = 4 8 0 zu c) Bestimmung der Eckpunkte: B = { x 1, x 2, x 4 } x 3 = x 5 = 0 x 1 + x 2 = 4 x 1 + x 2 + x 4 = 8 x 1 3x 2 = 0 x 1 = 6 x 2 = 2 x 4 = 0 ungültig, da x 1 und x 2 0 B = { x 1, x 2, x 3 } x 4 = x 5 = 0 x 1 + x 2 + x 3 = 4 x 1 + x 2 = 8 x 1 3x 2 = 0 x 1 = 6 x 2 = 2 x 3 = 8 Ecke E 1 (6 / 2) B = { x 1, x 2, x 5 } x 3 = x 4 = 0 x 1 + x 2 = 4 x 1 + x 2 = 8 x 1 3x 2 + x 5 = 0 x 1 = 2 x 2 = 6 x 5 = 16 Ecke E 2 (2 / 6) 15

B = { x 2, x 3, x 4 } x 1 = x 5 = 0 x 2 + x 3 = 4 x 2 + x 4 = 8 3x 2 = 0 x 2 = 0 x 3 = 4 x 4 = 8 Ecke E 3 (0 / 0) B = { x 2, x 4, x 5 } x 1 = x 3 = 0 x 2 = 4 x 2 + x 4 = 8 3x 2 + x 5 = 0 x 2 = 4 x 4 = 4 x 5 = 12 Ecke E 4 (0 / 4) zu d) Einsetzen der Ecken in die Zielfunktion: 2x 1 + 3x 2 3x 1 + 2x 2 E 1 (6 / 2) 18 22 E 2 (2 / 6) 22 18 E 3 (0 / 0) 0 0 E 4 (4 / 0) 8 12 Grafische Darstellung der Maximalwerte 16

zu e) Ausdrücken der Zielfunktion durch x 3, x 4 und x 4, x 5 : B = { x 1, x 2, x 5 } x 1 + x 2 + x 3 = 4 x 1 + x 2 + x 4 = 8 x 1 3x 2 + x 5 = 0 x 1 = x 2 + x 3 4 2x 2 = 12 x 3 x 4 x 2 = 6 x 3 2 x 4 2 x 1 = 6 x 3 2 x 4 2 + x 3 4 x 1 = 2 + x 3 2 x 4 2 Einsetzen von x 1 und x 2 in Zielfunktion 2x 1 + 3x 2 k = 2x 1 + 3x 2 k = 4 + x 3 x 4 + 18 3 2 x 3 3 2 x 4 k = 22 1 3 x 3 5 2 x 4 Einsetzen von x 1 und x 2 in Zielfunktion 3x 1 + 2x 2 k = 3x 1 + 2x 2 k = 6 + 3 2 x 3 3 2 x 4 + 12 x 3 x 4 k = 18 + 1 2 x 3 5 2 x 4 B = { x 1, x 2, x 3 } x 1 + x 2 + x 3 = 4 x 1 + x 2 + x 4 = 8 x 1 3x 2 + x 5 = 0 17

x 2 = 8 x 1 x 4 x 1 = 3x 2 x 5 x 1 = 24 3x 1 3x 4 x 5 x 1 = 6 3 4 x 4 1 4 x 5 x 2 = 8 6 + 3 4 x 4 + 1 4 x 5 x 4 x 2 = 2 1 4 x 4 + 1 4 x 5 Einsetzen von x 1 und x 2 in Zielfunktion 2x 1 + 3x 2 k = 2x 1 + 3x 2 k = 12 3 2 x 4 1 2 x 5 + 6 3 4 x 4 + 3 4 x 5 k = 18 9 4 x 4 + 5 4 x 5 Einsetzen von x 1 und x 2 in Zielfunktion 3x 1 + 2x 2 k = 3x 1 + 2x 2 k = 18 9 4 x 4 3 4 x 5 + 4 2 4 x 4 2 4 x 5 k = 22 11 4 x 3 1 4 x 4 2.2.2 Das Simplexverfahren Beispiel: Schokolade c 3 5 0 0 0 k = 0 3 2 1 0 0 18 1 0 0 1 0 4 0 2 0 0 1 12 A b B = {x 3, x 4, x 5 } (Standardbasis aus Schlupfvariablen) x B = x N = x 3 x 4 x 5 ( x1 x 2 ) 18

Startbasis ist B 1 = { x 1, x 2, x 3 } (Schlupfvariablen) Transformation auf Basis B 2 = { x 1, x 2, x 4 } Vertausche Zeilen/Spalten ( Optik ) Hier: 3. und 4. Spalte, sowie 2. und 3. Zeile miteinander getauscht. x 1 x 2 x 4 x 3 x 5 3 5 0 0 0 k=0 (3) 2 0 1 0 18 :3 0 2 0 0 1 12 1 0 1 0 0 4 Ausgewähltes Pivotelement ist die geklammerte (3). Pivotoperationen: x 1 x 2 x 4 x 3 x 5 0 3 0-1 0 k=-18 2 1 1 3 0 3 0 6 0 (2) 0 0 1 12 :2 0 2 3 1 1 3 0-2 Ausgewähltes Pivotelement ist die geklammerte (2). Pivotoperationen: x 1 x 2 x 4 x 3 x 5 0 0 0-1 3 2 k=-36 1 1 1 0 0 3 3 2 1 0 1 0 0 2 6 0 0 1 1 1 3 3 2 k=-36 - Dies ist der negative Zielfunktionswert. Endbetrachtung: es gilt: k = c x = x 3 3 2 x 5 + 36 da die Koeffizienten der Zielfunktion alle negativ sind, ist der Wert optimal. Lösung: 2 6 x = 0 Optimaler Zielfunktionswert: k = 36 2 0 Idee des Simplexverfahrens: Starte mit einer Anfangsbasislösung (z.b. Schlupfvariablen - geht nicht immer!!) Führe so lange Basistransformationen durch (von einer Ecke zu einer benachbarten Ecke), bis die c-koeffizienten alle nicht positiv sind. Maximalwert erreicht. 19

Frage: In welcher Reihenfolge werden die Ecken durchlaufen? Hängt von der Auswahl des Pivotelementes ab. Wir starten mit der Standardform: A 0 c 1... c n 0 0... 0 0 c 0 = 0 a 11... a 1n 1 0... 0 0 b 1 A i..... 0 1 0. 0 b 2. 0... 0.. 0. 0 1 0 b m 1 a m1... a mn 0 0... 0 1 b m Start: Wähle Basis B = { x n+1, x n+2,..., x n+m } und N = { x 1,..., x n } Setzen wir x N = 0 x B = b Diese Basislösung ist genau dann zulässig, wenn b 0 ist. Was tun, wenn ein b j < 0? kommt später (Mehrphasenmethode) 20

Simplexalgorithmus: Annahme:b 0 Gegeben ein Starttableau mit b 0 (1) Sind alle c j 0, für j = 1,..., m + n maximum erreicht. Setze x N = 0 und lies aus A B x B = b den Lösungsvektor ab (x B ). In c 0 steht der negative optimale Zielfunktionswert. Ansonten weiter bei (2). (2) Bestimmen der Austauschspalte: Wähle s (Spaltenindex) so, daß gilt: s = min{j c j > 0 } (3) Bestimmen der Austauschzeile: Wähle r (Zeilenindex) so, daß gilt: b r a rs = min{ bi a is a is > 0; i = 1... m} Gibt es mehrere solcher Zeilen kommt nach dem Beispiel Pivotelement gefunden a is. (4) Pivot-Operation: a) Setze A r = A r a is ; b r = br a is b) A i = A i a is A r ; b i = b i a is b r für i = 0... m und i r Gehe zu (1). Beispiel: Maximiere 2x 1 + x 2 unter x 2 4 x 1 + 2x 2 10 x 1 x 2 5 x 1, x 2 0 Ausgangstableau: 21

2 1 0 0 0 0 A 1 0 1 1 0 0 4 A 2 1 2 0 1 0 10 A 3 1-1 0 0 1 5 Startbasis B = { x 3, x 4, x 5 } b 0 (1) Prüfe ob c 0 Nein. (2) Austauschspalte: s = 1 (3) Austauschzeile: In Frage kommen: r = 2 mit b2 a 21 = 10 und r = 3 mit b3 a 31 = 5 r = 3 (4) Pivotelement a rs = a 32 A r = A r 1 2 1 0 0 0 0 0 1 1 0 0 4 1 2 0 1 0 10 (1) -1 0 0 1 5 Pivotoperationen: 0 3 0 0-2 -10 0 1 1 0 0 4 0 3 0 1-1 5 1-1 0 0 1 5 (1) Prüfe ob c 0 Nein. (2) Austauschspalte: s = 2 (3) Austauschzeile: In Frage kommen: r = 1 mit b1 a 12 = 4 und r = 2 mit b2 a 22 = 5 3 r = 2 (4) Pivotelement a rs = a 22 A r = A r 3 0 3 0 0-2 -10 0 1 1 0 0 4 1 0 (1) 0 3-1 5 3 3 1-1 0 0 1 5 22

0 0 0-1 -1-15 0 0 1 1 1 7 3 3 3 1 0 1 0 3 1 5 3 3 1 2 20 1 0 0 3 3 3 (1) Prüfe ob c 0 Ist erfüllt. Lösung: 20 3 5 3 7 x = 3 0 0 Optimaler Wert: k = 15 Was tun, wenn beim bestimmen der Austauschzeile das Minimum nicht eindeutig bestimmt ist? Beispiel: Austauschspalte = 1 * * * * * * 2 1 0 1 0 4 3 4 1 0 0 6-2 -3 0 0 1 4 Basis B = { x 3, x 4, x 5 } Mögliche Austauschzeilen sind: r = 1 mit b1 a 11 = 4 2 = 2 und r = 2 mit b2 a 21 = 6 3 = 2 Wähle die erste Zeile, bei der in der Basis B die erste 1 auftaucht. Hier wäre das r = 2. Für r 1... m(irgendeine Zeile) sei j(r) dasjenige j B, so daß a rj(r) = 1. Wähle r so, daß j(r) minimal ist. Aufgaben: Konstruieren Sie ein Beispiel, bei dem der zulässige Bereich a) leer ist. b) unbeschränkt ist. 23

Führen Sie anschließend das Simplexverfahren durch. zu a) Beispiel: Zielfunktion: Maximiere x 2 Nebenbedingungen: x 1 4 x 1 + x 2 4 1 2 x 1 x 2 5 x 1, x 2 0 Zeichnung: Als Tableau dargestellt: 0 1 0 0 0 0 1 0 1 0 0 4 1 1 0 1 0 4 1 2-1 0 0 1-5 Darstellung des LP mit leerem Bereich Hier ist die Bedingung b 0 nicht erfüllt und der Simplexalgorithmus kann gar nicht erst starten. Würde an b 2 eine 6 statt der 4 stehen, dann wäre der Bereich nicht leer, aber in diesem wäre nicht der Nullpunkt enthalten, von dem wir bisher 24

immer ausgegangen sind (mehr dazu in dem Kapitel über die Mehrphasenmethode). zu b) Beispiel: Zielfunktion: Maximiere x 1 + x 2 Nebenbedingungen: x 1 + x 2 4 3 2 x 1 + x 2 4 x 1, x 2 0 Zeichnung: Als Tableau dargestellt: 1 1 0 0 0 1-1 1 0 4 3 2 1 0 1 4 Darstellung des LP mit unbeschränktem Bereich Anwendung des Simplexverfahrens: 0 2-1 0-4 1-1 1 0 4 0 1 2 1 2 1 10 Bei der Suche nach einer neuen Austauschzeile stoßen wir auf das Problem, daß wir kein Minimum bestimmen können, da jeder Zeileneintrag 25

der 2. Spalte negativ ist und somit die Bedingung a is > 0 nicht erfüllt wird. Eine solche Situation kennzeichnet einen unbeschränkten Bereich. Wäre die Aufgabe eine Minimierungsaufgabe gewesen wäre man ohne Probleme beim Nullpunkt gelandet. Eigenschaften des Simplexverfahrens: Das Simplexverfahren terminiert bei beliebiger Eingabe ( b 0 ) nach endlich vielen Schritten und liefert eine korrekte Lösung oder bricht ab wegen Unbeschränktheit. 2.3 Multiphasenmethode: Bestimmen einer Ausgangslösung Was tun, wenn im Ausgangstableau: A x b x 0 die Bedingung b 0 nicht erfüllt ist (Der Nullpunkt ist keine zulässige Lösung, oder aber der Bereich ist leer)? Beispiel: Maximiere: x 1 2x 2 Nebenbedingungen: x 1 + x 2 3 x 2 2 x 1 x 2 3 x 1, x 2 0 Standardform: x 1 x 2 3 x 2 2 x 1 x 2 3 x 1, x 2 0 Punkt (0 / 0) ist nicht zulässig. 26

Die Mehrphasenmethode Idee der Mehrphasenmethode: Starte trotzdem mit dem Nullpunkt. Gehe zu benachbartem Schnittpunkt von Hyperebenen (Basistausch), solange bis ein zulässiger Punkt gefunden ist. anschließend das Simplexverfahren Verfahren an obigem Beispiel: Ausgangstableau: -1-2 0 0 0 0-1 -1 1 0 0-3 0-1 0 1 0-2 1-1 0 0 1 3 wähle erste Zeile, für die b i < 0 ist: i = 0 Bestimmung der Pivotspalte s: s = erste Spalte, für die a is < 0 ist: Rightarrows = 1 Bestimmung der Pivotzeile r: Wähle r so, daß a rs > 0 ist: r = 3 Falls a rs < 0 für alle r, so gilt r = s Pivotoperation mit a 3 1 als Pivotelement: 0-3 0 0 1 3 0-2 1 0 1 0 0-1 0 1 0-2 1-1 0 0 1 3 entspricht dem Punkt (3 / 0). Basisvariablen = { x 1, x 3, x 4 } Da b 0 erneuter Durchlauf. Im 2. Durchlauf ergibt sich: i = 2 s = 2 r = s = 2, da alle a rs < 0 0 0 0-3 1 9 0 0 1-2 1 4 0 1 0-1 0 2 1 0 0-1 1 5 entspricht dem Punkt (5 / 2). Basisvariablen = { x 1, x 2, x 3 } Da nun alle b 0, kann mit dem Simplexverfahren begonnen werden. s = 5 27

r = 1 0 0-1 -1 0 5 0 0 1-2 1 4 0 1 0-1 0 2 1 0-1 1 0 1 1 2 x = 0 Mit optimalem Zielfunktionswert: k = -5 0 4 Aufgabe: Führen Sie das Verfahren der Multiphasenmethode an folgendem Beispiel durch: Maximiere: x 1 + 2x 2 Nebenbedingungen: x 1 + x 2 5 2x 1 + x 2 12 x 1, x 2 0 Umformung von 2x 1 + x 2 12 zu 2x 1 x 2 12. 1 2 0 0 0 1 1 1 0 5-2 -1 0 1-12 i = 2 s = 1 r = 1 0 1-1 0-5 1 1 1 0 5 0 1 2 1-2 i = 2 s =??? (Es gibt kein a 2s das > 0 ist. Was nun? x 2 + 2x 3 + x 4 2 und x 2, x 3, x 4 0 Die beiden Gleichungen sind wiedersprüchlich, denn wenn alle Koeffizienten 0 sind, so kann als Ergebnis kein negativer Wert auftreten. Dies führt zu einem Abbruch aufgrund eines Leeren Bereichs. 28

Algorithmus der Mehrphasenmethode Gegeben: Ein LP mit der Zielfunktion c x, A x b und x o: Setze I = {i = 1... m b i 0} (positive (inkl. 0) b i Zeilenmenge) I = {i = 1... m b i < 0} (negative b i Zeilenmenge) (1) Ist I = 0, so ist x N = 0 eine zulässige Basislösung Weiter mit Simplexverfahren. Andernfalls: Wähle i 1 I (2) Ist A i 0, so ist das LP unlösbar Abbruch (Leerer Bereich) Andernfalls: Wähle eine Spalte s so, daß a is < 0 (3) Ist A s 0, so setze r = s Andernfalls: Wähle r so, daß br a rs = min{ bi a is a is > 0, i I} (4) Führe mit a rs (Pivotelement) die Pivotoperation durch. Setze I = {i = 1... m b i 0} und I = {i = 1... m b i < 0} Ist i I Weiter bei (1) Andernfalls ist i I Weiter bei (2) 2.4 Beschränkungen des Simplexverfahrens Das Simplexverfahren ist beschränkt durch: Seine Linearität auf reelle Zahlen nich lösbar bei Problemen mit ganzzahligen Variablen z.b.: x 1 {0, 1} 29