Кукушка поиск - Cuckoo search

В исследование операций, поиск кукушки является оптимизация алгоритм разработан Синь-ши Ян и Суаш Дебин 2009.[1][2] Он был вдохновлен облигатный паразитизм расплода некоторых кукушка вида, откладывая яйца в гнезда других птиц-хозяев (других видов). Некоторые птицы-хозяева могут вступать в прямой конфликт с вторгающимися кукушками. Например, если птица-хозяин обнаруживает, что яйца не ее собственные, она либо выбросит эти инопланетные яйца, либо просто покинет свое гнездо и построит новое гнездо в другом месте. Некоторые виды кукушек, такие как Новый мир выводок-паразит Tapera эволюционировали таким образом, что самки кукушек-паразитов часто очень специализированы в подражании окраске и рисунку яиц нескольких выбранных видов хозяев.[3] Поиск с кукушкой идеализировал такое поведение при размножении и поэтому может применяться для решения различных задач оптимизации.

Метафора

Cuckoo search (CS) использует следующие представления:

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

CS основан на трех идеализированных правилах:

  1. Каждая кукушка откладывает по одному яйцу за раз и сбрасывает свое яйцо в случайно выбранное гнездо;
  2. Лучшие гнезда с высоким качеством яиц переходят в следующее поколение;
  3. Количество доступных гнезд хозяев фиксировано, и яйцо, снесенное кукушкой, с вероятностью обнаруживается птицей-хозяином. . В этом случае птица-хозяин может выбросить яйцо / покинуть гнездо и построить совершенно новое гнездо.

Кроме того, Ян и Деб обнаружили, что поиск в стиле случайного блуждания лучше выполняется Леви рейсы а не просто случайная прогулка.

Алгоритм

В псевдокод можно резюмировать как:

Целевая функция: Создайте начальную популяцию  хозяйские гнезда; Пока (t          [Для максимизации  ]; Случайно выбрать гнездо среди n (скажем, j); если (), Заменим j новым решением; конец, если A дробь () из худших гнезд бросают и строят новые; Сохраните лучшие решения / гнезда; Ранжируйте решения / гнезда и найдите лучшие на данный момент; Передача текущих лучших решений следующему поколению; конец, пока

Важным преимуществом этого алгоритма является его простота. Фактически, по сравнению с другими популяциями или агентами метаэвристический такие алгоритмы как оптимизация роя частиц и поиск гармонии, по сути, есть только один параметр в CS (не считая численности населения ). Поэтому реализовать его очень просто.

Случайные прогулки и размер шага

Важным вопросом является применение полетов Леви и случайных блужданий в общем уравнении для генерации новых решений.

где взяты из стандартного нормального распределения с нулевым средним и единичным стандартным отклонением для случайных блужданий или взяты из распределения Леви для Леви рейсы. Очевидно, что случайные блуждания также могут быть связаны со сходством между яйцом кукушки и яйцом хозяина, что может быть непросто в реализации. Здесь размер шага определяет, как далеко может зайти случайный бродяга за фиксированное количество итераций. Генерация размера шага Леви часто бывает сложной, и сравнение трех алгоритмов (включая алгоритм Мантеньи)[4]) исполнил Леккарди[5] кто нашел реализацию подхода Чемберса и др.[6] чтобы быть наиболее эффективным с точки зрения вычислений из-за небольшого количества требуемых случайных чисел.

Если s слишком велико, то новое сгенерированное решение будет слишком далеко от старого решения (или даже выйдет за границы). Тогда такой ход вряд ли будет принят. Если s слишком мало, изменение слишком мало, чтобы быть значительным, и, следовательно, такой поиск неэффективен. Поэтому правильный размер шага важен для обеспечения максимальной эффективности поиска.

Например, для простых изотропных случайных блужданий мы знаем, что среднее расстояние путешествовал в d-мерном пространстве

где - эффективный коэффициент диффузии. Вот - размер шага или расстояние, пройденное при каждом прыжке, и время, затрачиваемое на каждый прыжок. Из приведенного выше уравнения следует, что[7]

Для типичного масштаба длины L интересующего измерения локальный поиск обычно ограничивается областью . Для и t = от 100 до 1000, имеем для d = 1 и для d = 10. Поэтому для большинства задач мы можем использовать s / L = 0,001–0,01. Хотя для точного вывода может потребоваться подробный анализ поведения полетов Леви.[8]

Анализ алгоритмов и сходимости будет плодотворным, потому что есть много открытых проблем, связанных с метаэвристикой.[9]

Теоретический анализ

Поскольку необходимы значительные усилия, теоретический анализ необходим для повышения производительности алгоритмов на основе CS:[10]

  1. Теоретический анализ сходимости алгоритмов на основе CS
  2. Обеспечение достаточных и необходимых условий для настройки параметров управления
  3. Использование неоднородных правил поиска для улучшения классического алгоритма CS

Улучшенные алгоритмы поиска кукушки

Сходимость алгоритма поиска кукушки может быть существенно улучшена путем генетической замены заброшенных гнезд (вместо использования случайных замен из исходного метода).[11]

использованная литература

  1. ^ X.-S. Ян; С. Деб (декабрь 2009 г.). Кукушка поиск по рейсам Леви. Всемирный конгресс по природе и биологическим вычислениям (NaBIC 2009). Публикации IEEE. С. 210–214. arXiv:1003.1594v1.
  2. ^ Inderscience (27 мая 2010 г.). «Кукушка рисует весну». Alphagalileo.org. Получено 2010-05-27.
  3. ^ Р. Б. Пейн, М. Д. Соренсон и К. Клиц, Кукушки, издательство Oxford University Press, (2005).
  4. ^ Р. Н. Мантенья, Быстрый и точный алгоритм численного моделирования устойчивых случайных процессов Леви, Physical Review E, Vol.49, 4677-4683 (1994).
  5. ^ М. Леккарди, Сравнение трех алгоритмов генерации шума Леви, Труды пятой конференции EUROMECH по нелинейной динамике (2005).
  6. ^ Chambers, J.M .; Mallows, C. L .; Штук, Б. В. (1976). «Метод моделирования стабильных случайных величин». Журнал Американской статистической ассоциации. 71: 340–344. Дои:10.1080/01621459.1976.10480344.
  7. ^ X.-S. Ян, Вдохновленные природой метаэвристические алгоритмы, 2-е издание, Luniver Press, (2010).
  8. ^ М. Гутовски, Полеты Леви как основной механизм для алгоритмов глобальной оптимизации, Электронные печатные издания ArXiv Mathematical Physics, июнь (2001 г.).
  9. ^ X. С. Ян, Метаэвристическая оптимизация: анализ алгоритмов и открытые проблемы, in: Experimental Algorithms (SEA2011), Eds (P. M. Pardalos and S. Rebennack), LNCS 6630, pp.21-32 (2011).
  10. ^ Cheung, N.J .; Дин, X .; Шен, Х. (21 января 2016 г.). «Неоднородный алгоритм поиска кукушки на основе квантового механизма для оптимизации реальных параметров». IEEE Transactions по кибернетике. 47 (2): 391–402. Дои:10.1109 / TCYB.2016.2517140.
  11. ^ de Oliveira, Victoria Y.M .; де Оливейра, Родриго М.С.; Аффонсо, Каролина М. (31.07.2018). «Подход Cuckoo Search, усиленный генетической заменой заброшенных гнезд, применяемый для оптимального распределения единиц распределенного поколения». Генерация, передача и распределение ИЭПП. 12 (13): 3353–3362. Дои:10.1049 / iet-gtd.2017.1992. ISSN  1751-8687.