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

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

市場價 信息價 詢價
材料名稱 規(guī)格/型號 市場價
(除稅)
工程建議價
(除稅)
行情 品牌 單位 稅率 供應商 報價日期
網(wǎng)絡 產(chǎn)品說明:大噴繪;外形尺寸(mm):2.5 2.8 3.2米; 查看價格 查看價格

得倫

m2 13% 貴州貞鑫旭辰廣告有限公司
網(wǎng)絡機柜 600寬800深(42U)產(chǎn)品編碼:21020439;型號:NR-M060820;描述:600W×800D×2000H(42U),前平板門后雙開門,調(diào)節(jié)地腳,雙側(cè)門,無頂蓋; 查看價格 查看價格

艾默生

13% 沈陽天源時創(chuàng)科技有限公司
網(wǎng)絡機柜 600寬800深(42U)產(chǎn)品編碼:21020441;型號:NR-M060820;描述:600W×800D×2000H(42U),前平板門后雙開門,調(diào)節(jié)地腳,無側(cè)門,無頂蓋; 查看價格 查看價格

艾默生

13% 沈陽天源時創(chuàng)科技有限公司
網(wǎng)絡弧型槽 22×10 不含雙面膠 查看價格 查看價格

德塑

m 13% 廣東德塑科技有限公司云南總代理
網(wǎng)絡弧型槽 32×12 不含雙面膠 查看價格 查看價格

德塑

m 13% 廣東德塑科技有限公司云南總代理
網(wǎng)絡弧型槽 50×15 不含雙面膠 查看價格 查看價格

德塑

m 13% 廣東德塑科技有限公司云南總代理
網(wǎng)絡弧型槽 50×15 不含雙面膠 查看價格 查看價格

德塑

m 13% 廣東德塑科技有限公司海南總代理
網(wǎng)絡端子鉗 品種:端子鉗,裝箱數(shù)(個/箱):60,中盒數(shù):6,類型:端子鉗,產(chǎn)品貨號:BT1501,規(guī)格(mm):8P 查看價格 查看價格

百銳

13% 長沙市展旭機電貿(mào)易有限公司
材料名稱 規(guī)格/型號 除稅
信息價
含稅
信息價
行情 品牌 單位 稅率 地區(qū)/時間
柴油焊機 500(A) 查看價格 查看價格

臺班 韶關市2010年8月信息價
電渣焊機 [1000](A) 查看價格 查看價格

臺班 韶關市2009年9月信息價
電渣焊機 [1000](A) 查看價格 查看價格

臺班 韶關市2009年7月信息價
電渣焊機 [1000](A) 查看價格 查看價格

臺班 韶關市2009年5月信息價
電渣焊機 [1000](A) 查看價格 查看價格

臺班 韶關市2009年4月信息價
氬弧焊機 [500](KW) 查看價格 查看價格

臺班 韶關市2009年3月信息價
電渣焊機 [1000](A) 查看價格 查看價格

臺班 韶關市2009年1月信息價
等離子弧焊機 300(A) 查看價格 查看價格

臺班 韶關市2010年8月信息價
材料名稱 規(guī)格/需求量 報價數(shù) 最新報價
(元)
供應商 報價地區(qū) 最新報價時間
粉碎型格柵機最大流量2.3萬m3/d功 最大流量2.3萬m3/d 功|1臺 1 查看價格 藍深泵業(yè)有限公司 廣東  深圳市 2010-06-13
實施費用 網(wǎng)絡實施費用:包含信息收集、目標網(wǎng)絡設計、實施方案編寫、集成調(diào)試、跳線部署|1項 3 查看價格 深圳立通電子有限公司 公司 全國   2021-12-06
溶纖費用 光纜電氣溶接費用|720芯 3 查看價格 廣東歡聯(lián)電子科技有限公司 廣東   2018-04-27
螺桿泵最大流量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.其他:滿足設計、相關圖集、標準及招標技術要求|3臺 3 查看價格 上海闊思電子有限公司 全國   2021-07-02
平安卡費用如何計算 平安卡費用如何計算|1平安卡費用如何計算 1 查看價格 廣東驕子教育咨詢有限公司 廣東  廣州市 2009-10-16
其他材料配件費用 其他材料配件費用|1項 1 查看價格 時時同云科技(北京)有限責任公司 全國   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.其他:滿足設計、相關圖集、標準及招標技術要求|1臺 3 查看價格 上海闊思電子有限公司 全國   2021-08-04
實施費用 云平臺、網(wǎng)管平臺軟件部署服務以及跳線、調(diào)試服務,項目集成管理測試費用|1項 3 查看價格 深圳立通電子有限公司 公司 全國   2021-12-06

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

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

  • 網(wǎng)絡流

2100433B

最小費用最大流問題網(wǎng)絡流常見問題

  • 請問哪個網(wǎng)絡硬盤最大?

    推薦你使用天天這個牌子的硬盤,質(zhì)量很好,性價比很高;網(wǎng)盤的原理其實就是網(wǎng)絡公司將其服務器的硬盤或硬盤陣列中的一部分容量分給注冊用戶使用,因此網(wǎng)盤一般來說投資都比較大,所以免費網(wǎng)盤一般容量比較小,目前一...

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

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

  • 最小的小型網(wǎng)絡機頂盒有哪些?

    小米有一個幾乎號稱全球最小的網(wǎng)絡機頂盒,叫小米小盒子。外觀方面,小米小盒子出乎意料的小,采用電源直插,僅占一個插線孔。只需連接一根HDMI線就可使用,插頭收起后可以隨意放在口袋或者背包的空隙里。出差、...

最小費用最大流問題網(wǎng)絡流文獻

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

格式:pdf

大小:2.8MB

頁數(shù): 42頁

評分: 4.6

平面圖最大流-周冬

立即下載
泵的最小連續(xù)流量 泵的最小連續(xù)流量

格式:pdf

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

頁數(shù): 1頁

評分: 4.4

泵的最小連續(xù)流量 為了保證泵的正確使用和正常運轉(zhuǎn), 泵的生產(chǎn)廠家都會在樣本上注明泵的最小連續(xù)運行 流量,以提醒或指導用戶的正確選型或使用。根據(jù) API 標準的規(guī)定,最小連續(xù)流量分為最 小連續(xù)穩(wěn)定流量和最小連續(xù)熱限制流量。 (1)最小連續(xù)穩(wěn)定流量。 API 有關標準規(guī)定最小連續(xù)穩(wěn)定流量是指在不超過該標準所 定的振動限度下泵能夠正常工作的最小流量。 泵在小流量工況下, 會出現(xiàn)噪聲振動加大的情 況,API 這一規(guī)定是為了保證泵的使用壽命, 避免由于不合適操作使用對泵造成的不利的影 響。最小連續(xù)穩(wěn)定流量可以通過試驗得到,一般情況下,泵供應商都會標明。 (2)最小連續(xù)熱限制流量。 API 規(guī)定最小連續(xù)熱限制流量是指泵能夠維持工作而其運 行不致被泵送液體的溫升所損害的最小連續(xù)流量。 最小連續(xù)熱限制流量可以通過計算得出式 中, 最小連續(xù)流量取最小連續(xù)穩(wěn)定流量和最小連續(xù)熱限制流量中的最大值, 在泵的選型或

立即下載

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

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

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

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

計算中有一個問題需要解決。這就是增流網(wǎng)絡G ′中有負權邊,因而不能直接應用標號法來尋找x至y的最短路徑,采用其它計算有負權邊的網(wǎng)絡最短路徑的方法來尋找x至y的最短路徑,將 大大降低計算效率。為了仍然采用標號法計算最短路徑,在每次建立增流網(wǎng)絡求得最短路徑后,可將網(wǎng)絡G的權w(e)做一次修正,使再建的增流網(wǎng)絡不會出現(xiàn)負權邊,并保證最短路徑不至于因此而改變。下面介紹這種修改方法。當流值為零,第一次建增流網(wǎng)絡求最短路徑時,因無負權邊,當然可以采用標號法進行計算。為了使以后建立增流網(wǎng)絡時不出現(xiàn)負權邊,采取的辦法是將 G中有流邊(f(e)>0)的權w(e)修正為0。為此, 每次在增流網(wǎng)絡上求得最短路徑后,以下式計算G中新的邊權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)絡需建立(v,u)邊,邊權數(shù)w ' (v,u)=-w(u,v) =0,即不會再出現(xiàn)負權邊。 此外,每次迭代計算用(*)式修正一切w(e), 不難證明對每一條x至y的路徑而言,其路徑長度都同樣增加L(x)-L(y)。因此,x至y的最短路徑不會因?qū)(e)的修正而發(fā)生變化。

【計算步驟】

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

⒉ 作伴隨這個流的增流網(wǎng)絡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)減流。增(減)流后,應保證對任一邊有c(e)≥ f(e)≥0。

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

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

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

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

最大流問題定理一

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

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

最大流問題定理二

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

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

最大流問題前后向弧

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

最大流問題可增廣鏈

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

則稱μ為從vs到vt的關于f的可增廣鏈。

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

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

augmentpath

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

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

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

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

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

pushlabel

譯為“預流推進”算法。

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

Push-Relabel

譯為壓入與重標記算法

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

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

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

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

Relabel-to-Front算法的時間復雜度是O(V^3),還有一個叫Highest Label Preflow Push的算法復雜度據(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

最小費用最大流問題相關推薦
  • 相關百科
  • 相關知識
  • 相關專欄