一種基于重疊社團(tuán)劃分的大規(guī)模道路網(wǎng)絡(luò)雙層路由方法
【專利摘要】一種基于重疊社團(tuán)劃分的大規(guī)模道路網(wǎng)絡(luò)雙層路由方法,在道路網(wǎng)絡(luò)中探測(cè)基于重疊社團(tuán)的分層結(jié)構(gòu),將整個(gè)網(wǎng)絡(luò)劃分為若干具有重疊節(jié)點(diǎn)的社團(tuán),并由此構(gòu)成路網(wǎng)的雙層結(jié)構(gòu):第一層為原始道路網(wǎng)絡(luò);第二層為社團(tuán)連接邏輯層,其中的每一個(gè)點(diǎn)對(duì)應(yīng)著第一層的一個(gè)社團(tuán),第一層社團(tuán)間的重疊節(jié)點(diǎn)和道路連接對(duì)應(yīng)著第二層節(jié)點(diǎn)間的連接,其中社團(tuán)間的重疊節(jié)點(diǎn)被當(dāng)做關(guān)鍵路由節(jié)點(diǎn)。在此網(wǎng)絡(luò)架構(gòu)下,路由被分解為第二層社團(tuán)節(jié)點(diǎn)間的總體路由和第一層社團(tuán)內(nèi)部節(jié)點(diǎn)間的局域路由。本發(fā)明在道路網(wǎng)絡(luò)劃分社團(tuán)時(shí)考慮了社團(tuán)間的重疊節(jié)點(diǎn),并將其作為社團(tuán)間路由的關(guān)鍵節(jié)點(diǎn)。這將有利于降低大規(guī)模道路網(wǎng)絡(luò)分層路由算法的計(jì)算復(fù)雜度,提高其實(shí)時(shí)性。
【專利說明】一種基于重疊社團(tuán)劃分的大規(guī)模道路網(wǎng)絡(luò)雙層路由方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)科學(xué)和交通領(lǐng)域,特別是指一種大規(guī)模道路網(wǎng)絡(luò)的雙層路由方 法。
【背景技術(shù)】
[0002] 在實(shí)際的生活中,我們每天都在處理路由問題。當(dāng)需要用最小的代價(jià)到達(dá)目的地, 我們會(huì)綜合考慮路程所要占用的時(shí)間、安全性和花費(fèi)的成本。在網(wǎng)絡(luò)中,路由問題對(duì)應(yīng)的就 是最短路徑問題。早期已有的查找最短路徑的算法包括Dijkstra算法,A*算法等,但其在 大規(guī)模網(wǎng)絡(luò)中路由花費(fèi)的計(jì)算量和存儲(chǔ)量太大,不具有很好的實(shí)時(shí)性。
[0003] 當(dāng)前比較有效的方法是提前計(jì)算并保存路由節(jié)點(diǎn),在路由選擇的過程中,通過這 些路由節(jié)點(diǎn)信息來減少搜索的空間,降低計(jì)算的復(fù)雜度,以達(dá)到提高網(wǎng)絡(luò)系統(tǒng)路由實(shí)時(shí)性 的目的。采用分層的方法就是其中一種比較有效的策略,尤其在大規(guī)模道路網(wǎng)絡(luò)中的路徑 規(guī)劃或?qū)Ш较到y(tǒng)中有許多有價(jià)值的應(yīng)用。其思想就是將網(wǎng)絡(luò)劃分成多個(gè)區(qū)域,每個(gè)區(qū)域包 含一定數(shù)量的邊緣節(jié)點(diǎn),其內(nèi)部節(jié)點(diǎn)數(shù)連接比較緊密;區(qū)域之間的連接比較稀疏,原始網(wǎng)絡(luò) 作為底層,每個(gè)區(qū)域作為1個(gè)點(diǎn),區(qū)域之間的連接作為這些點(diǎn)之間的連邊,構(gòu)成高層邏輯網(wǎng) 絡(luò)。在這樣的雙層網(wǎng)絡(luò)結(jié)構(gòu)中,路由算法將按照先在高層宏觀路由,再在低層微觀路由的方 法進(jìn)行,該方法有利于降低算法復(fù)雜度,從而具有較好的實(shí)時(shí)性能。由此可見,區(qū)域的有效 劃分對(duì)整個(gè)網(wǎng)絡(luò)的路由搜索起到至關(guān)重要的作用,復(fù)雜網(wǎng)絡(luò)中社團(tuán)探測(cè)算法為大規(guī)模道路 網(wǎng)絡(luò)中區(qū)域的劃分提供了良好的技術(shù)手段。
【發(fā)明內(nèi)容】
[0004] 為了改善已有大規(guī)模道路網(wǎng)絡(luò)路由算法的計(jì)算量大和占用存儲(chǔ)空間多等問題,本 發(fā)明提出一種基于重疊社團(tuán)劃分的大規(guī)模道路網(wǎng)絡(luò)雙層路由方法,該方法可以有效地降低 計(jì)算復(fù)雜度,具有較好的實(shí)時(shí)性。
[0005] 為了解決上述技術(shù)問題提出了如下技術(shù)方案:
[0006] 一種基于重疊社團(tuán)劃分的大規(guī)模道路網(wǎng)絡(luò)雙層路由方法,包括以下步驟:
[0007] 步驟一:構(gòu)建道路網(wǎng)絡(luò)G = (V,E,W),V表示道路網(wǎng)絡(luò)交叉路口的點(diǎn)集,每個(gè)結(jié)點(diǎn) 具有精確的坐標(biāo),E表不道路的邊集,W表不邊的權(quán)值,在道路網(wǎng)絡(luò)中W為道路的距尚;
[0008] 步驟二:對(duì)道路網(wǎng)絡(luò)講行樸閉劃分,初始化毎個(gè)節(jié)點(diǎn)為單一社團(tuán),對(duì)任意社團(tuán)計(jì)算 其相鄰社團(tuán)的函數(shù)模塊化度
【權(quán)利要求】
1. 一種基于重疊社團(tuán)劃分的大規(guī)模道路網(wǎng)絡(luò)雙層路由方法,其特征在于:所述路由方 法包括以下步驟: 步驟一:構(gòu)建道路網(wǎng)絡(luò)G= (V,E,W),V表示道路網(wǎng)絡(luò)交叉路口的點(diǎn)集,每個(gè)結(jié)點(diǎn)具有 精確的坐標(biāo),E表不道路的邊集,W表不邊的權(quán)值,在道路網(wǎng)絡(luò)中W為道路的距尚; 步驟二:對(duì)道路網(wǎng)絡(luò)進(jìn)行社團(tuán)劃分,初始化每個(gè)節(jié)點(diǎn)為單一社團(tuán),對(duì)任意社團(tuán)計(jì)算其相 鄰社團(tuán)的函數(shù)模塊化度Q= ^Σ胃[Avw - ]δ((:ν,Cw),其中,V,W表示網(wǎng)絡(luò)中的兩個(gè)節(jié) 點(diǎn);Avw表示網(wǎng)絡(luò)的鄰接矩陣,如果節(jié)點(diǎn)V,W相連,那么Avw為1 ;如果節(jié)點(diǎn)V,W不相連,那么 Avw為O;m=舍EvwAvw表示網(wǎng)絡(luò)中邊的數(shù)量;kv =ΣWAVW表示節(jié)點(diǎn)V的度,kw =ΣVAVW表 示節(jié)點(diǎn)w的度;當(dāng)節(jié)點(diǎn)v,w屬于同一個(gè)社團(tuán)δ(Cv,cw)為1,否則為〇;將該社團(tuán)和Q值最大 的相鄰社團(tuán)合并為一個(gè)社團(tuán),重復(fù)這一過程直到Q值不再增加為止;接著,將每個(gè)社團(tuán)映射 為1個(gè)節(jié)點(diǎn),社團(tuán)之間的連接映射為新節(jié)點(diǎn)之間的邊,其邊權(quán)為社團(tuán)間連邊的數(shù)量,構(gòu)成一 個(gè)新的網(wǎng)絡(luò),對(duì)此新網(wǎng)絡(luò)再次應(yīng)用上述社團(tuán)劃分方法,直到Q值不再增加為止,此時(shí),新網(wǎng) 絡(luò)劃分為若干社團(tuán),其中每個(gè)社團(tuán)分別對(duì)應(yīng)于原始道路網(wǎng)絡(luò)中的一個(gè)較大社團(tuán); 步驟三:在社團(tuán)的邊緣節(jié)點(diǎn)當(dāng)中檢測(cè)社團(tuán)重疊節(jié)點(diǎn),計(jì)算擴(kuò)展的社團(tuán)模塊度函數(shù)值 iT 其中,i,j表示網(wǎng)絡(luò)中的兩個(gè)節(jié)點(diǎn);Aij表示網(wǎng)絡(luò)的鄰接 矩陣,如果節(jié)點(diǎn)i,j相連,那么Au為1 ;如果節(jié)點(diǎn)i,j不相連,那么Au為0;m八^表 示網(wǎng)絡(luò)中邊的數(shù)量;Iii =ΣjAu表示節(jié)點(diǎn)i的度,kj=ΣAij表示節(jié)點(diǎn)i的度,Oi和Oj分別 表示節(jié)點(diǎn)i和j各自屬于多少個(gè)社團(tuán);c表示網(wǎng)絡(luò)中的社團(tuán)數(shù);k表示社團(tuán)編號(hào)(0〈k<c), 檢測(cè)邊緣節(jié)點(diǎn)移除或者增加到相鄰社團(tuán)中對(duì)整個(gè)社團(tuán)的擴(kuò)展模塊度函數(shù)值Qi的影響程 度,在原有的網(wǎng)絡(luò)中找出社團(tuán)邊緣節(jié)點(diǎn)中的重疊節(jié)點(diǎn);通過重疊社團(tuán)檢測(cè),將整個(gè)網(wǎng)絡(luò)劃分 為多個(gè)具有重疊節(jié)點(diǎn)的社團(tuán),并由此構(gòu)成路網(wǎng)的雙層結(jié)構(gòu):第一層為原始道路網(wǎng)絡(luò);第二 層為社團(tuán)連接邏輯層,其中的每一個(gè)點(diǎn)對(duì)應(yīng)著第一層的一個(gè)社團(tuán),第一層社團(tuán)間的重疊節(jié) 點(diǎn)或道路連接對(duì)應(yīng)著第二層節(jié)點(diǎn)間的連接;設(shè)置第二層網(wǎng)絡(luò)連邊的權(quán)重參數(shù):如果兩個(gè)點(diǎn) 對(duì)應(yīng)的社團(tuán)有重疊節(jié)點(diǎn),則邊權(quán)為0,如果兩個(gè)點(diǎn)之間對(duì)應(yīng)的社團(tuán)沒有重疊節(jié)點(diǎn)但有η條道 路連接,η為正整數(shù),則邊權(quán)為其中最短的一條道路長(zhǎng)度; 步驟四:構(gòu)建社團(tuán)內(nèi)部邊緣節(jié)點(diǎn)距離表Β,采用Dijkstra算法計(jì)算每個(gè)社團(tuán)中的邊緣 節(jié)點(diǎn)對(duì)之間的最短距離,其中最大的最短距離作為該社團(tuán)的直徑,保存這些信息在B表中, 設(shè)置第二層網(wǎng)絡(luò)節(jié)點(diǎn)的權(quán)重參數(shù)為其所對(duì)應(yīng)的社團(tuán)直徑; 步驟五:對(duì)任意的出發(fā)節(jié)點(diǎn)和目的節(jié)點(diǎn)計(jì)算其路由,如果0和D節(jié)點(diǎn)在同一個(gè)社團(tuán)中, 而且均在社團(tuán)邊緣,直接從社團(tuán)內(nèi)部邊緣節(jié)點(diǎn)距離表B中查詢得到最優(yōu)路徑;如果0和D節(jié) 點(diǎn)在同一個(gè)社團(tuán)中,而且不同時(shí)在社團(tuán)邊緣,通過Dijkstra算法計(jì)算得到最短路徑; 步驟六:如果0和D節(jié)點(diǎn)不在同一個(gè)社團(tuán)中,路由算法被分解為第二層社團(tuán)節(jié)點(diǎn)間的總 體路由和第一層社團(tuán)內(nèi)部節(jié)點(diǎn)的局域路由,過程如下:在第二層加權(quán)網(wǎng)絡(luò)中依據(jù)寬度優(yōu)先 算法計(jì)算宏觀路由,路徑中點(diǎn)權(quán)和邊權(quán)值之和最小即為最優(yōu)宏觀路由;宏觀路徑中的點(diǎn)權(quán) 為該點(diǎn)對(duì)應(yīng)的社團(tuán)直徑,表示社團(tuán)內(nèi)部的路徑長(zhǎng)度的上界,而社團(tuán)內(nèi)部的路徑需要由社團(tuán) 局域路由來決定,局域路由可以從社團(tuán)內(nèi)部邊緣節(jié)點(diǎn)距離表B中查詢得到最優(yōu)路徑,則最 優(yōu)路由方案為最優(yōu)宏觀路徑加上最優(yōu)局域路徑。
【文檔編號(hào)】G06Q10/04GK104239965SQ201410429109
【公開日】2014年12月24日 申請(qǐng)日期:2014年8月27日 優(yōu)先權(quán)日:2014年8月27日
【發(fā)明者】楊旭華, 周詩杰, 程之 申請(qǐng)人:浙江工業(yè)大學(xué)