Самоадаптация в алгоритмах роевой оптимизации

УДК 519.85

Самоадаптация в алгоритмах роевой оптимизации С. В. Полуян*, Н. М. Рейнгард*, Н. М. Ершовt

* Факультет естественных и инженерных наук Международный университет природы, общества и человека «Дубна» ул. Университетская, д. 19, Дубна, Московская область, Россия, 141980 ^ Факультет вычислительной математики и кибернетики Московский государственный университет им. М.В. Ломоносова ГСП-1, Ленинские горы, 1-52, Москва, Россия, 119991

Эволюционные алгоритмы активно развиваются в последние два десятилетия, что обусловлено с одной стороны многочисленными исследованиями в области математической биологии, с другой — широким распространением массивно-параллельных вычислительных систем, так как численное моделирование биологических систем (обладающих значительным внутренним параллелизмом) требует существенных вычислительных затрат. Алгоритмы роевой оптимизации, рассматриваемые в данной статье, основаны на моделировании коллективного поведения в больших колониях животных, например, муравьев, бактерий, пчёл. Такие алгоритмы являются универсальными, применимыми к широкому кругу задач. Настоящая работа посвящена описанию нового подхода к построению самоадаптивных алгоритмов роевой оптимизации, в которых происходит автоматическая настройка части параметров алгоритма в процессе его выполнения. Идея построения самоадаптивного эволюционного алгоритма заключается в том, что на фоне основного алгоритма (например, алгоритма бактериального поиска) запускается вспомогательный генетический алгоритм, целью работы которого является настройка параметров базового алгоритма, обеспечивающая максимально возможную скорость его сходимости. Рассматривается применение предложенной схемы самоадаптации на примере алгоритмов бактериального поиска и пчелиных алгоритмов. Приводятся результаты численного исследования полученных алгоритмов на примере решения стандартных тестовых задач непрерывной оптимизации, демонстрирующие работоспособность предложенной схемы самоадаптации.

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

1. Введение

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

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

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

Статья поступила в редакцию 30 декабря 2013 г.

поиска и к пчелиным алгоритмам [3]. Приводятся результаты численного исследования полученных алгоритмов на примере решения стандартных тестовых задач непрерывной оптимизации [4].

2. Схема самоадаптации

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

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

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

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

3. Численное исследование

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

Р(ж, у) = (х - жо)2 + (у - уо)2 + Ь.

На рис. 1 представлены графики сходимости (среднее и лучшее значения целевой функции по популяции) и графики, показывающие среднее значение параметра ё по популяции. Рис. 1(а) соответствует начальной области поиска х,у е [-100,100], рис. 1(б) — области [-10,10].

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

4. Заключение

В результате выполненной работы получены следующие результаты:

— предложена схема автоматической настройки параметров эволюционных алгоритмов, основанная на использовании генетического алгоритма;

— рассмотрено применение этой схемы к алгоритму бактериального поиска и пчелиному алгоритму;

— проведено численное исследование работы самоадаптивных версий рассмотренных роевых алгоритмов, показавшее работоспособность предложенной схемы самоадаптации.

Полуян С. В., Рейнгард Н. М., Ершов Н. М. Самоадаптация в .

417

а сходимость для начальной области поиска х,у Е [-100, 100]

б сходимость для начальной области поиска х,у Е [-10, 10]

Рис. 1. Среднее и лучшее значения целевой функции по популяции и среднее значение параметра 8 по популяции

Литература

1. Bonabeau E., Dorigo M., Theraulaz G. Swarm Intelligence: from Natural to Artificial Systems. — New York: Oxford University Press, Inc., 1999.

2. Passino K. M. Biomimicry of Bacterial Foraging for Distributed Optimization and Control // IEEE Control Systems Magazine. — 2002. — Vol. 22, No 3. — Pp. 5267.

3. The Bees Algorithm, a Novel Tool for Complex Optimisation Problems / D. T. Pham, A. Ghanbarzadeh, E. Koc et al. // Proceedings of the 2nd International Virtual Conference on Intelligent Production Machines and Systems (IPROMS 2006). — 2006. — Pp. 454-459.

4. Benchmark Functions for the CEC'2010 Special Session and Competition on Large-Scale Global Optimization: Techrep / K. Tang, X. Li, P. N. Suganthan et al. / University of Science and Technology of China (USTC), School of Computer Science and Technology, Nature Inspired Computation and Applications Laboratory (NICAL): Hefei, Anhui, China. — 2010.

5. Whitley D. A Genetic Algorithm Tutorial // Statistics and Computing. — 1994. — Vol. 4, No 2. — Pp. 65-85.

UDC 519.85

Self-Adaptation in Swarm Optimization Algorithms S. V. Poluyan*, N. M. Reinhard*, N. M. Ershovf

* Faculty of Natural and Engineering Science Dubna International University for Nature, Society and Man 19, Universitetskaya str., Dubna, Moscow region, Russia, 141980 ^ Faculty of Computational Mathematics and Cybernetics

Lomonosov Moscow State University GSP-1, 1-52, Leninskiye Gory, Moscow, Russia, 119991

Evolutionary algorithms are in active development for last two decades, due to numerous studies in the field of mathematical biology, and the wide spread of massively parallel computing systems since numerical modeling of biological systems (with significant degree of parallelism) requires significant computations. Swarm optimization algorithms discussed in this article are based on modeling of collective behavior in large colonies of animals, such as ants, bacteria, bees. Such algorithms are universal and applicable to a wide range of computational problems. The present paper is devoted to the new approach to the construction of self adaptive swarm optimization algorithms, which automatically adjusts parameters of the algorithm in the process of its evolution. The idea of building self adaptive evolutionary algorithms is based on the using in the background to the main algorithm (e.g., bacterial foraging algorithm) auxiliary genetic algorithm, the purpose of which is to adjust the parameters of the basic algorithm, providing the highest possible rate of its convergence. The application of the proposed scheme of self-adaptation on the examples of bacterial foraging algorithm and bees algorithms is considered. The results of the numerical study of such algorithms on the standard test problems of continuous optimization, demonstrating the efficiency of the proposed scheme of self-adaptation, are described.

Key words and phrases: swarm optimization, self-adaptation, bacterial foraging algorithm, bees algorithm, genetic algorithm.