УДК 004.94
АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ КОМПАКТНОГО РАЗБИЕНИЯ МНОЖЕСТВА ОБЪЕКТОВ ТЕРРИТОРИАЛЬНО РАСПРЕДЕЛЁННОЙ СИСТЕМЫ
Ал.В. Погребной, Ан.В. Погребной
Томский политехнический университет E-mail: [email protected]
Вводится понятие топологического графа, описывающего расположение объектов территориально распределённой системы на топологическом поле. Даётся определение компактного разбиения, вводится оценка компактности и предлагается постановка задачи разбиения множества объектов (вершин топологического графа) на подмножества по критерию компактности. Для решения задачи предлагается эффективный приближённый алгоритм, пригодный для практического применения. Приводится пример решения задачи разбиения и обсуждаются некоторые свойства алгоритма, выявленные в ходе экспериментальных исследований.
Ключевые слова:
Территориально распределённая система, топологический граф, компактное разбиение, оценка компактности, метод последовательного улучшения разбиений, центр множеств, устойчивое расположение центров. Key words:
Geographically distributed system, topological graph, compact partition, assessment compactness, simplex method of partitions, centre sets, sustainable location of the center.
Введение
Рассматриваются системы, оборудование которых представлено совокупностью объектов и размещено на заданной территории. В территориально распределённых системах расстояние между объектами, как правило, играет важную роль. Наряду с расстояниями могут использоваться другие величины, характеризующие отношения между объектами, например, время и (или) стоимость проезда, транспортировки грузов, а при наличии сетевых коммуникаций - их надёжность, пропускная способность, стоимость эксплуатации.
Территории, на которых расположено оборудование распределённых систем, могут быть представлены планами цехов промышленных производств, электронными картами геоинформационных систем с указанием мест расположения пунктов сбора и приёма информации и других объектов. Это могут быть станции гидрометеослужбы, оборудование нефтяных и газовых месторождений, транспортных и энергетических систем, распределённых систем управления данными объектами, систем мониторинга, информационно-телекоммуникационных систем различного назначения. В последующем территории расположения таких систем будем именовать топологическими полями и представлять их в виде координатной плоскости. На топологическом поле каждый объект представлен точкой (центром объекта) с указанием его координат.
Будем считать, что на топологическом поле представлен взвешенный граф ТО=(0,Я) с множеством вершин (объектов) 0={д}}, г=1,2,...,п, и множеством рёбер Л={^}, г,_/'=1,2,.п, с весами г., определяющими расстояния между вершинами д! и д. Данный граф отличается от обыкновенного взвешенного графа [1] тем, что его вершины имеют фиксированные, заданные координатами, места расположения на плоскости, а каждая пара вер-
шин д1 и д. связана ребром с весом г. который равен расстоянию между соответствующими точками плоскости. Граф ТО будем именовать топологическим. На топологическом поле граф ТО визуально представляется множеством вершин (точек) с заданием координат (х,,у). Граф ТО может быть представлен также матрицей расстояний ,
которая получается на основе визуального представления графа. Матрица Я является симметричной, а диагональные элементы г =0.
При проектировании территориально распределённых систем управления, как правило, возникает задача разбиения множества объектов на заданное число подмножеств так, чтобы сумма расстояний между объектами в подмножествах была минимальной. Такое разбиение в последующем именуется компактным. В ходе исследований и поиска метода решения задачи компактного разбиения авторы получили весьма неожиданный результат, изложению которого посвящена предлагаемая статья.
Постановка задачи
С учётом обозначений, принятых при определении графа ТО, рассматриваемая задача заключается в следующем. Множество 0 необходимо разбить на совокупность подмножеств {2к}, к=1,2,...,ш, таких, что:
X X min;
(1)
k it .ij^Qk
UQk = Q, Qk ПQs =0; k,s = 1,2,...,m; (2)
\Qk\ = [n/m], X|Qk| = n.
(3)
Условие (3) означает, что мощность множества Qk принимается равной величине n/m, округлённой в большую или меньшую сторону так, чтобы сумма |Qk составляла величину n. Например, если n=20,
k
m=3, то величина 20/3 округляется два раза в большую сторону, до 7, и один раз в меньшую - до 6. Заметим также, что величины \Qk\ могут назначаться разработчиком проекта при соблюдении второй части условия (3).
Условия (2), (3) задают на множестве Q множество W допустимых вариантов разбиения {Qk}. Совокупность множеств {Qk}w, удовлетворяющих условиям (2), (3), соответствует некоторому варианту разбиения weW.
Разбиение {Qk*}w назовём компактным разбиением (К-разбиением) множества вершин Q графа TG, если данное разбиение удовлетворяет критерию (1). Сумму расстояний г9 между вершинами q, q в множестве Qk обозначим величиной Lk,
т. е. Lk = X r], а суммарную оценку компакт-
q , ,<i] eQt
ности для разбиения {Qk}w обозначим величиной
Lw = XLk. Тогда К-разбиению {Qk*}w будет соответ-
k
ствовать оценка компактности L = min L .
w weW w
Следует иметь ввиду, что оценка компактности Lw относится к разбиению {Qk}w в целом, а не к его отдельным множествам Qk. Другими словами, нельзя сказать, что множества Qk с оценками Lk* в К-разбиении {Qk*}w являются компактными, а множества Qk с оценками Lk в разбиении {Qk}w нет. Множество Qk имеет определённую оценку компактности Lk независимо от того, входит Qk в К-разбиение или нет.
При разработке распределённых систем задача (1)—(3) часто решается не только с целью получения К-разбиения, но и размещения в топологической области расположения вершин множества Qk некоторого центра, для взаимодействия с вершинами qeQk. В этом случае в качестве оценки компактности множества Qk используется суммарное расстояние от вершин множества до центра. В множестве Qk центр будем рассматривать как дополнительную вершину qk с координатами (xk,yk). Тогда оценка компактности Rk множества Qk относительно центра qk определяется выражением Rk = X rk' где rik — расстояние от вершины q q, eQk
до центра qk. Аналогично оценкам Lw и L'w вводятся
оценки Rw = XRk для разбиений {Qk}w и оцен-
k
ки RW = min Rw для К-разбиений {Qk*}w.
weW
Вопрос об определении координат (xk,yk) центра qk для множества Qk в данной статье не рассматривается. Будем считать, что координаты (xk,yk) приближённо определяются как центры масс, т. е.
X = 1/ ßk X X' yk =1И X У ' (4)
qt eQk qeßk
где ßk — число вершин в множестве Qk. Иногда по условиям задачи центры разрешается размещать только в одной из вершин соответствующего мно-
жества Qk при использовании оценок Я„ критерий решения задачи запишется в виде:
XX гк ^ т1п- (5)
к q I ^Ок
Относительно использования оценок Ь и Я следует заметить, что они не противоречат друг другу, т. е. минимизация оценки Ь соответствует минимизации оценки Я и наоборот. В последующем будем рассматривать задачу в постановке (5), (2), (3) с вычислением координат центров по выражению (4).
Метод последовательного улучшения разбиений
Рассмотрим одно из возможных разбиений ^к}г В множествах Qk согласно (4) определены координаты центров дк. Решим задачу распределения вершин множества Q по центрам так, чтобы на каждый центр дк было распределено ¡лк вершин, а сумма расстояний, связывающих центры с распределёнными на них вершинами, была бы минимальной.
Введём переменную хк=\, если вершина д; распределена на центр дк, хкк=0, в противном случае. Задачу распределения вершин по центрам запишем как задачу математического программирования и в последующем будем именовать задачей ТЫ:
min R = XXrikXik;
X xit = ßk >k = 1>2>->m; Xxit = u=1>2>->n
(6)
(7)
(8)
Условие (7) обеспечивает распределение на каждый центр дк ровно ¡лк вершин. По условию (8) каждая вершина распределяется на один из выбранных центров. Критерий (6) соответствует минимальной оценке Я„ некоторого разбиения, полученного в результате решения задачи ТЫ, исходя из заданного варианта размещения центров. Задача ТЫ занимает промежуточное положение между задачей линейного программирования транспортного типа и задачей о назначениях.
Решение задачи ТЫ приводит к одному из двух принципиально отличающихся результатов. В одном из них распределение вершин по центрам полностью соответствует разбиению ^к}„,. В этом случае на каждый центр дк распределились вершины множества Qk. Данное решение соответствует ситуации, когда в разбиении ^к}„, вершины множества Q относительно центров дк, к=1,2,...,т, распределились наилучшим образом и при этом разбиение ^к}„, оказалось наилучшим относительно принятого расположения центров дк на топологическом поле. Такое расположение центров будем именовать устойчивым. Заметим, что устойчивое расположение совокупности центров {дк} всегда связывается с совокупностью значений {цк}. При этом взаимно-однозначное соответствие между {дк} и {цк} может устанавливаться произвольно. Напри-
k=1
мер, совокупности с заданными значе-
ниями (6,7,7), (7,6,7) или (7,7,6) для совокупности центров (^,д2,д3) воспринимаются как одинаковые.
Другой результат решения задачи ТЫ соответствует ситуации, когда происходит изменение некоторых или всех множеств Qk, т. е. имеет место перераспределение вершин между данными множествами. Новые множества, обозначим их Qkоче-видно образуют разбиение с более высокой оценкой компактности, т. е. Я<ЯЖ Действительно, оценка Я , полученная в результате решения задачи ТЫ, не может быть больше оценки Ят т. к. это означало бы, что решение задачи ТЫ не является оптимальным, т. е. хуже исходного разбиения ^к}г Следовательно, между оценками компактности разбиений }„, - и ^к}„, должно выполняться одно из соотношений -Я <Я„ или Я=Я№. Соотношение Я соответствует рассмотренной выше ситуации, при которой перераспределение вершин между множествами Qk не произошло, либо имеет место два разных разбиения V и ^к}„, с равными оценками компактности. Соотношение Я <Я„ однозначно указывает на то, что вершины между множествами Qk перераспределились, и это привело к улучшению оценки компактности нового разбиения.
В множествах Qk' нового разбиения остались центры, установленные для множеств Qk исходного разбиения. Эти центры не соответствуют реальным центрам множеств Qk'. Поэтому появляется возможность вычислить новые места расположения центров и улучшить оценку компактности Я.. Учитывая перенос центров на новые места, разбиение }рассматривается как исходное, а задача ТЫ решается относительно новых центров в надежде получить разбиение с оценкой компактности Я"К-<Я 'У1 ..
Перенос центров и решение задачи ТЫ следует повторять до тех пор, пока вновь полученное разбиение не совпадёт с предыдущим, принятым в качестве исходного. Это будет означать, что получено устойчивое расположение центров, которое соответствует устойчивому разбиению, названному локальным компактным разбиением (ЛК-разбиени-ем). Найденное устойчивое разбиение названо локальным, т. к. нет оснований полагать, что среди множества разбиений Ж оно имеет наилучшую оценку компактности Я¥\ т. е. является К-разбие-нием.
Алгоритм получения ЛК-разбиения
Алгоритм решения задачи (5), (2), (3) сводится к получению ЛК-разбиения; для этой цели используется метод последовательного улучшения разбиений. Для применения метода необходимо сформировать исходное разбиение и определить центры в его множествах. В [2] предложено в качестве исходной совокупности центров использовать т вершин q;eQ. Такие вершины названы полюсами. Установить какую-либо закономерность относительно влияния используемого правила выбора по-
люсов на оценку компактности полученного в итоге ЛК-разбиения не удалось. Поэтому в данном алгоритме в качестве полюсов принимается произвольная совокупность из m вершин. В частности, это могут быть вершины множества Q с первыми m номерами.
Исходное разбиение получается путём решения задачи ТЫ относительно принятой совокупности полюсов. При этом в условии (7) значение ¡лк уменьшается на 1, т. к. полюса входят в соответствующие множества Qk. Алгоритм получения ЛК-раз-биения включает следующие операции.
1. Задаётся топологическое поле и на нём визуально фиксируется расположение вершин множества Q. Координаты вершин формируются автоматически по месту фиксации вершин. Нумерация вершин производится в соответствии с последовательностью их фиксации.
2. Вычисляются расстояния r s между вершинами qt и q, формируется матрица расстояний R.
3. Задаётся значение m и согласно условию (3) вычисляются величины ¡лк, k=1,2,...,m. Величины ¡лк могут назначаться пользователем с соблюдением соотношения = п-
k
4. В множестве Q выделяется совокупность полюсов, которые принимаются в качестве исходных центров и относительно них формируется матрица расстояний для решения задачи ТЫ. Для выделения полюсов используется одно их простых формальных правил [2], либо в множестве Q выбирается m вершин произвольным образом. При необходимости совокупность полюсов может назначаться пользователем.
5. Относительно полюсов решается задача ТЫ и определяются множества Qk исходного разбиения.
6. Для каждого множества Qk по выражению (4) определяются координаты центров qk и формируется новая матрица расстояний для решения задачи ТЫ.
7. Относительно центров, полученных в п. 6, решается задача ТЫ, формируется новое разбиение.
8. Анализируется результат решения задачи ТЫ. Если новое разбиение отличается от исходного, то новое разбиение принимается в качестве исходного и выполняются п. 6 и 7. Если новое и исходное разбиения совпадают, то это означает, что получено ЛК-разбиение.
Пример решения задачи разбиения
Программная реализация данного алгоритма выполнена в среде Delphi. Для решения задачи ТЫ был использован венгерский алгоритм. Решение задачи покажем на примере разбиения множества вершин Q, содержащего 40 вершин, на 8 подмножеств Qk(m=8). На рис. 1, а, представлено исходное разбиение, полученное в результате решения задачи ТЫ относительно полюсов, установленных произвольно, по 2 полюса в каждый угол топологиче-
^ Получение и анализ оценок й и I.
График | Матрицы Диаграммы
Станции 2
Шаг Ы'.О Станции 4
Шаг №.0 Станции 5 Шаг № 0 Шаг № 1
Шаг № 0 Шаг И- 1 Шаг N=2 Станции 1С Шаг №.0 Шаг №.1 Шаг №.2 Шаг № 3 Станции 20 Шаг №0 Шаг №1 Шаг N=.2
в:
' <5> '
! ° <8> /
\ '
\!§) ф/
\ о °
©
й,
©
©
а
¿¡^ Получение и анализ оценок К и I
| График Матрицы Диаграммы
Станции 2 Шаг Н!,0 Станции 4 Шаг N«.0 О \и и 16 [7 I ни 111] ы га ни ни Ю [а] 21] [я] ш м И \Е1
тш 55 Е0 96 ПС
22 310 123 38 439
Станции 5 III •<- м* г 26 135 й 34 561
шаг [ч-.и Шаг №1 27 437 523 411 133
|| Станции 3 29 80 53 112 135
Шаг N=.0 Шаг №. 1 Шаг №.2 34 43 39 175 112
35 45 1Ш 145 102
Станции 1С Шаг №.С Шаг №.1 Шаг N=.2 Шаг N'.3 Станции 2С Шаг №.С ШагНМ Шаг №.2 33 45 134 100 34
б
Рис. 1. Пример исходного варианта разбиения
ского поля. Вершины множества Q, принятые в качестве полюсов, помечены квадратами, а более мелкими квадратами показаны места расположения центров для множеств исходного разбиения. На рис. 1, а, данные множества выделены пунктирными линиями. Матрица решения задачи ТЫ относительно принятой совокупности полюсов (#8, #22, #26, #27, #29, #34, #зб, #38) приведена на рис. 1, б. Сумма расстояний между полюсами и вершинами множеств (оценка компактности К) составила 5430 единиц.
Результат применения первой итерации метода последовательного улучшения разбиения (шаг 0) приведён на рис. 2. На рис. 2, а, квадратами большого размера показаны расположение центров в множествах исходного варианта разбиения (рис. 1, а). В матрице решения задачи ТЫ на данной итерации (рис. 2, б) совокупность этих центров пронумерована как продолжение нумерации вершин.
Оценка компактности для полученного варианта разбиения составила 3612 единиц. Последующее применение метода последовательного улучшения качества разбиений приводит к результату (рис. 3), в котором полученное разбиение совпадает с предыдущим и, следовательно, перенос центров в множествах разбиения становится невозможен.
На рис. 3, а, такая ситуация приводит к тому, что места расположения крупных и мелких квадратов совпадают. Это означает, что для рассматриваемого примера получено устойчивое расположение центров, которое соответствует ЛК-разбиению с оценкой компактности К=2819 ед.
На рис. 4 показаны значения оценок компактности Ь и К ЛК-разбиений, полученных для рассматриваемого примера при разбиении множества Q на т равных по мощности подмножеств Qk (т=2,4,5,8,10,20). Верхняя кривая соответствует оценке Ь, а нижняя - К. Расположение кривых не противоречит ранее высказанному предположе-
Получение и анализ сценок Я и и
Граф№. | Матрицы, Диаграмм,!
Сташек 2
»«КО Ст«1щ#| 4
Шаг N=.0 Стаицт 5 Шаг №.0 Шаг №.1 СгакцжЗ
Шаг НМ Шаг N".2 Сгаяц»! 10 Шаг N'.0 Шаг №.1 Шаг №2 Шаг N'3 Стаяцт 23 Шаг М>.0 Шаг №.1
Шзг г;-2
/ ®
I.
й- \
ч V / I
\
I I
" * I
Г . -
/
' /
' ,, I
©
I
I
V ш
а ©
- V /
@)
а
^ По^учвнке и амализэценос Я и [. I Матрицы Диаграммы
40 41 42 43 44 45 46 0 1 2 3 5 6 ? е Э 10 11 12 13 |.4 15 1С 17 18 13 Л 21 2? 23 24 25 26 27 ]28 29 |ЭС 31 32 33 3. |Э5 36 |37 133 39
со 38 и а 5?
109 73 201 132 261 231
154 83 175 174
132 135 134 139
42 15 32 87 50 71 24 51 30
30 37 74 50 75
4? 27 65 23 28 71
Станции 2
Шаг № С Станции 4
Шаг №.0 йанцни 5 Шаг №.0 Шаг №.1 Станции 8
Шаг ММ Шаг №.2 Станции 10 Шаг №.0 Шаг №.1 Шаг №.2 Шаг №.3 Станции 20 Шаг №.0 Шаг №.1 Шаг №.2
Рис. 2. Вариант разбиения после первой итерации
нию о том, что оценки Ь и Я, представленные критериями (1) и (5), взаимозаменяемы, т. е. минимизация одной из них соответствует минимизации другой.
Экспериментальные исследования алгоритма в основном были связаны с разработкой методов выбора такой совокупности полюсов, которая приводит к получению ЛК-разбиения с более высокой оценкой компактности. Основное требование к формированию совокупности полюсов сводилось к нахождению максимального соответствия между плотностью расположения полюсов на топологическом поле и плотностью расположения вершин. Однако в ходе экспериментов было выявлено очень важное свойство алгоритма -он устойчиво демонстрировал отсутствие какой-либо зависимости между оценкой компактности получаемого ЛК-разбиения и качеством принятого варианта расположения полюсов. Часто оказывалось, что совокупность полюсов, сформированная с учётом плотности расположения вершин, вполне могла привести к ЛК-разбиению с более высоким значением оценки компактности, чем
совокупность полюсов с произвольным расположением. Это подтверждается и приведённым выше примером работы алгоритма. Совокупность полюсов (рис. 1, а) можно рассматривать как произвольно сформированную и расположенную далеко не лучшим образом относительно расположения вершин на топологическом поле и цели решаемой задачи.
Вместе с тем, через 3 итерации алгоритм получает вполне приемлемое ЛК-разбиение. Более того, следует признать, что визуальным путём трудно предложить другой вариант разбиения с лучшей оценкой компактности. Это оказалось характерным и для других ЛК-разбиений, полученных в ходе экспериментов. Заметим также, что в левой части поля (рис. 3, а) с большей плотностью расположения вершин в итоге оказалось 5 центров множеств, а в правой, имеющей более низкую плотность, осталось 3 центра. По-видимому, такая уникальная способность алгоритма достаточно свободно перемещать центры по топологическому полю позволяет уже на первых итерациях сглаживать недостатки в расположении полюсов.
Получение и анализ оценок
I (И I К
а
^ Получение и анализ оценок К и 1_
График Матрицы Диаграммы
Станции 2 Шаг№.0 Станции 4 Шаг №.0 Станции 5 Шаг №.0 Шаг№.1 Станции 8 Шаг N».0 40 0 1 2 з 4 5 5 8 3 ,0 12 13 14 ,5 ,6 16 13 20 21 22 23 24 25 26 27 28 23 30 31 32 33 34 35 36 37 38 33 |
59 55 3 51 57
41 171 111 33 145 62
42 11? 72 79 111 121
43 109 ВО 35 126 112
44 158 15 71 74
45 4$ 12 93 45 49 104 20
53 57 55 53
Станции 10 Шаг№.0 Шаг№.1 Шаг №.2 Шаг №3 Станции 20 ШагМ'.О Шаг№. 1 Шаг №.2 47 31 35 ,6 70 65
Рис. 3. Пример устойчивого расположения центров
Рис. 4. Зависимость оценок L иR от параметра m
Экспериментальные исследования алгоритма показали, что выбор полюсов может осуществляться без вмешательства пользователя с помощью простых формальных правил, реализованных в алгоритме, либо выбираться произвольным образом из пронумерованной последовательности вершин множества. Этот вывод базируется пока лишь на результатах экспериментов, которые не подтвердили вполне естественное предположение о том, что совокупность полюсов, выбранная с учётом топологии расположения вершин множества, должна приводить к ЛК-разбиению с более высокой оценкой компактности. В последующем предстоит найти более надёжные обоснования этого и других свойств алгоритма.
Выводы
Алгоритм получения локально компактных разбиений, в основу которого положен метод последовательного улучшения разбиений, является эффективным инструментом для приближённого решения задачи разбиения множества объектов территориально распределённых систем на подмножества равной мощности с минимальной суммарной оценкой компактности. При разбиении множеств, содержащих до 100 объектов (вершин топологического графа), локальный оптимум достигался не более чем за 10 итераций. Получаемые локально компактные разбиения являлись вполне приемлемыми для использования на практике.
Работа выполнена при проведении НИР в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» 2009-2013 гг. Госконтракт № П2396.
СПИСОК ЛИТЕРАТУРЫ
1. Кристофидес Н. Теория графов. Алгоритмический подход. -М.: Мир, 1978. - 432 с.
2. Погребной А.В. Определение числа и топологии размещения станций многопроцессорной вычислительной системы // Из-
вестия Томского политехнического университета. - 2006. -Т. 309. - № 7. - С. 160-164.
Поступила 10.09.2010 г.
УДК 65.012.122
ОПТИМИЗАЦИЯ СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ С ОДНОТИПНЫМ РЕЗЕРВНЫМ ПРИБОРОМ
Л.И. Самочернова, Е.С. Петров
Томский политехнический университет E-mail: [email protected]
Изучена система массового обслуживания с однотипным резервным прибором, управляемым по текущему времени ожидания заявки, находящейся первой в очереди. Проведена оптимизация системы при учете потерь на ожидание и амортизацию.
Ключевые слова:
Система, обслуживание, время ожидания, амортизация, оптимальный момент. Key words:
System, service, queuing time, depreciation, optimal moment.
Введение
Проблемы анализа и синтеза управляемых систем массового обслуживания (УСМО) вызывают значительный интерес, т. к. моделями УСМО описывается функционирование многих реальных технических систем, например, вычислительных систем, систем связи [ 1—10]. Многие работы [1-4] посвящены изучению систем массового обслуживания (СМО), в которых моменты включения и отключения резервного прибора, интенсивность обслуживания зависят от длины очереди или от числа заявок в системе. Системы, в которых стратегия управления резервными приборами или интенсивностью обслуживания зависит от времени ожидания, оста-
лись изученными слабо. Однако именно УСМО с управлением по времени ожидания заявок в очереди являются хорошими математическими моделями многих реальных систем, где важна не длина очереди, а время ожидания заявок в очереди. В данной работе рассматривается оптимизация СМО с однотипным, симметричным резервным прибором, управляемым по текущему времени ожидания заявки, находящейся первой в очереди.
1. Описание системы
Рассмотрим однолинейную систему массового обслуживания с простейшим входящим потоком интенсивности Я, к которой может подключаться