Эволюционный подход к моделированию распределительных процессов
Н.Н. Венцов
Актуальность темы
Существенный класс научно-практических задач связан с распределением потоков ресурсов. Распределяемые ресурсы могут иметь различную структуру и характеристики, обусловленные природой их происхождения. В этой связи необходимо разрабатывать подходы, обеспечивающие эффективное распределение ресурсов не зависимо от размерностей решаемых задач, а так же особенностей моделируемой в процессе распределения предметной области [1-6].
Постановка задачи. Имеется поток ресурсов S, подлежащий распределению между N производствами (рис.1). Потери ресурса при его доставке к j-му производству, определяются величиной pj, j 6 {1, 2, 3,..., N}. Технологический минимум ресурсов требуемый j-му производству определяется величиной fy, а технологический максимум - aj. Прибыльность j-го производства зависит от объема доступных ресурсов Xj и описывается нелинейной функцией /у(ху).
Рис. 1 Схема процесса распределения ресурсов
Необходимо распределить ресурсы S таким образом чтобы максимизировать получаемую прибыль которая определяется по формуле:
lIj=ifj(Xj) ^ max (1)
Ограничения, накладываемые на условия и решения задачи, описываются выражениями:
ZjUfo + Pj) < S, (2)
IJU aj < S, (3)
lUti<s> (4)
fy < Xj < a], j e {1,2,3,...,N1 (5)
fy > 0, ye{1,2,3.....N}. (6)
Из неравенства (5) следует что на любое производство должно быть подано некоторое минимально допустимое количество ресурса fy + ру: связанное как с наличием технологической нижней границы перерабатываемых объемов в каждом отдельном производстве fy, так и с потерями доставки ресурса ру. Таким образом минимальный суммарный объем запаса ресурсов определяется как:
Р = 1?=1(й + рД (7)
По этой причине объем фактически распределяемого ресурса S определяется по формуле:
S = S — Р. (8)
На основании выражений (1)-(5) можно говорить о том, что решение
задачи заключатся в нахождении точки оптимума в ^-мерном пространстве
решений. На практике функционал (1) может не обладать свойствами,
облегчающими его оптимизацию такими как линейность, непрерывность,
дифференцируемость в любой точке и т.д. По этой причине использование
классических методов оптимизации не целесообразно.
Используемый подход. Исследуем возможность применения метода
«оптимизации с использованием роя частиц» (Particle Swarm Optimization,
PSO) [7-10] для решения поставленной задачи. PSO-метод базируется на
понятии популяции, и моделирует поведение птиц в стае и косяков рыб.
Стратегия поведения особей (частиц) в популяции (рое) состоит в
стремлении превзойти достижения соседних частиц и улучшить
собственные. Перемещения частиц внутри области поиска обуславливаются
их природным стремлением конкурировать между собой. Выбор траектории движения осуществляются частицей на основе личного опыта, а также опыта её соседей.
Как утверждалось ранее, решение поставленной задачи состоит в нахождении точки оптимума в ^-мерном пространстве решений. Если предположить что частица движется в ^-мерном пространстве, то ее координаты можно описать вектором (кортежем) X = {х1,х2,„.,х],„.,хи). Значение каждого элемента кортежа определяет количество ресурсов выделенных соответствующему производству, например величина х± определяет количество ресурсов выделенных первому процессу, х2 - второму и т.д. С помощью кортежа = (х;д(£),х;,2(0, ■■■,х;,;(0, "-^¿лСО).
обозначим позицию ¡-ой частицы в пространстве поиска решений в момент времени I. Для простоты изложения, факт вычисления функционала (1) на основе кортежа = (х;д(£),Х;,2(0, — >хц(О, — ,х1,ы(О) обозначим как:
^ тах (9)
Процесс поиска решений данным методом начинается с генерации частиц. Начальное состояние частицы ¡, в нулевой момент времени, описывается кортежем ^¿(0) = (х;д(0),Х;,2(0), ■■■ ,Х;Д0), ■ ,Х;,^(0)) и определяется следующим образом ^¿(0) = и(%,А). Функция и(%,А) для каждого измерения генерирует случайное число из диапазона [^-,0/].
Позиция ¡-ой частицы в пространстве поиска решений изменяется добавлением скорости = (^¿,1С^), ^¿,2С^), ■■■, ■■■, к текущей
позиции:
^(£ + 1)= ^(0+^ + 1) (10) В разновидности gbest Р50-метода каждая частица тяготеет к лучшему решению целого роя поэтому скорость ¡-ой частицы в 7-ом измерении определяется по формуле:
+ 1) = 1^(0 + c1r1(t)[yi,;(t) - ХцЮ] + с2г2(0[у/(0 - *у(0](11)
где: Vjj(t)- скорость i-ой частицы в 7-ом измерении в момент времени t; Xj,y(t) - координаты частицы i в измерении j; сг и сг - положительные константы ускорения, варьирующие когнитивную и социальную компоненты скорости частицы; rt и г2 - случайные переменные, принимающие значения 0 или 1; yij(t)- координата наилучшей достигнутой позиции частицы i в j-ом измерении; уДО- координата наилучшей достигнутой позиции роя в j-ом измерении.
В соответствии с формулами (10) и (11) в случае если:
- Xij(t + 1)< Sj то Xij(t + 1) :=
- Xj,y(t + 1) > CLj TO Xj j(t + 1) := CLj.
Кортеж Fj = {xil,xii2,.,xi,j,.,xiN) отображает наилучшую позицию частицы i, которую она посещала, начиная с первой итерации. Обозначим функцию ^Ij=1fj{Xj) из выражения (1) через F(X), тогда в момент времени t+1 следующая оптимальная позиция частицы i рассчитывается по формуле: (Yi = Yi если F{X(t + 1)) < F(Y)
[у; = X(t + 1) если F(X(t + 1)) > F(Y) ^ 2
Величина max (Y{) i е {1,2,3, ...,М}, где M число особей в рое, определяет наилучшее решение полученное роем.
Предлагаемый алгоритм. На основе изложенного выше метода был разработан эвристический алгоритм оптимизации распределительных процессов в переработке ресурсов.
Первый такт работы алгоритма начинается с процесса генерации особей, образующих пчелиный рой. Координаты генерируемых особей соответствуют ограничениям (2)-(6). Каждой особи, на основе ее координат, ставится в соответствие значение целевой функции (1). Скорости всех сгенерированных особей равны нулю.
Следующая группа блоков (команд) выполняется итеративно: - блок «Определение статистики» описывает процесс нахождения величины y*(t)- координаты наилучшей достигнутой позиции роя найденной
за ? итераций и величины У;(0- координаты наилучшей достигнутой позиции частицы найденной за ? итераций. Под наилучшей позицией понимается такое положение частицы в пространстве, при котором значение функционала (1) максимально. Таким образом величина у*(Х) определяется для всего роя, а величина у; (£) -для каждой частицы в отдельности;
- блок «Расчет скоростей» описывает процесс расчета для каждой особи роя по формуле (11) новой скорости в каждом из пространств;
- блок «Перемещение особей» описывает процесс расчета для каждой особи роя по формуле (10) новых координат;
- блок «Расчет ЦФ» соответствует процессу вычисления целевой функции (1) для каждой особи роя, на основе новых координат.
Критерием остановки алгоритма является выполнение заданного числа итераций.
Экспериментальная часть. Исследуем рост погрешности алгоритма на размерностях 1-10, приравняв число итераций алгоритма и число особей роя 5. Часть результатов исследования приведена в таблице 1.
Таблица № 1
Погрешности алгоритма на задачах размерности 1-10_
Число Число
N п/п Размерность особей итераций Погрешность
1 1 5 3 0,033
2 2 5 5 0,0435
3 3 5 5 0,087
4 4 5 5 0,0675
5 5 5 5 0,072
6 6 5 5 0,064
7 7 5 5 0,07374
8 8 5 5 0,06234
9 9 5 5 0,07267
10 10 5 5 0,095
Погрешность алгоритма определялась по формуле:
г=-ыёГ где, (13)
- ^орс- оптимальное решение задачи, У - наилучшее из предложенных алгоритмом решение задачи.
Из таблицы 1 следует что в целом лавинообразное накопление погрешности отсутствует. Данное утверждение позволяет сделать предположение о том, что рост размерностей решаемых задач не требует пропорционального увеличения вычислительных ресурсов требуемых для получения приемлемого решения.
Как следует из условия, каждое решение задачи соответствует некоторому распределению ресурсов между производствами. В процессе работы алгоритма решения итеративно модифицируются, соответственно изменяя распределение ресурсов. Рассмотрим динамику изменения распределений ресурсов между производствами, в зависимости от числа итераций и количества особей роя. Результаты экспериментов частично отражены в таблице 2.
Таблица № 2
_Р Распределение ресурсов_
N Число Число
п/п особей итераций х1 х2 х3 х4 Отклонение
1 2 2 0,2 0,2 2,2 0,2 0,183125
2 3 3 1,2 1,2 0,2 1,2 0,096875
3 4 4 1,2 1,2 0,2 1,2 0,096875
4 5 5 2,2 1,2 2,2 0,2 0,074375
5 6 6 2,2 2,2 2,2 0,2 0,063125
6 7 7 2,2 2,2 2,2 0,2 0,063125
7 8 8 2,2 2,2 2,2 0,2 0,063125
8 9 9 2,2 0,32 2,2 0,8 0,055625
9 10 10 2,2 0,39 2,2 1,94 0,051875
10 11 11 2,2 0,53 2,2 1,91 0,045625
11 12 12 1,66 0,88 2,2 1,16 0,043125
12 13 13 2,2 2,04 1,42 0,59 0,048125
13 14 14 2,2 1,2 2,2 1,2 0,025625
14 15 15 2,2 1,2 2,2 1,2 0,025625
15 16 16 2,2 0,53 2,19 0,81 0,02375
16 17 17 1,99 1,66 2,2 1,64 0,006875
17 18 18 1,97 1,74 2,2 1,6 0,006875
18 19 19 1,46 1,52 1,8 1,81 0,0125
19 20 20 2,2 2,17 1,58 1,89 0,00375
Как следует из таблицы 2 ресурсы распределялись между 4 процессами {х1 — х4). Априорно было установлено что оптимальному распределению ресурсов (решению задачи) соответствует кортеж (2,2,2,2). Графически изменение распределения ресурсов между процессами приведено на рис. 2.
2.5
и Н-1-1-1-1-г
23456739 10 11 12 1? 14 15 16 17 13 19 2'."'
Рис.2 Зависимость распределения ресурсов от числа итераций и мощности роя
На основании данных представленных в таблице 2 и рис.2 можно предположить что с увеличением числа итераций и количества особей в рое получаемое распределение ресурсов стремится к оптимальному т.е. погрешность алгоритма снижается.
В рассматриваемом ниже примере поток ресурсов распределяется между четырьмя процессами. График временной сложности алгоритма (ВСА), на задачах размерности 1-20, приведен на рис.3.
0.001600
0,001400
0,001200 -—
0,001000 --
0,000800 ........................................................... -
0,000600 --
0,000400 —-
0,000200
0,000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 123456789 Ю 11 12 1? 14 1? 16 17 18 19 2'."'
Рис. 3 График ВСА На основании рис. 3 можно предположить что для задач размерности 120 ВСА возрастает линейно.
Выводы. На основе РБО- метода разработан эвристический алгоритм оптимизации распределительных процессов, позволяющий решать многомерные оптимизационные задачи. Предлагаемый алгоритм способен выходить из областей субоптимальных решений но в тоже время необходимо разработать адаптивные механизмы, препятствующие преждевременной сходимости. На задачах размерности 1-10 алгоритм позволяет определять суботимальные решения погрешность которых не превышает 0,1
Литература:
1. Золотарев А.А., Дидковский Д.О. Оптимальная параметризация в задачах распределения ресурсов [Текст]// Вестник Донского государственного технического университета, Т.9. ч.2 - Ростов-на-Дону: Изд. центр ДГТУ, 2009. с.5-12.
2. Лебедев Б.К., Лебедев В.Б. Поисковые процедуры канальной трассировки, базирующиеся на моделировании адаптивного поведения роя частиц в пространстве решений с неупорядоченным лингвистическим шкалированием [Текст]//Известия ЮФУ. Технические науки. -2009. -№ 12 (101). -С. 15-22.
3. Курейчик В.М. Биоинспированный поиск с использованием сценарного подхода [Текст]//Известия ЮФУ. Технические науки. -2010. -№ 7 (108). -С. 7-12.
4. Чернышев Ю.О., Венцов Н.Н., Мухтаров С.А. Алгоритм статической оптимизации передачи данных [Текст]//Известия ЮФУ. Технические науки. -2013. -№ 7 (144). -С. 136-141.
5. Побегайлов О.А., Шемчук А.В. Современные информационные системы планирования в строительстве [Электронный ресурс] // Инженерный вестник Дона, 2012. - №2 http://ivdon.ru/magazine/archive/n3y2012/963 (доступ свободный) - Загл. с экрана. - Яз. рус.
6. Сироткин А.В. Приоритетное планирование процессов информационного обеспечения в АСУП [Электронный ресурс]// Инженерный вестник Дона, 2012. - №1. http://www.ivdon.ru/magazine/archive/n1y2012/629 (доступ свободный) - Загл. с экрана. - Яз. рус.
7. Eberhart R., Kennedy J. A New Optimizer using Particle Swarm Theory // In Proceedings of the Sixth International Symposium on Micro machine and Human Science 1995 - P. 39-43
8. Engelbrecht A. Computational intelligence: an introduction - John Wiley and Sons Ltd., 2007 - 597p.
9. Abraham A., Grosan G. Swarm Intelligence in Data Mining -Springer, 2006
- 267p.
10. Чернышев Ю.О., Венцов Н.Н., Мухтаров С.А. Алгоритм статической оптимизации передачи данных [Текст] //Известия ЮФУ. Технические науки.
- 2013. - № 7 . - С. 136-141.