- •Часть 1
- •Часть 1
- •Введение
- •1. Основные понятия теории графов
- •Задачи теории графов
- •1.2. Основные определения
- •1.3. Степени вершин графа
- •1.4. Изоморфизм графов
- •2. Представление графов в эвм и операции над ними
- •2.1. Матричные способы задания графов
- •2.2. Список ребер (луг) и структура смежности графа
- •2.3. Части графов
- •2.4. Основные операции над графами
- •3. Маршруты в графах
- •3.1. Понятие маршрута
- •Маршруты в неориентированных графах
- •Маршруты в ориентированных графах
- •3.2. Связность в графах.
- •В примере 3 граф имеет две сильно связных компоненты.
- •3.3. Связность и матрица смежности графа
- •3.4. Матрица взаимодостижимости
- •4. Деревья
- •4.1. Свободные деревья
- •4.2. Ориентированные, упорядоченные и бинарные деревья
- •Эквивалентное определение ориентированного дерева
- •5. Эйлеровы и гамильтоновы графы.
- •5.1. Эйлеровы графы.
- •5. 2. Алгоритм построения эйлерова цикла в эйлеровом графе
- •5.3. Гамильтоновы графы
- •5.4. Оценки числа эйлеровых и гамильтоновых графов
- •6. Фундаментальные циклы и разрезы
- •6.1. Фундаментальные циклы
- •6.2. Разрезы
- •7. Связь теории графов с бинарными отношениями и векторными пространствами
- •7.1. Отношения на множествах и графы
- •7.2. Векторные пространства, связанные с графами
- •8. Планарность и раскраска графов
- •8.1. Планарные графы
- •8.2. Раскраска графов
- •8.3. Алгоритм последовательной раскраски
- •9. Покрытия и независимость
- •9.1. Покрывающие множества вершин и ребер
- •9.2. Независимые множества вершин и ребер
- •9.3. Доминирующие множества
- •10. Кратчайшие маршруты в графах
- •10.1. Расстояния в графах
- •10.2. Алгоритм Форда-Беллмана
- •11. Задача коммивояжера
- •11.1. Постановка задачи
- •11.2. Обходы вершин графа по глубине и ширине
- •11.3. Решение задачи коммивояжера
- •12. Потоки в сетях
- •12.1. Основные определения
- •12.2. Теорема Форда и Фалкерсона
- •12.3. Алгоритм построения максимального потока
- •13. Сетевое планирование и управление
- •13.1. Элементы сетевого графика
- •13.2. Временные параметры сетевого графика
- •13.3. Распределение ограниченных ресурсов
- •14. Анализ технических систем (на примере электрической цепи)
- •14.1 Закон Кирхгофа
- •14.2. Основные уравнения
- •15. Сигнальные графы
- •15.1. Общие представления о сигнальных графах
- •15.2. Преобразования сигнальных графов
- •15.3. Формула Мэзона
- •16. Переключательные сети (схемы)
- •17. Математические машины и цепи маркова
- •Библиографический список
- •Оглавление
- •Часть 1
- •394026 Воронеж, Московский просп., 14
12.2. Теорема Форда и Фалкерсона
Величина каждого потока от входа к выходу не превосходит пропускной способности минимального разреза, разделяющего вход и выход сети. При этом существует максимальный поток, величина которого равна пропускной способности минимального разреза.
Все известные алгоритмы построения максимального потока основаны на последовательном увеличении потока.
Дуга (U,V) является допустимой, если для нее выполняется одно из условий:
направление дуги совпадает с направлением потока и значение потока по этой дуге меньше её пропускной способности f(U,V)<C(U,V)
направление дуги противоположно направлению потока и по ней проходит некоторый нулевой поток f(U,V)>0
Дуги, для которых выполняется условие 1), называются увеличивающими или согласованными дугами. Дуги, для которых выполняется условие 2) называются уменьшающими или несогласованными дугами.
Увеличивающей цепью называется простая цепь, соединяющая исток и сток сети, все дуги которой являются допустимыми.
Знание увеличивающей цепи позволяет увеличить поток по ней на величину = { (e)}, где (e)=
При этом по каждой увеличивающей дуге поток увеличивается на , а по каждой уменьшающей дуге уменьшается на .
Такое изменение потока по каждой дуге в сумме компенсируется для каждой вершины сети, отличной от истока и стока, т.е. для любой вершины сети vV\{s,t} по прежнему будет выполняться div(f,v)=0.
12.3. Алгоритм построения максимального потока
Шаг 1. Задать начальное значение потока, если оно не задано. Удобно задавать начальное значение потока равным нулю. Перейти на шаг 2.
Шаг 2. Построить увеличивающую цепь от истока к стоку сети. Если увеличивающей цепи не существует, то максимальный поток построен, его значение: (t)=div(f,s), в противном случае перейти на шаг 3.
Шаг 3. Вдоль построенной цепи увеличить значение потока на величину . Перейти на шаг 2.
На основании теоремы Форда-Фалкерсона доказательством того, что построенный поток максимальный, будет существование разреза, величина которого равна значению построенного потока.
При моделировании реальных задач могут использоваться сети с неориентированными дугами. Использование при расчетах неориентированных сетей предоставляет дополнительные возможности при выборе оптимального решения.
А именно, максимальное значение потока для сети с фиксированной ориентацией может увеличиться при изменении направлений некоторых дуг сети.
По неориентированному ребру поток может идти в любую сторону. Следовательно, для того чтобы построить максимальный поток для неориентированной сети, нужно каждое ребро заменить двумя противоположно направленными дугами, имеющими ту же пропускную способность, что и исходное ребро.
Для полученной ориентированной сети максимальный поток определяется по алгоритму, указанному выше.
В общем случае для неориентированной сети максимальный поток не меньше, чем для фиксированной сети с той же структурой.
13. Сетевое планирование и управление
13.1. Элементы сетевого графика
Сетевое планирование и управление (СПУ) – это совокупность методов, использующих сетевую модель для решения задач упорядочения и координации комплекса взаимосвязанных работ. Сетевая модель чаще всего представляется сетевым графиком – ориентированным ацикличным графом, изображенным на плоскости.
В сетевом графике дуги соответствуют работам комплекса, а вершины – событиям.
Работа в СПУ – это протяженный во времени процесс, требующий затрат ресурсов для его осуществления.
Ожидание – протяженный во времени процесс, не требующий затрат труда. Например, естественная сушка материалов.
Фиктивная работа – логическая связь между событиями, не требующая затрат труда, ресурсов и времени.
Ожидания и фиктивные работы на сетевых графиках обыч-
но изображаются пунктирными линиями.
События – это момент завершения какого-либо процесса, отражающего отдельные этапы выполнения комплекса работ. События на сетевом графике (графе) изображаются кружками (вершинами графа).
Различают следующие разновидности событий:
Исходное событие – результат, в отношении которого условно предполагается, что он не имеет предшествующих работ.
Завершающее событие – результат, являющейся конечной целью всего комплекса работ.
Начальное событие – событие, непосредственно предшествующее данной конкретной работе.
Конечное событие – событие, непосредственно следующее за данной работой.
Путь сетевого графика – любая последовательность работ, связывающая таким образом два события, что конечное событие каждой работы совпадает с начальным событием следующей работы. Каждый путь характеризуется своей продолжительностью, которая равна сумме продолжительностей составляющих его работ.
Пути, связывающие исходные и завершающие события называются полными, а все другие пути – неполными.
Полный путь, имеющий наибольшую продолжительность называется критическим путем.
Работы и события, лежащие на критическим пути называются соответственно критическими работами и критическими событиями. Полная продолжительность выполнения всего комплекса работ, отображенного сетевым графиком, равна продолжительности критического пути.