Genetische Algorithmen - Abbruchbedingung
Die Beendigungsbedingung eines genetischen Algorithmus ist wichtig, um zu bestimmen, wann ein GA-Lauf endet. Es wurde beobachtet, dass die GA anfangs sehr schnell voranschreitet, wobei alle paar Iterationen bessere Lösungen kommen. Dies sättigt sich jedoch in späteren Stadien, in denen die Verbesserungen sehr gering sind. Normalerweise möchten wir eine Beendigungsbedingung, sodass unsere Lösung am Ende des Laufs nahezu optimal ist.
Normalerweise halten wir eine der folgenden Kündigungsbedingungen ein:
- Wenn sich die Population für X-Iterationen nicht verbessert hat.
- Wenn wir eine absolute Anzahl von Generationen erreichen.
- Wenn der Zielfunktionswert einen bestimmten vordefinierten Wert erreicht hat.
Zum Beispiel führen wir in einem genetischen Algorithmus einen Zähler, der die Generationen verfolgt, für die es keine Verbesserung in der Bevölkerung gegeben hat. Zunächst setzen wir diesen Zähler auf Null. Jedes Mal, wenn wir keine Nachkommen erzeugen, die besser sind als die Individuen in der Bevölkerung, erhöhen wir den Zähler.
Wenn jedoch die Fitness einer der Nachkommen besser ist, setzen wir den Zähler auf Null zurück. Der Algorithmus wird beendet, wenn der Zähler einen vorbestimmten Wert erreicht.
Wie andere Parameter eines GA ist auch die Beendigungsbedingung sehr problemspezifisch, und der GA-Designer sollte verschiedene Optionen ausprobieren, um herauszufinden, was für sein spezielles Problem am besten geeignet ist.