運籌優化(八)--圖與網路優化
關於圖的基本概念
關於樹的基本概念
1.樹的概念
一個無圈並且連通的無向圖稱為樹圖或簡稱為樹(Tree)。
圖1是一個連通圖,圖2中的兩個圖都是樹。
如在有線通訊網和交通網中,在保證節點連通的條件下,邊數最少(可以節省材料和投資)的線路圖必然是樹。
圖1
一些行政管理機構和軍隊的建制也常用樹來表示相互隸屬關係;圖書分類、會計科目、決策過程等等也都可以畫成樹圖。
部分樹:在一個連通圖中G中,取部分邊連線G的所有頂點組成的樹稱為部分樹。
如圖2中(a)、(b)都是圖1的部分樹。
2.樹圖的性質
樹中的邊稱為樹枝,次數為1的頂點稱為樹葉。樹圖具有以下性質:
(1)任何樹必有樹葉,即次數為1的節點。
(2)樹是無迴路的連通圖,因而樹中任意兩點之間有、且僅有一條鏈連線相通,任意去掉一條樹枝,該樹就被分割成兩互不連通的子圖。
(3)樹的任意兩個頂點之間新增一條邊(稱為連枝),就構成一個迴路。僅用一條連枝構成的迴路稱為單連枝迴路,也稱為基本回路。
(4)一個連通圖具有很多樹,這些樹都是原連通圖的部分圖,即包括了原連通圖的所有頂點。若原連通圖有N個頂點,M條邊,則樹枝數為(N-1),連枝數則為C=M -(N-1)=M-N+1,因為一條連枝構成一個基本回路,所以基本回路個數也就是C。
(5)連枝的集合是原連通圖相應的餘樹,或稱為補樹。餘樹可能是樹,也可能不是樹,甚至可能是非連通圖。
關於最短路徑問題
最短路徑問題在實際中有廣泛的應用,如管道鋪設、線路選擇等問題,還有些如裝置更新、投資等問題也可以用網路最短路徑演算法得到解決,而且解法簡單、有效。
賦權圖1中的邊有方向,表明路線只能沿著箭頭方向行走,權表示vi到vj的距離(費用或時間),假設要求從v1到v7修一條公路,如何選擇一條路線使距離最短?
從v1到v7的路線是很多的,如路線(v1,v2,v5, v4,v7),也可選擇路線(v1,v3,v6,v7)等等。不同的路線,總距離是不同的,如前一路線,總距離是7+8+1+2=18單位。而按後一路線,總距離是1+3+7=11單位。實際上,從v1到v7的路線與有向圖中從v1到v7的路是一一對應的。現在的問題是,從v1到v7的眾多路線中,如何選一條最短的路。
最短路演算法的原理:若從起點v1到終點v7的最短路經過v3、v4,則從v1到終點v7的最短路是{v1,v3,v4,v7},同時v1到點v3的最短路一定是{v1,v3},而v1到v4的最短路是{v1,v3,v4}。即如果P是D中從vs到vj的最短路,vi是p中的一個點,那麼從vs到vj的路也必是從vs到vi的最短路。
關於網路流量問題
研究網路通過的流量也是生產和管理工作中常遇到的現實問題。例如:交通網路中車輛的最大通過能力;生產流水線上產品的最大加工能力;供水網路中通過的最大水流量;資訊網路中資訊的最大傳輸能力等等。這類網路的組成弧都具有確定的通過能力稱為弧的容量(capacity),記為cij;而實際通過弧的流量(flux),記為fij,因各弧容量的配置關係可能不協調,有些弧的流量常常達不到容量值。因此,研究實際能通過網路的最大流量問題,可以充分發揮網路的裝置能力,並且能明確為使最大流量增大應如何改造網路。
1.容量網路
在研究網路最大流問題時,首先應給出各弧的通過能力,各弧的權數表示弧的容量。容量是弧(i,j)在單位時間內的最大通過能力,流量則是弧(i,j)在單位時間內的實際通過量。標有弧容量cij的網路稱為容量網路,如圖1所示。
2.網路流
在容量網路中,實際通過各弧的流量集F={fij}稱為網路流,如圖1。由於各弧容量的配置可能不協調,實際通過各弧的流量fij不可能處處都達到容量值cij。
3.可行流
對於給定的容量網路,如果滿足下列容量約束和節點流量平衡條件,則該網路流稱為可行流。以圖1為例,這兩個條件可用以下公式來描述:
圖1容量網路
(1) 容量約束條件:0≤fij≤cij。 對圖1有:0≤f12≤70,0≤f13≤100,0≤f14≤90,0≤f26≤80,0≤f34≤40,0≤f35≤50,0≤f45≤40,0≤f46≤100,0≤f56≤90。
(2)節點流量平衡條件:每個節點的流入總量等於流出總量。v1: Q=f12+f13+f14,v2: f12=f26,v3:f13=f34+f35,v4:f14+f34=f45+f46,v5: f35+f45=f56,V6: f26+f46+f56=Q
可行流總是存在的,如零流{fij=0}就是一個可行流,即容量網路沒有給出流量fij時,就認為fij=0。
4.最大流:
容量網路的最大流就是使得從網路起點(或稱發點)到終點(或稱收點)的總流量Q達到最大的可行流F= {fij} 。
最大流問題用線性規劃模型表示如下:式中s為發點,t為收點。
一個可行流相當於線性規劃中的一個可行解,而尋求最大流就相當於求解這個線性規劃數模的最優解,不過,網路最大流問題採用網路模型方法求解比用線性規劃方法求解簡便、直觀。
5.增廣鏈
圖2(a)給出了一個容量網路{cij, fij},其中{fij}為可行流,並且
(1)正(前)向弧:與從起點→終點方向一致的弧。
(2)反(後)向弧:與從起點→終點方向相反的弧。
(3)增廣鏈定義:一條從起點到終點的鏈,且其正向弧必須是非飽和弧,反向弧必須是非零弧。即:正向飽和弧和反向零弧均不構成增廣鏈的弧。
正向非飽和弧充許增大流量,反向非零弧,允許減小流量(維持節點流量平衡)。
例如: 對圖2(a)的容量網路和給定的可行流,按上述定義尋找增廣鏈,可找到一條如圖2(b)的增廣鏈 L={v1,v3,v2,v4,v6}。其中:正向弧集 L+={(v1,v3),(v2,v4),(v4,v6)}均為非飽和弧。反向弧集 L-={v2,v3}為非零弧。
在增廣鏈上存在增大輸送能力的潛力。如圖2(b),對所有正向弧增加流量1個單位,對所有反向弧減少流量1個單位,也就是說,增廣鏈方向調整1個單位流量,其他弧上的流量不變,這時得到的新網路流仍是可行流,但總流量Q增加了1個單位。因此,可以利用增廣鏈來調整給定的當前可行流,以求得最大流。若當前可行流F不存在增廣鏈,那麼它就不能再調整增大,可斷定它就是最大流F*。另外,對圖2(a)還可找出其它增廣鏈,說明當網路流非最大時,往往存在多條增廣鏈。
(4)網路可行流為網路最大流的判別方法
檢查該網路可行流是否存在增廣鏈,若不存在,則當前可行流為最大流;否則,當前可行流為非最大流,總流量還可增大。
6.割集
割集就是研究網路流“瓶頸”的一種工具。
(1)割集的概念:連通圖的一個割集,是使圖分成兩個互不連通子圖的邊的最小集合,記為S={(vi,,vj)}。顯然,一個連通圖的割集不止一個,如圖3就作出了3個割集s1,s2,s3,。
s1={(v1,v2),(v1,v3)},其容量為C1=3+5=8。
s2={(v1,v2),(v3,v5)},其容量為C2=3+2=5, s2割了三條弧,但(v2,v3)不入割集,因為只要把與v1→v6同方向的弧(v1,v2),(v3,v5)割斷,由起點到終點的通路就斷了。
S3={(v2,v4),(v3,v5)},其容量為C3=4+2=6。
一般地,割集記為,其中(始點在V1內,而終點在內),容量記為。
如圖1中構成割集S2的兩個點集,始點在V內,而終點在內的只有兩條弧{(v1,v2),(v3,v5)}。
結論:
(1)任一可行流的流量Q都不會超過任一割集的流量,即:Q≤。
(2)最小割集(最小割):所有割集中容量最小的割集。最小割的容量記為。實際流F的流量Q(F)≤。
(3) 最大流——最小割定理:實際流F所能達到的最大流量Q(F*)等於最小割的容量。即:
最後,實際上,這裡應該有一步介紹網路計劃與網路計劃優化,但是,發現它講的就是專案管理中的進度管理工具,如關鍵路徑法,還有單代號,雙代號網路圖,時標網路圖等等,這也是圖網路技術對工程管理的貢獻,這裡就不再囉嗦了。
相關文章
- 運籌優化(一)--運籌學概述優化
- 運籌優化(十三)--大規模優化方法優化
- iOS效能優化 - 網路圖片載入優化iOS優化
- 運籌優化(十七)--儲存論基礎及其最優化求解優化
- 運籌優化(十八)--對策論基礎及其最優化求解優化
- 運籌優化(十九)--決策論基礎及其最優化求解優化
- 運籌優化(十六)--排隊論基礎及其最優化求解優化
- 運籌優化(十四)--離散優化的啟發式演算法優化演算法
- 運籌優化(七)--動態規劃解析優化動態規劃
- 運籌優化(九)--整數規劃模型優化模型
- 運籌優化(十)--整數規劃求解優化
- Apache網頁優化與安全優化Apache網頁優化
- 運籌優化(十五)--應用模型之分配問題優化模型
- 前端效能優化 --- 圖片優化前端優化
- 運籌優化(五)--線性規劃之內點法優化
- 運籌優化(六)--目標規劃定義及解法優化
- 運籌優化(十一)--無約束非線性規劃優化
- DNS與網站優化DNS網站優化
- 百度App網路深度優化系列《一》DNS優化APP優化DNS
- Android效能優化——圖片優化(二)Android優化
- 效能優化04-圖片優化優化
- 網路應用優化——時延與頻寬優化
- 運籌學練習Python精解——圖與網路Python
- 運籌優化(二)--線性規劃概念及應用模型優化模型
- 運籌優化(十二)--帶約束非線性規劃(NLP)優化
- Android 網路優化,使用 HTTPDNS 優化 DNS,從原理到 OkHttp 整合Android優化httpdDNS
- Apache網頁與安全優化Apache網頁優化
- Oracle優化案例-單表分頁語句的優化(八)Oracle優化
- SQL優化案例-單表分頁語句的優化(八)SQL優化
- 圖片優化優化
- 如何優化深度神經網路?優化神經網路
- TensorFlow神經網路優化策略神經網路優化
- [譯]Web 效能優化: 圖片優化讓網站大小減少 62%Web優化網站
- Android記憶體優化之圖片優化Android記憶體優化
- 程式分析與優化 - 6 迴圈優化優化
- 得物技術網路優化-CDN資源請求優化實踐優化
- 程式分析與優化 - 2 控制流圖優化
- 圖片優化瘦身 給網站提速優化網站