Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ODM шпора.docx
Скачиваний:
7
Добавлен:
16.04.2019
Размер:
479.02 Кб
Скачать

Модификация алгоритма поиска максимального потока при нескольких источниках и стоках

Пусть в графе имеется несколько источников и стоков. Можно ли в данном случае воспользоваться алгоритмом поиска максимального потока, который используется в графах с одним источником и стоком?

Можно, но для этого необходимо ввести 2 новые вершины: главный источник S и главный сток T. Соединим главный источник S со всеми источниками s1, s2,… исходного графа дугами , считая пропускную способность каждой из этих дуг неограниченной. Соединим стоки исходного графа с главным стоком дугами , считая пропускную способность каждой из этих дуг неограниченной.

Любой поток в расширенном графе соответствует потоку в исходном графе. Более того, максимальному потоку в расширенном графе соответствует максимальный поток в исходном графе.

Алгоритм поиска потока минимальной стоимости

Рассмотрим задачу пересылки с минимальными затратами заданного количества единиц потока из источника в сток в графе с заданными на дугах промежуточными способностями и стоимостями прохождения одной единицы потока. Этот алгоритм также разработан Фордом и Фолкерсоном.

Пусть обозначает стоимость прохождения единицы потока по дуге . Сначала будем предполагать, что каждая из величин является целочисленной. Это предположение не является жёстким. Задача о потоке минимальной стоимости может быть представлена так: «Найти (5), где существуют такие ограничения:

(6)

, где (7)

(8)

(9)

Сумма, входящая в выражение (5) представляет общую стоимость потока. Уравнение (6) показывает, что чистый суммарный поток из источника s должен быть равен . Уравнение (7) показывает, что чистый поток из любой вершины x, не совпадающей ни с источником S , ни со стоком t, должен быть равен 0. Уравнение (8) показывает, что чистый поток из стока . Неравенство (9) описывает требование, согласно которому поток в каждой дуге должен иметь величину, находящуюся в интервале от 0 до значения пропускной способности данной дуги.

Задача (5-9) является задачей линейного программирования.

Предположим, что соотношение (5) было бы заменено следующим соотношением: (10), где P – достаточно большое число.

Любой поток, доставляющий max соотношению (10), обеспечивает и min соотношению (5).

Алгоритм поиска потока минимальной стоимости выполняет следующие действия:

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

Затем из вершины s в вершину t пересылается как можно больше единиц потока, полная стоимость прохождения по сети каждой из которых составляет 1.

Далее процедура выполнения алгоритма продолжается аналогичным образом; при этом полная стоимость похождения по сети единицы потока каждый раз увеличивается на единицу.

Работа алгоритма заканчивается либо тогда, когда через сеть удаётся пропустить заданное число единиц потока - , либо когда ни одной дополнительной единицы потока пропустить нельзя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]