Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Дифференциальная эволюция, оптимизирующая двухмерную функцию Экли.

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

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

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

DE был представлен Storn and Price в 1990-х годах. [2] [3] Были опубликованы книги по теоретическим и практическим аспектам использования DE в параллельных вычислениях , многокритериальной оптимизации , оптимизации с ограничениями , и книги также содержат обзоры областей применения. [4] [5] [6] [7] Обзоры по многогранным исследовательским аспектам DE можно найти в журнальных статьях. [8] [9]

Алгоритм [ редактировать ]

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

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

Обозначим кандидата решения (агента) в популяции. Тогда основной алгоритм DE можно описать следующим образом:

  • Выберите параметры , и . - размер популяции, то есть количество кандидатов в агенты или «родителей»; классическая настройка - 10 . Параметр называется вероятностью кроссовера, а параметр - дифференциальным весом . Классические настройки есть и . Эти варианты могут сильно повлиять на производительность оптимизации; Смотри ниже.
  • Инициализируйте всех агентов случайными позициями в пространстве поиска.
  • Пока не будет выполнен критерий завершения (например, количество выполненных итераций или достижение адекватной пригодности), повторите следующее:
    • Для каждого агента в популяции выполните:
      • Выберите трех агентов , и из совокупности наугад, они должны отличаться друг от друга, а также от агента . ( называется «базовым» вектором.)
      • Выберите случайный индекс, где размерность оптимизируемой задачи.
      • Вычислите потенциально новую позицию агента следующим образом:
        • Для каждого выберите равномерно распределенное случайное число
        • Если или, то установить иначе установить . (Позиция индекса наверняка заменена.)
      • Если тогда замените агент в популяции улучшенным или равноценным кандидатным решением .
  • Выберите агента из группы, которая имеет наилучшую пригодность, и верните его как наиболее подходящее возможное решение.

Выбор параметра [ править ]

Пейзаж производительности, показывающий, как базовая DE работает в совокупности с проблемами тестов Sphere и Rosenbrock при изменении двух параметров DE и , и сохранении фиксированного значения = 0,9.

Выбор параметров DE и может иметь большое влияние на производительность оптимизации. Поэтому выбор параметров DE, обеспечивающих хорошую производительность, стал предметом многочисленных исследований. Эмпирические правила выбора параметров были разработаны Storn et al. [3] [4] и Лю и Лампинен. [10] Математический анализ сходимости в отношении выбора параметров был проведен Захари. [11]

Варианты [ править ]

Варианты алгоритма DE постоянно разрабатываются с целью повышения эффективности оптимизации. В базовом алгоритме, приведенном выше, возможно множество различных схем для выполнения кроссовера и мутации агентов, см., Например, [3]

См. Также [ править ]

  • Алгоритм искусственной пчелиной семьи
  • CMA-ES
  • Стратегия эволюции
  • Генетический алгоритм

Ссылки [ править ]

  1. ^ Rocca, P .; Оливери, G .; Масса, А. (2011). «Дифференциальная эволюция применительно к электромагнетизму». Журнал IEEE Antennas and Propagation Magazine . 53 (1): 38–49. DOI : 10,1109 / MAP.2011.5773566 . S2CID 27555808 . 
  2. ^ Сторн, R .; Прайс, К. (1997). «Дифференциальная эволюция - простая и эффективная эвристика для глобальной оптимизации в непрерывных пространствах». Журнал глобальной оптимизации . 11 (4): 341–359. DOI : 10,1023 / A: 1008202821328 . S2CID 5297867 . 
  3. ^ а б в Сторн, Р. (1996). «Об использовании дифференциальной эволюции для оптимизации функций». Раз в два года конференция Североамериканского общества обработки нечеткой информации (NAFIPS) . С. 519–523. DOI : 10,1109 / NAFIPS.1996.534789 . S2CID 16576915 . 
  4. ^ а б Цена, К .; Сторн, РМ; Лампинен, Дж. А. (2005). Дифференциальная эволюция: практический подход к глобальной оптимизации . Springer. ISBN 978-3-540-20950-8.
  5. Феоктистов, В. (2006). Дифференциальная эволюция: в поисках решений . Springer. ISBN 978-0-387-36895-5.
  6. ^ GC Onwubolu и BV Babu, "Новые методы оптимизации в машиностроении" . Проверено 17 сентября 2016 года .
  7. ^ Чакраборти, Великобритания, изд. (2008), Достижения в дифференциальной эволюции , Springer, ISBN 978-3-540-68827-3
  8. ^ С. Дас и П. Н. Сугантан, " Дифференциальная эволюция: обзор современного состояния ", IEEE Trans. по эволюционным вычислениям, Vol. 15, No. 1, pp. 4-31, февраль 2011 г., DOI: 10.1109 / TEVC.2010.2059031.
  9. ^ С. Дас, С.С. Маллик, П.Н. Сугантан, « Последние достижения в дифференциальной эволюции - обновленный обзор », Swarm and Evolutionary Computing, DOI: 10.1016 / j.swevo.2016.01.004, 2016.
  10. ^ Лю, J .; Лампинен, Дж. (2002). «Об установке управляющего параметра метода дифференциальной эволюции». Материалы 8-й Международной конференции по мягким вычислениям (MENDEL) . Брно, Чехия. С. 11–18.
  11. ^ Zaharie, D. (2002). «Критические значения управляющих параметров алгоритмов дифференциальной эволюции». Материалы 8-й Международной конференции по мягким вычислениям (MENDEL) . Брно, Чехия. С. 62–67.