Поиск косяков рыб - Википедия - Fish School Search
Поиск рыбных косяков (FSS), предложенный Бастосом Филью и Лимой Нето в 2007 году, в своей базовой версии[1] алгоритм унимодальной оптимизации, вдохновленный коллективным поведением косяков рыб. Механизмы кормления и согласованного движения послужили источником вдохновения для создания поисковых операторов. Основная идея состоит в том, чтобы заставить рыб «плыть» к положительному градиенту, чтобы «съесть» и «набрать вес». В совокупности более тяжелые рыбы имеют большее влияние на процесс поиска в целом, что заставляет барицентр косяка рыб перемещаться в лучшие места в пространстве поиска на итерациях.[2]
ФСС использует следующие принципы:[3]
- Простые вычисления для всех индивидуумов (например, рыб)
- Различные способы хранения информации (например, вес рыбы и школьный барицентр)
- Локальные вычисления (т.е. плавание состоит из отдельных компонентов)
- Низкая коммуникация между соседними особями (т.е. рыбы должны думать как местные, но также быть социально осведомленными)
- Минимальный централизованный контроль (в основном для самоконтроля школьного радиуса)
- Некоторые отчетливые механизмы разнообразия (чтобы избежать нежелательного поведения стая)
- Масштабируемость (по сложности задач оптимизации / поиска)
- Автономность (т.е. способность к самоконтролю)
Алгоритм
FSS - это алгоритм поиска на основе популяции, основанный на поведении плавающих рыб, которые расширяются и сжимаются в поисках пищи. Каждая рыба -размерное расположение представляет собой возможное решение проблемы оптимизации. Алгоритм использует веса для всех рыб, что представляет собой совокупный счет того, насколько успешным был поиск каждой рыбы в косяке. FSS состоит из операторов подачи и перемещения, которые делятся на три подкомпонента, а именно:[4]
Индивидуальная составляющая движения
Каждая рыба в косяке выполняет локальный поиск в поисках перспективных регионов в пространстве поиска. Это делается, как показано ниже:
куда и представлять положение рыбы до и после индивидуального перемещения оператора соответственно. - равномерно распределенное случайное число от -1 до 1 и - параметр, определяющий максимальное смещение для этого движения. Новая должность принимается только в том случае, если приспособленность рыбы улучшается с изменением положения. Если это не так, рыба остается в том же положении и .
Коллективно-инстинктивная составляющая движения
Среднее значение отдельных перемещений рассчитывается на основе следующего:
Вектор представляет собой средневзвешенное значение перемещений каждой рыбы. Это означает, что рыбы, у которых было более высокое улучшение, будут привлекать рыб на свою позицию. вычислений, каждая рыба будет двигаться в соответствии с:
Коллективно-волевая составляющая движения
Этот оператор используется для регулирования возможностей школы по разведке / эксплуатации в процессе поиска. Прежде всего, барицентр школы рассчитывается исходя из должности и вес каждой рыбы:
а затем, если общий вес школы увеличился от последней к текущей итерации, рыбы привлекаются к барицентру в соответствии с уравнением A. Если общий вес косяка не улучшился, рыбы отводятся от барицентра в соответствии с уравнением B:
Уравнение А:
Уравнение B:
куда определяет размер максимального смещения, выполняемого с использованием этого оператора. это евклидово расстояние между рыбками положение и школьный барицентр. - равномерно распределенное случайное число от 0 до 1.
Помимо операторов перемещения, был также определен оператор кормления, используемый для обновления веса каждой рыбы в соответствии с:
куда параметр веса для рыбы , изменение пригодности между последним и новым положением, и представляет собой максимальное абсолютное значение вариации приспособленности среди всех рыб в стае. может изменяться только от 1 до , который является определяемым пользователем атрибутом. Вес всех рыб инициализируется значением .
Псевдокод для ФСС
- Инициализировать параметры пользователя
- Инициализировать позиции рыб в случайном порядке
- пока не выполняется условие остановки, сделайте
- Рассчитайте приспособленность для каждой рыбы
- Выполните индивидуальные движения оператора
- Рассчитайте приспособленность для каждой рыбы
- Оператор запуска подачи
- Выполнить коллективно-инстинктивное движение оператора
- Выполнить коллективно-волевое движение оператора
- конец пока
Параметры и линейно распадаются по:
и аналогично:
куда и - определенные пользователем начальные значения для и , соответственно. - максимальное количество итераций, разрешенных в процессе поиска.
Варианты FSS
dFSS (поиск косяков рыбы на основе плотности)
Эта версия отлично подходит для мультимодальных гипермерных функций. Он включает изменения в предыдущих операторах: Кормление и Плавание, а также новые: Операторы Памяти и Разделения. Последние два были введены для учета разделения основной школы на подгруппы. Некоторые изменения были также внесены в условия остановки, которые теперь также должны учитывать подпогрев.[5]
wFSS (поиск косяка рыбы на основе веса)
wFSS - это версия FSS на основе весовых коэффициентов, предназначенная для создания нескольких решений. Стратегия ничинга основана на новом операторе, называемом форматором ссылок. Этот оператор используется для определения лидеров для рыб, чтобы сформировать подшколы.[6]
FSS-SAR (Обычный поиск косяков рыбы с предотвращением застоя)
В исходной версии алгоритма отдельному компоненту движения разрешено перемещать рыбу только в том случае, если это улучшает приспособленность. Однако в очень гладком пространстве поиска будет много движущихся испытаний без успеха, и алгоритм может не сойтись. Для решения этих проблем был введен параметр X, для которого 0 <= X <= 1 в отдельном компоненте Движение. X убывает экспоненциально вместе с итерациями и измеряет вероятность ухудшения допуска для каждой рыбы. Это означает, что каждый раз, когда рыба пытается переместиться в положение, которое не улучшает ее приспособленность, выбирается случайное число, и если оно меньше X, движение разрешается.[7]
bFSS (поиск косяков двоичных рыб)
BFSS призван справиться с преждевременной конвергенцией. Предлагается использовать схему двоичного кодирования для внутренних механизмов поиска косяка рыб. Он объединил FSS с нечетким моделированием в подходе оболочки для выбора функций.[8]
MOFSS (многоцелевой поиск косяков рыбы)
В MOFSS операторы адаптированы для решения многоцелевых задач. Алгоритм развертывает внешний архив для хранения лучших недоминируемых решений, найденных в процессе поиска. Этот подход широко использовался для различных оптимизаторов, основанных на биологии и многоцелевых целях.[9][10] Кроме того, решения из внешнего архива используются для управления перемещениями рыбы в версии предложения.[11]
Смотрите также
- Алгоритмы оптимизации муравьиной колонии
- Алгоритм искусственной пчелиной колонии
- Оптимизация роя частиц
внешняя ссылка
Рекомендации
- ^ С. Дж. А. Б. Филхо., Ф. Б. де Лима Нето, А. Дж. К. С. Линс, А. И. С. Насименто. И М. П. Лима "Новый алгоритм поиска, основанный на поведении косяков рыб., "Системы, человек и кибернетика, SMC 2008. Международная конференция IEEE, 2008 г., стр. 2646-2651.
- ^ де Лима Нето, Фернандо Буарк и Марсело Гомеш Перейра де Ласерда. "Алгоритмы мультимодального поиска косяков рыб на основе локальной информации для разделения косяков. »Конгресс БРИКС по вычислительному интеллекту 2013 г. и 11-й Бразильский конгресс по вычислительному интеллекту. IEEE, 2013 г.
- ^ http://www.fbln.pro.br/fss/
- ^ Дж. Б. Монтейро, И. М. К. Альбукерке, Ф. Б. Л. Нето и Ф. В. С. Феррейра, «Оптимизация функций нескольких плато с помощью FSS-SAR (программа предотвращения застоя), ”Представлено на серии симпозиумов IEEE по вычислительному интеллекту, 2016 г.
- ^ Мадейро, С. С., де Лима-Нето, Ф. Б., Бастос-Филью, К. Дж. А., и Насименту Фигейредо, Э. М. (2011, июнь). Плотность как механизм сегрегации в поиске косяков для задач мультимодальной оптимизации. В Международной конференции по разведке роя (стр. 563-572). Springer Berlin Heidelberg.
- ^ Ф. Буарке Де Лима Нето и М. Гомеш Перейра де Ласерда, «Поиск косяка рыбы по весу, ”В Системах, Человеке и Кибернетике (SMC), Международная конференция IEEE 2014 г. IEEE, 2014, стр. 270–277.
- ^ Дж. Б. Монтейро, И. М. К. Альбукерке, Ф. Б. Л. Нето и Ф. В. С. Феррейра, «Оптимизация функций нескольких плато с помощью FSS-SAR (программа предотвращения застоя), ”Представлено на серии симпозиумов IEEE по вычислительному интеллекту, 2016 г.
- ^ Сарго, Жоао А.Г. и др. "Функция поиска Binary Fish School Search применяется к выбору функции: Заявление в реадмиссию ICU. »Международная конференция IEEE по нечетким системам (FUZZ-IEEE), 2014 г. IEEE, 2014.
- ^ Деб К., Тиле Л., Лауманнс М. и Цитцлер Э. (2002) Задачи масштабируемой многоцелевой оптимизации, В: Конгресс IEEE по эволюционным вычислениям (стр. 825–830).
- ^ Небро, А. Дж., Дурилло, Дж. Дж., Гарса-Ньето, Дж., Коэлло Коэльо, К. А., Луна, Ф. и Альба, Э. (2009) SMPSO: новая метаэвристика на основе PSO для многоцелевой оптимизации, В: Симпозиум IEEE по вычислительному интеллекту в многокритериальном принятии решений (стр. 66–73). DOI: 10.1109 / MCDM.2009.4938830
- ^ Бастос-Филью, Кармело Х.А. и Аугусто С.С. Гимарайнш. "Многоцелевой поиск косяков рыбы. »Международный журнал исследований разведки роя (IJSIR) 6.1 (2015): 23-40.