<<

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

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

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

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

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

Пример 92.

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

Решение.

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

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

Таблица 69

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 . Дуги, совпадающие по направлению с дугами исходной транспортной сети помечаем знаком «+», не совпадающие – знаком «-».

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

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

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

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

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

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

Таблица 70

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 не существует.

Значит, поток является максимальным.

<< |
Источник: Лекции - Дискретная математика. 2016

Еще по теме 3.4.3. Алгоритм построения максимального потока в транспортной сети:

  1. 3.4.1. Поток в транспортной сети
  2. 4. Задачи о максимальном потоке
  3. Задача о максимальном потоке
  4. 1. Развитие эффективной транспортной инфраструктуры, обеспечивающей ускорение движения потоков пассажиров и товародвижения, снижение транспортных издержек.
  5. 3.4. Транспортные сети
  6. 2.4. Предоставление услуг информационно-транспортной сети
  7. Реализация блочного построения алгоритмов обработки изображения
  8. 2.1.4. Построение алгоритма поиска нитей
  9. 3.1 Алгоритм обучения нейронной сети.
  10. Генетический алгоритма для обучения нейронной сети для вертикализации экзоскелета с одним критерием оптимизации
  11. 2.2.2.1. Алгоритм Куайна построения сокращенной ДНФ
  12. 2.2 Алгоритм обучения нейронной сети для ускоренной сходимости обучения
  13. Глава 3. Алгоритмы самозарождения знания (опыт построения практической системы
  14. Генетический алгоритма для обучения нейронной сети для вертикализации экзоскелета с двумя критериями оптимизации
  15. 133. Контейнеризация мировой транспортной системы и «транспортные мосты»
  16. Стаття 279. Блокування транспортних комунікацій, а також захоплення транспортного підприємства
  17. § 2. Прокат (ст. 626-631). Комментария нет § 3. Аренда транспортных средств (ст. 632-649) 1. Аренда транспортного средства с предоставлением услуг по управлению и технической эксплуатации (ст. 632-641) 212. Какие отличительные признаки выделяет практика для договора аренды транспортных средств с экипажем?
  18. Статья 279. Блокирование транспортных коммуникаций, а также захват транспортного предприятия