Построение оптимальных древовидных сетей
Автор: Злотов А.В.
Журнал: Труды Московского физико-технического института @trudy-mipt
Рубрика: Информатика и управление
Статья в выпуске: 4 (48) т.12, 2020 года.
Бесплатный доступ
Рассматриваются точный и приближенный алгоритмы построения оптимальных сетей с разрывной функцией стоимости в зависимости от потока на ребрах. Установлены свойства оптимального решения задачи, описан алгоритм формирования всех деревьев и однокорневых поддеревьев графа, на базе которого построен алгоритм направленного перебора для поиска оптимального и приближенных решений задачи. Описаны алгоритмы получения приближенного решения и его корректировки.
Алгоритм генерации деревьев, построение оптимальных деревьев с разрывными функциями стоимости ребер
Короткий адрес: https://sciup.org/142229692
IDR: 142229692 | УДК: 519.86
Constructing optimal treelike networks
This report deals with the exact and approximate algorithms for optimal network construction with discontinuous cost functions depending on the flow at their edges. The properties of the optimal solution of this problem are established, an algorithm for generating all trees and single root subtrees for the graph under consideration is described.
Текст научной статьи Построение оптимальных древовидных сетей
В настоящей работе рассматривается задача, с разрывными функциями стоимостей на. ребрах, приводится постановка, задачи и ее частные случаи, описан специальный алгоритм полного перебора, всех деревьев и промежуточных однокорневых поддеревьев полного графа, основанный на сформулированных правилах: Правиле расстановки пометок и Правиле подключения. Для формирования точного решения задачи в процессе работы алгоритма, перебора, деревьев и поддеревьев используются правила, отбраковки, основанные на. свойствах оптимального решения, заведомо неоптимальных решений, в результате чего перебор значительно сокращается.
2. Постановка задачи построения сети с разрывными функциями стоимости на ребрах
Пусть задано множество источников сырья J = {1, 2, 3,..., п} с известными объемами сырья b j > 0 и с ток qo. На множестве W = J U {qo} задан полный граф возможных коммуникаций U(W ). Стоимость соединения двух произвольных вершин этого графа c^j (x tj ) является разрывной функцией, зависящей от величины потока сырья x tj между этими вершинами:
С tj (x tj ) = (x ij + V tj (x tj )) * sign(xij).
(с) Злотов A. В., 2020
(ф Федеральное государственное автономное образовательное учреждение высшего образования
«Московский физико-технический институт (национальный исследовательский университет)», 2020
Будем в дальнейшем рассматривать аппроксимирующую снизу функцию сгз ($гз ) = О^з + ^гз * ^гз ) * sign^), где вгз,игз > 0 — некоторые постоянные коэффициенты.
На рис. 1 представлено её графическое представление.
Рис. 1. Функция стоимости ребра сети в зависимости от потока по этому ребру
Требуется построить сеть минимальной стоимости, связывающую множество источников J со стоком до, при условиях полного перетока сырья из источников в сток. То есть необходимо минимизировать величину:
ЕЕ(игз + игз • $гз) • sign^) ^ min(1)
гЕЛ jEW при условиях
(хгз $зг) = bj, j = 1,2,3,..., п,(2)
гEW
Хгз > 0.(3)
Задача в данной постановке характерна для решения ряда прикладных задач построения различных коммуникационных сетей: трубопроводных, транспортных, сетей связи и других, когда стоимость коммуникации складывается из постоянных затрат игз на ее строительство и «эксплуатационных» затрат игз, зависящих от величины потока по данной коммуникации [1].
Примечание. Будем в дальнейшем без ограничения обгрности предполагать, что U (Ж) — неориентированный граф, т.е. игз = изг, игз = изг, хотя для ориентированных графов все нижеописанные свойства оптимальных решений и алгоритмы их построения сохраняются с небольшими модификациями.
Справедлива следующая
Лемма. Решение задачи (1)-(3) лежит на множестве всех деревьев полного графа U (Ж).
Если все игз = 0, то Задача 1 сводится к известной задаче отыскания кратчайших путей по матрице ^игз || от множества источников J до стока до, для решения которой разработан ряд эффективных алгоритмов [2, 3]. Если все игз = 0, то Задача 1 представляет собой задачу построения кратчайшей связывающей сети (КСС) на множестве Ж, алгоритмы решения которой также хорошо разработаны [4, 5].
В общем же случае, когда игз = 0 и игз = 0, данная задача представляет собой многоэкстремальную задачу дискретного программирования, которая является частным случаем сетевой постановки транспортной задачи с фиксированными доплатами.
Комбинаторная постановка задачи 1.
Пусть D — {d k }, к — 1, 2, 3,..., (н + 1)п-1 — множество всех деревьев полного графа П(W). Стоимость Р(d k ) произвольного дерева определяется по формуле:
Р (d k ) — 5 (v ij + ^ ij • x ij ).
( ij' )E d k
Потоки X ij > 0 по дугам этого дерева удовлетворяют условиям полного перетока сырья из источников в сток:
5 (x ij х ji ) — b j V j E J.
( ij )E d k
Требуется найти do G D с Р (dg) — minP (d)
d e D
Введем некоторые обозначения.
Пусть Jf — (ф, І 2 ,І з , ... ,Д) — некоторое подмножество источников Jf G J и на множестве Wf — Jf U {^o} построено поддерево Rg.
Ps — W \Wf — множество не присоединенных вершин;
^f — путь по поддереву R g от вер шипы г до стока qg:
I f o — 52 nij ~ «Длина пути» ^f по поддереву R g;
PfP^i
—ij ~ «длина кратчайшего пути» между вершинами г и j по матрице Vij;
^jo—
( ^jqo
при j G Js, при j G Ps;
xi — значение потока через г-ю вершину;
yij — значение по тока по звену (ij);
3. Анализ свойств оптимального решения
D s — {d f. } — множество всех деревьев dk таких, что Rf G dk;
^(dsk) — 52 (v ij + ^ ij * d ij ) — стоимость дерева df.
(i,j)cd=
Требуется определить dg — оптимальное решение Задачи 1 при зафиксированном поддереве Rs G df: ^(df) — min ^(df).
o d= e D 3
При анализе свойств оптимального решения предполагается, что известно некоторое зафиксированное поддерево Rf G dg и необходимо достроить данное поддерево оптимальным образом. В качестве поддерева Rg может выступать одиночная вершина-сток qg.
Функция подключения. Определим функцию Fi(xi,w, Rf ) как «функцию подключе ния» г-Д вершины к подмножеству вершин w С W:
F(x i ,w, R f ) — <
v ij + (P ij + ^ j O) • x i min [vij + (u ij + U j o) • Xi] j e w \ i
при ij G R f , i G Wf, при i G Pf.
Функция подключения F i (x i ,w, Rf ) обладает следующими свойствами:
-
1. F i (x i ,w, Rf ) — монотонно-возрастающая, кусочно-линейная функция по х.
-
2. У^ F i (b i , W, d k ) = Р(d k ), т.е. F i (b i ,w,d k ) является членом разложения стоимости де- i e J
-
3. Функция подключения является нижней оценкой стоимости всех деревьев, построенных при зафиксированном поддереве Rf:
рева, dk- соотнесеппым к г-Д вершине.
52 F i (b i W, Rf) 6 Р(d k ) при R f G d k . i e J
Определим множество р® как множество вершин j Е W, на которых достигается минимум функции подключения Ft(xt,w,Rs ).
Теорема 1. О недопустимом пути. Если для каких-либо вершин г и j Е Ps выполняется условие
Ft (b , Ws, Rs ) < min^k) + (u-ij + -j 0) • bt , (6)
kew то в оптимальном решении, построенном на зафиксированном поддереве Rs Е ^0, путь из вершины г к стоку qo не может проходить через вершину j.
Следствие. На основании этого свойства можно оценить значение максимально возмож
Е bf
ного потока Xjm) который может проходить через j-ю вершину в решении ^0: Xjm teP’ где Pj — множеств о тех вершин г Е Ps, для которых не выполняется условие (6).
На рис 2. представлен вид функции подключения в зависимости от потока через г-ю вершину.
Рис. 2. Функция подключения г-й вершины в зависимости от потока
Теорема 2. Достаточные условия оптимальности подсоединения. Для того чтобы ребро (i,j); г Е Ps, j Е Ws входило в решение ^0; достаточно выполнения 'усло вий
Г Ft (bt ,W,Rs ) = Ui3 + (utj + Zso) • bt , { Ft (xtm, W->Rs ) = ^tj + (utj + ljo ) • xtm.
Теорема 3. Необходимое условие вхождения подсоединения в оптимальное решение. Для того чтобы ребро гД, г Е Ps, j Е W s; могло входить в решение ^ 0; необходимо выполнение условия j Е р®? т-е- оно должно принадлежать множеству вершин, на которых достигается минимум функции подключения г-й вершины.
Теорема 4. Об оценке подсоединения. Погрешность оптимального решения с зафиксированным поддеревом Rs1 = Rs и(Д); г де г Е Ps, J Е Ws по сравнению с оптимальным решением при зафиксированном поддереве Rs не превосходит значения dtj = max{ ^jj + (utj + U^) • bt - Ft(bt, W, R®)], [vtj + (utj + ljo) • Xtm — В(xm, W, Rs)] }• (8)
4. Алгоритм полного перебора всех деревьев и промежуточных однокорневых поддеревьев
Алгоритмы точного решения задачи строятся на базе алгоритма полного перебора всех деревьев и промежуточных однокорневых поддеревьев полного графа U (W). Алгоритм перебора должен удовлетворять следующим требованиям:
-
1. Полный перебор без повторов не только всех деревьев, построенных на множестве вершин W, но и всех промежуточных поддеревьев с корнем в зафиксированной вершине qo.
-
2. Конструктивность способа формирования деревьев и поддеревьев путем последовательного «наращивания» ребер.
Ниже описывается алгоритм перебора, удовлетворяющий перечисленным требованиям и реализованный в алгоритмах точного решения задачи.
В процессе перебора последовательно строятся поддеревья различных «уровней». На S-м уровне 1 < S < п + 1 формируются деревья Rs, содержащие S вершин.
Процесс построения деревьев осуществляется последовательным движением вдоль ряда поддеревьев: производится переход от уровня к уровню (от 1-го и до (N+l)-ro). Причем поддеревья верхнего уровня отличаются от образующего поддерева нижнего уровня добавлением только одного ребра. На каждом S-м уровне образуются не сразу все поддеревья из S вершин, а лишь некоторая, однозначно определенная алгоритмом, часть их. После того, как будет получена часть деревьев (п + 1)-го уровня, происходит возврат к п-му уровню и из него образуются новые деревья (п + 1)-го уровня. Если образование новых деревьев (п + 1)-го уровня окажется невозможным, то производится возврат к (п — 1)-му уровню и образование из него новой п-й, а за тем и (п + 1)-й группы деревьев.
Процесс заканчивается, когда просмотрены все поддеревья 2-го уровня.
Опишем переход от г-го уровня к (г + 1)-му уровню.
Пусть из г — 1-го уровня образован г-й уровень и из него не обходимо образовать (г + 1)-й уровень.
На г-м уровне имеется множество вершин Jт = {Ji,j2,...,і Т }, образующих поддерево Rт. Этому Jт соответствует множество пометок ЕТ = {еТ, е2,..., е Т }. Остальные вершины образуют множество не присоединенных вершин РТ = {рТ ,р2, ••• ,Р п +1-т }•
Алгоритм перебора основывается на «Правиле подключения» и «Правиле расстановки пометок», которые формулируются следующим образом:
Правило подключения: Произвольная вершина рТ Е РТ может быть подсоединена к вершине УТ поддерева R т только в том случае, если ее ікшер больше пометки вершины j ^; РТ > ек-
Правило расстановки пометок: При подключении произвольной вершины рТ Е Рт к вершине УТ поддерева Rт она получает пометку, равную 0. Все вершины по пути от данной вершины к корню поддерева получают пометку, равную номеру вершины, подсоединенной к данной, по этому пути. Остальные вершины получают пометку, равную некоторому боль шому числу М > п.
Путь от последней подключенной вершины до корня дерева будем называть «генерирующим путем».
В начальный момент работы алгоритма г = 1, Ji = qo, Р = J, Ei = {0}.
Пусть г = п + 1. Это означает, что построено очередное дерево. В этом случае переходят к п-му уровню и пытаются образовать из него новый (п + 1)-й уровень. Если это невозможно, то переходят к (п — 1)-му уровню для образования из него нового п-го уровня и т.д.
Опишем этот процесс в общем виде.
Пусть из (г + 1)-го уровня оказалось невозможным образование (г + 2)-го уровня. В этом случае производится переход к г-му уровню для образования из него нового (г + 1)-го уровня. На г-м уровне для вершины рТ на генерирующем пути среди меток с индексом к > кТ ищется метка е > р Т
Если такая метка найдена, то соответствующий ей номер фиксируется в качестве нового значения кТ н производится переход к (г + 1)-му уровню.
Если для рТ. не было найдено такой метки, то рассматривается следующая вершина р Т +1- значение кТ полагается равным нулю н опять ищется метка е с е < р Т+i-
Если ii + 1 станет равным п — г. т.е. просмотрены все вершины множества рТ. производится возврат к ( г — 1)-му уровню для образ*шання из него нового г-го уровня.
Процесс заканчивается, когда из начального уровня г = 1 не удается построить следующий уровень.
Данный алгоритм реализует полный перебор без повторов всех деревьев и однокорневых поддеревьев на множестве вершин W.
Правило формирования следующего уровня путем подсоединения одного ребра служит конструктивным приемом построения ряда поддеревьев, упорядоченных по включениям
R1 С R2 С ... Rn С R n +h что облегчает их анализ и отбраковку в алгоритме точного решения.
На рис. 3 проиллюстрирована работа алгоритма перебора на очередном шаге алгоритма.
Рис. 3. Иллюстрация работы алгоритма перебора
Здесь: {1, 2, 3, 4, 5, 7, 8,12} — вершины поддерева;
Js = {1, 2, 3, 4, 5, 7, 8,12}, Ps = {6, 9,10,11};
{8, М, М, М, М, М, 12, 0} — текущие помсткіі этих вершин, где М — большое число М > 12;
{12} — последняя подсоединенная вершина;
{1, 8,12} — генерирующий путь;
Ребра (9,12), (9,1) — возможные подключения 9-й вершины к генерирующему пути.
Рис. 4 иллюстрирует работу алгоритма перебора для четырех вершин.
Рис. 4. Все деревья и однокорневые поддеревья для четырех узлов
5. Алгоритмы построения оптимальных древовидных сетей с разрывными функциями стоимости на ребрах
Для решения этих задач разработаны следующие основные алгоритмы:
-
1. Алгоритм формирования начального поддерева.
-
2. Алгоритм полного перебора всех деревьев и промежуточных однокорневых поддеревьев (описанный в предыдущем разделе).
-
3. Алгоритм точного решения задачи построения сети (1)-(3).
-
4. Модифицированный алгоритм отыскания точного решения.
-
5. Алгоритм получения начального приближения.
-
6. Алгоритм корректировки начального приближения.
Алгоритм формирования начального поддерева Ro. Этот алгоритм используется как в точном, так и в приближенном алгоритмах решения задачи и служит для формирования поддерева Ro с корнем в стоке qo, которое заведомо входит в оптимальное решение задачи do: Ro С do. Для некоторых задач этот алгоритм может сразу построить оптимальное решение Ro = do. В частности, точное решение получается в предельных случаях — в задаче построения кратчайшей связывающей сети (v -j = 0) и в задаче отыскания маршрутов наименьшей стоимости ( v -j = 0).
Алгоритм построения начального поддерева основывается на правилах, при помощи которых на каждом шаге алгоритма определяется очередное звено (i,j) добавляемое к уже построенной части поддерева.
Предварительно по матрице ^ i)ij || вычисляется матрица «кратчайших расстояний» ^d ij |. Далее на каждом шаге алгоритма пока это возможно для всех не подсоединенных вершин по правилам (6), определяется вектор максимально возможных потоков ||афт|| и в случае выполнения для какой-либо вершины условия оптимальности (7) она подключается к уже сформированному поддереву.
Алгоритм точного решения задачи. Алгоритм точного решения задачи основан на направленном переборе всех деревьев полного графа. В процессе перебора используется ряд правил отбраковки, позволяющих не рассматривать большие группы деревьев и промежуточных поддеревьев, в результате чего перебор значительно сокращается. Правила отбраковки основываются на свойствах оптимального решения задачи, описанных в п. 2. В случае наличия ограничений по объему используемой оперативной памяти или времени решения задачи, необходимо применение алгоритмов приближенного решения. Эти алго ритмы описываются в следующем разделе.
При работе алгоритма точного решения задачи используется модификация метода перебора для того, чтобы просматривать все деревья и поддеревья при зафиксированном поддереве Ro. которое сформируется по алгоритм у построения начального поддерева Ro. Необходимая модификация состоит в том, что на каждом шаге алгоритма перебора при расстановке меток е^+1 всем вершинам поддерева Ro приписывается одинаковая метка, равная номеру вершины, подсоединяемой к поддереву Ro по выделенному пути от вершины р- до стока.
Основным аппаратом для отбраковки в алгоритме точного решения является правило отбраковки, основанное на условии допустимости подсоединения (8).
Кроме того, используется правило отбраковки тех поддеревьев Rs, для которых нижняя оценка стоимости оптимального решения на данном поддереве —
W) = ^F i (b i ,W,Rs)
iEJ больше, чем стоимость временно оптимального решения di — tp(di). Для допустимых подсоединений p(d1) > ^(Rs).
Эффективность данного правила отбраковки зависит от того, насколько временно оптимальное решение di близко по стоимости к оптимальному решению do. Поэтому в качестве начального значения для y(di) целесообразно брать решение, получаемое по алгоритму приближенного решения, которое затем может быть улучшено в процессе работы алгорит ма точного решения.
Работу алгоритма точного решения можно представить в виде последовательности следующих этапов:
-
1. Вычисление матрицы кратчайших расстояний Цгфу|| по матрице Hu ij |ф
-
2. Построение начального поддерева Ro по алгоритму построения начального поддерева.
-
3. Определение приближенного решения di и его стоимости y(di) по алгоритму получения приближенного решения.
-
4. Получение оптимального решения.
Алгоритм приблнЕнсенного решения задачи. Алгоритм приближенного решения можно представить, как последовательность алгоритмов формирования начального поддерева, построения начального приближения и корректировки начального приближения.
Использование совокупности этих алгоритмов позволяет получать хорошее приближенное решение с оценкой абсолютной погрешности получаемого решения.
Алгоритм построения начального приближения. Данный алгоритм работает после алгоритма формирования начального поддерева. Построение приближенного решения проводится последовательным «наращиванием» уже построенной части дерева путем добавления к нему такого звена ( i, j ), i Е РТ, j Е WT, для которого минимальна величина 5ц оценки погрешности на его включение в оптимальное решение, определяемая по формуле (8).
Алгоритм корректировки начального приближения.
В данном алгоритме для всех вершин множества J проверяется возможность их переключения с одновременным уменьшением стоимости решения. Переключение производится для вершины, дающей наибольшее уменьшение функционала. Работа алгоритма заканчивается, когда такого переключения нельзя сделать ни для одной вершины.
В результате последовательной реализации алгоритмов формирования начального поддерева, построения начального приближения и его корректировки будет найдено приближенное решение di Е D. Погрешность полученного решения по сравнению с оптимальным решением не превосходит величины АФ = ^^ [Ғфф, W, di) — Ғ(Ьі, W, Ro)] , т.е. равняется ieJ разности между величиной функционала полученного решения и нижней оценки оптимального решения после сформирования начального поддерева.
Система размещения объектов и коммуникаций. Описанные алгоритмы реализованы в Системе размещения объектов и коммуникаций, которая применяется для решения задач размещения совместно со связывающими коммуникациями [1]. На рис. 5 показан пример применения этой системы для Тенгизского месторождения.
Рис. 5. Тенгизское нефтяное месторождение. Проект ВЦ РАН
Работы по данной проблематике поддержаны в 2012 г. Премией им. Н. К. Байбакова «за большие достижения в решении проблем устойчивого развития энергетики и общества».
Список литературы Построение оптимальных древовидных сетей
- Хачатуров В.Р., Соломатин А.Н., Злотов А.В. [и др.]. Планирование и проектирование освоения нефтегазодобывающих регионов и месторождений: Математические модели, методы, применение. Москва: УРСС, 2015.
- Берж К. Теория графов и ее применение. Москва: ИЛ, 1962.
- Ермольев Ю.М., Мельник Н.М. Экстремальные задачи на графах. Киев: Наукова думка, 1968.
- Прим Р.К. Кратчайшие связывающие сети и некоторые обобщения Кибернетический сборник. Вып. 2. Москва: ИЛ, 1961. C. 95-107.
- Кельманс А.К. О построении кратчайшей связывающей сети // Кибернетика и управление. Москва: Наука, 1967. С. 115-130.