Diese Simulation führt einen echten Partikelschwarm-Optimierungsalgorithmus (PSO) gegen ein simuliertes Standortproblem für die Mobilfunkabdeckung aus. Jedes Partikel im Schwarm ist ein vollständiges Kandidaten-Layout — die (x, y)-Position jedes vorgeschlagenen Mastes — und in jeder Iteration wird die Geschwindigkeit jedes Partikels mit der echten PSO-Regel v ← w·v + c₁·r₁·(pbest − x) + c₂·r₂·(gbest − x) aktualisiert, dann seine Position mit x ← x + v, wobei bei jedem Schritt frische Zufallswerte r₁, r₂ gezogen werden. Die Fitness ist eine echte Zielfunktion für die Abdeckungsqualität: bedarfsgewichtete Signalabdeckung über das Versorgungsgebiet, mit quadratischem Abfall nach Entfernung und einer Strafe für Masten, die redundant dieselbe Fläche abdecken.
🔬 Was wird gezeigt
Ein 3D-Versorgungsgebiet von oben: Bedarfspunkte, deren Größe und Farbe das Bevölkerungsgewicht widerspiegeln, blassrosa Punkte, die die Kandidaten-Mastpositionen jedes Partikels in Bewegung zeigen, sowie hell leuchtende Masten mit durchscheinenden Abdeckungsringen, die das aktuell beste bekannte (gbest) Mast-Layout des Schwarms markieren. Darunter verfolgt ein Live-Diagramm die beste je erreichte und die aktuelle durchschnittliche Fitness des Schwarms — eine echte Konvergenzkurve, keine skriptgesteuerte Animation.
🎮 Anwendung
Passen Sie Schwarmgröße (10–60 Partikel), Trägheitsgewicht w (0,2–0,9) und die Anzahl der zu platzierenden Masten (3–8) an. Wählen Sie ein Bedarfspunkt-Layout — Zufällig, Geclustert ("Städte") oder Raster — und stellen Sie den Abdeckungsradius pro Mast ein. Ziehen Sie die 3D-Ansicht, um die Kamera zu drehen, und nutzen Sie Zurücksetzen, um einen neuen Lauf mit neuem Bedarfsfeld und Schwarm zu starten.
💡 Wussten Sie schon?
PSO wurde vom koordinierten, führerlosen Bewegungsverhalten von Vogelschwärmen und Fischschwärmen inspiriert — kein einzelnes Partikel "kennt" die Antwort, doch der Schwarm als Ganzes konvergiert zuverlässig, weil jedes Partikel sowohl von seiner eigenen Erinnerung als auch von der gemeinsamen besten Entdeckung der Gruppe angestoßen wird. Es benötigt keine Ableitung der Zielfunktion, weshalb es bei Standortproblemen, bei denen die Abdeckung keine glatte, differenzierbare Fläche ist, so gut funktioniert.
Was ist Partikelschwarmoptimierung (PSO)?
Partikelschwarmoptimierung ist eine populationsbasierte Metaheuristik, bei der ein Schwarm von Kandidatenlösungen ("Partikel") sich durch den Suchraum bewegt, jeweils angezogen von der besten selbst gefundenen Position (pbest) und der besten vom gesamten Schwarm gefundenen Position (gbest). Anders als gradientenbasierte Verfahren benötigt PSO keine Ableitung der Zielfunktion — nur die Fähigkeit, für jeden Kandidaten einen Fitnesswert zu berechnen —, was es für kombinatorische Standortprobleme wie die Antennenplatzierung besonders geeignet macht, bei denen die Abdeckungsfunktion in keiner einfachen geschlossenen Form glatt oder differenzierbar ist.
Wie funktioniert die Geschwindigkeits-Aktualisierungsregel genau?
In jeder Iteration aktualisiert jedes Partikel seine Geschwindigkeit mit v ← w·v + c₁·r₁·(pbest − x) + c₂·r₂·(gbest − x) und bewegt sich dann mit x ← x + v. Der Trägheitsterm w·v führt den bisherigen Schwung des Partikels fort; der kognitive Term c₁·r₁·(pbest − x) zieht es zurück zu seiner eigenen besten je gefundenen Position; der soziale Term c₂·r₂·(gbest − x) zieht es zur besten je gefundenen Position des Schwarms. r₁ und r₂ sind frische, unabhängige Zufallszahlen, die für jede Dimension und jede Iteration neu gezogen werden, sodass keine zwei Partikel identische Bahnen verfolgen, selbst wenn sie dieselben pbest- und gbest-Ziele teilen. Diese Simulation verwendet c₁ = c₂ = 1,6, Standardwerte aus der PSO-Literatur.
Welche Zielfunktion bewertet die Qualität einer Antennenplatzierung?
Jedes Kandidaten-Layout wird bewertet, indem über jeden Bedarfspunkt im Versorgungsgebiet dessen Bedarfsgewicht mit dem stärksten Signal multipliziert wird, das er von irgendeinem Mast empfängt — modelliert als quadratischer Abfall mit der Entfernung, der am Abdeckungsradius null erreicht (ein vereinfachtes Best-Server-Pfadverlustmodell). Anschließend wird ein Strafterm für Bedarfspunkte abgezogen, die redundant von mehr als einem Mast oberhalb eines Mindestsignalschwellenwerts abgedeckt werden, da reale Einsätze Masten verteilt sehen möchten, um mehr Fläche abzudecken, statt sie auf denselben Kunden zu stapeln. Dies ist eine echte, deterministische Funktion der Mastkoordinaten — nichts daran ist skriptgesteuert oder vorgefertigt.
Warum verhalten sich die Kurven für beste Fitness und durchschnittliche Fitness unterschiedlich?
Die Best-Kurve (gbest) kann nur steigen oder gleich bleiben, da sich der Schwarm das beste je gefundene Layout merkt und es nie verwirft — dies ist eine strukturelle Garantie der Art, wie pbest und gbest verfolgt werden, keine skriptgesteuerte Animation. Die Durchschnittskurve spiegelt die aktuelle Position jedes Partikels in jeder Iteration wider und kann absacken, wenn Partikel bei der Erkundung überschießen, um sich dann zu erholen, sobald der Schwarm erneut konvergiert. Betrachtet man beide zusammen, zeigt sich der reale Kompromiss zwischen Exploration und Exploitation: Die durchschnittliche Fitness ist anfangs unruhiger, während die Partikel gestreut sind, und beide Kurven ziehen sich zusammen, sobald der Schwarm auf einen gemeinsamen Bereich des Suchraums konvergiert.
Was verändern die Trägheitsgewicht- und Schwarmgrößen-Regler?
Das Trägheitsgewicht w skaliert, wie viel der vorherigen Geschwindigkeit eines Partikels in den nächsten Schritt übertragen wird: Ein hohes w (nahe 0,9) hält Partikel länger in breiter Bewegung und Erkundung, bevor sie sich einpendeln, während ein niedriges w (nahe 0,2) den Schwung schnell dämpft, sodass Partikel schneller auf pbest und gbest einschwenken, aber riskieren, sich in einem mittelmäßigen lokalen Layout niederzulassen. Die Schwarmgröße bestimmt, wie viele unabhängige Kandidaten-Layouts pro Iteration parallel suchen — ein größerer Schwarm tastet pro Iteration mehr vom Platzierungsraum ab und findet tendenziell schneller ein besseres gbest, allerdings auf Kosten von mehr Fitnessauswertungen pro Schritt.
Wie schneidet PSO im Vergleich zu Brute-Force-Suche oder Gradientenabstieg bei der Standortwahl von Masten ab?
Die Brute-Force-Suche über jede mögliche Kombination von Mastkoordinaten ist rechnerisch nicht mehr machbar, sobald mehr als ein oder zwei Masten vorhanden sind, da der Suchraum exponentiell mit der Anzahl der Masten wächst. Gradientenabstieg benötigt eine differenzierbare Zielfunktion, aber die hier verwendete Best-Server-Abdeckungsfunktion hat überall dort Knicke, wo sich der nächstgelegene Mast ändert, und kombinatorische Entscheidungen wie "welcher Mast deckt welchen Bedarfspunkt ab" sind überhaupt nicht auf natürliche Weise differenzierbar. PSO umgeht beide Probleme: Es muss die Fitness eines Kandidaten-Layouts nur auswerten, nicht differenzieren, und sein Schwarm paralleler Kandidaten erkundet gleichzeitig viele Bereiche des Platzierungsraums, was es zu einer praxisüblichen Wahl für reale Antennen- und Standortoptimierung macht.