Пчелиный алгоритм

Пчелиный алгоритм

Алгоритм пчелы вдохновлен поведением медоносных пчел при поиске пищи. Пчелы собирают нектар с больших территорий вокруг своего улья (более 10 километров). Было замечено, что пчелиные семьи отправляют пчел собирать нектар с цветочных участков в зависимости от количества пищи, доступной на каждом участке. Пчелы общаются друг с другом в улье с помощью танца, который информирует других пчел в улье о направлении, расстоянии и оценке качества источников пищи.

Пчелы собирают нектар с цветочных грядок в качестве источника пищи для улья. Улей отправляет разведчиков, которые находят участки с цветами, которые затем возвращаются в улей и информируют других пчел о физической форме и местонахождении источника пищи с помощью танца. Разведчик возвращается на цветочное поле с пчелами-следопытами. Небольшое количество разведчиков продолжают искать новые источники, в то время как пчелы, возвращающиеся из цветочных источников, продолжают сообщать об их качестве.

Целью алгоритма обработки информации является обнаружение и сканирование хороших сайтов в заданном пространстве поиска. Скауты отправляются для случайной выборки в поле определения и найти нужные сайты. Хорошие сайты управляются с помощью приложения локальный поиск, где небольшое количество хороших сайтов исследуется больше, чем другие. Хорошие сайты постоянно добываются, хотя с каждой итерацией отправляется множество разведчиков на поиск дополнительных хороших сайтов.

Следующий алгоритм обеспечивает псевдокод пчелиного алгоритма для минимизации функции стоимости.

пчелиный алгоритм

Алгоритм пчелы был разработан для использования с задачами оптимизации непрерывных и комбинаторных функций. Переменная Patchsize используется в качестве размера окрестности. Например, в задаче оптимизации непрерывной функции каждое измерение сайта будет выбираться с x_i больше или меньше, чем (rand()*Patchsize). Переменная Patchsize уменьшается с каждой итерацией, обычно на постоянное значение (например, 0,95). Количество элитных участков (EliteSites_num) должно быть < количества участков (Sites_num), а количество элитных пчел (EliteBees_num) традиционно < количества других пчел (OtherBees_num).

Делиться
ru_RURU
%d такие блоггеры, как: