Научная статья на тему 'Роевой алгоритм планирования работы многопроцессорных вычислительных систем'

Роевой алгоритм планирования работы многопроцессорных вычислительных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
310
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MULTIPROCESSOR SYSTEM / PLANNING / MULTI-LEVEL PART / DISTRIBUTION TASK OPTIMIZATION / ANT ALGORITHM / МНОГОПРОЦЕССОРНАЯ СИСТЕМА / ПЛАНИРОВАНИЕ / МНОГОУРОВНЕВАЯ ОЧЕРЕДЬ / РАСПРЕДЕЛИТЕЛЬНАЯ ЗАДАЧА / ОПТИМИЗАЦИЯ / МУРАВЬИНЫЙ АЛГОРИТМ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лебедев Б. К., Лебедев О. Б., Лебедева Е. О.

В работе рассматривается задача составления плана выполнения комплекса программ, в многопроцессорных вычислительных системах (МВС). МВС состоит из нескольких параллельно работающих процессоров. На вход МВС поступает множество независимых потоков заявок (программ), которые необходимо распределить между процессорами. Вычислительная система может состоять как из идентичных, так и из различных по производительности процессоров. Учитывается время переключения между различными классами заявок, поступающих на процессор. Решение задачи планирования представляется как задание распределения заявок по процессорам, и определение очереди заявок на обслуживание процессором. Оптимизация при планировании в случае многоуровневой очереди заключается в минимизации времени выполнения всех заявок. В основу работы представленного алгоритма положены механизмы адаптивного поведения муравьиной колонии. Временная сложность этого алгоритма зависит от времени жизни колонии (число итераций), количества исполнителей и числа работ.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Swarm algorithm for scheduling of multiprocessor systems

We consider the problem of drawing up the implementation plan of the complex programs in multiprocessor computer systems (MCS). MCS is composed of several processors working in parallel. On MCS is input multiple independent streams of applications (programs) to be distributed among the processors. The computing system may consist of identical or different from the performance of processors. Taken into account when switching between different classes of applications received by the processor. The solution is presented as a job application distribution planning problem for processors and determining a queue of requests for service processor. Optimization of planning in the case of multi-level stage is to minimize the execution time of all applications. The basis of the work of the algorithm put the mechanisms of adaptive behavior of an ant colony. The time complexity of this algorithm depends on the lifetime of colonies (number of iterations) and the number of works and performers.

Текст научной работы на тему «Роевой алгоритм планирования работы многопроцессорных вычислительных систем»

Роевой алгоритм планирования работы многопроцессорных вычислительных систем

Б.К. Лебедев, О.Б. Лебедев, Е.О. Лебедева Южный федеральный университет, Таганрог

Аннотация. В работе рассматривается задача составления плана выполнения комплекса программ, в многопроцессорных вычислительных системах (МВС). МВС состоит из нескольких параллельно работающих процессоров. На вход МВС поступает множество независимых потоков заявок (программ), которые необходимо распределить между процессорами. Вычислительная система может состоять как из идентичных, так и из различных по производительности процессоров. Учитывается время переключения между различными классами заявок, поступающих на процессор. Решение задачи планирования представляется как задание распределения заявок по процессорам, и определение очереди заявок на обслуживание процессором. Оптимизация при планировании в случае многоуровневой очереди заключается в минимизации времени выполнения всех заявок. В основу работы представленного алгоритма положены механизмы адаптивного поведения муравьиной колонии. Временная сложность этого алгоритма зависит от времени жизни колонии (число итераций), количества исполнителей и числа работ.

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

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

Введение

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

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

Российские и зарубежные ученые разработали большое число алгоритмов и методов решения распределительных задач различающихся как эффективностью, так и областью применения. Поскольку РЗ принадлежат к классу КР-полных задач, разработка эффективных алгоритмов их решения по прежнему остается актуальной проблемой теории расписаний. Разработанные методы решения распределительной задачи принято разделять на два больших класса: точные и приближенные. Среди существующих известных и эффективных точных методов решения РЗ

наибольшее распространение получили алгоритмы, построенные по схеме метода ветвей и границ (МВГ) [3]. Существенным недостатком метода ветвей и границ является экспоненциальное увеличение сложности решения относительно размерности РЗ. В ряде работ [4] предлагаются подходы, позволяющие сократить комбинационную сложность алгоритмов, построенных по схеме метода ветвей и границ [2]. Особенностью метода ветвей и границ является то, что всегда существует вероятность полного перебора и необходимы достаточно большие временные затраты, особенно при решении задач повышенной размерности.

В связи с этим широкое распространение получили приближенные методы, ориентированные на получение некоторого приемлемого или допустимого решения [5;6]. Достоинство таких методов состоит в высокой скорости решения, характеризующиеся полиномиальной или, даже, линейной зависимостью от размерности задачи. К числу недостатков следует отнести невысокую точность методов данного класса. К числу наиболее распространенных приближенных методов относятся так называемые списочные и эвристические методы. Обладая в основном, линейной сложностью решения относительно размерности задачи, списочные методы крайне эффективны с точки зрения времени решения РЗ. С другой стороны, отклонение получаемых решений от оптимального значения может достигать 30% , что часто не удовлетворяет предъявляемым требованиям к решениям. Высокая трудоемкость точных методов и низкая эффективность приближенных списочных методов резко снизили их практическое применение. В связи с этим большая часть разработок была направлена на применение эвристических подходов. Анализ существующих алгоритмов (последовательных, итерационных и т.д.), приведенный в [5-7] показывает, что для разработки более эффективного алгоритма, который отвечает предъявляемым современным требованиям, необходимы новые технологии и

подходы. В последние годы интенсивно разрабатывается научное направление, объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений [8,9]. Одним из таких направлений являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта [10-13].

Такие методы являются итеративными, эвристическими методами случайного поиска. Особенно наблюдается стремительный рост интереса к разработке алгоритмов, инспирированных природными системами. Среди них активно развиваются методы роевого интеллекта (Swarm Intelligence) [810], в которых совокупность простых агентов конструирует стратегию своего поведения без наличия глобального управления. Одним из новейших мультиагентных методов интеллектуальной оптимизации является метод муравьиной колонии [9]. В работе излагается метод планирования комплекса программ в многопроцессорных вычислительных системах, базирующийся на моделировании адаптивного поведения муравьиной колонии.

1. Постановка задачи оптимизации обслуживания многоочередных

структур данных

Пусть МВС состоит из n идентичных, параллельно работающих процессоров E={ei\i=1,2,...,nj. На вход МВС поступает множество m независимых программ W={wj\j=1,2,.,m}, которые требуется распределить между процессорами. Если время rj непрерывного использования процессора для выполнения каждой программы Wj, одинаково для всех процессоров, то множеству W сопоставляется множество R={rJ\J=1,2,...,m}. l-м решением задачи планирования в этом случае является множество Vl={Wi\i=1,2,...,n}, где Wi подмножество программ, выполняемых на процессоре е.

(Vi,j)[((i^j)&(WleV)&(WJeVl))^((WllnWJ =0)&(uWr W))]. (1)

Запланированная вариантом решения V загрузка программами каждого процессора et оценивается ресурсом:

Rlt = ^ где rk\wkeWll . (2)

k

Если производительность процессоров различна, то задается время rtj непрерывного использования процессора et для выполнения программы Wj. Таким образом, множествам E и W сопоставляется множество R={riJ\ i=1,2,...,n; j=1,2,...,m}. В этом случае формула (2) примет вид:

Rlt = Ertk, где k\Wk^Wlt . (3)

к

Представим некоторую очередь программ, поступающих на процессор

l

et в виде списка P i=p1,p2,p3,...,ps,...,pm, где ps это индекс программы, у

l

которой порядковый номер в очереди P t равен s.

Загрузка программами каждого процессора, рассчитываемая по формулам (2) или (3), не учитывает время переключения между различными заявками. Отметим, что время переключения для каждой пары соседних заявок в очереди имеет свое значение.

Продолжительность переключения между соседними в очереди заявками, поступающими на обслуживающий прибор et, задается матрицей переключений Tt=\\tks\\mm

Таблица № 1

Матрица переключений Т

* 112 tl3 t14 t15

t21 * t23 t24 t25

t31 t32 * t34 t35

t41 t42 t43 * t45

t51 t52 t53 t54 *

^ - время переключения между соседними в очереди заявками ^^ Очередь заявок, поступающих на обслуживающий прибор, с учетом времени переключения между различными соседними заявками примет вид:

1

Р г = Р1, ¡12, Р2, ¿23, Р3, ,■■■, Ри, ¡3,3+1, Ри+1 ,■■■ , Р т-1, ¿т-1,т , _Рт.

Здесь ¿и,и+1 - время переключения между соседними в очереди Р\ программами с порядковыми номерами и и и+1.

Общее время переключения между заявками, поступающими на вход обслуживающего прибора е, определится как сумма переключений:

Тг = ^ ¿к-1,к , где к\ ¡ы,к е Р11. (4)

к

Таким образом, загрузка Я заявками процессора е, с учетом времени переключения между соседними заявками в очереди Р ¡, а также времени гу непрерывного использования процессора ег для выполнения каждой программы Wj е определится как:

Я1, =Т, + ^гк, где k\wkеWll (5)

к

Для обеспечения максимальной эффективности использования существующих ресурсов необходимо упорядочить очередь заявок в каждом списке Р\. Будем считать, что Р1=(Р1\1=1,2^..,п} - множество упорядоченных списков, задающих очередность обработки заявок на обслуживающих приборах.

В этом случае решением Т задачи распределения заявок между обслуживающими приборами является совокупность двух множеств V и Р,

т.е. Т=(V1; Р1).

В качестве оценки решения Т рассматривается величина:

Р=тах($1 (6)

г

Наиболее распространённым критерием оптимизации при планировании в случае многоуровневой очереди является «минимаксный» критерий:

Р=тт Р = тт тах (Я(7) I I г

Это связано с тем, что в большинстве реальных задач при планировании чаще всего требует решения задача уменьшения времени выполнения всех заявок. Поскольку, чем быстрее СМО обслуживает поступающие заявки, тем выше ее производительность, а значит, и выше экономическая эффективность предприятия, использующего данную систему.

Для отображения распределения заявок по обслуживающим приборам используется полный двудольный граф Ипт=(ЕиЖ, и), где Е={е\1=1,2,...,п} -множество вершин (первая доля), соответствующих множеству обслуживающих приборов, а Ж=^\'=1,2, - -,т} - множество вершин (вторая доля), соответствующих множеству заявок (потоков). и - множество ребер, связывающих вершины множества Е с вершинами множества W. Конкретное решение задачи распределения заявок представляется в виде подграфа И1=(ЕиЖ, и1). И^Ипт, и1^и. Вершина WjeWсвязана с вершиной в,еЕ в том и только в том случае, когда Wj назначена в е. Пусть и ^ множество ребер двудольного графа И, связывающих вершину е, с вершинами множества W i. цЦ =Ц. Для наглядности представления конкретного распределения заявок (рис. 1) множество заданий W сгруппировано в подмножества Wi, где Wi-подмножество заявок, поступающих на обслуживающий прибор ei.

Отличительной особенностью представленного двудольного графа И=(Еи$¥, и1) является то, что число ребер множества и1\ равно числу вершин множества Каждое ребро щеи, с одной стороны, инцидентно вершине е, а с другой стороны, инцидентно одной и только вершине WkEW.

Назовем двудольный граф, представляющий распределение заявок, граф - распределением

И . Отметим, что в графе - распределении И локальная степень любой вершины WjeW равна единице, а локальная степень вершины е■ равна мощности множества W1i, т.е. р^)=1, р(ег)= \ W1i\.

Таким образом, поиск распределение заявок сводится к поиску на полном двудольном графе Нпт подграфа Н.

Рис. 1 - Интерпретация распределения программ в МВС

2. Разработка алгоритма планирования на основе моделей адаптивного поведения муравьиной колонии

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

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

и метаэвристический метод в целом. Базовый метод заключается в реализации адаптивной итерационной процедуры поиска лучшего решения среди решений, формируемых с помощью встроенной процедуры. В качестве встроенной процедуры служит конструктивный алгоритм построения муравьем некоторой конкретной интерпретации решения. Конструктивный алгоритм, построенный на модели адаптивного поведения искусственных муравьев, играет ключевую роль [8]. Не менее важное значение имеет модель окружающей среды, используемая в качестве посредника при обмене информацией. Классификация гибридных метаэвристик детально рассмотрена в работе [14-16].

В нашем случае в качестве интерпретации распределения заявок по обслуживающим приборам служит двудольный граф - решения Н1.

Рассмотрим принципы планирования методами муравьиной колонии. Будем считать, что подсчет величины Я1, производится по формуле (5). Поиск оптимального решения осуществляется по критерию Р (см.7).

Работа поисковой процедуры начинается с построения в соответствии со спецификой решаемой задачи графа поиска решений (ГПР). Структура ГПР должна позволять формировать отображение и поиск интерпретации Ю1 решения Z1=(Vl;P1). ГПР формируется на основе интеграции трех составляющих - полного двудольного графа Нпт, полного графа О и звездного графа ОZ.

На первом этапе формируется полный двудольный граф Нпт =(ЕиЖ, П1), используемый для построения интерпретации множества V. Вторая составляющая графа поиска решений связана с необходимостью упорядочивания заявок, т.е. фактически введения приоритета для заявок каждой группы потоков, обслуживаемых одним прибором. Этот этап связан с диверсификацией графа поиска решений и организацией поиска решений на этом графе.

На втором этапе построения графа поиска решений формируется граф ОИпт=(Еи^¥, и1ии2) на основе интеграции двух графов: полного двудольного графа Иnm=(EuW, и1) и полного графа G=и2). Другими словами ОИпт состоит из двух подграфов - Иnm=(EиW, и1) и подграфа 0=^,и2), использующих одно множество вершин W. \и1\=пт, \ и2\=т(т-1). В графе GИnm=(EuW,U1uU2) каждая вершина е1ЕЕ связана со всеми вершинами множества W. Каждая вершина wJ■eW, с одной стороны связана со всеми вершинами множества Е, а с другой стороны связана со всеми вершинами множества W. Третий этап диверсификации ГПР связан с добавлением третьей составляющей ГПР - звездного графа GZ =(ЖиО, и3). Используемая в качестве стартовой вершины центральная вершина О звездного графа GZ, связывается множеством ребер и3 с каждой WjeW, \и3\=т. Звездный граф GZ предназначен для выбора первой вершины WjeW, включаемой в состав маршрута м1. Таким образом, диверсифицированный граф поиска решений имеет вид: D=ИnmиGиGZ, В=(Еи^¥иО,и1 ии2ии3).

Отметим, все три составляющие графа D - полный двудольный граф Ипт, полный граф G и звездный граф GZ используют одно множество вершин W.

Локальные степени вершин графа D: р(ег)=т. р^)=п+т. р(О)=т.

На рис. 2 приведен диверсифицированный граф поиска решений D для

\Е\=3, \Щ=5.

Ш=((е^\1=1,2,3и=1,2,3,4,5}.

и2=(№&)\Щ1 1=1,2,3,4,5; ■=1,2,3А,5}.

и3={(О&№=1Л3А,5}.

Интерпретация Ю1 на ГПР Б решения задачи загрузки заявками

обслуживающих приборов с учетом времени ^ переключения между

1

различными заявками в очереди Р и а также времени г^ непрерывного использования процессора в1 для выполнения каждой заявки Wj включает две части. Первая часть представляет собой маршрут М, построенный агентом, стартующим из вершины О на полном подграфе О=(Ж, и2) графа Б. Маршрут М начинается с вершины О и включает все вершины подграфа О.

Вторая часть представляет собой подграф Н1=(ЕиЖ, П11) полного двудольного графа Нпт=(ЕиЖ, и1), и11^1Л, \П11\=т.

Н1

отражает разбиение

множества вершин Ж на подмножества Ж1,. Ю1 =(М, Н1).

На основе маршрута М1 и подграфа Н для каждого обслуживающего прибора е1 определяется множество заявок Ж1, и формируется очередь Р,. Заявки каждого подмножества Ж поступают на обслуживающий прибор е, в том порядке, в котором они расположены в маршруте М1 друг относительно друга. Время к переключения между соседними заявками ws) в очереди Р\ определяется из таблицы 1.

Пример. Пусть на графе поиска решений Б, представленном на рис. 2, построен маршрут М =о ^ w1 ^ w5 ^ ^ w4 и сформирован граф Н,

задающий разбиение множества заявок Ж на подмножества: Ж11

1

^2={-^3}; ^3=^4}. Распределение заявок по обслуживающим приборам, с учетом времени ^ переключения между различными заявками, представлено на рис. 3. На рис. 4 представлено решение 21=(У ;Р1) соответствующее

ю'=(М, Н).

Рис. 3 - Распределение заявок по обслуживающим приборам, с учетом

времени

ТУ2 ТУ; IV! ¡52 \У4 -►>

е1 е: ез

Рис. 4 - Полученное решение

Рассмотрим базовую поисковую процедуру. Поиск решения начинается с задания размера популяции искусственных муравьев. Вершина О в графе О является стартовой для всех муравьев. Моделирование поведения муравьёв связано с распределением феромона на ребрах графа О. На начальном этапе на всех ребрах и=и1ии2ии3 графа О откладывается одинаковое

(небольшое) количество феромона равное Q/v, где v=\U\. Параметр Q задается априори. Будем обозначать граф Б после отложения на нем на итерации t феромона, как Б^). После начального отложения - 0(0). Процесс поиска решений итерационный. Каждая итерация t включает 3 этапа.

На первом этапе каждой итерации t выполняются процедуры муравья. Каждый агент а1 формирует на ребрах графа Б(и1) интерпретацию решения -свой собственный граф Н*(0 и маршрут На основе интерпретации

формируется решение ^(0=(^(0;Рг(0) для которого подсчитывается оценка решения Р

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

т1 (t)=Q/Fl(t),

где ^номер итерации, Q - общее количество феромона, откладываемое муравьем на ребрах множества и(^, Р^) - целевая функция для решения, полученного муравьем а1 на ^ой итерации. Чем меньше Р^), тем больше феромона откладывается на ребрах и, следовательно, тем больше вероятность выбора этих ребер при построении интерпретации решения /Б1=(М1,Н1)

на следующей итерации.

Обозначим как /¡() суммарное количество феромона, скопившееся на каждом ребре щеи1ии2ии3 ГПР, после выполнения второго этапа итерации t.

После того, как каждый агент сформировал решение и отложил феромон, на третьем этапе итерации t происходит общее испарение феромона на каждом ребре щ ГПР в соответствии с формулой:

до = лт-р), (8)

где р - коэффициент обновления.

После выполнения всех действий на итерации t находится агент с лучшим решением, которое запоминается. Далее осуществляется переход на следующую итерацию.

Рассмотрим теперь конструктивный алгоритм построения муравьем интерпретации решения ID1 =(Ml,Hl). Отметим, что маршрут M и подграф H используют одно множество вершин W. Любой маршрут M начинается со стартовой вершины O. Поэтому первой в маршрут M включается вершина O.

Начиная с первого шага, маршрут M и подграф H формируются последовательно и одновременно. Обозначим как Wend множество вершин wjeW, вошедших в формируемый маршрут, а как Win множество свободных вершин w-eW, еще не вошедших в формируемый маршрут. WenduWin=W. Пусть вершина waeWend, является последней вершиной, включенной на некотором шаге в маршрут M1, и маршрут еще полностью не сформирован. Параметры Wend, wa, Win являются параметрами состояния процедуры построения маршрута M и подграфа H.

На первом шаге построения M параметры состояния имеют следующие значения: wa=O, W,n=W, Wend = 0

На каждом шаге последовательной процедуры выбирается вершина wpeWin, которая вместе с ребром (wa,wp) включается в маршрут M и, одновременно для wp выбирается вершина e,, что равносильно включению ребра (we, e,) в H1. Выбор wp осуществляется следующим образом. Для вершины wa определяется набор ребер Uin, связывающих wa со всеми вершинами wpeWin. Для каждого ребра (wa,we)eUin, связывающего вершину wa с вершиной wpeWin определяется параметр fap - суммарный уровень феромона на этом ребре. Вероятность Pap включения ребра (wa,wp)eUin и вершины we, в формируемый маршрут определяется следующим соотношением:

Рав /аР / Ър (/ар).

(9)

Агент с вероятностью Рар выбирает одно из ребер еип, которое

включается в формируемый маршрут.

После этого для выбранной вершины wp определяется набор и1р аи1 ребер, связывающих wp со всеми вершинами е{еЕ. Для каждого ребра ^р,е)еи1р, определяется параметр - суммарный уровень феромона на этом ребре. Вероятность Р$ включения ребра ^р, е1)^и1р в формируемый двудольный подграф Н1 определяется следующим соотношением:

Агент с вероятностью Ррц выбирает одно из ребер множества и1р,

Временная сложность этого алгоритма зависит от времени жизни колонии t (число итераций), количества исполнителей п и числа работ т, и

Ниже приводится описание базового алгоритма поведения муравьиной колонии и конструктивного алгоритма муравья.

Алгоритм поведения популяции агентов (муравьев).

1.Задается: число исполнителей - п; число работ - т; начальное количество феромона - Q.

2.Строится граф поиска решений Б =(ЕиЖиО, и1 иШиШ).

3.На ребрах ГПР Б откладывается начальное количество феромона, равное Q/v, где v=\U\.

4.Задается: число итераций - ИТ; число муравьев формирующих независимо друг от друга решения на одной итерации - ИА.

5.t=1. номер итерации).

6.1=1. (1- номер агента).

7.(Алгоритм муравья). Муравей а1 строит на ГПР Б интерпретацию

Рр1=/р1/ Ъ ( 1р).

(10)

которое включается в формируемый двудольный подграф Н.

2

определяется как О^п т).

решения Ю1 =(М, Н1).

8.На основе интерпретации решения Ю1 =(М;Н1) формируется решение Т=(У;Р¡) для которого рассчитывается оценка Е(Х).

9.Если ¡<ИА, то 1=1+1 и переход к пункту 7, иначе переход к п. 10.

10.1=1.

11.Муравей а1 откладывает на ребрах .множества и1(Х)^и, соответствующих ребрам построенного графа Н(Х) и ребрах, входящих в состав маршрута М1(Х) феромон в количестве т(Х) = Q / Е (X).

12.Если ¡<ИА, то ¡=¡+1 и переход к п. 11, иначе переход к п. 13.

13.На третьем этапе итерации X происходит общее испарение феромона на всех ребрах ГПР О в соответствии с формулой: /=/у(1-р), где р -коэффициент обновления.

14.Находится агент с лучшим решением Е (X), полученным после выполнения X итераций, которое запоминается.

15.Если Х< ИТ, то Х= X +1 и переход к п. 6, иначе переход к п. 16.

16.Конец работы алгоритма.

Рассмотрим теперь конструктивный алгоритм построения муравьем интерпретации решения Ю

' =(М;Н).

Алгоритм муравья.

1.Агент а помещается в стартовую вершину О. В маршрут

м

включается вершина О.

2.Формируются параметры состояния: wa=O, Жп=Ж, Жепс!=0.

и11=0. Н=(ЕиЖ, 0)

3.Для вершины определяется набор ребер и2ы„ связывающих со всеми вершинами WpeWin.

4.Для каждого ребра ^а^р)еШп, связывающего вершину с вершиной wpeWin определяется параметр /ар - суммарный уровень феромона на этом ребре.

5.Рассчитывается вероятность Pap включения ребра (wa,wp)EU2in и вершины wp, в формируемый маршрут M, Pae=fa/Le(fap)-

6.Агент с вероятностью Pap выбирает одно из ребер (wa,wp)E2Uin и вершину wp.

7.Вершина wp включается в маршрут M1.

8.Обновляются значения параметров состояния: Wencl=WeniCuwp, Wm=Wm\Wp, Wa = Wp.

9.Для выбранной вершины wp определяется набор U1p^U1 ребер, связывающих wp со всеми вершинами eiEE.

10.Для каждого ребра (wp,ei)EU1p, определяется параметр fp-суммарный уровень феромона на этом ребре.

11.Вероятность Ppi включения ребра (wp, ei)EU1p в формируемый двудольный подграф И1 определяется следующим соотношением

Ppi=fpi/Li(fpi).

12.Агент с вероятностью Ppi выбирает одно из ребер (wa,wp)EU1p, которое включается в граф И. U1l=U1lи (wa,wp).

13.Если Win=0, а Wenc=W, то переход к п. 14, иначе переход к п. 3.

14.Интерпретация решения ID =(M1;Hl) полностью сформирована.

Конец работы алгоритма муравья.

3. Экспериментальные исследования

Алгоритм распределения программ на многопроцессорных вычислительных системах был запрограммирован на языке С++ на платформе Windows. При этом все исследования проводились на компьютере типа Intel® Core™ i5 CPU 3.33 GHz и ОЗУ размером 4 Гб. При выполнении экспериментов необходимо было исследовать эффективность и качество предложенных механизмов муравьиной колонии для решения задачи

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

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

Для получения достоверных выводов был проведен не один, а серия опытов-экспериментов. Временная сложность этого алгоритма зависит от времени жизни колонии X (число итераций), количества обслуживающих приборов п и числа заявок т, и определяется как О(Хп2т). Тестовые испытания показали, что в 98% случаев пространство синтезированных решений включает глобальное оптимальное решение.

Исследование сходимости алгоритма выполнялось следующим образом. Запоминался номер итерации, после которой не наблюдалось улучшения оценки-критерия, для каждого эксперимента. В каждой серии из 50 испытаний определялись минимальный и максимальный номера итерации. Кроме этого рассчитывалось среднее значение количества итераций, после которого не наблюдалось улучшения оценки-критерия. Для каждой серии испытаний определялось лучшее решение, которое фактически являлось оптимальным. В результате экспериментов установлено, что при объеме популяции М=90 алгоритм сходится в среднем на 120 итерации.

Сравнение значений критерия, полученных муравьиным алгоритмом на тестовых примерах, с известным оптимумом показало, что у 90% примеров полученное решение было оптимальным, у 15% примеров решения были на 3% хуже оптимального, а у 5% примеров решения были хуже не более, чем на 2%. По сравнению с существующими алгоритмами [3-10] достигнуто улучшение результатов на 2- 3 %.

Заключение

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

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

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

Работа выполнена при финансовой поддержке РФФИ грант №17-0700997.

Литература

1. Лазарев А. А., Гафаров Е.Р. Теория расписаний. Задачи и алгоритмы. -М.: МГУ им. М.В. Ломоносова, 2011. - 158 с.

2. Ларионов С.А., Майоров Г.И. Вычислительные комплексы, системы и сети. - СПб.: Энергоатомиздат, 1987. - 186 с.

3. Романовский И.В. Алгоритмы решения экстремальных задач. - М.: Наука, 1977. - 148 с.

4. Нейдорф Р.А., Жикулин А.А. Быстродействующая модификация алгоритма оптимизации решения // Труды конгресса по интеллектуальным системам и информационным технологиям «А18-1Т'14». Научное издание в 4-х томах. Т.1. - М.: Физматлит, 2014. - С. 15-22.

5. Кобак В.Г., Будиловский Д.М. Сравнительный анализ приближенных алгоритмов решения минимаксной задачи для однородных приборов // Вестн. Донск. гос. техн. ун-та, 2006. - № 4. - С. 327-334.

6. Нейдорф Р.А., Жикулин А.А. Исследование вариантов модификации приближенных алгоритмов решения однородных распределительных задач, повышающих их эффективность // Инновация, экология и ресурсосберегающие технологии (ИнЭРТ-2012): Труды X Междунар. науч.-техн. форума. - Ростов н/Д: ИЦ ДГТУ, 2012. - С. 370-375.

7. Нейдорф Р.А., Жикулин А.А. Селективно-перестановочный метод приближенного решения однородной распределительной задачи. Комбинационные перестановки // Известия ЮФУ. Технические науки.

Тематический выпуск «Интеллектуальные САПР». - Таганрог: Изд-во ТТИ ЮФУ, 2013. - № 7(144). - С. 167-172.

8. Dorigo M., Stützle T. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004. - 226 p.

9. Лебедев О.Б. Модели адаптивного поведения муравьиной колонии в в задачах проектирования. Монография. -Таганрог. Изд-во ЮФУ, 2013. - 199 с.

10. Raidl G.R. A Unified View on Hybrid Metaheuristics. In: Lecture Notes in Computer Science. Springer- Verlag, 2006. - pp. 1-12.

11. Лебедев Б.К., Лебедев О.Б. Моделирование адаптивного поведения муравьиной колонии при поиске решений, интерпретируемых деревьями // Известия ЮФУ. Изд-во ТТИ ЮФУ, 2012 -№7. - С. 27-35.

12. Лебедев В.Б., Лебедев О.Б. Роевой интеллект на основе интеграции моделей адаптивного поведения муравьиной и пчелиной колоний // Известия ЮФУ. Изд-во ТТИ ЮФУ, 2013, №7. - С. 41-47.

13. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Разбиение на основе моделирования адаптивного поведения биологических систем. Нейрокомпьютеры: разработка, применение. 2010. -№2. - С. 28-34.

14. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой. - Москва: Издательство МГТУ им. Н.Э. Баумана, 2014. - 446 с.

15. Засядко Г.Е. Представление графовых моделей данных в виде n-арных деревьев // Инженерный вестник Дона, 2017, №2. URL: ivdon.ru/ru/magazine/archive/N2y2017/4166.

16. Пшихопов В.Х., Шевченко В.А., Медведев М.Ю., Гуренко Б.В. Управление распределенными системами подводной робототехники с использованием адаптивной эталонной модели // Инженерный вестник Дона, 2017, №2. URL: ivdon.ru/ru/magazine/archive/N2y2017/4130.

References

1. Lazarev A.A., Gafarov E.R. Teoriya raspisaniy. Zadachi i algoritmy. [Theory of schedules. The tasks and algorithms]. Moscow: Moscow State University M.V. Lomonosov. 2011. 158 p.

2. Larionov S.A., Mayorov G.I. Vychislitel'nyye kompleksy, sistemy i seti. [Computing systems, systems and networks]. St. Petersburg: Energoatomizdat. 1987. 186 p.

3. Romanovskiy I.V. Algoritmy resheniya ekstremal'nykh zadach. [Algorithms for solving extremal problems]. Moscow: Nauka. 1977. 148 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Neydorf R.A., Zhikulin A.A. Trudy kongressa po intellektual'nym sistemam i informatsionnym tekhnologiyam «AIS-IT'14». Nauchnoye izdaniye v 4-kh tomakh. T.1. [Proceedings of the Congress on Intelligent Systems and Information Technologies «AIS-IT'14». Scientific publication in 4 volumes. vol.1.] Moscow: Fizmatlit. 2014. рр. 15-22.

5. Kobak V.G., Budilovski, D.M. Vestn. Donsk. State. Tech. Un-ta. 2006. рр. 327-334.

6. Neydorf R.A., Zhikulin A.A. Trudy X Mezhdunar. nauch.- tekhn. Foruma: Innovatsiya, ekologiya i resursosberegayushchiye tekhnologii (InERT-2012) [Innovation, Ecology and Resource-Saving Technologies (InERT-2012): Proceedings of the Xth International. Scientific-techn. Forum]. Rostov on Don: DSTU. 2012. рр. 370-375.

7. Neydorf R.A., Zhikulin A.A. Izvestiya SFU. Tekhnicheskiye nauki. Tematicheskiy vypusk «Intellektual'nyye SAPR» [Izvestiya SFU. Technical science. Thematic issue "Intellectual CAD"]. Taganrog: SFU, № 7 (144). 2013. рр. 167-172.

8. Dorigo M., Stützle T. Ant Colony Optimization. MIT Press, Cambridge, MA. 2004. 226 p.

9. Lebedev O.B. Modeli adaptivnogo povedeniya murav'inoy kolonii v zadachakh proyektirovaniya [Models of adaptive behavior of ant's colony in design problems]. Taganrog SFU. 2013. 199 p.

10. Raidl G.R. A Unified View on Hybrid Metaheuristics. In: Lecture Notes in Computer Science. Springer-Verlag. 2006. рр.1-12.

11. Lebedev B.K., Lebedev O.B. Izvestiya SFU. Tekhnicheskiye nauki. Tematicheskiy vypusk «Intellektual'nyye SAPR» [Izvestiya SFU. Technical science. Thematic issue "Intellectual CAD"]. Taganrog: SFU, № 7. 2012. рр. 2735.

12. Lebedev V.B., Lebedev O.B. Izvestiya SFU. Tekhnicheskiye nauki. Tematicheskiy vypusk «Intellektual'nyye SAPR» [Izvestiya SFU. Technical science. Thematic issue "Intellectual CAD"]. Taganrog: SFU, № 7. 2013. рр. 4147.

13. Kureychik V.M., Lebedev B.K., Lebedev O.B. Neyrokomp'yutery: razrabotka, primeneniye [Neurocomputers: development, application]. Moscow: №2, 2010. рр. 28-34.

14. Karpenko A.P. Sovremennyye algoritmy poiskovoy optimizatsii. Algoritmy, vdokhnovlennyye prirodoy [Modern algorithms of search optimization. Algorithms inspired by nature]. Moscow: MSTU N.E. Bauman. 2014. 446 p.

15. Zasyadko G.E. Inzenernyj vestnik Dona (Rus), 2017, №2. URL: ivdon.ru/ru/magazine/archive/N2y2017/4166.

16. Pshikhopov V.Kh., Shevchenko V.A., Medvedev M.Yu., Gurenko B.V. Inzenernyj vestnik Dona (Rus), 2017, №2. URL: ivdon.ru/ru/magazine/archive/N2y2017/4130.

i Надоели баннеры? Вы всегда можете отключить рекламу.