.vector

Die Funktion GeneticAlgorithm.vector(f, n) erwartet folgende (verpflichtende) Argumente:

ArgumentDatentypHinweis
fFunktion-
nZahlganzzahlig, 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 Vektor der Länge n ist, wobei sämtliche Einträge des Vektors rationale Zahlen sind.

Zudem können folgende Optionen verwendet werden:

VariableDatentypHinweisDefault-Wert
iterationsZahlganzzahlig, positiv1000
populationZahlganzzahlig, positiv100
childrenZahlganzzahlig, positiv800
mutation_rateZahlaus dem Intervall [0,1]0.02
boundsDatenfeldzwei Zahlen (Intervall)[-1,1]

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.

An allen Stellen, an denen während des Algorithmus Einträge des Lösungsvektors zufällig generiert werden, kommen Zufallszahlen aus dem Intervall bounds zum Einsatz. (Hinweis: Einträge des Lösungsvektors können jedoch auch außerhalb des Intervalls bounds liegen.)

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).

Beispiel
Der genetische Algorithmus wird anhand einer einfachen Zielfunktion getestet, dessen Optimallösung mit einen Zielfunktionswert von 0 konstruiert wird. Verändere auch die optionalen Parameter (beispielsweise die Anzahl der Iterationen) und beobachte das Ergebnis.
Zur Übersicht