2

Я использую метод, согласно которому каждый параметр в генетических алгоритмах (GA) может быть представлен как двоичная строка, которая может быть закодирована до реального значения за указанный интервал.Интервалы параметров в дифференциальной эволюции против генетических алгоритмов

В настоящее время я кодирую код дифференциальной эволюции (DE), и я ничего не читал о контролируемых параметрах, как они находятся в GA, поэтому я немного смущен этой процедурой ... Вот мои вопросы:

1) Есть ли что-либо, контролирующее интервалы параметров в DE? Я понимаю, что любой может изменить DE для своей цели, но мне интересно, как это традиционно используется.

2) Я вижу, как вы можете указать интервалы для начальной рандомизированной совокупности, но есть ли что-либо, сдерживающее интервалы в мутационных и кроссоверных операциях?

3) Если нет каких-либо ограничений по параметрам, то можно ли выполнять операции мутации и кроссовера, чтобы исследовать все пространство?

Спасибо за ваше время.

ответ

3

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

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 here.

2) Я вижу, как вы можете указать интервалы для начальной рандомизированной популяции, но есть ли что-либо, сдерживающее интервалы в мутационных и кроссоверных операциях?

Мутация и кроссовер сдерживаются выбранной вами стратегией.

3) Если нет каких-либо ограничений по параметрам, то можно ли выполнять операции мутации и кроссовера, чтобы исследовать все пространство?

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

Смежные вопросы