『壹』 大哥大姐們什麼是圖論
圖論起源於18世紀。第一篇圖論論文是瑞士數學家歐拉於1736 年發表的「哥尼斯堡的七座橋」。1847年,克希霍夫為了給出電網路方程而引進了「樹」的概念。1857年,凱萊在計數烷 的同分異構物時,也發現了「樹」。哈密爾頓於1859年提出「周遊世界」游戲,用圖論的術語,就是如何找出一個連通圖中的生成圈,近幾十年來,由於計算機技術和科學的飛速發展,大大地促進了圖論研究和應用,圖論的理論和方法已經滲透到物理、化學、通訊科學、建築學、生物遺傳學、心理學、經濟學、社會學等學科中。
圖論中所謂的「圖」是指某類具體事物和這些事物之間的聯系。如果我們用點表示這些具體事物,用連接兩點的線段(直的或曲的)表示兩個事物的特定的聯系,就得到了描述這個「圖」的幾何形象。圖論為任何一個包含了一種二元關系的離散系統提供了一個數學模型,藉助於圖論的概念、理論和方法,可以對該模型求解。哥尼斯堡七橋問題就是一個典型的例子。在哥尼斯堡有七座橋將普萊格爾河中的兩個島及島與河岸聯結起來問題是要從這四塊陸地中的任何一塊開始通過每一座橋正好一次,再回到起點。當
然可以通過試驗去嘗試解決這個問題,但該城居民的任何嘗試均未成功。歐拉為了解決這個問題,採用了建立數學模型的方法。他將每一塊陸地用一個點來代替,將每一座橋用連接相應兩點的一條線來代替,從而得到一個有四個「點」,七條「線」的「圖」。問題成為從任一點出發一筆畫出七條線再回到起點。歐拉考察了一般一筆畫的結構特點,給出了一筆畫的一個判定法則:這個圖是連通的,且每個點都與偶數線相關聯,將這個判定法則應用於七橋問題,得到了「不可能走通」的結果,不但徹底解決了這個問題,而且開創了圖論研究的先河。
圖與網路是運籌學(Operations Research)中的一個經典和重要的分支,所研究的問題涉及經濟管理、工業工程、交通運輸、計算機科學與信息技術、通訊與網路技術等諸多領域。下面將要討論的最短路問題、最大流問題、最小費用流問題和匹配問題等都是圖與網路的基本問題。
個人覺得在實際應用中就是找出對應問題,找出演算法,之後再搞定程序。
現在經常用的演算法就十來個,都有對應的演算法的。
1 最短路問題(SPP-shortest path problem)
一名貨櫃車司機奉命在最短的時間內將一車貨物從甲地運往乙地。從甲地到乙地的公路網縱橫交錯,因此有多種行車路線,這名司機應選擇哪條線路呢?假設貨櫃車的運行速度是恆定的,那麼這一問題相當於需要找到一條從甲地到乙地的最短路。
2 公路連接問題
某一地區有若干個主要城市,現准備修建高速公路把這些城市連接起來,使得從其中任何一個城市都可以經高速公路直接或間接到達另一個城市。假定已經知道了任意兩個城市之間修建高速公路的成本,那麼應如何決定在哪些城市間修建高速公路,使得總成本最小?
3 指派問題(assignment problem)
一家公司經理准備安排 名員工去完成 項任務,每人一項。由於各員工的特點不同,不同的員工去完成同一項任務時所獲得的回報是不同的。如何分配工作方案可以使總回報最大?
4 中國郵遞員問題(CPP-chinese postman problem)
一名郵遞員負責投遞某個街區的郵件。如何為他(她)設計一條最短的投遞路線(從郵局出發,經過投遞區內每條街道至少一次,最後返回郵局)?由於這一問題是我國管梅谷教授1960年首先提出的,所以國際上稱之為中國郵遞員問題。
5 旅行商問題(TSP-traveling salesman problem)
一名推銷員准備前往若干城市推銷產品。如何為他(她)設計一條最短的旅行路線(從駐地出發,經過每個城市恰好一次,最後返回駐地)?這一問題的研究歷史十分悠久,通常稱之為旅行商問題。
6 運輸問題(transportation problem)
某種原材料有 個產地,現在需要將原材料從產地運往 個使用這些原材料的工廠。假定 個產地的產量和 家工廠的需要量已知,單位產品從任一產地到任一工廠的運費已知,那麼如何安排運輸方案可以使總運輸成本最低?
7.最短路已有成熟的演算法:迪克斯特拉(Dijkstra)演算法
8.計算賦權圖中各對頂點之間最短路徑,顯然可以調用Dijkstra演算法。具體方法是:每次以不同的頂點作為起點,用Dijkstra演算法求出從該起點到其餘頂點的最短路徑,反復執行n次這樣的操作,就可得到從每一個頂點到其它頂點的最短路徑。這種演算法的時間復雜度為O(n^3)。第二種解決這一問題的方法是由Floyd R W提出的演算法,稱之為Floyd演算法。(可以解決第一個問題)
9.prim演算法、Kruskal演算法構造最小生成樹(使所有點連通)
10.匈牙利演算法、Kuhn-Munkres演算法解決人員分配問題
11.Euler迴路的Fleury演算法(中國郵遞員問題)
12.最大流的一種演算法—標號法(用標號法尋求網路中最大流的基本思想是尋找可增廣軌,使網路的流量得到增加,直到最大為止。)
我的計算機不好,用的是MATLAB,網上很多資料可以網路到。程序好直接網路對應演算法搞成C的吧……
演算法很多網路能到……
『貳』 急!急!急!數學建模的兩個題,有重分獎勵!!!!
通過將車流量的增大或減小轉化為路長權重的變化。將交通流量的動態問題轉化為靜態問題,用解決最短路問題的Dijkstra 方法,給出交通流量實時最優控制的可行性模型及其有效演算法。
關鍵詞:交通流, 實時最優控制, 道路加權, Dijkstra 方法
隨著國民經濟的持續、高速發展,各種機動車尤其是私家車擁有量急劇增加帶來了交通運輸業的空前繁榮。但是,大多數城市的交通已從過去的局部擁擠演變成為當今的大范圍全面緊張,如我國的一個大城市,當處於早晚交通高峰時,交叉路口處的阻車長度長達1000多米,有的阻車車隊從一個交叉路口延伸到另一個交叉路口,這時一輛車為通過一個交叉路口,往往需要半個小時以上,還不如步行快,這給城市交通帶來了難以承受的負荷。擁擠不僅帶來時間的浪費,還導致公交系統運行的無規則性,如公交汽車不能按時到站等,使人們對自己的旅行時間無法估計,耽誤工作和計劃等。這種緊張狀況日趨嚴重,已成為大城市突出的社會問題之一,也成為國民經濟進一步發展的「瓶頸」問題。因此,必須面對現實,解決城市的交通擁擠,堵塞問題。
那麼城市交通擁擠、堵塞原因何在呢?分析如下:
(一)、現行交通信號控制方法中交通信號與交通流量不適應。目前,各城市交叉路口使用最為廣泛的是單點定周期控制方式。這種控制方式存在的問題有以下幾個方面:
1. 對交通流的隨機變化無適應能力。由於是定周期方法,因此一旦周期時間和綠信比選定之後,一般就不再經常改動。而交通網路中車流、人流的變化是隨機的、經常的,各個周期中交叉路口同一方向上通過的流量可能差異很大。不同的流量對綠燈時間有著不同的要求。所以此種控制方式給出的信號常常不能與客觀實際車流的隨機變化相適應。我們常常遇到這樣的情況:有車輛等待通過的方向信號是紅燈,而與此同時無車輛方向的信號卻是綠燈,白白浪費了現有路口通行能力。為了克服這一缺點,人們考慮運用概率、統計的方法,在收集了大量交通數據的基礎上,對周期時間和綠信比進行離線優化選擇,使選出的周期時間和綠信比在概率意義下的合理性有很大提高。但是,這又帶來了下面的問題。
2. 需要經常調節控制規律。首先是因為城市土地結構變化很備笑快而帶來的車流量變化很快。以往的數據很快便失去了實用價值。因此優化方案不在最優甚至不合理,需要重新仿中含進行數據收集,最優方案選擇等工作。這一點對發展中城市更為明顯。其次是同一路口 、同一方面在每星期中各天的流量是不同的,每天中高峰、平峰、低峰時交通也是不一樣的,這些都要求按預先算好的時刻表、日期表調換周期時間和綠信比,局限性很大。並且交通流量的隨機性越大,其缺點與明顯。
3. 沒有考慮各交叉路口的聯系。「單點」即指各路口各自進行控制,不管鄰近路口的信號燈翻轉規律如何。這種各個路口互不配合、互不協調的控制方式人為地給交通流的流動設置了許多阻力。
(二)、信息流通條件極差,無法對乘客和車輛進行誘導和管理。這個問題在交通網路運行暢通的情況下並不明顯,但當交通堵塞、交通事故等緊急事件發生時就顯得非常突出。然而這些緊急事件卻常有發生。每當這時,公共汽車調度站無法知道路上的情況,從而無法對公共汽車的線路、發車頻次作恰當調整;其他車輛的司機也得不到信息無法選擇較為暢通的線路;在公共汽車站等車的乘客也無法做出決策,是繼續等車或是換乘其他車次或是步行等。實際上在許多情況下,只要進行恰當的誘導,道路的擁擠狀況就會大大緩解或保證暢通。例如:1984年洛杉磯奧運會期間,由於採用了大量的動態路標顯示板,誘導車輛選擇恰當的路線,因而,盡管車輛較平時增多培配很多,但網路中交通流的運行狀況卻比平時還好。
(三)、停車場的能力不夠,位置也不當。這是多年延續下來的舊病,只修路不修停車場。比如,成都火車站東西二環路,那裡的批發市場很多,但是,無合理的停車場,大多數司機將車直接停放在街道上,這樣嚴重影響了道路的通行能力。應該將停車場向專門化,地下化發展,在賓館,商場,機關大樓,居民大樓的地下設置社會化的停車場是解決城市交通擁擠,堵塞的一條行之有效的辦法。
交通運輸是一個復雜的大系統,這個系統必須在嚴格科學的制度下運行,它不是一個自適應系統,任何違反規章制度的行為都可能導致大系統的局部、甚至「整體」的癱瘓。
交通擁擠和堵塞對策從總體上可分為三大類:
(1) 加強道路建設,以提高交通網路的交通容量;
(2) 加強交通運用與管理以充分發揮現有道路設施的作用,使得交通網路的使用效率最大;
(3) 全面實施交通需求管理以使交通需求在時間、空間上均勻化,交通結構合理化。由於交通基礎設施建設工期長,耗資大,在當前資金有限的條件下,解決特定的城市交通問題時,必須事先進行對策的效果分析。
如前所述,要想比較有效的解決城市的交通擁擠,堵塞問題不能單純的只依靠增加道路面積和長度,而要不斷的完善路網系統,調整路網結構和加強交通管理的現代化,以及對單個車輛的控制及引導。首先就交通流量的靜態情形是一種理想狀態,既假設在一個城市街區內車流速度一定,對單個車輛的控制及引導進行研究分析,給出調控標准。
交通道路網的拓撲性質可以用圖論的基本原理來分析。圖由「弧」和「頂點」兩部分組成,交通道路網的拓撲模型可以抽象認為是由節點(交叉路口)以及弧(道路)組成的有向圖。邊的方向就是車流的方向。由於道路和交叉路口都有很多屬性,這樣就可以把始發地和目的地之間的區域交通網抽象成了多屬性賦權有向圖。
假設:
1. 所有道路一樣寬;
2. 每一條道路都不需停車等待;
3. 車流速度恆定;
4. 道路長已知。
5. 從 點到 點所用時間僅與路長有關。
不考慮意外事故對交通的影響。車子所在地設為 點,目的地設為 點。於是車子所要走的路線就可以用P來表述。
: , 兩點間距離
v:車流速度
t:從始發地 到目的地 的時間
:P中所有弧長之和
表示道路狀況的權重
表示車流速度改變而賦給道路的權重
表示
模型建立
由於假設車速恆定,由 可知,要求從始發地 到目的地 用時最短就可以轉化為求道路最短。此時問題可以用以下數學模型描述:
( * )
我們將城市道路網描述為一賦權有向圖D=(V,U)對每一條有向邊 ∈U都存在一l 與這對應,其表示道路兩結點間的距離,稱之為有向邊 的權。
=
模型的求解
在賦權有向圖中,我們選定某個起點 ,終點 .採用迪克特拉(E.W.Dijkstra)演算法。Dijkstra方法的基本思想是從 出發,逐步地向外探尋最短路。執行過程中,與每一個點對應,記錄下一個數(稱為這個點的標號),它或者表示從 到該點的最短路的權(稱為P標號)、或者是從 到該點的最短路的權的上界(稱為T標號),方法的每一步是去修改T標號,並且把某一個具T標號的點改變為具P標號的點,從而使D中具P標號的頂點數多一個,這樣,至多經過p-1步,就可以求出從 到各點的最短路。
對靜態的交通加權最短路問題進行了數學建模,但是實際狀態中,還有許多因素影響交通運行時間,譬如道路寬度不盡相同,會使車輛流率不同(車流量的大小用車流率表示,車流率是道路上某點單位時間內到達或離開的車輛數,簡稱流率);時段高峰期,會造成某一路段在某一時段交通擁擠甚至阻塞,從而使得車流速度降低等,也就是只從靜態考慮了實際問題。這一些個因素沒有考慮進去,按照理想模型來分析,會導致估計結果粗糙從而失真,不能有效地對單個車輛進行引導控制。於是我們在前面假設的基礎上再進行模型的修改:當流量處於動態變化時,把道路寬度,交通阻塞等因素考慮進去。這樣一來定點路段上的車行最短時間的問題上比靜態情形復雜很多,我們採用因素轉化法,將多因素變數轉化為單因素變數來建立優化模型。
首先我們可以利用自動的交通檢測裝置來測量交通網路中各個不同部分的交通流狀態,再通過一些電訊設備將這些檢測到的信息送到控制中心或電台等,這樣就可以知道某一時刻的各個路段的交通狀況,從而為我們對司機的行車進行引導提供了信息。
由於加入了影響因素,車流速度隨著高峰期擁堵而在一個時間段有所改變。由 知,求用時最短的方案必然有所改變。但是我們可以將車速改變轉化為路長改變,即對道路加權改為隨時間變化的函數,如速度增大則道路權為正小數,速度減小則把權設為正整數,使得要求用時最短仍能轉變成求道路最短。
剛才考慮了車流速度改變的情況,現在來看看交通狀況改變,譬如發生交通意外而使道路癱瘓不能行車,或是時段高峰期使得交通擁擠等。這時我們仍可以在一個時間段對道路加權來使問題轉變成靜態模型,即求道路最短模型。道路的權重可以通過經驗給出。當道路不能暢通無阻時,我們設其權重為大於1的正整數,反之設為1。
仍同初始交通加權最短路問題一樣,可將始發地和目的地之間的區域交通網抽象成多屬性賦權有向圖。
由自動的交通檢測裝置反饋來的數據信息,我們可以給一條道路賦予一定的權重,根據情況程度決定具體權重。
當道路因各種原因使得車流速度受到影響時,我們可以把權重 取值范圍設定為〔1,∞),其中 =∞ 表示道路嚴重阻塞,車輛不能通行; =1 表示車流速度不受影響,可以自由行駛。車流速度改變後,我們可以把權重 的取值范圍設定為(0,∞),當 時,表示車流速度增大; 時,表示車流速度減小; =1時,則表示與初始速度相比沒有改變。
由以上所述,我們可以把模型建立為
( ** )
雖然每一時刻道路狀況,車流速度不盡相同,但是經過轉換,形成以上模型,就只是參數變化而已,如此一來仍然可以用初始最短路問題的模型求解,這樣就大大簡化了問題。
在下述Dijkstra方法具體求解步驟中,用P,T分別表示某個點的P標號、T標號, 表示第i步時,具P標號點的集合。為了在求出從 到各點的距離的同時,也求出從 到各點的最短路,給每個點 以一個 值,演算法終止時,如果 ,表示在從 到 的最短路上, 的前一個點是 ;如果 ,則表示D中不含從 到 的路; 表示 = 。其中M表示無窮大的數。
模型檢驗與實用性研究
前面給出了一般性的優化模型,現在我們舉個例子對模型進行計算。
如圖所示,這是一個單行線交通網,車輛以速度v行駛,每弧旁的數字表示兩點間相對距離。現在某計程車要從 出發,通過這個交通網到 去,求所用時間最短的路線。
圖5-1
由 可知,若速度等因素沒有改變時,根據模型( * ),用Dijkstra演算法直接求解,得從 到 的最短路是 。
假設,此時速度或道路狀況改變,則根據模型( ** )我們可以得:
不妨設此時車已開向 ,並且車速變為2v( =0.5), 到 的路上由於上班高峰期造成了阻塞( =5), 到 的道路由於不是主幹道車流較之前減少暢通率提高 ( =0.6),其他道路狀況沒有改變( =1)。此時根據模型( ** ):
可求得從 到 用時間最短路線為
實用性研究
優化後的模型,對於實際交通流量控制有著較好的導控作用。在運用此模型時,可通過三個設備獲取數據,實現可行性。第一個是車輛設備,二是路邊設備,三是控制中心。
車輛設備包括:
⑴ 接收由駕駛員輸入數據的操作鍵盤;
⑵ 從路旁通訊設備接收數據和向該設備發送數據的收發部件;
⑶ 能提供從路旁通訊設備接收到的數據的現實控制板;
⑷ 接收來自路邊或中心廣播設備傳送來的信息的介面。
路邊設備包括:
⑴ 記錄從中心處理設備傳來的數據的路邊通訊設備,以及通過嵌入路面的環形線圈和車輛天線與單個車輛進行雙向通訊。
⑵ 直接用電纜線來連接中心控制與路邊廣播設備,再進行車輛通訊。⑶ 自動的交通檢測裝置,可測量車輛速度以及檢測道路狀況。
這樣,司機把一個他所希望的終點站代碼輸入到安裝在車內的鍵盤,一旦車輛接近確定的地點時,車上的微型計算機通過車輛天線和一個嵌入路面的迴路線圈向路邊微機設備傳送存貯的代碼數據,此微機再將代碼數據反饋回控制中心,控制中心利用本文優化模型及給出的演算法進行求解,得出合理的行駛路線,經由路邊設備反饋給車上的微型計算機,司機通過顯示器可以獲取最短路線。
由於交通不是單個車輛的,而是眾多車輛參與在內的運行,因此交通狀況時刻可能改變,這將影響單個車輛行駛路線的改變。本文的導控考慮到此種情況,將導控分時間段進行:
表5-1
低谷期
5:00-
7:30 高峰期
7:30-
9:00 中間期
9:00-
12:00 高峰期
12:00-
13:00 中間期
13:00-
17:30- 高峰期
17:30-
19:00 低谷期
19:00-
23:00
在低谷期內的反饋周期為30分鍾,中間期為15分鍾,而高峰期則為5分鍾一次,因為高峰期道路狀況改變快,因此反饋給司機的數據間隔也不能太長。這樣就使得本文的模型更具可行性。
『叄』 2011數學建模國賽B題 求解答
一 問題的重述
110警車在街道上巡邏,既能夠對違法犯罪分子起到震懾作用,降低犯罪率,又能夠增加市民的安全感,同時也加快了接處警時間,提高了反應時效,為社會和諧提供了有力的保障。
現給出某城市內一區域,其道路數據和地圖數據已知,該區域內三個重點部位的坐標分別為:(5112,4806),(9126, 4266),(7434 ,1332)。該區域內共有307個道路交叉口,為簡化問題,相鄰兩個交叉路口之間的道路近似認為是直線,且所有事發現場均在下圖的道路上。
該市擬增加一批配備有GPS衛星定位系統及先進通訊設備的110警車。設110警車的平均巡邏速度為20km/h,接警後的平均行駛速度為40km/h。警車配置及巡邏方案要盡量滿足以下要求:
D1. 警車在接警後三分鍾內趕到現場的比例不低於90%;而趕到重點部位的時間必須在兩分鍾之內。
D2. 使巡邏效果更顯著;
D3. 警車巡邏規律應有一定的隱蔽性。
現在我們需要解決以下幾個問題:
一. 若要求滿足D1,該區最少需要配置多少輛警車巡邏?
二. 請給出評價巡邏效果顯著程度的有關指標。
三.請給出滿足D1且盡量滿足D2條件的警車巡邏方案及其評價指標值。
四. 在第三問的基礎上,再考慮D3條件,給出你們的警車巡邏方案及其評價指標值。
五.如果該區域僅配置10輛警車,應如何制定巡邏方案,使D1、D2盡量得到滿足?
六. 若警車接警後的平均行駛速度提高到50km/h,回答問題三。
七. 你們認為還有哪些因素、哪些情況需要考慮?給出你們相應的解決方案。
二 問題分析
本題為城區道路網路中警車配置及巡邏問題。在進行警車配置時,首先要考慮警車在接警後在規定時間內趕到現場的比例,在此條件下,以車數最少為目標,建模、求解;在制定巡邏方案時,要考慮巡邏的效果及隱蔽性問題。
問題一隻要求滿足D1,求最少的警車配置數,可以認為警車是不動的,在三分鍾或兩分鍾內它能到達的區域就是它的覆蓋范圍。據此,在滿足所有街道的覆蓋率不低於90%的條件下,尋找最優解。
問題二要評價巡邏效果,有兩個方面需要考慮:一是巡邏的全面性,即經過一段時間後警車走過的街道數占總街道數的比例;二是巡邏的不均勻性,即經過一段時間後警車經過每一條街道的次數相差不大,用方差來衡量。
問題三是在滿足D1的條件上盡量滿足問題二所給的指標,並給出評價方案的指標。首先找到一組滿足D1的各警車位置,然後在和各警車位置相連的點中隨機尋找一個點,判斷新的點是否滿足D1,如果滿足則警車行駛到該點,否則重新尋找,直到滿足為止。一段時間後統計所有車走過的點數及每個點被走過的次數,用問題二給出的兩個指標進行評價。綜合兩個指標,可判斷此路徑的好壞,重復這個過程,直到綜合評價指標達到一個滿意的值為止。
問題四增加了隱蔽性要求,首先給出評價隱蔽性的指標,隱蔽性可用路線的隨機性來評價,將它加入到問題三的模型中去進行求解。
問題五限制警車數量為10,要綜合考慮D1、D2,先分配這10輛車使道路的覆蓋率最高,然後按照問題三的步驟進行求解,其中每一步對D1的判斷只需使道路的覆蓋率盡量高即可。
問題六同問題三,只需將車速改為50km/h即可。
三 模型的假設
1. 警車都在路上巡邏,巡警去處理案件的時間不考慮;
2. 所有事發現場都在道路上,案件在道路上任一點是等概率發生的;
3. 警車初始停靠點是隨機的,但盡量讓它們分散分布,一輛警車管轄一個分區;
4. 假定各個劃分區域內,較短時間內,最多會發生一個案件;
5. 假設區域內的每條道路都是雙行線,不考慮轉彎對結果造成的影響;
6. 如果重點部位不在道路上的,假設這些重點部位在離它們最近的道路上;
7. 圖中水域對巡邏方案沒有影響。
四 符號說明
表示警車數目
表示警車初始停靠點到各道路的最短距離
表示整個區域的總道路長度
表示不能在3分鍾內到達的區域的道路的長度
表示非重點部位的警車在3分鍾內不能到達現場的比例
表示三分鍾內能從接警位置趕到事發現場的最大距離是
表示整個區域總的離散點個數
表示第 區內的節點個數
表示區內調整函數
表示模擬退火的時間,表徵溫度值
表示區間調整函數
表示全面性指標
表示不均勻性指標
表示綜合評價指標
表示第 輛車經過每條道路的次數
表示整個區域每條道路經過的平均次數
五 模型的建立與演算法的設計
5.1 滿足D1時,該區所需要配置的最少警車數目和巡邏方案
5.1.1 滿足D1條件時,區域最少警車的規律
題目要求警車的配置和巡邏方案滿足D1要求時,整個區域所需要配置的警車數目最少。由假設可知警車都在道路上,且所有事發現場也都在道路上,但區域內總的道路長度是個定值的;警車在接警後趕到事發現場有時間限制和概率限制:三分鍾內趕到普通區域案發現場的比例不低於90%,而趕到重點部位的時間必須控制在兩分鍾之內。由此可知每輛警車的管轄范圍不會很大,於是考慮將整個區域分成若干個分區,每輛警車管轄一個分區域。
由上面的分析,求解整個區域的警車數目最少這個問題可轉化為求解每一輛警車所能管轄的街道範圍盡量的大。於是我們尋找出使每輛警車管轄的范圍盡量大的規律。為了簡化問題,我們不考慮趕到現場的90%的幾率的限制,僅對警車能在三分鍾內趕到事發現場的情況作定性分析,其分析示意圖如圖1所示。警車的初始停靠位置是隨機的分布在道路上的任一節點上,我們假設一輛警車停靠在A點上。
圖1 一輛警車管轄范圍分析示意圖
由於警車的平均巡邏速度為20km/h,接警後的平均行駛速度為40km/h,由於距離信息比較容易得到,於是我們將時間限制轉化為距離限制,這樣便於分析和求解。當警車接警後,在三分鍾內能從接警位置趕到事發現場的最大距離是 ,其中 。
如圖1所示,我們設警車初始停靠位置在A點,A點是道路1,2,3,4的道路交叉口。我們僅以警車在道路1巡邏為例來進行分析,警車以 的速度在道路1上A到 點之間巡邏, 與初始停靠點A的距離為 。由於案件有可能在道路上任一點發生,當警車巡邏到A點時,若案發現場在道路2,3,4上發生時,警車以40km/h的速度向事發現場行駛,警車能在三分鍾內從 點趕到現場的最大距離為 。如果警車在道路1上繼續向前行駛,則該警車能在三分鍾內趕到現場的距離繼續縮小,當警車從初始點向A點行駛但沒有達到 點時,此時該警車的最大管轄范圍比警車到達 點時的最大管轄范圍大。為了使警車的管轄范圍盡量大,警車的巡邏范圍越小越好,當 時,即警車在初始停靠點靜止不動時,警車的管轄范圍達到最大值 。
圖1所分析的是特殊的情況,道路1,2,3,4對稱分布,現在我們來對一般的情況進行分析,如圖2所示。
圖2.1 圖2.2
圖2 一輛警車最大管轄范圍分析示意圖
圖2.1所示的情況是道路分布不對稱,與圖1相比,圖2.1所示的道路方向和角度都發生了改變,圖2.3中的情形更為復雜。參照對圖1的分析方法,我們分析這兩種情形下,警車巡邏時能在三分鍾內趕到現場的最大距離的規律,我們只分析圖2.2的情況,道路1,2,3,4,5相交於點C,同時道路1與道路6也有個道路交叉口D, 由於警車巡邏時是在道路上行駛的,行走的路線是分段直線,並不影響路徑的長度,所以當警車巡邏到距離初始停靠點C點 遠處的D,此時若有案件發生時,該警車要在三分鍾內能趕到現場處理案件,最大行駛距離在 之內,如果警車在道路1上繼續向前行駛,則該警車能在三分鍾內趕到現場的距離繼續縮小,當警車沒有行駛到D點時,此時該警車的最大管轄范圍比 大,為了使警車的管轄范圍盡量大,警車的巡邏范圍越小越好。當 時,即警車靜止不動時,一輛警車的管轄范圍能達到最大值。
以上分析的僅作定性的分析,對於三個重點部位也可以同理分析,所得的結論是一致的,以上的分析沒有考慮到90%的到達幾率限制,但在設計演算法需要充分考慮。
綜上所述,當警車靜止在初始停靠點時,在三分鍾時間限制內,警車能從初始停靠點趕到事發現場的最大距離為 。
5.1.2 將道路離散化
由於事發現場是等概率地分布在道路上的,由區域地圖可以發現,整個區域中的道路長度不均,為了使計算結果更加精確,可將這些道路離散化。只要選取合適的離散方案,就能使警車在經過道路上的離散的點時就相當於經過了這條道路。這樣,不論是求解警車初始停靠點還求解警車趕到事發現場所經過的道路時,所計算得的的結果顯然比僅考慮整條道路的叉路口要精確得多。
區域中共有307個道路交叉口,458條道路。我們採用線性插值方法對道路進行離散化,以 的速度行走一分鍾的距離作為步長,一分鍾時間的選擇是參照問題三的結果要求來設定的,步長 。用線性插值的方法,從道路的一個方向進行線性插值,實現將每條道路離散化的目標,考慮到有些道路不是 的整數倍,我們就一般情況進行討論,其分析示意圖如圖3所示。道路AB長度為 個 與 長度的和,為了更精確處理CB段道路,那麼就要考慮在CB之間是否要插入一個新的點, 根據 的長度不同,其對應的處理方式也有所不同。
圖3 道路離散化分析示意圖
引進臨界指數 ,選取 大小的准則是使盡量離散化後警車等效的平均巡邏速度和題目給定的速度( )的差值盡量小,經過計算得 時,不再插入新的坐標點時能使整個區域的道路離散效果較好。此時,將CB段長度設定為 處理,於是離散後的AB道路長度會比實際長度短些;當 時,需要在兩個點之間再插入一點,因為這樣處理能使整個區域的整體道路的離散化效果比較理想。如圖3所示,在C與B間再插入新的坐標點,插入的位置在距C點 的D點處,這樣處理後所得的道路長度比實際長度長了 。採用這樣的方法進行線性插值,我們使用MATLAB編程實現對整個區域道路的離散,所得的離散結果如圖4所示,離散後共得到762個節點,比原始數據多了455個節點,離散後的節點數據見附件中的「newpoint.txt」。
圖4 整個區域離散結果圖
採用這種插值方法道路離散後,將直線上的無窮多個點轉化有限個點,便於分析問題和實現相應的演算法,由圖4可知,所取得的整體離散效果還是比較理想的。
5.1.3 分區域求解警車數目的演算法設計
考慮到警車配置和巡邏方案需要滿足:警車在接警後三分鍾內趕到普通部位案發現場的比例不低於90%,趕到重點部位必須控制在兩分鍾之內的要求。設計演算法的目標就是求解出在滿足D1情況下,總的警車數目最小,即每個區域都盡可能多地覆蓋道路節點。由於警車的初始位置是未知的,我們可設警車初始停靠點在道路上的任一點,即分布在圖4所示的762個離散點中的某些點節點上,總體思路是讓每兩輛車之間盡量分散地分布,一輛警車管轄一個分區,用這些分區覆蓋整個區域。
於是我們設計演算法1,步驟如下所示:
Step1:將整個區域預分配為 個分區,每個分區分配一輛警車,警車的初始停靠位置設在預分配區中心的道路節點上,若區域的中心不在道路節點上,則將警車放在離中心最近的道路節點上;
Step2:統計分區不能覆蓋的節點,調整警車的初始停靠點,使分區覆蓋盡可能多的道路節點,調整分為區內調整和區間調整方案:(1)區內調整按照模擬退火思想構造的函數,在區間調整調整車輛初始點的位置(後文中有詳細說明),當分區內節點數較多時,調整的概率小些,分區內節點數較少時,調整的概率大些,(2)當區域中存在未被覆蓋的節點或節點群(大於等於三個節點集中在一個范圍內)時,將警車初始位置的調整方向為朝著這些未被覆蓋的節點按一定的規則(在演算法說明中有詳細敘述)移動,同時要保證 3個重點部位能在2分鍾之內100%到達;
Step3:用Floyd演算法計算出警車初始停靠點到周邊各道路節點的最短距離 ;
Step4:以 個劃分區域未覆蓋的總的道路長度 與整個區域的道路總長度 的比值 來表示警車不能3分鍾內到達現場的概率;
Step5:模擬足夠多的次數,若 ,將車輛數 減1,跳轉到Step1;
Step6:計算結束後,比較當 時所對應的 值, 當 取得最小值時,記錄此時的區域劃分方案, 即為最少的警車數。
對演算法的幾點說明:
(1)該演算法所取的車輛數 是由多到少進行計算的, 初始值設為20,這個值的選取是根據區域圖估算的。
(2)預分區的優點在於使警車的初始位置盡可能均勻地分散分布,警車的初始停靠點在一個分區的中心點附近尋找得到,比起在整個區域隨機生成停靠點,計算效率明顯得到提高。
預分配之後,需要對整個區域不斷地進行調整,調整時需要考慮調整方向和 調整概率。
警車調整借鑒的是模擬退火演算法的方法,為了使分區內包含道路節點數較多的分區的初始停車點調整的概率小些,而分區內包含道路節點數的少的分區內的初始停車點調整的概率大些,我們構造了一個調整概率函數 ,
(1)
(1)式中, 均為常數, 為整個區域車輛數, 為第 分區內覆蓋的節點數, 為時間,同時 也能表徵模擬退火的溫度變化情況:初始溫度較高,區域調整速度較快,隨著時間的增加,溫度不斷下降,區域調整速度逐漸變慢,這個調整速度變化也是比較符合實際情況的。
由式(1)可以得出調整概率函數 ,假設在相同的溫度 (時間)的條件下,由於總的車輛數目 是定值,當 時,即第 分區內的節點數大於第 分區的節點數時,分區 調整的概率大些,分區 的調整概率小些。分析其原因:當分區內包含了較多的節點個數時,該分區的警車初始停靠位置選取地比較合適了,而當分區內包含的道路節點數較少時,說明警車的初始停靠位置沒有選好,需要更大概率的調整,這樣的結論也是比較客觀的。
對於所有分區外未被覆蓋的道路節點和很多節點(稱之為節點群),用來調整警車位置遷移的方向,其分析示意圖如圖5所示。調整方案目標是使未被覆蓋的節點數盡量的少。在設計調整方向函數時,需要考慮:(1)節點群內節點的數目;(2)警車距離節點群的位置。優先考慮距離,所以在公式(2)中,用距離的平方來描述調整方向函數。
由於某一個區域范圍內的未被覆蓋節點數,整個區域未被覆蓋的節點總數,分區域與未被覆蓋的節點或節點群的距離等幾個因素會影響到調整的方案,所以要綜合考慮這些因素。於是設計了區間調整函數 ,
式中, 表示第 個分區內未被覆蓋的節點數, 表示第 分區域與未被覆蓋的節點或節點群的距離, 表示未被覆蓋的節點和節點群個數。
現在簡要分析第 分區按區間調整函數的調整方案,當某兩節點群 的節點數目相等,但是距離不等時,如 ,由區間調整公式可知,該區間向節點群 方向調整。當某個分區與兩個節點群的距離相等,但節點群的內節點個數不相等,如 時,由(4)可知,該分區域會想節點群 方向調整。
注意在整個調整過程中,調整幾率控制是否調整,調整方向函數控制調整的方向,尋找在這種調整方案下的最優結果。
圖5 調整分區域示意圖
(3)在step3中,使用Floyd演算法計算出警車初始停靠點到周邊各節點的最短距離 ,目的是當區域內有情況發生時,警車能在要求的時間限制內到達現場。
(4)為求出較優的警車停靠點,採用模擬退火演算法,算出局部最優的方案。
5.1.4 警車的配置和巡邏方案
使用MATLAB編程實現演算法1得到,整個區域配備13輛警車,這些警車靜止在初始停靠點時,能滿足D1要求。警車的初始停靠位置分別為道路交叉節點6,25,30,37,82,84,110,111,126,214,253,258,278處。每個警車所管轄的交叉點(原始的交叉節點)如圖6所示,求解的分區結果見附錄所示。
圖6 滿足D1條件下的區分劃分圖
13個分區共覆蓋了252個交叉點,另外的55個原始交叉點沒有被這些分區域覆蓋:137,138,151,159,167,168,170,174,175,186,188,189,211,215,226,242,255,260,261,262,263,267,270,271,272,275,282,283 ,284,287,288,289,292,296,297,299,304,305,307。在這種分區方案下,這些點中,每兩個相連的點間的道路離散值長度占整個區域總的長度的比值為 。因此,在整個區域配置13輛警車,每個警車在初始停靠點靜止不動,當有案件發生時,離案發現場最近的警車從初始停靠點趕到現場。
5.2 評價巡邏效果顯著的指標
110警車在街道上巡邏是目的是為了對違法犯罪分子起到震懾作用,降低犯罪率,又能夠增加市民的安全感,同時還加快了接處警(接受報警並趕往現場處理事件)時間,提高了反應時效,為社會和諧提供了有力的保障。巡警在城市繁華街道、公共場所執行巡邏任務, 維護治安, 服務群眾, 可以得良好的社會效應[1]。
在整個區域中,由於案發現場都在道路上,道路上的每一點都是等概率發生的,因此警車巡邏的面越廣,所巡邏的街道數目越多,警車的巡邏效果就越好,對違法犯罪分子就越有威懾力,警車也能更及時地處理案件。
我們採用全面性 來衡量巡邏的效果顯著性,即用警車巡邏所經過的街道節點數占區域總節點數的比值。當警車重復經過同一條街道同一個離散點時, 僅記錄一次。
(3)
式中, 表示警車經過的離散點數, 代表整個區域總的離散點數。 值越大,表明警車所經過的街道數目越多,所取得的效果越顯著。
同時考慮到在巡邏過程中可能會出現這樣的情況:在相同的時段內,警車會多次巡邏部分街道,而一些街道卻很少巡邏甚至沒有警車到達,這樣會造成一些巡邏盲區。分布很不均衡。這樣就可能出現巡邏密度大的街道上的違法犯罪分子不敢在街道上作案,而流竄到巡邏密度稀疏的街道上作案,因此在相同的警車數目條件下,密度不均衡的巡邏方式的巡邏效果的效果較差,而密度較均衡的巡邏方式所取得的巡邏效果會更好些。我們引入一個巡邏的不均勻度 來衡量巡邏效果的顯著性,考慮到方差能表示不均衡度,於是我們用方差的大小來表徵不均衡,方差越大,巡邏密度越不均衡,所取得的巡邏效果越差。
(4)
問題1所給出的滿足D1條件下的警車數目為13輛,這時每輛警車在初始停靠點靜止不動,只有該管轄區域內發生了案件時,警車才從初始停靠點趕到案發現場處理案件。當警車在巡邏狀態時,所需要考慮的問題就更復雜一些,如當節點運動時,警車還能否達到D1的要求,警車的運動方向如何等問題,但基本演算法思想與問題1類似,所得的演算法2的框圖如圖7所示,
為了簡化問題,我們假設各分區警車的巡邏時候,盡量保證所有的警車的行駛方向相一致,且警車都走雙行道,即當警車走到某個節點後,它們又同時返回初始停靠點,警車的行駛方向有四種方式,如6所示。
在圖6中,數字1代表走巡邏走的第一步,2表示朝1的巡邏方向相反的方向巡邏。在具體程序實現時,四種巡邏方向任意選擇,但是盡量保證所有的警車向同一個方向巡邏。
圖6 各警車巡邏方向圖
我們用MATLAB編程對這種巡邏方式進行計算,所得的車輛數目為18輛,綜合評價指標為 ,其結果巡邏方案見附件中的「1193402-Result3.txt」所示。
5.4 在滿足問題三的基礎上討論D3條件,警車的巡邏方案和評價指標
巡邏的隱蔽性體現在警車的巡邏路線和時間沒有明顯的規律,主要目的是讓違法犯罪分子無可乘之機,防止他們在非巡邏時間實施違法犯罪活動,危害人民的生命和財產安全。
為了使巡邏的規律具有隱蔽性,這就需要警車在巡邏時至少具有兩條不同的路線,時間最好也是不相同的。因此,考慮到隱蔽性時,只需要在問題2的基礎上加上一個隨機過程即可。對於其評價指標,由於警車有幾條可選的巡邏路線,當相同的路線在同一時間內重復出現時,重新將所設定的方案再執行一遍,我們用這個時間間隔來衡量隱蔽性的程度,當循環周期 越大,表明可選的巡邏方案越多,其規律就越具有隱蔽性,而循環周期 越小時,表明巡邏方案比較少,其隱蔽性較差。在巡邏狀態時,最差的隱蔽性巡邏方案是巡邏方案只有一個,並且時間固定,這樣的巡邏方案沒有任何隱蔽性可言。
5.5 整個區域為10輛車時的巡邏方案
由第三問的結果可知,10輛車的數量是不能把整個區域完全覆蓋的,其演算法與演算法2類似,不同的是此時車的數目已經固定了,要求使D1,D2盡量大的滿足,我們求得的評價指標值為 ,所得的巡邏方案見附件中的「1193402-Result5.txt」所示。
5.6 平均行駛速度提高到 時的巡邏方式和評價指標值
問題六的分析方法與具體實現與問題三一致,但是警車的接警後的平均速度由原來的 提高到 ,於是各分區的覆蓋范圍也增大了,將數值帶入問題3的演算法中求解, 計算得的指標值為 ,其巡邏方案見附件中的「1193402-Result6.txt」所示。
圖7 演算法2框圖
六 模型的分析和評價
在求解滿足D1的條件下,整個區域需要配備多少輛警車問題中,採用分區巡邏的思想,先分析能使各區管轄范圍達到最大值時的規律,由特殊到一般層層進行分析,邏輯嚴密,結果合理。
在求解區域和警車數目時,在初步設定警車停靠點位置的基礎上,用模擬退火演算法思路構造函數 來確定調整的概率大小,綜合考慮了影響區間調整的因素後構造了 函數來確定分區的調整方向,當分區按照這兩個調整函數進行調整時,各分區能管轄盡可能多的道路節點,所取得效果也比較理想。
參 考 文 獻
[1]中小城市警察巡邏勤務方式的探討,俞詳,江蘇公安專科學校學報,1998年第1期
[2]Matlab7.0從入門到精通,求是科技,人民郵電出版社;
[3]不確定車數的隨機車輛路徑問題模型及演算法,運懷立等,工業工程,第10卷第3期,2005年5月;
[4]隨機交通分配中的有效路徑的確定方法,李志純等,交通運輸系統工程與信息,第3卷第1期,2003年2月。
『肆』 車輛路徑問題的車輛路徑問題的發展
1959年Dantzig和Ramse首次對閉合式VRP進行了研究,描述的是將汽油送往各個加油站的實際問題,並首次提出了相應的數學規劃模型以及求解演算法。
1964年,Clark和Wright[4]一種對Dantzig-Ramse方法改進的有效的啟發式演算法Clark-Wright節約演算法。
正是由於以上兩篇開創性論文的發表,使得VRP成為運籌學以及組合優化領域的前沿和研究熱點課題。
1969年,Christofides和Eilon應用2-opt[5]和3-opt[6]處理車輛路徑問題。
1970年,提出了兩階段方法求解車輛路徑問題,包括先分組後定路線(clusterfirst-route second)和先定路線後分組(routefirst-cluster second)兩種啟發式策略。
1981年,Fisher和Jaikumar提出以數學規劃為主的最優化方法來處理包含大約50個顧客點的問題,同樣其運算效率是一個亟待解決的問題。同年,Gullen,Jarvis和Ratliff建立了人機互動的啟發式方法。
1981年,Bodin and Golden將眾多的VRP求解方法進行了歸納。分為以下七種:數學解析法(Exact Procere);人機互動法(Interactive Optimization);先分群再排路線(Cluster First–Route Second);先排路線再分群(Route First–Cluster Second);節省法或插入法(Saving or Insertion);改善或交換法(Improvement or Exchanges);數學規劃近似法(Mathematical programming)。
1990年以來,人工智慧方法在解決組合優化問題上顯示出強大功能,在各個領域得到充分應用,很多學者也將人工智慧引入車輛路線問題的求解中,並構造了大量的基於人工智慧的啟發式演算法。 禁忌搜索法(TS)基本上是屬於一種人工智慧型(AI)的局部搜尋方法,Willard首先將此演算法用來求解VRP 。袁慶達[7]等設計了考慮時間窗和不同車輛類型的禁忌演算法,這種演算法主要採用GA方法產生初始解,然後禁忌演算法對初始解優化。模擬退火方法具有收斂速度快,全局搜索的特點,Osman[8]對VRP的模擬退火演算法進行了研究。遺傳演算法具有求解組合優化問題的良好特性,Holland首先採用遺傳演算法(GA)編碼解決VRPTW 問題。現在多數學者採用混合策略,分別採用兩種人工智慧方法進行路線分組和路線優化。Ombuki[9]提出了用GA進行路線分組,然後用TS方法進行路線優化的混合演算法。Bent和Van Hentenryck[10]則首先用模擬退火演算法將車輛路線的數量最小化,然後用大鄰域搜索法(largneighborhood search)將運輸費用降到最低。
綜合過去有關VRP的求解方法,可以將其分為精確演算法(exact algorithm)與啟發式演算法(heuristics),其中精確演算法有分支界限法、分支切割法、集合涵蓋法等;啟發式演算法有節約法、模擬退火法、確定性退火法、禁忌搜尋法、基因演算法、神經網路、螞蟻殖民演算法等。
『伍』 圖論在數學建模中一般用於哪些類型的題
1 最短路問題(SPP-shortest path problem)
一名貨櫃車司機奉命在最短的時間內將一車貨物從甲地運往乙地。從甲地到乙地的公路網縱橫交錯,因此有多種行車路線,這名司機應選擇哪條線路呢?假設貨櫃車的運行速度是恆定的,那麼這一問題相當於需要找到一條從甲地到乙地的最短路。
2 公路連接問題
某一地區有若干個主要城市,現准備修建高速公路把這些城市連接起來,使得從其中任何一個城市都可以經高速公路直接或間接到達另一個城市。假定已經知道了任意兩個城市之間修建高速公路的成本,那麼應如何決定在哪些城市間修建高速公路,使得總成本最小?
3 指派問題(assignment problem)
一家公司經理准備安排 名員工去完成 項任務,每人一項。由於各員工的特點不同,不同的員工去完成同一項任務時所獲得的回報是不同的。如何分配工作方案可以使總回報最大?
4 中國郵遞員問題(CPP-chinese postman problem)
一名郵遞員負責投遞某個街區的郵件。如何為他(她)設計一條最短的投遞路線(從郵局出發,經過投遞區內每條街道至少一次,最後返回郵局)?由於這一問題是我國管梅谷教授1960年首先提出的,所以國際上稱之為中國郵遞員問題。
5 旅行商問題(TSP-traveling salesman problem)
一名推銷員准備前往若干城市推銷產品。如何為他(她)設計一條最短的旅行路線(從駐地出發,經過每個城市恰好一次,最後返回駐地)?這一問題的研究歷史十分悠久,通常稱之為旅行商問題。
6 運輸問題(transportation problem)
某種原材料有 個產地,現在需要將原材料從產地運往 個使用這些原材料的工廠。假定 個產地的產量和 家工廠的需要量已知,單位產品從任一產地到任一工廠的運費已知,那麼如何安排運輸方案可以使總運輸成本最低?
7.最短路已有成熟的演算法:迪克斯特拉(Dijkstra)演算法
8.計算賦權圖中各對頂點之間最短路徑,顯然可以調用Dijkstra演算法。具體方法是:每次以不同的頂點作為起點,用Dijkstra演算法求出從該起點到其餘頂點的最短路徑,反復執行n次這樣的操作,就可得到從每一個頂點到其它頂點的最短路徑。這種演算法的時間復雜度為O(n^3)。第二種解決這一問題的方法是由Floyd R W提出的演算法,稱之為Floyd演算法。(可以解決第一個問題)
9.prim演算法、Kruskal演算法構造最小生成樹(使所有點連通)
10.匈牙利演算法、Kuhn-Munkres演算法解決人員分配問題
11.Euler迴路的Fleury演算法(中國郵遞員問題)
12.最大流的一種演算法—標號法(用標號法尋求網路中最大流的基本思想是尋找可增廣軌,使網路的流量得到增加,直到最大為止。)
我的計算機不好,用的是MATLAB,網上很多資料可以網路到。程序好直接網路對應演算法搞成C的吧……
演算法很多網路能到……
『陸』 「最少換乘、最少用時」,導航是如何幫你規劃路線的
首先是用啟發式演算法來規劃路線。以我們導航中常用的“A*演算法”和“Dijikstra演算法”為代表,從起點出發,以一定的步長展開節點。選擇值(如路徑長度)最小的節點作為擴展節點,擴展過程中需要考慮一些約束條件,如轉彎半徑的限制、風險障礙物的避開等,導致擴展角度不可能是全方位的。
要知道的是世界上使用最廣泛的定位系統是美國的全球衛星定位系統GPS。這是美國軍方從1970年開始研發建立的衛星定位系統。它於1994年完工。它由24顆衛星、一個地面控制站和幾個監測站組成,覆蓋全球98%的區域。用戶只要有GPS接收設備,就可以24小時免費享受定位系統提供的定位時間服務。基於這個原理,只要我們在智能手機上安裝好GPS晶元,晶元能夠接收衛星信號以及解算信息,就能夠確定位置了。
『柒』 (轉)車輛路徑問題及行業應用
轉自:吉勍Personal http://www.jiqingip.com/page9001?article_id=96
車輛路徑問題是運行日常操作所需的操作決策的一部分,都是執行層面的優化問題。先決條件如下:通常情況下,已知資源不能在短時間內擴充,因此資源稀缺是無法避免的。此外,還提供了關於需要滿足的需求的詳細信息。決策優化的核心挑戰是在日常基礎上使需求與現有資源相匹配。在這里,必須解決兩個基本的決策任務:(1)必須給需求分配資源,(2)必須制定日程安排。日程安排描述了執行分配任務的順序,以及啟動單個操作的起點。最大的挑戰是確保不超過現有資源,並以最高效率部署這些資源。
問題描述
車輛路徑問題(VRP)是一個組合優化和整數規劃問題(解決的是「為了交付給定的一組客戶,車輛車隊的最佳路線集是什麼?」)。它概括了眾所周知的旅行推銷員問題(TSP)。它最初出現在1959年George Dantzig和John Ramser的論文中《The Truck Dispatching Problem》。這篇論文首先編寫了演算法,並將其應用於汽油交付。通常,這個問題的背景是將位於中央倉庫的貨物交付給已經訂購此類貨物的客戶。該問題的目標是最小化總路由成本。車輛路徑規劃問題在物流領域和生產散枝橘領域的應用非常廣泛。所以在實際應用中也出現了一些在標准問題的基礎上增加了某些變化之後的變型問題。其中較為常見的包括:
1. CVRP:Capacitated
VRP, 限制配送車輛的承載體積、重量等。
2. VRPTW:VRP with
Time Windows, 客戶對貨物的送達時間有時間窗要求。
3. VRPPD:VRP with
Pickup and Delivery, 車輛在配送過程中可以一邊攬收一邊配送,在外賣O2O場景中比較常見。
4. MDVRP: Multi-Depot
VRP, 配送網路中有多個倉庫,同樣的貨物可以在多個倉庫取貨。
5. OVRP:Open VRP, 車輛完成配送任務之後不需要返回倉庫。
6. VRPB: VRP with
backhauls, 車輛完成配送任務之後回程取貨。
車輛路徑問題
模型描述
TSP問題
TSP問題模型的基本思想是,節點集中包含的每個弧(i; j)要麼包含在漢密爾頓路徑中(通過所有N個節點的往返行程),要麼不包含。在提到的第一種情況下,節點j在節點i之後立即被訪問,但是在後一種搭辯情況下,節點j在i離開之後不立即被訪問。 TSP決策問題可以簡化為以下問題:哪些弧形成了請求的哈密頓沖團路徑,哪些弧被忽略了。為了表示這些二元決策,引入了二元決策變數xij(i∈{1,...,N}系列。每個決策變數xij為0或1,xij表示是否為arc(i ; j)是否包含在漢密爾頓路徑中,並且僅當在漢密爾頓路徑中包含arc(i; j)時,才將xij聲明為1;如果不成立,則等於0。d(i,j)表示節點i和節點j之間的距離。
優化目標使所有在哈密頓路徑中的所有弧的行程距離之和最小。約束保證了漢密爾頓迴路經過所有節點,且每個節點只經過一次。後兩條約束保證了漢密爾頓迴路是連續而非中斷的。
VRP問題
標準的車輛路徑規劃問題可以使用如下數據模型的形式描述:
在此公式中,(1),(2),(3)和(5)定義了一個修改的分配問題,約束(4)是子行程消除約束:v(S)是在最佳解決方案中訪問S的所有頂點所需的車輛數量的適當下限。其他變型VRP問題則可以在此模型基礎上做適當的調整。
演算法服務
有很多實際的業務場景,即時配、大件配送、冷鏈配送、門店補貨等,都可以通過VRP問題優化其配送成本。這些業務場景屬於不同的業態,所使用的業務系統也不盡相同,因此構建可靈活配置的VRP演算法服務平台,可達成一次構建,多業務系統調用,多場景應用的效果。
行業應用
克里斯蒂娜在RED SEA BUS
TRAVEL(RSBT)工作。該公司在洪加達地區提供運輸服務。國際旅行社預訂RSBT服務業務,以確保將他們的遊客轉移到他們偏愛的度假區。克里斯蒂娜(Christina)被分配到洪加達市中心的RSBT計劃和調度辦公室。經過數年的復雜經營,RSBT發現來自旅行社的預訂量不斷增加,但來自個人客戶的預訂量卻不斷增加。這些預訂可以分為以下四個類別:
1) 豪華轎車服務(LS)
2) 觀光游覽(SST)
3) 機場到達接送(AAT)
4) 機場出發接送(ADT)
Christina現在的任務是分析LS,SST,AAT和ADT這四種產品,並就如何進行可用巴士(它們是可用資源)的日常部署提出建議。在滿足所有預訂要求的同時,以最有效的方式使用這些資源。克里斯蒂娜(Christina)在RSBT的第一周就曾陪同過幾項運輸服務,她發現了四個業務領域的核心規劃挑戰:
LS:通過當地道路網路從豪華轎車服務總部到機場的最短(最快)路徑是什麼?如何確定此路徑?
SST:應該以什麼順序參觀所有的旅遊景點,以便遊客有足夠的時間在酒店享受休閑時光?
AAT:將與入境航班相關的所有入境旅客帶到酒店的最小旅行距離是多少?最少需要多少輛巴士?
ADT:如果客戶在預定航班起飛前不超過5小時不接受接送服務,那輛巴士應該接送哪家酒店的客人以准時送他們到機場?
通過分析發現,克里斯蒂娜(Christina)需要解決的問題通過VRP演算法平台可以有效的給出計劃和調度方案。
首先從業務生產系統錄入相關信息,這些信息經過數據資產管理處理後,將數據傳給VRP演算法中台,經演算法中台處理後再返回給業務生產系統,生成業務系統的業務數據給業務系統使用。