Для общего генетического алгоритма ищите стратегии niching / crowding . Они пытаются сохранить разнообразное население, например, хранение уникальных или очень разнообразных решений и замена решений в очень густонаселенных регионах. Это особенно полезно при многоцелевой оптимизации, где «решением» является совокупность недоминируемых индивидов.
Если вы не выполняете многоцелевую оптимизацию и вам не нужно поддерживать разнородную популяцию на протяжении всего цикла, вы также можете использовать Генетический алгоритм отбора потомства (OSGA) . Он сравнивает детей со своими родителями и рассматривает их только для следующего населения, если они превзошли своих родителей по качеству. Это показано для: а) работы даже с беспристрастным случайным выбором родителей и б) сохранения разнообразия до очень позднего периода поиска, когда популяция сходится к одному решению.
Вы можете, например, использовать наше программное обеспечение HeuristicLab , пробовать различные конфигурации генетических алгоритмов и анализировать их поведение. Программное обеспечение GPL и работает на Windows.