http://vestnik-nauki.ru/
УДК: 519.858; 004.02
ОПТИМИЗАЦИЯ РАСПРЕДЕЛИТЕЛЬНЫХ ПРОЦЕССОВ НА ОСНОВЕ АНАЛИТИЧЕСКИХ МЕТОДОВ И ЭВРИСТИЧЕСКИХ АЛГОРИТМОВ
А.А. Золотарев, Н.Н. Венцов, О.И. Агибалов, А.С. Деева
DISTRIBUTION PROCESSES OPTIMIZATION BASED ON ANALYTICAL METHODS
AND HEURISTIC ALGORITHMS
A.A. Zolotarev, N.N. Ventsov, O.I. Agibalov, A.S. Deeva
Аннотация. Разработаны аналитические и компьютерные методы моделирования процессов оптимального планирования, распределения ресурсов и обработки данных. Рассматриваемые средства анализа задач скалярной и векторной оптимизации в приложении к однопродуктовым и многопродуктовым распределительным процедурам позволяют установить количественные предпочтения между альтернативами на основе исследования задач оптимальной параметризации критериальной свёртки. Реализованы исследования оптимизации массово-параллельных операций обработки данных общего характера, основанных на возможностях графических адаптеров GPU (Graphics Processing Unit) как средств повышения производительности компьютеров. Полученные результаты находят приложение в задачах оптимального управления наукоёмкими и интеллектуальными системами, при проектировании архитектуры высокопроизводительных программных средств с использованием алгоритмов параллельной и многопоточной обработки данных, основанных на возможностях современных графических процессоров.
Ключевые слова: распределительные процессы; оптимизация; аналитические методы; эвристические алгоритмы; метод роя частиц; генетический алгоритм; GPGPU.
Abstract. Analytical and computing methods of optimal scheduling processes modeling, resources distribution and data processing are developed. Proposed tools of analyzing tasks of optimization of single-product and multi-product distributional procedures allow to evaluate quantitative preferences between alternatives based on researching tasks of optimal parametrization of criteria-based convolution. The research of massively-parallel general data processing operations optimization based on abilities of GPUs (Graphics Processing Units) as the devices for increasing algorithms performance is carried out. The results may be applied for solving tasks of optimal management of high-tech and intellectual systems, for designing of high-performance tools architectures with the use of algorithms of parallel and multithreaded data processing based on the abilities of modern graphics processors.
Key words: distribution processes; optimization; analytical methods; heuristic algorithms; particle swarm optimization; genetic algorithm; GPGPU.
Введение
Современные методы исследования актуальных задач оптимизации (векторной, многопродуктовой и др.) находят широкое приложение и развитие в различных областях техники, технологий и экономики. Ни одно успешное предприятие не может обойти стороной проблему распределения ресурсов между отдельными своими процессами.
В последнее время модели многокритериального выбора и оптимального распределения ресурсов находят применение и имеют перспективу приложения в современных информационных технологиях, например, для решения таких актуальных задач, как:
- управление сетевыми ресурсами и потоками данных в программно конфигурируемых компьютерных сетях и мобильных телекоммуникационных системах;
- высокопроизводительные вычисления и параллельная обработка данных;
- оптимальная организация и использование облачных архитектур и сервисов.
Развитие указанных высокотехнологичных направлений обладает несомненным
потенциалом полезности, оцениваемой с позиций приемлемого компромисса нескольких формализованных целей. Разработка строгих методологий для объективных количественных оценок достоинств и недостатков отмеченных 1Т-технологий и базирующихся на них сервисов, создание соответствующих инструментальных средств измерения их эффективности - все это лежит на пути приложения методов моделирования соответствующих систем и их многокритериальной оптимизации.
Постановка задачи
Традиционно схему распределения ресурсов объема £ по конечному числу процессов N можно отобразить в виде рис. 1.
X.
а,, а2,
Съ С],
к к
К
С,,
4 А,
с» Аь К
Рисунок 1 - Схема распределения ресурсов
Такая распределительная система характеризуется следующими векторными величинами: количеством распределенного в каждый /-ый процесс ресурса X = {X/},
потерями сырья Р = {pi} , планируемыми объемами переработки А = {а/}, весовым вектором
процессов С = {с/} - характеристикой их эффективности, технологическими и/или
экономическими ограничениями на объемы переработки Н = } , Ь = } сверху и снизу,
соответственно.
Обобщенную модель рассматриваемой системы можно представить в следующей векторной форме [1]
Г(XАНЦД,..^]={Ру} _, I•(X + Р) р ^ 0 < Ь < X < Н
о
X, А е Я
; 1 Ч1}^, 0 = {°}г
N
(1) (2)
http://vestnik-nauki.ru/
Здесь строка критериальной матрицы Ж (X, А) с номером / характеризует эффективность распределения ресурсов в объеме Х/ в /-ый процесс (например, // (X, А)
при (/=1) может отражать процессные издержки, а при (/=2) - соответствующие доходы, при (/=3) - измеримый экологический или социальный результат функционирования /-го процесса и т.п.). При этом каждый /-ый вектор-столбец Б/ матрицы (1) математически
формализует понимание оптимальности /-ой цели по всем / процессам.
В соотношениях для ресурсных ограничений (2) символ Р обозначает один из элементов множества отношений порядка Ре{<, <, =, >, >}, возможно отличный для каждого
скалярного составляющего векторного ограничения (2), а последнее неравенство векторов Ь, X, Н следует понимать как неравенство их соответствующих компонент.
В условиях аддитивности характеристик /-ой цели на множестве процессов общая критериальная функция отдельной такой цели, учитывающая взвешенный вклад каждого /-го процесса (с весами С/ ), представима в виде линейной свертки
W ( A>0) C j • Fj (X>A)=S c*fJ(x-A)
i=1
C j = [ ClJ , c2j cij CNj ] J=TM
(3)
Тогда для нахождения оптимального распределения ресурсов X = {X} между
процессами, при котором вся распределительная система функционировала бы максимально эффективно с точки зрения сформулированной модели (1)-(3), необходимо выполнить анализ следующей задачи векторной оптимизации, представленной в виде:
W (X, A, L, H, 0) ^ Opt, (X, A, L, H) e G
^ Г N I -(X + P)p S]
G = •! X, A e Rn V ' 1 [ 0 < L < X < H
C = {cj }eZc e RMxN, 0 = {0}
(4)
О T) N xM
Здесь ZC замкнутое ограниченное подпространство матриц C в R с неотрицательными элементами, т^ ZC = {с = {cj } e RMxN оператора оптимизации Opt = {Opt. } _ каждая его скалярная компонента Opt.
v. J )j=\M
понимается как один из элементов: Optj e {min, max} •
На основе метода критериальной среднеквадратичной свертки («идеальной точки») задача векторной оптимизации сводится к скалярной [1]
Множество методов анализа подобных задач, условно можно разделить на детерминированные и стохастические [2] Основные различия между ними в том, как определяются внутренние параметры алгоритма^ В детерминированных такие параметры заранее известны, а в стохастических они принимают те или иные значения в зависимости от некоторых установленных вероятностей
Детерминированные и стохастические методы
Широкий спектр известных детерминированных алгоритмов является классикой математической оптимизации и широко освещен в специальной и учебной литературе •
cj а
0}
а для векторного
http://vestnik-nauki.ru/
2016, Т. 2, №1
Наиболее популярными среди стохастических сегодня являются Метод Роя части и Генетические методы.
Во многих приложениях, детерминированные алгоритмы часто оказываются более эффективными, чем стохастические, в частности на задачах небольших размерностей. Дело в том, что затрата времени многих детерминированных алгоритмов возрастает экспоненциально при увеличении количества неизвестных переменных целевой функции. Из-за этого после определённой размерности задачи наступает момент, когда применение таких алгоритмов попросту нецелесообразно.
Стохастические же методы спасает наличие в них вероятности, которая является одновременно и плюсом и минусом подобных подходов. Благодаря тому, что параметры определяются случайно, так же случайно они могут оказаться оптимальными или близкими к оптимальным значениям. Таким образом, увеличивается вероятность быстрого нахождения оптимума с минимальным риском сваливания в локальные оптимумы, опять же, благодаря наличию вероятностных параметров, способных «вытянуть» алгоритм из локального максимума или минимума.
Стохастические алгоритмы также можно отнести к классу эвристических, поскольку они не имеют строгого обоснования сходимости. Детерминированные же, имея чётко выстроенный алгоритм, основанный на математических выводах, дают корректное представление о свойствах сходимости и обусловленности.
В своих исследованиях мы опирались на тестирование двух эвристических стохастических алгоритмов - метода роя частиц и генетического алгоритма.
Метод роя частиц
Метод роя частиц нацелен на поиск глобального оптимума критериальной свертки задачи (4), имитируя так называемый роевой интеллект. Он управляет перемещающимися в пространстве частицами, жизнь каждой из которых начинается с генерации в некоторой случайно позиции. Каждая частица обладает своим лучшим значением, полученным за всё время работы алгоритма, а также знает о том, до какого оптимума добрался весь рой. При этом оптимум роя определяется как лучшее решение, достигнутое какой-либо частицей. Перемещаясь в пространстве, частицы изменяют свои координаты на некоторую величину скорости с учётом заданной точности. Скорость обуславливает направление частицы к точке, рассчитанной, исходя из лучшего положения самой частицы и лучшего положения роя. Алгоритм итерационный, и прерывается при условии достижения требуемой точности, отсутствия дальнейшей сходимости, либо других обоснованных условий [3].
Тестирование алгоритма роя частиц (РЧ) производилось на 4-мерной задаче распределения ресурсов (3)-(4) (при N=4, М=1). Как говорилось ранее, стохастические эвристические методы показывают свою эффективность на задачах большой размерности, однако, закономерности их работы выявляются и при указанных параметрах для линейной модели.
Предварительное дублирование решения задачи альтернативными методами показало, что её оптимум является X = {Х15 Х2, Х3, Х4 } = ^2,2,2,2^ . На рис. 2 приведена
итерационная последовательность решений, полученных методом РЧ.
Из рис. 2 виден сам ход сходимости этого решения. Постепенно к 20-й итерации все Х/, сошлись к значениям, близким к 2 с определённой точностью.
Ранее упоминалось, что недостатком детерминированных алгоритмов является полиномиальное/экспоненциальное увеличение времени их сходимости при возрастании размерности решаемой задачи. Для проверенных нами стохастических алгоритмов эта зависимость оказалась линейной, что справедливо как для метода роя частиц, так и для генетического алгоритма [3] (рис. 3).
http://vestnik-nauki.ru/
OS
2 3 4 S 6 7 Е 9 10 11 12 13 14 15 16 17 18 1» 20 Итерация
Рисунок 2 - Сходимость метода роя частиц
1 Время, сек.
1 2 3 4 5 6 7 В 9 10 11 12 13 14 15 16 П 13 19 20 Размерность Рисунок 3 - Вычислительная сложность метода роя частиц
Генетический алгоритм
Сам генетический алгоритм (ГА) был использован нами для тестирования многопоточности по технологиям GPGPU (General Purpose Graphics Processing Units). На самом деле, и ГА, и метод РЧ оперируют большим количеством однородных объектов (частиц или хромосом), которые напрямую не зависят друг от друга и, таким образом, могут быть обработаны параллельно. Параллелизм оказывается ещё одним из достоинств стохастических алгоритмов по сравнению с большинством детерминированных.
В то время как метод роя частиц имитирует роевой интеллект, генетические методы замахиваются на сам процесс дарвиновской эволюции. Так каждый вектор аргументов X = } целевой функции в теории ГА называется хромосомой, состоящей из генов -
отдельных его компонент X Их значения кодируются двоичным, десятичным, либо иным способом, подвергаясь изменениям специальными генетическими операторами -скрещиванием, мутацией и инверсией. Изменённые значения преобразуются обратно в числовой формат, после чего подставляются в целевую функцию задачи. На каждой итерации каждая хромосома доставляет новое значение целевой функции или, как оно называется, значение приспособленности. В следующее поколение отбираются особи с
наилучшими значениями приспособленности, причём, происходит это с учётом вероятностей, прямо пропорциональных этим значениям. Поэтому ни одна хромосома не исключается из отбора, но шансы её продолжить свой род тем ниже, чем меньше значение её целевой функции [4].
Распараллеливая ГА, мы пришли к архитектуре, когда каждая хромосома обрабатывается в независимом потоке на графическом процессоре (рис. 4).
- хромосома
Поток Поток Поток Поток Поток Поток Поток Поток Поток Поток Поток Поток 1 ... г 1 ... г I ... г I ... г
Рисунок 4 - Параллельная архитектура генетического алгоритма на графическом процессоре
Известно, что использование GPGPU оправдано, когда данных слишком много, либо слишком сложны алгоритмы их обработки. В нашем случае ГА работает с сотнями, а иногда и с тысячами хромосом и эффект от их распараллеливания очевиден. Однако наши измерения длительности выполнения отдельных шагов алгоритма позволили обнаружить несколько интересных закономерностей, многие из которых свойственны всем алгоритмам, работающих на графических процессорах [5-7] (рис. 5).
Тестирование производилось одновременно для алгоритма, полностью реализуемого на центральном процессоре (ЦП), и для алгоритма, распараллеленного на GPU. Из рисунка видно, что GPU-алгоритм действительно сработал быстрее - 165 миллисекунд по сравнению с 211 для ЦП-алгоритма. Однако, также видно, что из этих 165 миллисекунд 96 было потрачено на инициализацию программы - подготовка среды GPGPU, создание переменных и другие библиотечные операции, повлиять на которые в рамках технологии не представляется возможным. В то же самое время все эти операции на ЦП-алгоритме потребовали 5 миллисекунд из 211.
Исходя из этой зависимости, на рис. 6 выявляется, в какой именно момент, а, точнее, при каком количестве хромосом использование GPU действительно ускоряет выполнение алгоритма.
http://vestnik-nauki.ru/
Рисунок 5 - Соотношения общего времени работы генетического алгоритма и времени инициализации
зеро МО с ом
*-Время ЦП (мс) -Время GPU (мс)
Рисунок 6 - Вычислительная сложность генетического алгоритма на ЦП и GPU
Количество хромосом обычно возрастает пропорционально размерности целевой функции. Точка ускорения (пересечения линий) при этом находится в районе 3000 - 4000 хромосом. Отсюда также можно увидеть, что временная сложность алгоритма возрастает линейно с увеличением сложности задачи, равно как и для метода РЧ. Это справедливо как для ЦП-алгоритма, так и для алгоритма на GPGPU.
Заключение
Стохастические эвристические методы сегодня обретают вторую жизнь. Этому способствует и их вычислительная простота, их высокая степень распараллеливаемости. Присутствие вероятностных величин серьёзно тормозит алгоритмы, не давая им возможность эффективно работать на задачах малой размерности. Однако она же даёт им
«шанс» существенно быстрой сходимости к оптимуму, когда размерность очень велика. Возрастает актуальность исследований на развитие технологий параллельной обработки данных. Это связано со всё большим распространением массово-параллельных устройств -GPU, появляющихся не только в персональных компьютерах, но также и в мобильных устройствах. Полученные в данном исследовании результаты по работе со стохастическими методами, особенно с их параллельными реализациями, могут быть перенесены и на другие алгоритмы благодаря общности базовых зависимостей, распространяющихся на класс стохастических эвристических методов в целом, а не на отдельные алгоритмы в частности.
В исследовании не только иллюстрированы и проверены ряд существенных закономерностей работы GPU для алгоритмизации оптимизационных моделей, но и выработаны конкретные рекомендации по целесообразности их использования при решении задач разных классов.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Золотарев А.А. Методы оптимизации распределительных процессов. М.: Инфра-Инженерия, 2014. 160 с.
2. Colaco Marcelo J., Dulikravich George S. A Survey of Basic Deterministic, Heuristic and Hybrid Methods for Single Objective Optimization and Response Surface Generation. METTI IV -Thermal Measurements and Inverse Techniques Rio de Janeiro, Brazil, November 8-13, 2009. URL: http://maidroc.fiu.edu/Publications/ConferencePapers/Resume/CP10.pdf
3. Венцов Н. Н. Эволюционный подход к моделированию распределительных процессов // Инженерный вестник Дона [Электронный ресурс], 2013. - № 4. URL: http://ivdon.ru/magazine/archive/n4y2013/1886
4. Goldberg David E. Genetic Algorithms in Search, Optimization, and Machine Learning. Massachusetts: Addison-Wesley, 1989. 372 p.
5. Боресков А.В. Параллельные вычисления на GPU. Архитектура и программная модель CUDA / А.В. Боресков, Н.Д. Марковский, Д.Н. Микушин и др. М.: Изд-во МГУ, 2012. 336 с.
6. Zololaterev A.A., Agibalov O.I. Abilities of Modern Graphics Adapters for Optimizing Parallel Computing // World Applied Scientific Journal, 2013. V. 23 (5). P. 644-649.
7. Агибалов О.И., Золотарев А.А. Современные графические процессоры как средства оптимизации параллельных вычислений // Наукоемкие технологии в космических исследованиях Земли, 2014. Т.6. № 4. С. 60-63.
ИНФОРМАЦИЯ ОБ АВТОРАХ
Золотарев Александр Арсеньевич ФГАОУ ВО «Южный федеральный университет», г. Ростов-на-Дону, Россия, кандидат физико-математических наук, профессор, заведующий кафедрой космического приборостроения и инновационных технологий. E-mail: zolotarevaa@mail.ru
Zolotarev Alexander Arsenyevich FSEI HE «Southern Federal University», Rostov-on-Don, Russia, Candidate of Physico-Mathematical Sciences, Professor, Chairman of Space Instrumentation and Innovative Technologies Department.
E-mail: zolotarevaa@mail.ru
Венцов Николай Николаевич ФГАОУ ВО «Южный федеральный университет», г. Ростов-на-Дону, Россия, кандидат технических наук, доцент кафедры космического приборостроения и инновационных технологий. E-mail: vencov@list.ru
Ventsov Nikolai Nikolaevich FSEI HE «Southern Federal University», Rostov-on-Don, Russia, Candidate of Technical Sciences, Associate Professor of Space Instrumentation and Innovative Technologies Department. E-mail: vencov@list.ru
Агибалов Олег Игоревич ФГАОУ ВО «Южный федеральный университет», г. Ростов-на-Дону, Россия, аспирант института математики, механики и компьютерных наук. E-mail: AgibalovO@yandex.ru
Agibalov Oleg Igorevich FSEI HE «Southern Federal University», Rostov-on-Don, Russia, postgraduate student of Institute of Mathematics, Mechanics and Computer Science. E-mail: AgibalovO@yandex.ru
Деева Анастасия Станиславна ФГАОУ ВО «Южный федеральный университет», г. Ростов-на-Дону, Россия, студент института высоких технологий и пьезотехники. E-Mail: anastasiya.deewa1994@yandex.ru
Deeva Anastasiya Stanislavna FSEI HE «Southern federal university», Rostov-on-Don, Russia, undergraduate student of Institute of High Technologies and Piezoelectric Engineering. E-mail: anastasiya.deewa1994@yandex.ru
Корреспондентский почтовый адрес и телефон для контактов с авторами статьи: 344090, Ростов-на-Дону, ул. Мильчакова, 10, ИВТиПТ ЮФУ, каб. 818, Золотарев А. А.
тел. 8(8-863)222-34-01, 8-9888988368