Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретка - ЧАСТЬ_2.docx
Скачиваний:
7
Добавлен:
01.05.2025
Размер:
6 Мб
Скачать
☆

1.4.2. Орграф приращений

Выделим для заданной транспортной сети D и допустимого потока в этой сети орграф приращений I(D, ), имеющий те же вершины, что и сеть D. Каждой дуге x = (v, )X транспортной сети D в орграфе приращений I(D, ) соответствуют две дуги: x и x` = (,v) - дуга, противоположная по направлению дуге x. Припишем дугам x = (v, )X, x` = (, v) орграфа приращений I(D, ) длину l:

т.е. орграф I(D, ) является нагруженным. При этом, очевидно, что длинна любого пути из v1 в vn орграфе I(D, ) равна либо 0, либо .

Пример 1.21.

Построить орграф приращений для данной транспортной сети и построенного полного потока в этой сети (рис. 1.30).

Решение.

Напомним, что орграф приращений имеет в два раза больше дуг, чем исходная транспортная сеть. Для дуги прямой направленность вес равен 0, если дуга не является насыщенной,  - в противном случае. Для дуги обратной направленности вес равен 0, если поток по ней не равен нулю,  - в противном случае. На рисунке 1.31 изображен орграф приращений, соответствующий данному потоку в исходной транспортной сети.

1.4.3. Алгоритм построения максимального потока в транспортной сети

Шаг 1. Полагаем i = 0. Пусть 0 - любой допустимый поток в транспортной сети D. (например, полный; можно начинать с нулевого потока: 0 (x), xX).

Шаг 2. По сети D и потоку i строим орграф приращений I(D, i).

Шаг 3. Находим простую цепь i, являющуюся минимальным путем из v1 в vnв нагруженном орграфе I(D, i) (например, используя алгоритм Форда - Беллмана). Если длина этой цепи равна , то поток i максимален, и работа алгоритма закончена. В противном случае увеличиваем поток вдоль цепи i на максимально допустимую величину ai> 0, где aiZ(прибавляя ее для каждой дуги xX, через которую проходит цепь i, к уже имеющейся величине потока по дуге x, если направления x и i совпадают, и, вычитая, если направления x и i противоположны).

Пример 1.22.

Выяснить является ли полный поток максимальным (рис. 1.32), если нет, то дополнить его до максимального.

Решение.

Для решения используем алгоритм Форда-Беллмана нахождения минимального пути в нагруженном орграфе.

Построим матрицу длин дуг C(D) и -матрицу (табл. 1.4).

Таблица 1.4

v1

v2

v3

v4

v5

v6

v1

0

0

0

0

0

0

0

v2

0

0

0

0

0

0

v3

0

0

0

0

0

0

0

0

0

v4

0

0

0

0

v5

0

0

0

0

0

0

v6

0

0

0

0

Поскольку , то существует нулевой путь из источника v1 в сток v6. Значит, полный поток не является максимальным. Дополним его до максимального. Для этого найдем путь нулевой длины:

Получаем, что k1 = 4. Таким образом, минимальное число дуг в пути среди всех нулевых путей из v1вv6 в орграфе приращений равняется 4. Определим теперь последовательность номеров i1, i2, i3, i4, i5,где i1 = 6.

Получаем, что в качестве такой последовательности надо взять номера 1, 3, 2, 5, 6, так как

Тогда v1v3v2v5v6 – искомый нулевой путь из v1вv6 . Дуги, совпадающие по направлению с дугами исходной транспортной сети помечаем знаком «+», не совпадающие – знаком «-».

Получаем, Теперь необходимо найти величину, которую будем перемещать по полученному контуру. Для этого, каждому ребру в контуре поставим в соответствие число (i, j), которое находим по следующему правилу: если направление ребра (i, j) в контуре совпадает с направлением ребра x в транспортной сети, то (i, j)=с(х)-(х); если направление ребра в контуре не совпадает с направлением ребра в транспортной сети, то (i, j)=(х). Итак, из чисел (i, j) найдем минимальное:

min{8-2=6, 2, 6-2=4, 9-4=5}=2.

Перемещаем по контуру 2.

В результате получаем поток, изображенный на рисунке 1.33.

Заметим, что в полученной транспортной сети не существует пути из источника в сток, по которому возможно пройти. Следовательно, построенный поток в транспортной сети является полным и = 11. Проверим, является ли он максимальным.

Построим матрицу длин дуг C(D) и -матрицу (табл. 1.5).

Таблица 1.5

v1

v2

v3

v4

v5

v6

v1

0

0

0

0

0

0

0

v2

0

0

0

v3

0

0

0

0

0

0

v4

0

0

0

v5

0

0

0

v6

0

0

Так как , то нулевого пути из v1 в v6 не существует. Значит, поток является максимальным.

Проверочный тест по теме «ТЕОРИЯ ГРАФОВ»

Вопрос 1.Чему равно цикломатическое число графа

Вопрос 2.Чему равно цикломатическое число графа

Вопрос 3.Чему равно цикломатическое число графа

Вопрос 4.Чему равно цикломатическое число графа

Вопрос 5.Чему равно цикломатическое число графа

Вопрос 6.Чему равно цикломатическое число графа

Вопрос 7.Чему равно цикломатическое число графа

Вопрос 8.Чему равно цикломатическое число графа

Вопрос 9.Чему равно цикломатическое число графа

Вопрос 10.Чему равно цикломатическое число графа