Schnittebenenverfahren für das symmetrische

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

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

Das Multi Traveling Salesman Problem

Ganzzahlige lineare Programme

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

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Kap. 4: Das Handlungsreisendenproblem (TSP)

Theoretische Informatik 1

Ü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

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

3 Klassifikation wichtiger Optimierungsprobleme

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

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

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

Hamiltonsche Graphen

Einführung in die Mathematik des Operations Research

2. Optimierungsprobleme 6

3.6 Branch-and-Bound-Verfahren

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

Algorithmische Methoden für schwere Optimierungsprobleme

Weitere NP-vollständige Probleme

Kapitel 9: Lineare Programmierung Gliederung

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

3. Schnittebenenverfahren

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

Der Branching-Operator B

Optimierungsverfahren in der Transportlogistik

6. Übung zur Linearen Optimierung SS08

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

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

12.4 Traveling Salesman Problem

Überblick Kap. 5: Graph Coloring

Kap. 5: Graph Coloring

Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem. Gerold Jäger

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Vorlesung Lineare Optimierung (Sommersemester 2010)

Approximationsalgorithmen

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

»La filosofia è scritta in questo grandissimo libro che continuamente ci sta aperto innanzi a

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Durchschnitt von Matroiden

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Grundlagen der Optimierung. Übung 6

1 Matroide. 1.1 Definitionen und Beispiele. Seminar zur ganzzahligen Optimierung Thema: Durchschnitt von Matroiden - Satz von Edmonds von Dany Sattler

Effiziente Algorithmen I

Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 1. Dezember 2013

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Proseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen

Optimierung für Nichtmathematiker

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

Theoretische Informatik 1

WS 2013/14. Diskrete Strukturen

Diskrete Mathematik für Informatiker

Bipartite Graphen. Beispiele

Der Approximationsalgorithmus von Christofides

Das Briefträgerproblem

9 Minimum Spanning Trees

4. Kreis- und Wegeprobleme

6 Polynomielle Gleichungen und Polynomfunktionen

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

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

Spieltheorie. Nash-Gleichgewichts-Berechnung. Bernhard Nebel und Robert Mattmüller. Arbeitsgruppe Grundlagen der Künstlichen Intelligenz 14.

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Vortrag 20: Kurze Vektoren in Gittern

Konvexe Hülle. Konvexe Hülle. Mathematik. Konvexe Hülle: Definition. Mathematik. Konvexe Hülle: Eigenschaften. AK der Algorithmik 5, SS 2005 Hu Bin

Dynamisches Routing in der Logistik

abgeschlossen unter,,,, R,

Gemischt-ganzzahlige und Kombinatorische Optimierung

Graphen. Graphen und ihre Darstellungen

9: Gewichtete Graphen

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Hamilton-Pfad auf Gittergraphen ist NP vollständig

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

Ecken des Zuordnungsproblems

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

A cutting plane algorithm for graph coloring

Ganzzahlige Optimierung (IP)

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Inhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen

Lagrange-Relaxierung und Subgradientenverfahren

mit. Wir definieren (Skalarprodukt = Winkel).

Freie Universität Berlin. Diskrete Mathematik. Ralf Borndörfer, Stephan Schwartz. Freie Universität. 08. April 2013

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Vorlesung Datenstrukturen

Minimal spannender Baum

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

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

Von den Kanten von Gewicht 4 wird nur noch eine ausgewählt, die zu dem letzten nicht ausgewählten Knoten führt: 1. Juni

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

6. Flüsse und Zuordnungen

5 Interpolation und Approximation

1 Der Simplex Algorithmus I

Transkript:

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

Gliederung 1 Das symmetrische TSP Einführung in das TSP Das symmetrische TSP als Lineares Programm 2 Allgemeines Schnittebeneverfahren

Gliederung 1 Das symmetrische TSP Einführung in das TSP Das symmetrische TSP als Lineares Programm 2 Allgemeines Schnittebeneverfahren

Einführung in das TSP Das Travelling Salesman Problem (TSP) Das Problem des Handlungsreisenden: Kürzeste Tour durch vorgegebene Städte Jede Stadt genau einmal besuchen Zuletzt Ankunft am Startpunkt Gesucht: Kürzester Hamiltonkreis

Einführung in das TSP Verschiedene TSPs Das symmetrische (euklidische) TSP: Graph G = (V, E) mit Knoten V und ungerichteten Kanten E Es gilt die -Ungleichung für die Gewichte der Kanten Oft versehen mit der Euklidischen Norm Das Chinese Postman Problem: Gesucht: Kürzester geschlossener Weg in G, der alle Kanten enthält Lösbar in polynomieller Zeit

Einführung in das TSP Lösungsansätze zum TSP [tsplength] Berechnung der Lösung des kürzesten Wegs: (1) Setze L := c min und U := c max als Schranken (2) Solange L < U : Setze b = L+U 2 Falls Hamilton-Tour der Länge b existiert setze U = b, sonst L = b + 1

Einführung in das TSP Lösungsansätze zum TSP [tsptour] Berechnung der TSP-Tour: (1) Setze U auf den kürzesten Weg aus tsplength (2) Für alle u = 1, 2,..., n und v = 1, 2,..., n : Setze s uv = c uv und c uv = c max n + 1 Falls keine Hamilton-Tour der Länge U existiert setze c uv = s uv

Das symmetrische TSP als Lineares Programm TSP in der ILP-Formulierung Das symmetrische TSP kann folgendermaßen als ganzzahliges lineares Programm dargestellt werden: TSP-ILP min c uv x uv (1) uv E x(δ(v)) = 2, u V (2) x(c) C 1, C E n, C < n (3) x uv {0, 1}, u, v V (4)

Allgemeines Schnittebeneverfahren Problem Lösung eines lineraren Problems der Form: min { c T x x P } (5) mit dem Polyeder P := {x Ax b, x ganzzahlig} (6) Problem: Ganzzahlige Lösung kann nicht in polynomialer Laufzeit gefunden werden!

Allgemeines Schnittebeneverfahren LP-Relaxierung Lösungansatz: Lösung x des linearen Programs mit x > 0 LP-Relaxierung Bei nichtganzzahligem x schneide Teil des Polyeders ab Schnittebene grenzt Lösung des linearen Programs ein und erzeugt neue Lösung x, die möglicherweise ganzzahlig ist Iteratives Verfahren, solange Schnittebenen gefunden werden Problem: Finden von Schnittebenen

Allgemeines Schnittebeneverfahren Beispiel

Allgemeines Schnittebeneverfahren Beispiel 3 Städte Abschneiden aller unzulässigen Lösungen x 1 + x 2 + x 3 2 Schnittebene grenzt mögliche Lösungen ein Optimale Lösung (1, 1, 1)

Allgemeines Schnittebeneverfahren Algorithmus Schnittebenenverfahren 1 Wähle Anfangs-Polytop Q QT n z.b. mit x(δ(v)) = 2 2 Wiederhole folgende Schritte 1 Löse das lin. Programm min { c T x x Q } um x zu erhalten 2 Falls x eine TSP-Tour darstellt Optimale Lösung 3 Sonst finde Ungleichung a T x α die Q n T erfüllt, aber nicht x, d.h. a T x > α 4 Falls keine solche Ungleichung gefunden werden kann STOP 5 Füge die neue Ungleichung dem lin. Programm hinzu

Allgemeines Schnittebeneverfahren Ziel Ziel ist es, eine ganzzahlige Lösung durch Hinzunahme einzelner Ungleichungen zu finden Problem 1 Welche Ungleichungen kann man finden? 2 Nicht immer kann ganzzahlige Lösung gefunden werden! Ausweg durch Facetten von QT n und Branch & Bound

Facetten von Q n T Man benötigt Ungleichungen, die Q n T eingrenzen. Facetten von Q n T Grad-Gleichungen Subtour-Eliminations-Bedingungen 2-matching-Bedingungen Kamm-Ungleichungen etc. möglichst viele, da QT n sehr viele Facetten besitzt.

Facetten von Q n T Anzahl der Facetten Bei n = 7 = 3.437 Facetten Bei n = 8 = 194.187 Facetten Anzahl der Subtour-Eliminations-Bed. Bei n = 7 = 56 Ungleichungen Bei n = 8 = 119 Ungleichungen Bei n = 15 = 16.368 Ungleichungen

Kamm-Ungleichungen Um eine große Anzahl von Ungleichungen für die Facetten von Q n T zu bekommen, sind weitere Bedingungen wie die Kamm-Ungleichungen notwendig. Dafuer müssen für Knotenmengen W i V für i = 0, 1,..., k folgende Bedingungen gelten: Bedingungen W 0 W i 1 für i = 0, 1,..., k (7) W i W 0 1 für i = 0, 1,..., k (8) Wi W j = 0 für 1 i < j k (9) k ungerade. (10)

Kamm-Ungleichungen Diese Eigenschaften kann man wie einen Kamm mit Griff W 0 und Zähnen W i für i = 1,..., k anordnen. Für solche Objekte kann man nun die Kamm-Ungleichungen wie folgt definieren: Kamm-Ungleichung a c x := k x(w i ) W 0 + i=0 k ( W i 1) i=1 1 2 k (11) Die Rechte Seite der Ungleichung wird dabei als Größe s(c) des Kammes bezeichnet.

Kamm-Ungleichungen Kamm-Ungleichungen definieren Facetten des Polyeder Q n T Sehr gut geeignet für das Schnittebenenverfahren Darstellung anderer Ungleichungen möglich, z.b. Subtour-Eliminations-Bedingungen (k = 1, W 0 = 1) 2-matching-Bedingungen ((7), (8) Gleichungen) Große Anzahl von Ungleichungen für das Schnittebenenverfahren

Beispiel Gegeben sei Kamm mit n = 8 dem Griff W 0 = {1, 2, 3, 4} sowie den Zähnen W 1 = {1, 2, 5, 6}, W 2 = {3, 7} und W 3 = {4, 8} Man erhält damit die Ungleichung 2x 12 + x 13 + x 14 + x 15 + x 16 + x 23 + x 24 + x 25 + x 26 + x 34 + x 37 + x 48 + x 56 7 (12)

Beispiel Mit Hilfe der Grad-Gleichungen 8 j=2 x 1j = 2 x 12 + 8 j=3 x 2j = 2 x 12 aus der Gleichung eliminieren x 34 + x 37 + x 48 + x 56 3 + x 17 + x 18 + x 27 + x 28 (13) Falls also x 34 = x 37 = x 48 = x 56 = 1 gilt auch x 17 + x 18 + x 27 + x 28 1 TSP-Tour enthält e {[1, 7], [1, 8], [2, 7], [2, 8]}

Theorem Theorem Jede Kamm-Ungleichung definiert eine Facette von Q n T. D.h. sei n 6 und W 0, W 1,..., W k V mit (i) W 0 W i 1 und W i W 0 1 für i = 0, 1,..., k und (ii) W i W j = für 1 i < j k erfüllen, wobei k 3 eine ungerage ganze Zahl ist. Dann gilt, die Kamm-Ungleichung k x(w i ) W 0 + i=0 k ( W i 1) i=1 1 2 k (14) ist eine Facette von Q n T.

Beweis Beweisskizze Facetteneigenschaft bewiesen fuer 2-matching-Kamm, d.h. Kamm mit 3 Knoten im Griff und je 2 Knoten in den 3 zugehörigen Zähnen Lifting Theorem: Bei hinzufuegen von 2 neuen Zähnen erhält man Facette von Q l+4 T Iterativ erzeugt man Kamm-Ungleichung, die Facette von Q l+4i T ist für i-ten Interationsschritt

Beweis Beweisskizze Lifting Theorem: Hinzufügen eines neuen Knotens zu einer Menge W 3 erzeugt wieder eine Facette Lifting Theorem: Falls mind. 2 Knoten einzelnd in einer Knotenmenge vorkommen, oder bei einem einzelnen 2 nicht zur Menge gehörige, so kann man der Menge einen weiteren Knoten hinzufügen um eine Facette zu erhalten Man fügt alle benötigten Knoten dem Griff hinzu

Beweis Beweisskizze Man erhält Ungleichung für Facette von Q p T mit p = W 0 k + 2k und k 2-elementigen Zähnen i=1 W i Gleiches Verfahren kann man für die einzelnen Knoten in den Zähnen anwenden Man fügt folglich alle benötigten Knoten den Zähnen hinzu

Beweis Beweisskizze Fehlen noch Knoten in {Zähne Griff} Lifting Theorem: Bei einem Knoten in exakt 2 Knotenmengen kann man beiden Mengen weitere Knoten hinzufügen und erhält wieder eine Facette Ergänze die noch fehlenden Knoten Man kann so jede beliebige Kamm-Ungleichung erzeugen und erhält somit die gesuchte Facette von Q n T

Erreichen der Ganzzahligkeitdurch Branch&Bound Um die Probleme mit der nicht ganzzahligen Lösung aus dem Schnittebenenverfahren zu beseitigen kombiniert man das Schnittebeneverfahren mit dem allgemein gängigen Branch & Bound Allgorithmus für lineare Programme. Idee Geg: Nicht-ganzzahlige Lösung x aus dem Schnittebenenverfahren Aufteilen in zwei separate lineare Programme durch erzwungene Ganzzahligkeit in einer Komponente Lösung der 2 neuen ILP wieder mit Schnittebenenverfahren

Ende Vielen Dank für die Aufmerksamkeit.