НАХОЖДЕНИЕ МИНИМАЛЬНЫХ ОСТОВНЫХ ОРИЕНТИРОВАННЫХ ДЕРЕВЬЕВ
Сдвижков О.А.1, Мацнев Н.П.2
1Кандидат физико-математических наук, доцент, Российский государственный университет туризма и сервиса, 2Кандидат технических наук, доцент, Технологический университет, г. Королев
НАХОЖДЕНИЕ МИНИМАЛЬНЫХ ОСТОВНЫХ ОРИЕНТИРОВАННЫХ ДЕРЕВЬЕВ
Аннотация
Рассматривается обобщенная задача о минимальном остовном дереве, то есть задача, в которой матрица весовых коэффициентов дуг, вообще говоря, не является симметричной, решение – ориентированное дерево. В статью вошли математические модели (квадратичного программирования), включая модель с минимальным числом линейных ограничений, к которым сводится обобщенная задача о минимальном остовном дереве. Рассматривается нахождение минимального остовного дерева, когда задан номер корневой, транзитной или висячей вершины, а также случай нескольких условий. Приведены примеры, математические модели решаются средствами программного комплекса Excel.
Ключевые слова: квадратичное программирование, граф, дерево.
Sdvizhkov O.A.1, Matsnev N.P.2
1PhD in Physics and Mathematics, Associate Professor, Russian State University of Tourism and Service, 2PhD in Engineering, Associate Professor, Technological University, Korolev
LOCATING MINIMAL FRAMING ORIENTED TREE GRAPHS
Abstract
The article considers a generalized problem of a minimal framing tree graph, that is, a problem with asymmetric matrix of weight coefficients of arcs where the solution is an oriented tree graph. The article includes mathematical models of quadratic programming, including a model with a minimum number of linear constraints the generalized minimal framing tree graph problem is reduced to. We consider finding the minimal framing tree graph when the number of the root, transit, or hanging vertex is given, as well as the case of several conditions. Examples are provided; mathematical models are solved with the help of the Excel.
Keywords: quadratic programming, graph, tree graph.
Введение
Задача о минимальном остовном дереве графа, матрица C весовых коэффициентов дуг которого является симметричной, – классическая задача методов анализа сетей [3], [4], решение ее в Excel рассматривается в [1].
Случай C ≠ CТ приводит к задаче нахождения минимального ориентированного остовного дерева, сравнимой по сложности с задачей коммивояжера, так как требуется чтобы это дерево не распадалось на несвязные компоненты. Только применение квадратичного программирования позволило построить математические модели этой задачи [5]. Данную работу можно рассматривать как продолжение работы [5].
1. Математические модели задачи о минимальном остовном ориентированном деревеСледуя [2], будем понимать под ориентированным деревом (ордеревом) ориентированный граф, в котором:
- Существует единственная вершина полустепень захода которой равна 0 – корневая вершина;
- Полустепень захода всех остальных вершин равна 1;
- Каждая вершина достижима из корневой вершины.
Пусть V = {1, 2, . . ., n} – множество вершин, T(V, U) – остовное ордерево, состоящее из дуг (v1, v2), (v3, v4), ... , (v2k-1, v2k), … , (v2(n-1)-1, v2(n-1)), где ,
v1 – номер корневой вершины. Запишем эту последовательность дуг вектором
и поставим ему в соответствие двоичную матрицу , p=1, 2, …, 2(n-1); j=1,2,…,n, в которой По ней коэффициенты aij матрицы смежности ордерева T находятся по формулам: (5)Пусть весовые коэффициенты дуг между вершинами V заданы матрицей С=(сij), где i, j = 1, 2, . . ., n, вообще говоря, СТ≠С. Тогда имеет место следующая теорема.
Теорема 1. Задача нахождения по матрице весовых коэффициентов С минимального остовного ордерева T(V, U) сводится к задаче квадратичного программирования с двоичными переменными , в которой целевая функция
коэффициенты aij вычисляются по формуле (5), а ограничения записываются в виде:Действительно, в силу (7) ордерево будет содержать все вершины V, условия (8, 9, 10) следуют из (4, 1, 2), соответственно.
Замена квадратичных ограничений (9, 10) линейными ограничениями приводит к следующей теореме.
Теорема 2. Задача нахождения по матрице весовых коэффициентов С минимального остовного ордерева сводится к задаче квадратичного программирования с двоичными переменными , в которой целевая функция имеет вид (6), ограничения записываются в виде:
Пример 1. Найти минимальное остовное ордерево в графе, матрица весовых коэффициентов дуг которого имеет вид:Решение. Матрица двоичных независимых переменных будет иметь вид , применение формулы (5) дает:
Подстановка в (6) приводит к целевой функции. Условия (11) запишутся в виде:Для решения полученной задачи квадратичного программирования применим надстройку Solver (Поиск решения) программного комплекса Excel [3].
- Вводим матрицу С в диапазон А1:Е5 (рис. 1), заменяя символ ∞ числом, которое значительно больше остальных чисел, например, числом 99:
Рис. 1 – Входные данные
- Под матрицу независимых двоичных переменных xpj оставляем диапазон А7:Е14.
- Матрицу задаем в диапазоне А17:Е21 указанным ниже способом.
- В ячейку F7 вводим формулу =СУММ(A7:E7) и копируем ее в ячейки F8:F14 – они будут задавать первый блок ограничений (11).
- В ячейку А15 вводим формулу =A7+A8+A10+A12+A14 и копируем ее в ячейки В15:Е15 – они будут задавать третий блок ограничений (11).
- Задание формул блока 2 ограничений (11).
- Так как задача ни минимум, в изменяемые ячейки (диапазон А7:Е14) вставляем значение 1, что выполняется перед каждым применением надстройки «Поиск решения».
- Вызываем надстройку «Поиск решения» и задаем (рис. 2) сценарий поиска решения:
Рис. 2 – Сценарий поиска решения
9. Команда «Найти решение» возвращает сообщение, что решение найдено и результаты (рис. 3).Рис. 3 – Возвращаемые результаты
Как следует из данных диапазона А17:Е21, в минимальное остовное ордерево входят дуги (5, 4), (4, 3), (3, 1), (3, 2).
Теорема 2 применима и к симметричным матрицам.
Пример 2. Найти минимальное остовное дерево в графе, матрица весовых коэффициентов дуг которого имеет вид:
Решение. Заменяя на листе Excel с решением примера 1 данные диапазона А1:Е5 новыми данными и запуская поиск решения по сценарию, показанному на рисунке 2, получаем (рис. 4), что в минимальное остовное дерево входят дуги (1, 3), (2, 4), (2, 5), (4, 1).
Рис. 4 – Возвращаемые результаты по данным примера 2
2. Некоторые частные случаи минимальных остовных ордеревьев
Из теоремы 2, с учетом условия (4), следует нахождение следующих частных случаев минимальных остовных ордеревьев.
- Задача нахождения по матрице весовых коэффициентов С минимального остовного ордерева, корневой вершиной которого является заданная вершина с номером R, сводится к задаче квадратичного программирования (6, 11) при дополнительном ограничении .
Например, добавляя в сценарий решения (рис. 2) ограничение С7=1 и запуская поиск решения, получаем (рис. 5) матрицу смежности минимального остовного ордерева, корневой вершиной которого является вершина 3:
Рис. 5 – Корневая вершина имеет номер 3
В ордерево входят дуги (3, 1), (3, 2), (3, 5), (5, 4).
- Задача нахождения по матрице весовых коэффициентов С минимального остовного ордерева, в котором висячей является вершина с заданным номером R, сводится к задаче квадратичного программирования (6, 11) при дополнительном ограничении .
Например, записывая в ячейке H15 листа Excel с решением примера 1 формулу =СУММ(C8:C14), добавляя в сценарий решения (рис. 2) ограничение H15=1 и запуская поиск решения, получаем (рис. 6) матрицу смежности минимального остовного ордерева, в которой вершина с номером 3 является висячей:
Рис. 6 – Вершина с номером 3 является висячей
Как следует из данных, показанных на рисунке 6, минимальное остовное ордерево образуют дуги (1, 2), (4, 3), (5, 1), (5, 4).
- Задача нахождения по матрице весовых коэффициентов С минимального остовного ордерева, в котором транзитной является вершина с заданным номером R, сводится к задаче квадратичного программирования (6, 11) при дополнительных ограничениях .
В частности, записывая в ячейке J15 листа Excel с решением примера 1 формулу =СУММ(B8:B14), добавляя в сценарий решения (рис. 2) ограничения J15≥2, В7=0 и запуская поиск решения, получаем (рис. 7) матрицу смежности минимального остовного ордерева, в которой вершина с номером 2 является транзитной:
Рис. 7 – Вершина с номером 2 является транзитной
Входящие в ордерево дуги (1, 2), (2, 4), (3, 1), (3, 5).
Понятно, что рассмотренные случаи можно комбинировать.
- Задача нахождения по матрице весовых коэффициентов С минимального остовного ордерева, корневой вершиной которого является заданная вершина с номером R, а висячей – вершина с номером S, сводится к задаче квадратичного программирования (6, 11) при дополнительных ограничениях .
Например, добавляя в сценарий решения (рис. 2) ограничения А7=1, H15=1 и запуская поиск решения, получаем (рис. 8) матрицу смежности минимального остовного ордерева, в котором вершина 1 является корневой вершиной, а вершина 3 – висячей:
Рис. 8 – Вершина 1 является корневой, вершина 3 – висячей
Входящие в ордерево дуги (1, 2), (1, 4), (4, 5), (5, 3).
Заключение
Из приведенных результатов видно, что получены эффективные методы нахождения минимальных ориентированных остовных деревьев, включая нахождение многочисленных частных случаев этих деревьев.
Список литературы / References
- Леонников А.В. Решение задач оптимизации в среде MS EXCEL / А.В. Леонников – М.: Издательский дом «Вильямс», 2005. – 704с.
- Новиков Ф.А. Дискретная математика для программистов / Ф.А. Новиков – СПб: Питер, 2000. – 304 с.
- Сдвижков О.А. Дискретная математика и математические методы экономики с применением VBA Excel / О.А. Сдвижков – М.: ДМК Пресс, 2012. – 212 с.
- Филлипс Д., Гарсиа-Диас А. Методы анализа сетей: Пер. с англ. / Д. Филлипс, А. Гарсиа-Диас – М.: Мир, 1984.– 496 с.
- Sdvizhkov O.A., Matsnev N.P. Problema generalizzato del albero ricoprente minimo / O.A. Sdvizhkov, N.P. Matsnev // Italian Science Review, 2016, 6 (39), P. 36-39
Список литературы на английском языке / References in English
- Leonnikov A.V. Reshenie zadach optimizacii v srede MS EXCEL [The decision of tasks of optimization in environment MS EXCEL] / A.V. Leonnikov – M.: Publishing house "Williams", 2005. – 704 p. [in Russian]
- Novikov F.A. Diskretnaja matematika dlja programmistov [Discrete mathematics for the programmers] / F.A. Novikov – SPb: Piter, 2000. – 304 p. [in Russian]
- Sdvizhkov O.A. Diskretnaja matematika i matematicheskie metody jekonomiki s primeneniem VBA Excel [Discrete mathematics and mathematical methods of economy with application VBA Excel] / O.A. Sdvizhkov – M.: DMK Press, 2012. – 212 p. [in Russian]
- Phillips D., Garcia-Diaz А. Metody analiza setej: Per. s angl. [Methods of the analysis of networks: Trans. from angl.] / D. Phillips, А. Garcia-Diaz – M.: Mir, 1984. – 496 p. [in Russian]
- Sdvizhkov O.A., Matsnev N.P. Obobshhennaja zadacha o minimal'nom ostovnom derive [The generalized task about the minimal skeletal tree] / O.A. Sdvizhkov, N.P. Matsnev // Italian Science Review, 2016, 6 (39), P. 36-39