Вестник КРАУНЦ. Физ.-мат. науки. 2018. № 4(24). C. 148-157. ISSN 2079-6641
DOI: 10.18454/2079-6641-2018-24-4-148-157
ИНФОРМАЦИОННЫЕ И ВЫЧИСЛИТЕЛЬНЫЕ ТЕХНОЛОГИИ УДК 519.85; 519.17
НЕЛОКАЛЬНОЕ РЕШЕНИЕ СЕТЕВОЙ ЗАДАЧИ
ШТЕЙНЕРА
М.А. Багов
Институт прикладной математики и автоматизации - филиал Федерального государственного бюджетного научного учреждения «Федеральный научный центр «Кабардино-Балкарский научный центр Российской академии наук» (ИПМА КБНЦ РАН) E-mail: [email protected]
Представлены метод и алгоритм оптимизации потоковых сетей Штейнера основанные на динамической декомпозиции и ранговой оптимизации сети.
Ключевые слова: потоковая сеть Штейнера, ранговая оптимизация, динамическая декомпозиция, компьютерное проектирование.
@ Багов М.А. , 2018 INFORMATION AND COMPUTING TECHNOLOGIES MSC 65K05; 94C15
A SOLUTION WITH NONLOCAL EFFECT TO THE STEINER PROBLEM IN NETWORKS
M. A. Bagov
Institute of Applied Mathematics and Automation of Kabardino-Balkarian Scientific Center of the Russian Academy of Sciences E-mail: [email protected]
This paper presents optimization algorithms and methods for Steiner flow network problem employing optimal rank dynamic mode decomposition.
Key words: Steiner flow networks, rank optimization, dynamic mode decomposition, computer design.
© Bagov M. A., 2018
Современное состояние исследований по решению задачи Штейнера
Задача Штейнера является одной из наиболее сложных задач структурно- параметрической оптимизации. Формулировка задачи Штейнера состоит в следующем [1, 2]. Заданные на плоскости n точек общего положения следует соединить отрезками прямых линий так, чтобы сумма длин отрезков была наименьшей. При этом концевыми точками отрезков не обязательно являются заданные точки. Доказано, что число таких дополнительных точек (т.н. точек Штейнера), координаты которых неизвестны, не превосходит (n — 2). Задача Штейнера (ЗШ) открывает новое направление в теории оптимизации - оптимизацию структур. В связи с экспоненциальным ростом структур в сравнении с n, перспектива решения таких задач связана с развитием методов динамической декомпозиции. Возможные приложения решения задачи многочисленны, например, создание оптимальных коммуникационных сетей, теория генных структур [1].
Впервые конечная процедура построения минимального дерева Штейнера была предложена в работе Melzak Z.A. [3]. Дальнейшее развитие по построению точных алгоритмов решения задачи проведены Cockayne E.J. [4]. Значительный вклад в исследование задачи внесли Gilbert E.N., Pollak H.O. [1]. Основное внимание здесь уделено проблеме редукции задачи большой размерности к меньшей. В работах Boyce W.M. [5] проводит модификацию алгоритма Cockayne E.J. [4] и разрабатывает программу имеющую больше возможности. В работе Boyce W.M., Seery J.B. [6] проведена дальнейшая модификация алгоритма способная решать задачи с 12 терминальными точками. Таким образом, задача Штейнера решена для небольшого количества точек.
В основе разработанных к настоящему времени алгоритмов решения классической задачи Штейнера лежат процедуры перебора структур и методы редукции. При этом основным является геометрическое свойство: ребра дерева Штейнера инцидентные точке Штейнера образуют углы в 120o. В работе А.В. Панюкова [7] представлен метод двухуровневой схемы решения - на верхнем уровне осуществляется синтез топологии сети, а на нижнем определяется оптимальное размещение точек Штей-нера. Кельманс А.К. в работе [8] описывает простой локальный алгоритм, который является эвристическим, построения приближенного решения путем последовательного добавления терминальных вершин к сформированному дереву Штейнера на предыдущих шагах. В работе Д.Т. Лотарева, А.П. Уздемира [9] задача Штейнера на плоскости сводится к более простой задаче Штейнера на графе. Обзоры сфер приложения задачи Штейнера даны в работе Korte B., Promel H.-J., Steger A. [10], Лотарев Д.Т. [11].
Сетевая задача Штейнера
В сетевой задаче Штейнера (СЗШ), в отличии от ЗШ, следует минимизировать не суммарную длину коммуникаций, а их общую стоимость. В СЗШ величины весов ребер зависят от потока по ним. Для этих задач центральное свойство классической задачи Штейнера состоящее в том, что ребра сети инцидентные точке Штейнера образуют друг с другом углы в 120o не выполняется и поэтому разработанные алгоритмы декомпозиции неприменимы. В работе Gilbert E.N. [12] впервые дана формула вычисления углов, образуемых смежными ребрами инцидентными точке Штейнера в
случае, когда эти дуги имеют различные веса. В работах [ 13]-[ 16] был представлен подход к решению СЗШ основанный на динамической декомпозиции.
ЗАДАЧА(СЗШ): На плоскости (x,y) задан полный двухзвенный ориентированный геометрический граф Г(В,D) n вершин которого (xi,yi), i = 1,...,n фиксированы, а (n — 2) вершин (xi,yi), i = n + 1,...,2n — 2 не фиксированы. Следует так определить координаты не фиксированных вершин (точек Штейнера) и так приписать каждой дуге (i, j) е D поток vij, что:
C = £ fij(vij)^(xi — xj)2 + (yi — yj)2 ^ min, (1)
ijer
£ Vij — £ Vjk = qj, Vj e B, (2)
ijer+ jker—
£ vij = £ qj,
jeri jeBф
vn > 0, Vij e
(3)
(4)
XI = щ, У1 = Ь/, Vi е Вф (5)
где \Вф| = п, \Вш\ = п — 2, ^^) - строго вогнутая непрерывно возрастающая функция, (0) = 0, qj > 0, ] е Вф и qj = 0, ] е Вш; qj - поток потребляемый в ]-м узле (вершине) сети. Целевая функция (1) отражает общую стоимость коммуникаций сети, уравнение (2) есть уравнение неразрывности потока в сети, уравнение (3) - соотношение между источником и стоками.
Поскольку точки Штейнера лежат на выпуклой оболочке фиксированных на плоскости п точек, а (2)-(4) - транспортный многогранник, множество допустимых решений задачи ограничено и замкнуто. Поскольку же целевая функция (1) непрерывна на множестве допустимых решений (2)-(5), задача имеет оптимальное решение. При любой фиксации значений координат точек Штейнера имеем задачу минимизации строго вогнутой функции на транспортном многограннике (2)-(5) вследствии чего локальные и глобальный экстремумы в задаче могут достигаться лишь в его угловых точках которым соответствуют, как известно, остовные деревья графа Г(В,&).
Функционирование сетей по переносу сетевого продукта (электричество, вода, газ, нефть) зависит не только от величин потоков vij,ij е & по ветвям сети, но и потерь потенциала Н^, ij е & потока по ветвям. Затраты на создание и функционирование сети при этом складываются из стоимости коммуникаций (например, трубопроводов) сети и энергетических затрат на прохождение сетевого продукта по коммуникациям от источника к потребителям - в нашем случае к фиксированным (терминальным) п точкам. Поэтому целевой функционал, более полно оценивающий затраты, имеет вид
3 = Е Уч ^,) ^¡(х/-^^^-^)2. (6)
Как известно [17, с. 123-125], затраты на коммуникацию могут быть рассчитаны по формуле
3 = \kvfjHfj + vijНijj ¡^, где 0 < а < 1, в < 0, lij - длина коммуникации. Первое
слагаемое характеризует стоимость коммуникации, второе - энергетические затраты на транспорт сетевого продукта по коммуникации. На этой основе в работах [15],[16] функционал (6) приведен к виду (1) Таким образом, постановка сетевой задачи Штейнера (1-5) может учитывать и потенциальность потока (2-е уравнение Кирхгофа), то есть является моделью задачи синтеза оптимальных стационарных сетей по переносу вещества и энергии и, в частности, трубопроводных сетей газо-,водо-снабжения.
Преобразование терминальной сети в сеть Штейнера
Поскольку задача Штейнера является существенно многоэкстремальной задачей большой размерности то для ее решения следует стартовать с оптимального решения более простой задачи - задачи синтеза терминальной сети. Терминальной называют сеть в которой отсутствуют точки Штейнера. Сетевая задача при отсутствии точек Штейнера имеет вид:
с = Е А/^ т1п> (7)
Е V/ - Е / = 4/, V/ е В, (8)
Е у1 / = Е / = 4/, (9)
/еГ /еВ
V/ > 0, У(1, /) е ^. (10)
Задача является ЫР - полной и решена в работе [18] на основе метода погружения и отсечения [19], а в работах Трубина В.А.Михалевича В.С., Шора Н.З. [20], [21] на основе метода ветвей и границ. Решением задачи (7)-(10) является остовное дерево заданного графа свозможных соединений узлов сети.
Преобразование остовного дерева в сеть Штейнера осуществляется путем развертывания его узлов в структуры Штейнера. Каждый такой узел содержит вершину из которой поступает поток в узел (исток) и вершин в которые доставляется поток из узла (стоки). В сетевых системах, как правило, могут быть узлы с одним, двумя и тремя выходными потоками. Все эти структуры назовем элементарными узловыми структурами. На рис. 1 эти структуры представлены в идеализированном виде, удобном для преобразований их в узловые структуры Штейнера.
Развертывание элементарных узловых структур в узловые структуры Штейнера осуществляются в соответствии с фундаментальными свойствами точек Штейнера:
1. Степени точек Штейнера равны 3, а степени фиксированных (терминальных) точек не превосходят 3.
2. Дуги остовного дерева, инцидентные каждой точке Штейнера, образуют смежные друг с другом углы, которые определяются по формуле
со$(а^/) =-2аV•)/• ^■)-, где со$(а^/) - косинус угла между отрезками соединяющими точку (х,у) с точками (хг-,уг-) и (х/,у/) .
3. Число точек Штейнера не превосходит (п — 2), где п - количество терминальных точек.
4. Ребра дерева пересекаются только в вершинах дерева.
Узловые структуры Штейнера, построенные в соответствии с этими фундаментальными свойствами, представлены на рис. 1. Узловая структура (а) развертывается в структуру Штейнера единственным образом, т.к. имеется только одно соответствующее ей остовное дерево Штейнера. Элементарная узловая структура (б) может развертываться в два альтернативных остовных дерева, получающихся одно из другого как зеркальное отображение при удалении нумерации вершин. Наконец, наиболее сложная элементарная узловая структура (в), содержащая 5 терминальных точек, развертывается в 8 остовных деревьев, которые получаются из пары зеркальных деревьев поворотами в плоскости с наложением вершин - всего по 4 поворота каждого из взаимозеркальных остовных деревьев. По каждой из структур построены соответствующие матрицы переходов от элементарных узловых структур в элементарные альтернативные структуры Штейнера в которых указаны и преобразования потоков исходя из заданных потоков по ветвям элементарных узловых структур
Рис.1. Узловые структуры терминальной сети и соответствующие им узловые
структуры Штейнера.
Оптимизация параметров на каждой из альтернативных узловых структур формируемой сети Штейнера проводится на основе последовательного проведения шага оптимизации на каждой из элементарных (3-х точечных) структур Штейнера (ЭСЗШ) градиентным методом [16].
P-оптимальное решение сетевой задачи Штейнера на основе динамической декомпозиции и ранговой оптимизации
Для задач структурно-параметрической оптимизации большой размерности локальный экстремум не информативен, а глобальный, как правило, недостижим за экономически оправданное время решения задачи на компьютере. В связи с этим необходима более тонкая градация экстремумов для сравнения эффективности различных методов решения такого рода задач. Введем определение сети Штейнера Р-го ранга оптимальности.
ОПРЕДЕЛЕНИЕ 1. Пусть {у**, {х*, у * },еВш _ любое допустимое решение задачи (1)-(5), где В * = Вф и В*ш, В*ш содержит все те вершины (точки) Штейнера, поток из которых отличен от нуля, 2>* содержит все те дуги поток по которым отличен от нуля. Построим граф Г * (В *, $*). Выделим любую вершину к графа Г* и построим множество В*р вершин Р-достижимых из к и множество В*р—1 (Р — 1)-достижимых из к вершин (точек) Штейнера (без учета направления дуг). Полный гра ф Рк*, построенный на множестве вершин В * р\В * р—1 дополненном
вершинами (точками) Штейнера, назовем Рк*-подграфом графа
Т> *Р\ Т>*p-1 B k\B кш - 2
(B, D).
ОПРЕДЕЛЕНИЕ2. Назовем сеть Штейнера |Г*(В *, $ *), {у**, {х*,у *}г-еВш сетью Р-го ранга (или Р-оптимальной) если она оптимальна на любом подграфе Рк*, т.е. если Ук е В * выполнено условие минимума:
)2 =
ijer ' ijer*
min £ fij(vij)^(х,- -х/)2 + (yi-y/)2 = £ /-(v*)^(x* -x*)2 + (y* -y*)2, (11)
где у,- = у *, У/у е Р*; X = х*, у,- = у * У/ е Рк*.
Метод динамической декомпозиции построения Р-оптимальной сети Штейнера состоит из следующих этапов:
1) Преобразование терминального сетевого остовного дерева в сеть Штейнера на основе развертывания узлов терминальной сети в альтернативные элементарные узловые структуры Штейнера с оптимизацией координат точек Штейнера и выделением из альтернативных узловых структур (рис 1) наилучшей и оптимизация координат точек Штейнера на полученном остовном дереве Штейнера;
2) Глобальное решение сетевых задач Штейнера на каждом из множеств вершин Р-достижимых из каждой вершины Штейнера ("Окна"Штейнера) сети при соблюдении граничных условий с остальной сетью т.е. решение задачи построения такой сети Штейнера, любая подсеть Р-го ранга которой оптимальна. На рисунке 2 представлены "Окна"Штейнера 2-го ранга.
Рис.2. Окна"Штейнера 2-го ранга.
3) Удаление из сети Штейнера Р-го ранга тех точек Штейнера которые достаточно близки к узлам сети (е -близких к узлам сети)
Остановимся более подробно на 2 этапе решения задачи. Пусть 1 - текущая точка Штейнера сети в процессе оптимизации структуры сети на этапе 2. Обозначим:
- Мк 1, Мр, Мр+1, соответственно, множество (Р — 1)-достижимых вершин из из к; Р-достижимых, но не (Р — 1)-достижимых из к; (Р + 1)-достижимых, но не Р-достижимых из к. Эти множества будем для краткости называть внутренними вершинами, внутренним контуром и внешним контуром графа Р*
Схема алгоритма динамической декомпозиции и ранговой оптимизации такова:
1)Определяются Мк 1, Мр, М^1.; 2)Устраняются все дуги между вершинами из Мк . 3)Устраняются внутренние точки Штейнера к-ой подсети и формируется множество МФк 1 фиксированных внутренних вершин; 4)Определяется количество
внутренних точек Штейнера
М1 иМФ Г
— 2) в формируемой подсети Р^; 5)Форми-
руется (генерируется) очередная подсеть Штейнера стягивающая точки множества МФк 1 иМр; 6)Решается задача оптимизации координат точек Штейнера сформированной подсети, определяем общую стоимость ее коммуникаций. При этом для наилучшего согласования оптимизации подсети со всей остальной сетью, внутренний контур подвижен для его точек Штейнера, а внешний контур фиксирован т.е. варьируются координаты не только внутренних точек Штейнера, но и точек Штей-нера, расположенных на внутреннем контуре сети.
Пункты 5 и 6 повторяются для всех генерируемых альтернативных "Окон"Штейнера текущей вершины i с отбором оптимальной по стоимости коммуникаций. Далее переходим к оптимизации следующей подсети сети Штейнера. Процесс оптимизации структуры сети завершается при построении такой сети Штейнера, любая подсеть Р-го ранга которой уже не модифицируется в процессе оптимизации всей сети. Эта сеть и является сетью Р-го ранга оптимальности.
1
1. Алгоритм и программа построения сети Штейнера 2-го ранга
Ниже представлена блок-схема алгоритма построения сети Штейнера 2-го ранга.
Рис.3. Блок-схема алгоритма построения 2-оптимальной сети Штейнера.
Рис.4. Результаты вычислительного эксперимента.
Разработана программа для ЭВМ на языке С# для компьютерного проектирования сети Штейнера 2-го ранга оптимальности. Проведен обширный вычислительный эксперимент на основе существующей информации о разработанных терминальных трубопроводных оросительных сетях в Ставропольском крае в разработке которых принимали участие сотрудники ИПМА КБНЦ РАН. Ниже представлены результаты проектирования по этапам сети Штейнера 2-го ранга соответствующей одной из этих оросительных трубопроводных сетей. Экономический эффект т.е. разность затрат на создание и экспуатацию этой терминальной сети и сети Штейнера составил 6,68%.
Заключение
Разработан алгоритм и программная система проектирования потоковой сети Штейнера 2-го ранга оптимальности основанная на условии минимума и следующей из него динамической декомпозиции и ранговой оптимизации сети. Как показал вычислительный эксперимент, разработка потоковых сетей Штейнера 2-го ранга обеспечивает экономический эффект порядка 6-7% от затрат на создание и эксплуатацию оптимальных терминальных сетей. Вследствии этого алгоритм и компьютерная система могут быть использованы при проектировании протяженных распределительных сетей по переносу вещества и энергии (сетей электро-, водо-, газоснабжения).
Список литературы
[1] Гилберт Э.Н., Поллак Г.О., "Минимальные деревья Штейнера", Кибернетический сборник, 1971, № 1(6), 19-49. [Gilbert EH.N., Pollak G.O., "Minimal'nye derev'ya SHtejnera", Kiberneticheskij sbornik, 1971, №1(6), 19-49].
[2] Гордеев Э.Н., Тарасцов О.Г., "Задача Штейнера. Обзор", Дискретная математика, 2 (1993), 3-28. [Gordeev EH.N., Tarascov O.G., "Zadacha SHtejnera. Obzor", Diskretnaya matematika, 2 (1993), 3-28].
[3] Melzak Z.A., "On the problem of Steiner", Canad. Math. Bull, 4 (1961), 143-148.
[4] Cockayne E.J., "On the efficiency of the algorithm for Steiner minimal trees", SIAM J. Appl. Math, 18 (1970), 150-159.
[5] Boyce W.M., "An improved program for the full Steiner tree problem", ACM Trans. jn Math. Software, 3 (1977), 359-385.
[6] Boyce W. M., Seery J.B., STEINER 72: An improved version of the minimal network problem., Rech. Rep., 35, Comp.Sci. Res. CTR. Bell.Lab., Murray Hill, N.-Y..
[7] Панюков А.В., "Топологические методы решения задачи Штейнера на графе", Автоматика и телемеханика, 2004, №3, 89-99. [Panyukov A.V., "Topologicheskie metody resheniya zadachi SHtejnera na grafe", Avtomatika i telemekhanika, 2004, №3, 89-99].
[8] Кельманс А. К., "Построение минимального покрывающего дерева", Кибернетика и управление, Наука, М., 1967, 115-130. [Kel'mans A. K., "Postroenie minimal'nogo pokryvayushchego dereva", Kibernetika i upravlenie, Nauka, M., 1967, 115-130].
[9] Лотарев Д.Т., Уздемир А.П., "Преобразование задачи Штейнера на евклидовой плоскости к задаче Штейнера на графе", Автоматика и телемеханика, 2005, № 10, 80-92. [Lotarev D.T., Uzdemir A.P., "Preobrazovanie zadachi SHtejnera na evklidovoj ploskosti k zadache SHtejnera na grafe", Avtomatika i telemekhanika, 2005, № 10, 80-92].
[10] Korte B., Promel H.-J., Steger A., "Steiner trees in VLSI-layout", Rep. 89566-OR, Inst fur Okon. und Op. Res. Rheinische, Fr.-Wil.-Univ.-Bonn, 1989.
[11] Лотарев Д. Т., "Задача Штейнера для транспортной сети на поверхности заданной цифровой моделью", Автоматика и телемеханика, 1980, №10, 104-115. [Lotarev D. T., "Zadacha SHtejnera dlya transportnoj seti na poverhnosti zadannoj cifrovoj model'yu", Avtomatika i telemekhanika, 1980, №10, 104-115].
[12] Gilbert E.N., "Minimal Cost Communication Networks", Bell System technological Journal, 1967, №9, 48-50.
[13] Багов М. А, Кудаев В.Ч., "Локальное решение сетевой задачи Штейнера", Доклады Адыгской (Черкесской) Академии наук, 2014, №16(4), 9-14. [Bagov M. A, Kudaev V. CH., "Lokal'noe reshenie setevoj zadachi SHtejnera", Doklady Adygskoj (CHerkesskoj) Akademii nauk, 2014, № 16(4), 9-14].
[14] Багов М. А, Кудаев В.Ч., "Преобразование терминальной сети в сеть Штейнера", Известия КБНЦ РАН, 2015, №6(68), 31-37. [Bagov M. A, Kudaev V.CH., "Preobrazovanie terminal'noj seti v set' SHtejnera", Izvestiya KBNC RAN, 2015, №6(68), 31-37].
[15] Багов М.А., Кудаев В.Ч., "Сетевая задача Штейнера с учетом энергетических затрат", Вестник КРАУНЦ. Физ.-мат. науки, 2016, №4-1(16), 85-92. [Bagov M. A., Kudaev V.CH., "Setevaya zadacha SHtejnera s uchetom ehnergeticheskih zatrat", Vestnik KRAUNC. Fiz.-mat. nauki, 2016, №4-1(16), 85-92].
[16] Багов М. А., Кудаев В. Ч., "Математическое моделирование и оптимизация трубопроводной сети Штейнера", Известия Кабардино-Балкарского научного центра РАН, 2017, №1(73). [Bagov M.A., Kudaev V. CH., "Matematicheskoe modelirovanie i optimizaciya truboprovodnoj seti SHtejnera", Izvestiya Kabardino-Balkarskogo nauchnogo centra RAN, 2017, № 1(73)].
[17] Меренков А.П., Сеннова Е.В., Сумароков С.В. и др., Математическое моделирование и оптимизация систем тепло-, водо-, нефте- и газоснобжения, Наука, Новосибирск, 1992, 407 с. [Merenkov A.P., Sennova E.V., Sumarokov S.V. i dr., Matematicheskoe modelirovanie i optimizaciya sistem teplo-, vodo-, nefte- i gazosnobzheniya, Nauka, Novosibirsk, 1992, 407 pp.]
[18] Булатов В.П., Кассинская Л.И., "Некоторые методы минимизации вогнутой функции на выпуклом многограннике", Методы оптимизации и их приложения, Иркутск, СЭИ СО АН СССР, 1987, 151-172. [Bulatov V.P., Kassinskaya L.I., "Nekotorye metody minimizacii vognutoj funkcii na vypuklom mnogogrannike", Metody optimizacii i ih prilozheniya, Irkutsk, SEHI SO AN SSSR, 1987, 151-172].
[19] Туй Х., "Вогнутое программирование при линейных ограничениях", Доклады АН СССР, 1964, № 159(1), 32-35. [Mihalevich V.S., Trubin V.A., SHor N.Z., Optimizacionnye zadachi proizvodstvenno-transportnogo planirovaniya, Nauka, M., 1986, 260 pp.]
[20] Михалевич В. С., Трубин В. А., Шор Н. З., Оптимизационные задачи производственно-транспортного планирования, Наука, М., 1986, 260 с. [Mihalevich V. S., Trubin V. A., SHor N.Z., Optimizacionnye zadachi proizvodstvenno-transportnogo planirovaniya, Nauka, M., 1986, 260 pp.]
[21] Трубин В. А., Свойства и методы решения задач оптимального синтеза сетей, Об-во "Знание" УССР, Киев, 1982. [Trubin V. A., Svojstva i metody resheniya zadach optimal'nogo sinteza setej, Ob-vo "Znanie" USSR, Kiev, 1982].
Для цитирования: Багов М. А. Нелокальное решение сетевой задачи Штейнера // Вестник КРАУНЦ. Физ.-мат. науки. 2018. №4(24). C. 148-157. DOI: 10.18454/2079-6641-201824-4-148-157
For citation: Bagov M. A. A solution with nonlocal effect to the Steiner problem in
networks, Vestnik KRAUNC. Fiz.-mat. nauki. 2018, 24: 4, 148-157. DOI: 10.18454/2079-66412018-24-4-148-157
Поступила в редакцию / Original article submitted: 30.07.2018