УДК 519.86
А. В. Злотов
Федеральный исследовательский центр «Информатика и управление» Российской академии наук
Построение оптимальных древовидных сетей
Рассматриваются точный и приближенный алгоритмы построения оптимальных сетей с разрывной функцией стоимости в зависимости от потока на ребрах. Установлены свойства оптимального решения задачи, описан алгоритм формирования всех деревьев и однокорневых поддеревьев графа, на базе которого построен алгоритм направленного перебора для поиска оптимального и приближенных решений задачи. Описаны алгоритмы получения приближенного решения и его корректировки.
Ключевые слова: алгоритм генерации деревьев, построение оптимальных деревьев с разрывными функциями стоимости ребер.
А. V. Zlotov
Federal Research Center «Computer Science and Control» of Russian Academy of Sciences
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.
Key words: trees generation, discontinuous cost function of edges.
1. Введение
В настоящей работе рассматривается задача с разрывными функциями стоимостей на ребрах, приводится постановка задачи и ее частные случаи, описан специальный алгоритм полного перебора всех деревьев и промежуточных однокорневых поддеревьев полного графа, основанный на сформулированных правилах: Правиле расстановки пометок и Правиле подключения. Для формирования точного решения задачи в процессе работы алгоритма перебора деревьев и поддеревьев используются правила отбраковки, основанные на свойствах оптимального решения, заведомо неоптимальных решений, в результате чего перебор значительно сокращается.
2. Постановка задачи построения сети с разрывными функциями стоимости на ребрах
Пусть задано множество источников сырья .] = {1, 2, 3,... ,п} с известными объемами сырья Ь^ > 0 и сто к до. На множес тве Ш = ■] и {до} задан полный граф возможных коммуникаций и(Ш). Стоимость соединения двух произвольных вершин этого графа с^ (х^) является разрывной функцией, зависящей от величины потока сырья х^ между этими вершинами:
Су (Хгу) = (%• + <Ргу (х^)) * sign(х^).
© Злотов А. В., 2020
(с) Федеральное государственное автономное образовательное учреждение высшего образования
«Московский физико-технический институт (национальный исследовательский университет)», 2020
Будем в дальнейшем рассматривать аппроксимирующую снизу функцию
Сц (Хц ) = (% + Чц * Хг^ ) * БЩп(хгз ),
где у^ > 0 — некоторые постоянные коэффициенты. На рис. 1 представлено её графическое представление.
Рис. 1. Функция стоимости ребра сети в зависимости от потока по этому ребру
Требуется построить сеть минимальной стоимости, связывающую множество источников / со стоком до, ПРИ условиях полного перетока сырья из источников в сток. То есть необходимо минимизировать величину:
^ ^ К- + и
'И
хц) • sign(x¿?•) ^ шт
при условиях
У2(хц - Ху,) = ^, з = 1, 2, 3,... ,п,
^ > 0.
(1)
(2)
(3)
Задача в данной постановке характерна для решения ряда прикладных задач построения различных коммуникационных сетей: трубопроводных, транспортных, сетей связи и других, когда стоимость коммуникации складывается из постоянных затрат у^ на ее строительство и «эксплуатационных» затрат щу зависящих от величины потока по данной коммуникации [1].
Примечание. Будем в дальнейшем без ограничения общности предполагать, что и(Ш) — неориентированный граф, т.е. уц = у у, иц = иу, хотя для ориентированных графов все нижеописанные свойства оптимальных решений и алгоритмы их построения сохраняются с небольшими модификациями.
Справедлива следующая
Лемма. Решение задачи (1)-(3) лежит на множестве всех деревьев полного графа и (Ш).
Если все Уц = 0, то Задача 1 сводится к известной задаче отыскания кратчайших путей по матрице \\иц|| от множества источников / до стока до, Для решения которой разработан ряд эффективных алгоритмов [2, 3]. Если все у^ = 0, то Задача 1 представляет собой задачу построения кратчайшей связывающей сети (КСС) на множестве Ш, алгоритмы решения которой также хорошо разработаны [4, 5].
В общем же случае, когда = 0 и = 0, данная задача представляет собой многоэкстремальную задачу дискретного программирования, которая является частным случаем сетевой постановки транспортной задачи с фиксированными доплатами.
Комбинаторная постановка задачи 1.
Пусть D = {dk}, к = 1, 2, 3,..., (п + 1)га-1 — множество всех деревьев полного графа U(W). Стоимость Р(dk) произвольного дерева определяется по формуле:
Р (dk) = (Vij + Uij ■ Xij).
(ij)Edk
Потоки Xij > 0 по дугам этого дерева удовлетворяют условиям полного перетока сырья из источников в сток:
Y^ (ха - ха) = bi vi £ J.
(ij)Edk
Требуется найти d0 £ D с Р(d0) = min Р(d).
dED
Введем некоторые обозначения.
Пусть Js = (ii,i2,i3,... ,is) — некоторое подмножество источников Js £ J и на множестве Ws = Js U {q0} построено поддерево Rs.
Ps = W\Ws — множество не присоединенных вершин; ßS — путь по поддереву Rs от вершины г до стока qo~, IQ = ^^ Uij — «дли на пути» ßf то подд ер еву Rs] (iJ)Eß!
Uij — «длина кратчайшего пути» между вершинами г и j по матрице Vij;
Що
= I lsj0 при j £ Js,
\ üjqo прrnj £ Ps;
Xi — значение потока через г-ю вершину; ^ij — значение потока по звену (ij)~,
Ds = {dk} — множество всех деревьев dk таких, что Rs £ dk
-'s - { k ^ ^UpCDDCD lA>k idiiiil^Y, ^ J-U ±Ls £ ^k"!
Ф(^1) = ^ (yij + * Vv) ~ стоимость дерева dsk.
(i, j)Ed%
Требуется определить dQ — оптимальное решение Задачи 1 при зафиксированном поддереве Rs £ d'Q: ф(dQ) = min ф(dsk).
dsk EDS
3. Анализ свойств оптимального решения
При анализе свойств оптимального решения предполагается, что известно некоторое зафиксированное поддерево Rs £ dQ и необходимо достроить данное поддерево оптимальным образом. В качестве поддерева До может выступать одиночная вер шина-сток qq.
Функция подключения. Определим функцию Fi(xi,w, Rs) как «функцию подключения» i-й вершины к подмножеству вершин w С W:
{Vij + (и^ + lsj0) ■ Xi при ij £ Rs, i £ Ws,
min [vy + (uj,j + üj0) ■ Xj\ при i £ Ps. ^
jew\i
Функция подключения Fi(xi,w,Rs) обладает следующими свойствами:
1. Fi(xi,w,Rs) — монотонно-возрастающая, кусочно-линейная функция по х.
2. Y^Fi(bi,W, dk) = Р(dk), т.е. Fi(bi,w,dk) является членом разложения стоимости де-iE J
рева dk, соотнесенным к г-й вершине.
3. Функция подключения является нижней оценкой стоимости всех деревьев, построенных при зафиксированном поддереве Rs:
^ Fi(biW,Rs) < Р(dk) при Rs £ dk. (5)
iE J
Определим множество как множество вершнн ] Е на которых достигается минимум функции подключения Р^ (х1 ,гш,Я8).
Теорема 1. О недопустимом пути. Если для каких-либо вершин г и з Е Р8 выполняется условие
^ , , Я8) < тП/-(Щк) + (^ + ^0) •Ь1, ^
то в оптимальном решении, построенном на зафиксированном поддереве Я8 Е ПУТЬ из вершины г к стоку до те может проходить через вершину у.
Следствие. На основании этого свойства можно оценить значение максимально возможного потока который может проходить через ^'-ю вершину в решении ¿0: Щт =
где Р' — множество тех вершин г Е Р81 для которых не выполняется условие (6).
г
вершину.
{
Рис. 2. Функция подключения г-й вершины в зависимости от потока
Теорема 2. Достаточные условия оптимальности подсоединения. Для того чтобы ребро (г,]); г Е Р8, ] Е Ш8 входило в решение ¿0, достаточно выполнения условии
' Р{ (Ь{, Ш, Я8) = ^ + (щ5 + 1*0) • Ь{, ^
Рг (Хгт, ^ Яз) = % + + 1*0) • Х1т.
Теорема 3. Необходимое условие вхождения подсоединения в оптимальное решение. Для того чтобы ребро г,], г Е Р8, ] Е Ш8) могло входить в решение ¿0, необходимо выполнение условия у Е т.е. оно должно принадлежать множеству вершин,
г
Теорема 4. Об оценке подсоединения. Погрешность оптимального решения с зафиксированным поддеревом Я8\ = Я8и(ц), где г Е Р3, 3 Е Ш8 по сравнению с оптимальным решением при зафиксированном поддереве Я8 не превосходит значения
д^ = шах{ + (иц + 1*0) • Ь - Рг, W, Я8)], [у^ + (и^ + 110) • х{ш - Е\(х1т, W, Я8)] }. (8)
4. Алгоритм полного перебора всех деревьев и промежуточных однокорневых поддеревьев
Алгоритмы точного решения задачи строятся на базе алгоритма полного перебора всех деревьев и промежуточных однокорневых поддеревьев полного графа и(Ш). Алгоритм перебора должен удовлетворять следующим требованиям:
1. Полный перебор без повторов не только всех деревьев, построенных на множестве вершин но и всех промежуточных поддеревьев с корнем в зафиксированной вершине ^0-
2. Конструктивность способа формирования деревьев и поддеревьев путем последовательного «наращивания» ребер.
Ниже описывается алгоритм перебора, удовлетворяющий перечисленным требованиям и реализованный в алгоритмах точного решения задачи.
В процессе перебора последовательно строятся поддеревья различных «уровней». На 5-м уровне 1 < 5 < п + 1 формируются деревья К3, содержат,ие 5 вершин.
Процесс построения деревьев осуществляется последовательным движением вдоль ряда поддеревьев: производится переход от уровня к уровню (от 1-го и до (N+1)-«»). Причем поддеревья верхнего уровня отличаются от образующего поддерева нижнего уровня добавлением только одного ребра. На каждом 5-м уровне образуются не сразу все поддеревья из 5 вершин, а лишь некоторая, однозначно определенная алгоритмом, часть их. После того, как будет получена часть деревьев (п + 1)-го уровня, происходит возврат к п-му уровню и из него образуются новые деревья (п + 1)-го уровня. Если образование новых деревьев (п + 1)-го уровня окажется невозможным, то производится возврат к (п — 1)-му уровню и образование из него новой п-й, а затем и (п + 1)-й группы деревьев.
Процесс заканчивается, когда просмотрены все поддеревья 2-го уровня.
Опишем переход от г-го уровня к (г + 1)-му уровню.
Пусть из г — 1-го уровня образован г-й уровень и из него необходимо образовать (г + 1)-й уровень.
На г-м уровне имеется множество вершин Jr = ,...,3г}, образующих поддере-
во Кг. Этому соответствует множество по меток Ег = {е\ ,е2,... ,е1г }. Остальные вершины образуют множество не присоединенных вершин Рг = {р\,р2,,... ,ргп+1_г}-
Алгоритм перебора основывается на «Правиле подключения» и «Правиле расстановки пометок», которые формулируются следующим образом:
Правило подключения: Произвольная вершина р[ € Рг может быть подсоединена к вершине Д поддерева Кг только в том случае, если ее номер больше пометки вершины Д: Р1 > е1-
Правило расстановки пометок: При подключении произвольной вершины р[ € Рг к вершине поддерева Кг она получает пометку, равную 0. Все вершины по пути от данной вершины к корню поддерева получают пометку, равную номеру вершины, подсоединенной к данной, по этому пути. Остальные вершины получают пометку, равную некоторому большому числу М > п.
Путь от последней подключенной вершины до корня дерева будем называть «генерирующим путем».
В начальный момент работы алгоритма г = 1, .]\ = до, Р = Е\ = {0}.
Пусть г = п + 1. Это означает, что построено очередное дерево. В этом случае переходят к п-му уровню и пытаются образовать из него новый (п + 1)-й уровень. Если это невозможно, то переходят к (п — 1)-му уровню для образования из него нового п-то уровня и т.д.
Опишем этот процесс в общем виде.
Пусть из (г+1)-го уровня оказадось невозможным образование (г+2)-го уровня. В этом случае производится переход к г-му уровню для образования из него нового (г + 1)-го уровня. На г-м уровне для вершины р£ на генерирующем пути среди меток с индексом к > кг ищется метка е > р\ ■
Если такая метка найдена, то соответствующий ей номер фиксируется в качестве нового значения кг и производится переход к (г + 1)-му уровню.
Если для р£. не было найдено такой метки, то рассматривается следующая вершина р\.+1, значен ие кг полагается равным нулю и опять ище тся метка есе< р\.+1.
Если ¿1 + 1 станет равным п — г, т.е. просмотрены все вершины множества рг, производится возврат к (г — 1)-му уровню для образования из него нового г-го уровня.
Процесс заканчивается, когда из начального уровня г = 1 не удается построить следующий уровень.
Данный алгоритм реализует полный перебор без повторов всех деревьев и однокорневых поддеревьев на множестве вершин Ш.
Правило формирования следующего уровня путем подсоединения одного ребра служит конструктивным приемом построения ряда поддеревьев, упорядоченных по включениям
С С ... Яп С Яп+1, что облегчает их анализ и отбраковку в алгоритме точного решения.
На рис. 3 проиллюстрирована работа алгоритма перебора на очередном шаге алгоритма.
Рис. 3. Иллюстрация работы алгоритма перебора
Здесь: {1, 2, 3, 4, 5, 7, 8,12} — вершины поддерева; Л = {1, 2, 3, 4, 5, 7, 8,12} Р3 = {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. Алгоритм корректировки начального приближения.
Алгоритм формирования начального поддерева До. Этот алгоритм используется как в точном, так и в приближенном алгоритмах решения задачи и служит для формирования поддерева Ко с корнем в с токе до, которое заведомо входит в оптимальное решение задачи йо- Ко С йо- Для некоторых задач этот алгоритм может сразу построить оптимальное решение Ко = йо- В частности, точное решение получается в предельных случаях — в задаче построения кратчайшей связывающей сети (у^ = 0) и в задаче отыскания маршрутов наименьшей стоимости (у^ = 0).
Алгоритм построения начального поддерева основывается на правилах, при помощи которых па каждом шаге алгоритма определяется очередное звено (г,]), добавляемое к уже построенной части поддерева.
Предварительно по матрице \\vij|| вычисляется матрица «кратчайших расстояний» \\tiij\\. Далее на каждом шаге алгоритма пока это возможно для всех не подсоединенных вершин по правилам (6), определяется вектор максимально возможных потоков \М и в случае выполнения для какой-либо вершины условия оптимальности (7) она подключается к уже сформированному поддереву.
Алгоритм точного решения задачи. Алгоритм точного решения задачи основан на направленном переборе всех деревьев полного графа. В процессе перебора используется ряд правил отбраковки, позволяющих не рассматривать большие группы деревьев и промежуточных поддеревьев, в результате чего перебор значительно сокращается. Правила отбраковки основываются на свойствах оптимального решения задачи, описанных в п. 2. В случае наличия ограничений по объему используемой оперативной памяти или времени решения задачи, необходимо применение алгоритмов приближенного решения. Эти алгоритмы описываются в следующем разделе.
При работе алгоритма точного решения задачи используется модификация метода перебора для того, чтобы просматривать все деревья и поддеревья при зафиксированном поддереве До, которое формируется по алгоритму построения начального поддерева До-Необходимая модификация состоит в том, что на каждом шаге алгоритма перебора при расстановке меток е\+1 всем вершинам поддерева До приписывается одинаковая метка, равная номеру вершины, подсоединяемой к поддереву До по выделенному пути от вершины р^ до стока.
Основным аппаратом для отбраковки в алгоритме точного решения является правило отбраковки, основанное на условии допустимости подсоединения (8).
Кроме того, используется правило отбраковки тех поддеревьев К3, для которых нижняя оценка стоимости оптимального решения на данном поддереве — ф(К3) = ^^ Рг(Ъг, Ш, К3)
больше, чем стоимость временно оптимального решения — Для допустимых под-
соединений > ф(К3).
Эффективность данного правила отбраковки зависит от того, насколько временно оптимальное решение близко по стоимости к оптимальному решению йо- Поэтому в качестве начального значения для целесообразно брать решение, получаемое по алгоритму
приближенного решения, которое затем может быть улучшено в процессе работы алгоритма точного решения.
Работу алгоритма точного решения можно представить в виде последовательности следующих этапов:
1. Вычисление матрицы кратчайших расстояний \\йу\\ по матрице \\иу\\.
2. Построение начального поддерева До по алгоритму построения начального поддерева.
3. Определение приближенного решения и его стоимости ^>(^1) по алгоритму получения приближенного решения.
4. Получение оптимального решения.
Алгоритм приближенного решения задачи. Алгоритм приближенного решения можно представить, как последовательность алгоритмов формирования начального поддерева, построения начального приближения и корректировки начального приближения.
Использование совокупности этих алгоритмов позволяет получать хорошее приближенное решение с оценкой абсолютной погрешности получаемого решения.
Алгоритм построения начального приближения. Данный алгоритм работает после алгоритма формирования начального поддерева. Построение приближенного решения проводится последовательным «наращиванием» уже построенной части дерева путем добавления к нему такого звена (г,^), г € Рг, ] € для которого минимальна величина Ьгу оценки погрешности на его включение в оптимальное решение, определяемая по формуле (8).
Алгоритм корректировки начального приближения.
В данном алгоритме для всех вершин множества ■] проверяется возможность их переключения с одновременным уменьшением стоимости решения. Переключение производится для вершины, дающей наибольшее уменьшение функционала. Работа алгоритма заканчивается, когда такого переключения нельзя сделать ни для одной вершины.
В результате последовательной реализации алгоритмов формирования начального поддерева, построения начального приближения и его корректировки будет найдено приближенное решение € О. Погрешность полученного решения по сравнению с оптимальным решением не превосходит величины ДФ = ^^ 1) — Р^(Ьг,Ш, Ко)\, т.е. равняется
гeJ
разности между величиной функционала полученного решения и нижней оценки оптимального решения после сформирования начального поддерева.
Система размещения объектов и коммуникаций. Описанные алгоритмы реализованы в Системе размещения объектов и коммуникаций, которая применяется для решения задач размещения совместно со связывающими коммуникациями [1|. На рис. 5 показан пример применения этой системы для Тенгизекого месторождения.
Рис. 5. Тенггоское нефтяное месторождение. Проект ВЦ РАН
Работы по данной проблематике поддержаны в 2012 г. Премией им. Н. К. Байбакова «за большие достижения в решении проблем устойчивого развития энергетики и общества».
Литература
1. Хачатуров В.Р., Соломатии А.Н., Злотов A.B. \и др.]. Планирование и проектирование освоения нефтегазодобывающих регионов и месторождений: Математические модели, методы, применение. Москва : УРСС, 2015.
2. Берж К. Теория графов и ее применение. Москва : ИЛ, 1962.
3. Ермольев Ю.М., Мельник Н.М. Экстремальные задачи на графах. Киев : Наукова думка, 1968.
4. Прим, Р.К. Кратчайшие связывающие сети и некоторые обобщения Кибернетический сборник. Вып. 2. Москва : ИЛ, 1961. С. 95-107.
5. Кельманс А.К. О построении кратчайшей связывающей сети // Кибернетика и управление. Москва : Наука, 1967. С. 115-130.
References
1. Kchchaturov V.R., Solomatin A.N, Zlotov A.V. Planning and design of the development of oil and gas producing regions and fields: Mathematical models, methods, application Moscow : URSS, 2015. (in Russian).
2. Berge K. Graph theory and its applications. Moscow : Foreign literature, 1962. (in Russian).
3. Ermoliev Y.M., Melnik N.M. Extreme problems on graphs. Kiev : Naukova Dumka, 1968. (in Russian).
4. Prim R.K. The shortest connecting networks and some generalizations. Cybernetic collection. N 2. Moscow : IL, 1961. P. 95-107. (in Russian)
5. Kelmans A.K. On the construction of the shortest connecting network. Cybernetics and Control. Moscow : Nauka, 1967. P. 115-130. (in Russian)
Поступим в редакцию 10.09.2020