.permutation

Die Funktion GeneticAlgorithm.permutation(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 eine Permutation der Länge n ist (beginnend mit 0, also beispielsweise für ).

Zudem können folgende Optionen verwendet werden:

VariableDatentypHinweisDefault-Wert
iterationsZahlganzzahlig, positiv1000
populationZahlganzzahlig, positiv100
childrenZahlganzzahlig, positiv800
mutation_rateZahlaus 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).

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