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