Эффективная реализация
GA имеют очень общий характер, и простое их применение к любой задаче оптимизации не даст хороших результатов. В этом разделе мы опишем несколько моментов, которые могут помочь проектировщику или исполнителю GA в их работе.
Представьте знания предметной области
Было замечено, что более специфические знания предметной области мы включаем в ГА; тем лучше объективные значения, которые мы получаем. Добавление конкретной информации о проблеме может быть выполнено с помощью операторов кроссовера или мутации для конкретной проблемы, пользовательских представлений и т. Д.
На следующем изображении показан взгляд на советника Michalewicz (1990):
Уменьшить скученность
Переполнение происходит, когда хорошо приспособленная хромосома начинает много воспроизводиться, и через несколько поколений вся популяция заполняется аналогичными решениями, имеющими аналогичную приспособленность. Это снижает разнообразие, что является очень важным элементом для обеспечения успеха ГА. Есть множество способов ограничить скопление людей. Некоторые из них -
Mutation ввести разнообразие.
Переход на rank selection и tournament selection которые имеют большее давление отбора, чем пропорциональный отбор для людей с аналогичной приспособленностью.
Fitness Sharing - При этом физическая форма индивидуума снижается, если в популяции уже есть похожие особи.
Рандомизация помогает!
Экспериментально было обнаружено, что лучшие решения основаны на рандомизированных хромосомах, поскольку они придают разнообразие популяции. Разработчик GA должен следить за тем, чтобы для достижения наилучших результатов сохранялась достаточная степень рандомизации и разнообразия в популяции.
Гибридизируйте GA с локальным поиском
Локальный поиск относится к проверке решений в окрестности данного решения для поиска лучших объективных значений.
Иногда может быть полезно гибридизировать GA с локальным поиском. На следующем изображении показаны различные места, в которых можно ввести локальный поиск в GA.
Вариация параметров и методов
В генетических алгоритмах не существует «универсальной формулы» или волшебной формулы, которая работала бы для всех проблем. Даже после того, как начальный ГА готов, требуется много времени и усилий, чтобы поиграть с такими параметрами, как размер популяции, вероятность мутации, кроссинговера и т. Д., Чтобы найти те, которые подходят для конкретной проблемы.