Поток минимальной стоимости — различия между версиями
(→Алгоритмы решения) |
(→Метод устранения отрицательных циклов в остаточной сети) |
||
Строка 19: | Строка 19: | ||
== Алгоритмы решения == | == Алгоритмы решения == | ||
===Метод устранения отрицательных циклов в остаточной сети=== | ===Метод устранения отрицательных циклов в остаточной сети=== | ||
− | + | Воспользуемся [[Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети|леммой об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети]]. Получим следующий алгоритм: | |
− | ** | + | |
− | * | + | * '''Начало''' |
− | * | + | * '''Шаг 1'''. Требуется найти максимальный поток минимальной стоимости. |
+ | * '''Шаг 2'''. Для каждого ребра зададим поток равный 0. | ||
+ | * '''Шаг 3'''. Построим остаточную сеть <tex>G_f</tex> | ||
+ | * '''Шаг 4'''. При помощи [[Алгоритм Форда-Беллмана| алгоритма Форда-Беллмана]] найдем отрицательный цикл в остаточной сети. Если нет - перейдем к '''шагу 7''' | ||
+ | * '''Шаг 5'''. Избавимся от отрицательного цикла, для этого пустим по нему максимально возможный поток. | ||
+ | * '''Шаг 6'''. Перейдем к '''шагу 3'''. | ||
+ | * '''Шаг 7'''. Отрицательных циклов восточной сети нет, значит, максимальный поток минимальной стоимости найден. | ||
+ | * '''Конец''' | ||
+ | |||
===Метод дополнения потока вдоль путей минимальной стоимости=== | ===Метод дополнения потока вдоль путей минимальной стоимости=== | ||
[[Поиск_потока_минимальной_стоимости_методом_дополнения_вдоль_путей_минимальной_стоимости|Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости]]. | [[Поиск_потока_минимальной_стоимости_методом_дополнения_вдоль_путей_минимальной_стоимости|Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости]]. |
Версия 14:17, 24 января 2016
Содержание
Задача о потоке минимальной стоимости
Определение: |
Пусть дана сеть | . — источник и сток. — стоимость пересылки единицы потока и пропускная способность. Тогда общая стоимость потока из в :
Свойства стоимости
- Поток не может превысить пропускную способность.
- Поток из в должен быть противоположным потоку из в .
- Сохранение потока. Для каждой вершины, сумма входящего и исходящего потоков равно 0.
Задача: |
Дана сеть | . — источник и сток. — стоимость пересылки единицы потока и пропускная способность. Требуется найти максимальный поток, суммарная стоимость которого минимальна.
Алгоритмы решения
Метод устранения отрицательных циклов в остаточной сети
Воспользуемся леммой об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети. Получим следующий алгоритм:
- Начало
- Шаг 1. Требуется найти максимальный поток минимальной стоимости.
- Шаг 2. Для каждого ребра зададим поток равный 0.
- Шаг 3. Построим остаточную сеть
- Шаг 4. При помощи алгоритма Форда-Беллмана найдем отрицательный цикл в остаточной сети. Если нет - перейдем к шагу 7
- Шаг 5. Избавимся от отрицательного цикла, для этого пустим по нему максимально возможный поток.
- Шаг 6. Перейдем к шагу 3.
- Шаг 7. Отрицательных циклов восточной сети нет, значит, максимальный поток минимальной стоимости найден.
- Конец
Метод дополнения потока вдоль путей минимальной стоимости
Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости.
Использование потенциалов Джонсона
См. также
- Сведение задачи о назначениях к задаче о потоке минимальной стоимости
- Венгерский алгоритм решения задачи о назначениях
Источники информации
- Википедия - Поток минимальной стоимости
- Визуализатор алгоритма нахождения максимального потока минимальной стоимости
- Хабрахабр - Максимальный поток минимальной стоимости
- Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)