Лучший в каком смысле?
По моему опыту, ГА являются одним из самых прагматичных оптимизаторов. В то время как многие более точные алгоритмы требуют времени и усилий для формализации реальных проблем в математическом мире, GA могут обрабатывать любую функцию стоимости со сложными правилами и ограничениями (GA связаны, в конце концов, с подходом к исполнению, а не с конкретными расчетами). Этот процесс прост, и вы можете попробовать много подходов для исследовательской работы.
Я также ценю возможность повторно использовать прошлые решения алгоритма для будущих прогонов, что хорошо для повторных задач.
Концептуально, генетический алгоритм может быть представлен хэш-картой функций и подходит для таких функциональных языков, как Clojure, который также является языком, где вы можете очень быстро достичь больших результатов.
Генетические алгоритмы также могут быть вложенными: функция стоимости одного GA может быть GA! Эти алгоритмы используют преимущества современного аппаратного обеспечения и инфраструктуры, которые позволяют им вычислять очень большую совокупность, так что даже при простых операциях мутации / выделения вы все равно сможете добиться хороших результатов.
Даже для простых задач, таких как поиск минимума волновой функции, GA не так уж плохи и могут достичь приличной точности за приемлемое время.
Так что да, аналитические решения могут иметь более быстрое время выполнения и точность, но время, необходимое для их получения, перевешивает часто ожидаемые выгоды! Так когда ? Почти каждый раз для меня, по крайней мере, для мета-оптимизации.