Генетические алгоритмы не всегда подходят для решения хорошо формализованных задач по нескольким причинам:
- Тенденция сходиться к локальному оптимуму. 1 Генетические алгоритмы могут находить решение, близкое к оптимуму, но не гарантируют его точное нахождение. 2 Во многих задачах алгоритмы сходятся к локальной точке, а не к глобальному оптимуму. 1
- Высокая вычислительная трудоёмкость. 2 В ходе моделирования эволюции многие решения отбрасываются как неперспективные. 2
- Плохая масштабируемость. 1 Если велик размер области поиска решений, то число подверженных мутации элементов будет очень велико. 1 Это делает использование генетических алгоритмов сложным, например, при решении проблем, связанных с проектированием двигателя, дома или самолёта. 1
- Сложность определения условий остановки. 1 Решение считается более пригодным лишь по сравнению с другими решениями, и для каждой проблемы неясно, когда нужно останавливать алгоритм. 1
- Необходимость специфичной формализации. 3 Исходную задачу нужно формализовать на уровне генов и хромосом, а также операторов отбора, скрещивания и мутации. 3
При этом генетические алгоритмы могут быть эффективны в задачах, которые сложно формализовать математически или которые не имеют математического описания. 3