Lineare Programmierung



Ähnliche Dokumente
Lineare Programmierung

Lineare Programmierung

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

3. Grundlagen der Linearen Programmierung

Die Verbindung von Linearer Programmierung und Graphentheorie

4. Dynamische Optimierung

Schranken für zulässige Lösungen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Information Systems Engineering Seminar

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

OPERATIONS-RESEARCH (OR)

1 topologisches Sortieren

Grundbegriffe der Informatik

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Lineare Gleichungssysteme

Diskrete Optimierung

LINGO: Eine kleine Einführung

Periodische Fahrpläne und Kreise in Graphen

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

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Optimierung für Nichtmathematiker

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

Theoretische Grundlagen der Informatik

Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht

3. LINEARE GLEICHUNGSSYSTEME

WS 2009/10. Diskrete Strukturen

Lineare Optimierung Ergänzungskurs

GRS SIGNUM Product-Lifecycle-Management

Konzepte der Informatik

Optimalitätskriterien

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Anmerkungen zur Übergangsprüfung

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Mathematischer Vorbereitungskurs für Ökonomen

Informatik I WS 07/08 Tutorium 24

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

Algorithmen II Vorlesung am

Extrema von Funktionen in zwei Variablen

Datenstrukturen & Algorithmen

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Kapitel 5: Dynamisches Programmieren Gliederung

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Gleichungen und Ungleichungen

Bestimmung einer ersten

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Lineare Gleichungssysteme

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Eine Logikschaltung zur Addition zweier Zahlen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

WS 2013/14. Diskrete Strukturen

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

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Lineare Programmierung Teil I

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Analysis I für Studierende der Ingenieurwissenschaften

Algorithmen & Datenstrukturen 1. Klausur

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

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

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

Der monatliche Tarif für ein Handy wurde als lineare Funktion der Form f(x) = k x + d modelliert (siehe Grafik).

( ) als den Punkt mit der gleichen x-koordinate wie A und der

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

Aufabe 7: Baum-Welch Algorithmus

Programmierkurs Java

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

Die Komplexitätsklassen P und NP

7 Rechnen mit Polynomen

1. Weniger Steuern zahlen

Eigenwerte und Eigenvektoren von Matrizen

Hauptprüfung Fachhochschulreife Baden-Württemberg

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Die Post hat eine Umfrage gemacht

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

Überblick. Lineares Suchen

Guide DynDNS und Portforwarding

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Was meinen die Leute eigentlich mit: Grexit?


Künstliche Intelligenz Maschinelles Lernen

Wissenswertes über binäre Felder

Das Briefträgerproblem

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Informationsblatt Induktionsbeweis

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

Primzahlen und RSA-Verschlüsselung

Kapitel 6: Graphalgorithmen Gliederung

ALEMÃO. Text 1. Lernen, lernen, lernen

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse

Benutzerkonto unter Windows 2000

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Transkript:

Lineare Programmierung WS 2003/04

Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in den USA aktueller Weltrekord: Applegate, Bisby, Chvátal & Cook lösen das TSP für 15.112 Städte in Deutschland (ca. 7.3 10 56593 mögliche Touren) berechnet mit cutting planes-methoden, basierend auf linearer Programmierung

Überblick Einführung in die Lineare Programmierung Algorithmen zur Lösung von LP-Problemen Formulierung des TSP als LP-Problem cutting planes Zusammenfassung

Beispiel (I) Ein Politiker möchte seine Wahlkampfgelder möglichst effizient einsetzen und in Stadt (100.000), Vorstadt (200.000) und Land (50.000) jeweils eine absolute Mehrheit erringen. Gewinne/Verluste an Wählerstimmen pro $1000: Wahlkampfthema Variable Stadt Vorstadt Land Straßenbau x 1 2 5 3 Waffenkontrolle x 2 8 2 5 Subventionen x 3 0 0 10 Mineralölsteuer x 4 10 0 2

Beispiel (II) minimiere die Ausgaben: x 1 + x 2 + x 3 + x 4 Bedingungen für Mindestanzahl an Wählerstimmen: 2x 1 + 8x 2 + 0x 3 + 10x 4 50 5x 1 + 2x 2 + 0x 3 + 0x 4 100 3x 1 5x 2 + 10x 3 2x 4 25 x 1, x 2, x 3, x 4 0

Lineare Programmierung Grundidee: optimiere eine lineare Funktion mit n Freiheitsgraden, die durch lineare Gleichungen/Ungleichungen (evtl. widersprüchliche Bedingungen und beschränkte Ressourcen) eingeschränkt ist sehr allgemeine Methode zur Optimierung von Problemen, für die keine speziell entwickelten Algorithmen vorhanden sind eines der Hauptverfahren des Operations Research

Anwendungsbeispiele möglichst effiziente Verteilung von Crews einer Airline auf alle möglichen Flüge unter Einhaltung gesetzlicher Bestimmungen, z. B. maximale Arbeitszeit und Verteilung auf Flugzeugtypen Entscheidung für Öl-Bohrstellen gemäß erwarteter Öl-Fördermenge und Kosten für Bohrungen am jeweiligen Ort Graphentheoretische Probleme: kürzeste Pfade, maximaler Fluss, minimaler Kostenfluss,...

Formale Formulierung (Standardform) maximiere: f(x 1,..., x n ) = n c j x j j=1 Bedingungen: n j=1 a ij x j b i x j 0 für i = 1, 2,..., m für j = 1, 2,..., n

... in Matrixschreibweise maximiere: f(x) = c T x Bedingungen: Ax b x 0 Lineares Problem (A, b, c) mit A R m n, b R m und c, x R n

Normalformen äquivalente Formulierungen für jedes lineare Programm Standardform: alle Bedingungen sind Ungleichungen Slackform: alle Bedingungen sind Gleichungen (außer Nichtnegativitätsbedingungen)

Überführung in Standardform (I) 1. Minimierungsproblem statt Maximierungsproblem 2. Variablen ohne Nichtnegativitätsbedingung 3. Gleichheitsbedingungen statt Ungleichheitsbedingungen 4. Größer-als-Bedingungen statt Kleiner-als-Bedingungen finde ein äquivalentes LP-Problem in Standardform

Überführung in Standardform (II) 1. negiere die Koeffizienten c in der Zielfunktion 2. ersetze x j durch x j x j mit x j, x j 0 3. ersetze f(x) = b durch f(x) b, f(x) b 4. negiere die Koeffizienten a ij, b i in betreffender Bedingung i

Überführung in Slackform die folgenden Ausdrücke sind äquivalent: n a ij x j b i 0 s i = b i n a ij x j j=1 j=1 s i heißt Slack-Variable man erhält außer den Nichtnegativitätsbedingungen nur noch Gleichungen als Nebenbedingungen

Geometrische Interpretation Lineare Gleichung beschreibt eine Hyperebene lineare Ungleichung beschreibt einen Halbraum Lineares Ungleichungssystem beschreibt daher den Schnitt der einzelnen Halbräume konvexes Polytop (Simplex) Lösung ist dann der erste Schnitt einer sich nähernden Hyperebene (Zielfunktion) Eckpunkt oder Seite des Polytops

Beispiel (Problem) maximiere (Zielfunktion): Bedingungen: x 1 + x 2 4x 1 x 2 8 2x 1 + x 2 10 5x 1 2x 2 2 x 1, x 2 0

Beispiel (Darstellung)

Algorithmen zur Lösung von LP-Problemen es existieren effiziente Algorithmen: Ellipsoidverfahren von Khachian in O(n 6 ), interior-point-methode von Karmarkar in O(n 3.5 ) in der Praxis: Simplex-Algorithmus, aber im worst case nicht mehr polynomiell Simplex-Algorithmus wurde 1947 von Dantzig vorgestellt

Simplex-Algorithmus (anschaulich) erhält als Eingabe ein lineares Programm (in Slackform) und berechnet eine optimale Lösung beginnt an einer Ecke des Polytops und führt eine Kette von Iterationen durch, bei denen der Algorithmus jeweils zu einer benachbarten Ecke springt, deren Wert nicht kleiner als der aktuelle ist der Simplex-Algorithmus terminiert, sobald er ein lokales Maximum findet (dies ist global wg. Konvexität des Polytops und Linearität der Zielfunktion)

Spezialfall: IP diskrete lineare Programmierung (integer linear programming) zusätzlich zu den Einschränkungsungleichungen muss gelten x Z n Spezialfall: binäre diskrete lineare Programmierung (0/1 integer linear programming) mit x {0, 1} n nicht effizient lösbar N P-hart

Formulierung des TSP als LP-Problem (I) Grundlage: TSP mit n Städten, spezifiziert durch einen Kostenvektor c jede Tour kann durch einen Inzidenzvektor x S dargestellt werden c R n(n 1)/2 x S {0, 1} n(n 1)/2 Problem: minimiere c T x mit x S (1) nicht ohne weiteres lösbar

Formulierung des TSP als LP-Problem (II) Relaxation: Formulierung eines verwandten Problems minimiere c T x mit Ax b (2) Ax b ist ein lineares Ungleichungssystem, das von allen x S erfüllt wird optimale Lösung von (2) ist eine untere Schranke für (1) einfach zu lösendes LP-Problem (A, b, c)

Ausnutzung des verwandten LP-Problems findet eine untere Schranke für das TSP außerdem: findet man eine Lösung für Problem (2), kann man in der Nähe davon nach einer Lösung für Problem (1) suchen

Initiales LP-Problem Inzidenzvektor: 0 x e 1 (3) jede Stadt v wird von genau zwei Kanten besucht: {xe v e} = 2 (4) diese Bedingungen werden von allen x S erfüllt und können daher als initiales LP-Problem verwendet werden

cutting planes hat (2) eine optimale Lösung und das Polytop {x Ax b} hat einen Extrempunkt, dann findet ein LP-Algorithmus diesen Punkt als eine optimale Lösung x (z. B. der Simplex-Algorithmus) falls x nicht in S liegt, existiert eine lineare Ungleichung, die von allen Punkten in S erfüllt wird und von x nicht diese Ungleichung nennt man cutting plane oder cut und fügt sie zum Ungleichungssystem Ax b hinzu dieser Schritt wird wiederholt bis x S

Methoden zur Generierung von cutting planes Schwierigkeit ist das automatische Finden von cuts bis zur optimalen Lösung für das TSP Gomory cuts: 1958 vorgestellt, werden heute aber nicht mehr verwendet Hypergraph-Schnitte: subtour inequalities, blossom inequalities, comb inequalities Hypergraph ist die Verallgemeinerung eines Graphen mit Kanten über beliebig viele Knoten

Subtour inequalities Anzahl der Verbindungskanten zwischen S und T : x(s, T ) = {x e e S e T } Trennt man V in zwei echte Teilmengen S und T, so muss jede Tour S und T durch mindestens zwei Kanten verbinden: x(s, V S) 2 (5)

Zusammenfassung Lineare Programmierung ist das Standardverfahren zur exakten Lösung größerer TSP-Instanzen TSP ist ein Problem der (binären) diskreten linearen Programmierung (N P-hart) Lösung durch iteratives Beschneiden eines hochdimensionalen Polytops mit geeigneten cut-bedingungen/-ungleichungen