Die Funktion GeneticAlgorithm.binary(f, n) erwartet folgende (verpflichtende) Argumente:
Argument | Datentyp | Hinweis |
f | Funktion | - |
n | Zahl | ganzzahlig, positiv |
Es wird ein (mögliches) Minimum der Zielfunktion f unter Verwendung eines genetischen Algorithmus approximiert. Die beste Lösung nach der Durchführung des Verfahrens wird schließlich zurückgegeben.
Dabei wird angenommen, dass das Argument der Funktion f ein binärer Vektor der Länge n ist (also ein Vektor, dessen Einträge entweder 0 oder 1 sind).
Zudem können folgende Optionen verwendet werden:
Variable | Datentyp | Hinweis | Default-Wert |
iterations | Zahl | ganzzahlig, positiv | 1000 |
population | Zahl | ganzzahlig, positiv | 100 |
children | Zahl | ganzzahlig, positiv | 800 |
mutation_rate | Zahl | aus dem Intervall [0,1] | 0.02 |
Die Optionen bestimmen die Parameter des Algorithmus: iterations bestimmt die Anzahl an Generationen, population die Anzahl der Individuen pro Generation, children die Anzahl der Kinder pro Generation (vor der Selektion) und mutation_rate bestimmt die Mutationsrate pro Kind.
Es sei nochmals ausdrücklich darauf hingewiesen, dass im Allgemeinen kein globales Minimum der Zielfunktion gefunden wird (sondern je nach Wahl der Optionen bestensfalls eine gute Approximation).