Раздел IX. Вычислительные комплексы нового поколения и нейрокомпьютеры
УДК 681.3
Ю.О. Чернышев, Н.Н. Венцов, П.А. Панасенко
ПРИМЕНЕНИЕ PSO-МЕТОДА ДЛЯ РЕШЕНИЯ ЗАДАЧИ РАСПРЕДЕЛЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСОВ*
В работе сформулирована многомерная нелинейная задача распределения вычислительных ресурсов. На основе метода «оптимизации с использованием роя частиц» (Particle Swarm Optimization, PSO) разработан алгоритм решения поставленной задачи. Определена связь параметров задачи и решающего её алгоритма. Построено распределение результатов работы алгоритма по итерациям. На основании анализа распределения результатов работы алгоритма по итерациям сделано заключение о способности алгоритма выходить из областей локальных оптимумов. Приведены графики погрешностей алгоритма на задачах размерности 1—10 с шагом 1 и 5—100 с шагом 5. Экспериментально определена линейная вычислительная сложность алгоритма на размерностях 1—100.
Вычислительные ресурсы; коллективная адаптация; интеллектуальные системы; оптимизация.
Yu.O. Chernyshev, N.N. Vencov, P.A. Panasenko
APPLICATION OF PSO-METHODS FOR SOLVING ALLOCATION OF COMPUTATIONAL RESOURCES
In this paper we formulated a multi-dimensional nonlinear problem of distribution of computing resources. On the basis of "optimization using particle swarm» (Particle Swarm Optimization, PSO) algorithm to solve this problem. Defined relationship between the parameters of the problem and solve it the algorithm. We construct a distribution of the results of iterations of the algorithm. Based on the analysis of the distribution of the results of iterations of the algorithm was suggested algorithm is able to withdraw from areas of local optima. The graphs of the errors on the tasks dimension algorithm 1—10 in increments of 1, and 5—100 in increments of 5. The experimentally determined the computational complexity of the algorithm on the dimensions of 1—100.
Computing resources; collective adaptation; intelligent systems; optimization.
Постановка задачи. Имеется множество вычислительных ресурсов S, подлежащее распределению между N информационными процессами. Потери вычислительного ресурса при его диспетчеризации (выделении) j-му информационному процессу, определяются величиной pj, je{1, 2, 3, ..., N}. Необходимый минимум ресурсов требуемый j-му информационному процессу определяется величиной fj, а максимум - Q. Прибыльность j-го информационного процесса зависит от объема доступных вычислительных ресурсов xj и описывается нелинейной функцией fj(xj). Предположим, что ресурсы выделяются последовательно и однократно для каждого информационного процесса. Необходимо распределить ресурсы S таким образом, чтобы максимизировать получаемую прибыль, которая определяется по формуле:
*
Работа выполнена при финансовой поддержке РФФИ (проект12-01-00474). 252
(1)
Ограничения, накладываемые на условия и решения задачи, описываются выражениями:
Z7=1(x7- + Pj) < 5, (2)
Z7=iC7->5, (3)
Z7=if7-<5, (4)
^j<xj<(j, je{1, 2, 3, ..., N}, (5)
^•> 0, jE{1, 2, 3, ..., N}. (6)
Из неравенства (5) следует, что любому информационному процессу должно быть выделено некоторое количество ресурса Потери связанные с выделением данного ресурса составляют pj. Таким образом, суммарные потери не зависят от распределения ресурсов и определяются как
Р = + Pj). (7)
По этой причине объем фактически распределяемого ресурса S определяется по формуле:
S = S - Р. (8)
На основании выражений (1)-(5) можно считать, что решение задачи заключатся в нахождении точки оптимума в N-мерном пространстве решений. На практике функционал (1) может не обладать свойствами, облегчающими его оптимизацию такими, как линейность, непрерывность, дифференцируемость в любой точке и т. д. По этой причине использование классических методов оптимизации не целесообразно.
Используемый подход. Для решения оптимизационных задач в настоящее время активно используются методы поиска оптимальных решений основанные на идеях самообучения, накопления и адаптации [1-4]. Реализация подобных подходов подразумевает наличие индивидуальной и коллективной составляющей процессов самообучения, накопления и адаптации [5-7]. Исследуем возможность применения метода «оптимизации с использованием роя частиц» (Particle Swarm Optimization, PSO) [7-9] для решения поставленной задачи. PSO-метод базируется на понятии популяции, и моделирует поведение птиц в стае и косяков рыб. Стратегия поведения особей (частиц) в популяции (рое) состоит в стремлении превзойти достижения соседних частиц и улучшить собственные. Выбор траектории движения осуществляются частицей на основе личного опыта, а также опыта её соседей.
Как утверждалось ранее, решение поставленной задачи состоит в нахождении точки оптимума в N-мерном пространстве решений. Если предположить что частица движется в N-мерном пространстве, то ее координаты можно описать вектором (кортежем) X=<xb x2,..., Xj,..., xN>. Значение каждого элемента кортежа определяет количество ресурсов выделенных соответствующему информационному процессу, например величина x1 определяет количество ресурсов выделенных первому процессу, x2 - второму и т.д. С помощью кортежа Xi(t)=<xi1(t), xi2(t), ., xij(t), ., xiN(t)> обозначим позицию i-ой частицы ie{1, 2, 3, ..., M} в пространстве поиска решений в момент времени t. Для простоты изложения, факт вычисления функционала (1) на основе кортежа Xi(t)=<xi1(t), xi2(t),., xy(0),..., xiN(t) >обозначим как:
F[Xi(t)] ^ max. (9)
Процесс поиска решений данным методом начинается с генерации частиц. Начальное состояние частицы i, в нулевой момент времени, описывается кортежем Х1(0)=<х1д(0), х^ф),..., Ху(0),..., х^(0)> и определяется следующим образом XI■(0)=U(^■ £), где ={?2,-, и (={( 1, (2,-■, }. Функция Щ£ $ для каждого
измерения генерирует случайное число из диапазона [_$, £,]. Позиция иой частицы в пространстве поиска решений изменяется добавлением скорости Vi(t)=<vi,1(t), vi2(0,..., ^(0> к текущей позиции:
XI■(t + 1) = Xi(t) + V(t + 1). (10)
В разновидности gbest PSO-метода каждая частица тяготеет к лучшему решению целого роя поэтому скорость ;'-ой частицы в 7-ом измерении определяется по формуле [7-9]:
Vi,j(t+1) = Vij(t)+Clrlj(І)[yij(І)-Xij(І)] +С2Г2,0[у*0-ъЩ, (11)
где vij(t) - скорость г'-ой частицы в 7-ом измерении в момент времени V, Ху(0 - координаты частицы i в измерении 7; с1 и с2 - положительные константы ускорения, варьирующие когнитивную и социальную компоненты скорости частицы; гц и г%
- случайные переменные, принимающие значения 0 или 1; Уу(0 - координата наилучшей достигнутой позиции частицы i в 7-ом измерении. у*/0 - координата наилучшей достигнутой позиции роя в 7-ом измерении.
В соответствии с формулами (10) и (11) в случае если: Ху ^ + 1)< ^ то Ху ^ + 1):= ^-, если же Ху (t + 1)> ^ то х^ (t + 1):=С7-.
Кортеж Yi =<х1>1, х^,..., хщ> отображает наилучшую позицию частицы i, которую она посещала, начиная с первой итерации. Обозначим функцию из выражения (1) через ^(Х), тогда в момент времени i+1 следующая оптимальная позиция частицы i рассчитывается по формуле:
(У1 = У1 если + 1)) < Г(У) (12)
[у; = Х(Ь + 1) если + 1)) > F(Y) (
Величина шах(71) ;е{1, 2, 3, ..., М}, где М число особей в рое, определяет наилучшее решение полученное роем.
Предлагаемый алгоритм. На основе изложенного выше метода был разработан эвристический алгоритм оптимизации распределения вычислительных ресурсов. Работа алгоритма начинается с выполнения блока команд под названием «Генерация особей», который описывает процесс создания особей, образующих пчелиный рой. Координаты генерируемых особей соответствуют ограничениям
(2)-(6). Каждой особи ставится в соответствие значение целевой функции (1). Скорости всех сгенерированных особей равны нулю. В дальнейшем работа алгоритма состоит в итерационном выполнении следующих блоков: «Расчет статистики», «Расчет скоростей», «Перемещение особей», «Расчет ЦФ». Блок «Расчет статистики» описывает процесс нахождения величины У*(() - координаты наилучшей достигнутой позиции роя, найденной за t итераций, и величины 7^(0 - координаты наилучшей достигнутой позиции частицы, найденной за t итераций. Под наилучшей позицией понимается такое положение частицы в пространстве, при котором значение функционала (1) максимально. Таким образом, величина У*0) определяется для всего роя, а величина 7,(0 - для каждой частицы в отдельности. Блок «Расчет скоростей» описывает процесс расчета для каждой особи роя по формуле
(11) новой скорости в каждом из пространств. Блок «Перемещение особей» описывает процесс расчета для каждой особи роя по формуле (10) новых координат. Блок «Расчет ЦФ» соответствует процессу вычисления целевой функции (1) для каждой особи роя, на основе новых координат. Критерием остановки алгоритма является выполнение заданного числа итераций.
Экспериментальная часть. Рассмотрим процесс поиска решения методом пчелиного роя в динамике (рис. 1).
На рис. 1 представлены две диаграммы «Глобальный оптимум» и «Текущий оптимум» оси абсцисс которых соответствуют итерациям разработанного алгоритма. Значения оси ординат диаграммы «Глобальный оптимум» соответствуют стоимости наилучшего решения найденного алгоритмом за все предшествующие итерации. По оси ординат диаграммы «Текущий оптимум» откладывается стоимость наилучшего решения найденного на текущей итерации. На 4 и 5 итерациях рис. 1 диаграммы «Текущий оптимум» алгоритм покидает зону локального оптимума, но затем, на 6-9 итерациях определяет более предпочтительное решение. Данный факт позволяет сделать предположение о том, что предлагаемый алгоритм способен выходить из локальных оптимумов.
На рис. 1 представлены две диаграммы «Глобальный оптимум» и «Текущий оптимум» оси абсцисс которых соответствуют итерациям разработанного алгоритма. Значения оси ординат диаграммы «Глобальный оптимум» соответствуют стоимости наилучшего решения найденного алгоритмом за все предшествующие итерации. По оси ординат диаграммы «Текущий оптимум» откладывается стоимость наилучшего решения найденного на текущей итерации. На 4 и 5 итерациях рис. 1 диаграммы «Текущий оптимум» алгоритм покидает зону локального оптимума, но затем, на 6-9 итерациях определяет более предпочтительное решение. Данный факт позволяет сделать предположение о том, что предлагаемый алгоритм способен выходить из локальных оптимумов.
Глобальный оптмум _________ Текущей оптмум
Рис. 1. Распределение результатов работы алгоритма по итерациям
На рис. 2 ось абсцисс соответствует размерности решаемой задачи (Ы), а ось ординат - погрешности алгоритма. Из рис. 2 следует, что несмотря на всплески на 3 и 7 итерациях, в целом, лавинообразное накопление погрешности отсутствует. Данное утверждение позволяет сделать предположение о том, что рост размерностей решаемых задач не требует пропорционального увеличения вычислительных ресурсов необходимых для получения приемлемого решения. Исследуем рост погрешности алгоритма на размерностях 1-10, приравняв число итераций алгоритма и число особей роя 5. Графическое представление динамики изменения погрешности в зависимости от размерности задачи приведено на рис. 2.
о .
123456789 10
Рис. 2. Зависимость погрешности алгоритма от размерности задачи
Рассмотрим ВСА на задачах размерности 5-100. На рис. 3 графически представлена зависимость времени работы алгоритма от размерности решаемых задач.
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Рис. 3. ВСА на задачах размерности 5—100
Из графика, представленного на рис. З, можно сделать вывод, что вычислительная сложность представленного алгоритма составляет O(n). На рис. 4 представлена зависимость погрешности алгоритма от размерности задачи N=1G-1GG.
О -----1—і-----1--1---1—і-----1---1----1—і---1---1—і-----1---1--1—і-----1---1---■
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Рис. 4. Погрешности алгоритма на задачах размерности 5—100
На основании данных представленных рис. З, 4 можно заключить, что предлагаемый алгоритм способен решать поставленные задачи за линейное время.
Заключение. На основании полученных экспериментальных данных, частично представленных на рисунках (см. рис. 1-4) можно заключить, что на задачах размерности 1-1GG предложенный алгоритм способен определять суботимальные решения, погрешность которых не превышает 1G %. При этом вычислительная сложность алгоритма близка к линейной.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Курейчик ВМ, Комар А.В. Особенности построения синергетических систем управления бионическим поиском в задачах размещения II Известия ЮФУ. Технические науки.
- 2G11. - № 7 (12G). - С. 8-14.
2. Курейчик ВМ., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация: теория и практика. Монография. - М.: Физматлит,2006.
3. Чернышев Ю.О., Венцов Н.Н., Крупенин АВ., Щербаков А.В., Мухтаров С.А. Адантив-ная оптимизация запросов в современных системах управления базами данных I Монография. - Краснодар: ФВАС, 2G11.
4. Курейчик ВМ. Биоинспированный ноиск с использованием сценарного подхода II Известия ЮФУ. Технические науки. - 2G1G. - № 7 (1G8). - С. 7-12.
5. Лебедев Б.К., Лебедев В.Б. Поисковые процедуры канальной трассировки, базирующиеся на моделировании адаптивного поведения роя частиц в пространстве решений с неупорядоченным лингвистическим шкалированием II Известия ЮФУ. Технические науки. - 2GG9. - № 12 (1G1). - С. 15-22.
6. Dorigo M. and Sttitzle T. Ant Colony Optimization. MIT Press, Cambridge, MA, 2GG4.
7. Eberhart R., Kennedy J. A New Optimizer using Particle Swarm Theory II In Proceedings of the Sixth International Symposium on Micro machine and Human Science 1995. - P. З9-4З.
25б
8. Engelbrecht A. Computational intelligence: an introduction - John Wiley and Sons Ltd., 2007.
- 597 p.
9. Abraham A., Grosan G. Swarm Intelligence in Data Mining -Springer, 2006. - 267 p.
Статью рекомендовал к опубликованию к.т.н., доцент Е.В. Нужнов.
Чернышев Юрий Олегович - Донской государственный технический университет; e-mail: [email protected]; 344000, г. Ростов-на-Дону, пл. Гагарина, 1; тел.: 88632738582; кафедра автоматизации производственных процессов; д.т.н.; профессор.
Венцов Николай Николаевич - e-mail: [email protected]; кафедра информационных технологий; к.т.н.; доцент.
Панасенко Павел Александрович - Филиал Военной академии связи (г. Краснодар); e-mail: [email protected]; г Краснодар, ул. Красина, 4; тел.: +78612683509; соискатель.
Chernyshev Yury Olegovich - Don State Technical University, Russia, e-mail: [email protected]; 1, Gagarin street, Rostov-on-Don, Russia; phone: +78632738582; the department of automation of productions; the department of automation of productions; dr. of eng. sc.; professor
Vencov Nikolay Nikolaevich - Don State Technical University; e-mail: [email protected]; the department of information technologies; cand. of eng. sc.; associate professor.
Panasenko Pavel Alexandrovich - Branch of Military academy of communication (Krasnodar); e-mail: [email protected]; 4, Krasina street, Krasnodar, Russia; phone: +78612683509; competitor.