3. Der Algorithmus a) ohne Approximation b) mit Approximation

Ähnliche Dokumente
3. Schnittebenenverfahren

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

4.3.3 Simplexiteration

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

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

Nichtlineare Gleichungssysteme

1 Der Simplex Algorithmus I

Lineare (Un-)Gleichungen und lineare Optimierung

Mathematik für Wirtschaftswissenschaftler Kapitel 4-6. Universität Trier Wintersemester 2013 / 2014

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

2. Optimierungsprobleme 6

Lineare (Un-)Gleichungen und lineare Optimierung

Leibniz Universität Hannover Wirtschaftswissenschaftliche Fakultät Institut für Produktionswirtschaft Prof. Dr. Stefan Helber

Lineare Programmierung

f(x) f(x 0 ) lokales Maximum x U : gilt, so heißt x 0 isoliertes lokales Minimum lokales Minimum Ferner nennen wir x 0 Extremum.

Optimieren unter Nebenbedingungen

Optimierung I. Dr. Ulf Lorenz F2.413

Lösung allgemeiner linearer Programme

Optimierung für Nichtmathematiker

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

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

Grundlagen, Vorgehensweisen, Aufgaben, Beispiele

Rückblick auf die letzte Vorlesung. Bemerkung

1 Lineare Optimierung, Simplex-Verfahren

Inhaltsverzeichnis. Vorwort Kapitel 1 Einführung, I: Algebra Kapitel 2 Einführung, II: Gleichungen... 57

Hannah Wester Juan Jose Gonzalez

Lineare Optimierungsmodelle

Lineare Gleichungssysteme

9.2 Invertierbare Matrizen

Integrierte Umlauf- und Dienstplanung im ÖPNV

3. Grundlagen der Linearen Programmierung

(Technisch: Setze alle Skalarprodukte der allgemeinen Lösung mit den Basisvektoren des Kerns gleich Null eindeutige leastsqares Lösung)

Mathematik für Wirtschaftswissenschaftler

18 Höhere Ableitungen und Taylorformel

Elemente der Analysis II

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

KAPITEL 6. Nichtlineare Ausgleichsrechnung

Studientag zur Algorithmischen Mathematik

Mathematik für Wirtschaftswissenschaftler im WS 2013/14 Lösungen zu den Übungsaufgaben (Vortragsübung) Blatt 7

Lineare Programmierung Teil I

Konvergenz im quadratischen Mittel und Parsevalsche Gleichung

Optimale Steuerung 1

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

Teil II. Nichtlineare Optimierung

3 Optimierung mehrdimensionaler Funktionen f : R n R

Höhere Mathematik für Physiker II

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

Nichtlineare Optimierung ohne Nebenbedingungen

Unimodularität. Kapitel 1. Peter Becker (H-BRS) Operations Research II Wintersemester 2015/16 11 / 206

Optimierung für Nichtmathematiker

3.4 Der Gaußsche Algorithmus

37 Gauß-Algorithmus und lineare Gleichungssysteme

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

5.10. Mehrdimensionale Extrema und Sattelpunkte

OPERATIONS-RESEARCH (OR)

3 Nichtlineare Gleichungssysteme

Vervollständigung Lateinischer Quadrate

9 Optimierung mehrdimensionaler reeller Funktionen f : R n R

2. Stetige lineare Funktionale

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Euklidische Distanzmatrizen. Andrei Grecu

10.2 Dualitätstheorie Operations Research. In der Standardform eines Maximierungsproblem: b e ) mit ( w) + a ej ) x j + x g = ( b g + g G

Klausur zur Vorlesung Mathematische Grundlagen für Wirtschaftswissenschaftler

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

Lösungen zu den Hausaufgaben zur Analysis II

Wirtschaftsmathematik für International Management (BA) und Betriebswirtschaft (BA)

Bestimmung einer ersten

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

Mathematik I. Vorlesung 7. Folgen in einem angeordneten Körper

Randomisierte Algorithmen 2. Erste Beispiele

Studientag zur Algorithmischen Mathematik

Datenstrukturen & Algorithmen

Durchschnitt von Matroiden

Die Taylorreihe einer Funktion

1 Potenzen und Polynome

Mathematik 1, Teil B. Inhalt:

Modelle und Methoden der Linearen Optimierung (Die Thesen zur Vorlesung 1_Fallstudie)

1 Zahlentheorie. 1.1 Kongruenzen

f f(x ɛξ) f(x) 0, d.h. f (x)ξ = 0 für alle ξ B 1 (0). Also f (x) = 0. In Koordinaten bedeutet dies gerade, dass in Extremstellen gilt: f(x) = 0.

Aufgabe 5.3 Duale Simplexverfahren

f(x, y) = 0 Anschaulich bedeutet das, dass der im Rechteck I J = {(x, y) x I, y J}

Mathematische Grundlagen der Ökonomie Übungsblatt 8

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

Outline. 1 Funktionen von mehreren Veränderlichen. 2 Grenzwert und Stetigkeit. 3 Partielle Ableitungen. 4 Die verallgemeinerte Kettenregel

1 Singulärwertzerlegung und Pseudoinverse

11 Optimierung von Funktionen einer Veränderlichen

Lösungen. 1. Klausur zur MIA: Analysis I für Mathematiker

Anwendungen der Differentialrechnung

KAPITEL 6 GANZZAHLIGE OPTIMIERUNG UND VOLLSTÄNDIG UNIMODULARE MATRIZEN

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

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

Kapitel 3. Konvergenz von Folgen und Reihen

Lineares Programmieren

Multivariate Analysis

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

3 Folgen, Reihen, Grenzwerte 3.1 Zahlenfolgen Definition: Eine Folge ist eine geordnete Menge von Elementen an (den sogenannten Gliedern ), die

A2.3 Lineare Gleichungssysteme

11 Untermannigfaltigkeiten des R n und lokale Extrema mit Nebenbedingungen

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Transkript:

Kapitel 9 Lösung von großen 0-1 Problemen mithilfe der Lagrange Relaxation - Der Wedelin Algorithmus Seminar Ganzzahlige Optimierung, WS 2006/07 Gliederung 1. Einführung 2. Das binäre ganzzahlige Problem (BIP) 3. Der Algorithmus a) ohne Approximation b) mit Approximation 4. LP Interpretation 5. Greedy Algorithmus Interpretation 6. Rechnergestützte Ergebnisse für SCPs 9.1 Einführung In der Ganzzahligen Optimierung behandelt man unter anderem die binären ganzzahligen Probleme, die weitaus schwerer zu lösen sind als gewöhnliche lineare Programme. Bekannte Beispiele sind das Traveling Salesman Problem oder das Assignment Problem. In diesen sind die Entscheidungsvariablen x i B = {0, 1}. Auch bei den Problemen, bei welchen der Wedelin Algorithmus angewandt wird, ist dies der Fall. Der hier vorgestellte Optimierer ist Ergebnis eines akademischen Forschungsprojektes. Der unter der Leitung von Dag Wedelin entwickelte und nach ihm benannte Wedelin - Algorithmus zielt auf sehr große 0-1-Probleme ab, die im Bereich des Airline Crew Scheduling auftreten. In Zusammenarbeit mit 1

der Firma CARMEN SYSTEMS AB mit Standort Göteborg (Schweden) wurde dieses spezielle Anwendungsproblem studiert. Dieses Unternehmen hat als primäres Geschäftsfeld die Entwicklung und den Verkauf von Optimierungssoftware für die Transportindustrie. Die Gesellschaft, die am 14.06.2006 von der BOEING Fluggesellschaft aufgekauft wurde, entwickelt Lösungen für den optimalen Einsatz von Besatzung u. Fahrzeugen und verkauft diese an viele große Europäische Fluggesellschaften (z.b. Lufthansa, SAS, Alitalia). 9.2 Das binäre ganzzahlige Problem (BIP) Bevor der Algorithmus vorgestellt wird, definieren wir das (BIP). Es lautet wie folgt: min c T x s.t. Ax = b x j B Dieses Problem ist NP-schwer. Probleme wie Set Partitioning (Ax = 1), Set Covering (Ax 1)und Set Packing Probleme (Ax 1) sind einige bekannte dieser Klasse. Handhabung von Ungleichungsrestriktionen Ungleichungen können durch Hinzufügen von binären Schlupfvariablen zu Null Kosten durch Gleichungen ersetzt werden. Beispiel 1: Die NB x 1 + x 2 + x 3 2 wird ersetzt durch: x 1 + x 2 + x 3 + x 4 + x 5 = 2. (Einführung von x 4, x 5 {0, 1}) Beispiel 2: Die NB x 1 + x 2 + x 3 2 wird analog ersetzt durch: x 1 + x 2 + x 3 + x 4 + x 5 + x 6 = 5. Die gewöhnlichen Lösungsmethoden für BIPs basieren auf der LP Relaxation (d.h. man fordert nur noch x j [0; 1] (LP)) und Branch and Bound Strategien, die fraktionale Werte beseitigen und am Ende eine echt ganzzahlige Lösung produzieren sollen. Jedoch versagt dieser Ansatz oft für sehr große Probleme. Andere Methoden wie Greedy Heuristiken liefern hierfür oft zulässige ganzzahlige Lösungen, allerdings von schlechter Qualität. Hauptziele des Wedelin-Algorithmus: 1. Lösung von sehr großen 0, 1 Problemen in einer direkteren Art 2. Stabile Methode zum Auffinden zulässiger ganzzahliger Lösungen höchstmöglicher Qualität 2

9.3 Der Algorithmus Der Algorithmus besteht aus 2 interagierenden Komponenten: 1. Einfacher duale Koordinaten-Suchalgorithmus zum Auffinden einer 0-1 Lösung für (BIP) durch Heranziehen der Lagrangeschen Relaxation 2. Approximationsschema, welches den Kostenvektor c der Zielfunktion so wenig wie möglich manipuliert, um Konvergenz zu ermöglichen und um eine eindeutige binäre Lösung für das relaxierte Problem zu bekommen. Die Höhe der Manipulation bestimmt der Approximationsparameter κ. min {0 x 1} c T x + y T (b Ax) (R) Dies ist die Lagrange Relaxation für alle y, denn jedes für (BIP) zulässige x ist auch zulässig für (R), mit selbem Zielfunktionswert. Die Idee besteht darin, einen Vektor y zu finden, so dass die Lösung von (R) zulässig ist auch für (BIP). Da beide Zielwerte gleich sind, ist diese Lösung dann auch optimal für (BIP). Lösung von (R): Durch Definition von c := c A T y ist die Lösung für (R): 0 falls c j > 0 x j = z [0, 1] falls c j = 0 1 falls c j < 0 Falls c in jeder Koordinate nicht Null ist, ist die Lösung binär und eindeutig! Wenn jedoch irgendein c j = 0, dann wird das Auffinden einer zulässigen Lösung schwierig. Daher muss man ein y finden, so dass c 0. Einführung einer Approximation nötig zum Finden des gewünschten y! 9.3.1 ohne Approximation Beim Durchlaufen aller NB wählt man das zugehörige y i so, dass die Lösung x für (R) Nebenbedingung i : A i x = b i erfüllt. Voraussetzung: Alle Matrixeinträge a ij {0, 1} und b ganzzahlig. Berechnung der y i wie folgt: Dabei sei i Zeilenindex, j Spaltenindex der Matrix A. Für jedes i definiere das Array c i := {c j a ij = 1} und setze r i := c i +y i (Aufheben des Effekts eines vorhergehenden Wertes für y i ) Wähle r als b i. niedrigstes Element von r i, r + als b i + 1. niedrigstes 3

Setze als neuen Wert für y i : y i := r +r + 2 Festzuhalten bleibt, dass nach dem Update von c exakt b i der Einträge von c i negativ sind, falls r +, r 0. Üblich konvergiert c gegen einen Punkt, an dem viele Elemente 0 sind, und keine binäre Lösung gefunden wird. = Ausweg: 9.3.2! 9.3.2 mit Approximation Idee ist es, c so wenig wie möglich zu stören, damit dann eine ganzzahlige Lösung für x mithilfe der Koordinatensuche gefunden wird. Die Höhe der Störung wird durch Approximationsparameter κ festgesetzt. Im Unterschied zu a) werden nun für jede NB 2 verschiedene Werte y i + und yi geführt. Eine kleine Konstante δ wird gebraucht, um zu gewährleisten, dass die Elemente von c nie Null sind. Ein Hilfsarray s i derselben Länge wie r i wird benötigt. Iteration für eine NB beinhaltet folgende Schritte: 1. r i := c i s i (Rückgängigmachung vorheriger Iteration) 2. r := b i. niedrigstes Element von r i r + := b i + 1. niedrigstes Element von r i yi := y i + κ 1 κ (r+ r ) + δ y i + := y i κ 1 κ (r+ r ) δ { s i yi falls rj i j := r y i + falls rj i r+ 3. c i := r i + s i Die Iteration durchläuft wiederholt zyklisch die Nebenbedingungen. Bemerkung: Paralleliteration von NB, die keine gemeinsamen Variablen besitzen, möglich. Einige Anmerkungen zur schwierigen Wahl von κ, δ: Wahl von κ kritisch: 1. Möglichkeit: Starte mit κ = 0 und erhöhe langsam bis Konvergenz auftritt = Leider zu langsam für Praxis! Besser ist ein relativ schneller Durchlauf (Anzeige Konvergenzpunkt) und danach ein 2. Durchlauf, der in einem relativ kleinen Intervall unterhalb des gegebenen Konv.punktes sehr langsam durchläuft = genauere Suche in kritischer Region! Wert δ sollte größtmöglich gewählt werden ohne jedoch die erhaltenen Lösungen zu verschlechtern. = niedriger Konvergenzpunkt für κ! 4

9.4 LP Interpretation (R) ist ebenso eine Relaxation von (LP), die sogenannte Lagrange Relaxation. Daher kann man den Algorithmus ohne Approximation (d.h. κ = 0) im vertrauten Rahmenwerk von Linearer Programmierung verstehen. Die Koordinatensuche wird von einem dualen Standpunkt betrachtet. Es ist bekannt, dass das Problem (LP) und seine Relaxation (R) verwandt sind zu dem unbeschränkten nichtlinearen Problem der Form max f(y) y mit f(y) = yb + min {0 x 1} (c ya)x Dies ist das Lagrangesches Dualproblem mit alleiniger Betrachtung der NB Ax=b, welche in Zielfunktion eingeht. Gewöhnlicherweise werden alle NB mit Ausnahme von x 0 relaxiert. Bemerkung: f(y) ist das Minimum einer Menge von linearen Funktionen in y, eine für jede Variablenbelegung von x. Folgerung: f(y) ist eine stückweise lineare und konkave (d.h. -f konvex) Funktion. Es wird nun gezeigt, dass die Methode der Koordinatensuche in Gliederungspunkt 3a) genau dem Problem der Maximierung von f(y) entspricht. Die partiellen Ableitungen für jedes y lauten (falls existent): f y i = b i a i x R (9.1) Dabei ist x R die Lösung von (R) für dieses y. Erinnert sei daran, dass in der Koordinatensuche y i immer so gewählt wird, dass die Lösung von (R) a i x = b i erfüllt. = f y i = 0. Da f(y) konkav, ist die notwendige Bedingung auch hinreichend und man kann schließen, dass dieser Punkt auch das Maximum entlang der y i darstellt. 9.5 Greedy Algorithmus Interpretation Geht der Approximationsparameter κ gegen den Wert 1, dann ist der zweite Summand der yi, y+ i Formel {+, } und jeder Wert von c ist auf + oder gesetzt. Die Erfüllung der Restriktionen setzt sodann die Kostenstruktur des Problems vollständig außer Kraft. 5

Der Algorithmus verhält sich wie ein Greedy Algorithmus. Greedy-Algorithmen ( Gierige Algorithmen ) bilden eine spezielle Klasse von Algorithmen, wie sie in der Informatik auftreten. Sie zeichnen sich dadurch aus, dass sie schrittweise denjenigen Folgezustand auswählen, der zum Zeitpunkt der Wahl den größten Gewinn bzw. das beste Ergebnis verspricht (z.b. Gradientenverfahren). Anmerk.: Sind meist schnell, lösen viele Probleme aber nicht optimal. Hier lautet er speziell wie folgt: Jede Variable x i hat 3 Möglichkeiten: 0,1 oder unknown. Start: Alle x i werden auf Status unknown gesetzt. k := 1 Betrachte die k.-te NB A k x = b i : Setze jedes x i {x i x i = unknown} auf 0 oder 1, so dass NB erfüllt. (Zuweisung abh. von Werten des Kostenvektors c) Ausnahme: Verändern einer gesetzten Variablen x i nur erlaubt, wenn die unknown Variablen nicht ausreichen, um NB zu erfüllen. Setze k := k + 1. Generell kann dieser Algorithmus im Finden einer 0-1 Lösung x fehlschlagen. Werden jedoch die Gleichungsnebenbedingungen systematisch durch oder ersetzt, ist Konvergenz garantiert nach genau einem Durchlauf durch die NB. Grund: Alte Zuweisungen werden nur in eine Richtung überschrieben, z.b. von 0 zu 1 bei. Es wird keine NB mehr verletzt, nachdem sie durchlaufen wurde, und eine suboptimale Lösung ist sehr schnell gefunden. 9.6 Rechnergestützte Ergebnisse für Set Covering Probleme Der vorgestellte Algorithmus wurde besonders an großen Set Covering Problemen (SCP), die aus der Anwendung des Airline Crew Scheduling stammen, getestet. Daher wird nun zuerst dass Airline Crew Scheduling Problem eingeführt: Das Airline Crew Scheduling Problem Annahme: Ein Zeitplan mit allen Flugabschnitten ist gegeben Ein Flugabschnitt ist ein gegebener Flug zu einer gegebenen Zeit Zu diesen Flugabschnitten müssen Crews zugewiesen werden, so dass jede Crew einen durchführbaren Flugplan erhält und diese Lösung möglichst kostengünstig ist 6

Die Zuweisung von Personen zu den Flugbesatzungen wird hier nicht mit betrachtet Jede Crew hat einen Heimatflughafen, ein Flugplan besteht aus einer Sequenz von Flugabschnitten mit Ausgangs- und Endpunkt Heimatflughafen (dies nennt man Pairing, dt: Paarung) Wirkende Einflussgrößen auf Pairing: Gesamtzeitdauer, max. Flugzeit pro Tag etc. Gewöhnliche Lösung des Problems in 2 Schritten: 1. Berechnung einer großen Anzahl von erlaubten Pairings und Berechnung der Kosten für jedes Pairing unter Benutzung einer vorher gefundenen Lösung als Leitfaden 2. Auswahl einer Teilmenge der erzeugten Pairings, so dass jeder Flug im Flugplan in mind. einem der ausgewählten Pairings enthalten ist. Dies sollte so erfolgen, dass die Totalkosten (Summe der Einzelkosten für die individuellen Pairings) minimiert werden. Eine Crew kann auch bei einer anderen Flugbesatzung als Passagier mitfliegen, falls kostengünstiger. Dieses Problem ist also ein (SCP) der Form: min c T x s.t. Ax 1 x j B Dabei: A 0-1 Matrix. Zeile entspricht Flugabschnitt, Spalte dem Pairing. Typisches Problem: 50 4000 Flüge, 10 3 10 6 Pairings und 5 10 Nichtnulleinträge pro Spalte der Matrix A Der Algorithmus wurde vergleichsweise gegenüber dem CPLEX-System für lineare und ganzzahlige Optimierung getestet. Alle Ergebnisse wurden mit Standardparametereinstellungen erzeugt auf einem HP720 Rechner. Abschließendes Studienfazit: Für größer werdende Probleme ist die Gesamtlaufzeit des Wedelin- Algorithmus wesentlich geringer als die von CPLEX zum Auffinden einer LP Lösung CPLEX verbraucht mehr Arbeitsspeicher während des Rechenvorgangs Die Qualität der Lösungen kann sich im Vergleich zu den bewährten Methoden, die auf Lin. Programmierung und Branch & Bound basieren (CPLEX) sehen lassen. Die nachfolgenden beiden Tabellen verdeutlichen die durchgeführten Tests. 7

Abbildung 9.1: Größe des Problems vor und nach der Vorverarbeitung Abbildung 9.2: Testergebnisse (Zielfunktionswert, Zeit) für echte SCPs 8

Literaturverzeichnis [1] An algorithm for large scale 0-1 integer programming with application to airline crew scheduling, Annals of Operations Research 57, S. 283-301, Dag Wedelin, Dezember 1994 [2] The design of an 0-1 optimizer and its application in the Carmen System, European Journal of Operations Research 87, S.722-730, Dag Wedelin, Juli 1995 [3] Integer Programming -Polyhedra and Algorithms, Krumke, S. O., 2006 [4] www.boeing.de/2006/060614.html, Stand:04.01.2007 Vortragender: Christian Spieler 9