Welche GA/GP-Bibliothek verwenden Sie und warum?Welchen genetischen Algorithmus/Programmierbibliothek verwenden Sie?
Antwort
Meine eigene, weil es die einfachste :)
EDIT anzupassen, ist: Es gab diese Antwort zu aktualisieren einige der jüngsten Aufwärts Stimmen, so dass ich dachte, es lohnt sich. Es ist jetzt 8 Jahre her, dass ich dies ursprünglich beantwortet habe und seitdem viel mehr Bibliotheken verfügbar sind. Ich würde nicht mehr vorschlagen, deinen eigenen Code zu veröffentlichen. Stattdessen würde ich eine Open-Source-Bibliothek in Ihrer Sprache finden und dazu beitragen.
z.B. Jenetics Wenn Sie Java, DEAP für Python und GeneticSharp für C# verwenden.
Check out ECJ
Ich habe zwei Hauptstudium Forschungsprojekte abgeschlossen genetische Algorithmen automatisch Elektromotoren zu entwickeln.
Für das erste Projekt habe ich die EO Evolutionary Computation Framework verwendet, die fast ausschließlich auf C++ Template-Programmierung basiert. Es ist sehr mächtig, erfordert aber (IMO) eine Menge Konzentration, um es wegen der Meta-Natur der Vorlagen und der entsprechenden Nonsense-Fehlermeldungen vom Compiler zu erweitern.
Für das zweite Projekt portierte ich alles auf die Open BEAGLE EC Framework, die auf C++ - Vererbung anstelle von Vorlagen basiert. Es verfügt außerdem über ein sehr vollständiges XML-basiertes System zur Steuerung von Parametern und zur Speicherung von Meilensteinen und Ergebnissen. Ich fand es viel einfacher zu erweitern und an meine spezifischen Bedürfnisse anzupassen (hauptsächlich gemischte Integer- und Float-Design-Parameter mit Fertigungstoleranzen).
Ich habe Open BEAGLE auch kurz in einem einfachen Programm zur genetischen Programmierung verwendet und es erwies sich auch dort als einfach.
Wenn Sie Python verwenden, ist Pyevolve einfach zu bedienen. Ich habe es mit Erfolg benutzt. http://pyevolve.sourceforge.net/
0.6rc1 ist die bessere Wahl als offiziell freigegeben 0.5 http://pyevolve.sourceforge.net/0_6rc1/ –
Ich habe mit herum gespielt, um ein Gefühl zu bekommen, wie ich mein eigenes GP-System implementiere. Es wurde in C geschrieben, aber in Java neu geschrieben. Da es sehr klein ist, war es leicht, es für meine C++/D Anwendungen anzupassen.
Ich habe meine eigene OpenGA-Bibliothek entwickelt.
Diese Bibliothek ist für die Lösung:
- Einzel objektive Probleme.
- Mehrziel (und viele objektive) Probleme (NSGA-III-Methode).
- Interaktive GA-Probleme.
Diese Bibliothek ermöglicht es uns, C++ - Vorlagen zu verwenden, um Ihr eigenes Chromosomendesign zu definieren. Die Codes sind unter Github verfügbar. Die Veröffentlichung befindet sich unter smc2017 und das Benutzerhandbuch ist unter meiner researchgate verfügbar.
Meine Gefühle - Ich habe GAlib so sehr geändert, dass ich meine eigenen verwenden werde - Anpassung ist ein Muss! – bias
Ja, ein GA ist nicht schwer zu kodieren. Das Schreiben eigener Dateien gleicht den Mangel an Funktionalität in heruntergeladenen Tools aus. –
Was ist mit der besten Sprache von allen, C++? :) Dies kann dazu führen, einige Diskussion hier;) – Ralf