Czym jest Optymalizacja rojowa świetlików (Glowworm Swarm Optimization)?
Optymalizacja rojowa świetlików, w skrócie GSO, to algorytm inspirowany biologicznie, zaproponowany w 2005 r. przez Krishnananda i Ghose z Indian Institute of Science w Bengaluru. Modeluje zachowanie świetlików, które emitują bioluminescencję w celu przyciągania partnerów lub zdobywania pożywienia. W kontekście optymalizacji funkcji matematycznych światło zostaje zastąpione syntetyczną wartością nazywaną lucyferyną, odzwierciedlającą jakość znalezionego rozwiązania, a pojedynczy świetlik reprezentuje kandydat dla funkcji celu.
Jak dokładnie działa Optymalizacja rojowa świetlików (Glowworm Swarm Optimization)
Każdy świetlik utrzymuje skalar lucyferyny, która rośnie, gdy trafia w obszary wysokiej jakości funkcji celu, i zanika w czasie, co sprzyja ruchowi w kierunku świeższych rozwiązań. Dynamiczny zasięg percepcji tworzy lokalne sąsiedztwo; dzięki temu rój dzieli się na podgrupy eksplorujące różne maksimum lokalne zamiast koncentrować się wyłącznie na jednym optimum, jak często ma to miejsce w klasycznym roju cząstek (PSO). Świetlik przemieszcza się ku sąsiadowi o wyższej lucyferynie z prawdopodobieństwem proporcjonalnym do różnicy jasności, a jednocześnie ogranicza liczbę potencjalnych sąsiadów, aby zapobiegać nadmiernemu skupianiu się.
Faza aktualizacji lucyferyny
Po każdej iteracji algorytm oblicza nową wartość lucyferyny w oparciu o lokalną wartość funkcji celu. Szybkość przyrostu i współczynnik zaniku regulują tempo uczenia.
Faza ruchu
Świetlik wybiera kierunek ku jaśniejszym towarzyszom, lecz tylko w obrębie zasięgu zmiennego promienia percepcji. Dzięki temu grupa automatycznie dostosowuje gęstość rozmieszczenia w przestrzeni rozwiązań, co udoskonala wykrywanie wielu ekstremów.
Zastosowania w praktyce
GSO bywa stosowany w optymalizacji wielomodalnej, planowaniu tras mobilnych robotów, dostrajaniu parametrów systemów adaptacyjnych, a także w selekcji cech i konstruowaniu sieci sensorowych. Przykładowo w projektowaniu autonomicznego drona algorytm pozwala jednocześnie wyznaczyć kilka bezkolizyjnych korytarzy lotu, co skraca czas reakcji w dynamicznym środowisku w porównaniu z jednopunktowymi metodami gradientowymi.
Zalety i ograniczenia
Największą siłą GSO jest naturalna zdolność do samoczynnego grupowania świetlików wokół licznych ekstremów, co ułatwia rozwiązywanie zadań wymagających identyfikacji wielu rozwiązań wysokiej jakości. W odróżnieniu od algorytmu mrówkowego nie wymaga globalnej tablicy feromonów, a w porównaniu z PSO rzadziej przedwcześnie zbiega do pojedynczego optimum. Wadą pozostaje wrażliwość na skalowanie do przestrzeni bardzo wysokiego wymiaru oraz konieczność dobrania parametrów promienia percepcji, zaniku lucyferyny i maksymalnej liczby sąsiadów. W praktyce warto przeprowadzić wstępne eksperymenty lub skorzystać z adaptacyjnych wariantów algorytmu.
Na co uważać?
Nadmierny promień percepcji może prowadzić do globalnego przyciągania i utraty różnorodności rozwiązań, natomiast zbyt niski sprawi, że rój rozproszy się po całej przestrzeni, wydłużając czas zbieżności. W zastosowaniach z ograniczeniami warto wbudować mechanizm naprawczy lub karę w funkcji celu, gdyż same ruchy świetlików nie respektują automatycznie barier.
Dodatkowe źródła
Szczegółowy opis matematyczny i studia przypadków znajdują się w oryginalnej publikacji autorów Krishnananda & Ghose 2005. Zwięzłe omówienie z przykładami można znaleźć w artykule przeglądowym na arXiv arXiv:1503.06630. Przydatne wprowadzenie porównujące GSO z Particle Swarm Optimization zamieszczono w serwisie Wikipedia.


