Индекс кроссовера
Был разработан ряд операторов с реальным кодированием, которые создают два дочерних решения из двух родительских решений.
Возможно, документы, которые вы читаете, используют Имитация двоичного кроссовера (SBX).
Для этого оператора индекс пересечения (η
) является неотрицательным вещественным параметром. Большое значение η
дает более высокую вероятность создания решений, близких к родительским, а небольшое значение η
позволяет выбирать удаленные решения в качестве дочерних решений.
Пошаговая процедура для алгоритма SBX:
- Выберите случайное число
u ∈ [0; 1[
.
Рассчитать βq
:
Вычислить дочерние решения, используя эти уравнения:
Здесь Xi(1, t+1)
и Xi(2, t+1)
- дети, полученные от двух родителей Xi(1, t)
и Xi(2, t)
.
Возможная реализация в C: здесь (также взгляните на Оператор пересечения Simulated Binary Crossover (SBX) в библиотеке Scala генетического алгоритма (GA) и Simulated Binary Пример оператора кроссовера (SBX) ).
Таким образом, распределение вероятностей для создания дочерних решений непрерывных переменных при η=2
/ η=5
равно:
Родители помечены o
, и вы можете видеть, как большее значение дает большую вероятность для создания родительских решений.
Справочный документ для SBX:
Имитация двоичного кроссовера для пространства непрерывного поиска
Калянмой Деб, Рам Бхушан Агравал
1995 (PDF здесь )
индекс мутации
Индекс мутации (ηₘ
) (вероятно) является параметром оператора полиномиальной мутации, предложенного Deb and Agrawal (1999).
ηₘ
вызывает эффект возмущения O((b – a) / ηₘ)
в переменной, где a
и b
- нижняя и верхняя границы переменной.
Тогда разумно использовать большее ηₘ
для последующих поколений.