Потоковые алгоритмы распределения ресурсов в иерархических системах
Прилуцкий М.Х., Картомин А.Г. ([email protected])
Нижегородский государственный университет им. Н.И.Лобачевского, Россия, 603600, Нижний Новгород, пр.Гагарина, 23
В работе рассматривается проблема распределения однородного ресурса в многоуровневых иерархических системах, строится общая математическая модель, проводится ее исследование, рассматриваются различные задачи оптимального распределения ресурса и предлагаются эффективные алгоритмы их решения, основанные на методах построения максимальных потоков в сетях.
1. Содержательное описание задачи
Рассматриваются задачи распределения ресурсов в многоуровневых иерархических системах, элементы которых могут либо производить, либо передавать, либо потреблять однородный ресурс. Предполагается, что объемы ресурсов, соответствующих элементам системы, в общем случае ограничены как минимальными, так и максимальными величинами. Учитываются и интервальные ограничения на объемы ресурса, передаваемого от одних элементов системы к другим. Требуется определить такие объемы производимого, передаваемого и потребляемого ресурса, которые удовлетворяют интервальным ограничениям элементов системы, и соответствуют экстремальным значениям различных критериев оптимальности. Полученные здесь результаты являются обобщением результатов работ [1,2,3].
В рамках построенной в работе общей математической модели ставятся различные оптимизационные задачи, такие как:
■ задача объемно-календарного планирования;
■ задача распределения информационного ресурса в сети провайдера;
■ задача разузлования, возникающая при проектировании производства сложных изделий;
■ задача распределения энергоресурсов между поставщиками и потребителями; и др.
В качестве примеров более подробно рассмотрим следующие задачи. Задача объемно-календарного планирования [2]
Задача заключается в определении плана производства для подразделений предприятия в объемных показателях.
Особенностью рассматриваемых систем является то, что показатели искомого плана делятся на два типа: "жесткие" и "желательные". "Жесткие" показатели должны быть выполнены безусловно, а к выполнению
"желательных" надо стремиться. Рассматриваемая задача является многокритериальной (учет "желательных" показателей), ограничения которой (учет "жестких" показателей) в рассматриваемой модели предполагаются линейными.
Пусть: s=1,...,S- номера подразделений предприятия, j=1,...,J - номера заказов, i=1,...,I - номера изделий, t=1,...,T - номера периодов планирования.
К показателям искомого плана могут относиться, например, величины: Ajt - объем работ, который необходимо выполнить по j-ому заказу в t-й период, Bji - объем работ, который должен быть выполнен по i-му изделию j-го заказа, Csi - объем работ, который может быть выполнен по i-му изделию в s-ом подразделении, Dst - объем работ, который может быть выполнен в t-й период в s-ом подразделении, asjit - объём работ, оставшийся невыполненным в подразделении s по изделию i заказа j в период t . Показатели искомого плана могут быть и другие, формулируемые с использованием введенных выше индексов. Пусть к "жестким" показателям искомого плана относятся показатели At и Csi, а Bjj и Dst являются "желательными". Тогда задача объемного планирования формулируется следующим образом:
Требуется определить такие величины xsjit, для которых выполняются соотношения:
S I ___ J T ___
SSxSJIt > AJt, j = 1, J, t = 1,T; SSxspt < Ci, s = 1,S, i = 1,I;
s=1i=1 j=1t=1
0 <Xsjit < asjit, s = 1S, j = 1J, i = ÏJ, t = vT, и принимают минимальные значения критерии:
fil. ÏXjjU , Bji j = 1J , i = U
=1t=1
и
f j I л
Wst S S XsJit, Dst
K.J=1'=1 J
s = 1, S, t = 1, T.
Здесь функции / и ( являются функциями оценок отклонения объемов выполняемых работ от заданных величин Б^ и Д^.
Поставленная задача является многокритериальной задачей с линейными ограничениями и критериями, вид которых зависит от выбранных функций, которые могут быть кусочно-постоянными, линейными, квадратичными и др.
Задача распределения информационного ресурса в сети провайдера [3]
Пусть известны потребности абонентов провайдера городской сети Интернет в получении того или иного количества информационного ресурса. Известны возможности провайдера в предоставлении каналов между различными узлами связи. С учетом этих возможностей заданы пожелания абонентов и оператора относительно возможности передачи того или иного количества ресурса тому или иному абоненту или узлу. Определены условия
признания эффективности распределения информационного ресурса между элементами системы. Структура сети и распределяемой в ней информации в общем случае может быть самой разнообразной. Основными принципами распределения информационного ресурса в рассматриваемом случае являются:
• Информационный ресурс распределяется от центра к абонентам через коммутационные узлы по каналам связи.
• Мощности каналов связи считаются неограниченными, т.е. каналы связи в состоянии передать любые объемы информации, циркулирующие в сети.
• Каждый узел сети может обслуживаться одним или несколькими коммутационными узлами, среди которых может быть центр.
• Количество распределяемого информационного ресурса для коммутационных узлов и абонентов может быть ограничено как сверху (принципиальные ограничения возможностей провайдера, оценка максимально возможных объёмов информации для абонентов), так и снизу (минимальная потребность абонентов в получаемой информации).
Пусть: Q - множество узлов информационной сети (элементов системы), Q - подмножество абонентов сети, Q с)); Е - множество каналов связи системы, Ес)2; Лг и Ег - соответственно, минимально возможное и максимально допустимое количество ресурса, соответствующее элементу г, ¿е).
Обозначим через хг/ - количество ресурса, которое будет передано от элемента г элементу (¿/) еЕ.
Тогда задача распределения информационного ресурса будет заключаться в определении таких величин х¿j, (¿/)еЕ, для которых выполняются ограничения:
• для центра и коммуникационных узлов
Лг < I х/ <Е, ¿е)\),
]\]) е Е
• для коммуникационных узлов и абонентов
Л'< I х' < Е, ¿е)\{0},
С/, ¿) е Е
и достигают экстремальные значения частные критерии оптимальности
(Рг ( , Л, , Ег eXtr, ¿еK, где К - множество "контролируемых" элементов, определяющих условия эффективного функционирования системы, Ко).
Поставленная задача является многокритериальной задачей с линейными ограничениями и критериями, вид которых зависит от выбранных функций, которые могут быть кусочно-постоянными, линейными, квадратичными и др.
Характерной особенностью описанных примеров является то, что математические модели для них формализуются в виде линейных алгебраических ограничений транспортного типа.
2. Общая математическая модель
Будем моделировать систему распределения однородного ограниченного ресурса ориентированным графом 0(У,Е), Е^У2 , без петель и контуров. Каждому элементу системы поставим в соответствие вершину графа. На множестве У, \У\=Ы, вершин графа зададим разбиение У=У,иУ{иУи, где
У - множество вершин, соответствующих источникам ресурса, Уи - множество вершин, соответствующих потребителям ресурса, У - множество вершин, соответствующих элементам, передающим ресурс.
Обозначим через:
Q(i) = {} | (г,}) е Е,} е У} - множество вершин графа, непосредственно
следующих после вершины i, геУ; Я( у) = {г | (г, у) е Е, i еУ} - множество
вершин, непосредственно предшествующих вершине у, уеУ. Будем предполагать, что Q(i) = 0, если i еУи , Щ) = 0, если у еУ3 .
Пусть хг, геУ - количество ресурса, соответствующее г-му элементу (количество "производимого" ресурса для источника, "передаваемого" ресурса для промежуточного элемента и "потребляемого" ресурса для потребителя ресурса). Исходя из природы распределяемого ресурса, технических или экономических соображений величины хг могут быть ограничены как сверху, так и снизу:
0 <Лг<Хг<Бг<оо, г еУ (1)
Обозначим через Ху количество ресурса, передаваемое по дуге (гу), (гу) еЕ. Каждой дуге ставятся в соответствие величины 1у и Су, соответственно нижняя и верхняя границы сегмента допустимых значений хгу, (гу) еЕ. Тогда ограничения на величины ресурса, передаваемого по дугам, определяются системой ограничений:
0 <1<х<с< о, (гу) еЕ (2)
В узлах должны выполняться естественные условия сохранения ресурса:
2 хр = Хг, геУ\ У3
е (г)
(3)
х = 2 хг] , геУ\ Уи
^ (г)
Общая проблема распределения однородного ограниченного ресурса в многоуровневых иерархических системах заключается в определении таких величин хг, геУ, и ху, (гу) еЕ, для которых выполняются ограничения (1)-(3) и
принимает экстремальное значение некоторые критерии оптимальности, определяющие эффективность функционирования системы.
3. Исследование математической модели
В работе [1] исследована модель системы распределения ресурса древовидной структуры. Для проверки совместности системы ограничений в этом случае разработан метод приведенных границ, имеющий линейную временную оценку. С другой стороны, в работе [2] излагаются методы решения оптимизационных задач распределения ресурса общего вида, для корректной работы которых требуется определять совместность системы двусторонних линейных ограничений транспортного типа. В общем случае для проверки совместности систем нестрогих неравенств могут быть использованы классические результаты общей теории линейных алгебраических неравенств (см. например, [4]). Трудоемкость проверки условий этих теорем экспоненциальная ввиду необходимости поиска ненулевого минора в матрице ограничений системы, и, следовательно, эти методы лишь ограниченно применимы на практике. Однако, существующие полиномиальные алгоритмы решения задач линейного программирования, (например, метод эллипсоидов, см. [5]), позволили надеяться и в нашем случае найти эффективные методы решения поставленных задач. На самом деле, транспортная специфика ограничений (1)-(3) позволила построить для исследования совместности таких систем полиномиальные процедуры, основанные на потоковых алгоритмах, разработанных для транспортных сетей (см. [6]).
Произведем модификацию исследуемой системы распределения ресурса. А именно, добавим узел г0 с ограничениями на количество ресурса Лг0 = IЛг, Ег0 = IЕг и дуги {(¿,г0) | геУи} и {(¿0,г) | геУ*} с ограничениями
' ¿еУ* ' ¿еУ„
¡00 = Лг, 0 = Ег, I е У*, и Iг0 = Лг, сг0 = Ег, I е ¥и. В расширенной таким образом сети
все узлы становятся передающими, и задача отыскания допустимого решения системы (1)-(3) сводится к задаче нахождения циркуляции, или стационарного потока (см. [6]), в сети с дуговыми и узловыми ограничениями.
С учетом введенных обозначений Теорема о циркуляции ([6]) формулируется следующим образом:
Для того, чтобы система ограничений
I хг/ - I Х/г = 0, ¿еУ,
/е) (г) /еЯ(г)
¡г <хг <сч>
где 0< ¡/¡< с/ была совместна, необходимо и достаточно, чтобы для каждого X, X сУ, выполнялось неравенство
Цсг] ¡г
геХ /еХ /еХгеХ
Очевидно, что непосредственная проверка истинности условий этой теоремы имеет также экспоненциальную вычислительную сложность,
поскольку требует перебора 2 подмножеств узлов системы. Однако для практической проверки совместности системы и построения допустимого решения применяется метод расстановки пометок ([6]), вычислительная сложность которого полиномиально зависит от количества узлов в исходной системе.
Здесь предлагается модифицированный метод расстановки пометок, принимающий в расчет узловые ограничения системы. Суть вводимой модификации заключается в следующем. Пометка, присваиваемая очередному просматриваемому узлу, содержит номер предыдущего узла в искомой цепи и две вещественные величины, представляющие возможное увеличение потока на "входе" и "выходе" узла. В зависимости от направления дуги, соединяющей рассматриваемый узел с текущим помеченным узлом, одна из этих величин отражает потенциальное увеличение потока по этой дуге, а вторая - увеличение потока через узел.
Замечание.
Применение классического метода расстановки пометок для решения задачи с ограничениями на дугах и в узлах предполагает дополнительное преобразование сети. Каждый узел г разбивается на два узла V и г" без ограничений, соединенных дугой (г',г") с ограничениями ¡гг-=Лг, сгг-=Бг. Узел г' наследует все входящие дуги узла г, а узел г" - все исходящие. После этого в задаче остаются только ограничения на дугах.
4. Задачи оптимального распределения ресурса и методы их решения
Рассмотрим задачу оптимального распределения однородного ресурса в сети общего вида.
Среди элементов системы выделяются "контролируемые", т.е. те элементы, которые определяют условия эффективного функционирования рассматриваемой системы. Множество «контролируемых» элементов обозначим через К, К^У, \К\=к.
Каждый из контролируемых элементов системы ^ геК, определяет на заданном сегменте [Лг,Б] бинарное отношение "п", отражающее его предпочтения относительно объёма ресурса, который он будет распределять, передавать или получать. В общем виде эти бинарные отношения могут быть заданы с помощью функций предпочтения х(х) таких, что для двух величин х/,х?е[Лг,Б], х?пх2, если %1(х11)<%1(х12), геК.
Задача распределения однородного ресурса в системах сетевой структуры заключается в отыскании такого допустимого решения системы (1)-(3), при котором функции предпочтений принимают экстремальные значения:
Х(хц)^ орЬ геК. (4)
Полученная задача (1)-(4) является многокритериальной задачей с линейными ограничениями и критериями, вид которых определяется функциями предпочтений.
4.1. Кусочно-постоянные функции
Представим предпочтения контролируемых элементов кусочно-постоянными функциями х(Хи$!>,.--,зр), определенными на множестве [А1,В1], геК, со значениями из множества {0,1,...,р}, где *гу, у=0,1,...,р„ - совокупность вложенных друг в друга сегментов, *р=[А1,В], причем х(хи$г0,.--,
*р)=1, если Хеея! и . Задача заключается в определении допустимого
решения системы (1)-(3), на котором функции предпочтений принимают минимальные значения.
При таком способе задания предпочтений в качестве компромисса используется строгий порядок на множестве контролируемых элементов, что дает возможность применения простой и эффективной схемы поиска оптимального решения.
Поставленную задачу распределения ресурсов можно разбить на две подзадачи. Первая заключается в определении существования допустимого решения системы (1)-(3). Вторая состоит в определении среди допустимых решений наилучших с точки зрения заданных критериев.
4.2. Лексикографическое упорядочивание и двоичный поиск
Рассмотрим ^-мерную (р+1)-ичную решетку. Каждый узел решетки
определяется ^-мерным вектором г , г-ая компонента которого принимает значения из множества {0,1,.,р}, ¿=1,...,k, причем нумерация контролируемых элементов отражает порядок убывания значимости элементов с точки зрения системы, заданный на множестве К. Узлу решетки г поставим в соответствие систему линейных алгебраических неравенств, полученную из исходной системы (1 )-(3) заменой сегментов допустимых значений для контролируемых элементов на соответствующие ограничения из систем вложенных сегментов.
Вектора, соответствующие узлам решетки, лексикографически упорядочиваются, и решение задачи сводится к нахождению наилучшего среди узлов, которым соответствуют совместные системы неравенств, в упорядоченном множестве. При дихотомическом поиске вычислительная сложность предложенного метода имеет порядок O(klog2(p+1)).
4.3. Модифицированный алгоритм поиска
На практике возможен случай, когда количество контролируемых узлов k много больше, чем количество вложенных сегментов (р+1). Тогда возможно применение алгоритма поиска с другой оценкой вычислительной сложности.
Рассмотрим среди всех узлов решетки только такие, для которых Г/>ги если Тогда поиск наилучшего в смысле порядка п узла,
соответствующего совместной системой неравенств, можно производить следующим алгоритмом за р+1 шагов. На первом шаге определяем путем двоичного деления наилучший узел среди узлов с т0 первыми компонентами вектора равными 0 и остальными - равными р. На следующем шаге фиксируем значения т0 первых компонент и ищем наилучший узел с
совместной системой неравенств среди узлов вида (г1=0,...,гто=0,гто+1=1,...,гт1=1,гт1+1=р,...,Тк=р). И так далее до р.
Так как на каждом шаге выполняется порядка O(¡og2k) операций, то общая трудоемкость этой модификации алгоритма поиска наилучшего узла
о(р^2к).
Недостатком последнего метода можно считать сужение множества рассматриваемых узлов, однако, то ограничение, что более приоритетный элемент системы должен находиться в более предпочтительных условиях, представляется вполне естественным.
4.4. О линейных и квадратичных критериях
Функции предпочтений для контролируемых элементов системы могут быть линейными или квадратичными. При использовании аддитивной свертки критериев они порождают, соответственно, задачи линейного и квадратичного программирования, которые могут решаться классическими методами математического программирования (см., например, [7]). Однако, полученные в данной работе результаты, позволяют применить для решения таких задач метод, основанный на дискретизации сегментов возможных значений критериев, соответствующих контролируемым элементам системы. При условии выпуклости функций предпочтения (например, линейные и квадратичные функции), метод дискретизации сегментов возможных значений критериев строит систему вложенных сегментов, что позволяет, моделируя систему многомерной многозначной решеткой, осуществлять решение задачи эффективными процедурами, имеющими приведенные выше оценки вычислительной сложности.
5. Заключение
В работе рассмотрены задачи распределения ограниченного однородного ресурса в многоуровневых иерархических системах, построена общая математическая модель. Для исследования совместности системы ограничений математической модели предложены эффективные методы, используемые для решения задач поиска максимального потока в транспортных системах. Рассмотрены постановки задач оптимального распределения ресурса при линейном, квадратичном и кусочно-постоянном представлении функций предпочтения. Предложены эффективные методы их решения, основанные на моделировании системы многомерной многозначной решеткой.
СПИСОК ЛИТЕРАТУРЫ
[1] Прилуцкий М.Х. Распределение однородного ресурса в иерархических системах древовидной структуры, Труды международной конференции «Идентификация систем и задачи управления 81СРК0'2000» Москва , 26-28 сентября 2000 г . М .: Институт проблем управления им . В .А .Трапезникова РАН , 2000, с.2038-2049.
[2] Прилуцкий М.Х. Многокритериальное распределение однородного ресурса в иерархических системах, Автоматика и телемеханика. 1996. №2, с.24-29.
[3] Прилуцкий М. Х., Рапопорт И. А. Распределение ограниченных ресурсов в иерархических компьютерных системах//Сб. трудов ВятГТУ. Киров: ВятГТУ, 2000,с.67-72
[4] Черников С.Н. Линейные неравенства. Москва: Наука, 1968. 488 с.
[5] Хачиян, Л.Г. Полиномиальные алгоритмы в линейном программировании. ДАН СССР, том 244, вып. 5. 1979, с.1033-1096.
[6] Форд Л., Фалкерсон Д. Потоки в сетях. Москва: Мир, 1966. 276 с.
[7] Зуховицкий С.И., Авдеева Л.И. Линейное и выпуклое программирование. Москва: Наука. 1967, 460 с.