Поток минимальной стоимости — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Алгоритмы решения)
Строка 20: Строка 20:
  
 
=== Алгоритмы решения ===
 
=== Алгоритмы решения ===
* Найти любой поток величины <tex>f_0</tex>, после чего избавиться от всех циклов отрицательной стоимости в остаточном графе. Чтобы избавиться от цикла, надо пустить по нему максимально возможный поток. На основании [[Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети|леммы]] найденный поток будет максимальным и будет иметь минимальную стоимость. Циклы ищутся алгоритмом [[Алгоритм Форда-Беллмана|Форда-Беллмана]].  
+
* Воспользуемся [[Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети|Леммой об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети]]
 +
** Найдем любой поток величины <tex>f_0</tex>.
 +
** При помощи [[Алгоритм Форда-Беллмана|Форда-Беллмана]] найдем отрицательные циклы в остаточной сети.
 +
** Избавимся от всех найденных циклов, для этого, пустим по ним максимально возможный поток.
 +
 
 
*[[Поиск_потока_минимальной_стоимости_методом_дополнения_вдоль_путей_минимальной_стоимости|Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости]].
 
*[[Поиск_потока_минимальной_стоимости_методом_дополнения_вдоль_путей_минимальной_стоимости|Поиск потока минимальной стоимости методом дополнения вдоль путей минимальной стоимости]].
 
*[[Использование_потенциалов_Джонсона_при_поиске_потока_минимальной_стоимости|Использование потенциалов Джонсона при поиске потока минимальной стоимости (модификация предыдущего алгоритма)]].
 
*[[Использование_потенциалов_Джонсона_при_поиске_потока_минимальной_стоимости|Использование потенциалов Джонсона при поиске потока минимальной стоимости (модификация предыдущего алгоритма)]].

Версия 02:32, 24 января 2016

Задача о потоке минимальной стоимости

Определение:
Стоимость потока. Дана сеть [math]G(V,E)[/math]. [math]S, T \in V[/math] — источник и сток. [math]\forall (u,v) \in E[/math] [math]\exists c(u, v), f(u,v)[/math] — стоимость пересылки единицы потока и пропускная способность. Тогда общая стоимость потока из [math]S[/math] в [math]T[/math]:
[math]p(u,v) = \sum_{u,v \in V, f(u,v)\gt 0} c(u,v) \cdot f(u,v)[/math]

Свойства стоимости

  • Поток не может превысить пропускную способность.
[math]f(u,v) \le c(u,v)[/math].
  • Поток из [math]u[/math] в [math]v[/math] должен быть противоположным потоку из [math]v[/math] в [math]u[/math].
[math]f(u, v)=-f(v, u)[/math].
  • Сохранение потока. Для каждой вершины, сумма входящего и исходящего потоков равно 0.
[math] \sum\limits_{w \in V} f(u,w) = 0[/math]

Формулировка

Задача:
Дана сеть [math]G(V,E)[/math]. [math]S, T \in V[/math] — источник и сток. [math]\forall (u,v) \in E[/math] [math]\exists c(u, v), f(u,v)[/math] — стоимость пересылки единицы потока и пропускная способность. Требуется найти максимальный поток, суммарная стоимость которого минимальна.


Алгоритмы решения

См. также

Источники информации

Литература

  • Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)