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