Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Задача о максимальном потоке в сети





 

Пусть задан ориентированный граф G=< E, V, H>, в котором направление каждой дуги vÎ V означает направление движения потока (например поток автомобилей), пропускная способность каждой дуги равна d(v). На множестве вершин E выделены две вершины t и s. Вершина t является источником потока, s - стоком. Требуется определить максимальный поток, который может быть пропущен из вершины t в s.

Обозначим через x(v) величину потока, движущегося по дуге v. Очевидно, что

0£ x(v) £ d(v), vÎ V. (6. 1)

В каждой вершине iÎ E\{t, s} объем потока входящего равен объему потока выходящего, т.е. справедливо равенство

{x(v) |i Î V+(i)}= {x(v)| iÎ V -(i)}

т.е.

{x(v)| iÎ V+(i)} - {x(v)| iÎ V -(i)}=0. (6.2)

Для вершины t

{x(v)| iÎ V+(i)} -{x(v)¦ iÎ V -(i)}=-Q, (6.3)

для вершины s

{x(v)| iÎ V+(i)} - {x(v)¦ i Î V -(i)}= Q. (6.4)

Величина Q является величиной потока, который выходит из вершины t и входит в вершину s.

Требуется определить

Q ® max (6.5)

при ограничениях (6.1-6.4).

Величины Q, x(v), vÎ V, удовлетворяющие ограничениям (6.1-6.4) будем называть потоком в сети, и если они максимизируют величину Q, то максимальным потоком. Нетрудно видеть, что значения Q=0, x(v)=0, vÎ V, являются потоком в сети.

Задача (6.1-6.5) является задачей линейного программирования и ее можно решить алгоритмами симплекс-метода.

Разобьем множество вершины Е на две непересекающиеся части Е1 и Е2 таким образом, чтобы tÎ E1, sÎ E2. Разрезом V(E1, E2), разделяющим t и s будем называть множество V(E1, E2)Ì V такое, что для каждой дуги v Î V(E1, E2) либо h1(v)Î E1 и h2(v)Î E2, либо h1(v)Î E2 и h2(v)Î E1.

Разобьем множество V(E1, E2) на две части V(E1, E2, +), V(E1, E2, -) следующим образом:

V(E1, E2, +)={vÎ V(E1, E2)| h1(v)Î E1 и h2(v)Î E2}

V(E1, E2, -)= { vÎ V(E1, E2)| h2(v)Î E1 и h1(v)Î E2}

Пропускной способностью разреза будем называть

Q(E1, E2) =  {x(v)| vÎ V(E1, E2, +)}- {x(v)| vÎ V(E1, E2, -)}

Справедлива следующая

Теорема 1. (О максимальном потоке и минимальном разрезе).

В любой сети величина максимального потока из источника t в сток s равна минимальной пропускной способности Q(E1, E2) среди всех разрезов V(E1, E2), разделяющих вершины t и s.

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

x(v)=d(v), vÎ V(E1, E2, +),

x(v)=0, vÎ V(E1, E2, -).

 

Пусть Q, x(v), vÎ V, - некоторый поток в сети, последовательность

t=i(0), v(1), i(1), v(2), i(2),..., v(k), i(k)=s,

является цепью, соединяющих вершины t и s. Зададим на этой цепи направление движения от вершины t к s. Дуга v(j) из этой цепи называется прямой, если ее направление совпадает с направлением движения от t к s, и обратной в противном случае. Эту цепь будем называть путем увеличения потока, если для прямых дуг v цепи x(v) < d(v) и для обратных x(v) > 0. По этой цепи можно пропустить дополнительный поток q из t к s величиной q = min (q1, q2), где q1=min (d(v) -x(v)), минимум берется по всем прямым дугам цепи, q1=min (x(v)), минимум берется по всем обратным дугам цепи.

Теорема 2.

Поток Q, x(v), vÎ V, максимальный тогда и только тогда, когда не существует пути увеличения потока.

 

Предлагаемый алгоритм решения задачи о максимальном потоке в сети, основан на поиске пути увеличения потока из t в s, который в свою очередь основан на процессе расстановки пометок вершин. Будем говорить, что

вершина i помечена пометкой [g(i), +v(i)], если до нее дошел некоторый дополнительный поток величиной q(i)> 0, а также известна дуга прямая дуга v(i), через которую поступил этот поток, либо помечена пометкой [g(i), -v(i)], если до нее дошел некоторый дополнительный поток величиной q(i)> 0, а также известна обратная дуга v(i), через которую поступил этот поток;

вершина i просмотрена, если помечены все соседние с ней вершины.

Если помечена вершина s, то найден путь увеличения потока величиной q, который пропускается по этому пути. Для описания алгоритма нам понадобится также массив SPW, в который помещаются номера помеченных вершин в порядке их пометки. С1 - номер в массиве SPW просматриваемой вершины, С2 - номер последней помеченной вершины в этом массиве.

 







Дата добавления: 2014-12-06; просмотров: 898. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия