<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.25.229.243&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.25.229.243&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/94.25.229.243"/>
		<updated>2026-05-01T13:11:04Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%82%D0%BE%D0%BA_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=67914</id>
		<title>Поток минимальной стоимости</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%BE%D1%82%D0%BE%D0%BA_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=67914"/>
				<updated>2018-12-14T16:07:01Z</updated>
		
		<summary type="html">&lt;p&gt;94.25.229.243: Поправил определение, которое не значило ничего и путало обозначениями&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Задача о потоке минимальной стоимости==&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Пусть дана сеть &amp;lt;tex&amp;gt;G(V,E)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;S, T \in V&amp;lt;/tex&amp;gt; {{---}} источник и сток. Ребра &amp;lt;tex&amp;gt;(u,v) \in E&amp;lt;/tex&amp;gt; имееют пропускную способность &amp;lt;tex&amp;gt; c(u, v), &amp;lt;/tex&amp;gt; поток &amp;lt;tex&amp;gt; f(u,v) &amp;lt;/tex&amp;gt; и цену за единицу потока &amp;lt;tex&amp;gt;a(u, v) &amp;lt;/tex&amp;gt;. Тогда '''общая стоимость потока''' из &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;:&lt;br /&gt;
:&amp;lt;tex&amp;gt;p(u,v) = \sum\limits_{u,v \in V, f(u,v)&amp;gt;0} a(u,v) \cdot f(u,v)&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
===Свойства сети===&lt;br /&gt;
* Поток не может превысить пропускную способность. &lt;br /&gt;
:&amp;lt;tex&amp;gt;f(u,v) \leqslant c(u,v)&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Поток из &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; должен быть противоположным потоку из &amp;lt;tex&amp;gt;v&amp;lt;/tex&amp;gt; в &amp;lt;tex&amp;gt;u&amp;lt;/tex&amp;gt;. &lt;br /&gt;
:&amp;lt;tex&amp;gt;f(u, v)=-f(v, u)&amp;lt;/tex&amp;gt;&lt;br /&gt;
* Сохранение потока. Для каждой вершины, сумма входящего и исходящего потоков равно &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
:&amp;lt;tex&amp;gt; \sum\limits_{w \in V} f(u,w) = 0&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Задача&lt;br /&gt;
|definition = Дана сеть &amp;lt;tex&amp;gt;G(V,E)&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;S, T \in V&amp;lt;/tex&amp;gt; {{---}} источник и сток. Ребра &amp;lt;tex&amp;gt;(u,v) \in E&amp;lt;/tex&amp;gt; имееют пропускную способность &amp;lt;tex&amp;gt; c(u, v), &amp;lt;/tex&amp;gt; поток &amp;lt;tex&amp;gt; f(u,v) &amp;lt;/tex&amp;gt; {{---}}&lt;br /&gt;
и цену за единицу потока &amp;lt;tex&amp;gt; a(u, v) &amp;lt;/tex&amp;gt;. Требуется найти максимальный поток, суммарная стоимость которого минимальна.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Алгоритмы решения ==&lt;br /&gt;
===Метод устранения отрицательных циклов в остаточной сети===&lt;br /&gt;
Воспользуемся [[Лемма об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети|леммой об эквивалентности свойства потока быть минимальной стоимости и отсутствии отрицательных циклов в остаточной сети]]. Получим следующий алгоритм:&lt;br /&gt;
====Алгоритм====&lt;br /&gt;
* '''Начало.'''&lt;br /&gt;
* '''Шаг 1'''. Требуется найти максимальный поток минимальной стоимости.&lt;br /&gt;
* '''Шаг 2'''. Для каждого ребра зададим поток равный &amp;lt;tex&amp;gt;0&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* '''Шаг 3'''. Построим остаточную сеть &amp;lt;tex&amp;gt;G_f&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* '''Шаг 4'''. При помощи [[Алгоритм Форда-Беллмана| алгоритма Форда-Беллмана]] найдем отрицательные циклы в остаточной сети. Если нет {{---}} перейдем к '''шагу 7'''.&lt;br /&gt;
* '''Шаг 5'''. Выберем один из отрицательных циклов.&lt;br /&gt;
* '''Шаг 6'''. Избавимся от отрицательного цикла, для этого пустим по нему максимально возможный поток. Перейдем к '''шагу 5'''.&lt;br /&gt;
* '''Шаг 7'''. Отрицательных циклов в остаточной сети нет, значит, максимальный поток минимальной стоимости найден.&lt;br /&gt;
* '''Конец.'''&lt;br /&gt;
&lt;br /&gt;
====Асимптотика====&lt;br /&gt;
Алгоритм Форда-Беллмана работает за &amp;lt;tex&amp;gt;O(VE)&amp;lt;/tex&amp;gt;. Нахождение максимального потока и улучшение цикла работает за &amp;lt;tex&amp;gt;O(E)&amp;lt;/tex&amp;gt;. В итоге имеем &amp;lt;tex&amp;gt;O(V E^2)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Метод дополнения потока вдоль путей минимальной стоимости===&lt;br /&gt;
{{main|Поиск_потока_минимальной_стоимости_методом_дополнения_вдоль_путей_минимальной_стоимости}}&lt;br /&gt;
&lt;br /&gt;
===Использование потенциалов Джонсона===&lt;br /&gt;
{{main|Использование_потенциалов_Джонсона_при_поиске_потока_минимальной_стоимости}}&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Сведение задачи о назначениях к задаче о потоке минимальной стоимости|Сведение задачи о назначениях к задаче о потоке минимальной стоимости]]&lt;br /&gt;
* [[Венгерский алгоритм решения задачи о назначениях|Венгерский алгоритм решения задачи о назначениях]]&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
*[http://ru.wikipedia.org/wiki/Поток_минимальной_стоимости Википедия {{---}} Поток минимальной стоимости]&lt;br /&gt;
*[http://rain.ifmo.ru/cat/view.php/vis/graph-flow-match/min-cost-max-flow-2009 Визуализатор алгоритма нахождения максимального потока минимальной стоимости]&lt;br /&gt;
*[http://habrahabr.ru/blogs/algorithm/61884/ Хабрахабр {{---}} Максимальный поток минимальной стоимости]&lt;br /&gt;
* ''Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд'' '''Алгоритмы: построение и анализ''', 2-е издание. Пер. с англ. {{---}} М.:Издательский дом &amp;quot;Вильямс&amp;quot;, 2010. {{---}} 1296 с.: ил. {{---}} Парал. тит. англ. {{---}} ISBN 978-5-8459-0857-5 (рус.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория: Задача о потоке минимальной стоимости]]&lt;/div&gt;</summary>
		<author><name>94.25.229.243</name></author>	</entry>

	</feed>