Beispiel 4 Das Kanban-Zuordnungsproblem (KZP)

Werbung
Methoden des Softcomputings
1.
Einleitung
Zusammenfassung: Beispiele; Grundbegriffe (der Optimierung); Klassifikation von OP;
neue und klassische Verfahren; Zugang an Professur;
1.1
Beispiele
Beispiel 1.
Das Rundreiseproblem (RP)
{TSP - travelling salesman problem}
geg.: N Orte; Entfernung zw. 2 Orten.
ges.:
Rundreise, die jeden Ort genau 1x besucht und minimale Gesamtlänge besitzt.
TSP  graphentheoretisch:
Suche nach kürzestem Hamilton-Zyklus (einf., geschl., vollst. Weg)
z.B.: Hauptstädte der 80 größten Länder der Erde
Naives Verfahren: Betrachte alle Zyklen.
 Wenn je Sekunde 10100 mögl. Zyklen bewertet, so fast 1.5 Mrd. Jahre für Optimierung !
Spez. EA von U.Nieländer : 3 h auf 486-er
Parallelisierte Variante von M. Riedel (DA 2002):
Beispiel 2.
Das Lagerhaltungsproblem mit Umverteilungen (LHPU)
{ Nutzung einer verteilten Ressource}
geg.: N Lager; 1 Produkt; unendlicher Planzeitraum in Perioden eingeteilt;
zu Periodenbeginn: Bestellentscheidung BE mit augenblicklicher Lieferung
innerhalb Periode:
Realisierung eines (stochastischen) Bedarfes
am Periodenende:
Transportentscheidung TE mit augenblicklicher Umverteilung
ges.:
Folge von BE und TE (Strategie), so dass die insgesamt zu erwartenden
durchschnittlichen Periodenkosten minimiert werden.
Beispiel 3
Das Konfigurationsproblem ( Central-Server Modell )
geg.:
p1
 Last
CS
µ0
p0
abgewiesene
Jobs
ges.:
PG 1
µ1
pN
PG N
µN
bediente
Jobs
Solche Konfiguration, so dass ein gegebenes Leistungsmaß maximiert wird.
1
Beispiel 4
Das Kanban-Zuordnungsproblem (KZP)
geg.: mehrstufiges (Fertigungs-)System mit einer Kanban-Steuerung
Prinzip bei serieller Struktur:
Produktfluss
Rohmaterial
Stufe
1
Stufe
Stufe
2
N
Informationsfluss
Lager
N+1
Bedarf
Kanban-Steuerung regelt Teilefluss zwischen zwei benachbarten Stufen auf folgende
Weise:
Puffer Server
KB
AL
Stufe n
Stufe n+1
Kartenfluss
Teilefluss
An jedem Teil hängt eine Karte (Jap.: Kanban). Ist in Stufe n ein Teil fertig bearbeitet, so
wird das Paar (Teil, Karte) in das Ausgangslager AL der Stufe n bewegt. Fordert die
nachfolgende Stufe n+1 ein Teil an, so wird im AL der Stufe n nachgeschaut, ob sich dort
Teile befinden. Wenn ja, so wird das Paar (Teil, Karte) getrennt. Das Teil wird zur Stufe n+1
bewegt, während die Karte in die Kanban-Box KB der Stufe n befördert wird. Befinden sich
Karten in KB, so ist das ein Signal, dass die Stufe produzieren möchte. Dazu wird aber ein
Teil der Vorgängerstufe benötigt. Wird dieses zur Verfügung gestellt, so werden beide zu
einem neuen Paar (Teil, Karte) verbunden und in den Puffer vor der Bearbeitungsstation
Server bewegt. Indem man jeder Stufe eine feste Anzahl Karten zuordnet, werden durch
diesen Mechanismus in Abhängigkeit vom Bedarf immer neue Teile in die Fertigung
„gezogen“ (Pull-System
ges.:
Eine solche Aufteilung von Kanbans auf die einzelnen Fertigungsstufen, so dass sich
für das entsprechende System eine maximale Performance ergibt.
Beispiel 5
Das hungrige Entlein
geg.: ein in quadratische Zellen eingeteilter rechteckiger Bereich mit M Zeilen und N
Spalten; in jeder Zelle befinden sich bestimmte Futtermengen; ein Entlein bewegt sich
schrittweise von Zelle (1, 1) zu Zelle (M, N) und sammelt das Futter auf; dabei sind
Schritte nur vertikal oder horizontal erlaubt;
ges.: Ein Weg, der die maximale Futtermenge enthält.
2
1.2
Grundbegriffe der Optimierung
 Was heißt Optimierung und optimal?
Etwas zu optimieren  „Es besser machen; es am besten machen!“
Wir hier: Beste mögliche Lösung in vorgegebener Zeit finden !
 Was ist ein Optimierungsproblem (OP)?
Aufgabe, aus einer bestimmten Menge zulässiger Lösungen eine Lösung entsprechender
Güte auszuwählen.
 Definition/Formalisierung von OP:
Beispiele aus §1.1 - zu einem System sind quantitative / qualitative Aussagen zu machen
 benötigen mathematisches Modell - drei wesentliche Bestandteile zu definieren, d.h.,
1. Entscheidungsvariable als jene Größen, die wählbar sind
2. Zielfunktion legt den Leistungs- oder Bewertungsmaßstab fest
3. Nebenbedingungen definieren die zulässige Menge von Lösungen(Suchraum)
EV: Der Vektor von Entscheidungsvariablen x = (x1, ..., xn) entspricht einer Lösung.
Oft gilt xi  R, i=1...n; manchmal ist xi  {0, 1, 2, ...} oder xi  {0, 1}, i=1...n,
ZF: Für die Bewertung einer Lösung - Zielfunktion/Gütekriterium f(x).
Die Zielfunktion f kann z.B. linear oder nichtlinear, stetig oder nicht-stetig sein.
NB: Sie definieren die zulässige Lösungsmenge in der folgenden Weise:
Sei xi  Di , wobei Di z.B. stetig oder diskret sein kann, i=1...n, und seien m
Abbildungen der Form gj : D1  ...  Dn  R1 , j=1(1)m, gegeben. Dann stellen
die Gleichungen gj(x) = 0, j=1(1)m, Nebenbedingungen (Restriktionen) dar.
Als zulässigen Bereich ergibt sich dann die Menge
X := { x D1  ...  Dn : gj(x) = 0, j=1(1)m }.

OP (Optimierungsproblem):
f(x)  MAX
xX

Lösung: Was ist Lösung von OP?
x* ist lokales Optimum (Maximum) 
f(x*)  f(x), x  U(x*) mit
U(x*):={xX : r(x, x*)  }.
x* ist globales Optimum (Maximum)  f(x*)  f(x), x  X.
f(x)
x
a xl1*
xl2*
xg*
b
b’
Bem.:
- Minimieren ist äquivalent zum Maximieren.
- I.d.R. wird „nur“ ein lokales Optimum gefunden.
- Oft Zielfunktion f nicht analytisch gegeben. „Nur“ Schätzung f^(x) mittels Simulation.
3
 Klassifikation von OP:
a) bezüglich Schwierigkeitsgrades  über Zeitkomplexität definiert 
Klasse P der praktisch lösbaren Probleme
Klasse NP der mit polynomialem Aufwand lösbaren Probleme
b) bezüglich Struktur
(i)
OP mit oder ohne NB
(ii)
lineare OP und nichtlineare OP (in Abh. von ZF und NB)
(iii) stetige OP oder diskrete OP (in Abh. von EV), wobei diskrete noch weiter
unterteilbar in ganzzahlige OP und 0-1 OP
(iv)
kombinatorische OP (Reihenfolge-, Rundreise-, Rucksackproblem)
(v)
dynamische OP (mit mehrfachen Entscheidungszeitpunkten)
(vi)
deterministische und stochastische OP
 Lösungsverfahren:
Mathematik und Operations Research haben Vielzahl spezieller Verfahren entwickelt.
Jedoch: viele OP sehr komplex; wenn in NP, so keine Garantie, in akzeptabler Zeit eine
beste Lösung zu finden.
Darum: Näherungsverfahren und Heuristiken entwickelt.
WIR: Meta-Heuristiken, die als stochastische iterative Suchverfahren bezeichnet werden
können 
Suchverfahren – haben i.d.R. wenig oder keine Information, wo Optimum liegt;
iterativ
- weil ein Versuch kaum zum Optimum führt;
stochastisch - weil unbekannt, in welche „Richtung“ es zum Optimum „geht“.
Bemerkung:
Zwei wichtige Eigenschaften sollten die entsprechenden Verfahren besitzen. Das sind
erstens, eine endliche Laufzeit, d.h., man benötigt ein Abbruchkriterium, und zweitens sollten
„Fallen“ vermieden werden, d.h., mit positiver W. sollten auch schlechtere Lösungen zur
weiteren Verarbeitung zugelassen sein.
Effizienz
problemzugeschnittenes Verfahren (Simplexv.)
allg. Verfahren (GA, TS)
Anwendungsspektrum
1.3
Stochastische iterative Suchverfahren
das allgemeine Prinzip stoch. iter. Suchverfahren (SIS-Verfahren) umfasst 3 Schritte 
1. Anfangsschritt: Erzeuge und bewerte eine Startmenge von Lösungen P.
{Menge kann aus 1 Element bestehen}
2. Arbeitsschritt: Erzeuge und bewerte eine Menge neuer Lösungen P’ durch
stochastische Veränderungen ausgewählter Elemente von P.
3. Erneuerungsschritt: Ersetze einige Elemente aus P durch solche aus P’ und gehe
zu 2 zurück (sofern das Abbruchkriterium nicht erfüllt ist).
4
Derartige Verfahren scheinen vorteilhaft zu sein aus drei hauptsächlichen Gründen:
1. Äußerst einfache Implementierung.
2. Sehr allgemein anwendbar; keinerlei a priori-Anforderungen.
3. Erfahrung zeigt, dass sie für breiten Problembereich schnell recht gute Lösungen in
vorgegebener Zeit finden.
 Grundidee von SIS-Verfahren: Erzeuge und teste ( trial and error).
Einfachste Variante: zufällige Suche (random search).
Aber: Ohne Information über bisherigen Suchverlauf kaum erfolgreich anzuwenden.
{Bsp: 65!  8.248  1090)
 Frage: Wie entsprechende Information nutzen ?
a) über bisherigen Suchverlauf und, ganz wichtig,
b) über das zu optimierende System (Experte ist dabei nicht immer von Vorteil).
Zu letzterem drei allgemein anerkannte Ideen:
Idee 1: Neue Lösungen sind leichte Modifikationen bisheriger Lösungen.
Idee 2: Neue Lösungen werden erzeugt durch Rekombination von Teilen bisheriger
Lösungen.
Idee 3: Die in Idee 1 und 2 verwendeten alten Lösungen werden zufällig ausgewählt, wobei
Lösungen mit besseren ZF-Werten mit höherer Wahrscheinlichkeit gewählt werden
als solche mit geringeren ZF-Werten.
Die leichten Veränderungen aus Idee 1  durch Mutations-Operatoren;
Erzeugung neuer Lösungen nach Idee 2  Rekombinations-Operator; Crossover;
Auswahl entsprechend Idee 3  Selektions-Operator.
Verfahren wie GA, SA, TS u.a. nutzen wenigstens eine dieser drei Ideen.
Bemerkung:
Hat ein OP „gute“ Eigenschaften (aus vorangehenden Untersuchungen erhalten), so führen
spezielle Verfahren natürlich schneller zum Ziel. Wenn z.B. die ZF uni-modal und stetig
differenzierbar ist, so über klassische Verfahren alles prima zu erledigen. Oder wenn nur die
Uni-Modalität bekannt ist, so ist binäre Suche (und deren Modifikationen) sehr effizient.
 Existierende, erfolgreiche Verfahren können in zwei große Klassen eingeteilt werden:
lokale Suche und populationsbasierte Suche.
 Lokale Suche:
Die Umgebung der aktuellen Lösung wird nach einer besseren Lösung abgesucht;
nachdem solche gefunden ist, wird sie aktuelle Lösung und so fort.
Einfachstes Beispiel – Hillclimbing:
1.
Anfangsschritt: Erzeuge und bewerte eine Startlösung x.
2.
Arbeitsschritt: Verändere x zu einem x’ und bewerte x’.
3.
Erneuerungsschritt: Falls x’ besser als x, so ersetze x durch x’.
4.
Iterationsschritt: Solange ein Abbruchkriterium nicht erfüllt ist, gehe zu 2.
Hillclimbing verwendet wesentlich Idee 1 und eine sehr einfache Variante von Idee 3
in der Form, dass die jeweils aktuelle Lösung die bisher beste gefundene ist.
 große Gefahr, in lokalem Optimum zu enden
5
 raffiniertere lokale Suchverfahren verbessern Hillclimbing an dieser Stelle, wo
neue Kandidaten für die optimale Lösung erzeugt werden: z.B. beim Simulated
Annealing werden auch schlechtere Lösungen akzeptiert
 Populationsbasierte Suche: Anstelle einer einzigen Lösung wird mit einer Population
(Menge) von unterschiedlichen Lösungen gearbeitet; neue Lösungen werden durch
Anwendung der Idee 2 erzeugt – es werden Mitglieder dieser Population als „Eltern“
ausgewählt, die dann zu „Kindern“ verändert werden. Durch Verwendung der Idee 3
ergeben sich vielfältige Möglichkeiten – Strategien zur Selektion dieser Eltern ebenso wie
Strategien zur Verwaltung der Populationen.
 enorme Vielfalt populationsbasierter Optimierungsalgorithmen; gemeinsame Name ist
Evolutionsverfahren oder Evolutionäre Algorithmen
 Masse von Fragen:
- Welches Verfahren für gegebenes OP besser geeignet ?
- Welche Selektionsstrategie arbeitet i.allg. am besten ?
- Kann eine Vorhersage über die Dauer eines Suchprozesses gefällt werden ?
Unsere Erfahrung (und anderer Leute ebenso):
1. Es gibt kein gleichmäßig bestes Verfahren.
2. Problemwissen sollte in ein Verfahren eingehen und die Effizienz erhöhen.
3. Hybride adaptive Verfahren sind die z.Z. beste allgemeine Lösung.
1.4
Herangehensweise der Professur „Modellierung und Simulation“
Für die Beispiele
erschweren:
a)
b)
c)
d)
aus §1.1 trifft eine Reihe von Eigenschaften zu, die eine Optimierung sehr
Die ZF ist nur teilweise berechenbar.
Oft kann eine Lösung nur simulativ bewertet werden.
Die NB definieren einen nicht „gutartigen“ zulässigen Bereich.
Das Verhalten des zu optimierenden Systems ist durch komplexe
Zusammenhänge beschrieben.
e) Es liegt eine multimodale Zielfunktion vor.
f) Es gibt unterschiedliche Typen von Entscheidungsvariablen.
folg. allg. Betrachtungsweise :
MODELLIERUNG
OPTIMIERUNG
SYSTEM
stochastisch
dynamisch
[diskret]
KI
SIMULATION
6
Professur „M. u. S.“:
 stochastische dynamische Systeme
 Optimierungsgedanke
 Verknüpfung von Simulation, Optimierung und KI
Simulation breit anwendbar
Simulation allein kein Optimierungsverfahren
Automatisierung

folgendes allg. Schema (z.T. in SW realisiert):
System
+
Problem
System
+
Lös.-vorschlag
Modellierung
E.-Inf.
Interpretation
(auch Problemwissen)
OPTIMIERER
A.-Inf.
wissensbasiert
klass. Opt.-verfahren
Suchverf.(evol.Verf.)
Lösungsvorschlag
Bewertung
Simulator
Simulation
Analysator
Berechnung
Bem.:
Nur prinzip. Schema !
Sim./Anal. auch parallel oder als hybrides Verfahren !
Rückkopplung !
7
Rechnerunterstützung bisher nur teilweise !
 integrierte Kombination von
schnellen Simulatoren mit
effizienten Optimierungswerkzeugen
 brauchen Optimierungsverfahren, die automatisch neue Lösungsvorschläge erzeugen,
d.h., Input-Parameter für den folgenden Simulationslauf;
dabei beachten:
- nutzerdefinierte ZF
- Ergebnisse der bisherigen Untersuchung
 Evolutionäre Verfahren bieten dies
8
2. Hill-Climbing Verfahren
Zusammenfassung: ein- und mehrdimensionale lokale Suchverfahren; Vor- und Nachteile;
von Verfahren, die mit einer Lösung jeweils arbeiten, zu solchen, die mehrere Lösungen
benutzen.
2.1 Einleitung

lokale Suchverfahren:
Umgebung der aktuellen Lösung wird nach einer besseren Lösung abgesucht;
nachdem solche gefunden ist, wird sie aktuelle Lösung und so fort.
Einfachste Variante:
1. Anfangsschritt: Erzeuge und bewerte eine Startlösung x.
2. Arbeitsschritt: Verändere x zu einem x’ und bewerte x’.
3. Erneuerungsschritt: Falls x’ besser als x, so ersetze x durch x’.


4. Iterationsschritt: Solange ein Abbruchkriterium nicht erfüllt ist, gehe zu 2.
Vorstellung: Wanderer sucht in Hügellandschaft im Nebel nach Bergspitze; geht
immer bergauf; wenn rundherum nur noch Abwärtsbewegung möglich, so meint er,
die Spitze erreicht zu haben.
Klar: Am Pöhlberg erreicht er die Spitze; im Fichtelberggebiet nicht immer.
2.2 Eindimensionale Verfahren
2.2.1 Simultane Methoden
 Berechnung der ZF in einer Menge von Gitterpunkten {da im Prinzip gleichzeitige
Berechnung => simultane Methoden}
 sinnvoll, wenn Definitionsbereich endlich, d.h., X  [a, b]
 am günstigsten, wenn N Punkte glm. verteilt  Unbestimmtheitsintervall der Länge
lN = 2(b-a)/(N+1)
 umgekehrt kann von Genauigkeitsschranke >0 auf Anzahl Gitterpunkte geschlossen
werden:
2(b-a)/ - 1 < N  2(b-a)/ mit ganzzahligem N
 Voraussetzung für Anwendung: Keine.
2.2.2 Sequentielle Methoden
Idee: Bisherige Ergebnisse für Festlegung des folgenden Suchpunktes nutzen.
Ideal für heutigen (J.v.Neuman-)Rechner.
(1) Einschachtelung des Maximums
Voraussetzung: Unimodale Zielfunktion.
Verfahren:
1. Bestimme Bereich für x*.
Wählen x(0) und x(1) = x(0) + s.
Wenn f(x(1)) > f(x(0)), so gehe zu x(k+1) = x(k) + s solange f(x(k))  f(x(k-1)).
Wenn f(x(1)) < f(x(0)), so gehe zu x(2) = x(0) – s usf.
2. Suche x*.
Analog zu Schritt 1, nun aber neues s’ = s  c, c < 0.5, immer dann, wenn
„Umkehrpunkt“ erreicht.
9
Verbesserung für 1. Schritt: Bei erfolgreichem Schritt wird Schrittweite verdoppelt, d.h. zum
Beispiel x(k+1) = x(0) + 2k s(0).
(2) Intervall-Teilungsmethoden („binäre“ Suche)
Voraussetzung: Unimodale Zielfunktion.
Idee: Das zu untersuchende Intervall wird immer kleiner  signifikant besser als (1).
Fibonacci-Teilung
(Kiefer 1953)
Fibonacci-Zahlen F0 = F1 = 1; Fk = Fk-1 + Fk-2, k2
Voraussetzung: Unimodale Zielfunktion; Anfangsintervall [a(0), b(0)]; N – Anzahl Teilungen.
Für Iteration k sei I(k-1) = [a(k-1), b(k-1)] das entsprechende Restintervall.
Schritt 1. Berechnen Reduktionsfaktor
t(k) = FN-k-1/FN-k.
Schritt 2. Berechnen neue Restintervalllänge
s(k) = t(k) (b(k-1) – a(k-1)).
Schritt 3. Berechne zwei Punkte
c(k) = a(k-1)+s(k) und d(k) = b(k-1)-s(k).
(k)
(k) (k)
Schritt 4. Bestimmen Intervall I = [a , b ]:
IF f(c(k)) < f(d(k))
THEN (a(k) := a(k-1)) AND (b(k) := c(k))
ELSE (a(k) := d(k)) AND (b(k) := b(k-1)).
 Immer nur 1 neuer Punkt/Zielfunktionswert zu berechnen !!!
Bemerkung: Verfahren stoppt bei k = N-2, da d(k) und c(k) wegen F2 = 2 F1 zusammenfallen.
Schematische Darstellung an Tafel !
Bemerkung: Restintervall hat bei Abbruch die Länge lN = [b(0) – a(0)] / FN.
Verfeinerungen  siehe z.B. Schwefel 1995.
Bemerkung:
Bei Fibonacci-Suche wird variabler Reduktionsfaktor t(k) benutzt. Manchmal besser, einen
konstanten Faktor zu haben (Kiefer 1953):
t = 2 / (1 + 5)  0.618 (positive Wurzel von t2 + t = 1).
Dieser t-Wert hat u.a. zwei Eigenschaften:
(1) FN-1 / FN  t.
N
(2) Verbindung zum Goldenen Schnitt.
Def.: Sei c eine positive reelle Zahl. Jede Zerlegung in 2 postive Summanden
a und b heißt Goldener Schnitt von c, wenn a geometrisches Mittel von
c und b ist, d.h., a = (cb).
 Aus a = (cb) folgt a2 = cb = c (c – a) und a1 = 2 / (1 + 5)  c  0.618 c.
Analog ist geometrische Interpretation.
Nach N Iterationen ist Restintervall von Länge lN = tN-1 [b(0) – a(0)].
10
2.3 Mehrdimensionale Verfahren

gleichförmige
Gitterpunkt-Strategie
(Methode
des
Versuchsplanung)
n - Dimension
Ni - Anzahl Werte für Variable xi, die zu betrachten sind
N - Gesamtanzahl Funktionswerte
 N = N1  N2 ... Nn
 „Fluch der Dimension“
Für J. v. Neuman Rechner wird Computerzeit = O(cn).

Erweiterung der Fibonacci-Suche (FS):
Für n = 2:
- zwei Punkte entsprechend der 1-dimens. FS auf einer der Achsen gewählt;
- nun bezüglich der 2. Variablen die relativen Optima bezgl. der konstanten
Werte der 1. Variablen gesucht mittels 1-dimens. FS;
- beide Endergebnisse benutzt, um einem der konstant gehaltenen Werte zu
verwerfen und das Suchintervall zu verkleinern.
Faktor-Entwurfes
in
Für n = 3: Analoge rekursive Folge der 2-dimens. FS.

verschiedene Verfahren in Abhängigkeit von Eigenschaften der ZF und der
verfügbaren Information:
(1) Verfahren der direkten Suche: Nur f(x) wird benötigt.
(2) Gradientenverfahren: Die ersten partiellen Ableitungen benötigt.
(3) Newton-Verfahren: Die 1. und 2. partiellen Ableitungen werden benötigt.
Allgemein: Keine Garantie, das globale Optimum zu finden !

Wir hier: Nur ableitungsfreie Verfahren.
Meisten Suchstrategien nutzen folgendes Rekursionsschema:
x(k+1) = x(k) + s(k)  v(k).
s(k) – Schrittweite
v(k) – Suchrichtung
Verfahren unterscheiden sich bezüglich der Wahl von s(k) und v(k). Dabei werden
Heuristiken verwendet oder ein bestimmtes Schema unter bestimmten
Voraussetzungen an die ZF.
 Trial-and-error Methoden
Vorteil: Einfachheit + in bestimmten Situationen geeignet.
2.3.1 Koordinaten-Strategie (koordinatenweiser Aufstieg bzw. Abstieg)
Suchrichtung nach folgender Regel:
 n , wenn k  p  n, p  Integer;
v(k) = ei mit i  
 k MOD n sonst ;
ei = (0, ..., 0, 1, 0, ..., 0)
i
Schrittweite nach beliebigem Verfahren; bestimmen relatives Optimum bezüglich der
gewählten Richtung (Koordinate);
11
Bemerkungen zur Güte:
- theoretische Konvergenz immer, wenn ZF stetige partielle Ableitungen besitzt und das
Optimum entlang der Koordinaten exakt bestimmt wird;
- schnelle Konvergenz nur, wenn Niveaulinien einigermaßen konzentrisch verlaufen;
- schlechte Konvergenz, wenn ZF flach in Nähe des Optimums;
- i.allg. nur lokales Optimum erreicht;
2.3.2 Strategie von Hooke-Jeeves: Pattern Search
 1961 von Hooke und Jeeves als automatische Versuchsstrategie entwickelt

Grundidee:
zwei Typen von Bewegungen je Iteration 
1. Eine Erkundungsbewegung (exploratory move):
Vom aktuellen Punkt (Lösung) aus wird in jede Koordinatenrichtung ein
diskreter Schritt ausgeführt (hintereinander, also nicht jeweils vom
Startpunkt aus).
2. Eine Extrapolationsbewegung (pattern move):
Unter der Annahme, dass die Richtung vom Start- zum Endpunkt aus 1. eine
aussichtsreiche Richtung ist, wird entlang dieser ein Extrapolationsschritt
gemacht; danach wieder zu 1.
Bemerkung: Extrapolation muss nicht zu Verbesserung führen. Dann wird
zurückgegangen und mit geringeren Schrittweite weiter gesucht.

Eigenschaften:
- für streng konvexe/konkave ZF mit stetiger Differenzierbarkeit führt PS immer
zum Ziel
- einfache Berechnungen ohne Probleme (z.B. keine Division durch Null)
- geringer Speicherbedarf; von Ordnung O(n)

grafische Darstellung siehe Schwefel S.46; Algorithmus in Übung
2.3.3 Simplex-Strategie von Nelder-Mead
2.3.3.1 Einleitung
 1965 von Nelder und Mead für freie Optimierung von deterministischen Funktionen;
Barton und Ivey 1996 (Management Science v.42, No.7, July 1996, pp. 954-973) auch für
stochastischen Fall, wo ZF-Werte Ergebnis eines zufälligen Versuches/Experimentes sind

(1)
MIN E[f’(x, )] , wobei
xRn
(2)
f’(x, ) = f(x) + (x) mit
deterministischen Funktion f(x) = E[f’(x, ) ]
und
stochastischen Funktion
(x) mit E[(x)] = 0 , x  Rn.
Somit ist das OP (1) identisch zu OP
(3)
MIN f(x) .
xRn
Bezeichnung: f – ZF; f’ – Responsefunktion.
12
 direkte Suchverfahren sind sinnvoll: einfach; funktionieren;
das populärste ist Simplex-Strategie von Nelder-Mead; breite Anwendung: analytische
Chemie, Biologie, Neurologie, Statistik, Ingenieurwesen, Qualitätskontrolle,
Fischereimanagement, Fusionstechnologie, ...;
Aber: Zur Zeit wenig über Konvergenzeigenschaften bekannt. (?!?)
Jedoch: Hervorragend geeignet für die Lösung von OP (1), da das Verfahren auf der
Rangbildung von ZF-Werten basiert !!!
2.3.3.2 Der NM-Algorithmus
a) Der Ursprung:
Simplex-Strategie von Spendley, Hext, Himsworth (1962); entwickelt für stochastische
Responsefunktion; nichts gemein mit Simplexalgorithmus der linearen Optimierung;
Def.: n-dimensionaler Raum Rn; Extremalpunkt oder Eckpunkt eines speziellen konvexen
Polyeders; Simplex – Menge solcher Eckpunkte, die alle gleichweit voneinander entfernt.
Genauer: Im Rn definieren n+1 gleichweit voneinander entfernte Eckpunkte einen ndimensionalen Simplex.
Idee:
- ZF-Wert für alle Punkte eines Simplex berechnet
- Bewegung des (veränderlichen) Simplex zum Optimum, indem der Eckpunkt mit
schlechtestem ZF-Wert am Zentrum der verbleibenden n Eckpunkte gespiegelt wird
(Reflexionsschritt)
- zwei weitere Regeln sind
(1) die (n+1)-Regel: Wenn ein Eckpunkt nach n+1 Spiegelungen immer noch erhalten
ist, so erfolgt neuerliche Schätzung (um zufällig sehr guten ZF-Wert zu prüfen).
(2) Regel des Zweitschlechtesten: Wenn ein gespiegelter Punkt nun schlechtester im
neuen Simplex ist, so wird er nicht angenommen. In dem Falle wird der
Zweitschlechteste des Ursprungssimplex gespiegelt.
Damit kann jedoch um die das Optimum enthaltene Region gekreist werden.
Nachteile des SHH-Simplex Verfahrens:
1. Außer diesem „Kreisen“ gibt es keine Hinweise auf die Optimumsnähe. Für n>2
jedoch kaum „Kreisen“.
2. Es gibt keine Vorkehrungen, um die Bewegung zum Optimum zu beschleunigen.
3. Ein Simplex fixer Größe kann um einen nichtoptimalen Punkt auf einem Bergrücken
z.B. kreisen.
 Nelder-Mead: Simplex kann seine Form und Größe ändern !!!
b) NM-Simplex Algorithmus
 erlaubt Operationen, die auf Grundlage des lokalen Verhaltens der ZF den Simplex
verändern;
Spiegelungen werden erweitert (expandiert), wenn sie zu einem guten Ergebnis
geführt haben;
ein schlechtes Ergebnis führt zu einer Kontraktion;
wenn das dortige Ergebnis immer noch schlecht ist, wird die Größe des Simplex
reduziert;
 die ursprünglichen Nelder-Mead Regeln sind folgende:
1. Initialisierung
13
Für eine Funktion mit n Parametern wähle n+1 Eckpunkte so, dass sie einen ndimensionalen Simplex bilden. Berechne f(xi) für jeden Eckpunkt xi, i=1, 2, ..., n+1.
2. Abbruchkriterium
Iteriere bis






die Standardabweichung S f :
n 1
1
n 1
 [ f ( xi )  f ] 2
mit
i 1
f 
n 1
1
n 1
 f (x )
i 1
i
kleiner als eine vorgegebene Größe wird oder
die Größe des Simplex hinreichend klein wird oder
die maximale Anzahl von ZF-Wertberechnungen erreicht ist.
3. Spiegelung des schlechtesten Punktes
Zu Beginn jeder Iteration werden die Eckpunkte mit schlechtestem,
zweitschlechtestem und bestem ZF-Wert bestimmt:
xworst, xsecwo, xbest
mit
fworst, fsecwo, fbest.
Bestimme xzentr – den Zentrumspunkt aller Eckpunkte außer xworst.
Erzeuge neuen Eckpunkt xrefl durch Spiegelung von xworst durch xzentr entsprechend der
Gl.
xrefl = (1 + ) xzentr -  xworst.
Dabei ist  > 0 der Reflexionskoeffizient; bei NM ist  = 1.
4. a) Annahme der Spiegelung
IF fbest  frefl  fsecwo
THEN xrefl ersetzt xworst und neue Iteration beginnt mit Schritt 2.
4. b) Expansionsversuch
IF frefl < fbest
THEN Expansion der Reflexion {in der Hoffnung, dass Suche in gleichen
Richtung weitere Verbesserung bringt} nach der Gl.
xexp =  xrefl + (1 - ) xzentr.
Dabei ist  > 0 der Expansionskoeffizient; bei NM ist = 2.
IF fexp < fbest
THEN (xbest:= xexp) AND (neue Iteration bei Schritt 2)
ELSE (Ablehn. der Expans.) AND (xbest:= xrefl) AND (neue Iter. bei Schritt 2).
4. c) Kontraktionsversuch
IF {fbest  } fsecwo < frefl THEN (Kontraktionsversuch).
Folgender Ablauf desselben:
(1) IF frefl  fworst THEN (xworst:= xrefl) AND (fworst:= frefl).
(2) Berechne den Kontraktionseckpunkt nach der Gl.
xcont =  xworst + (1 - ) xzentr.
Dabei ist (0, 1) der Kontraktionskoeffizient; bei NM ist  = 0.5.
14
(3) IF fcont  fworst
THEN
Kontraktion angenommen
ELSE
Schrumpfen des gesamten Simplex durch
xi :=  xi + (1 - ) xbest für ein   (0, 1) und alle xi außer xbest.
{NM nutzen =0.5}
Danach Berechnung fi (außer fbest).
(4) Neue Iteration bei Schritt 2.
Ablauf von Schritt 4 bei der Simplex-Strategie von Nelder-Mead:
3
ja
nein
fbest  frefl  fsecwo
frefl < fbest
ja
nein
ja
fcont  fworst
fexp < fbest
Ann. der
Reflex.
Ann. der
Exp.
nein
Ablehn. Ann. der
d. Exp.
Kontr.
Durchf. der
Schrumpf.
2
15
3. Simulated Annealing
Zusammenfassung: Ursprung; Algorithmus; Verbindung zu anderen EA; Beispiel
Aarts/Korst: Simulated Annealing and Boltzmann Machines. Wiley 1989
Eglese, R.W.: Simulated Annealing: A toole for Operational Research. European Journal of
Operational Research 46(1990), 271-281
2.1 Einleitung
 Hat Ähnlichkeiten zu EA und ist gleichzeitig Konkurrent bei praktischen Optimierung.
Wie EA naturanalog:
- aus statistischen Mechanik
- nutzt Analogie zwischen Abkühlung und Auskristallisierung einer Schmelze
und kombinatorischen OP
 1983 Kirkpatrick/Gelatt/Vecchi: Optimization by simulated annealing. Science 220, 671680
Annealing = Härten, d.h., physikalischer Prozess der Erhitzung und anschließenden
Abkühlung bis zur Kristallbildung
 Ablaufschema nutzt Idee 1 und Idee 3:
in Umgebung einer Lösung wird zufällig eine neue Lösung gewählt und bewertet;
Annahme der neuen Lösung auch bei schlechterem ZF-Wert, jedoch nur mit
bestimmter Wahrscheinlichkeit;
diese W. (die Qualitätsanforderung) wird sukzessive verringert (erhöht);
 zur Physik:
bei langsamer Abkühlung wird auf jeder Temperaturstufe ein thermisches Gleichgewicht
erreicht; so gelangt die Substanz in eine Grundstruktur mit minimalem Energieniveau (wie
ein Kristall); bei zu rascher Abkühlung ergibt sich eine Struktur mit hohem Energieniveau;
 mathematisches Modell:
X
Menge aller möglichen Systemzustände
T
aktuelle Temperatur
System sei im thermischem Gleichgewicht
pT(x)
Wahrscheinlichkeitsdichte für Zustand x bei Temperatur T
Ex
Energieniveau von Zustand x
k
Boltzmann-Konstante
 Boltzmann-Verteilung, d.h.,
 pT(x) dx = 1
xX
IF X –diskrete Menge  P(Zustand x) = : pT(x) = exp{- Ex/(kT)} /  exp{- Ey/(kT)}
yX
pT(x) = exp{- Ex/(kT)},
x  X,
2.2 Der Algorithmus
 Sei zum Zeitpunkt t das System im Zustand x mit Energieniveau Ex. Nun wird x leicht
modifiziert zu y als Zustand zu Zeitpunkt t+1. In Abhängigkeit von Differenz E=Ey – Ex
wird der neue Zustand akzeptiert oder nicht:
E  0

y wird akzeptiert
E > 0

y nur mit bestimmter Wahrscheinlichkeit akzeptiert, und zwar
mit W. exp[ - E / (k T)]
 1953 von Metropolis als stochastisches Simulationsverfahren vorgeschlagen. Dabei
folgende Analogien zum physischen Abkühlen:
Zustand der Schmelze

Lösung des OP
Energie eines Zustandes

ZF – Wert
16
minimaler Energiezustand 
optimale Lösung
Temperatur T

Steuerparameter des Verfahrens
 SA  iterative Anwendung von Metropolis’ Verfahren auf sinkende Folge von
Temperaturwerten
 z.B. folgende Pseudo-Kode Darstellung von
Algorithmus „Simulated Annealing“ (zur Minimumsuche !!!)
1.
2.
3.
4.
5.
Initialisiere Temperatur T > 0.
Setze Temperaturwechselzähler t = 0.
Wähle Anfangslösung xX.
Berechne ZF-Wert f(x).
REPEAT
{iterative Suche}
5.1 Setze Wiederholungszähler n = 0.
5.2 REPEAT
{wiederholte Suche bei gleicher Temperatur T}
(1) Wähle neue Lösung y in Umgebung von x.
(2) IF f(y) < f(x)
THEN x := y
ELSE IF rand(0; 1) < exp{-[f(x) – f(y)] / T }
THEN x := y.
(3) n := n+1.
UNTIL n = N(t) . {Terminationsbedingung}
5.3 T := g(T, t).
5.4 t := t+1.
UNTIL (Stop-Bedingung).
6. Gib x und f(x) zurück.
 Bemerkung:
a) rand(0; 1) liefert ZZ aus (0; 1).
b) Terminationsbedingung prüft, ob „thermische Gleichgewicht“ erreicht. Mit gleichen
Temperatur wird entsprechend oft 5.2 ausgeführt. Einfache Implementierung ist, einen
festen Wert L anzunehmen. Dann ist L ein weiterer Parameter des Verfahrens.
c) Die Temperatur wird entsprechend einer Abkühlungsfunktion g(, t) verringert.
d) Die Stop-Bedingung legt fest, wie oft 5. zu wiederholen ist.
 Im Einzelnen sind für die Anwendung auf ein OP festzulegen:
(I) problemspezifische Dinge
1. Repräsentation einer Lösung (reellwertig; binär; ...).
2. Definition der ZF f( ) und Berechnungsverfahren.
3. Festlegung einer Nachbarschaftsstruktur (abhängig von 1. und vom Problem).
4. Festlegung eines Verfahrens zur Erzeugung neuer Lösungen aus der Umgebung der
alten Lösung (i.d.R. zufällig).
(II) allgemeine Dinge
5. Anfangstemperatur T.
6. Abkühlungsfunktion g( , t).
7. Anzahl Iterationen bzw. Iterationenfunktion N(t).
8. Stop-Kriterium.
17

Auswahl einer Abkühlungsfunktion bzw. eines Abkühlplanes (annealing schedule):
T – groß

Akzeptanz einer neuen Lösung ist hoch

lokale Optima können verlassen werden
T – klein

Akzeptanzwahrscheinlichkeit für schlechtere Lösung ist gering
T=0

nur Verbesserungen sind zugelassen
Abkühlungsplan legt zweierlei fest:
- wie soll Parameter T abgesenkt werden
- wie viele Iterationen mit gegebenem T realisieren
verschieden:
stufenweise wie z.B. geometrischer Kühlplan Ti+1 = c  Tt, t=0, 1, ..., d.h.,
g(T, t) = c  T mit c<1 und c ~ 1 !
stetig
nichtmonoton, usw.;
 Bemerkungen
- Kombination mit anderen Verfahren:
1) anderes Verfahren findet Startlösung für SimAnn
2) SimAnn findet Startlösung für anderes Verfahren
3) iterative wechselseitige Anwendung
- problemspezifische Modifikationen
1) E nur näherungsweise bestimmt (immer – nur mit bestimmter W. – manchmal)
2) ablehnungsfreies Verfahren gegen Ende der Suche („nur“ W.-vert. für Ablehnung
eines Schrittes)
- parallele Versionen

2 allg. Strategien
single-trial Parallelisierung: Berechnungen eines Versuches durch mehrere
Prozessoren  Gewinn stark problemabhängig
multi-trial Parallelisierung: mehrere gleichzeitig

Aarts/Korst nennen 3 allg. Zugänge
1. Teilungsalgorithmus: Aufteilung der Anzahl Iterationen für geg. Temperatur
2. Clusteralgorithmus: Prozessoren untersuchen mögliche Schritte so lange, bis einer
angenommen wird; dieser wird allen mitgeteilt; von vorn alles
 uneffwektiv zu Beginn, da T hoch und schnelle Annahme
 1. und 2. verbinden !
3. Fehleralgorithmus:alle Prozessoren untersuchen potentielle Nachbarschaftsschritte;
sobald eine Annahme, so neue aktuelle Lösung an alle gegeben usf.
- Vergleiche
+ Klar: Für OP mit unimodalen ZF sind Abstiegsverfahren vorzuziehen.
+ mit problemspezifischen Verfahren: für TSP besser als Lin-Kernighan Algorithmus,
i.d.R. aber schlechter
+ Vergleich versch. Abkühlpläne: scheinen ohne Einfluss.
!!! Zu Beginn und gegen Ende nicht zu lange bei hohen bzw. niedrigen Temperaturen
verweilen !!!
+ andere allg. Heuristiken: TS besser als SimAnn für Färbungsproblem von Graphen
SimAnn besser TS für Layout-Probleme
18
 Zusammenfassung
a) Obwohl einfaches Schema, so durch verschiedene Algorithmenparameter
(Anfangstemperatur, Abkühlplan, Anzahl Iterationen je Temperaturwert,
Umgebungsstruktur, Auswahl neuer Lösungen, Stop-Kriterium) eine Vielzahl von
Varianten.
b) Generell zur Güte:
(i)
langsames Abkühlen  sehr gute Ergebnisse, aber lange Rechenzeiten;
schnelles Abkühlen kurze Rechenzeiten mit schlechteren Ergebnissen;
(ii)
SA als Markovsche Kette modellierbar; unter bestimmten Annahmen an
den Abkühlungsplan kann Konvergenz auf globales Optimum bewiesen
werden; dabei exponentielle Laufzeiten  bei gegebenen Zeitschranke ist
SA eine Heuristik.
c) Sammeln von Erfahrung wichtig !!!
2.3 Modifikationen des Algorithmus „Simulated Annealing“
 Ziele bei Modifikation:
- einfache Implementierung
- einfache Parametrisierung
- geringe Rechenzeit
- nicht schlechtere Lösungsqualität
Ansatzpunkt ist die Akzeptanzregel, weil beim SA wird die Akzeptanzentscheidung
mittels einer ZZ gefällt; der entsprechende Schritt ist rechenzeitaufwendig.
3 Verfahren: Threshold Accepting, Sintflut-Algorithmus, Record-to-Record Travel
1. Threshold Accepting
Prinzip: Neue Lösung wird akzeptiert, wenn ihr ZF-Wert nicht um mehr als einen
Schwellenwert (threshold) T unter dem bisher besten liegt. Dabei wird T immer kleiner.
 entsprechende Abwandlung des Algorithmus „Simulated Annealing“
Bemerkung:
1. Kann bisher beste Lösung speichern, um auf sie zurückgreifen zu können. Auch die
besten K Lösungen kann man speichern. Ist generelle Praxis bei allen Verfahren.
2. Wahl eines Nachbarn muss nicht zufällig erfolgen.
3. Wie sollen Schwellenwerte gewählt werden.
2. Sintflut-Algorithmus
Prinzip: Überflutung einer Gebirgslandschaft zwingt Wanderer, immer höher zu steigen.
Akzeptanzregel nun wie folgt: ZF-Wert wird mit einer Variablen „Wasserstand“ W
verglichen, wobei der Wasserstand langsam ansteigt; anfangs stark und später immer
geringfügiger.
SI-Algorithmus ist fast genauso gut wie TA – nicht ganz so stabil bezgl. der Qualität seiner
Lösungen, aber schneller.
Frage. Wie kann ein so simples Verfahren zu guten Ergebnissen führen ?
Zwei Erklärungen: Für praktische OP gibt es oft sehr viele sehr gute Lösungen, und mit
steigender Dimension des Suchraumes wird es tendenziell einfacher , ein lokales Optimum
zu verlassen (entspr. Skizze dazu).
19
3. Record-to-Record-Travel
Prinzip: Es wird der bisher beste Wert – der Record – zum Vergleich herangezogen. Eine
neue Lösung wird akzeptiert, wenn sie nicht sehr viel schlechter ist als der Record. Diese
„nicht sehr viel schlechter“ durch einen Wert AW>0 der akzeptablen Abweichung festgelegt.
 entsprechende Abwandlung des ursprünglichen Algorithmus
Bemerkung:
1. Alle drei Varianten gibt es mit stochastischer und auch deterministischer Suche in der
Nachbarschaft.
2. Die letzten zwei Heuristiken hängen von nur einem Parameter ab (SI –
Regengeschwindigkeit; RR – zulässige Abweichung).
3. Gemeinsame Eigenschaften mit anderen EA:
- iterative Methoden
- breit anwendbar
- keine restriktiven Anforderungen an die ZF
- Heuristiken
- zufallsbeeinflusste Komponenten spielen eine Rolle
4. Unterschiede zu EA:
- kein populationsbasierter Ansatz
- Mutationen sind einziger Suchoperator
- bei Selektion werden spezielle Akzeptanzregeln angewandt
- hier lässt sich Konvergenzgeschwindigkeit recht gut steuern
- Parallelisierung erschwert
- werden fast nur für kombinatorische OP eingesetzt
20
Herunterladen