最小費用最大流問題

最小費用最大流問題是經(jīng)濟學(xué)和管理學(xué)中的一類典型問題。在一個網(wǎng)絡(luò)中每段路徑都有“容量”和“費用”兩個限制的條件下,此類問題的研究試圖尋找出:流量從A到B,如何選擇路徑、分配經(jīng)過路徑的流量,可以達到所用的費用最小的要求。

最小費用最大流問題基本信息

中文名 最小費用最大流問題 外文名 Minimum-cost flow problem
限制條件 每段路徑都有“容量”和“費用” 相關(guān)定義 前向弧和后向弧
解決方法 兩條途徑

在圖論中,網(wǎng)絡(luò)流(英語:Network flow)是指在一個每條邊都有容量(capacity)的有向圖分配流,使一條邊的流量不會超過它的容量。通常在運籌學(xué)中,有向圖稱為網(wǎng)絡(luò)。頂點稱為節(jié)點(node)而邊稱為弧(arc)。一道流必須匹配一個結(jié)點的進出的流量相同的限制,除非這是一個源點(source)──有較多向外的流,或是一個匯點(sink)──有較多向內(nèi)的流。一個網(wǎng)絡(luò)可以用來模擬道路系統(tǒng)的交通量、管中的液體、電路中的電流或類似一些東西在一個結(jié)點的網(wǎng)絡(luò)中游動的任何事物。

最小費用最大流問題造價信息

市場價 信息價 詢價
材料名稱 規(guī)格/型號 市場價
(除稅)
工程建議價
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報價日期
裝配人工費用 門上無操作 查看價格 查看價格

正泰

13% 深圳大鑫電氣自動化有限公司
電子天平最小稱量 最小稱量: 0.1(mg) 最大稱量: 100(g)/JF1004 查看價格 查看價格

金諾天平

13% 鞍山市誠信化學(xué)試劑有限公司
軟件接口費用 定制 查看價格 查看價格

HONEYWELL

13% 霍尼韋爾安防中國區(qū)廣州辦事處
大流量凈水機 品種:凈水器;規(guī)格:BNT-RO608豪華型;說明:編碼40212015; 查看價格 查看價格

奔泰

13% 湖南青藍環(huán)境科技有限公司
大流量凈水機 品種:大流量凈水機;型號:BNT-RO608豪華型;系列:商用機系列;產(chǎn)品編碼:40212015;用途:300-500人喝水使用; 查看價格 查看價格

奔泰

13% 湖南青藍環(huán)境科技有限公司
大流量凈水機 品種:大流量凈水機;型號:BNT-RO400-C;系列:商用機系列;產(chǎn)品編碼:40212015;用途:100-300人喝水使用; 查看價格 查看價格

奔泰

13% 湖南青藍環(huán)境科技有限公司
大流量凈水機 品種:大流量凈水機;型號:BNT-RO608(普及型);系列:商用機系列;產(chǎn)品編碼:40212010;用途:300-500人喝水使用; 查看價格 查看價格

奔泰

13% 湖南青藍環(huán)境科技有限公司
大流量凈水機 品種:凈水器;規(guī)格:BNT-RO400-C;說明:編碼40212015; 查看價格 查看價格

奔泰

13% 湖南青藍環(huán)境科技有限公司
材料名稱 規(guī)格/型號 除稅
信息價
含稅
信息價
行情 品牌 單位 稅率 地區(qū)/時間
大流量下垂型噴頭 (下垂、直立邊墻型)ZST一20/5 查看價格 查看價格

湛江市2005年2月信息價
大流量下垂型噴頭 (下垂、直立邊墻型)ZST一20/5 查看價格 查看價格

湛江市2005年1月信息價
其他費用 查看價格 查看價格

韶關(guān)市2010年8月信息價
大流量快速反應(yīng)噴頭 ZST-20/3 查看價格 查看價格

湛江市2005年2月信息價
大流量快速反應(yīng)噴頭 ZST-20/3 查看價格 查看價格

湛江市2005年1月信息價
窗小五金費用 查看價格 查看價格

100m2 清遠市連南縣2008年下半年信息價
無亮門小五金費用 查看價格 查看價格

100m2 清遠市連南縣2008年下半年信息價
帶亮門小五金費用 查看價格 查看價格

100m2 清遠市連南縣2008年下半年信息價
材料名稱 規(guī)格/需求量 報價數(shù) 最新報價
(元)
供應(yīng)商 報價地區(qū) 最新報價時間
粉碎型格柵機最大流量2.3萬m3/d功 最大流量2.3萬m3/d 功|1臺 1 查看價格 藍深泵業(yè)有限公司 廣東  深圳市 2010-06-13
溶纖費用 光纜電氣溶接費用|720芯 3 查看價格 廣東歡聯(lián)電子科技有限公司 廣東   2018-04-27
實施費用 網(wǎng)絡(luò)實施費用:包含信息收集、目標網(wǎng)絡(luò)設(shè)計、實施方案編寫、集成調(diào)試、跳線部署|1項 3 查看價格 深圳立通電子有限公司 公司 全國   2021-12-06
螺桿泵最大流量200L/hH=0.4MPar=214rmpPe=0.75kw 1.名稱:螺桿泵 最大流量200L/h H=0.4MPa r=214rmp Pe=0.75kw 2.規(guī)格、型號:最大流量200L/h H=0.4MPa r=214rmp Pe=0.75kw 3.安裝方式 臥式安裝帶干轉(zhuǎn)運行保護4.其他:滿足設(shè)計、相關(guān)圖集、標準及招標技術(shù)要求|3臺 3 查看價格 上海闊思電子有限公司 全國   2021-07-02
平安卡費用如何計算 平安卡費用如何計算|1平安卡費用如何計算 1 查看價格 廣東驕子教育咨詢有限公司 廣東  廣州市 2009-10-16
其他材料配件費用 其他材料配件費用|1項 1 查看價格 時時同云科技(北京)有限責(zé)任公司 全國   2022-09-21
螺桿泵最大流量200L/hH=0.4MPar=214rmpPe=0.75kw 1.名稱:螺桿泵 最大流量200L/h H=0.4MPa r=214rmp Pe=0.75kw 2.規(guī)格、型號:最大流量200L/h H=0.4MPa r=214rmp Pe=0.75kw 3.安裝方式 臥式安裝帶干轉(zhuǎn)運行保護4.其他:滿足設(shè)計、相關(guān)圖集、標準及招標技術(shù)要求|1臺 3 查看價格 上海闊思電子有限公司 全國   2021-08-04
實施費用 云平臺、網(wǎng)管平臺軟件部署服務(wù)以及跳線、調(diào)試服務(wù),項目集成管理測試費用|1項 3 查看價格 深圳立通電子有限公司 公司 全國   2021-12-06

  • 網(wǎng)絡(luò)流

2100433B

最小費用最大流問題是經(jīng)濟學(xué)和管理學(xué)中的一類典型問題。在一個網(wǎng)絡(luò)中每段路徑都有“容量”和“費用”兩個限制的條件下,此類問題的研究試圖尋找出:流量從A到B,如何選擇路徑、分配經(jīng)過路徑的流量,可以達到所用的費用最小的要求。

在實際中:n輛卡車要運送物品,從A地到B地。由于每條路段都有不同的路費要繳納,每條路能容納的車的數(shù)量有限制,如何分配卡車的出發(fā)路徑可以達到費用最低,物品又能全部送到。

最小費用最大流問題常見問題

  • 求平流沉砂池最大和最小流速

    根據(jù)《室外排水設(shè)計規(guī)范》平流沉砂池的設(shè)計,應(yīng)符合下列要求:1 最大流速應(yīng)為0.3m/s,最小流速應(yīng)為0.15m/s;2 最高時流量的停留時間不應(yīng)小于30s;3 有效水深不應(yīng)大于1.2m...

  • 調(diào)節(jié)閥流量最大能控制到多少,最小能控制到多少。

    問題太粗糙了,一般液體流通能力計算公式: Kv=10Q(ρ/P1-P2)^0.5Kv:流通能力值;Q:閥門的流量;ρ:液體密度;P1:閥前絕對壓力;P2:閥后絕對壓力 如果液體比較粘稠,需要進...

  • 螺桿泵的最大流量有多大

    產(chǎn)品介紹: ⒈單螺桿泵;⒉蠕動泵;⒊精確計量連續(xù)混合系統(tǒng);⒋用于石油業(yè)的螺桿泵;⒌計量泵;⒍切碎裝置 PCM為礦山、化工、造紙、石油和環(huán)境行業(yè)的完美技術(shù): PCM螺桿泵:擅長處理易剪切、磨損和高粘度介...

最小費用最大流問題文獻

平面圖最大流-周冬 平面圖最大流-周冬

格式:pdf

大?。?span id="bzpfiru" class="single-tag-height">2.8MB

頁數(shù): 42頁

評分: 4.6

平面圖最大流-周冬

立即下載
梁、柱最大最小配筋率 梁、柱最大最小配筋率

格式:pdf

大?。?span id="truwunp" class="single-tag-height">2.8MB

頁數(shù): 3頁

評分: 4.7

梁、柱最大最小配筋率

立即下載

解決最小費用最大流問題,一般有兩條途徑。一條途徑是先用最大流算法算出最大流,然后根據(jù)邊費用,檢查是否有可能在流量平衡的前提下通過調(diào)整邊流量,使總費用得以減少?只要有這個可能,就進行這樣的調(diào)整。調(diào)整后,得到一個新的最大流。

然后,在這個新流的基礎(chǔ)上繼續(xù)檢查,調(diào)整。這樣迭代下去,直至無調(diào)整可能,便得到最小費用最大流。這一思路的特點是保持問題的可行性(始終保持最大流),向最優(yōu)推進。另一條解決途徑和前面介紹的最大流算法思路相類似,一般首先給出零流作為初始流。這個流的費用為零,當然是最小費用的。然后尋找一條源點至匯點的增流鏈,但要求這條增流鏈必須是所有增流鏈中費用最小的一條。如果能找出增流鏈,則在增流鏈上增流,得出新流。將這個流做為初始流看待,繼續(xù)尋找增流鏈增流。這樣迭代下去,直至找不出增流鏈,這時的流即為最小費用最大流。這一算法思路的特點是保持解的最優(yōu)性(每次得到的新流都是費用最小的流),而逐漸向可行解靠近(直至最大流時才是一個可行解)。

由于第二種算法和已介紹的最大流算法接近,且算法中尋找最小費用增流鏈,可以轉(zhuǎn)化為一個尋求源點至匯點的最短路徑問題,所以這里介紹這一算法。

在這一算法中,為了尋求最小費用的增流鏈,對每一當前流,需建立伴隨這一網(wǎng)絡(luò)流的增流網(wǎng)絡(luò)。例如圖 1 網(wǎng)絡(luò)G 是具有最小 費用的流,邊旁參數(shù)為c(e),f(e),w(e),而圖 2 即為該網(wǎng)絡(luò)流 的增流網(wǎng)絡(luò)G′。增流網(wǎng)絡(luò)的頂點和原網(wǎng)絡(luò)相同。按以下原則建 立增流網(wǎng)絡(luò)的邊:若G中邊(u,v)流量未飽,即f(u,v) < e(u,v),則G ' 中建邊(u,v),賦權(quán)w ' (u,v)=w(u,v);若G中邊(u,v)已有流量,即f(u,v)〉0,則G′中建邊(v,u),賦權(quán)w′(v,u) =-w(u,v)。建立增流網(wǎng)絡(luò)后,即可在此網(wǎng)絡(luò)上求源點至匯點的最短路徑,以此決定增流路徑,然后在原網(wǎng)絡(luò)上循此路徑增流。這里,運用的仍然是最大流算法的增流原理,唯必須選定最小費用的增流鏈增流。

計算中有一個問題需要解決。這就是增流網(wǎng)絡(luò)G ′中有負權(quán)邊,因而不能直接應(yīng)用標號法來尋找x至y的最短路徑,采用其它計算有負權(quán)邊的網(wǎng)絡(luò)最短路徑的方法來尋找x至y的最短路徑,將 大大降低計算效率。為了仍然采用標號法計算最短路徑,在每次建立增流網(wǎng)絡(luò)求得最短路徑后,可將網(wǎng)絡(luò)G的權(quán)w(e)做一次修正,使再建的增流網(wǎng)絡(luò)不會出現(xiàn)負權(quán)邊,并保證最短路徑不至于因此而改變。下面介紹這種修改方法。當流值為零,第一次建增流網(wǎng)絡(luò)求最短路徑時,因無負權(quán)邊,當然可以采用標號法進行計算。為了使以后建立增流網(wǎng)絡(luò)時不出現(xiàn)負權(quán)邊,采取的辦法是將 G中有流邊(f(e)>0)的權(quán)w(e)修正為0。為此, 每次在增流網(wǎng)絡(luò)上求得最短路徑后,以下式計算G中新的邊權(quán)w " (u,v):

w " (u,v)=L(u)-L(v) w(u,v) (*)

式中 L(u),L(v) -- 計算G′的x至y最短路徑時u和v的標號值。第一次求最短徑時如果(u,v)是增流路徑上的邊, 則據(jù)最短 路徑算法一定有 L(v)=L(u) w ' (u,v)=L(u) w(u,v), 代入(*)式必有

w″(u,v)=0。

如果(u,v)不是增流路徑上的邊,則一定有:

L(v)≤L(u) w(u,v), 代入(*)式則有 w(u,v)≥0。

可見第一次修正w(e)后,對任一邊,皆有w(e)≥0, 且有流 的邊(增流鏈上的邊),一定有w(e)=0。以后每次迭代計算,若 f(u,v)>0,增流網(wǎng)絡(luò)需建立(v,u)邊,邊權(quán)數(shù)w ' (v,u)=-w(u,v) =0,即不會再出現(xiàn)負權(quán)邊。 此外,每次迭代計算用(*)式修正一切w(e), 不難證明對每一條x至y的路徑而言,其路徑長度都同樣增加L(x)-L(y)。因此,x至y的最短路徑不會因?qū)(e)的修正而發(fā)生變化。

【計算步驟】

⒈ 對網(wǎng)絡(luò)G=[V,E,C,W],給出流值為零的初始流。

⒉ 作伴隨這個流的增流網(wǎng)絡(luò)G′=[V′,E′,W′]。G′的頂點同G:V′=V。若G中f(u,v)0,則G′中建邊(v,u),w′(v,u)=-w(u,v)。

⒊ 若G′不存在x至y的路徑,則G的流即為最小費用最大流, 停止計算;否則用標號法找出x至y的最短路徑P。

⒋ 根據(jù)P,在G上增流:對P的每條邊(u,v),若G存在(u,v),則(u,v)增流;若G存在(v,u),則(v,u)減流。增(減)流后,應(yīng)保證對任一邊有c(e)≥ f(e)≥0。

⒌ 根據(jù)計算最短路徑時的各頂點的標號值L(v),按下式修 改G一切邊的權(quán)數(shù)w(e):

L(u)-L(v) w(e)→w(e)。

⒍ 將新流視為初始流,轉(zhuǎn)2。

由割集的定義不難看出,無論拿掉那個割集,發(fā)點vs到收點vt便不再相通,所以任何一個可行流都會經(jīng)過割集,且不會超過任一割集的容量。最小割如同瓶頸一般,即使是最大流也無法超過最小割,網(wǎng)絡(luò)的最大流與最小割容量滿足下面的定理(證明略)。

最大流問題定理一

設(shè)f為網(wǎng)絡(luò)G=(V,E,C)的任一可行流,流量為v(f),

是分離vs,vt的任一割集,則有

最大流問題定理二

由定理一可知,最大流的流量v(f)和某一割集K的容量相等,而且最大流的流量本身也不帶任一割集的容量,因此割集一定是最小的割集。

任一網(wǎng)絡(luò)G中,從vs到vt的最大流的流量等于分離vs、vt的最小割的容量(最小的割集的容量)。

最大流問題前后向弧

一條從起點vs到終點vt的鏈μ,規(guī)定從vs到vt的方向為鏈μ的方向,鏈上與μ方向一致的邊叫前向弧(邊),記作μ-;與μ方向相反的邊稱為后向?。ㄟ叄涀鳓?sup class="normal"> 。

最大流問題可增廣鏈

f是一個可行流,fij表示由i點指向j點的流量,如果滿足前向弧的流量非負且小于容量,或后向弧的流量大于0且不超過容量:

則稱μ為從vs到vt的關(guān)于f的可增廣鏈。

可增廣鏈的實際意義是:沿著這條從vs到vt輸送的流,仍有潛力可挖,只要前向弧的流量增加或后向弧的流量減少,就可以將截集的流量提高。調(diào)整后的流,在各點仍滿足平衡條件及容量限制條件,仍為可行流。

從另一個角度來說,可以提高流量的可行流也不是最大流,因此可行流f是最大流的充要條件是不存在從vs到vt的可增廣鏈。

augmentpath

譯為“增廣路”算法,其思想大致如下:

原有網(wǎng)絡(luò)為G,設(shè)有一輔助圖G',其定義為V(G') = V(G),E(G')初始值(也就是容量)與E(G)相同。每次操作時從Source點搜索出一條到Sink點的路徑,然后將該路徑上所有的容量減去該路徑上容量的最小值,然后對路徑上每一條邊;添加或擴大反方向的容量,大小就是剛才減去的容量。一直到?jīng)]有路為止。此時輔助圖上的正向流就是最大流。

我們很容易覺得這個算法會陷入死循環(huán),但事實上不是這樣的。我們只需要注意到每次網(wǎng)絡(luò)中由Source到Sink的流都增加了,若容量都是整數(shù),則這個算法必然會結(jié)束。

尋找通路的時候可以用DFS,BFS最短路等算法。就這兩者來說,BFS要比DFS快得多,但是編碼量也會相應(yīng)上增加。

增廣路方法可以解決最大流問題,然而它有一個不可避免的缺陷,就是在極端情況下每次只能將流擴大1(假設(shè)容量、流為整數(shù)),這樣會造成性能上的很大問題,解決這個問題有一個復(fù)雜得多的算法,就是預(yù)推進算法。

pushlabel

譯為“預(yù)流推進”算法。

可以想象在一個自來水管網(wǎng)的源頭盡可能多的注入水流之后,最多有多少水可以流到匯點去,由網(wǎng)絡(luò)的各個節(jié)點和管道來約束流量。將每個節(jié)點都看成一個水站,他的通過能力是有限的不能通過的水只能退回去。

Push-Relabel

譯為壓入與重標記算法

除了用各種方法在剩余網(wǎng)絡(luò)中不斷找增廣路(augmenting)的Ford-Fulkerson系的算法外,還有一種求最大流的算法被稱為壓入與重標記(Push-Relabel)算法。它的基本操作有:壓入,作用于一條邊,將邊的始點的預(yù)流盡可能多的壓向終點;重標記,作用于一個點,將它的高度(也就是label)設(shè)為所有鄰接點的高度的最小值加一。Push-Relabel系的算法普遍要比Ford-Fulkerson系的算法快,但是缺點是相對難以理解。

Relabel-to-Front使用一個鏈表保存溢出頂點,用Discharge操作不斷使溢出頂點不再溢出。

Discharge的操作過程是:若找不到可被壓入的臨邊,則重標記,否則對臨邊壓入,直至點不再溢出。

算法的主過程是:首先將源點出發(fā)的所有邊充滿,然后將除源和匯外的所有頂點保存在一個鏈表里,從鏈表頭開始進行Discharge,如果完成后頂點的高度有所增加,則將這個頂點置于鏈表的頭部,對下一個頂點開始Discharge。

Relabel-to-Front算法的時間復(fù)雜度是O(V^3),還有一個叫Highest Label Preflow Push的算法復(fù)雜度據(jù)說是O(V^2*E^0.5)。我研究了一下HLPP,感覺它和Relabel-to-Front本質(zhì)上沒有區(qū)別,因為Relabel-to-Front每次前移的都是高度最高的頂點,所以也相當于每次選擇最高的標號進行更新。還有一個感覺也會很好實現(xiàn)的算法是使用隊列維護溢出頂點,每次對pop出來的頂點discharge,出現(xiàn)了新的溢出頂點時入隊。

Push-Relabel類的算法有一個名為gap heuristic的優(yōu)化,就是當存在一個整數(shù)0k的頂點v做更新,若它小于V 1就置為V 1。

c 程序舉例

typedef pair P;

struct edge { int to,cap,cost,rev; };

int V;

vector G[MAX_V];

int h[MAX_V];

int dist[MAX_V];

int prevv[MAX_V],preve[MAX_V];

void add_edge(int from,int to,int cap,int cost) {

G[from].push_back((edge){to,cap,cost,G[to].size()});

G[to].push_back((edge){from,0,-cost,G[from].size()-1});

}

int min_cost_flow(int s,int t,int f) {

int res;

fill(h,h V,0);

while(f>0) {

priority_queue ,greater

> que;

fill(dist,dist V,INF);

dist[s]=0;

que.push(P(0,s));

while(!que.empty()) {

P p=que.top();que.pop();

int v=p.second;

if(dist[v]

if(e.cap>0&&dist[e.to]>dist[v] e.cost h[v]-h[e.to]) {

dist[e.to]=dist[v] e.cost h[v]-h[e.to];

prevv[e.to]=v;

preve[e.to]=i;

que.push(P(dist[e.to],e.to));

}

}

}

if(dist[t]==INF) return -1;

for(int v=0;v

for(int v=t;v!=s;v=prevv[v])

d=min(d,G[prevv[v]][preve[v]].cap);

f-=d;

res =d*h[t];

for(int v=t;v!=s;v=prevv[v]) {

edge &e=G[prevv[v]][preve[v]];

e.cap-=d;

G[v][e.rev].cap =d;

}

}

return res;

}2100433B

最小費用最大流問題相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識
  • 相關(guān)專欄

最新詞條

安徽省政采項目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機 廣東合正采購招標有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標有限公司 燒結(jié)金屬材料 齒輪計量泵 廣州采陽招標代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標有限公司 搭建香蕉育苗大棚 SF計量單位 福建省中億通招標咨詢有限公司 泛海三江 威海鼠尾草 廣東國咨招標有限公司 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 甘肅中泰博瑞工程項目管理咨詢有限公司 山東創(chuàng)盈項目管理有限公司 當代建筑大師 拆邊機 廣西北纜電纜有限公司 大山檳榔 上海地鐵維護保障有限公司通號分公司 舌花雛菊 甘肅中維國際招標有限公司 華潤燃氣(上海)有限公司 湖北鑫宇陽光工程咨詢有限公司 GB8163標準無縫鋼管 中國石油煉化工程建設(shè)項目部 韶關(guān)市優(yōu)采招標代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動態(tài)監(jiān)測工作的通知 電梯平層準確度 廣州利好來電氣有限公司 蘇州弘創(chuàng)招投標代理有限公司