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