Секция ««Математические методы моделирования, управления и анализа данных»
УДК 519.85
АНАЛИЗ ЭФФЕКТИВНОСТИ РАБОТЫ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ БИНАРНОЙ И ВЕЩЕСТВЕННОЙ ОПТИМИЗАЦИИ
А. В. Вахнин
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева
Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: [email protected]
Рассмотрена эффективность генетических алгоритмов бинарной и вещественной оптимизации. В проведенных численных экспериментах генетический алгоритм вещественной оптимизации превосходит бинарный по критерию надежности и скорости.
Ключевые слова: многокритериальная оптимизация, генетические алгоритмы.
PERFORMANCE ANALYSIS OF GENETIC ALGORITHM FOR BINARY AND REAL-VALUED OPTIMIZATION
A. V. Vakhnin
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]
The performance of binary and real-coded genetic algorithms for finding a global optimum for multimodal problems is discussed. The real-coded algorithm outperforms the binary algorithm on benchmark optimization problems.
Keywords: multi-objective optimization, genetic algorithms.
Введение. В настоящее время все больше внимания уделяется задачам оптимизации типа «чёрный ящик», где измерению доступны только входные и выходные данные. Одним из инструментов, хорошо зарекомендовавших себя для решения данного типа задач, являются генетические алгоритмы (ГА). ГА стали популярны в начале 1970-х годов благодаря книге Джона Холланда «Адаптация в естественных и искусственных системах» [1]. ГА - эвристический алгоритм поиска, который использует модель эволюции для нахождения решения. В основе классического (бинарного) ГА лежит представление решения в виде двоичной строки, в которую закодировано решение исходной задачи. Когда классический ГА плохо справляется с поставленной задачей, его различными способами модифицируют, чтобы добиться желаемых результатов [2]. Существуют частные прикладные задачи оптимизации, где решение необходимо найти в форме вещественных чисел. В таком случае удобнее представлять решение не в виде бинарного кодирования, а напрямую в виде набора вещественных чисел. Так появилась идея о вещественном ГА. В данной работе исследуется вопрос о том, какой тип генетического алгоритма эффективнее справится с задачей вещественной параметрической оптимизации.
Описание используемых подходов.
Классический бинарный генетический алгоритм (БГА). В данной работе при селекции хромосом используются такие операторы как пропорциональная, ранговая, турнирная селекции. В скрещивании используются следующие операторы - равномерное, одноточечное, двухточечное. Мутация изменяет один ген в хромосоме на противоположный. Более подробно о бинарном генетическом алгоритме можно прочитать в [3].
Вещественный генетический алгоритм (ВГА). Алгоритм состоит из тех же шагов, что и классический БГА. Отличия будут в реализации операторов скрещивания, мутации и в способе представлений решений - строка вещественных переменных. Подробнее ознакомиться с операторами ВГА можно в [4].
В данной работе в ВГА реализованы следующие типы скрещивания и мутация:
Актуальные проблемы авиации и космонавтики - 2016. Том 1
Допустим, что С = ( Сх...с\ ) и С2 = ( с2...с;2) - две хромосомы, которые были выбраны оператором селекции для скрещивания.
Арифметическое скрещивание. Два потомка, Hk = (hf, ..., h1f, ..., h; ), k = 1,2, создаются, где
h1 = Xc1 +(1 - A)c2 и h2 = Ac2 +(1 - A)1. A, - константа (равномерный арифметический кроссовер) или
величина, которая варьируется в зависимости от номера поколения.
BLX-a скрещивание. Потомок создается: H=(h1,...,hi,...,hn), где h, случайно (равномерно) выбранное число из интервала [стЬ -1 -a, cmax +1 - а ], cmin = min (c1, c2 ), cmax = max (c1, c2 ), I = c - c ■
max min
Плоское скрещивание. Потомок, H = (h1, ..., h, ..., hn) создается, где h случайное (равномерно) выбранное значение из интервала ^с1, c2 J .
Линейное скрещивание. Три потомка Hf =( hf, ..., hk, ..., hf ), k = 1,2,3, создаются, где , 1 1l 1 2 7 2 3 i 1? i3 1 1 3 2 тт
h = 2c + 2c, , h = 2c, - 2c и nt = -■^c, + -jc, . При этом типе скрещивания применяется механизм отбора потомков, который выбирает два перспективных потомка из 3, чтобы заменить их родителей в популяции.
Мутация. Использовалась случайная мутация. ct- случайная (равномерная) величина из интервала [a,, b,].
Параметры алгоритмов и критерии оценки эффективности. Для адекватного сравнения БГА и ВГА, их необходимо поставить в одинаковые условия. Используются следующие значения: размер популяции - 100 индивидов, количество поколений - 100 поколений, вероятность мутации - 0.01. Другие параметры, такие как тип селекции, тип скрещивания, точность, пространство поиска будет варьироваться. Использовали 9 комбинаций параметров БГА и 12 комбинаций параметров ВГА.
Сравнение алгоритмов осуществляется по критерию надежности и скорости нахождения решения алгоритма. Надежность - это отношение числа независимых запусков алгоритма, когда глобальный оптимум найден с заданной точностью, к общему числу независимых запусков алгоритма. Число независимых запусков в проводимых экспериментах 100. Скорость оценивалась как среднее поколение, на котором алгоритм находит глобальный оптимум.
Практические результаты. Сравнение эффективности алгоритмов проводилось на следующих тестовых задачах оптимизации (в фигурных скобках указана требуемая точность решения, в квадратных - интервал изменения вещественных переменных) функций двух переменных:
Ф1 - функция Растригина, (0.01), [-16; 16];
Ф2 - функция Растригина с поворотом осей, (0.01), [-16; 16];
Ф3 - функция Griewank, (0.01), [-10; 10];
Ф4 - функция Сомбреро, (0.1), [-8; 8];
Ф5 - функция Катникова, (0.01),[-2.5; 2.5].
В таблице представлены лучшие результаты при данных настройках алгоритмов для каждой тестовой задачи. Для типов скрещивания BLX-a и арифметическое скрещивание в скобках указаны соответствующие значения параметров.
Сравнительная таблица работы БГА и ВГА
Функция Тип ГА Селекция Скрещивание Среднее поколение Надежность
Ф1 БГА Ранговая Одноточечное 22.11 100
ВГА Ранговая BLX (0.5) 13.76 100
Ф2 БГА Ранговая Одноточечное 21.64 95
ВГА Турнирная BLX (0.5) 21.163 98
Ф3 БГА Турнирная Равномерное 29.64 65
ВГА Ранговая BLX (0.5) 21.77 97
Ф4 БГА Турнирная Равномерное 8.04 23
ВГА Турнирная Арифметическое (0.35) 4.68 79
Ф5 БГА Турнирная Одноточечное 13.17 100
ВГА Турнирная BLX (0.5) 8.64 100
Секция «Математические методы моделирования, управления и анализа данных»
Выводы. Результаты показали, что на данных функциях ВГА находит решение эффективнее, чем БГА. Лидера среди типов селекции и скрещивания не обнаружено - все зависит от конкретной функции. В дальнейших работах будет исследовано влияние увеличения размерности задачи на эффективность работы БГА и ВГА. Так же будет ставиться вопрос о самонастраивающихся алгоритмах, потому что на реальных задачах количество вычислений зачастую ограничено.
Библиографические ссылки
1. Holland J. H. Adaptation in natural and artificial systems ; University of Michigan Press, Ann Arbor, 1975. 96 p.
2. Sopov E. Self-configuring Multi-strategy Genetic Algorithm for Non-stationary Environments // Vestnik SibGAU. 2015. Vol. 16, No. 1. P. 124-130.
3. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы : пер. с польск. И. Д. Рудинского. М. : Горячая линия - Телеком, 2006. 452 с.
4. Herrera F., Lozano M., Verdegay J. L. Tackling real-coded Genetic algorithms: operators and tools for the behaviour analysis // Artificial IntelligenceReview. 1998. Vol. 12, No. 4. P. 265-319.
© Вахнин А. В., 2016