Исследование эффективности стандартного генетического алгоритма

Секция «Математические методы моделирования, управления и анализа данных»

УДК 519.68

И. А. Иванов Научный руководитель - Е. А. Сопов Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ СТАНДАРТНОГО ГЕНЕТИЧЕСКОГО АЛГОРИТМА

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

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

В рамках данного исследования решены следующие задачи:

- создана программная система, реализующая стандартный ГА и позволяющая проводить исследование эффективности алгоритма на множестве параметров ГА;

- исследована эффективность ГА на представительном множестве тестовых задач параметрической оптимизации функций многих переменных;

- на основе результатов исследования сделаны выводы о перспективах использования и развития ГА.

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

В начале работы ГА случайным образом создается множество допустимых решений (хромосом) данной задачи (популяция), каждому решению ставится в соответствие степень его пригодности для решения задачи (или просто пригодность). Каждое решение чаще всего представляет собой бинарную строку, которой однозначно можно поставить в соответствие одно из решений (каждый бит бинарной строки называется геном). Селекция - оператор выбора решений из имеющейся популяции (у решений с большей пригодностью больше шансов быть выбранными). В зависимости от способа вычисления вероятностей для решений быть выбранными различают пропорциональную, ранговую и турнирную селекции (существуют и другие, но они здесь не рассматриваются). Скрещивание - оператор обмена генов между выбранными хромосомами («родителями»). В результате скрещивания получаются новые хромосомы, также представляющие некоторые решения данной задачи

(эти хромосомы называются «потомками»). В зависимости от способа обмена генами различают одноточечное, двухточечное и равномерное скрещивание. Мутация - оператор случайного изменения генов хромосом. Мутация характеризуется вероятностью, которая определяет интенсивность. Чаще всего вероятность мутации делают дискретной величиной, выделяя высокую, среднюю и низкую мутацию. Роль мутации - разнообразить множество решений в текущей популяции. Наконец, замещение - оператор обновления популяции, призванный заменить менее пригодные решения более пригодными. В зависимости от способа обновления популяции различают три типа замещения - только потомки, потомки + родители, 50/50. Замещение по сути представляет собой селекцию. После обновления популяции последовательность выше перечисленных операторов повторяется сначала. Полный цикл, в процессе которого выполняются все операторы, называется итерацией ГА. Итерации проводятся до тех пор, пока не будет выполнен критерий остановки. Критерий остановки может быть различным (например, пригодность лучшего индивида по популяции не меняется на протяжении какого-то числа итераций) [1; 2].

Для исследования эффективности работы стандартного ГА был выбран набор тестовых функций, обладающих особенностями, затрудняющими работу ГА и делающими невозможной оптимизацию классическими методами. Список функций: парабола, ф1 и ф2 (сложные многоэкстремальные функции одной переменной), функция Griewank, функция Растригина (двухмерная), функция Растригина (трехмерная), функция Растригина овражная с поворотом осей, функция Розенброка.

В качестве критериев эффективности были выбраны - надежность алгоритма (процент удачных запусков, в ходе которых решение найдено с необходимой точностью); среднее число итераций, которые понадобились для нахождения решения при данных параметрах ГА. Оценки делались на основе статистики, набранной по результатам серии независимых запусков алгоритма. Количество независимых запусков для одного набора параметров - 60.

Точность решений - 0.0001. Число битов в хромосомах ГА - 12...20. Количество различных вариантов настройки параметров ГА для каждой тестовой функции - 270.

Ниже представлены значения параметров, при которых достигается наиболее высокая надежность:

Актуальные проблемы авиации и космонавтики. Информационные технологии

Функция Селекция Скрещивание Мутация Замещение Надежность(%) Итерации

Парабола Ранговая Двухточечное Средняя Потомки 60 11

Ф1 Турнирная Равномерное Низкая Пот. + родит. 28 7

Ф2 Турнирная Одноточечное Низкая Потомки 27 7

Griewank Турнирная Двухточечное Высокая Потомки 48 20

Растригина(3с1) Ранговая Двухточечное Низкая Потомки 83 33

Растригина(пов.оси) Ранговая Двухточечное Высокая Потомки 70 42

Растригина(2С) Пропорц. Одноточечное Высокая 50/50 50 16

Розенброка Пропорц. Равномерное Средняя 50/50 47 32

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

Библиографические ссылки

1. Holland J. H. Adaptation in natural and artificial systems /MI: University of Michigan Press, 1975.

2. Goldberg D. E. Genetic algorithms in search, optimization, and machine learning / Reading, MA : Addi-son-Wesley, 1989.

© Иванов И. А., Сопов Е. А., 2011

УДК 62-506.1

Н. В. Коплярова Научный руководитель - О. В. Шестернева Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

ИДЕНТИФИКАЦИЯ МНОГОМЕРНЫХ ЛДС В УСЛОВИЯХ МАЛОЙ АПРИОРНОЙ ИНФОРМАЦИИ

Рассматривается задача идентификации в широком смысле, а также когда уравнение, описывающее объект в системе, имеет высокий порядок. Приводится алгоритм, позволяющий создать адекватную модель многомерной ЛДС.

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

Метод построения непараметрической модели одномерной ЛДС основан на следующем: известно, что реакция ЛДС х(/) на входное воздействие и(() описывается интегралом Дюамеля:

í

х(/) = к (0)и^) +1 к'(/ - г)и(г^г =

I

= к

0

где h(t) - весовая функция системы; а k(t) - переходная функция это же системы.

Вычисление значения выхода объекта x(t) при этом возможно, если известна его весовая функция h(t). В связи с тем, что снятие весовой функции с объекта на практике представляется невозможным, основная идея идентификации ЛДС в условиях непараметрической неопределенности состоит в непараметрическом оценивании весовой функции.

Известно, что весовая функция является производной по времени от переходной. Запишем переходную функцию системы в виде стохастической аппроксимации регрессии следующим образом [2]:

1 s

К (t) =--2 кi  H

s • c. ^

(t -1, ^

где к:1 - выборочные значения переходной характеристики ЛДС; И(-) - колокообразная функция; с,. - параметр размытости, которые должны удовлетворять условиям сходимости [2]

Рассмотрим модификацию данного непараметрического алгоритма для многомерных линейных динамических систем. Линейный динамический многомерный объект с N входами и М выходами можно представить, как M*N одномерных линейных объектов, которые можно описать интегралом Дюамеля. Необходимо построить математическую модель стохастического объекта, адекватно описывающую его поведение при произвольном входном воздействии.

Математическое описание многомерного объекта может быть представлено в виде суммы интегралов свертки, таким образом, что каждому конкретному выходу объекта соответствует совокупность звеньев системы, влияющих только на этот выход. Линейную динамическую систему с векторным входом ип(/), векторным выходом хт(() и ненулевыми начальными ус-

V cs J