Научная статья на тему 'Исследование эффективности коэволюционного генетического алгоритма при решении задач комбинаторной оптимизации'

Исследование эффективности коэволюционного генетического алгоритма при решении задач комбинаторной оптимизации Текст научной статьи по специальности «Математика»

CC BY
135
19
Читать
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМБИНАТОРНАЯ ОПТИМИЗАЦИЯ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / КОЭВОЛЮЦИОННЫЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / COMBINATORIAL OPTIMIZATION / GENETIC ALGORITHM / COEVOLUTIONARY GENETIC ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Феофанов М. К.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
Предварительный просмотр
i Надоели баннеры? Вы всегда можете отключить рекламу.

RESEARCH OF THE EFFICIENCY OF THE COEVOLUTIONARY GENETIC ALGORITHM WHILE SOLVING THE PROBLEMS OF COMBINATORIAL OPTIMIZATION

The research compares a fidelity of answers given by a standard genetic algorithm with others given by a coevolutionary genetic algorithm of combinatorial optimization.

Текст научной работы на тему «Исследование эффективности коэволюционного генетического алгоритма при решении задач комбинаторной оптимизации»

УДК 519.168

ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ КОЭВОЛЮЦИОННОГО ГЕНЕТИЧЕСКОГО

АЛГОРИТМА ПРИ РЕШЕНИИ ЗАДАЧ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ

М. К. Феофанов

Сибирский федеральный университет Российская Федерация, 660041, г. Красноярск, просп. Свободный, 79 E-mail: maksim.feofanov.93@gmail.com

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

Ключевые слова: комбинаторная оптимизация, генетический алгоритм, коэволюционный генетический алгоритм.

RESEARCH OF THE EFFICIENCY OF THE COEVOLUTIONARY GENETIC ALGORITHM WHILE SOLVING THE PROBLEMS OF COMBINATORIAL

OPTIMIZATION

M. K. Feofanov

Siberian Federal University 79, Svobodny Av., Krasnoyarsk, 660041, Russian Federation E-mail: maksim.feofanov.93@gmail.com

The research compares a fidelity of answers given by a standard genetic algorithm with others given by a coevolutionary genetic algorithm of combinatorial optimization.

Keywords: combinatorial optimization, genetic algorithm, coevolutionary genetic algorithm.

Введение. В реалиях современной действительности все больше внимания уделяется применению эволюционного подхода для решения задач типа «черный ящик», где исследователь не имеет представления о внутреннем устройстве системы и может измерить только входные и выходные данные. Генетический алгоритм (ГА) - эвристический алгоритм, использующий модель естественного отбора и принадлежащий к большому классу эволюционных алгоритмов. ГА обрели популярность в 1970-х годах, благодаря книге Джона Холланда «Адаптация в естественных и искусственных системах» [1]. Основным недостатком генетического алгоритма является зависимость качества решения от используемых параметров алгоритма. А процесс выбора оптимальных параметров под конкретную проблему представляет собой трудоемкую задачу, требующую значительных вычислительных затрат. В связи с этим были предложены модификации генетического алгоритма, позволяющие автоматизировать выбор оптимальных настроек в ходе решения задачи, позволяя алгоритму подстраиваться под решаемую проблему. Одной из таких модификаций является коэволюционный генетический алгоритм [2]. В данной работе сравниваются классический генетический алгоритм и коэволюционный генетический алгоритм (КГА).

Постановка задачи комбинаторной оптимизации. Рассмотрим задачу коммивояжера (ЗК). Она известна как эталонная проблема комбинаторной оптимизации. Задачу сформулируем следующим образом. Заданы полный неориентированный граф G = (V, E), вершины которого интерпретируются как города и функция C: V х V ^ R+ - расстояния между всеми парами городов. Требуется найти маршрут минимальной длины, проходящий через все города и возвращающийся в начальный город. Другими словами, требуется найти минимальную длину гамильтоно-вого цикла графа G.

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

Способ кодирования решения. Тип решаемой задачи определяет способ представления хромосомы, в которую закодировано решение. Для задачи коммивояжера оптимальным способом кодирования решения является его представление в виде перестановки - упорядоченного набора чисел 1, 2, ..., п. Такое представление является наиболее естественным способом кодирования, которое можно использовать для ЗК. Города, которые необходимо посетить, упорядочены в списке из n элементов. Если город i является j-м элементом в списке, тогда город i является j-м городом, который нужно посетить в туре [3].

Описание алгоритмов. Классический генетический алгоритм определяется выбором операторов селекции, скрещивания и мутации. Варианты селекции: пропорциональная, ранговая, турнирная (с размером турнира 2). Варианты скрещивания: кроссовер порядка (Order Crossover, OX), кроссовер с частичным отображением (Partial-mapped Crossover, PMX), циклический кроссовер (Cycle Crossover, CX). Мутация меняет местами два случайных гена в хромосоме. Вероятность применения оператора мутации - еще один параметр, который имеет варианты: малая, средняя и высокая вероятности.

Коэволюционный генетический алгоритм моделирует эволюцию нескольких популяций, каждая из которых оптимизирует заданную проблему и обладает своей стратегией оптимизации. В течение работы алгоритма, большую численность популяции получает наиболее эффективная стратегия. Это достигается за счет сокращения численности каждой проигравшей популяции, не достигшей порогового размера, который не может быть уменьшен («социальная карточка»), на определенный процент (штраф) и увеличения победившей популяции на число, равное сумме потерь остальных. Затем алгоритмы продолжают работу с популяциями уже измененных размеров, в которые входят только лучшие индивиды из предыдущих популяций всех алгоритмов, в течение определенного количества поколений (интервал адаптации). После чего снова происходит перераспределение вычислительного ресурса. Эволюционный процесс продолжается до тех пор, пока не закончится ресурс, выделенный на решение задачи [4].

Параметры алгоритмов и критерии оценки эффективности. Для оценки эффективности коэволюционного подхода в данной работе проводится его сравнение со стандартным генетическим алгоритмом. Все алгоритмы были поставлены в равные условия: для каждой тестовой задачи алгоритмам выделялось одинаковое количество вычислительного ресурса. Каждый тест запускался несколько раз, после чего результаты были усреднены. Количество запусков каждого теста обусловлено его размерностью. Классический генетический алгоритм имеет 27 вариантов комбинации вышеописанных операторов. Результаты всех 27 вариантов для каждого теста также были усреднены, кроме того, из них выделены лучшие и худшие показатели. Так как решается задача минимизации, то меньшие значения следует считать лучшими.

В коэволюционном процессе участвовали 5 индивидуальных генетических алгоритмов. Размер «социальной карты» был установлен на уровне 15 % от численности общей популяции всех пяти индивидуальных алгоритмов. Размер штрафа был установлен на уровне 15 % от текущей численности популяции каждого индивидуального алгоритма. Величина интервала адаптации составляла 7 поколений - именно столько поколений работал каждый индивидуальный генетический алгоритм прежде, чем происходило перераспределение вычислительного ресурса. Ниже указаны параметры индивидуальных генетических алгоритмов, участвующих в коэволюци-онном процессе (табл. 1).

Таблица 1

Параметры алгоритмов-участников коэволюционного ГА

№ Тип селекции Тип скрещивания Вероятность мутации

1 Пропорциональная OX Малая

2 Турнирная CX Высокая

3 Пропорциональная PMX Высокая

4 Турнирная PMX Средняя

5 Ранговая OX Малая

Результаты тестирования. Сравнение алгоритмов производилось на четырех международных стандартных тестах различной размерности. Ниже представлены результаты тестирования, а также указаны вычислительный ресурс, отдаваемый алгоритмам и количество запусков каждого алгоритма для получения усредненных результатов (табл. 2). Число в названии тестовой задачи показывает ее размерность. Лучшие результаты выделены жирным.

Таблица 2

Сравнительная таблица работы алгоритмов

Название теста Вычислительный ресурс Количество запусков Решение

КГА Классический ГА Оптимум

Среднее Лучшее Худшее

0liver30 11.500 51 542,907 567,001 525,378 620,153 423,741

Eil51 80.000 51 571,764 575,2945 520,107 607,417 429,983

Eil76 350.000 30 723,512 757,2767 683,675 793,3741 545,388

Eil 101 800.000 10 909,383 927,837 804,8989 1006,47 642,31

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

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

1. Holland J. H. Adaptation in natural and artificial systems; University of Michigan Press, Ann Arbor, 1975. 96 p.

2. Семенкин Е. С., Лебедев В. А. Метод обобщенного адаптивного поиска для синтеза систем управления сложными объектами. М. : Макс-пресс, 2002.

3. Hammel U. Simulation models // Handbook of Evolutionary Computation, T. Bäck, D. B. Fogel and Z. Michalewicz, Eds. Oxford, UK: IOP Press, 1997. Pp. F1.8.1-9.

4. Емельянова М. Н. Эволюционные алгоритмы для многокритериальной и многоэкстремальной оптимизации // Вестн. НИИ систем упр. волновых процессов и технологий / НИИ систем упр. волновых процессов и технологий. Вып. 13. Красноярск, 2003. С. 237-248.

© Феофанов М. К., 2017

i Надоели баннеры? Вы всегда можете отключить рекламу.