КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Элементы теории графов 2 страница
Нули в строке Λ0 дают вершины, которым не предшествует ни одна другая вершина. Таким образом, вершины E и H составляют уровень N 0. Исключив из сумм строки Λ0 значения, записанные в строках E и H, получим строку Λ1, в которой нули из Λ0 заменены знаком «+».
Рис. 2.23. Порядковая функция на графе: а) исходный граф; б) уровни упорядоченного графа Рис. 2.24 Появившиеся в строке Λ1 нули дают вершины, которым не предшествует ни одна другая вершина, кроме ранее удаленных E и H. Это вершины B, I, J, которые образуют множество уровня N 1. Далее из Λ1 вычтем суммы строк B, I, J, заменив все ранее появившиеся нули знаками «+» и получим строку Λ2:
Новые нули, появившиеся в Λ2, дают вершины, для которых не существует других предшествующих вершин, кроме удаленных E, H, B, I, J. Вершины A, G, N составляют уровень N 2. Этот процесс продолжается до тех пор, пока не будет закончен перебор всех вершин исходного графа (матрицы):
После этого строится граф (рис. 2.25) с четко определенной порядковой функцией, когда вершины находятся на соответствующих им уровнях. Рис. 25. Уровни упорядоченного графа Когда граф содержит, по крайней мере, один контур, найдется строка Λ i в которой невозможно добиться появления нового нуля. Этот факт дает автоматическое средство для выявления контуров в графе. Прикладные задачи теории графов. 1. Задача нахождения кратчайшего пути. В практических приложениях большое значение имеет задача о нахождении кратчайшего пути между двумя вершинами связного графа. К ней сводятся многие задачи выбора наиболее экономичного (с точки зрения расстояния, времени или стоимости) маршрута перевозок; способа перевода динамической системы из одного состояния в другое; построения сети связи минимальной длины (стоимости); потерь. Если каждому ребру графа G (V, E) приписано число l (e) ≥ 0, называемое его длиной, общая постановка этой задачи заключается в нахождении минимальной длины пути μ ab между двумя произвольными вершинами a и b: . 1а. Нахождение кратчайшего пути в графе с ребрами единичной длины. Если все ребра графа имеют одинаковую длину, то длина их принимается равной 1. Вершины такого графа представляют состояние некоторой системы, в которой все переходы, делающиеся за один шаг, эквивалентны. Когда граф содержит небольшое количество ребер, то искомый путь можно непосредственно увидеть, найти без каких-либо правил, путем перебора. При значительном количестве вершин и ребер в графе возникает необходимость в четком описании способа решения задачи. Общее правило нахождения кратчайшего пути состоит в том, чтобы каждой вершине хi приписать индекс λ i, равный длине кратчайшего пути из данной вершины в конечную. Приписывание индексов вершинам производится в следующем порядке: · конечной вершине x 0 приписывается индекс λ0 = 0; · всем вершинам, принадлежащим множеству ребер, инцидентных x 0 (которые связаны ребрами с x 0), приписывается индекс λ1 = 1; · всем вершинам, еще не имеющим индексов, принадлежащих множеству ребер, инцидентных xi, приписывается индекс λ i + 1; · процесс продолжается до тех пор, пока не будет помечена начальная вершина, индекс которой будет равен длине кратчайшего пути. Сам путь определяется при движении из начальной вершины в направлении убывания индексов. Пример определения кратчайшего пути на графе с ребрами одинаковой длины из начальной вершины Z в конечную X показан на рис. 2.26. Часть вершин исходного графа при решении поставленной задачи можно не помечать, так как они заведомо не входят в искомый маршрут. 1б. Нахождение кратчайшего пути в графе с ребрами произвольной длины. Задача приписывания вершинам графа числовых индексов усложняется, если его ребра имеют произвольную длину. Путь, проходящий через наименьшее количество вершин, часто имеет большую длину, чем «обходные» пути. Рис. 2.26. Построение кратчайшего пути в графе с ребрами одинаковой xihiim Пример. Решение этой задачи для графа рис. 2.27 с начальной вершиной a и конечной k и ребрами произвольной длины произведем графически: · из начальной вершины va проведем все ребра, по которым из нее можно непосредственно попасть в любую другую, и проставим на ребрах расстояние от va до соответствующей вершины (рис. 2.28, а); · если между вершинами, выделенными на первом шаге, существуют другие пути, то определить, является ли длина непрямого пути между va и любой другой вершиной меньше прямого из va в рассматриваемую вершину (рис. 2.28, б); · добавляются все вершины, в которые можно непосредственно попасть из вершин, выделенных на первом шаге, и к ним применяется процедура, изложенная в предыдущем пункте (рис. 2.28, в); · шаги 3 и 2 повторяются, пока не появится конечная вершина k. Рис. 2.27. Граф с ребрами произвольной длины Кратчайший путь на рис. 2.28 показан сплошными линиями, все остальные – пунктирными (рис. 2.28, б, в, г). Если длины прямого и непрямого пути равны, оба изображаются сплошными линиями. Над каждой вершиной проставлена длина кратчайшего пути до нее от начальной вершины. Эта задача решается и при дополнительном ограничении: число вершин, через которые проходит кратчайший путь, может быть минимальным. 2. Задачи управления проектами, сетевого планирования и управления. Ориентированный граф является мощным средством для описания и анализа взаимодействия элементов сложных агрегатов, объединенных в единую систему; системных комплексов; проектов, требующих выполнения большого числа взаимосвязанных операций (работ). Термин «работа» может иметь следующие значения: а) действительная работа в прямом смысле слова, то есть трудовой процесс, требующий затрат времени и ресурсов; б) ожидание, не требующее затрат труда, но занимающее некоторое время; в) «фиктивная работа», то есть логическая связь между двумя или несколькими операциями, не требующая ни затрат времени, ни ресурсов, но указывающая, что возможность начала одной работы непосредственно зависит от результатов другой. Например, это процесс разработки, сооружения, монтажа и наладки оборудования крупного энергетического объекта, включая этапы выбора и подготовки места строительства; выполнение комплексной научно-исследовательской темы с участием ряда организаций и т.п. Подобные проекты связаны с выполнением множества отдельных непересекающихся операций a 1, a2, …, an которые выбираются так, чтобы можно было установить все существенные отношения, предшествующие данной операции. Хотя некоторые операции проекта независимы друг от друга, в общем случае между ними существует достаточно сильная зависимость во времени. Рис. 2.28. Преобразования первого шага а), второго б), третьего в) и окончательный вариант г) Например, настройка устройств РЗА энергообъекта может производиться только после предварительных расчетов и монтажа; ремонт обмотки силового трансформатора – начат только после отключения и отсоединения его от сети, выемки внутренней части, расшихтовки сердечника и т.д. Если заданы все подобные временные зависимости, то они могут быть представлены в виде ориентированного графа (рис. 2.29), который называют сетевым. Каждая дуга графа рис. 2.29 соответствует одной операции, а каждая вершина называется событием и соответствует некоторому моменту времени. Так вершина v 1 представляет событие, связанное с началом всего проекта, когда могут выполняться только операции a 1, a2, a 3. Проект считается законченным после выполнения операций аи, a 11, a 1 2 , a 13, а следовательно, всех операций проекта, когда наступает событие, соответствующее вершине v 8. Промежуточные вершины отражают взаимосвязи операций во времени. Вершины выбираются и сопоставляются с дугами так, чтобы для каждой операции (дуги) и события (вершины) было справедливо следующее утверждение: если операция ai, имеет начальное событие в виде вершины vi, то она не может быть начата до тех пор, пока все операции, заканчивающиеся в vi не будут выполнены: операция a 10 (также, как и a 12) (рис. 2.29) может быть начата только после выполнения операций a 5 и a 7. Косвенно начало операции a 10 зависит от моментов выполнения операций a 1, a 2, a 4, так как они непосредственно определяют начало операций a 5 и a 7. Граф, представляющей процесс выполнения операций, является ациклическим. Наличие цикла создало бы невозможную ситуацию, в которой ни одна из операций, входящих в цикл не могла бы начаться первой. Рис. 2.29. На основании изложенного, определяются основные требования к построению сетевого графа: 1) в сетевом графе не должно быть тупиков – событий, из которых не выходит ни одной работы, если эти события не являются завершающими; 2) в сетевом графе не должно быть событий, в которые не входит ни одной работы, если эти события не являются исходными; 3) в сетевом графе не должно быть замкнутых контуров, циклов. Предположим, что для выполнения каждой операции a, требуется известное фиксированное время t (ai), которое соответствует числам на дугах графа рис. 2.29. Несколько операций можно выполнять одновременно, если ни одна из операций рассматриваемой группы не ограничена моментами выполнения других операций, входящих в нее. Длина (сумма временных интервалов) любого пути из v 1 в vi соответствует времени, измеряемому от начала выполнения проекта до наступления события vi, после осуществления которого, могут быть начаты операции, имеющие vi, в качестве начальной вершины. Путь, имеющий наибольшую продолжительность, называется критическим – общая минимальная продолжительность всех работ, осуществляемых в данном проекте. Нахождение его выполняется по методу, аналогичному рассмотренному выше для поиска кратчайшего пути в графе с ребрами произвольной длины с заменой минимума целевой функции на максимум. Чтобы сократить сроки выполнения проекта необходимо сократить сроки работ, находящихся на критическом пути. Критических путей (рис. 2.29) может быть несколько: P кр1 = t кр = { v 1, v 2, v 4, v 5, v 6, v 8,} = 13 и P кр2 = t кр = { v 1, v 2, v 4, v 6, v 8,} = 13. Разница между продолжительностью критического пути t кр и любого другого ti называется резервом времени пути P п = t кр – ti. Разница между поздним t п и ранним t р сроками совершения того или иного события называется резервом времени события P с = t п – t р. Реально продолжительность каждой операции есть случайная величина, определяемая соответствующим законом распределения, оценки параметров и распределения которой используются при последующем анализе. При решении несложных задач предлагается использовать «бета-распределение», при котором для каждой операции находятся (или задаются) три временные оценки: a – пессимистическая, b – оптимистическая и m – наиболее вероятная. Тогда среднее значение времени выполнения операций и его стандартное отклонение оцениваются как ; . Показатели возможного разброса сроков окончания операций используются для оценки вероятности окончания проекта в заданный срок. Кроме длительности выполнения проекта рассматриваются и другие количественные характеристики: затраты людских или денежных средств (ресурсов, материалов, механизмов), очередность строительства или ввода связанных объектов и т.п., которые могут оказаться взаимозависимыми. Учет их позволяет сократить длительность операций с помощью дополнительных ресурсных вложений. Решение подобных задач осуществляется с использованием современных компьютерных технологий и программных продуктов, в частности, MS Project 2003. 3. Задача нахождения максимального потока в сети при ограниченных пропускных способностях отдельных участков. Если каждой дуге графа приписать поток некоторого вещества, соответствующий пропускной способности линий электропередачи, трубопроводов различного назначения, граф становится удобной моделью при исследовании целого ряда проблем, возникающих на транспорте, в системах электроэнергетики, связи, связанных с действительным или воображаемым движением товаров, информации, ресурсов. Потоком в сети N называется целочисленная функция φ, определенная на дугах исходного графа. Целое число 0 ≤ φ(u) ≤ c (u) называется потоком по дуге a и интерпретируется как количество вещества, протекающего в единицу времени по дуге (скорость, мощность, потери). Если величина потока равна пропускной способности дуги φ(u) = c (u), поток называется насыщенным. Направление потока определяется знаком φ(u). Поток полный, если любой путь, ведущий из vi в vj содержит, по крайней мере, одну насыщенную дугу. Вершины в сети N классифицируются по их воздействию на поток φ: создают (источники), поглощают (стоки) или сохраняют поток. Любой поток можно преобразовать в поток, только с одним источником и одним стоком, увеличив количество вершин в сети. В результате образуется сеть с одним источником и одним стоком. Для такой сети справедливы известные из электротехники законы Кирхгофа. Когда начальный поток является неполным, можно определить путь из вершины x 0 в xk который не содержит насыщенных дуг. На первом шаге полагаем, что величины φ(u), составляющие этот путь равны нулю. На втором к нулевому начальному потоку добавляется наименьшая из величин c (u) – φ(u), вычисленных для дуг рассматриваемого пути, после чего рассматриваемый путь будет содержать, по крайней мере, одну насыщенную дугу. На последующих шагах подобным образом поступают с другими возможными путями и получают полный поток. Пример. Для сети энергосистемы, представленной графом рис. 2.30 с указанными на нем пропускными способностями дуг, соответствующими передаваемой мощности (величине протекаемого тока), определить максимальный поток из начальной вершины v 0 в конечную vk. Решение представлено в форме таблицы 2.1. В первом столбце указаны дуги с учетом их направления. Во втором – величины начального (нулевого) потока. В последующих столбцах представлены величины потока, полученные в результате различных итераций, производимых способом, указанным ниже. Рис. 2.30. Таблица 2.1.
Специально отмеченные величины потока являются величинами, насыщающими соответствующие дуги. В третьем столбце рассмотрен путь P = { v 0, v 4, v 3, vk }. Дуга v 4, v 3 насыщается, когда поток увеличивается до максимально возможной величины φ(u) = 2. В четвертом столбце представлен путь P = { v 0, v 4, v 2, vk }, в котором предыдущий по дуге v 0, v 4 поток увеличивается на 3 единицы, доводя его до насыщенного (φ(u) = 5), и, следовательно, не имеет смысла рассматривать другие дуги, содержащие v 0, v 4. Пятый столбец содержит данные, относящиеся к пути P = { v 0, v 1, v 2, vk } с насыщенным по дуге v 1, v 2 потоком φ(u) = 2, который увеличивает еще на 2 единицы результирующий поток сети. Разрезав сеть по дугам v 0, v 4, v 0, v 1 и v 3, vk, v 2, заключаем, что максимальный поток Ф = 7. Равенство исходящих из v 0 и входящих в vk потоков подтверждается законом Кирхгофа. Особо отметим, что дуга v 3, v 2 не участвует в передаче мощности и при решении данной задачи она может быть исключена из состава сети. Однако при постановке целого ряда других задач (например, связанных с надежностью электроснабжения) ее роль может оказаться решающей. 4. Применение понятия дерева для конструирования кратчайшей сети. Предположим, что несколько электроприемников (РП, подстанций, узлов нагрузки или электростанций) объединяются в единую сеть. Поскольку требованием является только наличие связи между вершинами, задача сводится к поиску соединения минимальной длины (стоимости). Когда число узловых точек мало, решение получают последовательным перебором, но при увеличении количества вершин задача усложняется. В терминах теории графов она формулируется следующим образом. Пусть G – связный граф, каждому ребру которого приписано неотрицательное число cij – мера, вычисляемая по заданным координатам как расстояние между узлами сети. Требуется построить граф T, у которого сумма мер cij, у имеет минимальное значение M (T) = ∑ cij = min. Такой граф должен быть деревом, так как если бы он содержал цикл, удаление одного из ребер не нарушило бы его связанности. Для построения этого графа используется алгоритм Краскала. 1. Ребра графа G упорядочиваются в порядке неубывания их мер. 2. Начав с первого ребра в этом списке, обладающего наименьшей мерой, определяется последовательность ребер в соответствии со следующим условием: на каждом последующем шаге выбирается ребро отличное от предыдущих, с наименьшей мерой, не образующее циклов с ранее выбранными ребрами. Если имеется несколько ребер с одинаковой мерой; то выбирается любое из них. Построенное таким образом дерево и есть сеть минимальной длины (стоимости). При использовании этого алгоритма составления полного списка ребер в порядке возрастания их весов обычно не требуется, так как n 1 искомых ребер, образующих сеть минимальной стоимости, будут найдены после просмотра только «верхней» части списка. Если число узлов проектируемой сети относительно невелико, появляется возможность (особенно при разработке низковольтных сетей, сетей контрольных кабелей и кабелей связи) вторичной оптимизации дерева T, что может привести к дополнительному сокращению его длины (стоимости) на 7 ÷ 12%. Такая задача известна как задача Штейнера. Решение ее заключается в нахождении дерева L, которое «стягивает» множество вершин дерева Т так, что сумма мер вновь образованных ребер удовлетворяет неравенству M (L) < M (T). Это достигается за счет изменения первоначальной структуры сети T введением дополнительных «искусственных» вершин k, которые можно интерпретировать как транзитные устройства, распределительные пункты, клеммные коробки. Условия построения кратчайшего дерева заключаются в следующем. 1) Каждая «искусственная» вершина ki вновь образованного дерева L имеет степень ρ = 3 и угол между ребрами, инцидентными ей – 120°. Эта вершина является центром треугольника, вершинами которого служат три другие вершины, с которыми она связана. Отдельные вершины этого треугольника могут оказаться при этом другими «искусственными» вершинами. 2) Максимальное число «искусственных» вершин k в L определяется соотношением 0 ≤ k ≤ n – 2, где n – число вершин исходного графа T. Пример. В соответствии с заданными координатами рис. 2.31, а построено дерево T, длина которого M (T) = 75. Путем введения двух дополнительных «искусственных» вершин k = n – 2 = 4 – 2 = 2 построено дерево L, длина которого M (L) = 69 определена посредством несложных вычислений на основе информации, представленной на рис. 2.31, б. Рис. 2.31. Вторичная оптимизация дерева путем введения «искусственных» вершин Рис. 2.32. Сокращение длины (стоимости) сети за счет введения «искусственных» вершин Разность длин Δ N деревьев T и L: Δ N = M (T) – V (L) = 75 – 68 = 7. Полученный результат означает, что выигрыш, который получен при вторичной оптимизации, может быть эффективен только в том случае, если затраты на сооружение дополнительных «искусственных» вершин (распределительных устройств) не превышают 7. Следует отметить, что прокладка реальных инженерных коммуникаций, в том числе и электрических сетей, ведется обычно согласно плану расположения оборудования, и трассы линий находятся под прямым углом друг к другу. Расстояние между узлами сети (вершинами графа) с координатами (x 1, y 1),(x 2, y 2) вычисляется по формуле d 12 = | x 1 – x 2|+| y 1 – y 2|. При решении задачи Штейнера в этом случае через каждую вершину vi дерева T проводятся горизонтали и вертикали, пересечения которых рассматриваются как возможное местоположение «искусственных» вершин. Пример. Исходный граф T поострен в соответствии с рис. 232, а. Одно из решений задачи Штейнера представлено на рис. 2.32, б.
Дата добавления: 2015-04-30; Просмотров: 524; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |