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

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

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

Algorithmen II Vorlesung am

Approximation in Batch and Multiprocessor Scheduling

1 Einführung Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT) Notationen und Definitionen Übungsaufgaben...

Das Briefträgerproblem

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Kombinatorische Optimierung

Die Verbindung von Linearer Programmierung und Graphentheorie

Lineare Programmierung

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Approximationsalgorithmen

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Der Approximationsalgorithmus von Christofides

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Die Komplexitätsklassen P und NP

Algorithmen und Datenstrukturen 2

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

4 Greedy-Algorithmen (gierige Algorithmen)

Maximizing the Spread of Influence through a Social Network

Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht

Optimization in Business Applications: 2. Modeling principles

Approximations-Algorithmen

Datenstrukturen und Algorithmen SS07

Schranken für zulässige Lösungen

WS 2013/14. Diskrete Strukturen

Parametrisierte Algorithmen

Anmerkungen zur Übergangsprüfung

Schwierige Probleme in der Informatik Informationen für die Lehrperson

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

2 Lösungen "Peptide de novo Sequencing"

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Integrierte Umlauf- und Dienstplanung im ÖPNV

WS 2009/10. Diskrete Strukturen

Dissertation zur Erlangung des Doktorgrades der Technischen Fakultät der Albert-Ludwigs-Universität Freiburg im Breisgau.

Algorithmentheorie Maximale Flüsse

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Parametrisierte Algorithmen

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Vorlesung 3 MINIMALE SPANNBÄUME

Lineare Programmierung. Beispiel: Wahlkampf. Beispiel: Wahlkampf. Mathematische Schreibweise. Lineares Programm. Datenstrukturen & Algorithmen

Das Lastverteilungsproblem

Bestimmung einer ersten

Alles zu seiner Zeit Projektplanung heute

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

Inhaltsverzeichnis. Vorwort... V. Symbolverzeichnis... XIII

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

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Robuste Effizienz in der Umlauf- und Dienstplanung im ÖPNV

Diplomprüfung. Operations Research I WS 2007/2008 (4 Punkte)

Mathematik 1 für Wirtschaftsinformatik

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Optimierung für Nichtmathematiker

Teil II. Schaltfunktionen

Klassische Themen der Computerwissenschaft Constraint Programming: Exercises. Gruppe: 100. Inhaltsverzeichnis

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining.

Netzwerkmodelle. Seminar Netzwerkanalyse. Sommersemester 2005 Jasmine Metzler

Expander Graphen und Ihre Anwendungen

Konzepte der Informatik

3. Grundlagen der Linearen Programmierung

Algorithmische Methoden zur Netzwerkanalyse

DNS-Resolver-Mechanismus

Graphen: Datenstrukturen und Algorithmen

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Spieltheorien und Theoreme

Aufgabenblatt 6 zur Lehrveranstaltung Quantitative Methoden der Betriebswirtschaftslehre I Frühjahrssemester 2015

Computer Vision: Optische Flüsse

Graphenalgorithmen. Kurz-Vorstellung. Forschungsinteressen. Algorithm Engineering. Themen der VO: Probleme

OPERATIONS-RESEARCH (OR)

Ohne Mathematik undenkbar!

Algorithmen und Datenstrukturen 2

Institut für Informatik. Rheinische Friedrich-Wilhelms-Universität Bonn

Teil II. Nichtlineare Optimierung

AS Path-Prepending in the Internet And Its Impact on Routing Decisions

16. All Pairs Shortest Path (ASPS)

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher

Seminar Werkzeuggestütze. tze Softwareprüfung. fung. Slicing. Sebastian Meyer

Log-lineare Analyse I

Airline Crew Rostering

Approximationsalgorithmen

Institut für Statistik und Mathematische Wirtschaftstheorie Universität Augsburg OPTIMIERUNG II. Aufgaben und Lösungen

Approximations- und Online-Algorithmen

5. Verschiedene Repräsentanten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Bachelorarbeit. Vergleich von Ansätzen zur numerischen Lösung von MPCCs am Beispiel eines Mautproblems

Codeoptimierung mit linearer Programmierung

Approximationsalgorithmen

x 2 x 1 x Lernen mit Entscheidungsbäumen

4. Dynamische Optimierung

Transkript:

Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1

Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau eine Aufgabe zu Minimiere Gesamtkosten Kombinatorisches Optimierungsproblem: Zulässige Lösungen: Kantenmengen, so dass jeder Agent und jede Aufgabe Knoten genau einer der Kanten ist 2

Assignment Problem (Zuordnungsproblem) Als Matrix: 3.2 4.1 1.0 0.4 4.8 2.1 2.3 2.3 0.3 5.1 2.3 3.3 3.0 4.1 1.3 2.9 1.8 2.7 1.7 3.1 1.9 7.4 1.3 9.0 2.3 0.3 0.3 5.1 2.3 2.0 4.1 4.3 4.4 6.1 1.9 2.5 Wähle genau eine Zelle pro Zeile und Spalte aus Minimiere Gesamtkosten (oder maximiere Gesamtgewicht) Kombinatorisches Optimierungsproblem: Zulässige Lösungen: Zellen, so dass jede Zeile und Spalte genau einmal gewählt ist 3

Assignment Problem (Zuordnungsproblem) Als Integer Linear Program: Variablen 0,1, 1falls Zeile und Spalte Zelle der Lsg. Falls Agent Aufgabe bekommt Zuordnungsproblem: min, 1,, : 1 1,, : 1, : 0,1 Lineares Programm ausser der Bedingung 0,1 4

LP Relaxierung Schreibe Assignment Problem als lineares Programm: min, 1,, : 1,, : 1 1, : Nimm Anteil der Zelle, Summe der Anteile in jeder Zeile/Spalte ist 1 Vergrössert den Raum der zulässigen Lösungen Optimale Lösung ist untere Schranke für optimale Lösung des Ursprungsproblems 5

Ganzzahlige Lösungen Satz: Jede nicht ganzzahlige Lösung kann in eine ganzzahlige Lösung mit gleichen oder besseren Gesamtkosten transformiert werden..2.5 Cost: 4.3.3.4.3.5.5.6.4 6

Ganzzahlige Lösungen Satz: Jede nicht ganzzahlige Lösung kann in eine ganzzahlige Lösung mit gleichen oder besseren Gesamtkosten transformiert werden..2.5. Cost: 4.3.3.4.3.5..5..6.4 7

Ganzzahlige Lösungen Satz: Jede nicht ganzzahlige Lösung kann in eine ganzzahlige Lösung mit gleichen oder besseren Gesamtkosten transformiert werden..7 Cost: 4.3.3.4..3.7.3.6..4. 8

Ganzzahlige Lösungen Satz: Jede nicht ganzzahlige Lösung kann in eine ganzzahlige Lösung mit gleichen oder besseren Gesamtkosten transformiert werden. 1 Cost: 4 1 1 1 Allgemein: Es gibt immer einen Zyklus, so dass man alternierend um den gleichen Betrag erhöhen, reduzieren kann und die Kosten nicht steigen Vgl: alternierende Pfade bei Matching Formulierung 9

Lösung Assignment Problem Mögliche Lösung des Assignment Problems: 1. Löse LP Relaxierung (LP mit ) 2. Mache Lösung ganzzahlig Mit Simplex Algorithmus: Der Simplex Algorithmus gibt immer einen Extremalpunkt des konvexen Polyeders, welches durch die lin. Nebenbed. definiert ist. Mann kann zeigen: Alle Extremalpunkte des Assignment Problems sind ganzzahlig Der Simplex Algorithmus gibt direkt eine optimale ganzzahlige Lösung! Ungarische Methode: Schnellerer Algorithmus, spezifisch für das Assignment Problem 10

Kombinatorische Optimierung und LPs Viele wichtige kombinatorische Optimierungsprobleme lassen sich als Integer Varianten von linearen Programmen schreiben. Assignment Problem (min gewichtetes perfektes Matching im, ) Maximum (Weighted) Matching: Gegeben ein (gewichteter) Graph, Matching: Teilmenge der Kanten, so dass sich keine 2 berühren Finde Matching mit maximalem Gewicht 6 1 6 3 5 4 2 3 5 11

Vertex Cover Maximum (Weighted) Vertex Cover (): Gegeben ein Graph, mit Knotengewichten Vertex Cover: Teilmenge der Knoten, so dass jede Kante abgedeckt ist Finde Vertex Cover mit minimalem Gewicht 6 6 4 2 5 1 3 3 3 5 2 12

Vertex Cover und Matching Vertex Cover und Matching ungewichtet: 13

Set Cover (Gewichtetes) Set Cover: Gegeben: Menge und Menge von Teilmengen 2 Jede Menge hat ein Gewicht Set Cover: Teilmenge von, so dass alle Elemente abgedeckt sind Ziel: Set Cover mit minimalem Gewicht 14

Independent Set Maxium (gewichtetes) Independent Set (Stabile Menge): Gegeben Graph, mit Knotengewichten Independent Set (unabhängige/stabile Menge): Teilmenge der Knoten, so dass keine 2 adjazent sind Ziel: Finde independent set mit maximalem Gewicht 6 6 4 2 5 1 3 3 3 5 2 15

Maximaler Fluss Flow Network: Directed graph,, Each (directed) edge has a capacity 0 Amount of flow (traffic) that the edge can carry A single source node and a single sink node Flow: (informally) Traffic from to such that each edge carries at most its capacity Examples: Highway system: edges are highways, flow is the traffic Computer network: edges are network links that can carry packets, nodes are switches Fluid network: edges are pipes that carry liquid

Maximaler Fluss 20 20 15 20 10 20 15 10 5 20 15 20 10 15 15 15 17

LP Relaxierung 1. Löse LP Relaxierung (in Polynomialzeit!) 2. Falls möglich: Konvertiere in gleich gute ganzzahlige Lösung Funktioniert bei: Assignment Problem (Maximum Weighted Matching in bipartiten Graphen) Maximum Integer Flow Minimum Cost Flow Anstatt Kapazität, Kantenkosten Erreiche gegebene Vorgaben (für alle Knoten) mit minmalen Kosten Verallgemeinerung des Max Flow Problems 18

Allgemeines Matching Matching in allgemeinem Graph, 19

Allgemeines Matching Zusätzliche Bedingungen: Knotenmenge Matching kann höchstens 2 Kanten, mit, enthalten Variable, 1: Kante, im Matching Zusätzlich: Für alle ungeraden Knotenmengen :,,,, 1 2 Neues LP hat nur ganzzahlige Extremallösungen Aber: Exponentielle Anzahl Nebenbedingungen! Es gibt einen polynomiellen Algorithmus von Edmonds Alg. findet duale optimale Lösung mit nur polynomiell vielen Variablen, welche nicht Null sind Dient als Zertifikat für die Optimalität 20

Cutting Planes Allgemeine Optimierungs Technik: 1. Formuliere kombinatorisches Problem als Integer LP 2. Relaxiere auf ein LP 3. Löse LP mit Hilfe des Simplex oder eines anderen Algorithmus 4. Falls Lösung ganzzahlig sind wir fertig 5. Sonst: Versuche weitere Nebenbedingungen hinzuzufügen, so dass die momentane Lösung nicht mehr zulässig ist alle ganzzahligen Lösungen weiterhin zulässig sind 21

Approximationsalgorithmen Vertex Cover und Maximum Matching (ungewichtet): 22

Approximationsalgorithmen Vertex Cover und Maximum Matching (ungewichtet): 23

Approximationsalgorithmen Gewichtetes Vertex Cover: 1. Löse LP Relaxierung 2. Runde auf ganzzahlige Lösung: Für jede Kante, gilt 1 Falls 0.5, runde auf 1auf Falls 0.5, runde auf 0ab Gibt eine 2 Approximation: 24

Integer LP und LP Relaxierung Integrality Gap Verhältnis zwischen optimalem Zielfunktionswert des Integer LP und der Relaxierung Maximum Matching Integrality Gap ist mindestens Minimum Vertex Cover (ungewichtet) Integrality Gap ist mind. 2 (und höchstens 2) Maximum Clique (ungewichtet) Integrality Gap ist mindestens 2. 25

Approximationsalgorithmen Minimum Set Cover (ungewichtet) Greedy Algorithmus: Füge Menge hinzu, welche die meisten neuen Elemente abdeckt 26

Approximationsalgorithmen Minimum Set Cover (ungewichtet) Greedy Algorithmus: Füge Menge hinzu, welche die meisten neuen Elemente abdeckt 27

Approximationsalgorithmen Minimum Set Cover (ungewichtet) Greedy Algorithmus: Füge Menge hinzu, welche die meisten neuen Elemente abdeckt 28

Approximationsalgorithmen Minimum Set Cover (gewichtet) Randomisiertes Runden: 1. Löse LP Relaxierung Jede Menge hat Wert, so dass 1 : 2. Mit Wahrscheinlichkeit min 1, ln setze 1(sonst 0) 29

Approximationsalgorithmen Minimum Set Cover (gewichtet) Randomisiertes Runden: 1. Löse LP Relaxierung Jede Menge hat Wert, so dass 1 : 2. Mit Wahrscheinlichkeit min 1, ln setze 1(sonst 0) 30