Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 19
1 Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 2 / 19
Einleitendes Metaheuristik Metaheuristisches Verfahren sind problemunspezifische Verfahren zur Lösung von Optimierungsproblemen: eine problemunspezifische Folge von Handlungsschritten kann auf unterschiedliche Probleme angewandt werden Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 3 / 19
Einleitendes Metaheuristik Metaheuristisches Verfahren sind problemunspezifische Verfahren zur Lösung von Optimierungsproblemen: eine problemunspezifische Folge von Handlungsschritten kann auf unterschiedliche Probleme angewandt werden bei einem konkreten Problem muss aber jeder unspezifische Schritt adaptiert werden Genetische Algorithmen, Tabu Search, Simulated Annealing, Ant Colony... Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 3 / 19
Einleitendes Metaheuristik Metaheuristisches Verfahren sind problemunspezifische Verfahren zur Lösung von Optimierungsproblemen: eine problemunspezifische Folge von Handlungsschritten kann auf unterschiedliche Probleme angewandt werden bei einem konkreten Problem muss aber jeder unspezifische Schritt adaptiert werden Genetische Algorithmen, Tabu Search, Simulated Annealing, Ant Colony... Vorteil: Meist leicht zu implementieren und gute Resultate in kurzer Zeit. Nachteil: Keine theoretischen Gütegarantien herleitbar. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 3 / 19
Genetischer Algorithmus Problemunspezifisches 1) Wähle eine Menge von zulässigen Lösungen (Individuen) als Initialisierung (1-te Generation). 2) Evaluierung: Jede zulässige Lösung wird hinsichtlich ihrer Güte bewertet (meist über den Zielfunktionswert). 3) Durchlaufe folgende Schritte: Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 4 / 19
Genetischer Algorithmus Problemunspezifisches 1) Wähle eine Menge von zulässigen Lösungen (Individuen) als Initialisierung (1-te Generation). 2) Evaluierung: Jede zulässige Lösung wird hinsichtlich ihrer Güte bewertet (meist über den Zielfunktionswert). 3) Durchlaufe folgende Schritte: Wähle eine Menge von Individuen der k-ten Generation zur Rekombination. Erzeuge neue Individuen durch Rekombination. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 4 / 19
Genetischer Algorithmus Problemunspezifisches 1) Wähle eine Menge von zulässigen Lösungen (Individuen) als Initialisierung (1-te Generation). 2) Evaluierung: Jede zulässige Lösung wird hinsichtlich ihrer Güte bewertet (meist über den Zielfunktionswert). 3) Durchlaufe folgende Schritte: Wähle eine Menge von Individuen der k-ten Generation zur Rekombination. Erzeuge neue Individuen durch Rekombination. Wende zufällige Mutationen auf die neuen Individuen an. Evaluiere die neuen Individuen ((k + 1)-te Generation) und starte mit einem neuen Durchlauf. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 4 / 19
GA fürs TSP Initialisierung Generiere eine Menge von zufällig erzeugten Touren T = {T 1,...,T m }: Jede Tour entspricht einer Permutation der Orte 1,2,...,n. Wähle also m der insgesamt n Permutationen zufällig aus. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 5 / 19
GA fürs TSP Initialisierung Generiere eine Menge von zufällig erzeugten Touren T = {T 1,...,T m }: Jede Tour entspricht einer Permutation der Orte 1,2,...,n. Wähle also m der insgesamt n Permutationen zufällig aus. Evaluierung Bestimme für jede Tour T i T ihre Länge l(t i ) und sortiere die Touren absteigen nach 1 l(t i ) Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 5 / 19
GA fürs TSP 1 2 3 4 5 6 7 8 T 1 = (12345867) 1 2 3 4 5 6 7 8 T 2 = (13524678) T 3 = (12435678) 1 2 3 4 5 6 7 8 Joachim Schauer ( Institut für Statistik und OR Uni Graz ) Betriebliche Optimierung 6 / 19
GA fürs TSP Selektion Wähle j Paare von Touren zufällig aus T, wobei die Wahrscheinlichkeit eine Tour mit kurzer Länge zu erwischen, erhöht sein soll. Wählen der Paare Sei l(t 1 ) = 15, l(t 2 ) = 12, l(t 3 ) = 9: Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 7 / 19
GA fürs TSP Selektion Wähle j Paare von Touren zufällig aus T, wobei die Wahrscheinlichkeit eine Tour mit kurzer Länge zu erwischen, erhöht sein soll. Wählen der Paare Sei l(t 1 ) = 15, l(t 2 ) = 12, l(t 3 ) = 9: Sortierte Liste {T 3,T 2,T 1 } mit: ( 1 9, 1 12, 1 ) und 15 T T 1 l(t) = 0.26 1 Anteil von T 3 an 0.26 1 sind 42.6 Prozent, von T 2 31.9 Prozent und von T 3 25.5 Prozent. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 7 / 19
GA fürs TSP 1000 1000 575 574 256 255 1 1 Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 8 / 19
GA fürs TSP Rekombination - Vorschlag Seien T i und T j zwei Touren, konstruiere wie folgt 2 neue Touren: Wähle eine Zufallszahl l aus [1,n]. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 9 / 19
GA fürs TSP Rekombination - Vorschlag Seien T i und T j zwei Touren, konstruiere wie folgt 2 neue Touren: Wähle eine Zufallszahl l aus [1,n]. Erzeuge eine neue Tour T i indem die ersten l Einträge aus T i übernommen werden. Dann gehe durch die Tour T j : falls ein Ort noch nicht in T i ist, füge ihn an T i an. Bilde T j analog. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 9 / 19
GA fürs TSP Rekombination - Vorschlag Seien T i und T j zwei Touren, konstruiere wie folgt 2 neue Touren: Beispiel Wähle eine Zufallszahl l aus [1,n]. Erzeuge eine neue Tour T i indem die ersten l Einträge aus T i übernommen werden. Dann gehe durch die Tour T j : falls ein Ort noch nicht in T i ist, füge ihn an T i an. Bilde T j analog. T i = (132568974) und T j = (748293615) und die Zufallszahl l = 4: T i = (132574896) und T j = (748213569) Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 9 / 19
GA fürs TSP Erzeugen der nächsten Generation Ziel: Anzahl der Individuen der nächsten Generation soll wieder m betragen. Vorschlag: aus den 2 j neuen Touren wähle die m kürzesten Touren aus. Mutation der nächsten Generation Ziel: Vermeidung lokaler Minima! Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 10 / 19
GA fürs TSP Erzeugen der nächsten Generation Ziel: Anzahl der Individuen der nächsten Generation soll wieder m betragen. Vorschlag: aus den 2 j neuen Touren wähle die m kürzesten Touren aus. Mutation der nächsten Generation Ziel: Vermeidung lokaler Minima! Entscheide für jede neue Tour Ti mit positiver Wahrscheinlichkeit, ob sie mutiert wird oder nicht. Falls T i zur Mutation ausgewählt wurde, ziehe 2 Zufallszahlen k 1 und k 2 und ersetze T i durch jene Tour in der Position k 1 mit k 2 vertauscht wurde. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 10 / 19
GA fürs TSP Beispiel zur Mutation Sei T i = (132568974) und ziehe k 1 = 3 und k 4 = 7: (139568274) Erzeugen der nächsten Generation Die nächste Generation besteht aus den insgesamt m mutierten und nicht mutierten Touren. Wiederhole alle Schritte startend bei der Evaluierung. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 11 / 19
GA fürs TSP Abbruchkriterien: Anzahl an Generationen Vom Rechner benötigte Zeit. Keine Verbesserung des Zielfunktionswertes nach l Generationen. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 12 / 19
Tabu Search Lokale Suchverfahren Algorithmen, die eine zulässige Lösung an kleinen Stellen verändern um eine neue Lösung zu generieren: k-opt Verfahren bei TSP OR-OPT Gefahr bei lokalen Suchen: Lokales Optimum wird gefunden! Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 13 / 19
Lokale Optima Quelle: Wikipedia Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 14 / 19
Tabu Search Idee Tabu Search versucht: lokale Suchverfahren so zu steuern, dass lokale Optima wieder verlassen werden Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 15 / 19
Tabu Search Idee Tabu Search versucht: lokale Suchverfahren so zu steuern, dass lokale Optima wieder verlassen werden das globale Optimum gefunden wird Benötigt wird eine Tabu Liste L die gewisse Züge für eine Dauer von k Iterationen verbietet. Zu Beginn ist L = Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 15 / 19
Tabu Search Idee 1 Starte mit einer Zulässigen Lösung x (z.b. durch eine Heuristik gefunden) 2 Erzeuge eine Menge von zulässigen Lösungen die in der Nachbarschaft N(x) von x liegen. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 16 / 19
Tabu Search Idee 1 Starte mit einer Zulässigen Lösung x (z.b. durch eine Heuristik gefunden) 2 Erzeuge eine Menge von zulässigen Lösungen die in der Nachbarschaft N(x) von x liegen. 3 Wähle die beste Lösung x aus N(x) als neue Lösung, welche nicht aufgrund der Tabu Liste verboten ist. 4 Vorschlag: Füge den inversen Zug der zu x führte zur Tabu Liste hinzu. x darf schlechter als x sein! Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 16 / 19
Tabu Search Einfache Variante fürs TSP Die Nachbarschaft N(T) einer Tour T sind alle Touren: die durch Vertauschen von zwei Städten entstehen N(T) = ( n) 2 Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 17 / 19
Beispiel 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 Joachim Schauer ( Institut für Statistik und OR Uni Graz ) Betriebliche Optimierung 18 / 19
Tabu Search Einfache Variante fürs TSP Starte mit einer zulässigen Tour T 1 und einer leeren Tabu Liste. Bestimme die Nachbarschaft N(T i ) von T i. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 19 / 19
Tabu Search Einfache Variante fürs TSP Starte mit einer zulässigen Tour T 1 und einer leeren Tabu Liste. Bestimme die Nachbarschaft N(T i ) von T i. Wähle die beste Lösung T i+1 aus N(T i ), die nicht durch die Tabu Liste verboten wurde (seien l und j jene Orte, welche dabei vertauscht wurden). Füge den Tausch der Orte l und j für die nächsten k Iterationen zur Tabuliste hinzu. Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 19 / 19
Tabu Search Einfache Variante fürs TSP Starte mit einer zulässigen Tour T 1 und einer leeren Tabu Liste. Bestimme die Nachbarschaft N(T i ) von T i. Wähle die beste Lösung T i+1 aus N(T i ), die nicht durch die Tabu Liste verboten wurde (seien l und j jene Orte, welche dabei vertauscht wurden). Füge den Tausch der Orte l und j für die nächsten k Iterationen zur Tabuliste hinzu. Damit wird versucht zu verhindern, dass immer die selbe Folge von Touren generiert wird (lokales Optimum). Abbruchkriterien gleich wie beim GA Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 19 / 19