Начало 1) Целевая функция: ; 2) Сгенерировать начальную популяцию светлячков ;. 3) Сформулировать интенсивность света I так, чтобы она была связана с (например, для задач максимизации, или просто ;) 4) Определить коэффициент поглощения γwhile (t < MaxGeneration) for i = 1 : n (все n светлячков) for j = 1 : i (n светлячков) if ( ), Изменить привлекательность в зависимости от расстояния r с помощью ; переместить светлячка i в сторону j; Оценить новые решения и обновить интенсивность освещения; конец, если конец для j конец для i Ранжируйте светлячков и найдите лучшего на данный момент; конец пока конец
Обратите внимание, что количество оценок целевой функции на цикл равно одной оценке на светлячка, хотя приведенный выше псевдокод предполагает, что оно равно n × n . (На основе кода MATLAB Янга .) Таким образом, общее количество оценок целевой функции равно (количество поколений) × (количество светлячков).
Основная формула обновления для любой пары из двух светлячков и есть
где — параметр, управляющий размером шага, а — вектор, взятый из гауссовского или другого распределения.zae
Можно показать, что предельный случай соответствует стандартной оптимизации роя частиц (PSO). Фактически, если внутренний цикл (для j) удалить и яркость заменить текущим глобальным лучшим , то FA по сути становится стандартной PSO.
^ Almasi, Omid N.; Rouhani, Modjtaba (2016). «Новый подход к назначению нечеткого членства и выбору модели на основе динамических центров классов для семейства нечетких SVM с использованием алгоритма firefly». Turkish Journal of Electrical Engineering & Computer Sciences . 4 : 1–19. doi : 10.3906/elk-1310-253 . Практическое применение FA в наборах данных UCI.
^ Лонес, Майкл А. (2014). «Метаэвристика в алгоритмах, вдохновленных природой» (PDF) . Труды сопутствующей публикации ежегодной конференции 2014 года по генетическим и эволюционным вычислениям . стр. 1419–1422. CiteSeerX 10.1.1.699.1825 . doi :10.1145/2598394.2609841. ISBN9781450328814. S2CID 14997975. С другой стороны, FA мало чем отличается от PSO, поскольку закон обратных квадратов имеет тот же эффект, что и скученность и совместное использование приспособленности в EA, а также использование множественных роев в PSO.
^ Weyland, Dennis (2015). "Критический анализ алгоритма поиска гармонии — Как не решать судоку". Operations Research Perspectives . 2 : 97–105. doi : 10.1016/j.orp.2015.04.001 . hdl : 10419/178253 . Например, различия между метаэвристикой оптимизации роя частиц и "новыми" метаэвристиками, такими как алгоритм светлячка, алгоритм оптимизации плодовой мушки, алгоритм оптимизации роя рыб или алгоритм оптимизации роя кошек, кажутся незначительными.
^ Ariyaratne MKA, Pemarathne WPJ (2015) Обзор последних достижений алгоритма светлячка: современный алгоритм, вдохновленный природой. В: Труды 8-й международной исследовательской конференции, 61–66, KDU, опубликовано в ноябре 2015 г., http://ir.kdu.ac.lk/bitstream/handle/345/1038/com-047.pdf?sequence=1&isAllowed=y
Внешние ссылки
[1] Файлы программ Matlab, включенные в книгу: Xin-She Yang, Nature-Inspired Metaheuristic Algorithms, второе издание, Luniver Press, (2010).