基於群智的計程車智能拼車方法
2023-04-28 21:48:01
基於群智的計程車智能拼車方法
【專利摘要】本發明提供了一種基於群智的計程車智能拼車方法,包括如下步驟:計程車客戶端收集車輛行駛數據並上傳伺服器;伺服器為各路段保存路況信息;乘客客戶端獲取自身位置及目的地並上傳伺服器;伺服器尋找拼車組合併匹配合適的用戶;伺服器向被匹配的一個計程車客戶端及兩個乘客客戶端發送匹配消息;乘客確認匹配結果;乘客完成拼車過程並上報伺服器。本發明採用群智技術,通過計程車司機的客戶端收集車輛位置等信息,從而由伺服器統計得到各個路段的交通狀況,實現系統對交通實時變化的動態適應;採用的算法允許出發點目的地非互相臨近的乘客之間實現拼車,從而有效擴大用戶的可拼車範圍,提高用戶的拼車成功機率。
【專利說明】基於群智的計程車智能拼車方法
【技術領域】
[0001]本發明涉及交通及通信【技術領域】,具體地,涉及一種基於群智的計程車智能拼車方法。
【背景技術】
[0002]隨著現代交通運輸業的飛速發展,計程車行業已經成為人們日常生活的重要組成部分。但是,傳統的計程車揚招方式存在乘客很難在尖峰時段的街道或偏僻街道搭乘到計程車,耗費大量等待時間的問題。為了解決該問題,目前已經提出了很多基於拼車的計程車共享系統。
[0003]經過對現有技術文獻的檢索發現,雅典大學的Petros Lalos等人於2009年在Computation World:Future Computing, Service Computation, Cognitive, Adaptive,Content, Patterns 上發表的 「A Framework for dynamic car and taxi pools withthe use of Positioning Systems」中提出了基於定位位置的計程車共享系統;臺灣清華大學的 Po-Yu Chen 等人於 2010 年在 IEEE72nd Vehicular Technology ConferenceFall(VTC2010-Fall)上發表的 「A Fuel-Saving and Pollution-Reducing DynamicTax1-Sharing Protocol in VANETs」中提出了基於智能交通系統的計程車共享系統;波爾圖大學的 Pedro M.d』 Orey 等人於 2012 年在 15th International IEEE Conference onIntelligent Transportation Systems 上發表的 「Empirical Evaluation of a Dynamicand Distributed Tax1-Sharing System」中提出了考慮計程車乘客實際距離的計程車拼車系統。
[0004]然而,大部分現有的計程車拼車系統大多具有以下缺點:拼車算法是基於計程車與乘客之間的距離的,從而無法考慮因交通擁堵造成的車輛到達時間延長的問題。一般僅允許出發點及目的地相近的乘客拼車,從而拼車機會很小。以上問題損害了拼車系統的實用性,限制了其應用範圍。
【發明內容】
[0005]針對現有技術中的缺陷,本發明的目的是提供一種基於群智的計程車智能拼車方法,通過使用計程車司機所持智慧型手機上安裝的客戶端,採集路況信息;乘客可以使用其智慧型手機向伺服器發出計程車拼車申請,由伺服器根據採集到的路況信息對乘客進行匹配,給出建議線路以及建議價格,從而有效縮短乘客等待時間及打車費用,同時延長計程車有效載客路程。
[0006]本發明是通過以下技術方案實現的。
[0007]一種基於群智的計程車智能拼車方法,包括如下步驟:
[0008]步驟A:計程車客戶端收集車輛行駛數據並上傳伺服器;
[0009]步驟B:伺服器為各路段保存路況信息,並建立道路信息資料庫;
[0010]步驟1:多個乘客客戶端獲取自身位置信息及目的地信息並上傳伺服器,伺服器建立允許拼車乘客列表APL和希望拼車乘客列表WPL ;
[0011]步驟2:伺服器尋找拼車組合併匹配合適的用戶;
[0012]步驟3:伺服器向被匹配的計程車客戶端及多個乘客客戶端發送匹配消息;
[0013]步驟4:多個乘客客戶端確認匹配結果;若確認,則進入步驟5 ;否則拼車失敗,並將拼車失敗後的用戶信息根據類型分配至允許拼車乘客列表APL和希望拼車乘客列表WPL,準備重新進行用戶匹配;
[0014]步驟5:乘客完成拼車過程後,計程車客戶端上報伺服器;
[0015]所述步驟A和步驟B持續發生。
[0016]優選地,所述步驟A包括如下步驟:
[0017]步驟A.1:伺服器為每一個計程車司機分配一個ID,並記錄於資料庫中;
[0018]步驟A.2:計程車客戶端以2秒為間隔不斷通過GPS獲取自身定位信息;
[0019]步驟A.3:計程車客戶端內存儲有本地地圖,在地圖上,以每個路口為中心制定一圓形範圍,半徑為50米;當計程車客戶端檢測到GPS定位位置進入該範圍時,將當前的GPS定位信息以及當前時間上傳至伺服器。
[0020]優選地,所述步驟B包括如下步驟:
[0021]步驟B.1:伺服器所記錄的路況信息為各個路段上的行車平均時間值,伺服器建立道路信息資料庫,為每個路段建立保存一個平均行車時間值的列表,同時保存該路段的長度;
[0022]步驟B.2:伺服器接收到計程車客戶端上傳的定位數據後,檢查該計程車客戶端上傳的前一個定位數據,根據定位位置確定該計程車經過的路段,並根據時間數據計算通過該路段所用的時間;
[0023]步驟B.3:為步驟B.2中計算得到的時間值設立一個生存時間,並保存至該路段的平均行車時間值列表;計算平均行車時間值列表中所有生存時間沒有到期的時間值的平均值,保存為該路段的行車平均時間值。
[0024]優選地,所述步驟I包括如下步驟:
[0025]步驟1.1:當乘客希望使用拼車服務時,使用乘客客戶端向伺服器申請拼車,並上傳相關數據,包括:用戶當前的GPS定位位置、用戶的目的地位置、用戶目前是否已在計程車上;若乘客已經在車上,則同時上傳計程車司機的客戶端ID ;
[0026]步驟1.2:伺服器收到拼車請求後,保存該乘客的信息;若該乘客已經上車,將其加入允許拼車乘客列表APL ;若該用戶仍未上車,將其加入希望拼車乘客列表WPL。
[0027]優選地,所述步驟2包括如下步驟:
[0028]步驟2.1:對於允許拼車乘客列表APL以及希望拼車乘客列表WPL,伺服器以一定時間間隔Ts執行以下算法:
[0029]從APL中取出一個用戶A,設該用戶目前的位置為PA,目的地為Da,對於該用戶,遍歷WPL ;UWPL中取出用戶B,其位置為PB,目的地為Db,進行以下判斷:
[0030]根據步驟B中建立的道路信息資料庫,計算得到Pa到Pb之間的行車距離以及行車時間,分別記為Xl,txl ;計算得到Pb到DA2間的行車距離以及行車時間,分別記為x2,tx2 ;計算得到Da到Db之間的行車距離以及行車時間,分別記為x3,tx3 ;計算得到Pa到Da之間的行車距離以及行車時間,分別記為y1; tyl ;計算得到Pb到Db之間的行車距離以及行車時間,分別記為y2,ty2 ;
[0031]記路程增益為:
[0032]Gd = y!+y2- (x1+x2+x3)
[0033]G' d = Y1-(X^X3)
[0034]其中,Gd為行車路線為Pa Pb Da Db時的路程增益,G' d為行車路線為Pa Pb Db Da時的路程增益;
[0035]考慮行車時間的綜合代價為:
【權利要求】
1.一種基於群智的計程車智能拼車方法,其特徵在於,包括如下步驟: 步驟A:計程車客戶端收集車輛行駛數據並上傳伺服器; 步驟B:伺服器為各路段保存路況信息,並建立道路信息資料庫; 步驟1:多 個乘客客戶端獲取自身位置信息及目的地信息並上傳伺服器,伺服器建立允許拼車乘客列表APL和希望拼車乘客列表WPL ; 步驟2:伺服器尋找拼車組合併匹配合適的用戶; 步驟3:伺服器向被匹配的計程車客戶端及多個乘客客戶端發送匹配消息; 步驟4:多個乘客客戶端確認匹配結果;若確認,則進入步驟5 ;否則拼車失敗,並將拼車失敗後的用戶信息根據類型分配至允許拼車乘客列表APL和希望拼車乘客列表WPLJf備重新進行用戶匹配; 步驟5:乘客完成拼車過程後,計程車客戶端上報伺服器; 所述步驟A和步驟B持續發生。
2.根據權利要求1所述的基於群智的計程車智能拼車方法,其特徵在於,所述步驟A包括如下步驟: 步驟A.1:伺服器為每一個計程車司機分配一個ID,並記錄於資料庫中; 步驟A.2:計程車客戶端以2秒為間隔不斷通過GPS獲取自身定位信息; 步驟A.3:計程車客戶端內存儲有本地地圖,在地圖上,以每個路口為中心制定一圓形範圍,半徑為50米;當計程車客戶端檢測到GPS定位位置進入該範圍時,將當前的GPS定位信息以及當前時間上傳至伺服器。
3.根據權利要求1所述的基於群智的計程車智能拼車方法,其特徵在於,所述步驟B包括如下步驟: 步驟B.1:伺服器所記錄的路況信息為各個路段上的行車平均時間值,伺服器建立道路信息資料庫,為每個路段建立保存一個平均行車時間值的列表,同時保存該路段的長度; 步驟B.2:伺服器接收到計程車客戶端上傳的定位數據後,檢查該計程車客戶端上傳的前一個定位數據,根據定位位置確定該計程車經過的路段,並根據時間數據計算通過該路段所用的時間; 步驟B.3:為步驟B.2中計算得到的時間值設立一個生存時間,並保存至該路段的平均行車時間值列表;計算平均行車時間值列表中所有生存時間沒有到期的時間值的平均值,保存為該路段的行車平均時間值。
4.根據權利要求1所述的基於群智的計程車智能拼車方法,其特徵在於,所述步驟I包括如下步驟: 步驟1.1:當乘客希望使用拼車服務時,使用乘客客戶端向伺服器申請拼車,並上傳相關數據,包括:用戶當前的GPS定位位置、用戶的目的地位置、用戶目前是否已在計程車上;若乘客已經在車上,則同時上傳計程車司機的客戶端ID ; 步驟1.2:伺服器收到拼車請求後,保存該乘客的信息;若該乘客已經上車,將其加入允許拼車乘客列表APL ;若該用戶仍未上車,將其加入希望拼車乘客列表WPL。
5.根據權利要求1所述的基於群智的計程車智能拼車方法,其特徵在於,所述步驟2包括如下步驟:步驟2.1:對於允許拼車乘客列表APL以及希望拼車乘客列表WPL,伺服器以一定時間間隔Ts執行以下算法: 從APL中取出一個用戶A,設該用戶目前的位置為PA,目的地為Da,對於該用戶,遍歷WPL;從WPL中取出用戶B,其位置為PB,目的地為Db,進行以下判斷: 根據步驟B中建立的道路信息資料庫,計算得到Pa到Pb之間的行車距離以及行車時間,分別記為Xl,txl ;計算得到Pb到DA2間的行車距離以及行車時間,分別記為x2,tx2 ;計算得到Da到Db之間的行車距離以及行車時間,分別記為x3,tx3 ;計算得到Pa到Da之間的行車距離以及行車時間,分別記為y1; tyl ;計算得到Pb到Db之間的行車距離以及行車時間,分別記為y2,ty2 ; 記路程增益為:
Gd = Yi+Y2-(Xi+^+X3)
G' d = Y1-(Xi+X3) 其中,Gd為行車路線為Pa Pb Da Db時的路程增益,G' d為行車路線為Pa Pb Db Da時的路程增益; 考慮行車時間的綜合代價為:
其中,Gtd為行車路線為Pa Pb Da Db時的綜合代價;G' td為行車路線為Pa Pb Db Da時的綜合代價; 若條件或之一
滿足,則用戶A與用戶B的匹配成立;其中,為常數閾值; 具體為,若
立,則拼車路線SPa Pb Da Db,對用戶A和用戶B的建議拼車價格Ra、Rb 為:
若
成立,則拼車路線為pA pB Db Da,對用戶A和用戶B的建議拼車價格W A、R' B 為:
對W P L中的所有用戶遍歷後,若滿足條件的用戶數量不止一個,則選擇Gtd或G' td最小的用戶與用戶A進行匹配; 對A P L中的所有乘客依此算法遍歷後,該輪匹配結束,將所有已經匹配的乘客從W PUA P L中刪除;下一輪匹配將在時間間隔Ts後進行。
6.根據權利要求5 所述的基於群智的計程車智能拼車方法,其特徵在於,所述步驟3包括如下步驟: 步驟3.1:對於步驟2.1中匹配成功的用戶,將相應的拼車線路及建議價格發送至計程車及乘客的客戶端,即,若用戶A和用戶B成功匹配,則伺服器向用戶A和用戶B的乘客客戶端以及用戶A所在計程車司機的計程車客戶端發送建議路線以及對應的建議價格; 當Gtd < G' td時,建議路線為Pa Pb Da Db,對應的用戶A和用戶B的建議價格分別為Ra 和 Rb ; 當G' td < Gtd時,建議路線為Pa Pb Db Da,對應的用戶A和用戶B的建議價格分別為R' A 和 R' B。
7.根據權利要求1所述的基於群智的計程車智能拼車方法,其特徵在於,所述步驟4包括如下步驟: 步驟4.1:若多名乘客均同意該匹配結果,則通過乘客客戶端向伺服器發送同意拼車的消息;若有任何一名乘客不同意該匹配結果,則通過乘客客戶端向伺服器發送不同意拼車的消息,伺服器此時會將多名乘客重新添加進允許拼車乘客列表APL和希望拼車乘客列表 WPL。
8.根據權利要求1所述的基於群智的計程車智能拼車系統,其特徵在於,所述步驟5包括如下步驟: 步驟5.1:當計程車按照建議線路將兩名乘客送抵目的地後,計程車司機通過計程車客戶端向伺服器上傳本次拼車成功的消息。
9.根據權利要求5所述的基於群智的計程車智能拼車方法,其特徵在於,所述步驟2.1中,根據步驟B中建立的道路信息資料庫計算得到Pa到Pb之間的行車距離以及行車時間是通過將從Pa到Pb之間最短路徑上的路段長度及路段行車平均時間分別進行累加得到的。
【文檔編號】G08G1/00GK104077912SQ201410265162
【公開日】2014年10月1日 申請日期:2014年6月13日 優先權日:2014年6月13日
【發明者】於拓, 張利欽, 劉天元, 甘小鶯, 田曉華, 王新兵 申請人:上海交通大學