УДК: 004.75; 681.322
вопросы построения архитектуры распределенных систем на основе передвижных пунктов управления
м.а. сонькин, в.к. погребной
Национальный исследовательский Томский политехнический университет [email protected]
Территориально-распределенные системы, включающие не только стационарные, но и передвижные объекты, получают все большее распространение. На примере представления иерархической структуры системы в виде графовой модели и условий баланса выделяемых и потребляемых коммуникационных ресурсов предложено два алгоритма для проектирования архитектуры разрабатываемых систем. Предложенные методы и реализующие их алгоритмы эффективно работают с размерностями реальных задач и учитывают плотность расположения объектов разного типа на топологическом поле.
Ключевые слова: распределённые системы управления, проектирование архитектуры системы, оптимизация передачи данных.
Развитие беспроводных сетей и миниатюризация аппаратуры создали новые технические и технологические возможности для построения навигационно-телекоммуникационных комплексов (НТК) нового поколения (НП). Составной частью НТК НП могут быть, например, аппаратнопрограммные средства мониторинга и управления мобильными комплексами (МК), передвижные пункты управления (ППУ) и беспилотные летательные аппараты (БПЛА). Особым спросом НТК пользуются в орга-
низациях и системах быстрого реагирования на природные, техногенные и иные критические ситуации.
Для повышения функциональных возможностей по управлению и координации действий нескольких ППУ и МК, находящихся в одном районе, а также применения БПЛА для мониторинга территории с воздуха целесообразно создание соответствующей архитектуры НТК НП.
Обеспечение эффективности управления в рамках НТК НП может быть достигнуто путем использования комбинированного способа взаимодействия: сочетания стратифицированного управления с горизонтальным взаимодействием между уровнями (стратами). На рис. 1 приведен пример обобщенной структуры НТК НП с комбинированным способом управления. В соответствии с этим необходимо обеспечить:
• синхронизацию режимов приема-передачи и обработки навигационной, фото- и видео- информации в режиме реального времени на уровне наземной станции управления БПЛА, управляющей станции мобильного комплекса, диспетчерского центра;
• передачу управления БПЛА от одного диспетчерского центра другому;
• интеграцию каналов связи различного типа.
Совершенно очевидно, что система, приведенная на рис. 1, относится к классу территориально-распределенных систем (ТРС), а в качестве ее отличительных свойств можно выделить принципы иерархичности, централизма и многосвязности. Данные свойства во многом предопределяют концептуальную основу построения архитектуры рассматриваемо-
БПЛА 1 БПЛА К БПЛА 1 БПЛА М БПЛА 1 БПЛА N
Рис. 1. Пример обобщенной структуры НТК НП с комбинированным способом
управления
го класса ТРС. Вместе с тем свойства иерархичности и многосвязности предполагают наличие альтернативного выбора многих архитектурных решений при построении конкретной системы.
При построении и оптимизации архитектуры ТРС важное место занимает задача разбиения множества объектов нижнего уровня иерархии (терминальных объектов - МК) на подмножества с целью подключения объектов этих подмножеств к объектам более высокого уровня (центрам
- ППУ). Последовательно решая эту задачу относительно объектов на более высоком уровне, мы получим новые центры и, в конечном итоге,
- иерархическую структуру системы. Центр и подключенное к нему подмножество объектов более низкого уровня в последующем будем именовать локальным узлом иерархической структуры. Определение состава локальных узлов в иерархической структуре в общем случае связано с задачей декомпозиции множества объектов на подмножества. На первом этапе множество объектов составляют терминальные объекты, а на последующих этапах декомпозиции в качестве множества объектов выступают центры.
В терминах теории графов как объекты (вершины графа), так и отношения между ними (ребра графа) при описании структуры системы сопровождаются указанием ряда атрибутов. Такие атрибуты отражают конкретные свойства соответствующих объектов и связей между ними. Графы с приписанным набором атрибутов будем именовать графовой моделью.
Графовые модели позволяют учесть параметры, характеризующие объекты системы и отношения между ними, и с нужной подробностью описывают архитектуру системы. Если при этом атрибуты, как в нашем случае, будут отражать параметры объектов и каналов связи между ними, то мы вправе проводить параллель между графовой моделью и архитектурой системы.
Описание и анализ объектов и связей между ними будем вести относительно примера визуального представления графовой модели иерархической структуры системы, изображенной на рис. 2.
Объекты структуры ТРС ассоциируются с действиями в системе и, по аналогии с сетями Петри, на рис. 2. изображаются планками. Для удобства объекты (планки) в последующем будем именовать модулями, имея в виду аппаратно-программные средства объекта, которые осуществляют сбор, обработку, анализ, формирование сообщений и другие операции. Предполагается также, что модули являются сложными и могут быть развернуты в графовые модели, которые более детально и функциональноориентированно описывают работу объекта.
Кружками на рис. 2, также по аналогии с сетями Петри, данные, формируемые терминальным объектом для передачи в центр, представлены
Рис. 2. Пример визуального представления графовой модели
одним кружком (позицией). В случае развернутого представления графовой модели все многообразие данных будет представлено в явном виде отдельными позициями. Модули центров, как показано на рис. 2, формируют несколько данных для передачи вверх и вниз по иерархической структуре, в том числе и для модулей, расположенных на одном уровне. Передача данных между модулями одного уровня, как правило, может осуществляться внутри одного локального узла иерархической структуры.
Для примера приведем параметры, с которыми придется оперировать при построении архитектуры системы. Допустим, это параметры имеющихся ресурсов:
• процессорное время т, которое выделяется для выполнения модуля
т.;
1
• объём памяти р. запоминающего устройства/-го объекта;
• канальный ресурс К определяет предельный объем данных, который можно передать по г-му каналу из /-го объекта.
Параметры ресурсов устанавливаются как предельные значения для определенного отрезка времени, который будем именовать интервалом анализа т. Величина т подбирается так, чтобы циклически повторяющиеся процессы в системе укладывались в интервал анализа целое число раз.
Выполнение каждого модуля инициируется (запускается) по определенным правилам, в соответствии с технологическим регламентом работы системы. Будем различать запуски циклические, вероятностные, детерминированные и условные. Циклические запуски модулей т. осуществляются через интервалы времени Ат. Для вероятностных запусков указываются вероятности наступления определенных событий, диктующих необходимость выполнения модуля. Детерминированные запуски также являются вероятностными, но отличаются наличием дополнительных правил много-
кратного запуска модуля в определенные моменты времени. Условные запуски могут быть отнесены к вероятностным, но они наступают не под воздействием внешних по отношению к системе факторов, а под влиянием внутренних, условия наступления которых контролирует сама система.
Для разных модулей т. интервалы циклов запуска Ат/, могут различаться. Например, если цикл запуска одних модулей составляет 10 единиц, а других - 20, то интервал анализа т может быть принят равным 100 единицам. Исходя из этого для каждого модуля т., суммируя все виды запусков, можно подсчитать частоту р., с которой он будет выполняться в одном интервале анализа. Так, для интервала анализа т = 100, частота р. срабатывания модуля т с Ат = 10 будет складываться из десяти циклических и. например, в среднем двух запусков по другим основаниям, т.е. р. = 10+2=12.
Каждый запуск модуля т. будем сопоставлять с формированием состояния, данного по одной из выходных позиций. Поэтому число состояний данного р, формируемого в позиции d. за один интервал т, не превысит значение р.. Если модуль т формирует состояния для Р’, то можно записать, что I Р, = Р, ■
Значения величин р. и р. дают возможность оценить объемы потребления ресурсов в системе. Для этого введём следующие параметры потребления ресурсов:
т1 - процессорное время -го объекта, затрачиваемое для формирования одного состояния в позиции d.;
р.. - память, необходимая для хранения одного состояния позиции di в j-том объекте;
К - потребление канального ресурса К при передаче по г-каналу одного состояния позиции d,, сформированного модулем т. .
Перечисленные параметры позволяют сопоставить наличие баланса между имеющимися ресурсами и их потреблением. Выражения для проверки баланса имеют следующий вид:
а, Хг/-А ^ 7 = 1Д(1)
Ру X Р]>Р> - Рп j = 1.2....»»; (2)
</,е(}
Здесь а , в . , у. - коэффициенты резервирования ресурсов по параметрам т , Р , К ;
с. - коэффициент селекции, определяющий снижение числа сформированных в позиции d состояний при передаче их потребителю;
Я - число типов каналов, используемых в системе.
Каждый .-тый объект, помимо канального ресурса К по передаче данных, должен обладать канальным ресурсом К.г по приему данных, поступающих от совокупности V ' входных позиций d. £ V' и потребляющих ресурс К' в объеме К'.г . Условие проверки баланса запишется аналогично (3) в виде
Г) * К)г> У = г = 1,2,..Я . (4)
В условии баланса (1) предполагается, что процессорное время в размере т. затрачивается для формирования состояния в каждой выходной
позиции d . £ V . Если для разных позиций d. формируется одно состояние, то в этом случае экономится ресурс т., и при необходимости такая ситуация может быть учтена. При разработке конкретной ТРС возможны и другие особенности потребления ресурсов, которые могут учитываться при составлении уравнений баланса.
Проверку условий (1) - (4) можно проводить для объектов существующей системы при ее модернизации или для анализа очередного варианта иерархической структуры проектируемой ТРС. Анализ существующей системы, в том числе и при ее модернизации, позволяет оценить «узкие места» и найти решения по их преодолению. Но если будут разработаны методы принятия решений при проектировании ТРС, то, несомненно, они могут быть применены и для модернизации.
Для реализации сопоставления выделяемого и потребляемого ресурса важно найти эффективные методы, которые на стадии формирования варианта иерархической структуры учитывали бы условия баланса ресурсов. При разработке таких методов будем исходить из того, что ТРС строится на базе априорно заданного числа терминальных объектов. Такие объекты (например, метеостанции) являются интеллектуальными терминалами и осуществляют сбор и обработку первичных данных для передачи в центр. Терминальные объекты также могут принимать данные из центра в виде инструкций, сообщений, запросов и т.п.
В общем случае будем считать, что заданное множество объектов М не является однородным и разбивается на непересекающиеся подмножества М5 , 5=1,2,...,£ по типам. Основанием для деления терминальных объектов по типам могут быть различия в функциональных возможностях, различия в доступе к определенным видам каналов для передачи и приема данных и другие различия.
Для рассматриваемой задачи важно различать объекты по ресурсным параметрам. Например, функциональные признаки влияют на ресурсы т
и т', Р и Р', а возможности доступа к каналам - на ресурсы К и К'. Поэтому в последующем будем считать, что все различия объектов сведены к определенным значениям ресурсных параметров. При этом если объекты различаются по какому-либо признаку, который не влияет на такие параметры, то это различие не учитывается.
Сведения о потреблении ресурсов терминальными объектами, составляющими множество М, удобно представить в виде таблицы. Для наглядности таблица приведена в качестве примера описания ресурсных параметров для |М|=50 объектов, разбитых на 5 видов подмножеств М. Число объектов в каждом подмножестве М обозначено величиной т , которая приведена в отдельной колонке в правой части таблицы. Здесь же в правой колонке приведена величина Р* ~ 2 Р>, которая равна суммарной
т^ еМ5
частоте выполнения модулей т , входящих в подмножество объектов М , за один интервал анализа.
Обозначения параметров в таблице записаны, исходя из предположения, что каждый терминальный объект имеет одну выходную позицию с номером d1 и одну входную с номером d2 (см. рис. 2). При обозначении величины т.. вместо ] указано 5-е подмножество, к которому принадлежит -й объект. Передачу и прием данных объекты могут вести по четырем типам каналов, Я=4. Наличие в таблице нулевых значений параметров канальных ресурсов означает, что соответствующий тип канала не используется объектами подмножества.
Подводя итог описанию и анализу терминальных объектов, можно отметить, что исходные сведения о выделяемых и потребляемых ими ресурсах определены, и для всех объектов множества М выполняются условия (1) - (4). Согласно иерархической структуре, изображенной на рис. 2, терминальные объекты подключаются к нескольким центрам. Предполагается, что каждый центр способен подключать определенное число терминальных объектов, порождая при этом локальный узел иерархической структуры.
Определение рациональной совокупности локальных узлов, охваты-
Таблица
Потребление ресурсов терминальными объектами
8 Т,1 Т',2 Р,1 Р,2 К1,1 К1,2 К1,3 К1,4 К2,1 К2,2 К2,3 К2,4 ш, Р,
1 8 5 15 3 0 3 2 0 0 1 1 0 9 45
2 10 5 12 7 2 0 1 1 1 0 2 1 7 64
3 2 4 23 4 0 1 0 3 0 1 0 2 15 38
4 8 6 14 5 1 2 0 0 2 2 0 0 9 96
5 7 9 18 8 3 0 2 0 1 0 1 0 10 80
вающих все терминальные объекты множества М, по существу является основной целью первой задачи, сформированной в начале главы. Решение такой сложной задачи предполагается разбить на два этапа. На первом этапе определяется минимальное число центров, необходимых для подключения всех объектов множества М. При этом предполагается, что каждый центр имеет ограниченное число объектов. Второй этап связан с разбиением множества М на подмножества, каждое из которых подключено к одному из центров. Решение задач второго этапа рассматривается с учетом территориального расположения объектов множества М и будет изложено позже.
Рассмотрим задачи первого этапа, связанные с определением числа центров. Поиск решения предлагается вести на основе сопоставления ресурсов терминальных объектов и ресурсов центров. Значения ресурсных параметров терминальных объектов известны. Если установить значения ресурсных параметров центров, то нетрудно определить ориентировочное число необходимых центров. Поэтому основное внимание следует сосредоточить на установлении значений ресурсных параметров центров. Заметим, что по составу ресурсные параметры центров ничем не отличаются от терминальных объектов. На основе характеристик производительности аппаратуры, принятой для комплектации центра, частоты срабатывания модуля при формировании состояний данных выходных позиций и обработки входных позиций, объёмов передаваемой и поступающей информации, загружающей канальные ресурсы, можно для принятого интервала анализа рассчитать значения параметров ресурсов, которыми располагает обобщенный центр. Эти параметры обозначим величинами т*, Р*, К*, К*.
7 7 г 7 г
Общий объем ресурсов, потребляемых всеми центрами (одним виртуальным центром), вычисляется аналогично тому, как это делалось для терминальных объектов. Тогда число центров, получаемое для каждого вида ресурса, определяется отношением общего объема потребляемого ресурса и имеющегося в обобщенном центре:
г* = С7(г); (5)
(6) (7)
(8)
Здесь V, V' - множества входных и выходных позиций по отношению к объектам множества М;
G(т), G(P), G(К), G(К') - число обобщенных центров, необходимое для обслуживания терминальных объектов множества М ресурсом т, Р, К, К’соответственно;
а, в, у, у' - коэффициенты резервирования ресурсов, которые в данном случае должны учитывать возможные выходы и входы в центры, расположенные на этом же уровне иерархии, и в вышестоящие центры, относительно которых рассматриваемые обобщенные центры выступают в роли терминальных объектов.
Значения параметров т., Р., К., К ' определяются с использованием параметров входных и выходных позиций терминальных объектов. Так, если значения г определяют затраты процессорного времени для формирования одного состояния позиции d2 для всех объектов множества М5 , то выражение (5) запишется в виде
г(Хлл)/г* = с(<>-
5=1
Для т1= т5=0,1; т2=0,4; т3=0,3; т4=0,5 при т*=25, а=1,4 и р5 из таблицы имеем 1,4(0,1*45+0,4*64+0,3*38+0,5*96+0,1*80)/25=5,46. Значение G(т)=5,46 означает, что 6 центров с ресурсом процессорного времени 25 единиц в одном интервале анализа своевременно справятся с формированием состояний выходных позиций d2 (входных для объектов множества М). Аналогично по выражениям (6) - (8) определяется число центров относительно других ресурсов. Сопоставляя значения величин G(т), G(P), G(К), G(К'), принимается решение о величине G, которая определяет число центров.
Рассмотрим ситуацию, когда терминальные объекты настолько отличаются друг от друга, что могут быть подключены только к тому центру, который оснащен соответствующими возможностями. Например, если некоторый объект формирует и передает в центр видеоданные, то нет необходимости все центры оснащать эффективными средствами их обработки. Получается, что центры обладают различными возможностями для подключения объектов. Способность центра £-го вида подключать определенное количество терминальных объектов разного типа представим вектором подключенияЛ={а^}; g=1,2,...,G*; s=1,2,...,S. Элемент а^ вектора Л^ равен числу объектов s-го вида, которые могут быть подключены к центру g-го вида.
В этом случае для определения числа центров более перспективным представляется другой подход. В его основе лежит предположение о наличии заранее сформированного множества G* видов центров. Формирование множества G* может осуществляться на этапе разработки ТРС
виртуально, на основе анализа различия объектов в множестве М. При этом номенклатура виртуальных видов центров может существенно превышать реальную потребность в центрах, которая ассоциируется с числом G. Для генерации множества G* могут использоваться различные эвристические правила, которые здесь не рассматриваются.
Для ряда предметных областей, в которых проектируется ТРС, множество G* формируется на промышленной основе, то есть возможные для применения виды центров известны разработчику проекта заранее. В этой ситуации из множества G* следует выбрать минимальное число центров, способных подключить все объекты множества М.
Введем переменную X , £=1,2,..., G*, которая определяет число центров £-го вида, выбранных для подключения объектов множества М. Тогда задачу выбора минимального числа центров, необходимых для подключения объектов множества А/, можно записать в виде
о*
^х8=>шт; (9)
1 К=1 '
Х£ - целое положительное для всех 5=1,2,...,З (11)
Задача (9)-(11) относится к классу задач целочисленного линейного программирования. В результате решения задачи получим вектор Х*={х£5*}, g=1,2,...,G*, компоненты которого х* определяют минимальное число центров £-го вида, необходимых для подключения объектов множества М.
Критерий (9) записан при условии, что все центры равнозначны по цене, либо такие различия несущественны. Если это не так, то вводится
цена С центра £-го вида, и критерий (9) в этом случае запишется в виде
8 о* '
2>л=> тт.
Я=1
Ограничение (10) допускает некоторую функциональную избыточность центров, когда сумма 5-тых компонентов а^ векторов подключения А превышает число объектов т в множестве М. Такая избыточность
£ Г 5 5
может рассматриваться в качестве резерва, либо по возможности исключаться при комплектации центров.
Полученная в результате решения задачи (9)-(11) совокупность цен-
о*
тров (} — ^ х* ■ при необходимости может рассматриваться в каче-
г=1
стве терминальных объектов для получения центров на более вы-
соком уровне иерархической структуры, как это показано на рис. 2. Аналогично в качестве терминальных объектов рассматриваются центры, которые были получены ранее в количестве G штук на основе сопоставления ресурсов. Изложенные выше методы используются и при определении числа центров на более высоком уровне иерархии.
В предыдущем параграфе было определено число центров, способных подключить терминальные объекты проектируемой ТРС. Предполагается также, что каждый центр способен подключить определенное количество объектов. Если все объекты одного типа, каждый центр подключает примерно равное число объектов. В условиях, когда объекты различаются по типам, состав объектов, подключаемых к центру, определяется его вектором подключения. В общих случаях терминальные объекты должны быть разбиты на подмножества, каждое из которых подключается к центру и образует локальный узел иерархической структуры.
Таким образом, задача построения локальных узлов сводится к разбиению объектов на подмножества. Основным фактором, определяющим критерий разбиения, является размещение объектов на определенной территории. Территорию, на которой расположены терминальные объекты, будем именовать топологическим полем. Очевидно, что предпочтительным является такое разбиение объектов на подмножества, при котором центры и подключаемые к ним подмножества располагаются на топологическом поле в компактных областях.
На содержательном уровне задача размещения центров на топологическом поле и подключения к ним объектов формулируется просто. На топологическом поле расположено множество Q={q¡}, i=1,2,...,n, г=1,2,...Я,
состоящее из подмножеств Qr объектов г-го типа. Для объектов qjr е Q известны координаты (х,у) их расположения на топологическом поле. Расстояние d.j между объектами q.rи qrr вычисляется по выражению
Размещаемая совокупность центров представлена множеством С={с} 5=1,2,...,!$' с векторами подключения А5={а5г}. Здесь $ - общее число центров, необходимое для подключения множества объектов Q. Требуется для каждого центра С5 найти такие координаты (х5,у5), чтобы сумма его расстояний до подключаемых объектов была минимальной.
В предлагаемой стратегии поиска решения будем исходить из того, что первичным является размещение центров С5, т.е. определение для них координат (х5,у5), а после этого решается задача подключения объектов к
этим центрам. Начнем рассмотрение с более простой задачи, когда все объекты в множестве Q одного типа, т.е. Я=1. Центры С в этом случае могут различаться только числом подключаемых объектов.
На начальной стадии поиска варианта размещения центров принимается, что они располагаются в местах размещения объектов, т.е. координаты центров совмещаются с координатами объектов, выбранных для размещения центров. Объекты, в которых располагаются центры, будем именовать полюсами. Число полюсов совпадает с числом центров.
В общем случае любой объект может быть объявлен полюсом. В свою очередь, каждый полюс рассматривается в качестве места для размещения центра и подключения к нему объектов. Поэтому после подключения объектов к полюсам, каждый из них окажется в отдельном подмножестве. Если с этой позиции рассматривать любые два объекта, то чем дальше они удалены друг от друга, тем с большей вероятностью они попадут в разные подмножества, т.е. будут подключены к разным центрам. Это же можно сказать и относительно полюсов: чем дальше они расположены друг от друга, тем более обоснованным оказывается их присутствие в разных подмножествах.
Это соображение хорошо поясняется на подмножествах, представленных на рис. 3. Например, объекты и имеют больше оснований попасть в разные подмножества, чем близко расположенные объекты ц21, ц22 или ц, ц9. Аналогично, если в качестве полюсов выбраны объекты ц, ц5, ц18, ц24, ц22, то они «естественным путем» попадают в разные подмножества, выделенные на рис. 3 пунктирными линиями, а не только потому, что эти объекты являются полюсами. Например, относительно объектов ц1, ц2, ц6, ц11, ц17, назначенных полюсами произвольным образом, говорить о том, что они «естественным путем» попадут в разные подмножества с хорошими оценками компактности, не приходится.
Исходя из этого, алгоритм формирования полюсов, реализующий данное эвристическое правило, устроен так, что выбирает необходимую совокупность полюсов, в которой они как можно дальше отстоят друг от друга. Алгоритм реализован программой «Полюс» и получил обозначение П1.
Формирование множества Рис. 3. Пример визуального разбиения объектов
на подмножества
полюсов Qp={q.J, p=1,2,..., P с помощью алгоритма а1 осуществляется последовательно и включает выполнение следующих операций:
Первым полюсом q принимается объект qi е Q, который максимально удален от всех других объектов множества Q. Объект q выбирается согласно выражению
Vqr е Q[ ^ d.. = max] ^ (q. - qл) . (12)
qjeQ\ q.
Здесь d.j - расстояние между объектами q. и q. Объект q а заносится в множество полюсов Q .
^p
Для каждого объекта qi е Q \ Qp определяются расстояния d от
объекта qt до полюсов qip е Qp . Среди этих расстояний выбирается минимальное d*..p и запоминается. Таким образом, каждому объекту
Qi е Q \Qp соответствует величина d*..p.
Среди множества величин {d*..} выбирается максимальное значение,
а соответствующий объект qi е Q \ Qp принимается в качестве очередного p-го полюса qp и включается в множество Qp.
Операции 2 и 3 повторяются до тех пор, пока число полюсов в множестве Qp не достигнет величины p=\ Qp\, то есть станет равным числу размещаемых центров.
Заметим, что при выборе 2-го полюса в множестве Qp присутствует только один элемент q . Поэтому в данном случае «выбор» минимального расстояния d*..p (см. п.2 алгоритма) для объекта qi е Q \ Qp сводится к одной величине d и1. На следующей иерархии алгоритма, при определении 3-го полюса, выбор будет производиться из двух величин d , п и d 2, и так далее.
Равномерность расположения полюсов по площади поля является основным свойством алгоритма П1. Это свойство можно отнести к достоинству по отношению к полям с регулярной плотностью расположения объектов и к недостатку по отношению к нерегулярному расположению объектов. Алгоритм П1 оказался «нечувствительным» к неравномерной плотности расположения объектов на поле. Поэтому при существенно неравномерной плотности расположения объектов как альтернатива алгоритму П1 разработан алгоритм П2.
Отличие алгоритма П2 от П1 заключается в том, что после выбора по выражению (12) первого полюса выполняется подключение к нему ближайших объектов согласно числу объектов, подключаемых к соответству-
ющему центру С1, и полученное подмножество объектов исключается из дальнейшего рассмотрения. Для выбора второго полюса на оставшемся множестве объектов повторно выполняется операция выбора первого полюса по выражению (12), определяется подмножество ближайших объектов для центра С2 и исключается из рассмотрения. Выбор последующих полюсов и исключение подмножеств объектов производится аналогично.
Для повышения эффективности работы алгоритма необходимо решить задачу подключения объектов к полюсам (центрам) так, чтобы сократить общую протяженность линий связи на подключение.
Считаем, что на топологическом поле с помощью алгоритма П1 или П2 определено множество полюсов Qp={q¡}, р=1,2,...,,Р. Число полюсов Р равно числу центров $. Для каждого центра с, 5=1,2,.,$ известно число т5 объектов ql е Q, ¡=1,2,.п, которое он может подключить. В частности, число т5 для всех центров может быть одинаковым. Определены также расстояния d5¡ между центрами, закрепленными за полюсами ц и объектами ц.
Введем переменную X , Х5 .= 1, если объект ц . подключен к центру с, х5 ¡=0, в противном случае. Задача подключения объектов к центрам с учетом принятых обозначений формулируется как задача математического программирования:
(13)
=1, г = 1,2,...,п. (15)
5=1
Критерий (13) минимизирует суммарные расстояния от центров до подключаемых к ним объектов. Уравнение (14) обеспечивает подключение к каждому центру с ровно а объектов. Уравнение (15) обеспечивает подключение каждого объекта ц только к одному центру.
Задача в постановке (13) - (15) относится к классу легко решаемых задач транспортного типа, например, с помощью венгерского алгоритма. В этой задаче число объектов а, подключаемых к центрам, ассоциируется с объемами производства, а объекты соответствуют единичным объемам потребления. Объемы перевозок х . в нашей задаче могут составлять не более одного объекта. Соответственно, переменные х . являются булевскими.
В тех случаях, когда число объектов на топологическом поле измеряется сотнями или даже тысячами, возникает потребность уменьшения размерности задачи без заметного ухудшения качества ее решения. С этой целью на топологическое поле наносится сетка с определенным размером шага так, чтобы число ячеек, содержащих объекты, было существенно меньше общего числа объектов. Таким образом, изменяя шаг ячейки, можно подобрать приемлемую размерность задачи. Каждая непустая ячейка объявляется новым объединенным объектом с координатами центральной точки ячейки.
Задача (13) - (15) решается относительно новых пунктов потребления, представленных объединенными объектами (непустыми ячейками). Переменная х5. в этом случае определяет число объектов, взятых из .-й ячейки для подключения к центру с5. В правой части уравнения (15) вместо единицы указывается число объектов в ячейке. Задача (13) - (15) в такой постановке полностью соответствует классической задаче математического программирования транспортного типа.
Разбиение объектов Q на подмножества Q5, полученное в результате решения задачи (13) - (15), зависит от расположения полюсов. Как правило, полюса в подмножествах Q5 относительно критерия (13) располагаются не лучшим образом. Это хорошо видно на рис. 2, где подмножества сформированы на основе полюсов (ц11, ц52, ц183, ц244, ц225). Например, в подмножестве Q2 для размещения центра вместо объекта лучше выбрать объект ц9. Если имеется возможность отказаться от размещения центра с5 в одном из объектов подмножества Q5, то для этого подмножества определяется центральная точка ц, как это показано на рис. 3. Координаты (х,у) точки ц5 вычисляются для каждого подмножества Q5 как
центры при условии, что масса объектов q. е Q принимается равной единице, т.е.
Заметим, что координаты (х ,у), полученные по (16), не соответствуют строго центральной точке ц* для объектов множества Q5. В отличие от
точки ц * для точки ц величина 2 й не является минимальной. Здесь
5 5 цеЯ,
й. - расстояние между объектом q. е Q и точкой ц .
Анализируя приведенные выше рассуждения относительно подмножеств Q как локальных узлов иерархической структуры, напрашивается
(16)
следующий вывод. Возможна и другая стратегия поиска решений данной задачи. В этой стратегии первичным является определение компактных подмножеств Q , а размещение в каждом из них центров легко осуществляется путем выбора одного из объектов подмножества или на основе выражения (16).
Таким образом, согласно стратегии, рассматриваемая задача заключается в следующем. Множество объектов Q необходимо разбить на совокупность подмножеств 5=1,2,...Д таких, что:
S
X X d ^min; (17)
UQs = Q, Qs ^ ß = 0, S, t = 1,2,...,S; (18)
s
S
1 Qs |= ms, X ms = ПЛП =|Q |. (19)
S=1
Критерий (17) суммирует расстояния dмежду объектами во всех парах (q, q.) е Qs. Условия (18), (19) задают на множестве Q множество W допустимых вариантов разбиения {Q}. Совокупность множеств {Q}w, удовлетворяющих условиям (18), (19), соответствует некоторому w-му
варианту разбиения {Qs}w е W.
Разбиение {Q *}w назовем компактным разбиением (^-разбиением) множества объектов Q, если данное разбиение удовлетворяет критерию
(17). Сумму расстояний d j. между объектами q . и q. в множестве Qs обо-
значим величиной Ь , т.е. X , а суммарную оценку компактности
S
для разбиения (2}„ обозначим величиной Ь„ = X Ь* • тогда К-разбиению
*=1
{2 *} будет соответствовать оценка компактности Ь Ь*>-
Применительно к задаче размещения центров, множество 2 рассматривается как совокупность объектов, подключаемых к центру с, который размещен в некоторой точке q с координатами (х ,у). Будем считать, что координаты точки q для множества 2 определяются по выражению (16). Для множества 2 введем другую оценку компактности Я , которая определяется относительно точки q как сумма расстояний ё. от объектов
qiе 2* до точки qs, те. я* = X ё •
q,£Qs
Б
Аналогично оценкам Ь^ и Ьвводится оценка Я№ = X Я* для разби-
*=1
ения {2}„ и оценка Я = шт Як для К-разбиения {2 При использо-
'МЕ.Ш'
вании оценок Ям1 критерий решения задачи разбиения запишется в виде
(20)
*=1 в,
Относительно использования оценок Ь и Я следует заметить, что они не противоречат друг другу, т.е. минимизация оценки Ь соответствует минимизации оценки Я и наоборот. Также соответствие подтверждается экспериментально. В последующем будем рассматривать задачу разбиения в постановке (20), (18), (19) с вычислением координат центральных точек q по выражению (16).
Рассмотрим одно из возможных разбиений {2} В множествах Qs, согласно (16), определены координаты точек qs для размещения центров с. Решим задачу (13) - (15) подключения объектов q е 2 к центрам в точках q так, чтобы на каждый центр с было распределено т объектов, а сумма расстояний, связывающих центры с распределенными на них объектами, была бы минимальной. Задачу (13) - (15) в последующем будем именовать задачей ТЫ, обозначая тем самым то обстоятельство, что она наполовину является транспортной (Т) и наполовину задачей назначения (Ы).
Решение задачи ТЫ относительно разбиения {2}м, приводит к одному из двух принципиально отличающихся результатов. В одном из них распределение объектов по центрам полностью соответствует разбиению {2} В этом случае на каждый центр с* распределились объекты множества 2.. Такое решение соответствует ситуации, когда в разбиении {2} объекты множества 2 относительно центров с , 5=1,2,.,Б распределились наилучшим образом, и при этом разбиение {2} оказалось наилучшим относительно принятого расположения центров с на топологическом поле. Такое расположение центров будем именовать устойчивым. Устойчивое расположение совокупности центров {с} всегда связывается с совокупностью значений {т}.
Другой результат решения задачи ТЫ соответствует ситуации, когда происходит изменение некоторых или всех множеств 2,, т.е. имеет ме-
сто перераспределение объектов между множествами. Новые множества, обозначим их Q' очевидно, образуют разбиение с более высокой оценкой
компактности, т.е. Я\ < Як. Действительно, оценка Я^, полученная в
результате решения задачи ТЫ, не может быть больше оценки Я№, так как это означало бы, что решение задачи ТЫ не является оптимальным, т.е. хуже исходного разбиения {2 Следовательно, между оценками
компактности {2Ли/ и {2должно выполняться одно из соотношений,
Я\ < Як или Я'к, = Як. Соотношение Я= Як. соответствует рассмотренной выше ситуации, при которой перераспределение объектов между множествами не произошло либо имеют место два разных разбиения, {2 и {2} с равными оценками компактности. Соотношение
я; < як однозначно указывает на то, что объекты между множествами 2 перераспределились, и это привело к улучшению оценки компактности нового разбиения.
В множествах 2' нового разбиения остались точки q установленные для множеств 2! исходного разбиения. Эти точки не соответствуют
реальным центральным точкам множеств 2'. Поэтому появляется возможность вычислить новые точки расположения центров с и улучшить
оценку компактности Я'к,. Учитывая перенос точек на новые места, разбиение {2[ рассматривается как исходное, а задача ТЫ решается от-
носительно нового расположения центров с в надежде получить разбиение {2Ц}-№" с оценкой компактности Я^ V" < Я№
Перенос центров с и решение задачи ТЫ следует повторять до тех пор, пока вновь полученное разбиение не совпадет с предыдущим, принятым в качестве исходного. Это будет означать, что получено устойчивое расположение, которое соответствует устойчивому разбиению, названному локальным компактным разбиением (ЛК-разбиением). Найденное устойчивое разбиение названо локальным, так как нет оснований полагать, что среди множества разбиений Ж оно имеет наилучшую оценку компактности Ян, т.е. является К-разбиением.
Алгоритм решения задачи (20), (18), (19) сводится к получению ЛК-разбиения, и для этой цели используется изложенный выше метод последовательного улучшения разбиений. Для применения метода необходимо сформировать исходное разбиение и определить центральные точки в его
множествах. Исходное разбиение получается путем решения задачи ТЫ относительно принятой совокупности полюсов. При этом в условии (14) значение т уменьшается на 1, так как полюса входят в соответствующие множества 2 . Алгоритм получения ЛК-разбиения включает следующие операции.
Задается топологическое поле с множеством объектов 2. Координаты объектов формируются автоматически по месту фиксации объектов на поле. Нумерация объектов производится в соответствии с последовательностью их на поле. Вычисляются расстояния 2ц между объектами q¡ и q., и формируется матрица расстояний Д.
В множестве Q по алгоритму П1 и П2 выделяется совокупность полюсов, и относительно них на основе матрицы Д формируется матрица расстояний для решения задачи ТЫ. Относительно полюсов решается задача ТЫ и определяются множества Q исходного разбиения.
Для каждого множества Q по выражению (12) определяются координаты (х ) центральных точек qs , и относительно них формируется новая матрица расстояний для решения задачи ТЫ. Решается задача ТЫ, и определяется новое разбиение.
Анализируется результат решения задачи ТЫ в п.3. Если новое разбиение отличается от исходного, то новое разбиение принимается в качестве исходного и выполняется п.3. Если новое и исходное разбиения совпадают, то это означает, что получено ЛК-разбиение.
Для решения задачи ТЫ был использован венгерский алгоритм. Работу алгоритма оценим на примере разбиения 35 объектов на 7 подмножеств 2 . Исходное разбиение, полученное в результате решения задачи ТЫ относительно полюсов, установленных произвольным образом, имеет сумму расстояний между полюсами и подключенными к ним объектами (оценка Я) - 4620 единиц. Результат применения первой итерации метода последовательного улучшения разбиений позволяет уменьшить сумму расстояний до 3461 единиц. Последующее применение метода последовательного улучшения качества разбиений приводит к результату (на 9-м шаге) с оценкой компактности ЛК-разбиения R=2527 единиц. Экспериментальные исследования показали, что алгоритм получает приемлемые ЛК-разбиения.
Возвращаясь к решению задачи построения локальных узлов иерархической структуры для случаев, когда на топологическом поле расположены объекты разного типа, отметим, что изложенные выше методы применимы и в данных условиях при некоторой доработке. Отличия в алгоритмах П1 и П2 связаны с тем, что после формирования очередного полюса выполняется привязка его к центру с вектором подключения, который в большей степени согласуется с типами ближайших объектов.
Что касается задачи ТЫ и алгоритма получения ЛК-разбиения в целом, то здесь следует отметить, что задачу ТЫ можно решать отдельно для объектов определенного типа. Такая возможность обусловлена тем, что объекты г-го типа могут претендовать на подключение к центрам только согласно значениям а в их векторах подключения. Поэтому решения, полученные для разных типов объектов при фиксированном расположении центров, оказываются независимыми друг от друга. Соответственно, оптимальное решение задачи ТЫ для всех типов объектов на каждой итерации алгоритма получения ЛК-разбиения складывается из оптимальных решений, полученных автономно для разных типов объектов. Это обстоятельство существенно упрощает общую задачу, так как позволяет решать ее фактически по частям с меньшей размерностью, определяемой объектами одного типа.
Таким образом, для известного числа центров на основе алгоритмов П1 и П2 и алгоритма получения ЛК-разбиения, использующего метод последовательного улучшения качества разбиений, мы получим совокупность локальных узлов иерархической структуры нижнего уровня. При необходимости, пользуясь этими же методами, можно получить совокупность локальных узлов на следующем, более высоком уровне иерархической структуры. При этом совокупность центров рассматривается в качестве нового множества терминальных объектов.
Иерархическая и многосвязная природа рассматриваемых в работе ТРС обусловила необходимость применения методов математического моделирования для решения задачи построения и оптимизации архитектуры проектируемых систем.
Представление иерархической структуры системы в виде графовой модели позволяет выполнить анализ существующих и проектирование разрабатываемых систем, исходя из условий баланса выделяемых и потребляемых коммуникационных ресурсов. На этой основе становится возможным определение оптимального числа центров, необходимых для подключения терминальных объектов, что соответствует определению рационального числа локальных узлов иерархической структуры.
Методы построения локальных узлов, сформулированные как задачи дискретного программирования, разработаны на основе выделения полюсов для размещения центров и получения локальных компактных разбиений. Эти методы и реализующие их алгоритмы эффективно работают с размерностями реальных задач и учитывают плотность расположения объектов на топологическом поле, а также наличие объектов разного типа.
Апробация предложенных методов оптимизации НТК НП проводилась для реальных распределенных систем в интересах Рослесхоза при
построении региональных многоуровневых систем мониторинга лесопожарной обстановки с использованием мобильных оперативных групп на основе БПЛА в Ханты-Мансийском автономном округе, Московской, Ростовской и Томской областях.