Обсуждение статьи "Популяционные алгоритмы оптимизации: Алгоритм летучих мышей (Bat algorithm - BA)"

 

Опубликована статья Популяционные алгоритмы оптимизации: Алгоритм летучих мышей (Bat algorithm - BA):

Сегодня изучим алгоритм летучих мышей (Bat algorithm - BA), который отличается удивительной сходимостью на гладких функциях.

При написании алгоритма BA я столкнулся с тем, что во многих источниках авторы статей описывают алгоритм совершенно по-разному, отличия заключались как в применении терминов в описании ключевых моментов так и в принципиальных алгоритмических особенностях, поэтому опишу как понял сам. Основные физические принципы, лежащие в основе эхолокации, могут быть применены в алгоритме со значительными оговорками и условностями. Предполагаем, что мыши используют звуковые импульсы с частотой в диапазоне от MinFreq до MaxFreq. Частота влияет на скорость перемещения мыши в пространстве. Так же используется условное понятие громкости, которое влияет на переход из состояния локального поиска по месту текущего положения летучей мыши к глобальному в окрестностях наилучшего решения. Частота пульсаций увеличивается на протяжении всей оптимизации, в то время как громкость звуков понижается.

Псевдокод алгоритма BA (рисунок 1):

1. Инициализация популяции летучих мышей.
2. Генерация частоты, скорости и новых решений.
3. Поиск локального решения.
4. Обновление глобального решения.
5. Понижение громкости и увеличение частоты пульсаций.
6. Повторить п.2 до выполнения критерия останова.

scheme


Рисунок 1. Блок-схема алгоритма BA.

Автор: Andrey Dik

Причина обращения: