Diskussion zum Artikel "Algorithmen zur Populationsoptimierung Partikelschwarm (PSO)"

 

Neuer Artikel Algorithmen zur Populationsoptimierung Partikelschwarm (PSO) :

In diesem Artikel werde ich den beliebten Algorithmus der Partikelschwarm-Optimierung (PSO) besprechen. Zuvor haben wir wichtige Eigenschaften von Optimierungsalgorithmen wie Konvergenz, Konvergenzrate, Stabilität und Skalierbarkeit erörtert, einen Prüfstand entwickelt und den einfachsten RNG-Algorithmus betrachtet.

Wie Sie sich vielleicht erinnern, bezeichnet der schwarze Kreis das globale Optimum (max) der Funktion, während der schwarze Punkt die besten durchschnittlichen Koordinaten des Suchalgorithmus zum Zeitpunkt der aktuellen Iteration angibt. Lassen Sie mich erklären, woher die Durchschnittswerte kommen. Die Wärmekarte hat zweidimensionale Koordinaten, und die zu optimierende Funktion kann Hunderte von Variablen (Messungen) umfassen. Daher wird das Ergebnis nach Koordinaten gemittelt.

n1

  PSO auf die Skin Funktion.

n2

  PSO auf dem Forest Testfunktion.

n3

  PSO auf der Megacity Testfunktion.

Wie Sie in der Animation sehen können, haben die Tests gezeigt, dass PSO recht gut mit der glatten ersten Funktion zurechtkommt, allerdings nur bei der Optimierung von zwei Variablen. Mit zunehmender Dimension des Suchraums nimmt die Effizienz des Algorithmus stark ab. Dies ist vor allem bei der zweiten und dritten Funktion zu beobachten. Die Ergebnisse sind deutlich schlechter als bei dem im vorigen Artikel beschriebenen Zufallsalgorithmus. Wir werden auf die Ergebnisse zurückkommen und sie bei der Erstellung einer vergleichenden Ergebnistabelle im Detail diskutieren.

Autor: Andrey Dik

 
Ich vermute, dass eine lineare Dämpfung des Trägheitsgewichtsterms (w) während der gesamten Suche die lokale Suchfähigkeit des Schwarms verbessern und die Konvergenz beschleunigen würde. In der Literatur wird meist eine Untergrenze von w=0,4 vorgeschlagen. Ich habe festgestellt, dass das PSO-Schema für eine breite Klasse von Problemen mit diesem Wert sehr effektiv ist.
 
koehnw Untergrenze von w=0,4 vorgeschlagen. Ich habe festgestellt, dass das PSO-Schema für eine breite Klasse von Problemen mit diesem Wert sehr effektiv ist.

Danke für den Kommentar! Ja, es ist möglich, Koeffizienten mit Iterationen zu verknüpfen, so wie es im Optimierungsalgorithmus von einem Rudel grauer Wölfe gemacht wird. Bitte schauen Sie sich meine folgenden Artikel an.

Leider sind noch nicht alle Artikel auf Englisch veröffentlicht worden.
Population Optimization Algorithms: Ameisenkolonie-Optimierung (ACO): https://www.mql5.com/ru/articles/11602
Populationsoptimierungsalgorithmen: Artificial Bee Colony (ABC): https://www.mql5.com/ru/articles/11736
Algorithmen zur Bevölkerungsoptimierung: Optimierung durch ein Rudel Grauer Wölfe (GreyWolf Optimizer - GWO): https://www.mql5.com/ru/articles/11785

Schätzungstabelle
 

Diese Artikel über metaheuristische Optimierungstechniken sind großartig! Sie leisten großartige Arbeit, Andrey, und es ist erstaunlich, wie viel Erfahrung Sie mit uns teilen können, vielen Dank!

@METAQUOTES bitte erwäge, diese metaheuristischen Optimierungsziele in den Optimierer zu implementieren! Das wäre großartig für die Software.

Etwas Einfaches, das der Benutzer in OnTester() einstellen kann:

OptimizerSetEngine("ACO"); // Ameisenkolonie-Optimierung
OptimizerSetEngine("COA"); // Cuckoo-Optimierungsalgorithmus
OptimizerSetEngine("ABC")); // Künstliches Bienenvolk
OptimizerSetEngine("GWO"); // Grauer-Wolf-Optimierer
OptimizerSetEngine("PSO"); // Partikelschwarmoptimierung 



Vielen Dank aus Brasilien

 
Vinicius Barenho Pereira #:

Diese Artikel über metaheuristische Optimierungstechniken sind großartig! Du leistest großartige Arbeit, Andrey. Es ist überwältigend, wie viel Erfahrung du mit uns teilst, danke!

@METAQUOTES bitte erwäge, diese metaheuristischen Optimierungsziele in den Optimierer zu implementieren! Das wäre großartig für die Software.

Etwas Einfaches, das der Benutzer innerhalb von OnTester() einstellen kann:


Cheers aus Brasilien

Danke für die Bewertung! Jeder neue Artikel ist für mich eine neue Entdeckung, ich bin froh, dass Sie mich begleiten.

 
Danke, aber leider weit über meine Kenntnisse hinaus