路徑規(guī)劃的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種用于城市道路交通網(wǎng)絡(luò)中路徑規(guī)劃的方法,該方法首先基于給定的路網(wǎng)密度將由起點和終點確定的待搜索的區(qū)域劃分為多個子區(qū)域;接著將多個子區(qū)域映射成一維的離散點,并基于所述離散點形成Voronoi圖;然后,基于Voronoi圖確定各子區(qū)域間的鄰接關(guān)系并判斷鄰接的子區(qū)域之間的連通性;以及基于所選出的互相鄰接且連通的子區(qū)域的集合構(gòu)建新的道路網(wǎng)絡(luò),并在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。該方法不僅降低了路網(wǎng)拓?fù)浣Y(jié)構(gòu)的構(gòu)建時間,而且縮小路徑的搜索范圍和搜索時間,提高了搜索效率。
【專利說明】路徑規(guī)劃的方法及系統(tǒng)【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于智能道路交通領(lǐng)域,尤其涉及智能交通中的路徑規(guī)劃的方法。
【背景技術(shù)】
[0002]路徑規(guī)劃是智能交通中最基本的應(yīng)用,即在城市道路交通網(wǎng)絡(luò)中為出行者選取從當(dāng)前點到目標(biāo)點的最短路徑作為出行路線。城市道路交通網(wǎng)絡(luò)(可簡稱為路網(wǎng))通常是用帶權(quán)值的無向圖來表示的。其中,路網(wǎng)中的路口被視為無向圖的頂點,路網(wǎng)中的路徑為無向圖中的邊。求解圖中最短路徑的經(jīng)典方法有Dijkstra,F(xiàn)olyd,A*等方法。但是這些經(jīng)典的最短路徑算法在處理大規(guī)模路網(wǎng)問題時普遍存在計算復(fù)雜度過高、存儲消耗過大等問題。
[0003]中國專利申請(201110260870.9)中提供了一種路徑快速規(guī)劃方法。該方法將道路網(wǎng)絡(luò)按道路等級建立空間分層再進(jìn)行最短路徑算法。該方法存在的問題是隨著構(gòu)造的網(wǎng)絡(luò)層數(shù)越多,預(yù)處理所需的時間消耗和存儲空間也越多,并沒有解決大規(guī)模路網(wǎng)問題。
[0004]中國專利申請(201110127113.4)提出了另一種解決方案,其利用由路網(wǎng)和目標(biāo)節(jié)點集合共同決定的VOTonoi圖進(jìn)行預(yù)計算,在道路網(wǎng)絡(luò)中進(jìn)行k最近鄰居節(jié)點查詢。該方案對于低密度對象查詢時間響應(yīng)快且精確率高,但對于高密度對象的處理效率顯著下降,并且需要執(zhí)行多次查詢來查詢某物體的k近鄰。
【發(fā)明內(nèi)容】
[0005]因此,本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提供一種新的城市道路交通網(wǎng)絡(luò)中的路徑規(guī)劃方法。
[0006]本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
[0007]—方面,本發(fā)明提供了一種路徑規(guī)劃的方法,所述方法包括:
[0008]步驟1,根據(jù)起點和終點確定待搜索的區(qū)域;
[0009]步驟2,基于給定的路網(wǎng)密度將該區(qū)域劃分為多個子區(qū)域,其中每個子區(qū)域的路網(wǎng)密度不大于該給定的路網(wǎng)密度;
[0010]步驟3,經(jīng)劃分后得到的多個子區(qū)域映射成一維的離散點,并基于所述離散點形成Voronoi 圖;
[0011]步驟4,基于VOTonoi圖確定各子區(qū)域間的鄰接關(guān)系并判斷鄰接的子區(qū)域之間的連通性;
[0012]步驟5,從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域;
[0013]步驟6,所選出的子區(qū)域的集合構(gòu)建新的道路網(wǎng)絡(luò),并在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。
[0014]在上述方法中,所述步驟I中待搜索的區(qū)域可以是以起點和終點為對角線的矩形區(qū)域。
[0015]在上述方法中,所述步驟I中待搜索的區(qū)域可以是以起點和終點為對角線的矩形為基礎(chǔ),上下左右各擴展相同的長度得到的矩形區(qū)域。[0016]在上述方法中,所述步驟I中待搜索的區(qū)域可以是以起點和終點為對角線的矩形為基礎(chǔ)而擴展的正方形區(qū)域,該正方形區(qū)域的邊長為該矩形的邊中較長的邊的邊長。
[0017]在上述方法中,所述步驟2中任一區(qū)域的路網(wǎng)密度可以為該區(qū)域內(nèi)道路總長度與該區(qū)域的空間面積的比值。
[0018]在上述方法中,所述步驟2可以包括:
[0019]如果該待搜索區(qū)域的路網(wǎng)密度大于所設(shè)定的路網(wǎng)密度,則將該待搜索的區(qū)域均分為22n個子區(qū)域,其中η為大于或等于I的自然數(shù);
[0020]如果某個子區(qū)域內(nèi)路網(wǎng)密度仍大于所設(shè)定的路網(wǎng)密度,則將該子區(qū)域劃分為22η個子區(qū)域;重復(fù)上述過程,直到每個子區(qū)域的路網(wǎng)密度都小于或等于所設(shè)定的路網(wǎng)密度為止。
[0021]在上述方法中,所述步驟3中可以將每個子區(qū)域映射到該子區(qū)域的中心點上,以該中心點來代表該子區(qū)域。
[0022]在上述方法中,所述步驟4可以包括:
[0023]步驟41)判斷Voronoi圖中任兩個點之間,是否直接有邊相連接,如果兩個點有邊直接相連,則確定這兩個點對應(yīng)的子區(qū)域之間存在鄰接關(guān)系;
[0024]步驟42)對于任意兩個存在鄰接關(guān)系的子區(qū)域,判斷這兩個子區(qū)域?qū)?yīng)的路網(wǎng)部分是否有道路相連,如果有,則確定這兩個子區(qū)域是連通的。
[0025]在上述方法中,所述步驟5還可以包括從所選出的互相鄰接且連通的子區(qū)域的集合中選擇從起點所在子區(qū)域到終點所在子區(qū)域經(jīng)過最優(yōu)路徑子區(qū)域集合,該最優(yōu)路徑子區(qū)域集合為最有可能包含最優(yōu)路徑的子區(qū)域集合。
[0026]在上述方法中,在選擇最優(yōu)路徑子區(qū)域集合時可以遵循這樣的原則:經(jīng)過的區(qū)域最少,且在區(qū)域數(shù)相同的情況下,選擇區(qū)域內(nèi)結(jié)點數(shù)較少的那個區(qū)域。
[0027]在上述方法中,所述步驟6中可以基于最優(yōu)路徑子區(qū)域集合構(gòu)建新的道路網(wǎng)絡(luò),并且在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。
[0028]又一方面,本發(fā)明提供了一種路徑規(guī)劃的系統(tǒng),包括:
[0029]用于根據(jù)起點和終點確定待搜索的區(qū)域的裝置;
[0030]用于基于給定的路網(wǎng)密度將該區(qū)域劃分為多個子區(qū)域的裝置,其中每個子區(qū)域的路網(wǎng)密度不大于該給定的路網(wǎng)密度;
[0031]用于經(jīng)劃分后得到的多個子區(qū)域映射成一維的離散點,并基于所述離散點形成Voronoi圖的裝置;
[0032]用于基于VOTonoi圖確定各子區(qū)域間的鄰接關(guān)系并判斷鄰接的子區(qū)域之間的連通性的裝置;
[0033]用于從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域的裝置;
[0034]用于所選出的子區(qū)域的集合構(gòu)建新的道路網(wǎng)絡(luò),并在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑的裝置。
[0035]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
[0036]針對復(fù)雜路網(wǎng),從縮小算法的搜索空間和存儲空間的角度出發(fā),利用Voronoi圖的立即鄰近性質(zhì)對搜索空間進(jìn)行劃分,將搜索的范圍限制在與該目標(biāo)具有鄰近關(guān)系的目標(biāo)集合中,不僅降低路網(wǎng)拓?fù)浣Y(jié)構(gòu)的構(gòu)建時間,而且縮小路徑的搜索范圍,減少了存儲空間,提高了搜索效率。
【專利附圖】
【附圖說明】
[0037]以下參照附圖對本發(fā)明實施例作進(jìn)一步說明,其中:
[0038]圖1為Voronoi圖的鄰接關(guān)系不意圖;
[0039]圖2為根據(jù)本發(fā)明實施例的路徑規(guī)劃的方法的流程示意圖;
[0040]圖3為根據(jù)本發(fā)明實施例對待搜索區(qū)域進(jìn)行空間劃分的示意圖;
[0041]圖4為根據(jù)本發(fā)明實施例將經(jīng)劃分后的子區(qū)域映射為離散點的示意圖;
[0042]圖5為根據(jù)本發(fā)明實施例基于所映射的點構(gòu)造的Voronoi圖及鄰接關(guān)系不意圖;
[0043]圖6為傳統(tǒng)算法的搜索范圍示意圖;
[0044]圖7為根據(jù)本發(fā)明一個實施例的路徑規(guī)劃的方法的搜索范圍示意圖。【具體實施方式】
[0045]為了使本發(fā)明的目的,技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖通過具體實施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0046]為了更好地理解本發(fā)明的內(nèi)容,首先對VOTonoi圖進(jìn)行簡單介紹:
[0047]Voronoi圖是由一組由連接兩鄰點直線的垂直平分線組成的連續(xù)多邊形組成。平面上N個有區(qū)別的點,按照最鄰近原則劃分該平面;每個點與它的最近鄰區(qū)域相關(guān)聯(lián)。簡單而言,例如,對于平面中兩個點A、B,距離A點比距離B點近的點的區(qū)域是由A、B的垂直平分線確定的包含A的那半個平面,可記為V(A),即A點的最近區(qū)域。如果點集是由N個點組成,按照連接兩鄰點直線的垂直平分線進(jìn)行劃分,距離點Pi比距離其它點更近的點的區(qū)域是包含Pi的那N-1個半平面的交集。其中這N-1個半平面是由Pi點與其它點的垂直平分線確定的,而該N-1個半平面的交集為該Pi點的最近區(qū)域V(i)。V(i)實際上是由一些垂直平分線段構(gòu)成的多邊形。采用這些的劃分方式得到每個點的最近區(qū)域,就形成的VOTonoi圖,它將整個平面分成N個區(qū)域,每個區(qū)域中包含一個點,這個區(qū)域就是這個點的區(qū)域,其中的線段或射線稱為VOTonoi邊,它一定是兩個點的中垂線的一段,這兩個點稱為該VOTonoi邊的相關(guān)點,Voronoi邊之間的交點稱為Voronoi頂點,Voronoi邊的相關(guān)點也是Voronoi頂點的相關(guān)點。此外,如果點(x,y) £¥(;0,則?1是點(x,y)的相關(guān)點。
[0048]更形式化地,Voronoi圖的定義如下,設(shè)P是一離散點集合戶= {/々,...,P,,}〔 W2,2< η <°°且卩1 Pj, i j, i, j e Ιη{1,...,η};
[0049]VP(Pi) = {ρ I d(p, Pi)≤ d(p,pj)}, j 關(guān) i, j e In。其中,R2 代表二維空間,例如,一個平面,d(P,Pi)為點ρ和點Pi之間的歐幾里德距離,VP(Pi)稱為關(guān)聯(lián)于pJ^VOTonoi多邊形或Pi的Voronoi多邊形。VD(P) = {VP (Pi),…,VP (Pn)}表示基于離散點集合P生成的Voronoi圖,該集合中的各個點可稱為生長點。
[0050]圖1給出了 Voronoi圖的鄰接關(guān)系示意圖,其中,假設(shè)生長點Pi的Voronoi多邊形為VP (Pi),生長點ρ」的Voronoi多邊形為VP (Pj),若VP (Pi)與VP (Pj)存在公共Voronoi邊,則稱點Pi與點Pj立即鄰近。若用P = (P1, P2,..., PnI的Delaunay三角網(wǎng)格來說,就是有一條Delaunay邊連接點Pi與點p」,,Delaunay三角形是由與相鄰Voronoi多邊形共享一條邊的相關(guān)點連接而成的三角形。
[0051]在城市路網(wǎng)中搜索最優(yōu)路徑,影響其搜索速度的因素主要有兩個:(1)構(gòu)建路網(wǎng)拓?fù)浣Y(jié)構(gòu)的時間;(2)路徑搜索的時間。其中,構(gòu)建路網(wǎng)拓?fù)浣Y(jié)構(gòu)是求解最優(yōu)路徑的先決條件,在電子地圖上計算任意兩點之間的最短路徑,首先要建立電子地圖上道路對應(yīng)的拓?fù)浣Y(jié)構(gòu)圖。路網(wǎng)的拓?fù)浣Y(jié)構(gòu)可表示為有向圖G = (S,E),其中S = {Si|i e [I,n]}, E =IeijIi, j e [l,n-l]},路網(wǎng)共有η個結(jié)點,路網(wǎng)中的結(jié)點可包括以下幾種類型的點:①路網(wǎng)中的交叉口 ;②道路的端點;③道路屬性發(fā)生變化的點;如在路段的某點處道路寬度明顯減小,由單向四條車道變成單向兩條車道,使得道路上該方向上的通行能力有了很大的變化,該變化直接影響到車輛在該路段上的行駛時間,在這種情況下,應(yīng)該把這個點作為一個結(jié)點。④可能進(jìn)行轉(zhuǎn)向操作的點。其中,Si表示路網(wǎng)的第i個結(jié)點的標(biāo)識,根據(jù)結(jié)點粒度的不同包含一個或多個鄰近路口 ;eij表示路網(wǎng)中與結(jié)點Si和Sj關(guān)聯(lián)的道路標(biāo)識。特別地,當(dāng)結(jié)點粒度最小時,定義路網(wǎng)G = {V,E},其中V= IviIi e [l,n]}表示各個路口結(jié)點,是集合S的特例。通??衫靡粋€二維鄰接矩陣來存儲拓?fù)浣Y(jié)構(gòu)圖,其時間復(fù)雜度為0(n2),拓?fù)浣Y(jié)構(gòu)圖的規(guī)模大小對最短路徑計算復(fù)雜性影響非常大。建立整個路網(wǎng)的拓?fù)浣Y(jié)構(gòu)圖是一件非常復(fù)雜而且耗時的事情。
[0052]發(fā)明人通過大量的實驗分析發(fā)現(xiàn),在求解最短路徑過程中路網(wǎng)中的許多路徑是不需要考慮的,兩點之間的最短路徑大部分情況下包含在以這兩點為對角線的矩形區(qū)域中。如果能動態(tài)產(chǎn)生分析中需要的路徑則可以節(jié)省運算的空間和時間。
[0053]圖2給出了根據(jù)本發(fā)明一個實施例的路徑規(guī)劃的方法的流程示意圖。該方法包括:步驟1,根據(jù)起點和終點確定待搜索的區(qū)域;步驟2,基于設(shè)定的路網(wǎng)密度將該區(qū)域劃分為多個子區(qū)域,其中每個子區(qū)域的路網(wǎng)密度不大于該設(shè)定的路網(wǎng)密度;步驟3,經(jīng)劃分后得到的多個子區(qū)域映射成一維的離散點,并基于所述離散點形成VOTonoi圖;步驟4,基于Voronoi圖確定各子區(qū)域間的鄰接關(guān)系;步驟5,判斷鄰接的子區(qū)域之間的連通性;步驟6,從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域的集合,并基于該集合構(gòu)建新的道路網(wǎng)絡(luò);步驟7,在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。
[0054]更具體地,在步驟1,根據(jù)起點和終點確定待搜索的區(qū)域。在一個實施例中,所述待搜索的區(qū)域可以是以所選擇的起點與終點為對角線的矩形區(qū)域。在又一個實施例中,為了避免最短路徑出現(xiàn)在這個矩形區(qū)域之外的少數(shù)情況,可通過一個調(diào)整參數(shù)alpha,以原矩形區(qū)域為基礎(chǔ),上下左右各擴展alpha個單位,生成擴展的矩形,在該擴展的矩形區(qū)域內(nèi)搜索最短路徑。通過合理地選擇alpha值構(gòu)建矩形區(qū)域,縮小路徑搜索的范圍,能有效地降低拓?fù)浣Y(jié)構(gòu)的規(guī)模,提高最短路徑計算速度。在又一個實施例中,也可以把該矩形擴展為正方形,所擴展的正方形的邊長為該矩形的邊中邊長較長的邊,這樣做更有利于下文將要討論的路網(wǎng)空間劃分。
[0055]在步驟2,基于設(shè)定的路網(wǎng)密度對所確定的待搜索區(qū)域進(jìn)行劃分。其中,路網(wǎng)密度描述一個復(fù)雜路網(wǎng)空間中道路密集程度。假設(shè)C為路網(wǎng)拓?fù)鋱DG的一個子區(qū)域,S為C的空間面積,L為C區(qū)域內(nèi)道路總長度,則區(qū)域C的路網(wǎng)密度為L/S。如果該待搜索區(qū)域的路網(wǎng)密度大于所設(shè)定的路網(wǎng)密度,則將該待搜索的區(qū)域均分為m個子區(qū)域;如果每個子區(qū)域的實際路網(wǎng)密度仍然大于所設(shè)定的路網(wǎng)密度,則繼續(xù)對該子區(qū)域進(jìn)行迭代劃分,直到每個子區(qū)域的路網(wǎng)密度都小于或等于所設(shè)定的路網(wǎng)密度為止。圖3給出了對待搜索區(qū)域進(jìn)行劃分的示意圖。如圖3所示,假設(shè)待搜索的區(qū)域被擴展為正方形區(qū)域,將整個正方形區(qū)域代表的空間劃分為22n個子區(qū)域(其中,η為大于或等于I的自然數(shù),)。這里取η=1,即將正方形區(qū)域劃分為4個子區(qū)域。如果某個子區(qū)域內(nèi)實際路網(wǎng)密度仍大于所設(shè)定的路網(wǎng)密度,則對該子區(qū)域繼續(xù)迭代劃分(即將該子區(qū)域繼續(xù)劃分為4個子區(qū)域),直到每個子區(qū)域都不滿足劃分條件為止。經(jīng)過劃分后,該待搜索的區(qū)域可表示為多個子區(qū)域的集合,記為Rec= (C11C2,-(V..),其中Ci表示經(jīng)劃分后的第i個子區(qū)域。從圖3可以看出,經(jīng)劃分后得到的多個二維子區(qū)域的大小并非均勻的。在完成劃分后,每個子區(qū)域內(nèi)的道路總長度都基本一致,子區(qū)域面積越大,說明該子區(qū)域內(nèi)道路越稀疏,擁堵的可能性就越小;反之,則說明子區(qū)域內(nèi)的道路密集,交點可能就多,發(fā)生擁堵的可能性就大。
[0056]步驟3,經(jīng)劃分后得到的多個子區(qū)域映射成一維的離散點,并基于所述離散點形成Voronoi圖。例如,可以將每個子區(qū)域映射到該子區(qū)域的中心點上,以該中心點來代表該子區(qū)域。圖4給出了根據(jù)本發(fā)明一個實施例的對經(jīng)劃分后的子區(qū)域進(jìn)行映射的示意圖。如圖4所示,選取的是各子區(qū)域?qū)?yīng)的正方形區(qū)域的中心點作為映射點,從而得到了該待搜索的區(qū)域?qū)?yīng)的一系列離散點,完成了對該區(qū)域的降維處理。又例如,如果每個子區(qū)域?qū)?yīng)的是矩形區(qū)域,則可以取對角線的交點作為映射點。以上取映射點的方式僅為舉例說明而非進(jìn)行任何限制。
[0057]步驟4,基于Voronoi圖確定各子區(qū)域間的鄰接關(guān)系。
[0058]圖5給出了根據(jù)本發(fā)明一個實施例的基于所映射的點構(gòu)造的Voronoi圖及鄰接關(guān)系示意圖。如圖5所示,將待搜索的區(qū)域劃分成16個子區(qū)域,然后以每個區(qū)域的中心點作為區(qū)域映射點,對所得到的映射點的集合做VOTonoi剖分(如圖5左邊部分所示)。由該Voronoi圖就可以得到各映射點之間的鄰接關(guān)系(如圖5右邊部分所示),從而構(gòu)建出各子區(qū)域之間的鄰接關(guān)系。如圖5右邊部分所示,當(dāng)兩個點立即鄰近,即這兩個點之間有邊直接連接時,這兩個點對應(yīng)的子區(qū)域之間也為鄰接關(guān)系。鄰接區(qū)域指兩個區(qū)域有公共邊。通過該VOTonoi圖可查找出每個子區(qū)域的鄰接區(qū)域。
[0059]步驟5,判斷各鄰接子區(qū)域之間的連通性。兩個區(qū)域連通指的是這兩個區(qū)域間有道路相連。求最短路徑首先必須保證路網(wǎng)是連通的,所以在得到子區(qū)域間的鄰接關(guān)系之后,還得判斷子區(qū)域間的連通性。在一個實施例中,判斷區(qū)域i與區(qū)域j之間連通性的基本過程可以是:分別獲取子區(qū)域i和子區(qū)域j對應(yīng)的路網(wǎng)中的線圖元集合U1和U2,其中線圖元指路網(wǎng)中的一個道路段,再判斷兩個線圖元集合有無交集,即:
[0060]若U1 n U2古Φ,說明子區(qū)域i與子區(qū)域j連通;
[0061]若U1 n U2= Φ,說明子區(qū)域i與子區(qū)域j不連通;
[0062]步驟6,從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域的集合。實際上就是進(jìn)一步對待搜索區(qū)域進(jìn)行剪枝處理。例如若子區(qū)域i與子區(qū)域j相鄰接,但是兩個區(qū)域之間不連通,那么就在區(qū)域i的鄰接區(qū)域中將子區(qū)域j刪除,在區(qū)域j的鄰接區(qū)域中將子區(qū)域i刪除。這樣,最終得到了由從這所述多個子區(qū)域中選出的互相鄰接且連通的子區(qū)域構(gòu)成的集合。在步驟7,基于經(jīng)步驟6得到的該互相鄰接且連通的子區(qū)域的集合中包含的各個子區(qū)域?qū)?yīng)的路網(wǎng)部分可以構(gòu)建出新的道路網(wǎng)絡(luò)。然后,在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。[0063]該方法利用Voronoi圖的立即鄰近性質(zhì)結(jié)合空間進(jìn)行劃分,利用Voronoi的空間鄰接關(guān)系表達(dá)各區(qū)域?qū)ο笾g的拓?fù)潢P(guān)系。如果兩個空間目標(biāo)的VOTonoi圖不鄰接,那么這兩個空間目標(biāo)必然是分離的,因此通過VOTonoi圖查找每個區(qū)域的鄰接區(qū)域,在進(jìn)行空間搜索時,搜索的范圍被限制在與該目標(biāo)具有鄰近關(guān)系的目標(biāo)集合中,不僅可降低路網(wǎng)拓?fù)浣Y(jié)構(gòu)的構(gòu)建時間,而且可縮小路徑的搜索范圍、降低在路網(wǎng)中進(jìn)行路徑搜索的時間以及減少存儲空間,從而可提高搜索效率。
[0064]在本發(fā)明的一個優(yōu)選的實施例中,為進(jìn)一步縮小搜索范圍,在步驟6從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域的集合之后,選擇從起點所在子區(qū)域到終點所在子區(qū)域經(jīng)過最優(yōu)路徑子區(qū)域集合。該步驟的目的是從子區(qū)域?qū)哟紊线M(jìn)一步選出可能包含最短路徑的子區(qū)域集合,即最優(yōu)路徑子區(qū)域集。如上文所提到的,在將待搜索區(qū)域進(jìn)行空間劃分后,每個子區(qū)間內(nèi)的道路總長度都基本一致,區(qū)域面積越大,說明該區(qū)域內(nèi)道路越稀疏,擁堵的可能性就越??;反之,則說明區(qū)域內(nèi)的道路密集,交點可能就多,發(fā)生擁堵的可能性就大。因此,搜索最優(yōu)路徑區(qū)域集可以遵循這樣的原則:經(jīng)過的區(qū)域最少,且在區(qū)域數(shù)相同的情況下,選擇區(qū)域內(nèi)結(jié)點數(shù)較少的那個區(qū)域。這樣,可以進(jìn)一步縮小在求解最優(yōu)路徑時的搜索范圍。
[0065]在得到最優(yōu)路徑子區(qū)域集合之后,在步驟7,可基于所得到的最優(yōu)路徑子區(qū)域集合構(gòu)建新的道路網(wǎng)絡(luò),并且在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。實際上就是從原路網(wǎng)中提取該最優(yōu)路徑子區(qū)域集對應(yīng)的網(wǎng)絡(luò),在該網(wǎng)路上,可以利用現(xiàn)有的求最短路徑的方法(例如,經(jīng)典Dijkstra算法)進(jìn)行路徑規(guī)劃,計算出起點到終點之間的最優(yōu)路徑。
[0066]圖6中的矩形框表示直接使用Dijkstra算法的搜索范圍。而圖7給出了根據(jù)上文所討論的路徑規(guī)劃方法(也可以稱為基于Voronoi圖的層次鄰近搜索算法)的搜索范圍的示例,該搜索范圍為圖7中在大的矩形框中間部分由各個小方形區(qū)域組成的集合??梢?,本發(fā)明實施例中提供的方法可以顯著地減小搜索范圍。而且,基于該縮小的搜索范圍構(gòu)建路網(wǎng)拓?fù)浣Y(jié)構(gòu),可以明顯降低構(gòu)建路網(wǎng)拓?fù)浣Y(jié)構(gòu)的時間和路徑搜索的時間,所以本發(fā)明的時間復(fù)雜度遠(yuǎn)小于傳統(tǒng)的算法。此外,在本發(fā)明的實施例中,利用Voronoi結(jié)構(gòu)的空間鄰接關(guān)系,可以只存儲每個結(jié)點的鄰近結(jié)點的信息,過濾了許多在生成最短路徑過程中不需要考慮的信息,使得存儲空間減小了很多。
[0067]在本發(fā)明的又一個實施例中,還提供了一種用于城市道路交通網(wǎng)絡(luò)中路徑規(guī)劃的系統(tǒng),所述系統(tǒng)包括:用于根據(jù)起點和終點確定待搜索的區(qū)域的裝置;用于基于給定的路網(wǎng)密度將該區(qū)域劃分為多個子區(qū)域的裝置,其中每個子區(qū)域的路網(wǎng)密度不大于該給定的路網(wǎng)密度;用于經(jīng)劃分后得到的多個子區(qū)域映射成一維的離散點,并基于所述離散點形成Voronoi圖的裝置;用于基于Voronoi圖確定各子區(qū)域間的鄰接關(guān)系并判斷鄰接的子區(qū)域之間的連通性的裝置;用于從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域的裝置;以及用于所選出的子區(qū)域的集合構(gòu)建新的道路網(wǎng)絡(luò),并在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑的裝置。
[0068]雖然本發(fā)明已經(jīng)通過優(yōu)選實施例進(jìn)行了描述,然而本發(fā)明并非局限于這里所描述的實施例,在不脫離本發(fā)明范圍的情況下還包括所作出的各種改變以及變化。
【權(quán)利要求】
1.一種路徑規(guī)劃的方法,所述方法包括: 步驟1,根據(jù)起點和終點確定待搜索的區(qū)域; 步驟2,基于給定的路網(wǎng)密度將該區(qū)域劃分為多個子區(qū)域,其中每個子區(qū)域的路網(wǎng)密度不大于該給定的路網(wǎng)密度; 步驟3,經(jīng)劃分后得到的多個子區(qū)域映射成一維的離散點,并基于所述離散點形成Voronoi 圖; 步驟4,基于VOTonoi圖確定各子區(qū)域間的鄰接關(guān)系并判斷鄰接的子區(qū)域之間的連通性; 步驟5,從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域; 步驟6,所選出的子區(qū)域的集合構(gòu)建新的道路網(wǎng)絡(luò),并在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。
2.根據(jù)權(quán)利要求1所述的方法,在所述步驟I中,待搜索的區(qū)域是以起點和終點為對角線的矩形區(qū)域。
3.根據(jù)權(quán)利要求1所述的方法,在所述步驟I中,待搜索的區(qū)域是以起點和終點為對角線的矩形為基礎(chǔ),上下左右各擴展相同的長度得到的矩形區(qū)域。
4.根據(jù)權(quán)利要求1所述的方法,在所述步驟I中,待搜索的區(qū)域是以起點和終點為對角線的矩形為基礎(chǔ)而擴展 的正方形區(qū)域,該正方形區(qū)域的邊長為該矩形的邊中較長的邊的邊長。
5.根據(jù)權(quán)利要求2所述的方法,在所述步驟2中,任一區(qū)域的路網(wǎng)密度為該區(qū)域內(nèi)道路總長度與該區(qū)域的空間面積的比值。
6.根據(jù)權(quán)利要求4所述的方法,所述步驟2包括: 如果該待搜索區(qū)域的路網(wǎng)密度大于所設(shè)定的路網(wǎng)密度,則將該待搜索的區(qū)域均分為22n個子區(qū)域,其中η為大于或等于I的自然數(shù); 如果某個子區(qū)域內(nèi)路網(wǎng)密度仍大于所設(shè)定的路網(wǎng)密度,則將該子區(qū)域劃分為2211個子區(qū)域;重復(fù)上述過程,直到每個子區(qū)域的路網(wǎng)密度都小于或等于所設(shè)定的路網(wǎng)密度為止。
7.根據(jù)權(quán)利要求1所述的方法,所述步驟3中將每個子區(qū)域映射到該子區(qū)域的中心點上,以該中心點來代表該子區(qū)域。
8.根據(jù)權(quán)利要求1所述的方法,所述步驟4包括: 步驟41)判斷Voronoi圖中任兩個點之間,是否直接有邊相連接,如果兩個點有邊直接相連,則確定這兩個點對應(yīng)的子區(qū)域之間存在鄰接關(guān)系; 步驟42)對于任意兩個存在鄰接關(guān)系的子區(qū)域,判斷這兩個子區(qū)域?qū)?yīng)的路網(wǎng)部分是否有道路相連,如果有,則確定這兩個子區(qū)域是連通的。
9.根據(jù)權(quán)利要求1所述的方法,所述步驟5還包括從所選出的互相鄰接且連通的子區(qū)域的集合中選擇從起點所在子區(qū)域到終點所在子區(qū)域經(jīng)過最優(yōu)路徑子區(qū)域集合,該最優(yōu)路徑子區(qū)域集合為最有可能包含最優(yōu)路徑的子區(qū)域集合。
10.根據(jù)權(quán)利要求9所述的方法,在選擇最優(yōu)路徑子區(qū)域集合時遵循這樣的原則:經(jīng)過的區(qū)域最少,且在區(qū)域數(shù)相同的情況下,選擇區(qū)域內(nèi)結(jié)點數(shù)較少的那個區(qū)域。
11.根據(jù)權(quán)利要求9所述的方法,所述步驟6中基于最優(yōu)路徑子區(qū)域集合構(gòu)建新的道路網(wǎng)絡(luò),并且在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑。
12.一種路徑規(guī)劃的系統(tǒng),所述系統(tǒng)包括: 用于根據(jù)起點和終點確定待搜索的區(qū)域的裝置; 用于基于給定的路網(wǎng)密度將該區(qū)域劃分為多個子區(qū)域的裝置,其中每個子區(qū)域的路網(wǎng)密度不大于該給定的路網(wǎng)密度; 用于經(jīng)劃分后得到的多個子區(qū)域映射成一維的離散點,并基于所述離散點形成Voronoi圖的裝置; 用于基于VOTonoi圖確定各子區(qū)域間的鄰接關(guān)系并判斷鄰接的子區(qū)域之間的連通性的裝置; 用于從所述多個子區(qū)域中選出互相鄰接且連通的子區(qū)域的裝置; 用于所選出的子區(qū)域的集合構(gòu)建新的道路網(wǎng)絡(luò),并在所構(gòu)建的新的道路網(wǎng)絡(luò)中搜索起點與終點之間的最優(yōu)路徑的裝置。
【文檔編號】G01C21/34GK103837154SQ201410095411
【公開日】2014年6月4日 申請日期:2014年3月14日 優(yōu)先權(quán)日:2014年3月14日
【發(fā)明者】蔡強, 程白羽, 毛典輝, 劉亞奇, 李楠 申請人:北京工商大學(xué)