Минимальное остовное дерево с емкостью

Тип связующего дерева

Минимальное остовное дерево с емкостью — это минимальное остовное дерево графа , которое имеет назначенный корневой узел и удовлетворяет ограничению емкости . Ограничение емкости гарантирует, что все поддеревья (максимальные подграфы, соединенные с корнем одним ребром), инцидентные корневому узлу, имеют не более узлов. Если узлы дерева имеют веса, то ограничение емкости можно интерпретировать следующим образом: сумма весов в любом поддереве должна быть не больше . Ребра, соединяющие подграфы с корневым узлом, называются воротами . Поиск оптимального решения является NP-трудным . [1] г {\displaystyle r} с {\displaystyle с} г {\displaystyle r} с {\displaystyle с} с {\displaystyle с}

Алгоритмы

Предположим, у нас есть граф с корнем . Пусть будут всеми остальными узлами в . Пусть будет стоимостью ребра между вершинами и , которые образуют матрицу стоимости . Г = ( В , Э ) {\displaystyle G=(V,E)} н = | Г | {\displaystyle n=|G|} г Г {\displaystyle r\in G} а я {\displaystyle a_{i}} Г {\displaystyle G} с я дж {\displaystyle c_{ij}} а я {\displaystyle a_{i}} а дж {\displaystyle a_{j}} С = с я дж {\displaystyle C={c_{ij}}}

Эвристика Эсау-Вильямса

Эвристика Эсау-Вильямса находит неоптимальные CMST, которые очень близки к точным решениям, но в среднем EW дает лучшие результаты, чем многие другие эвристики.

Изначально все узлы соединены с корнем (звездный граф), а стоимость сети равна ; каждое из этих ребер является вентилем. На каждой итерации мы ищем ближайшего соседа для каждого узла в и оцениваем функцию компромисса: . Мы ищем наибольший среди положительных компромиссов и, если полученное поддерево не нарушает ограничений емкости, удаляем вентили, соединяющие -е поддерево с ребром . Мы повторяем итерации до тех пор, пока не сможем внести дальнейшие улучшения в дерево. г {\displaystyle r} я = 0 н с г я {\displaystyle \displaystyle \sum _{i=0}^{n}c_{ri}} а дж {\displaystyle a_{j}} Г г {\displaystyle Г-{р}} т ( а я ) = г я с я дж {\displaystyle t(a_{i})=g_{i}-c_{ij}} т ( а я ) {\displaystyle t(a_{i})} г я {\displaystyle g_{i}} я {\displaystyle я} а дж {\displaystyle a_{j}} с я дж {\displaystyle c_{ij}}

Эвристика Эсау-Вильямса для вычисления субоптимального CMST:

функция CMST( c , C , r ): T = { , , ..., } при этом есть изменения: для каждого узла = ближайший узел в другом поддереве = - t_max = max ( ) k = i такой, что = t_max если ( cost (i) + cost (j) <= c ) T = T - T = T union return T     с  1 г     {\displaystyle c_{1r}}      с  2 г     {\displaystyle c_{2r}}      с  н г     {\displaystyle c_{nr}}      а  я     {\displaystyle a_{i}}       а  дж     {\displaystyle a_{j}}     т (  а  я   )   {\displaystyle t(a_{i})}      г  я     {\displaystyle g_{i}}      с  я дж     {\displaystyle c_{ij}}      т (  а  я   )   {\displaystyle t(a_{i})}     т (  а  я   )   {\displaystyle t(a_{i})}      г  к     {\displaystyle g_{k}}       с  к дж     {\displaystyle c_{kj}}   

Легко видеть, что EW находит решение за полиномиальное время .

[2]

Эвристика Ахуджи

Эвристика Ахуджи [3] использует локальный поиск в большом многоабонентском окружении из рандомизированного жадного начального решения.

Первоначальное решение

Первоначальное решение находится с помощью рандомизированной версии Эсау-Вильямса. Рандомизация достигается путем выполнения равномерно случайного соединения из лучших вместо лучшего на каждом шаге. п {\displaystyle p}

Локальный поиск по окрестностям

Пусть будет начальным решением с корнем . Окрестность состоит из любой комбинации одного узла или поддерева (общих поддеревьев, а не как во введении к этой статье), вытесняющих один в другой компонент таким образом, что вытесненная структура является следующим вытеснителем, последний вытеснитель вытесняет первый вытеснитель, ни один исходный компонент не имеет более одного вытеснителя, и емкость не превышается ни в одном результирующем компоненте. Т {\displaystyle Т} г {\displaystyle r} Т г {\displaystyle T\setminus r}

График улучшения

Граф улучшения — это инструмент для эффективного поиска в очень большой окрестности. Пути через граф улучшения соответствуют изменениям решения, а стоимость пути — это изменение стоимости решения при применении изменения. Здесь граф улучшения — это направленный мультиграф, построенный с использованием 2 копий каждого узла и до 4 ребер от любого узла до любого узла в другом компоненте . Ребро соответствует изменению удаления узла из его исходного компонента и замены поддерева с корнем в целевом компоненте. Объединение узлов и поддеревьев дает 4 возможных ребра. Ребро существует, если соответствующее изменение не приводит к превышению целевым компонентом пропускной способности. Стоимость ребра — это разница в стоимости минимальных остовных деревьев на вершинах в целевом компоненте до и после смещения. Таким образом, соседи в локальном поиске соответствуют циклам в графе улучшения, которые содержат не более одного узла из каждого компонента. я , я {\displaystyle я',я''} я В ( Т ) {\displaystyle i\in V(T)} Т г {\displaystyle T\setminus r} я , дж {\displaystyle i',j''} я {\displaystyle я} дж {\displaystyle j} я {\displaystyle я'} я {\displaystyle я''}

Шаг локального поиска

Шаг локального поиска использует подход динамического программирования для поиска цикла минимальной стоимости в графе улучшения. Генерируются пути через граф улучшения с увеличивающейся длиной, и сохраняются только самые благоприятные с тем же началом и концом, а также вовлеченными компонентами. С этой целью для хранения путей используется хэш-таблица с кортежем из этих 3 свойств в качестве ключа. Поскольку в каждом отрицательном цикле есть узел, такой что все пути внутри этого цикла, содержащего этот узел, имеют отрицательную стоимость, вообще необходимо рассматривать только пути с отрицательной стоимостью. Поскольку сравнение наборов вовлеченных компонентов между путями является одной из наиболее распространенных операций в алгоритме, оно реализовано как сравнение массивов битов индикатора, хранящихся как целые числа для скорости. Однако это явно вытекает из большого количества коллизий хэша, которые могут быть следствием конкретного выбора хэш-функции и структуры таблицы, а также высокого коэффициента загрузки из-за ограничений по пространству (статья от 2003 г.).

Производительность

На момент написания статьи (2003) этот алгоритм был передовым на стандартном бенчмарке исследования операций. Выполнение доминировало за счет построения (соответственно обновления) графа улучшения. Количество ребер в графе улучшения эмпирически масштабировалось квадратично с размером входного графа, и поскольку это определяет количество раз, которое должен быть выполнен сравнительно сложный шаг поиска минимального остовного дерева, это является наиболее критическим фактором. Таким образом, можно сделать вывод, что менее плотные входные графы значительно выигрывают во времени выполнения, поскольку это уменьшает количество ребер в графе улучшения.

Приложения

Проблема CMST важна при проектировании сети: когда к центральному концентратору необходимо подключить много терминальных компьютеров , конфигурация «звезда» обычно не является минимальной стоимостью. Поиск CMST, который организует терминалы в подсети, может снизить стоимость внедрения сети.

Ссылки

  1. ^ Джоти, Раджа; Рагхавачари, Баладжи (2005), «Алгоритмы аппроксимации для задачи минимального остовного дерева с емкостью и ее варианты в проектировании сетей», ACM Trans. Algorithms , 1 (2): 265– 282, doi :10.1145/1103963.1103967, S2CID  8302085
  2. ^ Эсау, Л.Р.; Уильямс, К.С. (1966). «О проектировании сетей телеобработки: Часть II. Метод аппроксимации оптимальной сети». IBM Systems Journal . 5 (3): 142– 147. doi :10.1147/sj.53.0142.
  3. ^ Ахуджа, РК; Орлин, Дж. Б.; Шарма, Д. (2003). «Составная очень крупномасштабная структура соседства для задачи минимального остовного дерева с емкостью». Operations Research Letters . 31 (3): 185– 194. doi :10.1016/S0167-6377(02)00236-5.
Получено с "https://en.wikipedia.org/w/index.php?title=Capacitated_minimum_spanning_tree&oldid=1270867004"