заметить, что начальный поток минимальной стоимости всегда имеется, так как нулевой поток является потоком минимальной стоимости со значением 0.
Алгоритм, который мы собираемся описать, основан на вычислении кратчайшей цепи и следующей теореме.
Теорема 6. Если поток минимальной стоимости в графе со значением и кратчайшая цепь (наименьшей стоимости) от в инкрементальном графе то является потоком минимальной стоимости со значением
Доказательство теоремы очень просто — надо показать, что если не содержит никакого цикла отрицательной стоимости, то также не содержит таких циклов. После этого все следует непосредственно из теоремы 5.
5.2.1. Описание алгоритма
Шаг 1. Начать с нулевых потоков на дугах и с потока, имеющего нулевое значение.
Шаг 2. Построить инкрементальный граф как это описано в разд. 2.3, и взять следующие стоимости дуг:
Шаг 3. Найти в графе кратчайшую цепь от вершины к вершине
Шаг 4. Найти наибольшую величину того потока, который можно послать вдоль не изменяя структуру графа Величина равна
Шаг 5. (I) Если значение потока меньше, чем требуемая величина произвести замену и вернуться к шагу 2.
(II) Если значение потока равно у, остановиться. является требуемым потоком минимальной стоимости.
(III) Если значение потока остановиться. Требуемым потоком минимальной стоимости будет
Здесь важно отметить, что граф на шаге 2 содержит как дуги положительной стоимости, так и отрицательной, и поэтому алгоритм кратчайшей цепи, используемый на шаге 3, не может быть алгоритмом Дейкстры, а должен быть (менее эффективным)