Лекция: Генетический алгоритм и другие методы оптимизации

 

Генетический алгоритм относится к классу стохастических алгоритмов глобальной оптимизации. Как и другие алгоритмы этой группы, он ориентирован на поиск субоптимального решения в условиях невозможности полного перебора вариантов.

Для того чтобы подчеркнуть ограниченность возможностей полного перебора вариантов в сложных проблемах, рассмотрим задачу коммивояжера, которая формулируется так. Имеется n городов, расположенных на различном расстоянии друг от друга, и соединенных дорогами. Требуется обойти все города кратчайшим путем, побывав в каждом городе только однажды. На рис. 1.3 показан пример для 5 городов.

Когда рассматривается n городов, при построении маршрута существует n вариантов выбора первого города, n-1вариантов выбора второго города и т.д. Таким образом, количество вариантов путей в задаче для n городов оказывается равно n!

И если для n=5 получается 5!=120 вариантов, то для n=20 получается 20!»2.4*1018 вариантов. Несложные подсчеты показывают, что при скорости расчетов 500 млн. вариантов в секунду потребуется более 150 лет для полного перебора вариантов. Таким образом, решение задач перебором вариантов возможно далеко не всегда.

 

Рис. 1.3.Задача коммивояжера для 5 городов

 

Сделанное замечание позволяет утверждать, что ГА в среднем будет всегда эффективнее, чем перебор вариантов (рис. 1.4).

 

 

Рис. 1.4.Качественное сравнение различных методов оптимизации


Отличия ГА от других алгоритмов случайного поиска заключается в следующем:

1. В ГА используются коды параметров, а не сами параметры. Параметры кодируются в цепочки конечной длины, в процессе итераций эти цепочки тестируются и видоизменяются;

2. Поиск происходит не в точках пространства, а на основе популяции точек;

3. Генетический алгоритм использует знания о прошлых полученных решениях. Он обеспечивает концентрацию решений в наиболее эффективных областях пространства решений;

4. Генетический алгоритм использует только оценки решений, а не их производные или другие параметры.

В ГА не накладываются ограничения на свойства целевой функции в виде непрерывности, дифференцируемости и т.д. Она подразумевается как устройство типа «черного ящика», которое на вход получает параметры, а на выход выводит результат.

Следует подчеркнуть, что ГА в окрестности глобального минимума может быть менее эффективным, чем алгоритм спуска по градиенту или другой алгоритм локальной оптимизации (рис. 1.4). Это выражается в меньшей скорости сходимости и, возможно, в меньшей точности полученного решения. ГА является робастным алгоритмом, т.е. позволяет находить хорошее решение (субоптимальное), но нахождение точного оптимального решения может оказаться трудной задачей в силу стохастичности принципов работы алгоритма.

Поэтому ГА можно использовать не только в «чистом виде», но и совместно с традиционными алгоритмами локальной оптимизации. ГА применяется на начальном этапе для эффективного сужения пространства поиска, а затем, попав в окрестность глобального экстремума, можно применить один из «классических» методов оптимизации, отличающихся высокой точностью.

Важное достоинство ГА заключается в том, что он естественным образом позволяет распараллеливать вычисления. Это позволяет значительно увеличивать скорость расчетов при использовании компьютерной сети или многопроцессорных компьютеров.

 


§ 1.2. Общие сведения о генетическом алгоритме

еще рефераты
Еще работы по биологии