Интервалы параметров в дифференциальной эволюции против генетических алгоритмов
Я привык к тому, что каждый параметр в генетических алгоритмах (GA) может быть представлен в виде двоичной строки, которая может быть закодирована в реальное значение в указанном интервале.
В настоящее время я пишу код дифференциальной эволюции (DE), и я ничего не читал об управляемых интервалах параметров, как в GA, поэтому я немного запутался в этой процедуре... Вот мои вопросы:
1) Есть ли что-нибудь, управляющее интервалами параметров в DE? Я понимаю, что любой может изменить DE для своих целей, но мне любопытно, как он традиционно используется.
2) Я вижу, как вы можете указать интервалы для начальной рандомизированной популяции, но что-нибудь ограничивает интервалы в операциях мутации и кроссовера?
3) Если нет никаких границ параметров, тогда свободны ли операции мутации и кроссовера для исследования всего пространства?
Спасибо за ваше время.
1 ответ
Дифференциальный эволюционный фильтр генерирует новые векторы параметров, добавляя взвешенный вектор разности между двумя членами совокупности к третьему члену. Если результирующий вектор дает более низкое значение целевой функции, чем предопределенный элемент совокупности, вновь созданный вектор заменяет вектор, с которым он сравнивался; в противном случае старый вектор сохраняется. Информация здесь.
1) Есть ли что-нибудь, управляющее интервалами параметров в DE? Я понимаю, что любой может изменить DE для своих целей, но мне любопытно, как он традиционно используется.
В DE у вас есть то, что они называли стратегиями. Здесь очень много:
1 --> DE/best/1/exp 6 --> DE/best/1/bin
2 --> DE/rand/1/exp 7 --> DE/rand/1/bin
3 --> DE/rand-to-best/1/exp 8 --> DE/rand-to-best/1/bin
4 --> DE/best/2/exp 9 --> DE/best/2/bin
5 --> DE/rand/2/exp else DE/rand/2/bin
Вы можете найти код в Matlab здесь.
2) Я вижу, как вы можете указать интервалы для начальной рандомизированной популяции, но что-нибудь ограничивает интервалы в операциях мутации и кроссовера?
Мутация и кроссовер ограничены выбранной вами стратегией.
3) Если нет никаких границ параметров, тогда свободны ли операции мутации и кроссовера для исследования всего пространства?
Теоретически, если вы начнете устанавливать ограничения во всем своем пространстве решений, DE найдет глобальный оптимум. Однако по своему опыту я заметил, что начальные параметры и пределы в пространстве решений очень важны для получения быстрого отклика. Проще говоря, если у вас есть небольшое представление о том, где будут находиться решения, то DE будет вести себя лучше, если вы ограничите свои параметры в этих значениях.