Московский Государственный Институт Делового Администрирования
КУРСОВАЯ РАБОТА
На тему: «Транспортные сети. Задача о максимальном потоке в сети»
Работу выполнила: Болотина Юлия
Работу проверил: Аллавердиев А.М
Москва 2003
Введение………………………………………………………………3стр
Теоретическая часть………………………………………..……….4стр
Теорема Форда-Фалкерсона………………………………………….
Алгоритм решения……………………………………………...…….5стр
Поток в транспортной сети…………………………………………..7стр
Орграф приращений…………………………………………………10стр
Алгоритм построения максимального потока
В транспортной сети………………………………………………10стр
Практическая часть……………………………………………...…12стр
Этап 1…………………………………………………………………12стр
Этап 2………………………………………………………………... 13стр
Этап 3………………………………………………………………....13стр
Этап 4……………………………………………………………...….14стр
Этап 5…………………………………………………………………14стр
Заключение…………………………………………………………..16стр
Список используемой литературы……………………………..…..17стр
Введение.
В своей курсовой работе я рассматриваю тему «Транспортные сети». Моя курсовая работа состоит из следующих разделов:
• Транспортные сети;
• Поток в транспортной сети;
• Орграф приращений;
• Алгоритм построения максимального потока в транспортной сети и т.д.
В задаче, которую я рассматриваю, да и вообще в задачах на данную тему фундаментальную роль играет изучение поперечных сечений сети (то есть множеств дуг, которые соединяют вершины двух не пересекающихся множеств вершин) и нахождение ограниченного поперечного сечения, которое является самым узким местом. Эти узкие места определяют пропускную способность системы в целом.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ:
Транспортной сетью называется конечный Связный орграф G(V, E) без петель, каждой дуге которого поставлено в соответствие некоторое неотрицательное число c(), называемое пропускной способностью дуги, и существует:
1) ровно одна вершина , в которую не заходит ни одна дуга, называемая источником или началом сети;
2) ровно одна вершина , из которой не выходит ни одной дуги; эта вершина называется стоком или концом сети.
Потоком сети называется неотрицательная функция f(1) такая, что f(e) меньше или равно c(e). (Поток не может превышать пропускную способность дуги.)
Дуга называется насыщенной потоком f, если (Поток называется полным, если содержит насыщенную дугу f(e)=c(e).)
Разрезом Lсети G(V,E) называется множество насыщенных дуг, отделяющих источник s от стока t.
Теорема Форда-Фалкерсона.
Пусть D – транспортная сеть, - допустимый поток в этой сети, - множество вершин таких, что длина минимального пути из в в орграфе приращений равна нулю. Тогда, если , то - максимальный поток, величина которого равна .
Пусть . Тогда выполняется равенство
(1)
Если имеем существует путь нулевой длины из в
Следствие 1. Используя теорему Форда-Фалкерсона получаем, что величина максимального потока в транспортной сети равна пропускной способности минимального разреза.
Следствие 2. Пусть - допустимый поток в транспортной сети D. Тогда, если длина минимального пути из v1 в vn в орграфе приращений равна бесконечности, то - максимальный поток.
Алгоритм решения.
Сначала будем строить полный поток, затем проверим, можно ли его увеличить. Если нет, то этот поток является максимальным. Если же его можно увеличить, то будем строить другой полный поток и т.д. Решать задачу будем с помощью метода расстановки пометок.
Две основные процедуры (операции алгоритма):
· операция расстановки пометок;
· операция изменения потока.
Рассмотрим первую процедуру. Для каждой вершины данной сети нужно приписать пометку, которая имеет следующий вид: или – натуральное число или бесконечность. Вообще возможны три состояния вершины:
1) не помечена;
2) помечена, но не просмотрена;
3) помечена и просмотрена.
Расставлять пометки начнем с источника S. Он получит пометку Источник помечен, но не просмотрен. Остальные вершины не помечены. Чтобы источник S был помечен и просмотрен, надо поместить все вершины, смежные сS.
Вершина получит пометку
Теперь все вершины смежные с S, помечены, но не просмотрены. А вершина S помечена и просмотрена. Начнём просматривать ту из вершин выполняется следующее условие выполняется условие получает метку t или же пока нельзя будет больше пометить ни одной вершины, сток при этом останется не помеченным. Если сток окажется не помеченным, то процесс нахождения максимального потока в сети можно считать законченным, а если сток помечен, то нужно переходить к
процедуре 2.
Рассмотрим процедуру изменения потока. Если вершина имеет пометку заменяем на имеет пометку заменяем на
Переходим к следующей вершине и так до тех пор, пока не достигнем источника S. Здесь изменение потока прекращается. Далее переходим к процедуре 1 и так до тех пор, пока величину потока уже нельзя изменить.
Рассмотрим конкретную задачу о нахождении максимального потока в сети.
Дана сеть G(V,E) (рис. 11) с источником Sи стоком t. Пропускные способности дуг указаны. Найти максимальный поток из S в t.
Поток в транспортной сети.
Функция , определенная на множестве X дуг транспортной сети D и принимающая целочисленные значения, называется допустимым потоком (или просто потоком) в транспортной сети D, если:
•для любой дуги величина
•для любой промежуточной вершины v выполняется равенство
т.е. сумма потоков по дугам, заходящим в v, равна сумме потоков по дугам, исходящим из v.
Пример. На рисунке показан допустимый поток в транспортной сети. При каждой дуге указана величина потока по ней. Очевидно, что выполняются все условия, перечисленные в определении допустимого потока (проверяем выполнение второго условия для промежуточных вершин
Для любого допустимого потока в транспортной сети D выполняется равенство:
По определению допустимого потока имеем:
Заметим, что для каждой дуги где входит в левую часть равенства лишь один раз и при этом со знаком плюс. Аналогично для каждой дуги величина входит в левую часть равенства (2) один раз со знаком плюс (при
Величиной потока в транспортной сети D называется величина
Пусть - допустимый поток в транспортной сети D. Дуга называется насыщенной, если поток по ней равен её пропускной способности, т.е. если . Поток называется полным, если любой путь в D из содержит, по крайней мере, одну насыщенную дугу.
Поток называется максимальным, если его величина принимает максимальное значение по сравнению с другими допустимыми потоками в транспортной сети D.
Очевидно, что максимальный поток обязательно является полным (т.к. в противном случае в D существует некоторая простая цепь из V1 в Vn, не содержащая насыщенных дуг, а следовательно, можно увеличить на единицу потоки по всем дугам из и тем самым увеличить на единицу , что противоречит условию максимальности потока). Обратная же, вообще говоря, неверно. Существуют полные потоки, не являющиеся максимальными. Тем на менее полный поток можно рассматривать как некоторое приближение к максимальному потоку.
Орграф приращений.
Введем для заданной транспортной сети D и допустимого потока в этой сети орграф приращений D. Каждой дуге транспортной сети D в орграфе приращений соответствует две дуги: и - дуга, противоположнаяпо направлению дуге
т.е. орграф является нагруженным. При этом очевидно, что длина любого пути из в в орграфе равна либо 0, либо бесконечности.
Алгоритм построения максимального потока в транспортной сети.
Важным следствием теоремы Форда-Фалкерсона является Алгоритм построения максимального потока в транспортной сети.
Алгоритм:
Шаг 1. Полагаем i=0. Пусть - любой допустимый поток в транспортной сети D (например, полный, можно начинать с нулевого потока:
Шаг 2. По сети Dи потоку строим орграф приращений
Шаг 3. Находим простую цепь в в нагруженном орграфе максимален, и работа алгоритма закончена. В противном случае увеличиваем поток ввдоль цепи на максимально допустимую величину величина и существует. В результате меняется поток в транспортной сети D, т.е. от потока мы перешли к потоку этом
ПРАКТИЧЕСКАЯ ЧАСТЬ:
Задача о максимальном потоке.
Для заданной транспортной сети определить величину максимального потока грузов, которые можно доставить в течение заданного времени из города S в город t. Пропускные способности всех участков дорог считаются известными.
Этап 1.
Начнём с процедуры расстановки пометок. Пометка источника SДалее рассмотрим те вершины, которые соединены с источником дугой. Это V, V, V . Пропустим по всей сети первоначальный нулевой поток Припишем около каждой дуги после значения пропускной способности значение первоначального потока.
Просмотрим вершину S, для этого пометим вершиныV , V , V .
Просмотрим вершину V , ставим метки
Изменение потока:
Поэтому заменим величину первоначального потока:
на
на
Этап 2.
Просмотрим вершину V1, вершины V4 и V2получают метки и Просмотрим V3, V2уже просмотрена, V2, V4 уже помечена,
Изменение потока:
Вносим изменения потока. Дуга (V2, t) стала насыщенной.
Этап 3.
Просмотрим вершину V1. ВершиныV4 и V2 получают метки
Просмотрим V3, V2 уже помечена, Просмотрим V2, V4 уже помечена, Просмотрим V4,
Изменение потока:
Вносим изменения потока. Дуга (V3,V2) стала насыщенной.
Этап 4.
Просмотрим вершину V3. Вершины V2 и V3 получают метки
Просмотрим V2. Вершины V4, V5 и t получают метки
Изменение потока:
Вносим изменения потока. Дуга (V3, V2) стала насыщенной.
Этап 5.
Просмотрим вершину V3. Вершина V6 получает метку
Просмотрим V6
Изменение потока:
Вносим изменения потока. Дуга (S,V3) стала насыщенной.
Поток f=21 является максимальным, а множество дуг составляют минимальный разрез сети. Минимальный разрез на рисунке обозначен волнистой линией.
Заключение.
Бурное развитие дискретной математики обусловлено прогрессом компьютерной техники, необходимостью создания средств обработки и передачи информации, а также представления различных моделей на компьютерах, являющихся по своей природе конечными структурами.
Транспортной сетью называется конечный Связный орграф G(V, E) без петель, каждой дуге которого поставлено в соответствие некоторое неотрицательное число c(), называемое пропускной способностью дуги, и существует:
1) ровно одна вершина , в которую не заходит ни одна дуга, называемая источником или началом сети;
2) ровно одна вершина , из которой не выходит ни одной дуги; эта вершина называется стоком или концом сети.
1. А.М. Аллавердиев, И.В. Платонова «Прикладная математика. Элементы теории графов» М.2000
2. Лекции по прикладной математике И.В. Платоновой
3. В.Н. Нефедов, В.А. Осипова «Курс дискретной математики» М. 1992
4. С.В. Судоплатов, Е.В. Овчинникова «Элементы дискретной математики» М. 2002