Поток минимальной стоимости — различия между версиями
Proshev (обсуждение | вклад) |
(→Определение задачи) |
||
Строка 2: | Строка 2: | ||
Задача о потоке минимальной стоимости состоит в нахождении [[Определение сети, потока|потока]] данной величины с наименьшей стоимостью. | Задача о потоке минимальной стоимости состоит в нахождении [[Определение сети, потока|потока]] данной величины с наименьшей стоимостью. | ||
{{Определение | {{Определение | ||
− | |definition=Дано число <tex>f_0</tex> и транспортная сеть <tex>\,G(V,E)</tex> с источником <tex>s \in V</tex> и | + | |definition=Дано число <tex>f_0</tex> и транспортная сеть <tex>\,G(V,E)</tex> с источником <tex>s \in V</tex> и стоимость <tex>t \in V</tex>, где ребра <tex>(u,v) \in E</tex> имеют пропускную способность <tex>\,c(u,v)</tex> и цену <tex>\,p(u,v)</tex>. |
Суть задачи — найти поток ''f''(''u'', ''v''): | Суть задачи — найти поток ''f''(''u'', ''v''): | ||
− | :<tex>p(f) = \sum_{u,v \in V} p(u,v) \cdot f(u,v) | + | :<tex>p(f) = \sum_{u,v \in V} p(u,v) \cdot f(u,v) \rightarrow min </tex>. |
:<tex>|f| = \sum_{u,v \in V} f(u,v) = f_0</tex> | :<tex>|f| = \sum_{u,v \in V} f(u,v) = f_0</tex> | ||
}} | }} | ||
+ | |||
== Алгоритмы решения == | == Алгоритмы решения == | ||
*Найти любой поток величины <tex>f_0</tex>, после чего избавиться от всех циклов отрицательной стоимости в остаточном графе. Чтобы избавиться от цикла, надо пустить по нему максимально возможный поток. Циклы ищутся алгоритмом [[Алгоритм Форда-Беллмана|Форда - Беллмана]]. | *Найти любой поток величины <tex>f_0</tex>, после чего избавиться от всех циклов отрицательной стоимости в остаточном графе. Чтобы избавиться от цикла, надо пустить по нему максимально возможный поток. Циклы ищутся алгоритмом [[Алгоритм Форда-Беллмана|Форда - Беллмана]]. |
Версия 11:59, 30 декабря 2011
Определение задачи
Задача о потоке минимальной стоимости состоит в нахождении потока данной величины с наименьшей стоимостью.
Определение: |
Дано число Суть задачи — найти поток f(u, v):
| и транспортная сеть с источником и стоимость , где ребра имеют пропускную способность и цену .
Алгоритмы решения
- Найти любой поток величины Форда - Беллмана. , после чего избавиться от всех циклов отрицательной стоимости в остаточном графе. Чтобы избавиться от цикла, надо пустить по нему максимально возможный поток. Циклы ищутся алгоритмом
- Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости.
- Использование потенциалов Джонсона при поиске потока минимальной стоимости (модификация предыдущего алгоритма).
Ссылки
- Википедия - Поток минимальной стоимости
- Визуализатор алгоритма нахождения максимального потока минимальной стоимости
- Хабрахабр - Максимальный поток минимальной стоимости
Литература
- Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)