一種基于用戶(hù)出行習(xí)慣的動(dòng)態(tài)路徑規(guī)劃方法
【技術(shù)領(lǐng)域】
[0002] 本發(fā)明涉及路徑規(guī)劃領(lǐng)域,具體涉及一種基于用戶(hù)出行習(xí)慣的動(dòng)態(tài)路徑規(guī)劃方 法。
【背景技術(shù)】
[0003] 當(dāng)前,動(dòng)態(tài)路徑規(guī)劃的常用方法是利用當(dāng)前的交通狀態(tài)和路網(wǎng)拓?fù)浣Y(jié)構(gòu)或者只依 賴(lài)于路網(wǎng)拓?fù)浣Y(jié)構(gòu)來(lái)獲取導(dǎo)航路徑,這類(lèi)方法主要采用一些理想統(tǒng)計(jì)模型來(lái)對(duì)交通狀態(tài)進(jìn) 行統(tǒng)計(jì)分析和路網(wǎng)費(fèi)用映射。在此基礎(chǔ)上再采用傳統(tǒng)的路徑搜尋方法獲取多條備選路徑, 并從中選出一條路徑用于導(dǎo)航。
[0004] 由于城市交通狀態(tài)是實(shí)時(shí)變化的,當(dāng)路網(wǎng)拓?fù)浣Y(jié)構(gòu)比較復(fù)雜時(shí),結(jié)合交通狀態(tài)和 路網(wǎng)拓?fù)涞膶?shí)時(shí)路徑搜索會(huì)面臨巨大的運(yùn)算壓力,即使運(yùn)算結(jié)果在一定程度上能夠滿(mǎn)足精 度要求,但通常不能及時(shí)響應(yīng)用戶(hù)需求,其潛在的應(yīng)用價(jià)值得不到準(zhǔn)時(shí)體現(xiàn),導(dǎo)致現(xiàn)有方法 通常實(shí)時(shí)性不強(qiáng)?,F(xiàn)有方法通常也沒(méi)有考慮用戶(hù)出行習(xí)慣的社會(huì)學(xué)特征,通常會(huì)引導(dǎo)多個(gè) 用戶(hù)選擇同一條路徑或經(jīng)過(guò)同一條路段,導(dǎo)致某些路段通行滯脹而某些路段又通行不足, 容易造成新的交通擁堵。
[0005] 現(xiàn)有動(dòng)態(tài)路徑規(guī)劃方法隨著路網(wǎng)拓?fù)浣Y(jié)構(gòu)復(fù)雜度提高,結(jié)合交通狀態(tài)和路網(wǎng)拓?fù)?的實(shí)時(shí)路徑搜索會(huì)面臨巨大的運(yùn)算壓力,導(dǎo)致響應(yīng)速度慢,現(xiàn)有方法也不能合理利用路網(wǎng) 資源,緩擁堵能力不強(qiáng),實(shí)時(shí)性不強(qiáng),導(dǎo)致用戶(hù)體驗(yàn)不佳。
【發(fā)明內(nèi)容】
[0006] 為解決現(xiàn)有動(dòng)態(tài)路徑規(guī)劃方法響應(yīng)速度慢,不能合理利用路網(wǎng)資源,緩擁堵能力 不強(qiáng),實(shí)時(shí)性不強(qiáng),以及延伸導(dǎo)致的用戶(hù)體驗(yàn)不佳等問(wèn)題,本發(fā)明提出了一種基于用戶(hù)出行 習(xí)慣的動(dòng)態(tài)路徑規(guī)劃方法。
[0007] 本發(fā)明提出的一種基于用戶(hù)出行習(xí)慣的動(dòng)態(tài)路徑規(guī)劃方法,其特征在于,該方法 包括離線(xiàn)計(jì)算習(xí)慣路徑來(lái)更新數(shù)據(jù)字典和在線(xiàn)計(jì)算規(guī)劃路徑;所述數(shù)據(jù)字典存儲(chǔ)有歷史數(shù) 據(jù),包括浮動(dòng)車(chē)編號(hào)、各單車(chē)用戶(hù)歷經(jīng)路段集、各單車(chē)用戶(hù)歷經(jīng)路網(wǎng)節(jié)點(diǎn)集、各路段在不同 單車(chē)歷經(jīng)路段集中的出現(xiàn)概率、各路網(wǎng)節(jié)點(diǎn)在不同單車(chē)路網(wǎng)節(jié)點(diǎn)集中的出現(xiàn)概率、所有時(shí) 段各用戶(hù)的習(xí)慣備選路徑集以及該路徑集中不同路徑的歷經(jīng)概率;所述在線(xiàn)計(jì)算規(guī)劃路徑 包括以下步驟: S1:接收用戶(hù)輸入出發(fā)點(diǎn)和目的地; S2:在路網(wǎng)上標(biāo)定起始節(jié)點(diǎn)和終止節(jié)點(diǎn); S3:依據(jù)用戶(hù)當(dāng)前所處時(shí)段、標(biāo)定的起始節(jié)點(diǎn)和終止節(jié)點(diǎn)查詢(xún)所述數(shù)據(jù)字典來(lái)獲取對(duì) 應(yīng)的多條習(xí)慣路徑,并讀取所述多條習(xí)慣路徑所包含的路段及各路段在當(dāng)前用戶(hù)的單車(chē)歷 經(jīng)路段集中的出現(xiàn)概率、所述多條習(xí)慣路徑所歷經(jīng)的路網(wǎng)節(jié)點(diǎn)及各節(jié)點(diǎn)在當(dāng)前用戶(hù)的單車(chē) 路網(wǎng)節(jié)點(diǎn)集中的出現(xiàn)概率、所述多條習(xí)慣路徑的歷經(jīng)概率; S4:通過(guò)所述多條習(xí)慣路徑所歷經(jīng)的路段及各路段在當(dāng)前用戶(hù)的歷經(jīng)路段集中的出現(xiàn) 概率、所歷經(jīng)的路網(wǎng)節(jié)點(diǎn)及各節(jié)點(diǎn)在當(dāng)前用戶(hù)的路網(wǎng)節(jié)點(diǎn)集中的出現(xiàn)概率、所述多條習(xí)慣 路徑的歷經(jīng)概率計(jì)算出所述多條習(xí)慣路徑的權(quán)重; S5:選擇路徑概率權(quán)重最大的路徑作為推薦路徑推送給當(dāng)前用戶(hù); S6:每隔一定時(shí)距,檢測(cè)用戶(hù)是否到達(dá)目的地;若是,結(jié)束;否則,執(zhí)行步驟S7; S7:動(dòng)態(tài)刷新用戶(hù)位置信息,并將新檢測(cè)到的用戶(hù)位置信息作為新的出發(fā)點(diǎn),然后轉(zhuǎn)回 執(zhí)行步驟S2至S5。
[0008] 進(jìn)一步的,所述步驟S4計(jì)算出所述多條習(xí)慣路徑的權(quán)重的方法包括以下步驟: S4-1:提取出每一條習(xí)慣路徑所包含的所有路網(wǎng)節(jié)點(diǎn)i(i=l,2,…,N)和所有路段j(j= 1,2,…,Μ); S4-2:判斷每一條習(xí)慣路徑的每個(gè)路網(wǎng)節(jié)點(diǎn)是否包含于步驟S3所述當(dāng)前用戶(hù)的歷經(jīng)路 網(wǎng)節(jié)點(diǎn)集;當(dāng)包含于步驟S3所述當(dāng)前用戶(hù)的歷經(jīng)路網(wǎng)節(jié)點(diǎn)集時(shí),對(duì)應(yīng)的路網(wǎng)節(jié)點(diǎn)出現(xiàn)概率 PD>1(i=l,2,…,Ν)等于步驟S3所述當(dāng)前用戶(hù)的歷經(jīng)路網(wǎng)節(jié)點(diǎn)集中相同節(jié)點(diǎn)的出現(xiàn)概率;當(dāng) 不包含于步驟S3所述當(dāng)前用戶(hù)的歷經(jīng)路網(wǎng)節(jié)點(diǎn)集時(shí),對(duì)應(yīng)的路網(wǎng)節(jié)點(diǎn)出現(xiàn)概率P D,41 = 1, 2,…,N)等于0; S4-3:判斷每一條習(xí)慣路徑的每一路段是否包含于步驟S3所述當(dāng)前用戶(hù)的歷經(jīng)路段 集;當(dāng)包含于所述當(dāng)前用戶(hù)的歷經(jīng)路段集時(shí),對(duì)應(yīng)的路段出現(xiàn)概率P^(j=l,2,…,M)等于 所述當(dāng)前用戶(hù)的歷經(jīng)路段集中相同路段的出現(xiàn)概率;當(dāng)不包含于所述當(dāng)前用戶(hù)的歷經(jīng)路段 集時(shí),對(duì)應(yīng)的路段出現(xiàn)概率Pr, j (j=l,2,…,M)等于0; S4-4:提取所述習(xí)慣路徑的歷經(jīng)概率P,提取所述對(duì)應(yīng)路網(wǎng)節(jié)點(diǎn)出現(xiàn)概率為0的節(jié)點(diǎn)數(shù) n,提取所述對(duì)應(yīng)的路段出現(xiàn)概率為0的節(jié)點(diǎn)數(shù)m,所述習(xí)慣路徑的權(quán)重W為:
[0009] 進(jìn)一步的,所述離線(xiàn)計(jì)算習(xí)慣路徑來(lái)更新數(shù)據(jù)字典包括以下步驟: S8:獲取歷史數(shù)據(jù),獲取設(shè)定的數(shù)據(jù)字典更新時(shí)間段內(nèi)所有在線(xiàn)車(chē)輛上傳的定位和速 度數(shù)據(jù),其中定位數(shù)據(jù)是指地圖匹配之后的定位數(shù)據(jù)、以及經(jīng)過(guò)地圖匹配處理后的歷史定 位數(shù)據(jù)、歷史速度數(shù)據(jù)和地圖數(shù)據(jù); S9:獲取編號(hào),獲取上傳數(shù)據(jù)的車(chē)輛編號(hào)、路段編號(hào)和路網(wǎng)節(jié)點(diǎn)編號(hào); S10:選擇單車(chē),根據(jù)上傳數(shù)據(jù)的在線(xiàn)車(chē)輛編號(hào)的先后順序選取一輛未處理的在線(xiàn)車(chē)輛 作為信息采集單車(chē),并設(shè)定所述單車(chē)的最早定位點(diǎn)為最開(kāi)始的出發(fā)點(diǎn); S11:標(biāo)定出發(fā)點(diǎn),標(biāo)定所述單車(chē)的出發(fā)點(diǎn); S12:單車(chē)出行信息提取:從所述單車(chē)出發(fā)點(diǎn)開(kāi)始,檢測(cè)所述單車(chē)在某條路段是否存在 ??奎c(diǎn);若是,提取??奎c(diǎn)中心點(diǎn)位置、進(jìn)入與離開(kāi)時(shí)刻、駐留時(shí)長(zhǎng)信息后,順序執(zhí)行步驟 S13;若否,執(zhí)行步驟S14;其中,停靠時(shí)長(zhǎng)大于時(shí)間T的點(diǎn)為??奎c(diǎn),T為預(yù)設(shè)值; S14:等待所述單車(chē)離開(kāi)所述路段進(jìn)入下一路段; S15:判斷所述單車(chē)在所述??奎c(diǎn)是否停止數(shù)據(jù)上傳;是則,順序執(zhí)行步驟S17;否則,執(zhí) 行步驟S16; S16:將所述停靠點(diǎn)設(shè)定為所述單車(chē)新的出發(fā)點(diǎn)后,轉(zhuǎn)回執(zhí)行步驟S11; S17:單車(chē)出行習(xí)慣分析,對(duì)所述單車(chē)從所述出發(fā)點(diǎn)至所述??奎c(diǎn)之間的所有歷經(jīng)路段 和節(jié)點(diǎn)進(jìn)行計(jì)數(shù)統(tǒng)計(jì),獲取對(duì)應(yīng)單車(chē)歷經(jīng)路段或節(jié)點(diǎn)的出現(xiàn)概率; S18:判斷是否遍歷所有單車(chē),是則,執(zhí)行步驟S19;否則,執(zhí)行步驟S10; S19:根據(jù)路網(wǎng)節(jié)點(diǎn)編號(hào)的排列組合關(guān)系,選取一組未處理的兩節(jié)點(diǎn)組合; S20:出行習(xí)慣路徑提??; S21:判斷是否遍歷所有節(jié)點(diǎn),是則,執(zhí)行步驟S22;否則,轉(zhuǎn)回執(zhí)行步驟S19; S22:數(shù)據(jù)字典離線(xiàn)存儲(chǔ)和更新。
[0010] 進(jìn)一步的,所述歷史數(shù)據(jù)所述數(shù)據(jù)字典包括三個(gè)大容量數(shù)據(jù)字典,其中,車(chē)輛數(shù)據(jù) 字典包括車(chē)輛身份、停靠點(diǎn)、習(xí)慣??奎c(diǎn)、習(xí)慣路段和習(xí)慣路徑信息;路段數(shù)據(jù)字典包括路 段編號(hào)、各路段的單車(chē)正常行程時(shí)間、路段行程時(shí)間和平均速度信息;路徑數(shù)據(jù)字典包括路 徑的節(jié)點(diǎn)序列編號(hào)、行程時(shí)間信息。
[0011] 進(jìn)一步的,所述步驟S12具體包括以下步驟: S12-1:從所述單車(chē)出發(fā)點(diǎn)開(kāi)始,當(dāng)所述單車(chē)剛進(jìn)入某條路段時(shí),按照時(shí)序,用插值法獲 取所述單車(chē)在所述某條路段的進(jìn)入時(shí)刻,并繼續(xù)檢測(cè)所述單車(chē)在某條路段是否存在???點(diǎn);若存在??奎c(diǎn),計(jì)算所述??奎c(diǎn)的中心位置、進(jìn)入與離開(kāi)時(shí)刻、駐留時(shí)長(zhǎng)等信息;否則, 等待所述單車(chē)離開(kāi)所述路段進(jìn)入下一路段。其中,??繒r(shí)長(zhǎng)大于時(shí)間T的點(diǎn)為??奎c(diǎn),T為 預(yù)設(shè)值; S12-2:根據(jù)所述單車(chē)在某條路段的離開(kāi)時(shí)刻即為所述路段的下一路段的進(jìn)入時(shí)刻的 關(guān)系,得到所述單車(chē)在所述路段的總行程時(shí)間,并用所述單車(chē)在所述路段的總行程時(shí)間減 去所述單車(chē)在所述路段的總的停靠時(shí)長(zhǎng),得到所述單車(chē)通過(guò)所述路段的正常行程時(shí)間; S12-3:從所述單車(chē)出發(fā)點(diǎn)開(kāi)始,當(dāng)所述單車(chē)剛進(jìn)入某條路段時(shí),按照時(shí)序,用排列組合 法提取所述單車(chē)從所述出發(fā)點(diǎn)所在路段的終止節(jié)點(diǎn)至所述某條路段的起始節(jié)點(diǎn)之間所有 路徑的歷經(jīng)路網(wǎng)節(jié)點(diǎn)序列編號(hào)、路段編號(hào)、行程時(shí)間。
[0012] 進(jìn)一步的,所述步驟S17具體包括以下步驟: S17-1:將每天分為若干時(shí)段,選擇某個(gè)時(shí)段,從數(shù)據(jù)字典中讀取所有浮動(dòng)車(chē)每天在所 述時(shí)段的歷經(jīng)路徑,形成所述時(shí)段的歷經(jīng)路徑集; S17-2:計(jì)算所述時(shí)段歷經(jīng)路徑集的路徑總條數(shù)E、浮動(dòng)車(chē)的總經(jīng)歷次數(shù)F和每條歷經(jīng)路 徑的浮動(dòng)車(chē)歷經(jīng)次數(shù)則歷經(jīng)路徑i的歷經(jīng)概率P^Fi/FGilJ,…,E);當(dāng)E 大于等于〇時(shí),挑選出的歷經(jīng)概率最大前Q條的路徑,其中,Q為預(yù)設(shè)值;當(dāng)E小于0時(shí),挑選出 所有路徑;將挑選出的路徑形成所述時(shí)段的習(xí)慣備選路徑集;用相同方法獲取所有時(shí)段的 習(xí)慣備選路徑集。
[0013] 進(jìn)一步的,所述數(shù)據(jù)字典是按設(shè)定的時(shí)間周期獲取相關(guān)信息進(jìn)行更新。
[0014] 本發(fā)明的有益效果為通過(guò)上述基于用戶(hù)出行習(xí)慣的動(dòng)態(tài)路徑規(guī)劃方法,響應(yīng)速度 快,合理利用路網(wǎng)資源,緩解擁堵能力,實(shí)時(shí)性強(qiáng),充分尊重用戶(hù)的出行習(xí)慣,提高用戶(hù)體 驗(yàn)。
【附圖說(shuō)明】
[0015] 圖1為本發(fā)明基于用戶(hù)出行習(xí)慣的