Введение.Основы генетических алгоритмов
1.8. Преимущества и недостатки генетических алгоритмов
1.8.1. Концептуальная простота
Основным преимуществом ГА является их концептуальная простота. Рассмотрим снова блок-схему ГА, представленную на рис.1.1 Основными шагами алгоритма являются: инициализация, оценка качества решения с помощью фитнесс-функции, итеративное изменение популяции путем отбора особей и применения генетических операторов. Отметим, что здесь не важна высокая точность оценки качества потенциальных решений – необходимо знать прежде всего их ранг (номер позиции по качеству решения). Информация о значениях градиента целевой функции здесь не нужна. Через ряд итераций (поколений) популяция (множество потенциальных решений проблемы) может сойтись асимптотически к оптимальному решению. Эффективность ГА зависит от способа кодирования решения, используемых генетических операторов, включая отбор особей, и начальной инициализации популяции.
1.8.2. Широкая применимость
ГА могут быть использованы при решении любой проблемы, которая может быть сформулирована как задача оптимизации. Они требуют разработки (или выбора) структуры данных для представления потенциального решения, показателя качества для оценки потенциального решения и генетических операторов, порождающих новые решения из старых. Пространство возможных решений может быть разбито на различные области, которые могут включать недостижимые зоны и зоны возможных изменений. Способ представления решения обычно выбирается инженером-разработчиком на основании его интуиции и опыта. В этом смысле процедура выбора кодирования потенциального решения независима в отличие от обычных численных методов, где, как правило, допускаются только непрерывные значения из определенного диапазона. Представление решения должно позволять генетическим операторам при изменении решений сохранять поведенческую связь между родителями и потомками. Небольшие изменения в структуре данных родителя должны вести к небольшим изменениям свойств потомков и наоборот, большие изменения у родителей должны вызывать значительные изменения свойств потомков, что должно способствовать эффективному поиску решения в пространстве поиска. Множество возможных изменений может регулироваться с помощью эффективного размера шага изменения в пространстве поиска, который может регулироваться разработчиком (или даже адаптироваться автоматически). Такой гибкий подход позволяет использовать по сути одну и ту же процедуру при решении задач как численной, так и комбинаторной оптимизации (в частности, целочисленной оптимизации и т.п.).
1.8.3. Менее жесткие требования при решении реальных задач
Реальные задачи оптимизации часто:
- накладывают нелинейные ограничения;
- требуют платежной функции, не связанной с наименьшей квадратичной ошибкой;
- включают наличие шумов или случайных выбросов, которые не позволяют применять классические методы оптимизации [17].
Целевые функции для реальных проблем часто мультимодальны и градиентные методы сходятся быстро к локальным экстремумам, которые могут давать неудовлетворительные решения. Для простых задач, где поверхность отклика, например, является строго выпуклой, генетические алгоритмы проигрывают классическим по эффективности. Эксперименты показали, что для мультимодальных функций ГА дают лучшие результаты. В случае нелинейных ограничений классические методы даже при выпуклой поверхности могут давать некорректные результаты. Напротив, эволюционные методы могут непосредственно учитывать произвольные линейные и нелинейные ограничения.
1.8.4. Потенциальное использование априорных знаний и гибридизация с другими методами
При решении конкретной проблемы всегда целесообразно учесть в алгоритме проблемно-ориентированные априорные знания [17]. Специализированные алгоритмы, учитывающие такую информацию (но имеющие ограниченную область применения), как правило, существенно превосходят по характеристикам неспециализированные методы. Эволюционные алгоритмы по своей структуре легче позволяют учитывать априорные знания. Это может быть выражено, например, в виде специальной структуры данных для представления решений или специальных проблемно-ориентированных генетических операторов. Часто такая информация включается в фитнесс-функцию (например, физические или химические свойства вещества), что позволяет сфокусировать поиск решения в пространстве поиска.
Генетические алгоритмы могут комбинироваться с другими более традиционными методами. Известны работы, где на первом этапе оптимизации используются генетические алгоритмы совместно с градиентным методом, который применяется на заключительном этапе, когда уже найдена "зона интереса". Эти алгоритмы могут применяться совместно и параллельно. Отметим, что начальная популяция потенциальных решений может быть получена путем применения, например, жадных алгоритмов, а не эволюционных методов. Генетические алгоритмы часто используются для оптимизации и обучения искусственных нейронных сетей или нечетких продукционных систем. В этом случае часто удается преодолеть ограничения, связанные с традиционными подходами.