2. Optimierungsprobleme 6

Ähnliche Dokumente
Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 =

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

6. Übung zur Linearen Optimierung SS08

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Vorlesung Datenstrukturen

Betriebliche Optimierung

Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14)

Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14)

Datenstrukturen und Algorithmen

Teil I. Lineare Optimierung

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

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

Betriebswirtschaftliche Optimierung

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

mit. Wir definieren (Skalarprodukt = Winkel).

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

3.6 Branch-and-Bound-Verfahren

Ganzzahlige lineare Programme

Algorithmen II Vorlesung am

Übungsblatt 2 - Lösung

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

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

Algorithmische Graphentheorie

Algorithmen II Vorlesung am

Minimal spannende Bäume

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Algorithmische Graphentheorie

Grundlagen: Algorithmen und Datenstrukturen

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

zul. Kurve g 1 C zul dθ (0) y = dϕ dθ (0) =

Eigenschaften von LPs

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Dualitätssätze der linearen Optimierung

3. Musterlösung. Problem 1: Boruvka MST

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

Vortrag 20: Kurze Vektoren in Gittern

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

5. Bäume und Minimalgerüste

Das Multi Traveling Salesman Problem

Analysis 2, Woche 9. Mehrdimensionale Differentialrechnung I. 9.1 Differenzierbarkeit

Das Matching Polytop

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

Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll.

Theoretische Informatik 1

11. Übung zu Algorithmen I 6. Juli 2016

Musterlösung. Aufgabe 1 a) Die Aussage ist falsch. Ein Gegenbeispiel ist die Funktion f : [0, 1] R, die folgendermaßen definiert ist:

Die Theorie der Toleranzen und deren Anwendung auf das Traveling Salesman Problem

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Theoretische Informatik 1

3 Klassifikation wichtiger Optimierungsprobleme

Euler und Hamiltonkreise

Kapitel IV Minimale Spannbäume

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

1.Aufgabe: Minimal aufspannender Baum

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

KAPITEL 3. Konvexe Funktionen

Innere-Punkt-Methoden

KAPITEL 10 DIE INNERE-PUNKTE-METHODE

Die Tangentialebene. {(x, y, z) z = f(x 0, y 0 )+ f x (x 0, y 0 )(x x 0 )+ f. y (x 0, y 0 )(y y 0 )}

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

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Das Trust-Region-Verfahren

Kap. 4: Lineare Programmierung

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

6. Musterlösung. Problem 1: Abgeschlossenheit der Addition *

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

1 Der Simplex Algorithmus I

Das Steinerbaumproblem

Vorlesung: Analysis II für Ingenieure. Wintersemester 07/08. Michael Karow. Themen: Niveaumengen und Gradient

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

Theoretische Grundlagen der Informatik

Minimal spannender Baum

Approximationsalgorithmen

Algorithmische Graphentheorie

Schnittebenenverfahren für das symmetrische

Kombinatorische Optimierung

3.2 Generischer minimaler Spannbaum-Algorithmus

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Transkript:

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 Zulässigkeitsbereich S I aus sogenannten Lösungen (solutions) Zulässigkeit (Test y S I ) kann in polynomialer Zeit überprüft werden Aufgabe: bestimme für eine Instanz I und eine Zielfunktion c : S I -> Q (rationale Zahlen) eine Optimallösung y = OPT(I) d.h. y S I mit OPT(I) = c(y)! c(x) für alle x S I OPT(I) bezeichnet je nach Kontext die optimale Lösung oder den Zielfunktionswert der optimalen Lösung eine solche Lösung heißt globales Optimum (globales Minimum) oder Optimum (Minimum) Ein Algorithmus, der dies leistet, heißt exakt 2. Beispiel: Traveling Salesman Problem (TSP) Instanz vollständiger Graph K n, n " 3 Kantenbewertung c(e) mit rationalen Zahlen " 0 Aufgabe

2. Beispiele 7-2 Bestimme einen Hamilton Kreis C mit minimaler Länge!!"" # # $!""!!#" Beispiel einer Instanz G = K n in der Ebene mit Euklidischem Abstand Zwei zulässige Lösungen 2. Beispiele 7-3 2.2 Beispiel: Minimum Spanning Tree (MST) Instanz ungerichteter (einfacher) Graph G reellwertige Kantengewichte c(e), e E(G) Aufgabe finde spannenden Baum T von G mit minimalem Gewicht c(t)!!"" # # $!""!!#" oder stelle fest, dass G nicht zusammenhängend (zh) ist

2. Beispiele 7-4 Beispiel von Instanzen Instanz G = K n in der Ebene mit Euklidischem Abstand und eine zulässige Lösung Instanz 2 G = K 4 mit Kantenkosten c(e) aus Kostenmatrix " # $ %!! " & # " $ " => zugehöriger Graph G ist 2. Beispiele 7-5 => zugehöriger Graph G ist G 2 4 2 3 3 2 4 zugehörige Menge S I zulässiger Lösungen besteht aus n n-2 = 6 verschiedenen spannenden Bäumen

2. Beispiele 7-6 4 4 5 5 7 6 6 7 6 6 8 6 9 9 8 8 2.3 Beispiel: Lineare Optimierung (LP) Instanz m x n Matrix A = (a ij ), m Spalten-Vektor b, n Spalten-Vektor c, alle mit rationalen bzw. o.b.d.a. ganzen Zahlen diese Größen definieren den zulässigen Bereich 2. Beispiele 7-7! "!!# R $ " %#! &' # # "$ Zielfunktion c(x) = c T x LP ist ein stetiges Optimierungsproblem! MST und TSP waren diskret. Dennoch lässt sich LP als ein diskretes Beispiel A = (,,), b = (2) zulässige Lösungen erfüllen x + x 2 + x 3 = 2, x j " 0 und bilden damit einen Simplex x 3 v 3 v 2 x 2 v x Beachte: hier gibt es unendlich viele Lösungen, darunter auch nicht ganzzahlige Mann kann jedoch zeigen: Das Optimum wird in einer der endlich vielen "Ecken" v angenommen

2. Beispiele 7-8 Mann kann jedoch zeigen: Das Optimum wird in einer der endlich vielen "Ecken" v k angenommen => Beschränkung auf endliche Menge im Prinzip möglich Umgekehrt lassen sich auch diskrete Probleme als LP auffassen minimal spannende Bäume als Vektoren gegebener Graph G 3 2 minimal spannende Bäume von G als Vektoren (Inzidenzvektoren)! 2 0 3! 0 3 2! 0 Konvexe Hülle der Inzidenzvektoren = Polytop (gelbe Menge) 2. Beispiele 7-9 x 3 v 3 v x 2 x v 2 Polytop = gelbe Menge Ermittlung minimal spannender Baum = lineare Optimierung über diesem Polytop zugehöriges LP ist gegeben durch x + x 2 + x 3 = 2 x! x 2! x 3! x j " 0 sogenannte lineare Beschreibung, nützlich für Entwurf von Algorithmen

2. Beispiele 7-0 sogenannte lineare Beschreibung, nützlich für Entwurf von Algorithmen 8- Nachbarschaften Nachbarschaften sind für stetige Probleme in natürlicher Weise als!-umgebung bzgl. einer Norm definiert. Wie für diskrete Probleme? Eine Nachbarschaft für eine Problemklasse P 0 ist gegeben durch eine Abbildung! "! # " " # " für jede Instanz I P 0 N I (y) heißt die Nachbarschaft von y S I. Ist I klar, so schreiben wir kurz N(y) 2.4 Beispiel: TSP Definieren Nachbarschaft über 2-Tausch N 2 (y) := { x S I x entsteht aus y durch Ersetzen von! 2 Kanten aus y durch andere Kanten } Verallgemeinerung auf k " 2 möglich, führt zu Nachbarschaft N (y)

8-2 Verallgemeinerung auf k " 2 möglich, führt zu Nachbarschaft N k (y) 2.5 Beispiel: MST Nachbarschaft über Austausch einer Kante auf Fundamentalkreis definieren N(y) := { x S I x entsteht aus y durch Hinzufügen einer Kante und Entfernen einer anderen auf dem entstehenden Kreis } G T T' 2.6 Beispiel: LP Nachbarschaft über!-umgebung definieren N (y) := { x Ax = b, x " 0, y-x! 8-3 N! (y) := { x Ax = b, x " 0, y-x!! } y! Lokale und globale Optima Sei Problemklasse P 0 mit Nachbarschaft N gegeben und I P 0 y S I heißt lokal optimal bzgl. N, falls c(y)! c(x) für alle x N I (y) 2.7 Beispiel: Lokale Minima in der Analysis

8-4 2.8 Beispiel: TSP Lokal optimale Lösungen bzgl. N k heißen k-optimal Exakte Nachbarschaft Eine Nachbarschaft bzgl. einer Problemklasse P 0 heißt exakt :<=> für jede Instanz I gilt: ist y S I lokal optimal bzgl. N I, so ist y global optimal für I 2.9 Beispiel: TSP N 2 ist nicht exakt Gegenbeispiel: 8-5 Kosten a 5 2 Kosten b Kosten c 4 3 a < b < c Tour y = "außen rum" hat Kosten 5b Da die beiden grünen Kanten adjazent sind, kommt bei jedem 2-Tausch höchstens eine grüne Kante dazu, im günstigsten Fall also eine grüne und eine rote Die neue Tour ist schlechter, falls a+c > 2b => y lokal optimal bzgl. N 2 Durch doppelten 2-Tausch können die beiden grünen Kanten in die Tour kommen

8-6 5 2 5 2 5 2 4 3 4 3 4 3 Diese Tour ist besser als y, falls 2a+c < 3b a < b < c und a+c > 2b und 2a+c < 3b ist erfüllt für a =, b = 4, c = 8 N n ist exakt klar, da N (y) = S! n I 2.0 Beispiel: MST Die Nachbarschaft von MST ist exakt Beweis: Nutze Satz aus ADM I: T ist optimal <=> Für jede Nicht-Baum-Kante e gilt: e ist teuerste Kante in dem von e erzeugten Kreis bzgl. T 8-7! Nachbarschaft motiviert das Prinzip der Lokalen Suche Algorithmus Lokale Suche Input Instanz I eines Optimierungsproblems P 0 mit Nachbarschaft N I Startlösung y S I Output lokales Optimum bzgl. N I Methode iterative Verbesserung while es gibt bessere Lösung x N I (y) do wähle bessere Lösung x N I (y) y := x return y 2. Satz (Lokale Suche für MST)

8-8 2. Satz (Lokale Suche für MST) Die lokale Suche bzgl. der MST-Nachbarschaft ist ein polynomialer Algorithmus zur Bestimmung eines (global) optimalen MST, falls (a) immer eine Nichtbaumkante f gewählt wird, die billiger als die teuerste Kante auf dem von f induzierten Kreis K ist (b) immer die teuerste Baumkante e aus dem von f induzierten Kreis K entfernt wird Beweis:. Da die Nachbarschaft exakt ist, liefert der Algorithmus bei Terminierung eine global optimale Lösung 2. Der Algorithmus terminiert in polynomialer Zeit Claim : Eine ausgetauschte Kante kommt nie wieder zurück in den Baum Beweis durch Widerspruch Sei K der Kreis beim Austausch der Kante e, d.h. e wird entfernt. e K Betrachte späteren Zeitpunkt t, zu dem e zum ersten Mal als Nichtbaumkante gewählt wird und 8-9 Betrachte späteren Zeitpunkt t, zu dem e zum ersten Mal als Nichtbaumkante gewählt wird und wieder in den Baum kommt. => e erzeugt einen Kreis K' e K K' => K' ist aus K entstanden durch die Folge der lokalen Suchschritte bis zum Zeitpunkt t In jedem dieser Schritte schließt e (als Nichtbaumkante) einen Kreis K(e) im momentanen Baum Claim 2: In jedem Schritt gilt c(e) " c(g) für alle Kanten g K(e) Beweis durch Induktion entlang der Folge von Kreisen K = K, K 2, K 3,... Induktionsanfang (klar für K = K nach Konstruktion) Induktionsschritt von K i auf K i+ klar für K i = K i+ sei K i # K i+ Dann sind 2 Fälle möglich K entsteht durch Vergrößerung von K

8-0 K i+ entsteht durch Vergrößerung von K i => K i+ = K i - (einige Kanten inklusive der momentan gelöschten Kante e') + P (P ist Teil des momentanen Kreises aus dem wir e' löschen) P e e e' => c(e') " c(f) für alle Kanten f P wegen (b) c(e) " c(e') nach Induktionsvoraussetzung, (b) => c(e) " c(f) für alle Kanten f K i+ K i+ entsteht durch Verkleinerung von K i => K i+ = K + (einige Kanten inklusive der momentan hinzugefügten Kante e') - P (P ist Teil von K i ) 8- f 0 P e e e' => c(e') < c(f 0 ) für entfernte Kante f 0, c(e) " c(f) für alle Kanten f P nach Induktionsvoraussetzung => c(e) " c(f) für alle Kanten f K i+ Claim 2 => Widerspruch zur Wahl von e gemäß (a) Also gibt es maximal m-n+ Austauschschritte (m = # Kanten, n = # Knoten). Jeder dieser Schritte kann in O(n) durchgeführt werden teuerste Kante e im induzierten Kreis ermitteln und mit der Nichtbaumkante f vergleichen [durch Breitensuche in O(# Kanten im Baum) = O(n)] e und f austauschen, falls c(e) < c(f) [bei Speicherung des Baumes als Array von Adjazenzlisten in O(n)] Insgesamt also O((m-n+)n) = O(mn)

8-2 Insgesamt also O((m-n+)n) = O(mn)! Bemerkung: Haben in ADM I bessere Algorithmen kennengelernt, Kruskal O(m log n) und Prim O(n 2 ) Übung: Analyse der lokalen Suche für TSP mit der k-opt Nachbarschaft. Ist sie polynomial? 2.3 Konvexe Mengen und Funktionen 9- Konvexkombination zweier Vektoren Seien x, y R n. Dann heißt jeder Punkt der Form z = λ x + (-λ) y mit 0! λ! eine Konvexkombination von x und y (strikte Konvexkombination falls 0 < λ < ) die Konvexkombinationen sind genau die Punkte auf der Verbindungsgeraden zwischen x und y x-y x y Punkte auf Verbindungsgeraden haben als Vektoren die Form y + λ(x-y) Konvexe Menge S! R n heißt konvex, falls S alle Konvexkombinationen von je zwei Punkten x, y S enthält 2.2 Beispiel:

2.3 Konvexe Mengen und Funktionen 9-2 R n, Ø, {x}, x R n sind konvex Im R sind die konvexen Mengen genau die Intervalle Die konxen Mengen im R 2 sind solche ohne "Einbuchtungen" A B C 2.3 Lemma Der Durchschnitt von (beliebig vielen) konvexen Mengen ist konvex Beweis: Sei S = " i I S i, S i konvex Seien x, y S, 0! λ!, z = λ x + (-λ) y Def. S => x,y S i für alle i => z S i für alle i => z S! Lemma 2.3 ist Basis für die Definition der konvexen Hülle einer Menge Die konvexe Hülle conv(s) einer Menge S ist die kleinste konvexe Menge, die S enthält, d.h. 2.3 Konvexe Mengen und Funktionen 9-3!"#$%!& ' "! "# " ("#$)* Dieser Durchschnitt existiert, da M = R n an der Durchschnittsbildung beteiligt ist eine äquivalente Beschreibung (Übung) ist conv(s) = { λ x +... + λ k x k x i S, λ i " 0, $ λ i =, k endlich } Satz von Caratheodory: k! n+ reicht im R n Konvexe Funktion Sei S! R n konvex. Eine Funktion c : S -> R heißt konvex in S, falls c(λ x + (-λ) y)! λ c(x) + (-λ) c(y) für alle x, y S, 0! λ! 2.4 Beispiel Jede lineare Funktion ist konvex Interpretation von konvexen Funktionen c : R -> R

2.3 Konvexe Mengen und Funktionen 9-4 c(y)!"c(x) + (-!) c(y) c(x) c x z y z := λ x + (-λ) y c(z)! λ c(x) + (-λ) c(y) 2.5 Lemma Sei c konvex in S! R n. Dann ist für jede reelle Zahl t die Niveaumenge S t := { x S c(x)! t } konvex Beweis: Sei z := λ x + (-λ) y mit x, y S t, 0! λ! => c(z)! λ c(x) + (-λ) c(y) da c konvex => z S t!! λ t + (-λ) t da x, y S t Niveaumengen einer konvexen Funktion c : R 2 -> R 2.3 Konvexe Mengen und Funktionen 9-5 Niveaumengen einer konvexen Funktion c : R 2 -> R c = 3 2 Konkave Funktion c in S! R n heißt konkav, falls -c konvex ist <=> c(λ x + (-λ) y) " λ c(x) + (-λ) c(y) für alle x, y S, 0! λ!

2.4 Konvexe Optimierungsprobleme 0- Konvexe Optimierung = Minimierung einer konvexen Funktion über einer konvexen Menge. 2.6 Satz (lokal - global) Sei I eine Instanz eines Optimierungsproblems mit S I! R n konvex und c konvex in S I. => Die Nachbarschaft N! (y) := { x S I : y-x!! } definiert durch den Euklidischen Abstand ist für jedes! > 0 exakt. Beweis: Sei! > 0 fest und y lokales Optimum bzgl. N!. Sei x S I beliebig. Zeige c(y)! c(x). Klar falls x N! (y) Sei also x N! (y) => für geeignete Wahl von λ ist z := λ x + (-λ) y N! (y) und z # y. 2.4 Konvexe Optimierungsprobleme 0-2 S I x z N! (y) y c konvex => c(z)! λ c(x) + (-λ) c(y), außerdem c(z) " c(y), da y lokal optimal!!#" "!# " $"!!%"!!%" "!# " $"!!%"!!""!! $!!%" $ $ Also c(x) " c(y)! Beachte: dies gilt ohne weitere Annahmen an c; insbesondere braucht c nicht differenzierbar zu sein. Historische Definition konvexer Optimierungsprobleme Eine Instanz I eines Optimierungsproblems heißt konvexes Optimierungsproblem falls S ist gegeben als Menge aller x R n, die folgende Nebenbedingungen erfüllen:

2.4 Konvexe Optimierungsprobleme 0-3 S I ist gegeben als Menge aller x R n, die folgende Nebenbedingungen erfüllen: g i (x) " 0 g i : R n -> R konkav, i =,...,m i =,...,m c ist konvex in S I 2.7 Lemma Die zulässige Menge S I einer Instanz I eines historisch definierten konvexen Optimierungsproblem ist konvex Beweis: g i konkav => -g i konvex => S i := { x -g i (x)! 0 } = { x g i (x) " 0 } konvex => S I = " i S i ist konvex wegen Lemma 2.3! 2.8 Satz In einem konvexen Optimierungsproblem ist jedes lokale Optimum ein globales Optimum 2.9 Bemerkung Es kann viele globale Optima geben 2.4 Konvexe Optimierungsprobleme 0-4 Es kann viele globale Optima geben Jede Instanz von LP ist ein konvexes Optimierungsproblem => jedes lokale Minimum ist ein globales Minimum Die Analysis bietet hinreichende Kriterien für die Konvexität glatter Funktionen: D! R n offen, c : D -> R ist 2-mal stetig differenzierbar, Hessematrix (= Matrix der 2. partiellen Ableitungen) von c ist positiv semidefinit