麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于圖分區技術的高速公路最短路徑擬合方法與流程

文檔序號:41744688發布日期:2025-04-25 17:28閱讀:9來源:國知局
一種基于圖分區技術的高速公路最短路徑擬合方法與流程

本發明涉及智能交通,尤其涉及一種基于圖分區技術的高速公路最短路徑擬合方法。


背景技術:

1、2020年1月1日0時,取消高速公路省界收費站工程完成全網并網切換,全國487座省界收費站全部取消,實現了跨省車輛不停車快捷收費,大幅提高了跨省物流運輸時效性和便利化程度。并網切換后,全網系統采用分段計費的方式,etc出口車道不顯示全程通行費用,etc用戶無法及時獲知當次通行費用。為了適應etc用戶的通行需求,交通運輸部在取消省界站工程的基礎上組織“第十戰役”,于2020年5月6日,全國高速公路成功完成了“一次出行、一次交費、一次查驗、一張賬單”的費顯優化工程,收費系統逐漸運行穩定。

2、全國“一張網”運行前后,高速公路的出行和計費方式按照交通部的統一技術方案進行了較大的變化。在取消省界站前,各省采用的是封閉計費和收費模式,跨省通行車輛的在經過省界站時需要停車繳費,由各省的收費系統自行進行擬合計費;取消省界站后,采用分段計費模式,跨省通行車輛在經過省界的時候不再需要停車繳費,出口收費站可以通過部中心的跨省在線計費接口進行擬合計費。為了實現這一計費方式,部中心編制發布了總體的技術方案,首先由各省新建了大量的門架系統為實現分段計費提供基礎設備支撐,其次通過制定統一的計費模塊實現規范,對計費模塊的功能、性能、封裝和接口進行限制,然后由各省按照計費模塊規范自行實現計費模塊擬合計費功能,再打包上傳到部中心費率參數管理系統,最終由部中心統一對各省的計費模塊以及參數進行調度和管理,一方面將計費模塊和參數下發到門架系統,進行門架系統的分段計費交易,另一方面在出口省份的收費站車道向部中心發起跨省在線計費請求,部中心根據車輛通行的省份逐個調用各通行省份的計費模塊完成費用計算和計費結果組裝,最終完成跨省的一次性通行費計算。

3、部中心為了完成跨省車輛的通行費計算,需要對全國的計費模塊進行加載和調用,因此,在部中心的技術方案中,對于各省計費模塊的內存資源占用和計算性能都有著嚴格的要求,而車輛的路徑擬合算法一般都是貪婪算法,計算效率較低,為了滿足計算性能的要求,常見的做法是在計費模塊在初始化時提前計算好路徑擬合的中間參數和計費參數一起加載到內存中,這可以較大地提升路徑擬合的計算效率。但隨著高速公路的不斷發展,本省高速公路路網結構日趨復雜,這也直接導致計費模塊的內存占用逐漸逼近部中心要求的內存占用閾值,其中內存占用最多的為路徑擬合中間參數,雖然擴大內存占用閾值可以解決燃煤之急,但無法解決持續發展的問題,且如果各省都要求擴大內存占用,那對于部中心的服務器資源也無法支撐無限制地擴張,因此,研究如何壓縮中間參數實現路徑擬合擬合對于聯網收費系統具有重大意義。

4、如何壓縮路徑擬合參數,如何平衡參數壓縮和計算性能等問題,成為高速公路車輛通行軌跡還原算法的一大研究重點。


技術實現思路

1、本發明解決現有技術計費模塊加載的中間參數內存占用過多的問題,提出一種基于圖分區技術的高速公路最短路徑擬合方法,該方法能夠有效地降低中間參數內存占用量,同時具有較好的路徑擬合性能。本發明是通過以下技術方案實現的:

2、一種基于圖分區技術的高速公路最短路徑擬合方法,包括以下步驟:

3、s1:基于計費參數中的路由節點和路段內里程表,構建高速公路路網模型;

4、s2:基于所述高速公路路網模型,選取關鍵性樞紐節點;所述樞紐節點是所述路由節點進行聚合處理后的高速公路路網模型中的樞紐立交節點;

5、s3:根據所述關鍵性樞紐節點,采用圖分區技術對所述高速公路路網模型進行區域初步劃分,得到多個第一高速公路路網分區;

6、s4:確定所述第一高速公路路網分區的邊界樞紐節點,并根據確定后的邊界樞紐節點重新進行區域劃分,得到多個第二高速公路路網分區;

7、s5:計算每個所述第二高速公路路網分區內任意兩個樞紐節點間的最短路徑的中間參數,得到第一中間參數集合;所述中間參數包括起始樞紐節點信息、終止樞紐節點信息、起始樞紐節點到終止樞紐節點的里程信息,所述最短路徑的中間參數是指所述中間參數的里程為起始樞紐節點到終止樞紐節點的最短路徑里程;

8、s6:基于所述第一中間參數集合與所述路段內里程表,計算任意兩個所述邊界樞紐節點間的最短路徑的中間參數,得到第二中間參數集合;

9、s7:針對任意兩個收費站點,對所述第一中間參數集合和所述第二中間參數集合的最短路徑進行擬合處理,得到兩個收費站點間的最短路徑。

10、具體地,s1包括如下步驟:

11、s101:獲取所有計費參數并分別取出計費參數中的路由節點數據和路段內里程表數據,得到路由節點集合和路段內里程表集合;所述路由節點是高速公路路網模型中的路段間連接關系;所述路段內里程表包括同一路段內任意兩個站點之間的里程、收費單元組合、etc門架組合;

12、s102:輪詢所述路由節點集合中每個路由節點,將同一個路由節點的多個虛擬站點編碼聚合到一起,取其中最小的虛擬站點編碼作為對應路由節點的樞紐節點,得到樞紐節點集合;

13、s103:輪詢所述樞紐節點集合中每個樞紐節點,得到各所述樞紐節點對應的路段內里程表數據;其中,每個所述路段內里程表數據包括以當前樞紐節點的站點編碼為起點,其他樞紐節點的站點編碼為終點的路段內里程表數據;

14、s104:對各所述樞紐節點對應的路段內里程表數據進行分組,其中,每個分組所包含的路段內里程表數據具有共同的目標門架,所述目標門架為每個路段內里程表數據中的第一個門架;

15、s105:分別提取各分組中最短路徑對應的路段內里程表數據,作為第一路段內里程表數據集合;

16、s106:以所述樞紐節點集合中的每一個樞紐節點為頂點,以所述第一路段內里程表數據集合中的每一條路段內里程表數據為邊作圖,構建高速公路路網模型。

17、具體地,s2包括如下步驟:

18、s201:確定所述高速公路路網模型的分區數量;

19、s202:根據所述高速公路路網模型的地理空間分布特征,確定所述高速公路路網模型的每個分區的中心點位置范圍;

20、s203:選取存在的鄰居樞紐節點數量最多的樞紐節點,作為關鍵性樞紐節點;其中,選取的樞紐節點在所述每個分區的中心點位置范圍內,且每個分區只選取一個關鍵性樞紐節點。

21、s21中所述分區數量根據用戶輸入確定,用戶通過分析所述高速公路路網模型確定分區數量,然后將確定的數量輸入到執行主體,這樣執行主體可以接收到輸入的所述高速公路路網模型的分區數量。

22、具體地,s3包括如下步驟:

23、s301:使用所述樞紐節點集合中樞紐節點的總數量除以所述高速公路路網模型的分區數量,結果向上取整,得到所述高速公路路網模型的每個分區所能包含的樞紐節點總數量的上限閾值;

24、s302:在所述樞紐節點集合中,排除所述關鍵性樞紐節點,剩余的樞紐節點組成待分配樞紐節點集合;

25、s303:將每一個所述關鍵性樞紐節點作為該關鍵性樞紐節點所屬分區的初始樞紐節點;

26、s304:對于每個所述高速公路路網模型的分區,輪詢分區內的每一個樞紐節點,選擇至少有一個鄰居樞紐節點不在當前分區內的樞紐節點,得到第一樞紐節點集合;

27、s305:對于每個所述高速公路路網模型的分區,選取所述第一樞紐節點集合中在所述待分配樞紐節點集合中存在的鄰居樞紐節點數量最少的樞紐節點,作為第二樞紐節點;

28、s306:在所述待分配樞紐節點集合中與所述第二樞紐節點相鄰的所有樞紐節點中,選擇未在所述第二樞紐節點所屬的分區內且站點編碼最小的樞紐節點,作為第三樞紐節點;

29、s307:將所述第三樞紐節點加入到所述第二樞紐節點所屬的分區中;

30、s308:在所述待分配樞紐節點集合中,移除所述第三樞紐節點;

31、s309:循環上述s304-s308步驟,直到所述高速公路路網模型的分區內的樞紐節點總數量達到所述上限閾值或所述待分配樞紐節點集合為空為止;

32、s310:最終得到多個第一高速公路路網分區。

33、具體地,s4包括如下步驟:

34、s401:對每一個所述第一高速公路路網分區,輪詢分區內的所有樞紐節點,如果當前被輪詢的樞紐節點存在不在當前分區內的鄰居樞紐節點,則將當前被輪詢的樞紐節點和不在當前分區內的鄰居樞紐節點之間所構成的連接線標記為邊界連接線,并記錄到邊界連接線集合中;

35、s402:輪詢所述邊界連接線集合中的每一條邊界連接線,對于一條邊界連接線上的兩個樞紐節點,分別查找所述兩個樞紐節點在所述邊界連接線集合中出現的次數,如果出現的次數不同,則選擇出現的次數較多的樞紐節點作為邊界樞紐節點;如果出現的次數相同,則選擇所述兩個樞紐節點中站點編碼較小的樞紐節點作為邊界樞紐節點;

36、s403:記錄每個所述邊界樞紐節點的原始分區和關聯分區的信息,并根據s402確定的邊界樞紐節點重新進行區域劃分,得到多個第二高速公路路網分區。

37、具體地,s5包括如下步驟:

38、s501:對于每一個所述第二高速公路路網分區,該分區內的所有樞紐節點與該分區相關聯的所有邊界樞紐節點,共同組建該分區的分區樞紐節點集合;

39、s502:對所述分區樞紐節點集合自身執行笛卡爾積操作,得到第一笛卡爾積;

40、s503:對于所述第一笛卡爾積中的每對樞紐節點,如果當前的一對樞紐節點中的兩個樞紐節點相同,則將這兩個樞紐節點的中間參數的里程設置為0;否則,將這兩個樞紐節點的中間參數的里程設置為無限大;

41、s504:將所有里程為0的中間參數加入第一隊列中;

42、s505:從第一隊列頭的隊列首部取出一條中間參數數據,確定當前中間參數數據的起始和終止樞紐節點,得到第一起始樞紐節點和第一終止樞紐節點;

43、s506:從所述路段內里程表集合中獲取以所述第一終止樞紐節點為起點,所述第一終止樞紐節點在所述分區樞紐節點集合中的除所述第一起始樞紐節點以外的其他相鄰樞紐節點為終點的所有數據,得到第二路段內里程表集合;

44、s507:遍歷所述第二路段內里程表集合,對于所述第二路段內里程表集合中的一條數據,取該數據的終止樞紐節點,如果所述第一起始樞紐節點到該數據的終止樞紐節點的中間參數里程大于所述第一起始樞紐節點到所述第一終止樞紐節點的中間參數里程加上所述第一終止樞紐節點到該數據的終止樞紐節點的里程,則更新所述第一起始樞紐節點到該數據的終止樞紐節點的中間參數里程,并將所述第一起始樞紐節點到該數據的終止樞紐節點的中間參數加入到第一隊列的隊尾;

45、s508:循環上述s505-s507步驟,直到第一隊列中沒有數據為止;

46、s509:對于當前所述第二高速公路路網分區內的所有的中間參數,過濾掉里程為0和里程為無限大的中間參數,得到第一中間參數集合,其中,所述第一中間參數集合包括所述第一中間參數集合所屬分區內的任意兩個樞紐節點的最短路徑的中間參數。

47、具體地,s6包括如下步驟:

48、s601:組建邊界樞紐節點集合,其中,所述邊界樞紐節點集合包括所有的邊界樞紐節點;

49、s602:對所述邊界樞紐節點集合自身執行笛卡爾積操作,得到第二笛卡爾積;

50、s603:對于所述第二笛卡爾積中的每對樞紐節點,如果當前的一對樞紐節點中的兩個樞紐節點相同,則將這兩個樞紐節點的中間參數的里程設置為0;否則,將這兩個樞紐節點的中間參數的里程設置為無限大;

51、s604:對于任意一條邊界樞紐節點中間參數,如果能夠在當前邊界樞紐節點中間參數的所有相鄰分區的對應的所述第一中間參數集合或所述路段內里程表集合中找到起始樞紐節點與當前邊界樞紐節點中間參數的起始樞紐節點相同、終止樞紐節點與當前邊界樞紐節點中間參數的終止樞紐節點相同的一條記錄,則比較該條記錄與當前邊界樞紐節點中間參數的里程,如果當前邊界樞紐節點中間參數的里程更大,則將當前邊界樞紐節點中間參數的里程更新為該條記錄的里程;

52、s605:將所有里程不為無線大的邊界樞紐節點中間參數加入第二隊列中;

53、s606:從第二隊列的隊列首部取出一條中間參數數據,確定當前中間參數數據的起始和終止樞紐節點,得到第二起始樞紐節點和第二終止樞紐節點;

54、s607:從所述路段內里程表集合和所述第二終止樞紐節點相鄰的分區對應的所述第一中間參數集合中,獲取以所述第二終止樞紐節點為起點,其他邊界樞紐節點為終點的所有數據,得到第三路段內里程表集合;

55、s608:遍歷所述第三路段內里程表集合,對于所述第三路段內里程表集合中的一條數據,取該數據的終點樞紐節點,如果所述第二起始樞紐節點到該數據的終止樞紐節點的中間參數里程大于所述第一起始樞紐節點到所述第一終止樞紐節點的中間參數里程加上所述第二終止樞紐節點到該數據的終止樞紐節點的里程,則更新所述第二起始樞紐節點到該數據的終止樞紐節點的中間參數里程為所述第二起始樞紐節點到所述第二終止樞紐節點的中間參數里程與所述第二終止樞紐節點到該數據的終止樞紐節點的里程之和,并將所述第二起始樞紐節點到該數據的終止樞紐節點的中間參數加入到所述第二隊列的隊尾;

56、s609:循環上述s606-s608步驟,直到所述第二隊列中沒有數據為止;

57、s610:對于所有的邊界樞紐節點的中間參數,過濾掉里程為0和里程為無限大的中間參數,得到第二中間參數集合,其中,所述第二中間參數集合包括任意兩個邊界樞紐節點間的最短路徑的中間參數。

58、具體地,s7包括如下步驟:

59、s701:根據所述路段內里程表集合,查找起始收費站最近的樞紐節點以及終止收費站最近的樞紐節點,得到至少一個起始樞紐節點和至少一個終止樞紐節點,其中起始樞紐節點不多于2個,終止樞紐節點不多于2個;

60、s702:根據所述起始樞紐節點和所述終止樞紐節點,確定起點分區和終點分區,其中,所述起點分區為所述起始收費站所屬的分區,所述終點分區為所述終止收費站所屬的分區;

61、s703:從所述起點分區對應的所述第一中間參數集合中,獲得所述起始樞紐節點到所述起點分區的所有邊界樞紐節點的最短路徑,得到起點分區最短路徑集合;從所述終點分區對應的所述第一中間參數集合中,獲得所述終止樞紐節點到所述終點分區的所有邊界樞紐節點的最短路徑,得到終點分區最短路徑集合;

62、s704:從所述第二中間參數集合中,獲得所述起點分區的所有邊界樞紐節點到所述終點分區的所有邊界樞紐節點的最短路徑,得到邊界最短路徑集合;

63、s705:串聯所述起始收費站與所述起始樞紐節點、所述終止收費站與所述終止樞紐節點以及所述起點分區最短路徑集合、所述終點分區最短路徑集合和所述邊界最短路徑集合的所有最短路徑,生成備選路徑結果集合;

64、s706:從所述備選路徑結果集合中,選取所述起始收費站到所述終止收費站的最短路徑,得到兩個收費站點間的最短路徑數據信息。

65、本發明的有效效果是:

66、本發明提供基于圖分區技術的高速公路最短路徑擬合方法,所述方法包括:基于計費參數中的路由節點和路段內里程表,構建高速公路路網模型,可以在不引入收費站參數的情況下無損地還原高速公路路網模型特征信息,同時可以為后續流程中對高速公路路網分區提供基礎數據支持;基于所述高速公路路網模型,選取關鍵性樞紐節點,以關鍵性樞紐節點作為各個區分的起始節點,可以避免使用圖分區算法對路網進行分區時為了平衡劃分而進行反復的計算,可以解決圖分區的np難問題,保證了分區的快速有效;根據所述關鍵性樞紐節點,采用圖分區技術對所述高速公路路網模型進行區域初步劃分,得到多個第一高速公路路網分區,采用圖分區技術可以保證各個分區的中間參數數量不失衡,同時保證了區域間的邊分割盡量少;確定所述第一高速公路路網分區的邊界樞紐節點,確定收費站歸屬的區域,使分區更完整,并根據確定后的邊界樞紐節點重新進行區域劃分,得到多個第二高速公路路網分區;計算每個所述第二高速公路路網分區內任意兩個樞紐節點間的最短路徑的中間參數,得到第一中間參數集合,可以較快地找到分區內任意兩個樞紐節點間的最短路徑的中間參數;基于第一中間參數集合,計算任意兩個所述邊界樞紐節點間的所述最短路徑的中間參數,得到第二中間參數集合,可以較快地找到任意兩個邊界樞紐節點間的最短路徑的中間參數;最后,針對任意兩個收費站點,對所述第一中間參數集合和所述第二中間參數集合的最短路徑進行擬合處理,得到兩個收費站點間的最短路徑信息。原有的最短路徑中間參數算法需要計算全路網內任意兩個樞紐節點的虛擬站點編碼之間的最短路徑中間參數,隨著高速公路的發展樞紐節點的增加會導致中間參數呈幾何倍的增加,本發明中將樞紐節點分為區塊和邊界節點,分別計算區域內中間參數和邊界節點中間參數,可將原有的單層中間參數拆分分層,極大的壓縮了中間參數的量級,從而有效地降低中間參數內存占用量,同時具有較好的路徑擬合性能。以某省2024年初的高速公路路網為例,其有樞紐節點103個,這103個樞紐節點包含虛擬站編碼218個,采用原有的最短路徑中間參數算法需要計算出中間參數4.7w(218*218)多條;通過本發明提供的方法將103個樞紐節點劃分為5個區后,平均每個分區內需要計算中間參數的樞紐節點約25個(邊界節點屬多個分區,分區內虛擬站點約50個),邊界節點16個(36個虛擬站點),總計需要計算的中間數據的數量降低到了1.4w條左右,節約了百分之七十的內存空間占用,從而有效地降低中間參數內存占用量,解決了現有技術計費模塊加載的中間參數內存占用過多的問題。

67、本發明可以基于路由節點集合和路段內里程表集合,以樞紐節點為圖的頂點,相鄰樞紐節點構成的路段內里程表數據為邊,構建高速公路路網模型。這樣,可以在不引入收費站參數的情況下無損地還原高速公路路網模型特征信息。

68、本發明可以根據高速公路路網的地理空間分布特征情況,為每個高速公路路網的分區選取一個鄰居樞紐節點最多的樞紐節點作為關鍵性樞紐節點,以關鍵性樞紐節點作為各個區分的起始節點,可以避免使用圖分區算法對路網進行分區時為了平衡劃分而進行反復的計算,可以解決圖分區技術的np難問題。

69、本發明可以以關鍵性樞紐節點為初始節點,使用ne(neighbor?expansion)算法的思想逐步擴充分區,最后完成初步分區。這樣,可以保證分區內節點可以組成連通圖,同時和其他分區的邊分割盡量少,保證各個分區的中間參數數量不失衡。

70、本發明可以通過確定第一高速公路路網分區的邊界樞紐節點的方式,使分屬不同分區的相鄰樞紐節點之間的收費站具有明確的分區歸屬,使分區更為完善。

71、本發明可以通過計算每個第二高速公路路網分區內任意兩個樞紐節點間的最短路徑的中間參數,得到第一中間參數集合。這樣,可以較快地找到分區內任意兩個樞紐節點間的最短路徑的中間參數,使路徑擬合步驟的執行效率更高。

72、本發明可以通過計算任意兩個邊界樞紐節點間的最短路徑的中間參數,得到第二中間參數集合。這樣,可以較快地找到任意兩個邊界樞紐節點間的最短路徑的中間參數,使路徑擬合步驟的執行效率更高。

73、本發明可以通過結合第一中間參數集合與第二中間參數集合,串聯兩個收費站點、兩個收費站點同路段內相鄰的樞紐節點、收費站點所屬分區的邊界樞紐節點的最短路徑,得到兩個收費站點間的最短路徑信息。這樣,可以分別計算區域內各分區中間參數和邊界樞紐節點中間參數,極大的壓縮了中間參數的量級,從而有效地降低中間參數內存占用量,同時具有較好的路徑擬合性能。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 牙克石市| 长白| 通海县| 阿克陶县| 吉首市| 循化| 五峰| 西乌珠穆沁旗| 大余县| 盘山县| 云南省| 广河县| 西畴县| 渭源县| 连云港市| 仙桃市| 新平| 普陀区| 闽清县| 安陆市| 广南县| 蕉岭县| 会同县| 夏河县| 轮台县| 汉中市| 伽师县| 灵武市| 鲁甸县| 辰溪县| 沛县| 阿荣旗| 含山县| 庆云县| 无棣县| 绥滨县| 卢氏县| 清丰县| 石景山区| 汾阳市| 出国|