Massiv parallele Partikelschwarmoptimierung mit ArFlock

Die Partikelschwarm-Methode ist ein approximativer Algorithmus für globale Optimierung, der durch das soziale Verhalten von Tieren inspiriert ist.
Flock of birds

Mit direkten Methoden - wie der Branch-and-Bound-Methode - lässt sich prinzipiell jedes Problem der globalen Optimierung rigoros lösen. Jedoch ist in der Praxis die Anwendung direkter Methoden auf Probleme größerer Dimension und / oder Komplexität unerschwinglich. Deswegen hat sich - neben den verschiedenen Arten evolutionärer Algorithmen - in den letzen zwanzig Jahren insbesondere die Partikelschwarmoptimierung (PSO) als eine approximative, dahingegen numerisch effiziente Methode etabliert. Während die Standard-PSO das Finden des globalen Minimums einer Bewertungsfunktion nicht garantiert, skaliert diese Methode viel günstiger mit der Anzahl der Dimensionen.

ArFlock ist eine C++ Programmbibliothek, welche weitgehend auf der Standard Template Library (STL) sowie auf der Boost library basiert. Die letztere wird insbesondere für die Erzeugung von Zufallszahlen (Boost.Random), Serialisierung (Boost.Serialization) und Message Passing Interface (Boost.MPI) benutzt. ArFlock stellt zurzeit verschiedene Varianten von PSO-Algorithmen (attraktive und repulsive PSO), Update-Regeln, Modelle für Trägheitskoeffizienten und Nachbarschaften, sowie Geschwindigkeits- und Orts-Randbedingungen, wie z.B. periodische Randbedingungen, bereit. Darüber hinaus sind synchrone und asynchrone parallele PSO Implementierungen verfügbar und optimiert für Einsatz an massiv parallelen Rechnern (MPP). ArFlock wurde von Ivan Kondov am Scientific Computing Center (SCC) am Karlsruher Institut für Technologie entwickelt. 

Die wichtigsten Vorteile von ArFlock im Überblick:

  • C++ Bibliothek mit Verwendung der Boost Bibliothek für MPI, Zufallszahlen und Serialisierung
  • Asynchrone parallele PSO für effiziente massiv parallele Verarbeitung (MPP)
  • Eine Vielzahl von PSO Algorithmen und heuristischen Verfahren
  • Performance-Diagnostik
  • Anwendungsgebiete: Proteinstrukturvorhersage, Strukturoptimierung von großen Molekülen und Clustern

Wenn Sie ArFlock in Ihrer Forschung einsetzen möchten, bitte wenden Sie sich an Ivan Kondov, um eine Kopie der Software unter einer kostenfreien akademischen Lizenz zu bekommen.