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