Генетический алгоритм является методом для решения и ограниченные и неограниченные задачи оптимизации, который основан на естественном отборе, процессе, который управляет биологической эволюцией. Генетический алгоритм неоднократно изменяет генеральную совокупность отдельных решений. На каждом шаге генетический алгоритм выбирает людей наугад из текущей генеральной совокупности, чтобы быть родительскими элементами и использует их, чтобы произвести дочерние элементы для следующего поколения. По последовательным поколениям генеральная совокупность "развивается" к оптимальному решению. Можно применить генетический алгоритм, чтобы решить множество задач оптимизации, которые не хорошо подходят для стандартных алгоритмов оптимизации, включая проблемы, в которых целевая функция является прерывистой, недифференцируемой, стохастической, или очень нелинейной. Генетический алгоритм может решить проблемы mixed integer programming, где некоторые компоненты ограничиваются, чтобы быть с целочисленным знаком.
Генетический алгоритм использует три основных типа правил на каждом шаге, чтобы создать следующее поколение из текущей генеральной совокупности:
Правила выбора выбирают людей, названных родительскими элементами, которые способствуют генеральной совокупности при следующем поколении.
Перекрестные правила комбинируют два родительских элемента, чтобы сформировать дочерние элементы для следующего поколения.
Правила мутации применяют случайные изменения к отдельным родительским элементам, чтобы сформировать дочерние элементы.
Генетический алгоритм отличается от классического, основанного на производной, алгоритма оптимизации двумя основными способами, как получено в итоге в следующей таблице.
Классический алгоритм | Генетический алгоритм |
---|---|
Генерирует одну точку в каждой итерации. Последовательность точек приближается к оптимальному решению. | Генерирует генеральную совокупность точек в каждой итерации. Лучшая точка в генеральной совокупности приближается к оптимальному решению. |
Выбирает следующий вопрос в последовательности детерминированным вычислением. | Выбирает следующую генеральную совокупность вычислением, которое использует генераторы случайных чисел. |