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

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

CC BY
166
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМБИНАТОРНАЯ ОПТИМИЗАЦИЯ / ЗАДАЧА КОММИВОЯЖЕРА / МУРАВЬИНЫЙ АЛГОРИТМ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / АЛГОРИТМ УМНЫХ КАПЕЛЬ ВОДЫ / САМОНАСТРОЙКА / COMBINATORIAL OPTIMIZATION / TRAVELLING SALESMAN PROBLEM / ANT COLONY OPTIMIZATION / GENETIC ALGORITHM / INTELLIGENT WATER DROPS ALGORITHM / SELF-CONFIGURING

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

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

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

ABOUT EFFECTIVENESS OF BIOLOGICALLY INSPIRED ALGORITHMS OF COMBINATORIAL OPTIMIZATION

Traveling salesman problem solving with biologically inspired optimization algorithms is considered. A comparison of the three known bio-inspired algorithms with their self-configuring modifications is fulfilled. The reasonability of self-configuring bio-inspired algorithms usage is demonstrated.

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

УДК 004.942

ОБ ЭФФЕКТИВНОСТИ БИОНИЧЕСКИХ АЛГОРИТМОВ КОМБИНАТОРНОЙ ОПТИМИЗАЦИИ

Д. В. Дресвянский

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: [email protected]

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

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

ABOUT EFFECTIVENESS OF BIOLOGICALLY INSPIRED ALGORITHMS OF COMBINATORIAL OPTIMIZATION

D. V. Dresvyanskiy

Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]

Traveling salesman problem solving with biologically inspired optimization algorithms is considered. A comparison of the three known bio-inspired algorithms with their self-configuring modifications is fulfilled. The reasonability of self-configuring bio-inspired algorithms usage is demonstrated.

Keywords: combinatorial optimization, travelling salesman problem, ant colony optimization, genetic algorithm, intelligent water drops algorithm, self-configuring.

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

В данной работе рассматривается одна из классических задач комбинаторной оптимизации -задача коммивояжера (Travelling salesman problem (TSP)), заключающаяся в отыскании кратчайшего замкнутого маршрута, проходящего через указанные города по одному. Она относится к классу NP-полных задач и имеет большое число практических применений, таких как задача маршрутизации, задача составления плана для одного станка, задача нарезки рулонного материала, и т. п.

В данной статье рассматриваются такие бионические алгоритмы, как генетический алгоритм (ГА, GA), самонастраивающийся ГА (СГА, SGA), алгоритм муравьиных колоний (Ant Colony Optimization, ACO) и алгоритм умных капель воды (Intelligent Water Drops, IWDs).

Актуальные проблемы авиации и космонавтики - 2017. Том 2

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

Алгоритм умных капель воды [2] в некотором смысле имитирует законы взаимодействия множества капель, как друг с другом, так и с окружающей средой, в процессе формирования маршрута реки. Реки в природе - это результат противостояния массива капель, находящихся внутри реки, и внешней среды - почвы. Каждая капля в отдельности и весь рой в целом движутся по пути наименьшего сопротивления. Более того, пройдя определенный путь, каждая капля уносит с него часть грунта, причем количество переносимого грунта прямо пропорционально скорости движения капель. Таким образом, чем больше капель воды выбирают определенный путь, тем меньшее количество грунта на нем остается. А значит, тем быстрее двигаются капли на этом участке, и тем «желаннее» он становится для следующих капель. Алгоритм умных капель воды имеет большое количество настраиваемых параметров: коэффициенты обновления скорости av,

bv и cv, коэффициенты обновления грунта as, bs и cs, локальный параметр обновления грунта

рп, глобальный параметр обновления грунта pIWD, начальное количество грунта межу городами

InitSoil, начальная скорость каждой капли InitVelocity, параметры N¡ и а обновления грунта на

маршруте.

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

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

Самонастраивающийся ГА имел выбор из 8 вариантов селекции - турнирная с размером турнира 2, 5 и 9, ранговая с линейным ранжированием, ранговая с экспоненциальным ранжированием с параметром X равным 0.95, 0.8 и 0.5 и пропорциональная, а также 5 вариантов вероятности мутации - очень низкая, низкая, средняя, высокая и очень высокая.

Самонастраивающийся ACO имел выбор из 10 вариантов а - от 0.2 до 2 с шагом 0.2 и 12 вариантов в - от 0.5 до 6 с шагом 0.5.

Описанные выше алгоритмы были реализованы на языке программирования С++ и протестированы на двух известных задачах коммивояжера - 0liver30 и Eil51, которые имеют минимальную длину обхода, равную 423,741 и 426 соответственно. Всем алгоритмам давалось одинаковое количество ресурсов, а именно - 52800 вычислений целевой функции для задачи 0liver30 и 342210 вычислений целевой функции для задачи Eil51. Результаты тестирования представлены в табл. 1 и 2.

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

Таблица 1

Сравнение эффективности бионических алгоритмов в задаче Oliver30

Алгоритм Длина лучшего обхода Средняя длина обхода

GA 423.741 429.67

SGA 423.741 430.626

IWDs 423.741 426.53

ACO 423.741 424.592

Self-configuring ACO 423.741 425.20

Таблица 2 Сравнение эффективности бионических алгоритмов в задаче Eil51

Алгоритм Длина лучшего обхода Средняя длина обхода

GA 431.935 445.324

SGA 439.22 447.8

IWDs 429.341 439.577

ACO 429.781 433.523

Self-configuring ACO 429.484 440.42

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

References

1. Dorigo М., Gambardella L. M. Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem // IEEE Transactions on Evolutionary Computation. 1997. P. 53-66.

2. Shah-Hosseini H. Optimization with the Nature-Inspired Intelligent Water Drops Algorithm // Evolutionary Computation, Wellington Pinheiro dos Santos (Ed.), ISBN 978-953-307-008-7, InTech, 2009.

3. Holland J. H. Adaptation in Natural and Artificial Systems // The University of Michigan Press, 1975.

4. Semenkin E., Semenkina M. Self-configuring genetic algorithm with modified uniform crossover operator // Lecture Notes in Computer Science. 2012. Т. 7331 LNCS. № PART 1. С. 414-421.

© Дресвянский Д. В., 2017

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