根據網絡流相關的知識,可以以計算機爲頂點,通信電纜爲邊,從而得到一個有向圖,每條邊
都有容量
和費用
。題目可以理解爲,保證從
到
有流量爲
的流的前提下,使得費用
最小。
這就是在最大流問題的網絡中,給邊新加上了費用,而求的不再是流量的最大值,而是流量爲F 時費用的最小值。這類問題叫做最小費用流問題。
接下來,讓我們來考慮一下這類問題的解法。求解最大流時,我們在殘餘網絡上不斷貪心地增廣而得到了最大流。現在邊上多了費用,如果我們在殘餘網絡上總是沿着最短路增廣又如何呢?此時,殘餘網絡中的反向邊的費用應該是原邊費用的相反數,以保證過程是可逆而正確的。因爲有
負權邊,所以就不能用 Dijkstra算法求最短路了,而需要用Bellman-Ford算法。