Heuristische Verfahren
Inhaltsübersicht
I. Einleitung
II. Beispiel: Investitionsprogrammplanung
III. Anwendungsbereiche
IV. Klassifikation heuristischer Verfahren
V. Heuristische Grundprinzipien
VI. Abbruch und Evaluation von Heuristiken
I. Einleitung
Rationales Entscheiden umfasst das Lösen von Entscheidungsproblemen. Ein Entscheidungsproblem besteht nun darin, eine Alternative aus einer Menge von Alternativen auszuwählen. Da die Anzahl der möglichen Alternativen groß sein kann, geht man häufig dazu über, die möglichen Alternativen nicht explizit zu betrachten, sondern die Eigenschaften einer möglichen Alternative durch eine Menge von Bedingungen, die eine mögliche Alternative auszeichnen, zu beschreiben. Jede Alternative, die alle diese Bedingungen erfüllt, wird als zulässige Alternative bzw. als zulässige Lösung des Entscheidungsproblems bezeichnet.
Die formale und zumeist abstrakte Darstellung eines derartigen Entscheidungsproblems bezeichnet man als Entscheidungsmodell (vgl. z.B. Kapitel 1 in Gal, T./Gehring, H. 1981). In einem Entscheidungsmodell werden Alternativen durch Entscheidungsvariable operationalisiert, und eine Belegung der Entscheidungsvariablen mit Werten repräsentiert eine Lösung des Entscheidungsproblems. Das Lösen eines Entscheidungsproblems reduziert sich also im Wesentlichen auf das Bestimmen von Werten für die Entscheidungsvariablen eines Entscheidungsmodells.
Können die Alternativen eines Entscheidungsproblems bewertet werden, dann sucht man unter den zulässigen Alternativen typischerweise eine „ beste “ Lösung, und die Funktion, die dabei den Wert einer Alternative bestimmt, nennt man Zielfunktion. Wir wollen uns hier auf die Betrachtung von Zielfunktionen beschränken, die jeder Lösung genau einen Wert zuordnen, d.h., wir beschränken uns auf Entscheidungsprobleme, bei denen Alternativen anhand eines einzigen Kriteriums miteinander verglichen werden. Ohne Beschränkung der Allgemeinheit kann dann angenommen werden, dass eine Lösung mit maximalem Zielfunktionswert gesucht ist. Das Entscheidungsproblem stellt sich daher als Optimierungsproblem, genauer gesagt als Maximierungsproblem dar. Man mache sich klar, dass z.B. Satisfizierungsprobleme eine scheinbar andere Zielsetzung verfolgen, tatsächlich jedoch Spezialfälle eines Optimierungsproblems sind (vgl. z.B. Dinkelbach, W. 1978).
In diesem Kontext definiert sich ein heuristisches Verfahren bzw. eine Heuristik für ein Entscheidungsproblem als ein Rechenverfahren, das versucht,
- | eine zulässige Lösung mit | - | bestmöglichem Zielfunktionswert |
zu ermitteln. Die Betonung liegt hier auf „ versucht “ , denn zum einen kann bereits das Bestimmen irgendeiner zulässigen Lösung ein schwieriges Problem sein, sodass es oftmals keine Garantie dafür gibt, dass die Heuristik überhaupt eine zulässige Lösung findet. Zum anderen gibt es, selbst wenn eine zulässige Lösung gefunden werden kann, bei Heuristiken keine Gewähr dafür, dass eine zulässige Lösung mit maximalem Zielfunktionswert ermittelt wird (anderenfalls wäre es ein exaktes Verfahren bzw. ein optimales Verfahren); in aller Regel sind die berechneten Lösungen suboptimal. Man beachte, dass Suboptimalität nicht bedeutet, dass für ausgewählte Beispiele nicht auch optimale Lösungen bestimmt werden könnten. Vielmehr ist es so, dass es keine Garantie im Sinne eines mathematischen Beweises dafür gibt, dass eine optimale Lösung gefunden wird. Es sei angemerkt, dass die obige Definition eines heuristischen Verfahrens sehr weit interpretiert werden kann und sollte. So wollen wir selbst das simple zufällige Auswählen irgendeiner Alternative (das entspricht dem Belegen der Entscheidungsvariablen mit Zufallswerten) bewusst als Versuch gelten lassen, die Merkmale einer Heuristik zu erfüllen. Mit diesem Hinweis wird klar, dass der Ehrgeiz eines Entwicklers von Heuristiken darin bestehen sollte, „ gute “ Heuristiken zu erdenken. Typische Kriterien, deren Erfüllung eine „ gute “ Heuristik ausmacht, werden am Ende des Beitrages diskutiert.
II. Beispiel: Investitionsprogrammplanung
Zunächst wollen wir ein Beispiel betrachten, das als roter Faden die nachfolgenden Ausführungen begleitet, indem verschiedene Grundideen heuristischer Verfahren an dem Beispiel illustriert werden.
Gegeben sei ein einfaches Investitionsprogrammplanungsproblem bei Sicherheit, das darin besteht, aus einer Menge von fünf Investitionsprojekten eine Teilmenge durchzuführender Projekte auszuwählen. Die Projekte sind nicht teilbar, d.h. ein Projekt wird entweder ganz oder gar nicht durchgeführt. Ziel ist es, die Summe der Endwerte der akzeptierten Projekte zu maximieren. Ein limitiertes Budget von 15 Geldeinheiten wirkt restriktiv auf die Auswahl von Investitionsprojekten. Die projektspezifischen Daten seien in Tab. 1 gegeben.
Tab. 1: Daten des Beispiels zur Investitionsprogrammplanung
Für dieses Entscheidungsproblem gibt es 32 Alternativen (32 Portfolios), von denen 23 zulässig sind. Definiert man nun eine Entscheidungsvariable xj, die den Wert eins annimmt, wenn Projekt j durchgeführt werden soll, und null, falls nicht, dann lässt sich das Entscheidungsproblem folgendermaßen modellieren:
Max 5x1 + 2x2 + 7x3 + 4x4 + 9x5
unter den Nebenbedingungen
4x1 + 3x2 + 6x3 + 4x4 + 7x5 ≤ 15
x1, x2, x3, x4, x5 ∊ {0,1}
III. Anwendungsbereiche
Zwei Aspekte seien hier erwähnt, um zu begründen, weshalb es von Vorteil sein kann, heuristische Verfahren anstelle von optimalen Verfahren einzusetzen. Zum einen stellt sich das praktische Lösen eines Entscheidungsproblems oftmals als unerwartet schwierig heraus in dem Sinne, dass ein angewendetes Rechenverfahren zu hohe Rechenzeit beansprucht. So scheint das Investitionsprogrammplanungsbeispiel ein einfaches Entscheidungsproblem zu sein, denn durch schlichtes Aufzählen aller Möglichkeiten sollte ein endwertmaximales Portfolio leicht bestimmbar sein. Das mag für ein Beispiel mit fünf Projekten gelten, für größere Beispiele jedoch benötigen Computer schnell viele Stunden oder Tage. Selbst raffiniertere Verfahren zur Bestimmung einer optimalen Lösung haben das Problem, dass die Rechenzeit mit der Größe des Entscheidungsproblems inakzeptabel wächst. In solchen Situationen greift man typischerweise auf Heuristiken zurück, die selbst für sehr große Probleme eine (vergleichsweise) kurze Rechenzeit benötigen (sollten). Nun liegt die Frage nahe, ob ein Problem nur deshalb sehr langsam gelöst werden kann, weil dem Verfahrensentwickler keine effizientere Methode eingefallen ist, oder ob das Problem inhärent schwierig zu lösen ist. Die Beantwortung dieser Frage ist Gegenstand der Komplexitätstheorie. Für Entscheidungsprobleme vom Typ „ Investitionsprogrammplanung “ konnte übrigens gezeigt werden, dass sie schwierig im Sinne der Komplexitätstheorie sind (vgl. Martello, S./Toth, P. 1990).
Aber auch dann, wenn optimale Lösungen berechenbar sind, kann es in Situationen rollierender Planung vorteilhaft sein, heuristische Verfahren zur Lösung der Teilprobleme einzusetzen. Das zugrunde liegende Phänomen ist, dass Heuristiken bei Planrevisionen eine geringere Nervosität des Planes aufweisen können und dass, ex post betrachtet, Heuristiken für das Gesamtproblem einen besseren Zielfunktionswert ergeben können als optimale Verfahren (vgl. Kimms, A. 1998).
IV. Klassifikation heuristischer Verfahren
Es werden in der Literatur verschiedene Kriterien herangezogen, um Heuristiken zu klassifizieren. Drei Aspekte sollen hier genannt werden.
- | Heuristiken für einen bestimmten Problemtyp (z.B. für Probleme vom Typ „ Investitionsprogrammplanung “ ) versuchen, für Beispiele dieses Typs zulässige Lösungen zu finden. Der Zielfunktionswert einer zulässigen Lösung definiert dann (bei einem Maximierungsproblem) eine untere Schranke für den optimalen Zielfunktionswert eines Beispiels. Grundsätzlich können an eine Heuristik zwei Fragen gestellt werden: (1) Liefert die Heuristik für jedes beliebige Beispiel eine zulässige Lösung? (2) Wie weit liegt die ermittelte untere Schranke LB im schlechtesten Fall von dem optimalen Zielfunktionswert OPT ≥ LB entfernt? Kann Frage 1 bejaht werden und gelingt es als Antwort auf Frage 2 eine Zahl α zu finden, sodass bewiesen werden kann, dass OPT ≤ α · LB für jedes beliebige Beispiel gilt, dann spricht man von einer Heuristik mit Gütegarantie bzw. von einem Approximationsverfahren. | - | Man unterscheidet Heuristiken auch danach, ob sie als Eingabe lediglich das betrachtete Beispiel benötigen und dann versuchen, eine zulässige Lösung zu konstruieren, oder ob sie zusätzlich eine bereits bekannte zulässige Lösung als Eingabe benötigen, um dann zu versuchen, diese Lösung zu verbessern. Im ersten Fall spricht man von (heuristischen) Konstruktionsverfahren, während man im zweiten Fall von (heuristischen) Verbesserungsverfahren spricht. | - | Wird ein Entscheidungsproblem durch ein formales Entscheidungsmodell abgebildet, dann stellt sich die Frage, ob das formale Modell lediglich ein Denkmodell darstellt, welches das zu lösende Problem präzise und unmissverständlich abbildet, oder ob das formale Modell selbst wesentlicher Bestandteil des Lösungsverfahrens (z.B. einer Methode der mathematischen Programmierung) ist. Geht das formale Modell nicht in das Verfahren ein, dann spricht man von „ common sense “ -Heuristiken, also von heuristischen Verfahren, die durch bloßes Verständnis, aber nicht notwendigerweise durch formale Beschreibung des Problems entwickelt wurden. Im anderen Fall spricht man von modellgestützten Heuristiken. |
V. Heuristische Grundprinzipien
1. Prioritätsregel-basierte Verfahren
Unter Prioritätsregel-basierten Verfahren versteht man Konstruktionsverfahren, die, bei eventuellen Wahlfreiheiten während der Konstruktion einer Lösung, Prioritätsregeln anwenden, um die Wahlfreiheiten auf eine einzige Alternative einzuschränken. Am Beispiel „ Investitionsprogrammplanung “ sei dies illustriert. Ein einfaches Konstruktionsverfahren zur Bestimmung einer zulässigen Lösung könnte, beginnend mit einem leeren Portfolio, solange Projekte in das Portfolio aufnehmen, bis das Kapitalbudget keine weiteren Projekte zulässt oder alle Projekte im Portfolio sind. Dieses einfache „ common sense “ -Konstruktionsprinzip ist allerdings nicht eindeutig und lässt Wahlfreiheiten. Daher könnte man für jedes Projekt einen Prioritätswert definieren, um dann dasjenige Projekt mit dem höchsten Prioritätswert als nächstes auszuwählen. Plausibel ist hier beispielsweise der Quotient aus Endwert und Kapitalbedarf eines Projekts. Mit dieser Regel würde die folgende Lösung erzeugt werden: Zunächst wird Projekt 5 gewählt (Prioritätswert 9/7), dann Projekt 1 (Prioritätswert 5/4). Projekt 3 (Prioritätswert 7/6) kann wegen des zu hohen Kapitalbedarfs nicht aufgenommen werden. Also wird Projekt 4 (Prioritätswert 4/4) ausgewählt. Weitere Projekte können dem Portfolio nicht hinzugefügt werden.
Bislang sind wir davon ausgegangen, dass Auswahlentscheidungen auf Basis von Prioritätswerten deterministisch getroffen werden. Als Konsequenz daraus ergibt sich, dass für ein gegebenes Beispiel das betrachtete Prioritätsregel-basierte Verfahren ein eindeutiges, vorherbestimmtes Ergebnis liefert. Die Zielfunktionswerte der erhaltenen Lösungen können regelmäßig dadurch verbessert werden, dass man zu randomisierten Verfahren übergeht. Der Unterschied zu dem bisher Betrachteten liegt darin, dass nicht mehr die Alternative mit dem höchsten Prioritätswert ausgewählt wird, sondern eine Zufallsentscheidung unter den in Frage kommenden Alternativen getroffen wird. Die Wahrscheinlichkeit für die Auswahl einer Alternative bestimmt sich dann durch eine monotone Funktion in Abhängigkeit des Prioritätswertes so, dass sich die Summe aller Auswahlwahrscheinlichkeiten zu eins addiert. In dieser Variante der Prioritätsregel-basierten Verfahren liefern dann mehrere Durchläufe des Konstruktionsverfahrens (wahrscheinlich) unterschiedliche Lösungen. In diesem Kontext spricht man daher auch von „ multi-pass “ -Verfahren anstelle von „ single pass “ -Verfahren.
2. Naturanaloge Verfahren
Einige der modernen heuristischen Grundprinzipien lehnen sich an Naturbeobachtungen an und versuchen, gewisse Effekte bzw. Verhaltensmuster nachzuahmen.
Genetische Algorithmen (vgl. Goldberg, D. 1989) imitieren die Evolution von Lebewesen. Lösungen entsprechen Individuen und werden durch „ Gene “ repräsentiert. Im Beispiel „ Investitionsprogrammplanung “ könnte eine Lösung beispielsweise durch ein binäres 5-Tupel dargestellt werden. Der Vektor (1,1,0,0,1) steht dann für ein Portfolio, bestehend aus den Projekten 1, 2 und 5. Aus einer gegebenen Menge von Lösungen werden dann Paare von „ Eltern “ ausgewählt. Betrachten wir für unser Beispiel das Elternpaar (1,1,0,0,1) und (1,0,1,1,0). Dieses Paar erzeugt dann zwei Nachkommen durch ein so genanntes „ Crossover “ , einer Operation, die Teile der Gene des einen Elternteils mit Teilen der Gene des anderen Elternteils kombiniert. Ein so genannter „ 1-Punkt-Crossover “ könnte beispielsweise so definiert sein, dass beide Elternlösungen an gleicher Stelle „ zerschnitten “ und dann über Kreuz wieder zusammengefügt werden. Wählt man beispielsweise einen Schnitt zwischen dritter und vierter Stelle der Lösungsvektoren, dann ergeben sich in dem Beispiel die beiden „ Kinder “ (1,1,0,1,0) und (1,0,1,0,1). Man beachte, dass die betrachteten Lösungen nicht notwendigerweise zulässig sein müssen (z.B. (1,0,1,0,1)). Zusätzlich wird häufig eine Operation eingeführt, die die Kinder zufällig „ leicht “ mutiert, sodass anstelle von (1,0,1,0,1) beispielsweise (1,0,1,1,1) entstehen könnte. Diese Mutation soll für Diversifikation sorgen. Allgemein wird aus einer Menge von 2n Lösungen durch Crossover und Mutation eine Menge von 4n Lösungen erzeugt. Aus dieser Menge werden dann 2n Lösungen selektiert, die die nächste zu betrachtende Population bilden. Die Selektion erfolgt auf Basis von Prioritätswerten, so genannten Fitness-Werten für einzelne Lösungen. Häufig benutzt man den Zielfunktionswert einer Lösung als Fitness-Wert, wobei eventuelle Unzulässigkeiten durch Strafwerte in den Fitness-Wert so eingerechnet werden, dass unzulässige Lösungen tendenziell nicht für den Bestand in einer neuen Population selektiert werden.
Simulated Annealing (vgl. Aarts, E./Korst, J. 1989) simuliert das exponentielle Abkühlverhalten erhitzter Materialien. Grundprinzip eines solchen Verfahrens ist, ausgehend von einer gegebenen (zulässigen) Lösung eine neue (zulässige) Lösung zu erzeugen. Dazu definiert man sich eine so genannte Nachbarschaft einer Lösung. Zur Investitionsprogrammplanung könnten Lösungen beispielsweise (wie schon bei den genetischen Algorithmen gezeigt) durch einen binären Vektor kodiert werden. Benachbarte Lösungen eines Vektors könnten dann dadurch definiert sein, dass sie sich an nur einer einzigen Stelle vom betrachteten Vektor unterscheiden. Für die Lösung (1,1,0,0,1) gäbe es dann die fünf Nachbarn (0,1,0,0,1), (1,0,0,0,1), (1,1,1,0,1), (1,1,0,1,1) und (1,1,0,0,0). Aus der Menge von Nachbarlösungen wählt man dann eine Lösung mithilfe einer Prioritätsregel aus, um dann den Vorgang, ausgehend von der neuen Lösung, zu wiederholen. Sollte in einem Durchlauf eine Lösung ausgewählt werden, die einen schlechteren Zielfunktionswert als die vorher betrachtete Lösung aufweist, dann wird diese mit einer gewissen Wahrscheinlichkeit akzeptiert, ansonsten wird der neue Durchlauf mit der vorherigen Lösung gestartet. Diese Akzeptanzwahrscheinlichkeit sinkt im Laufe des Verfahrens exponentiell mit der Anzahl der Durchläufe. Eine Variante, die schlechtere Lösungen nur dann akzeptiert, wenn die Verschlechterung einen im Laufe des Verfahrens absinkenden Schwellwert nicht überschreitet, bezeichnet man als Treshhold Accepting.
Ein weiterer populärer Typ von Verfahren, der hier aus Platzgründen nicht erläutert werden kann, wird als Ameisen-System (vgl. Dorigo, M./Maniezzo, V./Colorni, A. 1996) bezeichnet und basiert auf Analogien zur Nahrungssuche von Ameisen.
3. Lokale Suchverfahren
Verfahren, die versuchen, eine gegebene Lösung zu verbessern, indem die zu definierende Nachbarschaft einer Lösung nach besseren Lösungen abgesucht wird, bezeichnet man als lokale Suchverfahren. Simulated Annealing and Treshhold Accepting gehören zu dieser Klasse von Heuristiken.
Tabu Search (vgl. Glover, F./Laguna, M. 1997) gehört ebenfalls in diese Klasse. Benachbarte Lösungen werden hierbei vollständig untersucht, und diejenige benachbarte zulässige Lösung mit dem besten Zielfunktionswert wird ausgewählt und zwar auch dann, wenn sich der Zielfunktionswert im Vergleich zur vorherigen Lösung verschlechtert. Einem Kreisen um ein lokales Optimum soll dadurch entgegengewirkt werden, dass bestimmte Nachbarn einer Lösung für eine gewisse Anzahl von Durchläufen nicht zugelassen werden. Betrachtet man für das Investitionsprogrammplanungsbeispiel die bereits eingeführte Repräsentation einer Lösung als Binärvektor und definiert eine Nachbarschaft wie bei der Illustration von Simulated Annealing, dann könnte eine so genannte Tabuliste folgendermaßen definiert sein: Ein Vektor kann an einer Position nur dann verändert werden, wenn er in den letzten zwei Iterationen nicht verändert wurde. Das Protokoll in Tab. 2 skizziert den Ablauf eines solchen Verfahrens, wenn man mit der Lösung (1,1,0,0,1) startet.
Tab. 2: Protokoll des Tabu Search-Verfahrens a) Abbruch und Evaluation von Heuristiken
Fast alle der vorgestellten heuristischen Grundprinzipien sind iterative Verfahren (Ausnahme: „ single pass “ -Konstruktionsverfahren). Im Gegensatz zu optimalen Verfahren besitzen diese Heuristiken kein Abbruchkriterium der Art, dass eine bestimmte Bedingung signalisiert, dass weitere Durchläufe des Verfahrens keine besseren Lösungen erzielen können. Es stellt sich daher das Problem, ein geeignetes Abbruchkriterium zu definieren. Häufig finden folgende Kriterien Verwendung:
- | Abbruch nach einer vorgegebenen Rechenzeit. | - | Abbruch nach einer vorgegebenen Anzahl von Durchläufen. | - | Abbruch, sofern sich die beste bekannte Lösung innerhalb einer vorgegebenen Anzahl von Iterationen nicht mehr verbessert hat. |
Nach Beendigung des Verfahrens definiert die im Laufe der Berechnung beste gefundene Lösung das Ergebnis der Berechnung.
Zur Evaluation einer Heuristik (auch im Vergleich mit anderen Heuristiken) muss eine Rechenstudie durchgeführt werden, die z.B. folgende Aspekte untersucht:
- | Benötige Rechenzeit bis zum Abbruch des Verfahrens (auf einem bestimmten Computer). | - | Benötigter Speicherplatzbedarf zur Durchführung der Berechnung auf einem Computer. | - | Güte der berechneten Lösung, gemessen als Abweichung von einer bekannten zulässigen Lösung, die z.B. mit einer anderen Heuristik bestimmt wurde, oder als Abweichung von einer oberen Schranke für den maximalen Zielfunktionswert. | - | Anzahl der Beispiele in eine Testumgebung, für die eine zulässige Lösung gefunden werden konnte. |
Literatur:
Aarts, Emile/Korst, Jan : Simulated Annealing and Boltzman Machines, Chichester et al. 1989
Dinkelbach, Werner : Ziele, Zielvariablen und Zielfunktionen, in: DBW, Jg. 38, 1978, S. 51 – 58
Dorigo, Marco/Maniezzo, Vittorio/Colorni, Alberto : The Ant System: Optimization by a Colony of Cooperating Agents, in: IEEE Transactions on Systems, Man, and Cybernetics – Part B, 1996, Bd. 26, S. 1 – 13
Gal, Thomas/Gehring, Hermann : Betriebswirtschaftliche Planungs- und Entscheidungstechniken, Berlin et al. 1981
Glover, Fred/Laguna, Manuel : Tabu Search, Boston et al. 1997
Goldberg, David : Genetic Algorithms in Search, Optimization, and Machine Learning, Reading et al. 1989
Kimms, Alf : Stability Measures for Rolling Schedules with Applications to Capacity Expansion Planning, Master Production Scheduling, and Lot Sizing, in: Omega – The International Journal of Management Science, 1998, Bd. 26, S. 355 – 366
Martello, Silvano/Toth, Paolo : Knapsack Problems: Algorithms and Computer Implementations, Chichester et al. 1990
|