一種融合個性偏好因子的路徑探索方法
【技術領域】
[0001]本發明涉及一種融合個性偏好因子的路徑探索方法,屬于導航、電子地圖、智能交通系統和數據挖掘的交叉領域。
【背景技術】
[0002]隨著科學技術的飛速發展,導航儀已經完全進入了普通百姓的生活當中并成為現如今人們日常出行時的必備品。然而,由于目前導航儀做出的路徑規劃大多都偏于理論,比如時間最短無高速、長度最短無高速、時間最短有高速和長度最短有高速等,因此會導致純理論推導出來的路徑與用戶實際需求相脫離,甚至導航儀做出的路徑規劃對用戶毫無任何實際指導意義,以至于失去了導航儀導向的真正用途。(如圖2,導航儀做出的路徑規劃雖然距離較短但有一段道路經常交通擁堵,用戶經常走的道路雖然距離較長但比較通暢)。導航儀做出的路徑規劃不理想不僅嚴重影響了導航儀的實際引導作用,而且嚴重影響基于導航儀做出的路徑規劃所做的其他高級應用和計算,比如:可能會造成在電動車電力計算和傳統汽車油耗計算結果嚴重失真,從而會導致用戶因計算結果不正確而無法及時補充電量或油量,給用戶帶來不必要的麻煩。對于通行路徑固定化的車輛,比如:班車,校車,公交等,雖然導航儀可以設置經由地,但是由于經由地較多,道路通行頻繁,以至于每次駕駛之前都要重新設置導航儀,導致用戶的體驗較差。
[0003]基于以上問題,為了滿足用戶個性化需求,提供更精準、更有針對性的導航服務,對用戶行車路線的收集以及做出科學的路徑選擇是一種比較實用的方法,故融合個性偏好和道路通行成本的路徑探索是非常有實際意義和價值的。
[0004]相關名詞解釋:
[0005]1.浮動車
[0006]帶有各種傳感器、能采集相關信息的在道路上實際行駛的汽車。
[0007]2.0 點
[0008]浮動車出發的起始點。
[0009]3.D 點
[0010]浮動車到達的目的地。
[0011]4.TRIP
[0012]浮動車在現實道路上經過的一段軌跡,可以近似理解為用戶連續駕駛經過的一段道路。
[0013]5.結點(NODE)
[0014]用于表示道路連通網絡,虛擬出來的節點對象。可以近似的理解為現實道路的一個路口。
[0015]6.LINK
[0016]用于表示NODE與NODE之間通路的曲線型對象,由兩個NODE和若干形狀點組成。可以近似的理解為現實道路連接兩個路口的一段道路。
[0017]7.前驅結點
[0018]連接著同一個LINK,并且比當前NODE先探索到的NODE,如圖3。
[0019]8.前驅 LINK
[0020]連接著同一個NODE,并且比當前LINK先探索到的LINK,如圖4。
[0021]9.最小道路花費的路徑
[0022]用傳統最短路徑探索算法計算出來,道路總花費最小的路徑。
[0023]10.道路花費
[0024]浮動車行駛一段路程所產生的消耗,比如:時間,距離,油耗,電耗等。
[0025]11.同方向通行次數
[0026]LINK上正確的通行方向的次數。從O點到D點方向探索,選擇退出方向上通行的次數為同方向通行次數,如圖5,同方向通行次數為2 ;從0點到O點方向探索,選擇進入方向上通行的次數為同方向通行次數,如圖5,同方向通行次數為2。
[0027]12.同方向 TRIP
[0028]LINK上正確的通行方向的TRIP。從O點到D點方向探索,選擇退出方向上的TRIP為同方向TRIP,如圖5,同方向TRIP為TRIP_A和TRIP_C ;從D點到O點方向探索,選擇進入方向上的TRIP為同方向TRIP,如圖5,同方向TRIP為TRIP_A和TRIP_C。
【發明內容】
[0029]本發明的目的提供一種融合個性偏好的路徑探索方法,使用該方法可以借助用戶歷史TRIP信息、探索出指定用戶最習慣的路徑,從而提高了導航的智能性,為之后的電力推定以及進一步基于導航儀做出的路徑規劃所做的其他高級應用和計算打下良好的基礎。
[0030]本發明的技術方案為:
[0031]一種融合個性偏好因子的路徑探索方法,表示道路連通網絡,虛擬出來的節點對象定義為結點NODE,近似理解為現實道路的一個路口 ;表示NODE與NODE之間通路的道路線對象定義為LINK,近似理解為現實道路連接兩個路口的一段道路;表示浮動車在現實道路上經過的一段軌跡定義為TRIP,近似理解為用戶連續駕駛經過的一段道路;以浮動車行駛的TRIP信息、TRIP與實地圖LINK的匹配結果以及實際地圖數據作為對象進行判斷和處理,其特征在于包括以下步驟:
[0032]步驟一、基準路徑計算:用傳統最短路徑探索方法探索出從O點到D點的最小道路花費的路徑;
[0033]步驟二、O點和D點習慣LINK匹配:從O點和D點分別相互探索,在一定范圍之內,探索出離O點和D點道路花費最小,并且同方向通行次數不小于通行閾值的LINK,并獲取此LINK符合條件的NODE ;
[0034]步驟三、通行次數計算:計算出被探索LINK探索方向上滿足條件的通行次數;
[0035]步驟四、LINK權值計算:融合LINK同方向通行次數和道路通行成本的關系計算出LINK的權值;
[0036]步驟五、融合個性偏好因子的路徑探索:將LINK權值作為路徑探索的花費,用傳統最短路徑探索方法探索出最終路徑;
[0037]步驟六、路徑選擇:使用基準路徑對探索出的路徑進行分析,選擇出更符合實際道路情況的個性偏好因子的路徑。
[0038]所述步驟一具體包括以下步驟:
[0039]1.1)用傳統最短路徑探索方法探索出從O點到D點的最小道路花費的路徑,將最小道路花費的路徑記作:SHORT_PATH ;
[0040]1.2)計算出路徑SHORT_PATH的道路總花費的值,將其值記作:SHORT_WEIGHT。
[0041]所述步驟二具體包括以下步驟:
[0042]2.1)計算查找范圍:根據范圍閾值以及路徑SHORT_PATH的道路總花費SHORT_WEIGHT計算出查找習慣LINK的查找范圍,將查找范圍記作:FIND_RANGE ;
[0043]2.2)查找O點習慣LINK:將從O點探索到的滿足條件的結點,記作:0_N0DE ;
[0044]如果O點所在的LINK退出方向上存在通行次數不小于通行閾值的情況,則在LINK連接的兩結點中,選擇退出方向通行次數不小于通行閾值的結點作為滿足條件的結點0_NODE ;
[0045]如果O點所在的LINK退出方向上通行次數都小于通行閾值,則從O點開始用最小道路花費探索法,在查找范圍FIND_RANGE之內,探索到離O點道路花費最小,并且同方向通行次數不小于通行閾值的LINK,將通行次數不小于通行閾值的LINK與前驅LINK連接的結點作為滿足條件的結點0_N0DE ;
[0046]2.3)查找D點習慣LINK:將從D點探索到的滿足條件的結點,記作:D_N0DE ;
[0047]如果D點所在的LINK進入方向上存在通行次數不小于通行閾值的情況,則在LINK連接的兩結點中,選擇進入方向通行次數不小于通行閾值的結點作為滿足條件的結點D_NODE ;
[0048]如果D點所在的LINK進入方向上通行次數都小于通行閾值,則從D點開始用最小道路花費探索法,在查找范圍FIND_RANGE之內,探索到離D點道路花費最小,并且同方向通行次數不小于通行閾值的LINK,將通行次數不小于通行閾值的LINK與前驅LINK連接的結點作為滿足條件的結點D_N0DE。
[0049]所述步驟三具體包括以下步驟:
[0050]3.1)記錄共同TRIP:查找與結點0_N0DE相連的所有LINK,記錄在集合0_LINK_SET中,將集合0_LINK_SET中所有LINK上的TRIP記錄在集合0_TRIP_SET中;查找與結點D_N0DE相連的所有LINK,記錄在集合D_LINK_SET中,將集合D_LINK_SET中所有LINK上的TRIP記錄在集合D_TRIP_SET中;將集合0_TRIP_SET與集合D_TRIP_SET相互比較,把共有的TRIP記錄在集合SAME_TRIP_SET中。
[0051]3.2)獲取當前探索到LINK的同方向通行次數,將當前探索到LINK的同方向通行次數記作!FREQUENCY,如果集合SAME_TRIP_SET為空,不做任何操作;如果集合SAME_TRIP_SET不為空,則將當前探索到的LINK上同方向TRIP與前驅LINK上的TRIP相比較,找出共同TRIP,將當前探索到的LINK的同方向通行次數FREQUENCY更新為共同TRIP的個數,并剔除當前探索到LINK上非共同的TRIP。
[0052]所述步驟四具體包括以下步驟:
[0053]4.1)獲得當前探索到的LINK的同方向通行次數FREQUENCY和當前探索到的LINK的花費,記作!WEIGHT ;
[0054]4.2)計算當前LINK的權值,將當前LINK的權值記作:LINK_PR1RITY,則融合公式為:
[0055]LINK_PR1RITY = a *WEIGHT/ln ( β ^FREQUENCY+ γ *1) ( α,β,γ 是系數)
[0056]所述步驟五具體包括以下步驟:
[0057]5.1)將當前LINK對應的結點的權值,記作:NEW_PR1RITY ;將前驅結點的權值,記作:OLD_PR1RITY ;將當前LINK對應的結點權值賦值為:當前LINK的權值+前驅結點的權值,即
[0058]NEff_PR1RITY = OLD_PR1RITY+LINK_PR1RITY,
[0059]5.2)將當前LINK對應的結點的權值作為路徑探索的花費,用傳統最短路徑探索方法,探索出融合個性偏好因子的路徑,記作:HABIT_PATH
[0060]所述步驟六具體包括以下步驟:
[0061]6.1)如果集合SAME_TRIP_SET不為空,則將路徑HABIT_PATH作為融合個性偏好和道路通行成本的路徑;
[0062]6.2)如果集合SAME_TRIP_SET為空,則計算出路徑HABIT_PATH中的非習慣路徑的道路總花費;若計算出來的道路總花費大于選擇閾值與路徑SHORT_PATH道路總花費SHORT_WEIGHT的乘積,則用