Генетические алгоритмы - условие прекращения
Условие завершения генетического алгоритма важно для определения того, когда закончится прогон GA. Было замечено, что изначально ГА прогрессирует очень быстро, и лучшие решения появляются через каждые несколько итераций, но на более поздних этапах, когда улучшения очень небольшие, это имеет тенденцию к насыщению. Обычно нам нужно такое условие завершения, чтобы наше решение было близко к оптимальному в конце цикла.
Обычно мы соблюдаем одно из следующих условий расторжения договора -
- Когда не было улучшений в популяции для X итераций.
- Когда мы достигнем абсолютного количества поколений.
- Когда значение целевой функции достигло определенного заранее заданного значения.
Например, в генетическом алгоритме мы ведем счетчик, который отслеживает поколения, для которых не произошло улучшения в популяции. Изначально мы устанавливаем этот счетчик на ноль. Каждый раз, когда мы не производим потомков, которые лучше, чем особи в популяции, мы увеличиваем счетчик.
Однако, если пригодность какой-либо из вторичных пружин лучше, мы сбрасываем счетчик на ноль. Алгоритм завершается, когда счетчик достигает заданного значения.
Как и другие параметры GA, условие завершения также сильно зависит от конкретной проблемы, и разработчик GA должен попробовать различные варианты, чтобы увидеть, что лучше всего подходит для его конкретной проблемы.