網絡流學習筆記(3):最小費用流

在這裏插入圖片描述
根據網絡流相關的知識,可以以計算機爲頂點,通信電纜爲邊,從而得到一個有向圖,每條邊 e e 都有容量 c ( e ) c(e) 和費用 d ( e ) d(e) 。題目可以理解爲,保證從 s s t t 有流量爲 F F 的流的前提下,使得費用 e ( f ( e ) d ( e ) ) \sum_e(f(e)*d(e)) 最小。

這就是在最大流問題的網絡中,給邊新加上了費用,而求的不再是流量的最大值,而是流量爲F 時費用的最小值。這類問題叫做最小費用流問題

接下來,讓我們來考慮一下這類問題的解法。求解最大流時,我們在殘餘網絡上不斷貪心地增廣而得到了最大流。現在邊上多了費用,如果我們在殘餘網絡上總是沿着最短路增廣又如何呢?此時,殘餘網絡中的反向邊的費用應該是原邊費用的相反數,以保證過程是可逆而正確的。因爲有
負權邊,所以就不能用 Dijkstra算法求最短路了,而需要用Bellman-Ford算法。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述