Лебедев Олег Борисович
Технологический институт федерального государственного образовательного учреждения высшего профессионального образования “Южный федеральный университет” в г. Таганроге.
E-mail: lbk@tsure.ru.
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634371743.
Кафедра систем автоматизированного проектирования; доцент.
Lebedev Oleg Borisovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education “Southern Federal University”.
E-mail: lbk@tsure.ru.
44, Nekrasovsky, Taganrog, 347928, Russia.
Phone: 88634371743.
Department of Computer Aided Design; associate professor.
УДК 681.3
В.В. Курейчик, Е.Е. Полупанова
ЭВОЛЮЦИОННАЯ ОПТИМИЗАЦИЯ НА ОСНОВЕ АЛГОРИТМА
КОЛОНИИ ПЧЁЛ*
В статье рассматриваются основные принципы работы простого пчелиного алгоритма, улучшенного пчелиного алгоритма, а также алгоритма колонии пчел. Все эти алгоритмы моделируют поведение пчел в живой природе в поисках нектара. Проводится сравнение временной сложности предложенных алгоритмов, а также все алгоритмы сравниваются в разрезе используемых параметров.
Пчелиный алгоритм; улучшенный пчелиный алгоритм; алгоритм колонии пчёл.
V.V. Kureichik, E.E. Polupanova
ARTIFICIAL BEE COLONY ALGORITHM OF EVOLUTIONARY
OPTIMIZATION
In this paper, performances of basic Bees algorithm, Improved Bees algorithm and also Artificial Bee Colony Algorithm were presented. All this algorithms mimics the food foraging behavior of swarm of honey bees. Effect of problem dimensionality on the performance of the algorithms was investigated and the algorithms were compared to each other in terms of the number of control parameters to be tuned.
Bees algorithm; Improved Bees algorithm; Artificial Bee Colony algorithm.
Введение. Основной целью эволюционной оптимизации является поиск такого сочетания параметров (независимых переменных), которое бы способствовало максимизации или минимизации качественных, количественных и вероятностных характеристик решаемой задачи [1]. В последнее время широкое распространение получили интегрированные методы оптимизации, заимствующие основные принципы своей работы из живой природы [2]. Исследователи экспериментируют с различными типами представлений, так, эволюционные и генетические алгоритмы
*
Работа выполнена при поддержке: РФФИ (гранты № 10-07-90010, № 09-07-00318), г/б № 2.1.2.1652.
используют методы селекции и генетические операторы [3,4], известно большое число алгоритмов основанных на методе роя частиц (Particle Swarm Optimization), к которым относят алгоритм стаи птиц или косяка рыб, алгоритм колонии муравьёв [5], моделирующий поведение муравьёв в живой природе.
В данной работе рассматриваются основные принципы работы пчелиного алгоритма (Bee Algorithm (BA)) [6], а также алгоритма колонии пчёл (Artificial Bee Colony (ABC) Algorithm) [7], имитирующего поведение пчёл в поисках нектара.
Пчелиный алгоритм. Пчелиный алгоритм (Bee Algorithm (BA)) — это оптимизационный алгоритм, в основе которого лежит поведение пчёл в живой природе. В ходе разработки данного алгоритма не моделировалась жизнь пчёл, однозначно копирующая существующую природную экосистему, а использовалась имитация колонии, как средство оптимизации, при котором система несколько отличается от естественной. Опишем суть работы пчелиного алгоритма.
После инициализации популяции пчёл по случайным позициям, все пчёлы сортируются в соответствии со значениями целевых функций (ЦФ) тех участков, на которых они находятся. Определяется е элитных участков, на которые направляются n пчёл-разведчиков. Эти пчёлы образуют новые участки в окрестностях элитных. После чего в окрестности остальных участков (m-е), в зависимости от значения их ЦФ, отправляются рабочие пчёлы (l = N-n).
Таким образом, работа алгоритма зависит от следующих основных параметров:
1) общее число пчёл-разведчиков (N);
2) общее число участков (m);
3) число элитных участков (е);
4) число пчёл-разведчиков на элитных участках (n);
5) число пчёл (l) на остальных (m-е) участках;
6) начальный размер участков, т. е. размер участков вместе с их окрестностями (S);
7) максимальное число итераций (I).
Идея пчелиного алгоритма заключается в том, что все пчёлы на каждом шаге будут выбирать как элитные участки для исследования, так и участки в окрестности элитных, что позволит, во-первых, разнообразить популяцию решений на последующих итерациях, во-вторых, увеличить вероятность обнаружения, близких к оптимальным решений.
Приведём словесное описание алгоритма пчёл:
1° Создание популяции пчёл.
2° Оценка ЦФ пчёл в популяции.
3° Выбор участков для поиска в их окрестности.
4° Отправка пчёл-разведчиков.
5° Выбор пчёл с лучшими значениями ЦФ с каждого участка.
6° Отправка рабочих пчёл, осуществляющих случайный поиск и оценка их ЦФ.
7° Формирование новой популяции пчёл.
8° Проверка условий окончания алгоритма. Если они выполняются переход к п.9, иначе п.2.
9° Конец работы алгоритма.
На 1 -ом шаге работы алгоритма N пчёл располагаются случайно на поверхности (в окрестности) m участков. На 2-ом шаге определяются ЦФ участков. Далее те участки е, на которых значения ЦФ больше (элитные участки) отбираются для поиска решений в их окрестностях (шаг 3), причём, на этих участках проводятся бо-
лее детальные исследования, т. е. отправляются больше пчёл, чем на каждый из m-е участков (шаг 4). На 5-ом шаге проводится оценка значений ЦФ и выбираются лучшие пчёлы в соответствии со значениями ЦФ исследуемых ими участков. Эти пчёлы формируют новую популяцию решений, которая будет участвовать в следующей итерации алгоритма. Далее рабочие пчёлы осуществляют случайный поиск в окрестности элитных участков е в поисках новых решений. Данная операция продолжается до тех пор, пока не будет достигнут критерий останова алгоритма.
Таким образом, ключевой операцией алгоритма пчёл является совместное исследование перспективных областей и их окрестностей. В конце работы алгоритма популяция решений будет состоять из двух частей: пчёлы с лучшими значениями ЦФ элитных участков, а также группы рабочих пчёл со случайными значениями ЦФ.
Введём, также, понятие улучшенного пчелиного алгоритма (Improved Bee
Algorithm). Суть его заключается в том, что на каждой итерации начальный размер участков S уменьшается путём деления их на адаптивное значение R, где R - параметр редукции. Величина данного параметра варьируется в зависимости от качества полученного на каждой итерации решения, т.е. чем хуже получается решение, тем ближе параметр R к 1.
Алгоритм колонии пчёл. Алгоритм колонии пчёл (Artificial Bee Colony (ABC)) был впервые предложен турецким учёным Д. Карабога в 2005 г. для решения задачи параметрической оптимизации [8]. Его суть заключается в моделировании поведения колонии пчёл в поисках нектара.
В живой природе принцип работы пчелиного улья основывается на чётком распределении обязанностей между отдельными его индивидами.
Всех пчёл в улье можно разделить на 3 группы:
1) рабочие пчёлы;
2) пчёлы-исследователи;
3) пчёлы-разведчики.
Рабочие пчёлы занимаются поиском источников нектара и снабжают информацией о качестве исследованных участков остальных пчёл (исследователей). Пчёлы-исследователи все это время находятся в улье и получают информацию об объекте исследования только от рабочих пчёл. Пчёлы-разведчики, в свою очередь, осуществляют случайный поиск новых источников нектара.
Основной принцип работы АВС-алгоритма заключается в следующем:
1° Определение месторасположения источников нектара.
2° Поиск каждой рабочей пчелой новых источников нектара на заданном ей участке и исследование лучшего из них.
3° Выбор источника нектара пчелой-исследователем с определённой вероятностью, в зависимости от его качества.
4° Если решение на исследуемом участке не улучшается с течением нескольких итераций, то переход к п.5.
5° Запоминаем лучший источник нектара.
6° Заполняем оставшуюся часть популяции случайно.
7° Повторяем п.2-6 пока не будет достигнут критерий останова.
На первом шаге алгоритма случайным образом задаётся пространство поиска решений xi (i=1,... ,S), S - число источников нектара.
На втором шаге для каждой рабочей пчелы, число которых определяется как
1 * S, определяется участок для поиска:
2
vJ=xJ +JxJ-xkJ),
(1)
где фу - случайное число в диапазоне [-1;1], k - индекс решения выбранного случайно из колонии (k = int(rand * S)+1), j = 1,...,D, D - размерность задачи. После определения участка vi, полученное решение сравнивается с xi и рабочая пчела отправляется на лучший из двух участков.
На третьем шаге пчёлы-исследователи выбирают источник нектара с вероятностью (2) и определяют новый участок в локальной области исследования по формуле (1).
fiti
pi ='
(2)
Z fjtj
J=1
где Ац - значение ЦФ х.
Если по истечении заданного количества итераций решение на данном участке не улучшается, то он исключается из дальнейшего рассмотрения (шаг 4). А пчёлы-исследователи данного участка становятся пчёлами-разведчиками и отбор решений осуществляется случайно (шаг 6) по формуле:
xV = x Г
+ (xmax - xmin) * rand.
(3)
Экспериментальные исследования. Экспериментальные исследования простого пчелиного алгоритма (ВА), улучшенного пчелиного алгоритма (1ВА), а также алгоритма колонии пчёл (АВС) проводились на примере функций Розенброка и Растригина.
Для ВА были взяты значения N=50, е=5, т=15, п=25, 1=25, 8=(0.5; 3).
Для 1ВА N=60, е=1, т=3, п=50, 1=10, первоначальный размер участков 8=6, и Я=1.05.
Для АВС-алгоритма число участков для поиска 8=20. Для всех алгоритмов вводится фиксированное значение предельного числа итераций 1=100.
Из рис. 1 и рис. 2 видно, что алгоритм колонии пчёл лучше по качеству, чем простой пчелиный и улучшенный пчелиный алгоритмы.
Рис. 1. Зависимость значения ЦФ от числа итераций I для функции Розенброка
Стоит заметить, что АВС-алгоритм даёт качественные решения даже на задачах большой размерности. Другой немаловажной его особенностью является то, что кроме основополагающих параметров любого алгоритма (размер популяции, число итераций) алгоритм колонии пчёл имеет только один дополнительный параметр -предельное число итераций. В то время, как пчелиный алгоритм имеет 5 параметров (т, е, 1, п, 8), а улучшенный пчелиный алгоритм 6 параметров. Таким образом, эффективность работы ВА и 1ВА целиком зависит от контрольных параметров.
ЦФ
-Ш-ВА (5=0,5) —•—BA(S=3) —*-1ВА -*^АВС
Рис. 2. Зависимость значения ЦФ от числа итераций I для функции Растригина
Заключение. В данной работе проведены исследования простого пчелиного алгоритма, улучшенного пчелиного алгоритма, а также алгоритма колонии пчёл. Исходя из экспериментальных данных, установлено, что АВС-алгоритм превосходит остальные алгоритмы как по качеству получаемых решений, так и по времени работы, а также оперирует меньшим числом параметров, и, соответственно, не требует больших вычислительных затрат.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гладков Л.А. Генетические алгоритмы / Л.А. Гладков, В.В. Курейчик, В.М. Курейчик. Под ред. В.М. Курейчика. - М.: Физматлит, 2006. - 320 с.
2. Курносова Е.Е. Об одном подходе к построению интегрированных алгоритмов // Известия ЮФУ. Технические науки. Тематический выпуск “Интеллектуальные САПР”.
- 2008. - № 9 (86). - C. 104-107.
3. Лебедев Б.К., Лебедев В.Б. Планирование на основе роевого интеллекта и генетической эволюции // Известия ЮФУ. Технические науки. Тематический выпуск "Интеллектуальные САПР". - 2009. - № 4 (93). - С. 25-33.
4. Курейчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009.
- № 4 (93). - С. 16-24.
5. Курейчик В.В., Сороколетов П.В. Концептуальная модель представления решений в генетических алгоритмах // Известия ЮФУ. Технические науки. - 2008. - № 9 (86).
- С. 7-12.
6. PhamD.T. The Bees Algorithm / A. Ghanbarzadeh, E. Koc, S. Otri, S. Rahim, M. Zaidi. Technical Note, Manufacturing Engineering Centre, Cardiff University, UK, 2005.
7. BasturkB. An artificial bee colony (abc) algorithm for numeric function optimization / D. Karaboga. In IEEE Swarm Intelligence Symposium 2006. - Indianapolis, Indiana, USA, 2006.
8. Karaboga D. An idea based on honey bee swarm for numerical optimization // Technical Report TR06, Erciyes University, Engineering Faculty, Computer Engineering Department, 2005.
Курейчик Владимир Викторович
Технологический институт федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: vkur@tsure.ru.
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 88634383451.
Кафедра систем автоматизированного проектирования; заведующий кафедрой; профессор.
Kureichik Vladimir Viktorovich
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education «Southern Federal University».
E-mail: vkur@tsure.ru.
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 88634383451.
Department of Computer Aided Design; head the department; professor.
Полупанова Елена Евгеньевна
Технологический институт федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.
E-mail: jienka@mail.ru.
347928, г. Таганрог, пер. Некрасовский, 44.
Тел.: 89284013301.
Кафедра систем автоматизированного проектирования; аспирант.
Polupanova Elena Evgenievna
Taganrog Institute of Technology - Federal State-Owned Educational Establishment of Higher Vocational Education «Southern Federal University».
E-mail: jienka@mail.ru.
44, Nekrasovskiy, Taganrog, 347928, Russia.
Phone: 89284013301.
Department of Computer Aided Design; post-graduate student.
УДК 519.612.2
В.В. Бегляров, А.Н. Берёза, М.В. Ляшов
БИОНИЧЕСКИЙ АЛГОРИТМ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
В статье приведен бионический алгоритм решения систем линейных уравнений, содержащий генетические операторы и элементы нечеткой логики. Приведены результаты тестирования бионического алгоритма, проведен сравнительный анализ данного алгоритма с методами Гаусса и Гаусса-Зейделя.
Генетические алгоритмы; бионические системы; нечеткие эволюционные алгоритмы; эволюционное моделирование.
V.V. Beglyarov, A.N. Bereza, M.V. Lyashov
BIONIC ALGORITHM FOR SOLVING SYSTEMS OF LINEAR ALGEBRAIC
EQUATIONS
The paper presents a bionic algorithm for solving systems of linear algebraic equations, containing the genetic operators and elements of fuzzy logic. Adduce the results of testing the