Optimierungsalgorithmen

Größe: px
Ab Seite anzeigen:

Download "Optimierungsalgorithmen"

Transkript

1 Optimierungsalgorithmen Jakob Puchinger Algorithmen und Datenstrukturen 2 Arbeitsbereich für Algorithmen und Datenstrukturen Institut für Computergraphik und Algorithmen Technische Universität Wien

2 Übersicht Grundlagen 1 Einführung - Optimierungsprobleme Kombinatorische Optimierungsprobleme Lineare Optimierungsprobleme Ganzzahlige Lineare Optimierungsprobleme 2 Lineare Programmierung Geometrische Interpretation Dualität der Linearen Programmierung Grundlagen der Polyedertheorie Der Simplexalgorithmus 3 Kombinatorische Optimierung vs. Ganzzahlige Optimierung

3 Übersicht Lösungsverfahren 4 Branch-and-Bound für Ganzzahlige Optimierung 5 Schnittebeneverfahren und Branch-and-Cut Schnittebenenverfahren Branch-and-Cut 6 Spaltengenerierung und Branch-and-Price Spaltengenerierung Branch-and-Price

4 Teil I Grundlagen

5 Einführung Übersicht 1 Einführung - Optimierungsprobleme Kombinatorische Optimierungsprobleme Lineare Optimierungsprobleme Ganzzahlige Lineare Optimierungsprobleme 2 Lineare Programmierung Geometrische Interpretation Dualität der Linearen Programmierung Grundlagen der Polyedertheorie Der Simplexalgorithmus 3 Kombinatorische Optimierung vs. Ganzzahlige Optimierung

6 Einführung Kombinatorische Optimierungsprobleme Optimierungsprobleme Was sind Optimierungsprobleme? Vielzahl zulässiger Lösungen Jeder Lösung ist ein Wert zugeordnet Suchen der Lösung mit dem besten (dem optimalen) Wert Beispiele Kürzeste Wege Prozess-Scheduling Personalmanagement...

7 Einführung Kombinatorische Optimierungsprobleme Optimierungsprobleme Was sind Optimierungsprobleme? Vielzahl zulässiger Lösungen Jeder Lösung ist ein Wert zugeordnet Suchen der Lösung mit dem besten (dem optimalen) Wert Beispiele Kürzeste Wege Prozess-Scheduling Personalmanagement...

8 Einführung Kombinatorische Optimierungsprobleme Optimierungsprobleme Was sind Optimierungsprobleme? Vielzahl zulässiger Lösungen Jeder Lösung ist ein Wert zugeordnet Suchen der Lösung mit dem besten (dem optimalen) Wert Beispiele Kürzeste Wege Prozess-Scheduling Personalmanagement...

9 Einführung Kombinatorische Optimierungsprobleme Kombinatorische Optimierungsprobleme Definition Kombinatorisches Optimierungsproblem Grundmenge: endliche Menge E Zulässige Lösungen: I 2 E (2 E ist die Potenzmenge von E) Gewichtungsfunktion: c : E R Zielfunktion: für F I : c(f ) = e F c(e) Aufgabe: Finde I I mit c(i ) maximal bzw. minimal

10 Einführung Kombinatorische Optimierungsprobleme Travelling Salesperson Problem TSP Gegeben: V, Menge von n Punkten im (zweidimensionalen) Raum Gesucht: Kürzeste Rundtour, die alle Punkte besucht Grundmenge: Menge aller Kanten im vollständigen Graphen K n = (V, E) Zulässige Lösungen: Kantenmengen, die Tour durch alle Punkte beschreiben Zielfunktionswert: Summe der Kantenlängen einer Tour

11 Einführung Lineare Optimierungsprobleme Lineare Optimierungsprobleme Gegeben m, n positive ganze Zahlen Vektor b R m Vektor c R n Matrix A R m n Gesucht x R n mit Zielfunktion c T x maximal (minimal) unter den Nebenbedingungen (Restriktionen) Ax b Definition c T x = n i=1 c ix i Ax n i=1 a ijx i, für j = 1,, m

12 Einführung Lineare Optimierungsprobleme Lineare Programmierung Definition Lineares Programm (LP) max c T x Ax b x R n Definition Zulässiger Bereich P = {x R n : Ax b}

13 Einführung Lineare Optimierungsprobleme Modellierung von Problemen Probleme aus der Praxis oft als lineare Programme beschreibbar Beispiele: Modellierung ist eine wichtige Aufgabe in der Praxis. Produktionsplanung Portfolio-Optimierung Transportprobleme

14 Einführung Lineare Optimierungsprobleme Modellierung von Problemen Beispiel Ölraffinerie Aus Rohöl verschiedene Produkte herstellen: Schweres Öl S Mittelschweres Öl M Leichtes Öl L Verschieden Crackprozesse produzieren unterschiedliche Mengen der Endprodukte Crackprozeß 1: 2S, 2M, 1L Kosten: 3 EUR Crackprozeß 2: 1S, 2M, 4L Kosten: 5 EUR Bedarfe 3S, 5M, 4L Ziel: Kosten minimieren

15 Einführung Lineare Optimierungsprobleme Modellierung von Problemen Variablen für Anwendung der Crackprozesse x 1 : Produktionsniveau Crackprozess 1 x 2 : Produktionsniveau Crackprozess 2 Bedeutung von x 1 = 2.5 Prozess x1 wird auf 2.5 Einheiten Rohöl angewendet Kostet EUR Liefert S, M und L Jeder nicht-negative Vektor (x 1, x 2 ) R 2 bezeichnet ein gewisses Produktionsniveau der Crackprozesse.

16 Einführung Lineare Optimierungsprobleme Modellierung von Problemen Es müssen 3 Einheiten S produziert werden 2x 1 + x 2 3 Es müssen 5 Einheiten M produziert werden 2x 1 + 2x 2 5 Es müssen 4 Einheiten L produziert werden x 1 + 4x 2 4 Die Kosten der Produktion sind z = 3x 1 + 5x 2

17 Einführung Lineare Optimierungsprobleme Modellierung von Problemen Lineares Programm Ölrafinerie min 3x 1 + 5x 2 2x 1 + x 2 3 2x 1 + 2x 2 5 x 1 + 4x 2 4 x 1 0 x 2 0

18 Einführung Lineare Optimierungsprobleme Umformen von Linearen Programmen Verschiedenen Formulierungen für Lineare Programme z.b.: min c T x : Ax b max c T x : Ax b min c T x : Ax b und x 0 min c T x : Ax = b und x 0

19 Einführung Lineare Optimierungsprobleme Umformen von Linearen Programmen Überführungsregeln 1 max c T x min( c) T x 2 ai T x b i ( a i ) T x b i 3 ai T x = b i ai T x b i und ( a i ) T x b i 4 ai T x b i ai T x + s i = b i, s i 0 a i ist i-te Zeile der Matrix A, b i ist i-ter Eintrag in Vektor b und s i wird als Schlupfvariable bezeichnet.

20 Einführung Ganzzahlige Lineare Optimierungsprobleme Ganzzahlige Lineare Programme Bei vielen Problemen aus Anwendungen sind nur ganzzahlige Lösungen sinnvoll. Gegenstände können nicht in Bruchteilen beschafft werden. Entscheidungen müssen Ja oder Nein d.h. 0 oder 1 sein. Ganzzahligkeitsbedingungen machen lineare Programme schwer lösbar. Auch das lösen relativ kleiner Probleme braucht oft viele Stunden oder Tage.

21 Einführung Ganzzahlige Lineare Optimierungsprobleme Ganzzahlige Lineare Programme Gemischt Ganzzahliges Programm max a T x + b T y Ax + By = c Cx + Dy d x, y 0 x Z l y R k Nur ganzzahlige Variablen: Ganzzahliges Programm Nur Variablen in {0, 1}: Binäres Lineares Programm

22 Einführung Ganzzahlige Lineare Optimierungsprobleme Ganzzahlige Lineare Programme Beispiel Rucksackproblem Rucksack soll gepackt werden Verschiedene Gegenstands-Typen i = 1,, n Jeder Gegenstands-Typ hat Profit p i und Gewicht w i Beliebig viele Gegenstände von jedem Typ vorhanden Rucksack fasst maximal b kg Bestimme Anzahl der Gegenstände von jedem Typ, die in den Rucksack kommt, damit Profit maximiert wird

23 Einführung Ganzzahlige Lineare Optimierungsprobleme Ganzzahlige Lineare Programme Beispiel Rucksackproblem max c 1 x 1 + c 2 x c n x n a 1 x 1 + a 2 x a n x n b x i 0 für i = 1, 2,..., n x i Z n für i = 1, 2,..., n. Kein kombinatorisches Optmierungsproblem: Grundmenge unbeschränkt Kombinatorisch durch zusätzliche Ungleichungen: b x i i = 1,, n a i

24 Einführung Ganzzahlige Lineare Optimierungsprobleme Ganzzahlige Lineare Programme Beispiel Rucksackproblem max c 1 x 1 + c 2 x c n x n a 1 x 1 + a 2 x a n x n b x i 0 für i = 1, 2,..., n x i Z n für i = 1, 2,..., n. Kein kombinatorisches Optmierungsproblem: Grundmenge unbeschränkt Kombinatorisch durch zusätzliche Ungleichungen: b x i i = 1,, n a i

25 Lineare Programmierung Übersicht 1 Einführung - Optimierungsprobleme Kombinatorische Optimierungsprobleme Lineare Optimierungsprobleme Ganzzahlige Lineare Optimierungsprobleme 2 Lineare Programmierung Geometrische Interpretation Dualität der Linearen Programmierung Grundlagen der Polyedertheorie Der Simplexalgorithmus 3 Kombinatorische Optimierung vs. Ganzzahlige Optimierung

26 Lineare Programmierung Lösbarkeit von Linearen Programmen Gegeben ein Lineares Programm min c T x Ax b Für den Zulässigkeitsbereich P = {x Ax b} gilt: P = LP unlösbar, keine zulässige Lösung exisitiert. P, aber inf{c T x x P} existiert nicht LP ist lösbar, aber es gibt keine optimale Lösung. Das LP ist unbeschränkt. P und das min{c T x x P} existiert LP lösbar und endliche optimale Lösung x exisitiert.

27 Lineare Programmierung Geometrische Interpretation Geometrische Interpretation von LPs LPs mit zwei Variablen lassen sich geometrisch lösen. Ölraffinerie die Zweite min 3x 1 + 5x 2 2x 1 + x 2 3 2x 1 + 2x 2 5 x 1 + 4x 2 4 x 1 0 x 2 0

28 Lineare Programmierung Geometrische Interpretation Geometrische Interpretation von LPs

29 Lineare Programmierung Geometrische Interpretation Geometrische Interpretation von LPs Graphisches Lösen (Minimierung) Verschiebe Zielfunktionsgerade z parallel in Richtung abnehmender Zielfunktionswerte Stopp wenn kein weiteres Verschieben, ohne Verlassen des zulässigen Bereichs, mehr möglich ist. Alle zulässigen Punkte auf der Zielfunktionsgerade z geben dann die optimalen Lösungen an.

30 Lineare Programmierung Geometrische Interpretation Graphisches Lösen Ölraffinerie

31 Lineare Programmierung Geometrische Interpretation Graphisches Lösen Ölraffinerie

32 Lineare Programmierung Geometrische Interpretation Graphisches Lösen Ölraffinerie

33 Lineare Programmierung Dualität der Linearen Programmierung Dualität Beispiel Suche nach Schranken für lineare Programme. Beispiel LP / Primales Problem Wir betrachten folgendes LP: min 4x 1 + 3x 2 x 1 + 2x 2 7 (1) 2x 1 x 2 5 (2) 3x 1 + x 2 2 (3)

34 Lineare Programmierung Dualität der Linearen Programmierung Dualität Beispiel Beispiel Schranken Neue gültige Ungleichung aus 2 (1)+(2): 4x 1 + 3x Koeffizienten stimmen genau mit Zielfunktionsvektors c überein. untere Schranke für die Zielfunktion: 19 Andere gültige Ungleichung aus: (1)+(3): 4x 1 + 3x 2 5. schwächere untere Schranke: 5 Wie finden wir die beste/stärkste untere Schranke?

35 Lineare Programmierung Dualität der Linearen Programmierung Dualität Beispiel Beispiel Duales Problem Gesucht: Skalierungsfaktoren y i, i = 1, 2, 3 der Ungleichungen Multiplizieren von (1) mit y 1, (2) mit y 2 und (3) mit y 3, dann soll y 1 + 2y 2 + 3y 3 den Zielfunktionskoeffizienten 4 ergeben. Analog soll 2y 1 y 2 + y 3 den Wert 3 ergeben. Die rechte Seite (Schranke) soll so groß wie möglich werden. Daraus folgt folgende Aufgabe, das duale Problem: max 7y 1 + 5y 2 2y 3 y 1 + 2y 2 + 3y 3 = 4 2y 1 y 2 + y 3 = 3

36 Lineare Programmierung Dualität der Linearen Programmierung Dualität der Linearen Programmierung Allgemein: c als positive Linearkombination der a i darstellen: suche y i 0 mit c = m i=1 y ia i. Für die Zielfunktion folgt daraus m c T x = ( y i a i ) T x = i=1 m y i (ai T x) i=1 m y i b i. i=1 Die beste Schranke wird erreicht, wenn y T b maximiert wird.

37 Lineare Programmierung Dualität der Linearen Programmierung Dualität der Linearen Programmierung Die Bestimmung der besten unteren Schranke zu dem LP (P) min c T x, so dass Ax b ist also wiederum ein lineares Programm. Definition Dieses heißt das Duale Problem und ist definiert als: (D) max y T b, so dass y T A = c T und y 0. Das duale Problem eines dualen Problems ist das primale Problem.

38 Lineare Programmierung Dualität der Linearen Programmierung Dualität der Linearen Programmierung Zusammenhang Primal / Dual Regeln Primales Problem minimiere duales Problem maximiere b i 0 Restriktionen b i Variablen 0 = b i frei 0 c j Variablen 0 Restriktionen c j frei = c j

39 Lineare Programmierung Dualität der Linearen Programmierung Schwache Dualität Schwacher Dualitätssatz Sei x ein zulässiger Punkt für (P) (das zu minimierende primale Problem), und ȳ zulässig für (D) (das duale Problem). Dann gilt: ȳ T b c T x. Das heißt, jede zulässige Lösung des dualen Problems (D) ist eine untere Schranke für das primale Problem (P). Korollar Primales Problem unbeschränkt duales Problem unlösbar.

40 Lineare Programmierung Dualität der Linearen Programmierung Starke Dualität Starker Dualitätssatz Seien x und y jeweils zulässige primale und duale Lösungen. Dann gilt: c T x = (y ) T b beide Lösungen x und y sind optimal. Findet man zu primaler Lösung duale Lösung mit gleichem Wert dann ist Lösung optimal. Beweis für Optimalität der gefundenen Lösung

41 Lineare Programmierung Grundlagen der Polyedertheorie Polyedertheorie Allgemeine Bemerkungen Problem mit n Variablen definiert Struktur im n-dimensionalen Raum. Nebenbedingungen mit Ungleichheitszeichen definieren zulässige Halbräume. Schnitt der Halbräume aller Nebenbedingungen entweder leer oder Polyeder. Wenn es optimale Lösung gibt so gibt es auch optimale Ecke des Polyeders.

42 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Linearkombination Definition Für x 1, x 2,..., x k R und heißt λ 1 λ =. y = λ k R k k λ i x i i=1 Linearkombination von x 1,..., x k.

43 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Spezielle Linearkombinationen Definition Gilt für zusätzlich: y = λ 0 k i=1 λ i = 1 k i=1 λ i = 1, λ 0 Kombination von x 1, x 2,..., x k. k λ i x i i=1 so heißt y konische affine konvexe

44 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Mengen von Linearkombinationen Definition Für S R heißt lin(s) cone(s) aff(s) conv(s) die lineare konische affine konvexe Hülle von S.

45 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Mengen von Linearkombinationen

46 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Mengen von Linearkombinationen Definition Falls L = lin(s) L = cone(s) L = aff(s) L = conv(s) so ist L ein linearerraum Kegel affinerraum konvexemenge Es gilt: L R n ist ein linearer Unterraum des R n genau dann wenn ein A R m n existiert, so dass L = {x R n Ax = 0}. L R n ist ein affiner Unterraum des R n genau dann wenn ein A R m n, b R m existiert, so dass L = {x R n Ax = b}.

47 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Hyperebenen Für die lineare Programmierung sind spezielle affine Unterräume, die Hyperebenen, interessant, die dem Spezialfall m = 1 entsprechen. Definition Eine Hyperebene ist definiert als {x R n a T x = a 0 } für a R n \ {0}, a 0 R.

48 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Unabhängigkeit Definition Eine Menge S = {x 1, x 2,..., x k } R n von Vektoren heißt linear unabhängig, wenn aus k i=1 λ ix i = 0 folgt, dass λ i = 0 für alle i {1, 2,..., k} gilt. Sie heißt affin unabhängig, wenn aus k i=1 λ ix i = 0, k i=1 λ i = 0 folgt, dass λ i = 0 für alle i {1, 2,..., k} gilt.

49 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Rang Definition Für S R n ist der } Rang rang(s) von S affine Rang affrang(s) { max{ T T S ist linear unabhängig} definiert durch max{ T T S ist affin unabhängig} } Definition Die Dimension von S ist dim(s) = affrang(s) 1. Es gilt: 0 aff(s) dim(s) = rang(s) 0 aff(s) dim(s) = rang(s) 1

50 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Halbräume, Hyperebenen Definition Für a R n, a 0, a o R heißt H = {x R n a T x a 0 } Halbraum, die durch H definierte Hyperebene ist {x R n a T x = a 0 }. Definition Eine Ungleichung a T x a 0 ist gültig bezüglich einer Teilmenge S R n genau dann, wenn S {x R n a T x a 0 }.

51 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Polyeder Definition Eine Teilmenge P R n heißt Polyeder, falls es eine Matrix A R (m n) und einen Vektor b R m gibt mit Ein alternative Darstellung: P = {x R n Ax b}. P = {x R n Ax b, Dx = d} kann man durch einfache Umformen erzielen.

52 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Besondere Polyeder Halbräume sind Polyeder. Die leere Menge ist ein Polyeder = {x 0 T x 1}. Der gesamte Raum ist ein Polyeder R n = {x 0 T x 1}. Jedes Polyeder P R n ist der Durchschnitt von endlich vielen Halbräumen. Definition Ein Polytop ist ein beschränktes Polyeder: P {x R n x B} für ein B > 0.

53 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Darstellung Die lineare, die affine, die konvexe bzw. die konische Hülle einer endlichen Teilmenge des R n sind Polyeder. Aus den klassischen Theoremen von Minkowski und Weyl folgt: Theorem Jedes Polyeder P R n besitzt eine Darstellung der Form P = conv(v ) + cone(e), wobei V und E endliche Teilmengen des R n entsprechen und umgekehrt.

54 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Darstellung Polyeder sind also genau die Teilmengen des R n, die sich als Summe von konvexen und konischen Hüllen endlicher Teilmengen des R n darstellen lassen. Deshalb existieren immer zwei Darstellungen von Polyedern P = {x R n Ax b} = conv(v ) + cone(e) Polytope lassen sich durch P = conv(v ) darstellen.

55 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Beispiel Wir betrachten das Polytop P = {( ) 0, 1 ( ) 1, 0 ( )} 1 1 Die Darstellung durch Ungleichungen ist graphisch leicht ablesbar: {( ) } x P = R 2 x 1, y 1, x + y 1 y

56 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Seitenflächen Definition F P heißt Seitenfläche von P, falls es eine für P gültige Ungleichung a T x a 0 gibt, so dass F = {x P a T x = a 0 }. F ist echte Seitenfläche falls F P. Ist P = {x R n a T i x b i, i = 1, 2,..., k} = conv(s) und F Seitenfläche von P, so gibt es eine Teilmenge I {1, 2,..., k}, so dass F = {x R n a i x T b i, i I }. Weiters gibt es eine Teilmenge R S, so dass F = conv(r).

57 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Seitenflächen Definition Eine Ecke eines Polyeders P ist eine einelementige Seitenfläche von P. Eine Facette von P ist eine maximale nicht leere echte Seitenfläche von P. Für jede Facette F von P gilt dim(f ) = dim(p) 1.

58 Lineare Programmierung Grundlagen der Polyedertheorie Polydertheorie Seitenflächen

59 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus wurde 1947 von George Dantzig entwickelt. Heute ist es möglich, lineare Programme mit mehreren Millionen Variablen und Nebenbedingungen zu lösen. Das kommerzielle ILOG CPLEX benötigt z. B. zur Lösung eines LPs mit Variablen und Nebenbedingungen 59,1 Sekunden (2.0 GHz P4). Es existieren worst-case Beispiele, bei denen der Simplexalgorithmus nicht in polynomieller Zeit läuft. Diese sind selten, Simplexalgorithmus ist einer der am weitesten verwendeten Algorithmen in der Praxis. Inzwischen gibt es auch Polynomialzeitalgorithmen z.b.: die Ellipsoidmethode.

60 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Beispiel max 3x 1 + 2x 2 x 1 + 3x 2 12 x 1 + x 2 8 2x 1 x 2 10 x 1, x 2 0

61 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Schlupfvariablen max 3x 1 + 2x 2 x 1 + 3x 2 + x 3 = 12 x 1 + x 2 + x 4 = 8 2x 1 x 2 + x 5 = 10 x 1, x 2, x 3, x 4, x 5 0

62 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Simplextableau max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5

63 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Strategie der Simplexmethode Beginne an einer Ecke des Lösungspolyeders. Wandere von dieser entlang einer Kante zu einer nächsten Ecke, die den Zielfunktionswert auf jeden Fall verbessert. Wiederhole Vorgang so lange noch Verbesserung möglich ist. Simplexalgorithmus D. h. wir wandern von einer Lösung x 1, x 2, x 3, x 4, x 5 zu einer neuen Lösung x 1, x 2, x 3, x 4, x 5, so dass gilt 3 x x 2 > 3x 1 + 2x 2.

64 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Startlösung Startlösung : x 1 = x 2 = 0. Werte der Schlupfvariablen: x 3 = 12, x 4 = 8, x 5 = 10 Zielfunktionswert z = 0 Wie erhalten wir die nächste, bessere Lösung?

65 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Nächste bessere Lösung x 1 auf 1 erhöhen, ergäbe z = 3. x 1 auf 2 erhöhen, ergäbe z = 6. x 1 auf 6 erhöhen, würde x 5 = 2 erfordern: nicht erlaubt. Wie weit dürfen wir x 1 erhöhen ohne eine unzulässige Lösung zu erhalten?

66 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Nächste bessere Lösung Erste Gleichung ergibt keine Einschränkung für x 1. Zweite Gleichung ergibt x 1 8. Dritte Gleichung ergibt x 1 5. Wir erhöhen x 1 auf den größtmöglichen Wert: 5.

67 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus max z = 3x 1 + 2x 2 x 3 = 12 + x 1 3x 2 x 4 = 8 x 1 x 2 x 5 = 10 2x 1 + x 2 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Nächste bessere Lösung Wir betrachten diejenige Gleichung für die die Schranke erreicht wurde. Diese lautet nach Umformung: x 1 = x x 5

68 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Erste Simplex-Iteration Ersetzen von x 1 in den anderen Gleichungen: z = x x 5 x 1 = x x 5 3 = x x 5 x 4 = x x 5 Lösungswerte einfach ablesen: x 1 = 5, x 2 = 0, x 3 = 17, x 4 = 3, x 5 = 0 mit z = 15.

69 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus max z = x x 5 x 1 = x x 5 x 3 = x x 5 x 4 = x x 5 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Zweite Iteration Nur eine Erhöhung von x 2 kann die Zielfunktion verbessern. Wie weit können wir x 2 nun erhöhen? Die Bedingung x 1 0 ergibt keine Einschränkung für x 2. Aus x 3 0 folgt x Bedingung x 4 0 ergibt x 2 2. Eröhen von x 2 auf 2, x 4 wird 0.

70 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Zweite Iteration Wie vorher: System so umschreiben, dass sich alle positiven Variablen (die sogenannten Basisvariablen) auf der linken Seite befinden. Bei jedem Austausch wandert eine neue Variable, die vorher den Wert 0 hatte, in die Basis, während eine Variable, die vorher ungleich 0 war, den Wert 0 erhält, also zur Nicht-Basisvariable wird.

71 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus max z = x x 5 x 1 = x x 5 x 3 = x x 5 x 4 = x x 5 0 x 1, x 2, x 3, x 4, x 5 Simplexalgorithmus Zweite Iteration Die dritte Gleichung gehört zur ausscheidenden Basisvariable, diese wird zu: x 2 = x x 5

72 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Simplexalgorithmus Zweite Simplex-Iteration Ersetzen von x 2 : z = x x 5 x 1 = x x 5 x 2 = x x 5 x 3 = x x 5 Nun können wir die Werte der Lösung wieder aus dem Tableau ablesen. Unsere neue Lösung sieht folgendermaßen aus: x 1 = 6, x 2 = 2, x 3 = 12, x 4 = 0, x 5 = 0, mit z = 22.

73 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus max z = x x 5 x 1 = x x 5 x 2 = x x 5 x 3 = x x 5 Simplexalgorithmus Zweite Iteration Wieder Variable erhöhen, die zu einer Erhöhung der Zielfunktion führt? Jede Erhöhung einer Variable führt zu einer Verminderung des aktuellen Zielfunktionswertes. Die bisher erreichte Lösung mit Zielfunktionswert 22 ist optimal, da wir wissen, dass x 4 und x 5 nicht-negativ sein müssen.

74 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus Definition Die Variablen die auf der linken Seite unserer Gleichungssysteme auftreten werden Basisvariablen genannt, während die anderen Nicht-Basisvariablen heißen. Die Lösungen, die wir durch Null setzen der Nicht-Basisvariablen erhalten heißen Basislösungen, die auch den Ecken des Polyeders entsprechen. Generell: Der Simplexalgorithmus beginnt mit einer zulässigen Basislösung, und wandert von einer Basislösung zur nächsten die einen gleichen oder besseren Zielfunktionswert aufweist.

75 Lineare Programmierung Der Simplexalgorithmus Einblick in den Simplexalgorithmus 6 5 x 1 + x 2 = 8 x 1 + 3x 2 = x 1 x 2 = x 1 + 2x 2 = 22

76 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Wir wollen nun den Simplexalgorithmus etwas allgemeiner beschreiben. Betrachten wir das folgende lineare Programm: max n c j x j j=1 n a ij x j b i i = 1,, m j=1 x j 0 j = 1,, n.

77 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Wie schon im vorangehenden Beispiel führen wir die Schlupfvariablen ein: n max z = c j x j j=1 x n+i = b i n a ij x j i = 1,, m j=1 x j 0 j = 1,, n + m.

78 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Der Simplexalgorithmus geht von einer Basislösung zur nächsten, bzw. von einem Tableau zum nächsten. Pivot: Schritt von einem Tableau zum nächsten: Eine Variable kommt zur Basis hinzu, eine andere verlässt die Basis. Um wieder auf ein Simplextableau zu kommen, muss das Gleichungssystem, so umgeformt werden, dass die Basisvariablen auf der linken Seite stehen.

79 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Tableaus haben m Basisvariablen und n Nicht-Basisvariablen. N: Menge der Indizes der Nicht-Basisvariablen B: Menge der Indizes der Basisvariablen. Zu Beginn ist N = {1,, n} und B = {n + 1,, n + m} Im Verlauf des Simplexalgorithmus wird das Tableau folgendermaßen aussehen: n max z = z + c j x j j=1 n x i = b i a ij x j j=1 i B

80 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Hinzukommende Variable Die hinzukommende Variable wird so ausgewählt, dass ihre Erhöhung z verbessern würde. Es kommen also nur jene Variablen mit positiven reduzierten Kosten c k infrage. Formal sind das genau die x k mit k K = {j N c j > 0}. Wenn es keine solchen Variablen gibt ist die vorliegende Lösung bereits optimal.

81 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Ausscheidende Variable Die Basisvariablen müssen positiv sein, wenn eine Variable so stark wie möglich erhöht wird muss deshalb eine andere Variable Null werden, sie scheidet aus der Basis aus. x k hinzukommende Variable, welche wir von 0 auf einen positiven Wert erhöhen, die Werte der Basisvariablen ändern sich: x i = b i a ik x k, i B. Wegen x i 0 muss also gelten: b i a ik x k 0, i B.

82 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Ausscheidende Variable Umformulieren der Ungleichungen: 1 x k a ik b i, i B. Da wir x k so stark wie möglich erhöhen wollen, muss gelten: x k = ( max i B a ik b i ) 1. Ausscheidende Variable muss Variable x l sein mit l L = {i B a ik b i ist maximal}.

83 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Unbeschränktheit Was passiert in undefinierten Fällen wenn a ik null ist, oder wenn a ik negativ ist? Dann ist das Problem unbeschränkt (b i 0 i gilt immer): x k kann beliebig erhöht werden, ohne dass irgendeine Basisvariable negativ wird.

84 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Entartung Ein entartetes Tableau tritt auf, wenn ein b i Null wird. Falls a ik negativ ist, führt es schlimmstenfalls zu Unbeschränktheit. b i = 0, a ik 0, kann zu einem entarteten Pivot führen: x k bleibt Null und das nächste Tableau ist wieder entartet. Unter bestimmten Vorraussetzungen kann es vorkommen dass der Simplexalgorithmus nach einigen entarteten Pivots wieder zu einem bereits aufgetretenen Tableau zurückkehrt und in einem Zyklus hängen bleibt.

85 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Allgemein Entartung Es gibt Pivotregeln mit denen das Auftreten von Zyklen vermieden werden kann. Eine davon ist Bland s Regel: Die Indizes der hinzukommenden Variable x k sowie der ausscheidenden Variable x l müssen so gewählt werden, dass sie die Minima der Indexmengen K und L sind.

86 Lineare Programmierung Der Simplexalgorithmus Simplexalgorithmus Weitere Aspekte Finden einer Startlösung Üblicherweise Zweiphasen-Simplex Erste Phase: Hilfsproblem wird gelöst um eine zulässige Startlösung zu finden. Zweite Phase: Simplexverfahren, wie wir es kennengelernt haben.

87 Kombinatorische Optimierung Übersicht 1 Einführung - Optimierungsprobleme Kombinatorische Optimierungsprobleme Lineare Optimierungsprobleme Ganzzahlige Lineare Optimierungsprobleme 2 Lineare Programmierung Geometrische Interpretation Dualität der Linearen Programmierung Grundlagen der Polyedertheorie Der Simplexalgorithmus 3 Kombinatorische Optimierung vs. Ganzzahlige Optimierung

88 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Enge Beziehung zwischen kombinatorischen und ganzzahligen linearen Optimierungsproblemen. Jedes kombinatorische Optimierungsproblem kann als ganzzahliges 0/1-Programm formuliert werden und umgekehrt. Wie funktioniert diese Umwandlung?

89 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Kombinatorisches Optimierungsproblem Grundmenge: endliche Menge E Zulässige Lösungen: I 2 E, Gewichtungsfunktion: c : E R Zielfunktion: für F I : c(f ) = e F c(e) Aufgabe: Finde I I mit c(i ) maximal bzw. minimal Binäres Lineares Programm (0/1-Programm) max c T x Ax b x {0, 1} n

90 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Charakteristischer Vektor E endliche Menge R E Vektorraum der x = (x e ) e E (Vektoren der Länge E ) Jedem Element e E ist Komponente x e von x zugeordnet Der charakteristische Vektor χ F einer Menge F E: { χ F 1 e F e = 0 e / F Umgekehrt jeder 0/1-Vektor x {0, 1} E ist charakteristischer Vektor einer Teilmenge F x von E: F x = {e E x e = 1}, χ Fx = x.

91 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Gegeben ein 0/1-Programm max{c T x Ax b, x {0, 1} n } Äquivalentes kombinatorisches Optimierungsproblem E := {1, 2,..., n} I := {F x E x {0, 1} E, Ax b} c(f x ) := c T χ Fx. E ist die Grundmenge, I die Menge der zulässigen Lösungen und c ist die Zielfunktion.

92 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Gegebeben kombinatorisches Optimierungsproblem mit E, I, c P F = conv{χ F R E F I } ist konvexe Hülle endlich vieler Vektoren, also ein Polytop. Ecken entsprechen genau den charakteristischen Vektoren der zulässigen Mengen F I Jede optimale Ecklösung des linearen Programms max{c T x x P F } ist der charakteristische Vektor einer Optimallösung des gegebenen kombinatorischen Optimierungsproblems (und umgekehrt).

93 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Haben ein kombinatorisches Optimierungsproblem in ein lineares Programm umformuliert. Problem: Um lineares Programm zu lösen, ist Formulierung mit Hilfe von Gleichungen und Ungleichungen nötig. Es existiert kein polynomieller Algorithmus, um eine solche Darstellung zu berechnen. Allgemein: Exponentiell viele Ungleichungen und Gleichungen. In der Praxis genügt es jedoch, nur einen kleinen Teil dieser Ungleichungen und Gleichungen zu kennen.

94 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Beispiel Minimum Spanning Tree (MST) Minimum Spanning Tree Problem, (MST) mit drei Punkten. Gesucht ist ein spannender Baum in K 3 minimalen Gewichts bei gegebenen nicht-negativen Distanzen d 1, d 2 und d 3. K 3 und zulässige Spannbäume auf drei Punkten:

95 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Beispiel Minimum Spanning Tree (MST) Wie kann man diese Menge (Spannbäume) mit Hilfe von Variablen und linearen Ungleichungen beschreiben? Drei Variablen (x 1, x 2 und x 3 ) für jede Kante genau eine. x j = 1 wenn Kante e j in der zulässigen Lösung (die einem spannenden Baum entspricht) enthalten ist. x j = 0 sonst. Welche Bedingungen müssen die Variablen erfüllen?

96 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Beispiel Minimum Spanning Tree (MST) Zulässige Lösungen haben nur 2 Kanten x 1 + x 2 + x 3 = 2 Schranken x j 0 und x j 1 für j = 1, 2, 3 Ganzzahligkeitsbedingungen x j Z für j = 1, 2, 3 GLP für das Minimum Spanning Tree Prolem: min d 1 x 1 + d 2 x 2 + d 3 x 3 x 1 + x 2 + x 3 = 2 x j {0, 1} für j = 1, 2, 3

97 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Lösungsraum des linearen Programms ist die markierte Fläche. Optimale Lösung wird an Ecken v 1, v 2 und v 3 angenommen, die ganzzahlig sind. Ganzzahligkeitsbedingungen können weggelassen werden, ohne dass sich die Lösung ändert.

98 Kombinatorische Optimierung Kombinatorische vs. Ganzzahlige Optimierung Beispiel Minimum Spanning Tree (MST) Gilt nicht mehr, für MST-Problem mit N > 3 Knoten Weitere Ungleichungen hinzunehmen Anzahl ausgewählter Kanten: N 1 Es dürfen keine Kreise entstehen (solche Kreisungleichungen sehen wir nächste Woche) Ganzzahligkeitsbedingungen

99 Teil II Lösungsverfahren für Ganzzahlige Optimierung

100 Exakte Verfahren für Ganzzahlige Optimierung

101 Branch-and-Bound Übersicht 4 Branch-and-Bound für Ganzzahlige Optimierung 5 Schnittebeneverfahren und Branch-and-Cut Schnittebenenverfahren Branch-and-Cut 6 Spaltengenerierung und Branch-and-Price Spaltengenerierung Branch-and-Price

102 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Branch-and-Bound: Allgemeine Klasse von Verfahren. Generell für eine weite Klasse von Problemen einsetzbar. Prinzipielle Idee ist einfach: Berechnung oberer und unterer Schranken. Zerlegung des Problems in Teilprobleme. Praktische Umsetzung schon schwieriger.

103 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung LP-Relaxierung Die LP-Relaxierung für das IP z IP = max{cx : x P Z n } ist das LP und es gilt: z LP = max{cx : x P}, z LP z IP.

104 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung LP-basiertes Branch-and-Bound Versuch gegebenes zu Problem lösen Relaxierungen: Obere Schranken Zulässige Lösungen: Untere Schranken Sind die Schranken gleich ist das Problem optimal gelöst Gelingt dies nicht: Zerlegen in Teilprobleme

105 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung LP-basiertes Branch-and-Bound Teilproblem wird gelöst durch : (a) Bestimmen einer optimalen Lösung oder (b) Feststellung der Unzulässigkeit oder (c) Bestimmung einer oberen Schranke, die nicht besser als die bisher beste gefundene Lösung ist oder (d) Zerlegung in weitere Teilprobleme. Bei endlicher Lösungsmenge und vernünftiger Aufteilungsstrategie führt das Verfahren zum Ziel.

106 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Dem Ablauf des Verfahrens entspricht der Branch-and-Bound-Baum Jeder Knoten repräsentiert ein Teilproblem, die Wurzel das Ausgangsproblem Blätter des Baumes repräsentieren gelöste Probleme.

107 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung LP-basiertes Branch-and-Bound 1: Startproblem S 0 mit Formulierung P 0 2: Liste nicht bearbeiteter Probleme L = {P 0 } 3: Globale Untere Schranke z =, Zähler k = 0 4: solange Liste L nicht leer { 5: Wähle Problem S i mit Formulierung P i aus Liste L 6: Löse LP-Relaxierung über P i, mit Lösung x LP i 7: Obere Schranke z i = LP-Zielfunktionswert 8: falls LP-Relaxierung unbeschränkt oder unlösbar dann { 9: z i = 10: } 11: Abschneiden oder Zerlegen 12: } 13: Beste zulässige Lösung x ist optimale Lösung von S.

108 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Abschneiden oder Zerlegen 1: falls P i = dann { 2: Abschneiden wegen Unzulässigkeit (b) 3: } sonst falls z i z dann { 4: Abschneiden wegen Schranke (c) 5: } sonst falls x LP i Z n dann { 6: z = z i 7: Beste zulässige Lösung x = x LP i 8: Abschneiden durch optimale Lösung (a) 9: } sonst { 10: Zerlege: Füge Subprobleme S k+1 und S k+2 11: mit Formulierungen P k+1 und P k+2 zu Liste L hinzu (d) 12: k = k : }

109 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Offene Fragen Wie Erzeugt man die Subprobleme? Wie wählt man das nächste Subproblem aus?

110 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Erzeugen der Subprobleme Suchraum wird üblicherweise in zwei Teile aufgeteilt. Im Schritt Zerlege ist eine Lösung xlp i mit zumindest einem fraktionalen Wert x j (xlp i ) gegeben. Wähle fraktionale Variable x j um Suchraum aufzuteilen. Die zwei neuen Subprobleme: P k+1 = P i {x : x j x j (xi LP ) } P k+2 = P i {x : x j x j (xi LP ) } Üblich: Verwendung der am meisten oder am weingsten fraktionalen Variable.

111 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Auswahl des nächsten Subproblems Vorhandensein einer zulässigen Lösung: Möglicherweise verstärktes Beschneiden des Lösungsbaumes. Depth-First Search Strategie: Das nächste Subproblem ist immer direkter Nachfolger des aktuellen Problems. Andererseits: Gesamtanzahl der betrachteten Subprobleme minimieren. Best-First Search Strategie: Es wird immer Subproblem mit größter oberer Schranke ausgewählt.

112 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Wir betrachten das ganzzahlige Programm max 7x 1 3x 2 4x 3 x 1 + 2x 2 + 3x 3 x 4 = 8 3x 1 + x 2 + x 3 x 5 = 5 x 1, x 2, x 3, x 4, x 5 0 x 1, x 2, x 3, x 4, x 5 Z

113 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Die LP-Relaxierung liefert optimale Lösung x 3 = x 4 = x 5 = 0, x 1 = 2 5, x 2 = 19 5 mit Zielfunktionswert c = 71 5 (= 14, 2). Wir erhalten als obere Schranke 15.

114 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Verzweigen nach Variable x 2 : P 1 = P 0 {x x 2 3} P 2 = P 0 {x x 2 4} P 1 : Nächstes Problem. Die Optimallösung der LP-Relaxierung LP 1 ist x 4 = x 5 = 0, x 1 = 1 2, x 2 = 2, x 3 = 1 2 und c = 29 2 (obere Schranke -15).

115 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound P 1 muss weiter zerlegt werden: P 3 = P 1 {x x 1 0} P 4 = P 1 {x x 1 1} Die aktiven Probleme sind: K = {P 2, P 3, P 4 }. Lösung von LP 3 liefert x 1 = x 5 = 0, x 2 = 3, x 3 = 2, x 4 = 4 und c = 17. P 3 ist gelöst bisher beste Lösung hat Wert 17.

116 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Lösung von LP 4 liefert: x 4 = 0, x 1 = 1, x 2 = 3, x 3 = 1 3, x 5 = 4 3 und c = 52 3 = Obere Schranke ( 18) ist schlechter als die beste Lösung, damit ist auch P 4 gelöst.

117 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Lösen von P 2 : LP-Relaxierung hat Optimum x 3 = x 5 = 0, x 1 = 1 3, x 2 = 4, x 4 = 1 3 und c = P 2 ist noch nicht gelöst, verzweigen: P 5 = P 2 {x x 1 0} P 6 = P 2 {x x 1 1}

118 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung Beispiel Branch-and-Bound Die Lösung von LP 5 liefert x 1 = x 3 = x 5 = 0, x 2 = 5, x 4 = 2 und c = 15. Dies ist eine neue beste Lösung mit Wert 15. P 5 ist gelöst. P 6 braucht nicht mehr betrachtet zu werden, da wegen LP 0 keine bessere Lösung als 15 möglich ist.

119 Branch-and-Bound Branch and Bound für Ganzzahlige Optimierung U = c = 15 x 2 3 P 1 P 0 U = c = 15 x 1 0 x 2 4 P 2 U = 17 c = 15 x 1 0 x 1 1 x 1 1 U = 17 P 3 c = 18 P 4 U = 15 P 5 c = 15 P 6

120 Schnittebeneverfahren und B&C Übersicht 4 Branch-and-Bound für Ganzzahlige Optimierung 5 Schnittebeneverfahren und Branch-and-Cut Schnittebenenverfahren Branch-and-Cut 6 Spaltengenerierung und Branch-and-Price Spaltengenerierung Branch-and-Price

121 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenverfahren Schnittebenenverfahren gehören zu den erfolgreichsten Verfahren zur Lösung ganzzahliger Optimierungsprobleme. Vollständige Beschreibung des Polytops eines ILPs durch Ungleichungen oft unmöglich. Meist genügt es, nur einen kleinen Teil der Ungleichungen zu benützen.

122 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenverfahren Grundidee Beginnne mit einer kleinen Teilmenge der Restriktionen und löse das resultierende LP. Prüfe ob Lösung für alle Restriktionen zulässig ist. Falls Ja : optimal Andernfalls finde Restriktion die von Lösung verletzt ist und füge sie zum LP hinzu. Iteriere bis keine Restriktionen mehr hinzugefügt werden müssen.

123 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenverfahren

124 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenverfahren 1: Starte mit einer Teilmenge der Restriktionen (z.b. nur den trivialen 0 x 1). 2: Löse LP, sei x die gefundene Optimallösung. 3: Gibt es weggelassene Restriktionen a T x a 0, so dass a T x > a 0, a 0 R? 4: falls nein dann { 5: Stopp (LP gelöst). 6: } sonst { 7: Bestimme solche, füge sie zu LP hinzu und gehe zu Zeile 2. 8: }

125 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Die in Zeilen 3 8 zu lösende Aufgabe heißt Separationsproblem. Definition (Separationsproblem) Gegeben ist ein Punkt x R E und ein Polytop P. Bestimme, ob x P, und falls x P, finde eine Restriktion a T x a 0, die für alle Punkte x P gültig ist, jedoch für den Punkt x verletzt ist, d.h. für alle Punkte x P muss gelten a T x a 0, und für x muss gelten a T x > a 0.

126 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Theorem (Grötschel, Lovasz, Schrijver 1981) Wir können eine lineare Zielfunktion über einem Polytop genau dann in polynomieller Zeit lösen, wenn wir das dazugehörige Separationsproblem in polynomieller Zeit lösen können.

127 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem Gegeben: gerichteter Graph D = (V, A) mit Bogengewichten c uv R + (uv) A Gesucht: Teilgraph maximalen Gewichts, der keine gerichteten Kreise enthält. Das Acyclic Subgraph Problem ist i.a. NP-schwierig.

128 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem ILP-Formulierung Variablen x uv {0, 1} für alle Bögen (uv) des Graphen Ziel: max c uv x uv uv A Es dürfen keine gerichteten Kreise auftreten: x uv C 1 gerichteten Kreise C in D uv C

129 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem ILP-Formulierung max c uv x uv uv A uv C x uv C 1 gerichteten Kreise C in D 0 x uv 1 (u, v) A x uv Z (u, v) A Problem?

130 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem Exponentiell viele Kreise exponentiell viele Ungleichungen. Wegen der Äquivalenz von Separiereung und Optimierung, kann LP-Relaxierung in polynomieller Zeit gelöst werden. Zu Beginn: Wir lösen LP ohne Kreisungleichungen. Optimale Lösung des LPs x. Wie lösen wir für x und für die Kreisungleichungen das Separationsproblem?

131 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem Wir schreiben die Ungleichungen zunächst um: x uv C 1 C x uv 1 (1 x uv ) 1 uv C uv C uv C Unser Ziel ist es, einen Kreis C zu finden, dessen Ungleichung (1 x uv ) 1 am Punkt x verletzt ist. uv C

132 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem D.h. wir wollen einen Kreis finden, für den gilt (1 x uv ) < 1. Gleichbedeutend mit: uv C Ersetze Gewichte x uv durch neue Gewichte 1 x uv. Suche nach Kreis mit Bogengewichtssumme kleiner als 1. Suchen nach einem kürzesten Kreis in einem gewichteten gerichteten Graphen.

133 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem Problem wird in A Teilprobleme aufgeteilt: Suche kürzesten Kreis der eine bestimmte Kante f A enthält. Für jede Kante f = (i, j) A: 1 Berechne kürzesten (j, i)-weg in D bezüglich der neuen Kantenkosten 1 x uv für alle Kanten (u, v) A. 2 Falls Weglänge plus Gewicht (1 x ij ) der Kante f = (i, j) kleiner 1 ist, haben wir eine verletzte Ungleichung gefunden. Das Separationsproblem ist gelöst. 3 Sonst: Es existiert keine verletzte Kreis-Ungleichung die f enthält, Separationsproblem ist gelöst.

134 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebeneverfahren Acyclic Subgraph Problem Sobald eine verletzte Kreisungleichung gefunden wurde, fügen wir diese zu unserem LP hinzu und re-optimieren. Wir erhalten eine neue andere Lösung, für die wir wiederum das Separationsproblem lösen müssen. Dies machen wir solange, bis keine verletzten Ungleichungen mehr gefunden werden. Das assoziierte LP ist gelöst. Wir haben also das relaxierte Acyclic Subgraph LP in polynomieller Zeit gelöst, obwohl es exponentiell viele Ungleichungen besitzt.

135 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenenverfahren Travelling Salesperson Problem Gegeben: Vollständiger Graph K n = (V, E) mit Kantengewichten c R E. Gesucht: Rundtour (bzw. Tour oder Hamiltonkreis) minimalen Gewichts. Zulässigen Lösungen: Menge aller Touren in K n. Variablen: Kanten in K n. Jeder Tour entspricht ein 0/1-Vektor x R E und umgekehrt.

136 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenenverfahren Travelling Salesperson Problem ILP-Formulierung Sei δ(v) die Menge aller zu v inzidenten Kanten und x(δ(v)) die Summe aller Werte x e, deren Kanten sich in δ(v) befinden. Touren besuchen jeden Knoten genau einmal: Anzahl der zu v inzidenten Kanten in einer Tour ist genau 2. Daraus folgen die Grad-Gleichungen: x(δ(v)) = 2 für alle v V Diese Gleichungen alleine genügen noch nicht, um Touren zu charakterisieren.

137 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenenverfahren Travelling Salesperson Problem ILP-Formulierung Eine Tour ist zusammenhängend. Sei beliebige Tour T, betrachte Knotenmenge W V und alle Kanten, die in W beginnen und außerhalb von W enden: Dann müssen davon mindestens zwei Kanten Teil von T sein. Dies führt zu Subtour-Eliminations-Ungleichungen: x(δ(w )) 2 für alle W V, W, W V Ein Schnitt δ(w ) einer Knotenmenge W V bezeichnet alle Kanten, die einen Endknoten in W, und einen Endknoten außerhalb von W besitzen. x(δ(w )) bezeichnet die Summe aller Werte x e, deren Kanten sich im Schnitt δ(w ) befinden.

138 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenenverfahren Travelling Salesperson Problem ILP-Formulierung min c T x x(δ(v)) = 2 für alle v V x(δ(w )) 2 für alle W V, W, W V 0 x e 1 für alle e E x e {0, 1} für alle e E Problem?

139 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenenverfahren Travelling Salesperson Problem Anzahl der Grad-Gleichungen ist genau n. Anzahl der Subtour-Eliminations-Ungleichungen exponentiell (denn es gibt eine Ungleichung für jede Teilmenge W von V ). Wir können aber das Separationsproblem für diese Ungleichungen lösen. Wir lassen die Subtour-Eliminations-Ungleichungen weg und lösen das erhaltene LP. Optimale Lösung des LPs: x.

140 Schnittebeneverfahren und B&C Schnittebenenverfahren Schnittebenenverfahren Travelling Salesperson Problem Separationsproblem Berechnen eines minimalen Schnitts in dem Graphen mit den Kantengewichten x e (für alle Kanten e E) Dieser gibt Menge W V und Wert x(δ(w )) an. Falls x(δ(w )) < 2: verletzte Ungleichung gefunden. Andernfalls kann keine Menge W mit x(δ(w )) < 2 existieren. Separationsproblem trotz exponentiell vieler Subtour-Eliminations-Ungleichungen gelöst.

141 Schnittebeneverfahren und B&C Branch-and-Cut Branch-and-Cut Schnittebenenverfahren liefert nur Lösung für LP. Ganzzahlige Lösungen: Branch-and-Bound mit Schnittebeneverfahren kombinieren: Branch-and-Cut Die einzelnen Teilprobleme (LP-Relaxierungen) werden mittels Schnittebenenverfahren gelöst. Wenn man dort nicht mehr weiterkommt teilt man die Probleme auf. Jedes der neuen Teilprobleme wird wieder mit dem Schnittebenenverfahren gelöst.

142 Schnittebeneverfahren und B&C Branch-and-Cut Branch-and-Cut Idealerweise gibt es bei Branch-and-Cut Verfahren einen relativ kleinen Branch-and-Bound Baum, während dieser bei Branch-and-Bound typischerweise groß ist. Der Erfolg von Branch-and-Cut Algorithmen beruht auf 1 der Verwendung guter LP-Relaxierungen 2 schnellen Separationsalgorithmen 3 zahlreichen strategischen und algorithmischen Tricks

143 Spaltengenerierung und B&P Übersicht 4 Branch-and-Bound für Ganzzahlige Optimierung 5 Schnittebeneverfahren und Branch-and-Cut Schnittebenenverfahren Branch-and-Cut 6 Spaltengenerierung und Branch-and-Price Spaltengenerierung Branch-and-Price

144 Spaltengenerierung und B&P Spaltengenerierung Spaltengenerierung Im Gegensatz zu Schnittebenenverfahren, geht es hier um Formulierungen mit einer enormen Anzahl von Variablen und einer akzeptablen Anzahl von Restriktionen. Wir werden hier keine Schnittebenen, sondern Variablen erzeugen. Da jeder Variable eine Spalte der Koeffizientenmatrix entspricht, spricht man von Spaltengenerierung.

145 Spaltengenerierung und B&P Spaltengenerierung Spaltengenerierung Grundidee der Spaltengenerierung stammt aus Simplexalgorithmus. Immer nur Variablen mit positiven reduzierten Kosten kommen neu in die Basis. Es ist ausreichend mit kleiner Menge der Variablen zu beginnen. Solange man solche Variablen findet: eine hinzufügen und wieder lösen.

146 Spaltengenerierung und B&P Spaltengenerierung Spaltengenerierung Subproblem: Suchen einer Variable mit maximalen reduzierten Kosten (Pricing-Problem). Wenn eine Variable/Spalte mit positiven reduzierten Kosten gefunden werden konnte, wird sie zum Hauptproblem hinzugefügt und als hinzukommende Variable im Simplexalgorithmus verwendet. Dies wird solange wiederholt bis keine solche Variable mit positiven reduzierten Kosten mehr existiert und somit der Simplexalgorithmus eine optimale Lösung gefunden hat.

147 Spaltengenerierung und B&P Spaltengenerierung Spaltengenerierung 1: Starte mit einer Teilmenge der Variablen (z.b. nur Variablen einer zulässigen Lösung). 2: Löse LP, sei x die gefundene Optimallösung. 3: Entscheide, ob es eine Variable mit reduzierten Kosten c j mit c j > 0 gibt. 4: falls nein dann { 5: Stopp (LP gelöst). 6: } sonst { 7: Bestimme Variable j mit c j > 0, füge sie zu LP hinzu und gehe zu Zeile 2. 8: }

148 Spaltengenerierung und B&P Spaltengenerierung Spaltengenerierung Wo tauchen solche Probleme überhaupt auf? Warum braucht man Formulierungen mit exponentiell vielen Variablen? Viele Probleme in der Praxis: Nur mit Spaltengenerierung in akzeptabler Zeit lösbar Crew Scheduling, Vehicle Routing, Cutting and Packing... Jeder Variable würde z.b. eine gültige Route entsprechen. Formulierungen mit exponentiell vielen Variablen oft bessere Schranken als andere, kompakte Formulierungen. Dantzig-Wolfe Dekomposition: Aus einem kompakten ILP eines mit exponentiell vielen Variablen zu erzeugen, welches eine bessere Schranke als das Original aufweist.

3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung

3.4 Exakte Verfahren für (Gemischt-) Ganzzahlige Optimierung 32KAPITEL 3. NP-SCHWIERIGE KOMBINATORISCHE OPTIMIERUNGSPROBLEME n Anzahl der Ungleichungen 3 8 4 20 5 40 6 910 7 87.472 8 >488.602.996 Tabelle 3.1: Anzahl der Ungleichungen des LOP-Polytops für n 8 3.4

Mehr

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010

Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) SS 2010 Lösungsverfahren für Ganzzahlige Optimierung Sandro Pirkwieser, (Bin Hu, Jakob Puchinger) Fortgeschrittene Algorithmen und Datenstrukturen Arbeitsbereich für Algorithmen und Datenstrukturen Institut für

Mehr

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering Das Linear Ordering Problem Exakte Lösungsverfahren VO Algorithm Engineering für NP-schwierige Professor Dr. Petra Mutzel kombinatorische Lehrstuhl für Algorithm Engineering, LS11 Optimierungsprobleme

Mehr

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

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering Kap. 3: Exakte Lösungsverfahren für NPschwierige kombinatorische Optimierungsprobleme VO Algorithm Engineering 3.1 Einführung Professor Dr. Petra Mutzel 3.2 Komb. vs. Ganzzahlige Opt. Lehrstuhl für Algorithm

Mehr

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen Kapitel 4 Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen 1 Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

Optimierungsverfahren in der Transportlogistik

Optimierungsverfahren in der Transportlogistik Optimierungsverfahren in der Transportlogistik Jakob Puchinger 1 1 Dynamic Transportation Systems, arsenal research Jakob Puchinger (arsenal research) Optimierungsverfahren in der Transportlogistik 1 /

Mehr

NP-schwierige kombinatorische Optimierungsprobleme

NP-schwierige kombinatorische Optimierungsprobleme Kapitel 3 NP-schwierige kombinatorische Optimierungsprobleme Optimierungsprobleme sind Probleme, die im Allgemeinen viele zulässige Lösungen besitzen. Jeder Lösung ist ein bestimmter Wert (Zielfunktionswert,

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales

Mehr

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

Operations Research. Ganzzahlige lineare Programme. ganzzahlige lineare Programme. Ganzzahlige lineare Programme. Rainer Schrader. 25. Operations Research Rainer Schrader Ganzzahlige lineare Programme Zentrum für Angewandte Informatik Köln 25. Juni 2007 1 / 49 2 / 49 Ganzzahlige lineare Programme Gliederung ganzzahlige lineare Programme

Mehr

Kap. 4: Lineare Programmierung

Kap. 4: Lineare Programmierung Kap. 4: Lineare Programmierung Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO A&D WS 08/09 27.11./2.12.2008 Petra Mutzel Alg. & Dat.

Mehr

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

1. Lineare Optimierungsaufgaben (LOA) als Teilklasse konvexer Optimierungsprobleme. f(x) min, x G (1.1) (Legende) . Lineare Optimierungsaufgaben (LOA) als Teilklasse konvexer Optimierungsprobleme X Banachraum, wobei X = R n G zulässige Menge des Optimierungsproblems f: G R Zielfunktion f(x) min, x G (.) (Legende)

Mehr

Optimierung. Vorlesung 02

Optimierung. Vorlesung 02 Optimierung Vorlesung 02 LPs in kanonischer Form Für i = 1,, m und j = 1,, d seien c j, b i und a ij reele Zahlen. Gesucht wird eine Belegung der Variablen x 1,, x d, so das die Zielfunktion d c j x j

Mehr

Ganzzahlige lineare Programme

Ganzzahlige lineare Programme KAPITEL 5 Ganzzahlige lineare Programme Wir betrachten nun Optimierungsprobleme vom Typ (42) min c T x s.d. Ax = b, x 0, x ganzzahlig, wobei die Matrix A R m n und die Vektoren c R n, b R m gegeben seien.

Mehr

Schnittebenenverfahren für das symmetrische

Schnittebenenverfahren für das symmetrische Schnittebenenverfahren für das symmetrische TSP Sebastian Peetz Mathematisches Institut Universität Bayreuth 19. Januar 2007 / Blockseminar Ganzzahlige Optimierung, Bayreuth Gliederung 1 Das symmetrische

Mehr

mit. Wir definieren (Skalarprodukt = Winkel).

mit. Wir definieren (Skalarprodukt = Winkel). 1 Grundidee des Simplexverfahrens (von George Dantzig): Man bestimmt eine beliebige Ecke (Extremalpunkt) einer Lösungsmenge eines Ungleichungssystems. Nun geht man an den Kanten vom Punkt entlang und kontrolliert

Mehr

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

Computer Science Department - High Performance and Web Computing Group. Optimierungsprobleme Optimierungsprobleme Häufig in Alltagssituationen anzutreffen (z.b. Kauf eines Gerätes) Optimierungsprobleme (OPs) sind Probleme, die i.a. viele zulässige Lösungen besitzen Jeder Lösung ist ein bestimmter

Mehr

Schnittebenenverfahren von Gomory. Stefan Allescher 30. Juni 2005

Schnittebenenverfahren von Gomory. Stefan Allescher 30. Juni 2005 Schnittebenenverfahren von Gomory Stefan Allescher 30. Juni 2005 Inhaltsverzeichnis 1. Grundprinzip 2. Das Verfahren von Gomory 2.1. Vorgehen 2.2. Beweis der Endlichkeit 2.3. Algorithmische Durchführung

Mehr

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung

Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Dr. Nico Düvelmeyer Freitag, 24. Juni 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Dualität Motivation Duales LP Dualitätssätze

Mehr

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

Optimierung. Optimierung. Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus Fabian Kuhn Optimierung Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus 1 Resource Allocation Beispiel aus Vorlesung 6 Primales LP: Duales LP: max 3 4 2 2 4 2 8 3 6 0, 0, 0 min 4 8 6 2 3 3 4 2 2 0, 0,

Mehr

10. Die Berücksichtigung nicht vorzeichenbeschränkter Variablen

10. Die Berücksichtigung nicht vorzeichenbeschränkter Variablen 10. Die Berücksichtigung nicht vorzeichenbeschränkter Variablen Bisher haben wir immer vorausgesetzt, dass alle Variablen eines LOP der Bedingung x i 0 liegen. Im Folgenden wollen wir auch sogenannte freie

Mehr

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

VORLESUNG 11 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) VORLESUNG Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 3 Wiederholung! Lineare Programme häufig geeignete Modellierung von Optimierungsproblemen! Verschiedene Darstellungen sind

Mehr

Teil I. Lineare Optimierung

Teil I. Lineare Optimierung Teil I Lineare Optimierung 5 Kapitel 1 Grundlagen Definition 1.1 Lineares Optimierungsproblem, lineares Programm. Eine Aufgabenstellung wird lineares Optimierungsproblem oder lineares Programm genannt,

Mehr

Die duale Simplexmethode

Die duale Simplexmethode Kapitel 0 Die duale Simplexmethode Bei der dualen Simplexmethode ist eine Startlösung oftmals leichter angebbar als bei der Simplexmethode für das ursprüngliche lineare Programm, da man keine Nichtnegativitätsanforderungen

Mehr

How To Solve The Linear Ordering Problem (Lop)

How To Solve The Linear Ordering Problem (Lop) Kap. 3: Hierarchische Zeichenverfahren 3.4 Kreuzungsminimierung ffff Exakte Verfahren Prof. Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering LS11 Universität Dortmund 11./12. VO WS07/08 19./20. November

Mehr

Dualitätssätze der linearen Optimierung

Dualitätssätze der linearen Optimierung Kapitel 9 Dualitätssätze der linearen Optimierung Sei z = c T x min! Ax = b 9.1 x 0 mit c, x R n, b R m, A R m n ein lineares Programm. Definition 9.1 Duales lineares Programm. Das lineare Programm z =

Mehr

Das Travelling Salesman Problem Exakte Lösungsverfahren für NP-schwierige kombinatorische Optimierungsprobleme 5. VO

Das Travelling Salesman Problem Exakte Lösungsverfahren für NP-schwierige kombinatorische Optimierungsprobleme 5. VO Das Travelling Salesman Problem Exakte Lösungsverfahren für NP-schwierige kombinatorische Optimierungsprobleme 5. VO 31.10.2005 Überblick Kurz-Wiederholung vom letzten Mal Kombinatorische Optimierungsprobleme

Mehr

Vorlesung Lineare Optimierung (Sommersemester 2010)

Vorlesung Lineare Optimierung (Sommersemester 2010) 1 Vorlesung Lineare Optimierung (Sommersemester 2010) Kapitel 6: Die Geometrie der Linearen Optimierung Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 15. Juni 2010) Gliederung 2 Das

Mehr

Eigenschaften von LPs

Eigenschaften von LPs 2 Lineare Programmierung Eigenschaften von LPs Eigenschaften von LPs Definition 24 Eine Menge K IR n heißt konvex gdw für je zwei Punkte Punkte x (1) K und x (2) K auch jeder Punkt mit 0 λ 1 zu K gehört

Mehr

4.3.3 Simplexiteration

4.3.3 Simplexiteration 7. Januar 2013 53 4.3.3 Simplexiteration Eine Simplexiteration entspricht dem Übergang von einer Ecke des zulässigen Bereiches in eine benachbarte Ecke Dabei wird genau eine Nichtbasisvariable (die zugehörige

Mehr

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

VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) VORLESUNG 12 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 53 Wiederholung! Basis-Startlösung berechnet! Künstliche Variablen! Erkennung von unlösbaren Problemen! Eliminierung

Mehr

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung

Kap. 4.3: Das Dualitätstheorem der linearen Optimierung Kap. 4.3: Das Dualitätstheorem der linearen Optimierung Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 18. VO A&D WS 08/09 18.12.2008 1 Literatur

Mehr

Lineare Optimierung: Simplexverfahren Phase Ⅰ

Lineare Optimierung: Simplexverfahren Phase Ⅰ Lineare Optimierung: Simplexverfahren Phase Ⅰ Zur Erinnerung: Die Lineare Optimierungsaufgabe in Standardform lautet z = c T x + c 0 min (.) bei Ax = b, x 0. Revidiertes Simplexverfahren Mit dem Simplexverfahren

Mehr

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

Minimumproblem. Definition 4.7. Ein LP der Form. unter den Nebenbedingungen. d ij x j b i (i =1,...,m) Minimumproblem Definition 4.7 Ein LP der Form nx Minimiere Z = c j x j j=1 unter den Nebenbedingungen nx d ij x j b i (i =1,...,m) j=1 und den Vorzeichenbedingungen x j 0(j =1,...,n) heißt Minimumproblem.

Mehr

1 Der Simplex Algorithmus I

1 Der Simplex Algorithmus I 1 Nicoletta Andri 1 Der Simplex Algorithmus I 1.1 Einführungsbeispiel In einer Papiermühle wird aus Altpapier und anderen Vorstoffen feines und grobes Papier hergestellt. Der Erlös pro Tonne feines Papier

Mehr

Inhaltsübersicht für heute:

Inhaltsübersicht für heute: Inhaltsübersicht für heute: Branch-and-Bound Konvexe Mengen, konvexe Hülle, konvexe Funktionen Relaxation Inhaltsübersicht für heute: Branch-and-Bound Konvexe Mengen, konvexe Hülle, konvexe Funktionen

Mehr

Optimierung. Vorlesung 08

Optimierung. Vorlesung 08 Optimierung Vorlesung 08 Heute Dualität Ganzzahligkeit Optimierung der Vorlesung durch Evaluierung 2 Das duale LP Das primale LP Maximiere c T x unter Ax b, x R d 0. wird zu dem dualen LP Minimiere b T

Mehr

Schnittebenenverfahren und Heuristiken

Schnittebenenverfahren und Heuristiken KAPITEL 6 Schnittebenenverfahren und Heuristiken Wir betrachten nun Optimierungsprobleme vom Typ (68) minc T x s.d. Ax b,x 0,x ganzzahlig, wobei die Matrix A R m n und die Vektoren c R n,b R m gegeben

Mehr

Literatur für diese VO. Überblick. Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme

Literatur für diese VO. Überblick. Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme Kap. : Approximationsalgorithmen für kombinatorische Optimierungsprobleme Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Literatur für diese VO

Mehr

Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme

Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme Kap. 5: Approximationsalgorithmen für kombinatorische Optimierungsprobleme Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 18./20. VO A&D WS 08/09

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Lineare Optimierung und Simplex-Algorithmus

Lineare Optimierung und Simplex-Algorithmus Lineare Optimierung und Simplex-Algorithmus Problemstellung Beispiel : Unser Unternehmen verfügt über drei Maschinen A, B, C, mit denen zwei verschiedene Produkte P, P2 hergestellt werden. Die Maschinen

Mehr

Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme

Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme Kapitel 11 Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme Wir betrachten folgendes Optimierungsproblem z = c T x min! Ax = b (11.1) (11.2) x j ganz für j = 1,..., n 1 n, (11.3)

Mehr

Optimale Steuerung 1 Prozessoptimierung 1

Optimale Steuerung 1 Prozessoptimierung 1 Optimale Steuerung 1 Prozessoptimierung 1 Kapitel 2: Lineare Optimierung Prof. Dr.-Ing. Pu Li Fachgebiet Simulation und Optimale Prozesse (SOP) Lineare Algebra (Mathematische Grundlagen) 2 Beispiel: Produktionsplanung

Mehr

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

Vorlesung Wirtschaftsmathematik I WS 2007/2008, Wirtschaftingenieurwesen. Kapitel IV: Grundlagen der Linearen Optimierung Vorlesung Wirtschaftsmathematik I WS 2007/2008, Wirtschaftingenieurwesen Kapitel IV: Grundlagen der Linearen Optimierung Inhaltsverzeichnis Abschnitt 3-5 3 Der Simplexalgorithmus 58 3.1 Grundlagen..............................

Mehr

A = A A

A = A A Musterlösung - Aufgabenblatt 8 Aufgabe 1 Gegeben ist das Polytop P = conv {±e i ± e j : 1 i, j 3, i j} = conv {e 1 + e 2, e 1 e 2, e 1 + e 2, e 1 e 2, e 1 + e 3, e 1 e 3, e 1 + e 3, e 1 e 3, e 2 + e 3,

Mehr

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

VORLESUNG 14 Lineare Optimierung, Dualität (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) VORLESUNG 14 Lineare Optimierung, Dualität (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 96 H. Meyerhenke: Kombinatorische Optimierung Dualität bei linearen Programmen Def.: Es sei (L): c T x max

Mehr

Optimierung für Wirtschaftsinformatiker: Lineare Programme

Optimierung für Wirtschaftsinformatiker: Lineare Programme Optimierung für Wirtschaftsinformatiker: Lineare Programme Dr. Nico Düvelmeyer Dienstag, 31. Mai 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Lineare Programme Allgemeine Form 2 Spezielle Darstellungen

Mehr

Wir gewichten die Kanten von G wie folgt: Kante e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 d(e i )

Wir gewichten die Kanten von G wie folgt: Kante e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 d(e i ) Prof. Dr. U. Faigle J. Voss SS 2011 12. Übung zur Einführung in die Mathematik des Operations Research Dieses Übungsblatt wird nicht mehr gewertet. Aufgabe 1: Sei G = (V, E) ein gerichteter Graph und x

Mehr

Studientag zur Algorithmischen Mathematik

Studientag zur Algorithmischen Mathematik Studientag zur Algorithmischen Mathematik Lineare Optimierung Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 1. Juli 2012 Outline Lineares Programm (LP) in Standardform

Mehr

Optimierung für Nichtmathematiker

Optimierung für Nichtmathematiker Optimierung für Nichtmathematiker Prof. Dr. R. Herzog WS2010/11 1 / 1 Teil IV Konvexe und ganzzahlige Optimierung Vorlesung 11 IV Konvexe und ganzzahlige Optimierung 2 / 34 Inhaltsübersicht 29Lineare Optimierung

Mehr

Übung 3, Simplex-Algorithmus

Übung 3, Simplex-Algorithmus Übung 3, 21.6.2011 Simplex-Algorithmus Aufgabe 3.1 Lösen Sie das folgende Optimierungsproblem (von Aufgabe 2.3) graphisch. Substituieren Sie dazu z = 5 y um ein 2-dimensionales Problem zu erhalten. Rechnung

Mehr

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

Kapitel 7 : Lineare Programmierung Die Simplexmethode (G.B.Dantzig, 1947) Beispiel: Kapitel 7 : Lineare Programmierung Die Simplexmethode (G.B.Dantzig, 1947) Beispiel: Eine Firma produziert die Produkte P 1, P 2,..., P q aus den Rohstoffen R 1, R 2,..., R m. Dabei stehen b j Einheiten

Mehr

1 Lineare Optimierung, Simplex-Verfahren

1 Lineare Optimierung, Simplex-Verfahren 1 Lineare Optimierung, Simplex-Verfahren 1.1 Einführung Beispiel: In einer Fabrik werden n Produkte A 1, A 2,..., A n hergestellt. Dazu werden m Rohstoffe B 1, B 2,..., B m (inklusive Arbeitskräfte und

Mehr

Kap. 8: Travelling Salesman Problem

Kap. 8: Travelling Salesman Problem Kap. 8: Travelling Salesman Problem Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 15. VO 5.2.07 Überblick 8.1 Einführung Einführung in TSP 8.2 ILP-Formulierung für TSP 8.3 Branch-and-Cut

Mehr

Wie schreibe ich einen Kürzester Kruzester

Wie schreibe ich einen Kürzester Kruzester Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 5 Vorlesung Algorithmentechnik im WS 8/9 Ausgabe 16. Dezember 8 Abgabe 13. Januar 9, 15:3 Uhr (im Kasten vor Zimmer 319, Informatik-Hauptgebäude,

Mehr

3.6 Branch-and-Bound-Verfahren

3.6 Branch-and-Bound-Verfahren 36 Branch-and-Bound-Verfahren Die Branch-and-Bound -Methode beruht darauf, auf eine intelligente Weise alle zulässigen Lösungen eines kombinatorischen Optimierungsproblems aufzulisten und mit Hilfe von

Mehr

Operations Research. Polyeder und Polytope. Polyeder und Polytope. Polyeder. Rainer Schrader. 11. Mai Gliederung. sei P R n

Operations Research. Polyeder und Polytope. Polyeder und Polytope. Polyeder. Rainer Schrader. 11. Mai Gliederung. sei P R n Operations Research Rainer Schrader Polyeder und Zentrum für Angewandte Informatik Köln. Mai 27 / 83 2 / 83 Gliederung Polyeder Optimierung linearer Funktionen Rezessionskegel und polyedrische Kegel rationale

Mehr

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

Operations Research. Die Simplexmethode. LP-Dualität. Die Simplexmethode. Rainer Schrader. 18. Juni Zur Erinnerung: Gliederung Operations Research Rainer Schrader Die Simplexmethode Zentrum für Angewandte Informatik Köln 18 Juni 00 1 / 1 / 1 Gliederung LP-Dualität ein lineares Produktionsmodell der Simplexalgorithmus Phase I Endlichkeit

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7 Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt

Mehr

Wiederholung. Wir gehen von LP s in Standardform aus, wobei A R m n vollen Zeilenrang hat: minc T x A x = b

Wiederholung. Wir gehen von LP s in Standardform aus, wobei A R m n vollen Zeilenrang hat: minc T x A x = b Wiederholung Wir gehen von LP s in Standardform aus, wobei A R m n vollen Zeilenrang hat: minc T x A x = b x 0. x R n heißt Basislösung, wenn Ax = b und rang(a J ) = J, wobei J = {j x (j) 0}; Basislösung

Mehr

Kap. 5: Graph Coloring

Kap. 5: Graph Coloring Kap. 5: Graph Coloring Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 10./11. VO 18.12.06 / 8.1.07 Überblick 5.1 Einführung Definition und Motivation Sudoku 5.2 ILP-Formulierungen

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Primale Separierung für Max-Cut und gradbeschränkte minimale

Primale Separierung für Max-Cut und gradbeschränkte minimale Primale Separierung für Max-Cut und gradbeschränkte minimale Spannbäume Diplomarbeit von Markus Behle angefertigt im Institut für Informatik der Universität zu Köln unter Anleitung von Prof. Dr. Michael

Mehr

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung. Operations Research Rainer Schrader Flüsse in Netzwerken Zentrum für Angewandte Informatik Köln 2. Juli 2007 1 / 53 2 / 53 Flüsse in Netzwerken Unimodularität Gliederung Netzwerke und Flüsse bipartite

Mehr

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis Barbara Wilhelm Michael Ritter Station 3: Das Matching-Polytop Diskutieren Sie folgende Fragen in der

Mehr

Überblick Kap. 5: Graph Coloring

Überblick Kap. 5: Graph Coloring Überblick Kap. 5: Graph Coloring Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 10./11. VO 18.12.0 / 8.1.07 5.1 Einführung Definition und Motivation Sudoku 5.2 ILP-Formulierungen

Mehr

Traveling Salesman Problem (TSP) Exakte Algorithmen für NP-schwere Probleme Integer Lineare Programme Branch-and-Cut

Traveling Salesman Problem (TSP) Exakte Algorithmen für NP-schwere Probleme Integer Lineare Programme Branch-and-Cut Traveling Salesman Problem (TSP) Exakte Algorithmen für NP-schwere Probleme Integer Lineare Programme Branch-and-Cut VO Graphenalgorithmen WiSe 2009/10 Markus Chimani TU Dortmund NP-schwere Probleme 2

Mehr

Optimierung. Vorlesung 04

Optimierung. Vorlesung 04 Optimierung Vorlesung 04 Übungsbetrieb Mangels Teilnehmer keine Dienstagsübung mehr. Prüfung laut Paul: Di, 10. Feb. 2015 00:01-23:59 2 Was bisher geschah LP: Maximiere c T x unter Ax = b, x 0. Basis:

Mehr

Lineare Optimierungsmodelle

Lineare Optimierungsmodelle Lineare Optimierungsmodelle Simplex-Methode Vortragender: Michael Schneider Agenda Motivation Operations Research Aufbau linearer Optimierungsmodelle Simplex-Methode Ausblick 2 Problemstellung Futtermischung

Mehr

3. Schnittebenenverfahren

3. Schnittebenenverfahren 3. Schnittebenenverfahren Themen 3. Schnittebenenverfahren Ganzzahlige lineare Programmierung Schnittebenenverfahren Konstruktion von Schnittebenen Auswahl von Schnittrestriktionen Operations Research

Mehr

ist ein Polyeder. c) Sei F eine Seite von P. Wann ist f 1 (F ) eine Seite von f 1 (P )? Begründen Sie Ihre Antwort. x 1. x = max{ x i i N n }.

ist ein Polyeder. c) Sei F eine Seite von P. Wann ist f 1 (F ) eine Seite von f 1 (P )? Begründen Sie Ihre Antwort. x 1. x = max{ x i i N n }. alteklausuraufgaben 1 LinOpt Klausur Sommersemester 05 Aufgabe 1 a) Definieren Sie den Begriff der konischen Hülle. b) Sei S R n. Zeigen Sie: Cone S = Lin S x S : x Cone (S \ {x}). Aufgabe 2 a) Definieren

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie 1 Algorithmische Graphentheorie Sommersemester 2014 5. Vorlesung Matchings / Paarungen II Kombinatorischer Algorithmus, Anwendung für Handlungsreisende, LP-Runden Dr. Joachim Spoerhase Prof. Dr. Alexander

Mehr

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

Simplex-Verfahren. Kapitel 4. Simplex-Verfahren. Peter Becker (H-BRS) Operations Research I Sommersemester / 298 Kapitel 4 Simplex-Verfahren Peter Becker (H-BRS) Operations Research I Sommersemester 24 86 / 298 Inhalt Inhalt 4 Simplex-Verfahren Dualer Simplexalgorithmus Vermeidung von Zyklen Peter Becker (H-BRS)

Mehr

Mathematische Methoden der Algorithmik

Mathematische Methoden der Algorithmik Mathematische Methoden der Algorithmik Dozent: Prof. Dr. Sándor P. Fekete Assistent: Nils Schweer Digitalisierung: Winfried Hellmann Wintersemester 2008/2009 Inhaltsverzeichnis 2 1 Einführung Problem 1.1

Mehr

3.1. Existenzsatz und Struktur der Lösungsmenge

3.1. Existenzsatz und Struktur der Lösungsmenge 3. EXISTENZ UND DUALITÄT 3.1. Existenzsatz und Struktur der Lösungsmenge Nach dem Satz von Weierstraß besitzt eine lineare Funktion auf einem Polytop stets ein Minimum und ein Maximum. Im allgemeinen Fall

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 22 1 Das Travelling Salesperson Problem

Mehr

Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018

Mathematik II für Studierende der Informatik (Analysis und lineare Algebra) im Sommersemester 2018 (Analysis und lineare Algebra) im Sommersemester 2018 15. April 2018 1/46 Die Dimension eines Vektorraums Satz 2.27 (Basisergänzungssatz) Sei V ein Vektorraum über einem Körper K. Weiter seien v 1,...,

Mehr

lineare Programmierung

lineare Programmierung lineare Programmierung Viele Probleme sind durch lineare Gleichungssysteme charakterisiert lineare Programmiermethoden Der Lösungsraum ist häufig auf ganze Zahlen oder gar natürliche Zahlen eingeschränkt!

Mehr

7.1 Matrizen und Vektore

7.1 Matrizen und Vektore 7.1 Matrizen und Vektore Lineare Gleichungssysteme bestehen aus einer Gruppe von Gleichungen, in denen alle Variablen nur in der 1. Potenz vorkommen. Beispiel Seite 340 oben: 6 x 2 = -1 + 3x 2 = 4 mit

Mehr

Innere-Punkt-Methoden

Innere-Punkt-Methoden Innere-Punkt-Methoden Johannes Stemick 26.01.2010 Johannes Stemick () Innere-Punkt-Methoden 26.01.2010 1 / 28 Übersicht 1 Lineare Optimierung 2 Innere-Punkt-Methoden Path-following methods Potential reduction

Mehr

Experimente. Zahlenbeispiel. Cache-Optimale Algorithmen. Warum Funktionieren Caches? Cache-Oblivious Speichermodell. Characterisierung von Caches

Experimente. Zahlenbeispiel. Cache-Optimale Algorithmen. Warum Funktionieren Caches? Cache-Oblivious Speichermodell. Characterisierung von Caches M=10 9, B=10 6 Zahlenbeispiel Für c=1/7 folgt daraus Experimente 20 Millionen Operationen auf Priority Queue mit verschiedenen Implementierungen Datenstrukturen ohne Rücksicht auf Paging-Effekte (Fibonacci

Mehr

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier. Henning Fernau Universität Trier

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier. Henning Fernau Universität Trier Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Näherungsalgorithmen Gesamtübersicht Organisatorisches Einführung / Motivation

Mehr

Hauptsatz und Optimalitätskriterium der Simplexmethode

Hauptsatz und Optimalitätskriterium der Simplexmethode Kapitel 4 Hauptsatz und Optimalitätskriterium der Simplexmethode In diesem Abschnitt wird das wichtigste Verfahren zur Lösung linearer Optimierungsprobleme eingeführt die Simplexmethode Es existiere für

Mehr

Inhaltsverzeichnis Grundlagen der Linearen Optimierung

Inhaltsverzeichnis Grundlagen der Linearen Optimierung Inhaltsverzeichnis 4 Grundlagen der Linearen Optimierung 1 4.1 Grundbegriffe............................. 1 4.1.1 Lineare Optimierung..................... 1 4.1.2 Das Grundmodell eines linearen Optimierungsproblems

Mehr

Das Matching Polytop

Das Matching Polytop Das Matching Polytop Manuel Schneider Institut für Mathematik, TU Berlin Seminar: Algorithmische Diskrete Mathematik 27. Mai 2008 Überblick 1 Beschreibungen durch Ungleichungen Das Perfekte Matching Polytop

Mehr

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau

Mehr

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

Klausur zur Vorlesung Einführung in das Operations Research im Wintersemester 2005/2006 Universität Hannover Wirtschaftswissenschaftliche Fakultät Lehrstuhl für Produktionswirtschaft Prof. Dr. Stefan Helber Klausur zur Vorlesung Einführung in das Operations Research im Wintersemester 005/006

Mehr

Übungsblatt 6 Lösungsvorschläge

Übungsblatt 6 Lösungsvorschläge Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Größter Kreis in konvexem Polygon [vgl. Kapitel 6

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Das Travelling Salesperson Problem 2 Das Travelling Salesperson Problem Zentrales Problem der Routenplanung Unzählige wissenschaftliche Artikel theoretischer sowie

Mehr

Grundlagen der Optimierung. Übung 6

Grundlagen der Optimierung. Übung 6 Technische Universität Chemnitz Chemnitz, 2. November 24 Prof. Dr. R. Herzog, J. Blechschmidt, A. Schäfer Abgabe am 28. November 24 Grundlagen der Optimierung Übung 6 Aufgabe 2: Verschiedene Verfahren

Mehr

Lineare Programmierung Teil I

Lineare Programmierung Teil I Seminar über Algorithmen Prof. Dr. Helmut Alt Lineare Programmierung Teil I Lena Schlipf, Benjamin Jankovic Lena Schlipf, Benjamin Jankovic Seminar über Algorithmen SS05 1 Struktur des Vortrags 1. Was

Mehr

Kapitel 5. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Kapitel 5. Peter Becker (H-BRS) Operations Research I Sommersemester / 298 Kapitel 5 Dualität Peter Becker (H-BRS) Operations Research I Sommersemester 2014 241 / 298 Inhalt 5 Dualität Dualitätssätze Zweiphasen-Simplexalgorithmus Peter Becker (H-BRS) Operations Research I Sommersemester

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Skriptausschnitt zur Vorlesung Algorithmen und Datenstrukturen Prof. Dr. Petra Mutzel Wintersemester 2008/09 Lehrstuhl für Algorithm Engineering Universität Dortmund c Alle Rechte vorbehalten 2 Kapitel

Mehr

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

Mathematische Grundlagen für Wirtschaftswissenschaftler Lösungshinweise zu den Übungsaufgaben aus Kapitel 3 - Lineare Optimierung Mathematische Grundlagen für Wirtschaftswissenschaftler Lösungshinweise zu den Übungsaufgaben aus Kapitel - Lineare Optimierung Sascha Kurz Jörg Rambau 8. August Lösung Aufgabe.. Da es sich um ein homogenes

Mehr

1. Transport- und Zuordnungsprobleme

1. Transport- und Zuordnungsprobleme 1. Transport- und Zuordnungsprobleme Themen 1. Transport- und Zuordnungsprobleme Themen: Analyse der Problemstruktur Spezielle Varianten des Simplexalgorithmus für Transport- und Zuordnungsprobleme Bezug

Mehr

Formale Grundlagen der Informatik F3: Berechenbarkeit un

Formale Grundlagen der Informatik F3: Berechenbarkeit un Formale Grundlagen der Informatik F3: Berechenbarkeit und Komplexität Fachbereich Informatik AB Theoretische Grundlagen der Informatik (TGI) Universität Hamburg farwer@informatik.uni-hamburg.de 14. Dezember

Mehr

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop

Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis. Station 3: Das Matching-Polytop Technische Universität München Zentrum Mathematik Diskrete Optimierung: Fallstudien aus der Praxis Barbara Wilhelm Michael Ritter Station 3: Das Matching-Polytop Diskutieren Sie folgende Fragen in der

Mehr

Numerische Lineare Algebra

Numerische Lineare Algebra Numerische Lineare Algebra Vorlesung 7 Prof. Dr. Klaus Höllig Institut für Mathematischen Methoden in den Ingenieurwissenschaften, Numerik und Geometrische Modellierung SS 200 Prof. Dr. Klaus Höllig (IMNG)

Mehr

Inhaltsübersicht für heute:

Inhaltsübersicht für heute: Inhaltsübersicht für heute: Dualität Anwendung: Spieltheorie Komplementarität und Sensitivitätsanalyse Spaltengenerierung Schnittebenenverfahren Welchen Simplex wann? Inhaltsübersicht für heute: Dualität

Mehr

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.

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. 6. Einführung 43 und aus der linearen Unabhängigkeit der (a i ) i I(x) folgt y i = z i auch für i I(x). Insgesamt gilt also y = z, d. h., nach Definition 6.9 ist x eine Ecke von P. Beachte: Der Koordinatenvektor

Mehr