
- •Министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования рязанский государственный радиотехнический университет
- •Контрольная работа
- •1. Решение задачи о максимальном потоке методом расстановки пометок на графе (алгоритм Форда-Фалкерсона)
- •Несколько источников и стоков
- •2. Решение задачи о максимальном потоке в табличной форме
- •3. Задача о назначениях
- •3.1. Матричная формулировка задачи
- •3.2. Венгерский метод решения задачи о назначениях в матричной форме
- •Список использованных источников
Министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования рязанский государственный радиотехнический университет
Кафедра автоматизированных систем управления
Контрольная работа
по дисциплине:
«Многомерные графы»
Выполнила: студентка гр. 1034
Коротина Л.В.
Проверил: Кабанов А.Н.
Рязань 2013
Оглавление
Несколько источников и стоков 6
1. Решение задачи о максимальном потоке методом расстановки пометок на графе (алгоритм Форда-Фалкерсона)
Граф, элементам которого поставлены в соответствие некоторые параметры, называется сетью. В зависимости от приложений различают транспортные, электрические, информационные и т.п. сети.
Поскольку в теории графов рассматриваются общие методы исследования графов и сетей, независимо от их природы, то для характеристики сетей вводятся некоторые общие понятия. Рассмотрим их, проводя для наглядности аналогию с транспортной сетью.
Каждая вершина I характеризуется интенсивностью d(i). Те вершины, для которых D(i) > 0, называются источниками, вершины, для которых D(i) < 0 – стоками, остальные – нейтральными. Так, для транспортной сети источниками являются пункты-поставщики, стоками – пункты-получатели, нейтральными – пункты, где отсутствует как производство, так и потребление данного продукта.
Для
характеристики дуги
вводится неотрицательное целое число
rij,
называемое пропускной способностью
дуги. Применительно к транспортным
сетям пропускная способность дуги
означает максимальное количество
вещества, которое соответствующая
коммуникация может пропустить за единицу
времени.
Если в сети с одним источником S и одним стоком t задана функция пропускной способности {rij}, то в ней может быть задана также функция, называемая потоком.
Потоком в сети называется функция, сопоставляющая с каждой дугой целое число dij и обладающая свойствами:
0 £ dij £ rij, {xi, xj} Î X; (1.1)
(1.2)
(1.3)
Для транспортной сети величина dij характеризует интенсивность потока по дуге . Эта величина означает количество вещества, проходящего через дугу в единицу времени.
Таким образом, потоком в сети или просто потоком называется совокупность {aij} по всем дугам сети.
Условия (1.1) означают, что поток по каждой дуге неотрицателен и не превышает ее пропускной способности; условия (1.2) показывают, что количество вещества, протекающего в любую нейтральную вершину, равно количеству вещества, вытекающего из нее. Следовательно, общее количество вещества, вытекающего из источника, совпадает с общим количеством вещества, притекающего в сток, что и отражается в условии (1.3).
Линейная форма V в (1.3) есть величина потока в сети. Одна из основных задач на сетях состоит в определении величины наибольшего потока, допустимого в сети при заданных ограничениях на интенсивности потоков дуг. Математически она формулируется так: найти значения переменных dij, максимизирующие линейную форму (1.3) при ограничениях (1.1)-(1.2).
Рассмотрим решение поставленной задачи методом расстановки пометок непосредственно на графе (алгоритм Форда-Фалкерсона). Решение проводится путем многократного повторения двух шагов алгоритма.
Рисунок 1 – Исходный граф
Первый
шаг.
Пометим вершину-исток K
меткой (0,¥)
и отнесем вершину K
к множеству R,
а остальные вершины графа к множеству
.
Далее расстановка меток осуществляется
последовательно. Рассмотрим правило
формирования меток. Выберем любую
помеченную вершину i
(первоначально это единственная вершина
K)
(в дальнейшем для упрощения записи
формул, относящихся к одному графу,
вместо «вершина xi»
будем писать просто номер вершины «i».
Отмеченные вершины относятся к множеству
R,
непомеченные к множеству
.
Рассмотрим все непомеченные вершины
j,
связанные дугами с вершиной i.
Вершину j
относят к множеству R,
если выполняется одно из условий:
i Î R и dij < rij; (1.4)
i Î R и dji > 0. (1.5)
Тем вершинам j, для которых выполняется условие (1.4), припишем метку (i+, ej), где ej = min{ei, rij – dij}. Тем вершинам j, для которых выполняется условие (1.5), припишем метку (i-, ej), где ej = min{ei, dji}.
Изложенное правило формирования меток для наглядности представим графически с помощью рисунков 2 и 3 соответственно для случаев (1.4) и (1.5).
(K,ei)
rij>dij
(
,ej)
i Î R j
ej=min{ ei , rij-dij }
Рисунок 2 - Правило формирования меток
(K,ei)
dji>0
(
,ej)
i Î R j
ej=min{ ei , dji }
Рисунок 3 - Правило формирования меток
После помечивания вершины j, ближайшей к K, аналогично производим помечивание других вершин. Эту процедуру помечивания повторяем до тех пор, пока не пометим вершину H, или до тех пор, пока нельзя будет сделать новых пометок.
В первом случае (помечена вершина H) перейдем ко второму шагу, во втором случае исходный поток максимален.
Второй шаг. Вершина H имеет пометку (j+, et) или (j-, et). Если пометка вида (j+, et), заменяем djt на (djt + et), если пометка вида (j-, et), то заменяем dtj на (dtj - et). Затем в любом случае переходим к вершине j. В отношении любой вершины j поступаем аналогично: если ее пометка вида (i+, ej), то заменяем dij на (djt + et), если ее пометка вида (j-, ej), то заменяем dji на (dji - et) и переходим к вершине i. Так поступаем, пока не достигнем источника K. После этого стираем все пометки и вновь переходим к первому шагу.
Таким образом, процесс расстановки пометок представляет собой систематический поиск цепи из K в H, на которой поток может быть увеличен. Если в результате первого шага сток оказался непомеченным, то вдоль найденной цепи можно увеличить поток. Если, с другой стороны, первый шаг закончился, а сток остался непомеченным, то достигнутый поток максимален. Изложенный алгоритм может использоваться для решения задачи и в более общем случае.