本發(fā)明屬于智能交通系統(tǒng)領(lǐng)域,尤其涉及一種車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議。
背景技術(shù):
VANETs是一種特殊的移動(dòng)自組織網(wǎng)絡(luò)(Mobile Ad-Hoc Network,MANET),智能交通系統(tǒng)(Intelligent Transportation Systems,ITS)的重要部分。VANETs中的車輛沿道路行駛,遵守交通規(guī)則;其次,由于道路的多樣性以及車輛不同的速度與密度,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)頻繁變化;最后,網(wǎng)絡(luò)中的通信分為兩類:車與車通信、車與基礎(chǔ)設(shè)施通信。路由協(xié)議的主要內(nèi)容分為兩類:(1)基于網(wǎng)絡(luò)拓?fù)涞穆酚蓞f(xié)議根據(jù)拓?fù)湫畔⒆龀雎酚蓻Q策,但是不斷變化的拓?fù)浣Y(jié)構(gòu)會(huì)導(dǎo)致鏈路的斷開;(2)基于地理位置信息的路由協(xié)議只需要通過(guò)GPS獲得車載的位置來(lái)做出數(shù)據(jù)遞交的決策;因此相比于基于網(wǎng)絡(luò)拓?fù)涞穆酚蓞f(xié)議,基于地理位置信息的路由協(xié)議更適合于多變的車載自組織網(wǎng)絡(luò)。但此類協(xié)議仍然面臨許多挑戰(zhàn),比如不具備實(shí)時(shí)性與準(zhǔn)確性,開銷大,應(yīng)用成本增加等。其中CAR是一種基于連通性感知路由,源點(diǎn)利用廣播信息探索路徑,最終獲得一條固定的路由路徑,因此無(wú)法應(yīng)對(duì)VANETs快速變化的拓?fù)浣Y(jié)構(gòu)。IBR協(xié)議是一種基于十字路口的路由協(xié)議,利用實(shí)時(shí)信息動(dòng)態(tài)地選擇下一跳十字路口,根據(jù)車輛方向傳輸十字路口內(nèi)數(shù)據(jù)包,但未考慮道路的連通性,因此可能會(huì)導(dǎo)致數(shù)據(jù)包的丟失。GyTAR是一種利用局部街道動(dòng)態(tài)信息的路由協(xié)議,利用車輛密度和前進(jìn)方向進(jìn)行路由決策,但是并未考慮全局信息,因此在數(shù)據(jù)轉(zhuǎn)發(fā)過(guò)程中可能會(huì)導(dǎo)致網(wǎng)絡(luò)分區(qū)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是克服上述背景技術(shù)的不足,為了改善VANETs中路由協(xié)議的QoS,優(yōu)化路由路徑,提供了一種車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議,具體由以下方案實(shí)現(xiàn):
車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議,所述協(xié)議包括如下步驟:
1)將任意兩個(gè)相鄰十字路口之間的路段進(jìn)行分塊,分析連通性模型和延遲模型,得到路段的平均延遲;
2)根據(jù)基于十字路口的路由協(xié)議探索源點(diǎn)車輛與目的車輛之間的所有可用路徑;
3)通過(guò)以QoS為目標(biāo)函數(shù)的遺傳算法對(duì)所述所有可用路徑進(jìn)行路由優(yōu)化,得到最佳路徑。
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,所述步驟1)中對(duì)路段進(jìn)行分塊時(shí),將單位塊設(shè)定為寬為道路寬度、長(zhǎng)為aR的矩形塊,其中R表示車輛的無(wú)線通信傳輸距離,a為矩形塊的長(zhǎng)度系數(shù)。
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,所述步驟1)中,所述連通性模型為:設(shè)定兩個(gè)相鄰十字路口間同一方向上的任意兩個(gè)連續(xù)車輛之間的距離為X,當(dāng)X≤R時(shí),車輛之間的鏈路處于連通狀態(tài),直接轉(zhuǎn)發(fā)數(shù)據(jù)包;當(dāng)X>R時(shí),車輛之間的鏈路處于斷開狀態(tài),無(wú)法直接轉(zhuǎn)發(fā)數(shù)據(jù)包,若相反方向上處于兩輛車之間的移動(dòng)車輛可進(jìn)行間接轉(zhuǎn)發(fā)數(shù)據(jù)包,則判定路段上的連通性保持不變。
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,所述步驟1)中,所述延遲模型為:路段上部分鏈路連通時(shí),在連通路段上的數(shù)據(jù)包的傳輸方向上,數(shù)據(jù)包所在當(dāng)前節(jié)點(diǎn)會(huì)在其傳輸范圍內(nèi)的所有節(jié)點(diǎn)中選擇距離自身最遠(yuǎn)的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),進(jìn)行貪婪轉(zhuǎn)發(fā),而斷開路段上的數(shù)據(jù)包進(jìn)行攜帶轉(zhuǎn)發(fā);路段上的鏈路全部連通時(shí),數(shù)據(jù)包通過(guò)中繼節(jié)點(diǎn)之間的貪婪算法進(jìn)行轉(zhuǎn)發(fā)。
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,所述步驟1)中當(dāng)路段上的鏈路全部連通時(shí),通過(guò)跳與跳之間的貪婪算法進(jìn)行數(shù)據(jù)包的傳輸,則相鄰十字路口i,j之間的傳輸延遲如式(1):
Dnc=Hnc·tp (1)
其中,表示i,j之間的跳數(shù),tp表示一跳的傳輸時(shí)間,L表示路段長(zhǎng)度;
兩個(gè)相鄰十字路口i,j之間的平均傳輸延遲如式(2):
D(i,j)=Dnp·(1-Pc(i,j))+Dnc·Pc(i,j) (2)
其中,Pc(i,j)表示路段的連通概率;
當(dāng)路段部分連通時(shí),路段的傳輸延遲為:
其中,ddp表示鏈路斷開期間數(shù)據(jù)包傳輸?shù)钠骄嚯x,dcp表示路段連通期間數(shù)據(jù)包傳輸方向上的兩個(gè)連續(xù)車輛之間的預(yù)期平均傳輸距離,v1為車輛攜帶數(shù)據(jù)包傳輸?shù)膫鬏斔俣龋?/p>
鏈路斷開期間,數(shù)據(jù)包傳輸?shù)钠骄嚯x如式(3):
式中,E(n)為攜帶數(shù)據(jù)包傳輸時(shí)移動(dòng)距離所對(duì)應(yīng)的塊的個(gè)數(shù),為與所設(shè)定方向相反路段上的無(wú)法形成通路的概率,fX(x)表示所設(shè)定方向的道路上的車輛的概率密度函數(shù)。
路段連通期間,數(shù)據(jù)包傳輸方向上的兩個(gè)連續(xù)車輛之間的預(yù)期平均傳輸距離如式(4):
dcp=dcp1+dcp2 (4)
式中,dcp1為連通鏈路上的預(yù)期平均距離,dcp2為車輛間鏈路斷開的距離由所述設(shè)定方向相反的道路上的車輛修復(fù)成功后的平均傳輸距離。
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,1)設(shè)定兩個(gè)十字路口Ii和Ij間以設(shè)定方向直線行駛的兩個(gè)連續(xù)車輛Ve,Ve+1之間的距離x>R,則鏈路斷開,通過(guò)與所述設(shè)定方向相反方向道路上的車輛(Vw,Vw+1)修復(fù)Ve,Ve+1之間的連通性,所設(shè)定的兩個(gè)相鄰十字路口之間的連通性概率如式(5):
Pc(i,j)=Pc1+Pc2 (5)
其中,Pc1表示設(shè)定方向的路段上至少一條鏈路斷開的情況下的路段連通性概率,如式(6);Pc2表示所述設(shè)定方向上的車輛之間的鏈路全部處于連通狀態(tài)時(shí)的路段連通性概率,如式(7):
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,所述步驟2)中所述路由協(xié)議中的車輛配備GPS與導(dǎo)航系統(tǒng),根據(jù)交通狀況與地理位置信息預(yù)測(cè)車輛的移動(dòng)方向,動(dòng)態(tài)選擇下一跳十字路口。
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,所述遺傳算法對(duì)所述所有可用路徑進(jìn)行路由優(yōu)化具體包括如下步驟:
3-1)編碼:根據(jù)網(wǎng)絡(luò)路由的特點(diǎn)和遺傳算法的編碼原則,采用直接編碼,即對(duì)于一條給定的從源點(diǎn)端點(diǎn)十字路口到目的節(jié)點(diǎn)端點(diǎn)十字路口的路徑,該路徑上的十字路口的編號(hào)即為染色體編碼,一條編號(hào)序列就是一條染色體,即一條路徑對(duì)應(yīng)著一個(gè)個(gè)體;
3-2)設(shè)置初始群體:根據(jù)基于十字路口的路由協(xié)議的路由選擇策略,探索到G條路由路徑,作為初始群體,規(guī)模大小為G;
3-3)進(jìn)行選擇操作:根據(jù)適應(yīng)度函數(shù)值,選取對(duì)應(yīng)的適應(yīng)度函數(shù)值最大的個(gè)體作為最優(yōu)個(gè)體,構(gòu)建適應(yīng)度函數(shù)表示如式(8):
S=α·Pn+β·(1/Dnth) (8)
其中,Pn表示第n個(gè)個(gè)體的連通性概率;Dnth表示第n個(gè)個(gè)體(第n條路徑)的平均傳輸延遲;α和β為加權(quán)系數(shù),α,β∈[0,1]。
3-4)進(jìn)行交叉操作,采用后向交叉交換兩個(gè)個(gè)體中的子路徑,在群體中隨機(jī)選取兩個(gè)染色體P1、P2作為父代個(gè)體,兩條路徑共同經(jīng)過(guò)的十字路口作為備選的交叉位置,從備選的交叉位置中隨機(jī)選擇作為交叉位置,將交叉位置之后的部分進(jìn)行交換,形成兩個(gè)子代個(gè)體P1’、P2’;
3-5)變異:在群體中隨機(jī)選擇一個(gè)染色體P,在P中隨機(jī)選擇節(jié)點(diǎn)ni作為變異節(jié)點(diǎn),在ni的鄰居節(jié)點(diǎn)集中隨機(jī)選擇節(jié)點(diǎn)nj,產(chǎn)生從源點(diǎn)到nj和nj到目的節(jié)點(diǎn)的兩條路徑r1、r2,若r1、r2中存在重復(fù)的節(jié)點(diǎn),則放棄此路徑,不進(jìn)行變異,否則連接兩條路徑形成新的染色體P’,進(jìn)入下一代;
3-6)重復(fù)執(zhí)行步驟3-3)至步驟3-5),直到達(dá)到迭代次數(shù)為止,最終得到最優(yōu)個(gè)體,優(yōu)化路由路徑。
所述車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議的進(jìn)一步設(shè)計(jì)在于,所述步驟3-3)采用最佳策略選擇和輪盤賭選擇相結(jié)合的選擇方法:在每對(duì)染色體進(jìn)行交叉之前,先根據(jù)適應(yīng)度值選擇最佳個(gè)體,取代子代群體中適應(yīng)度值最差的的個(gè)體,直接遺傳到子代群體中,其余個(gè)體采用輪盤賭法。
本發(fā)明的有益效果為:
本發(fā)明的基于遺傳算法的車載自組織網(wǎng)絡(luò)路由協(xié)議,首先利用基于十字路口的路由協(xié)議探索可用路徑,并且將道路進(jìn)行分塊研究QoS模型,同時(shí)兩個(gè)相鄰十字路口之間,利用貪婪攜帶-轉(zhuǎn)發(fā)算法進(jìn)行數(shù)據(jù)包的轉(zhuǎn)發(fā),最后利用遺傳算法進(jìn)行路徑優(yōu)化,尋找最佳路徑。其中遺傳算法是以目標(biāo)函數(shù)作為搜索信息,根據(jù)目標(biāo)函數(shù)變換的適應(yīng)度函數(shù)選擇和優(yōu)化路徑,具有并行性,由多個(gè)個(gè)體組成一個(gè)初始群體開始搜索,對(duì)群體進(jìn)行選擇、交叉、變異等遺傳操作,產(chǎn)生新一代群體,然后繼續(xù)搜索;同時(shí)遺傳算法屬于一種自適應(yīng)概率搜索技術(shù),其選擇、交叉、變異等運(yùn)算都是以一定的概率進(jìn)行的,增加了其搜索過(guò)程的靈活性。另一方面,經(jīng)仿真后,仿真結(jié)果顯示與IBR協(xié)議和CAR協(xié)議相比,所提出的GABR協(xié)議延遲性能更優(yōu),數(shù)據(jù)包傳輸性能更好,通信性能更佳。
附圖說(shuō)明
圖1為城市道路示例圖。
圖2為路段車輛的分布示意圖。
圖3為路段車輛的分布示意圖(路段部分連通)。
圖4為路段車輛的分布示意圖(路段全部連通)。
圖5為遺傳算法的基本模塊流程圖。
圖6為路由協(xié)議的主要流程圖。
圖7為路段平均延遲與傳輸距離的關(guān)系示意圖。
圖8為路段平均延遲與車輛數(shù)目的關(guān)系示意圖。
圖9為路段平均延遲與車輛速度的關(guān)系示意圖。
圖10為交叉操作示意圖。
圖11為變異操作示意圖。
圖12為平均延遲與傳輸距離的關(guān)系示意圖。
圖13為數(shù)據(jù)包傳輸比值與車輛數(shù)目的關(guān)系示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
本實(shí)施例的車載自組織網(wǎng)絡(luò)中基于遺傳算法的QoS感知路由協(xié)議協(xié)議包括如下三個(gè)步驟,具體為:1)將道路進(jìn)行分塊,分析連通性模型和延遲模型,得到路段的平均延遲。2)根據(jù)基于十字路口的路由協(xié)議探索源點(diǎn)車輛與目的車輛之間的所有可用路徑。3)通過(guò)以QoS為目標(biāo)函數(shù)的遺傳算法對(duì)所述所有可用路徑進(jìn)行路由優(yōu)化,得到最佳路徑。在城市環(huán)境下的道路模型可以簡(jiǎn)化為圖1所示的城市道路示例,以下結(jié)合該示例進(jìn)行具體說(shuō)明。
圖1中的城市道路設(shè)置有4個(gè)十字路口I1~I(xiàn)4,4條路段,每條路段的路況皆隨機(jī)分布。
路段模型主要是根據(jù)城市環(huán)境下雙向車道的多鏈路轉(zhuǎn)發(fā)延遲以及鏈路連通性而建立,假設(shè)兩個(gè)十字路口Ii,Ij之間的直線車道方向相反且Ii,Ij之間的路段長(zhǎng)度為L(zhǎng),數(shù)據(jù)包傳輸方向是向東;同時(shí)路段上車輛的無(wú)線通信傳輸距離為R,車輛的數(shù)目服從泊松分布[10],向東的道路和向西的道路上車輛密度分別為λ1,λ2,車輛平均速度分別為v1,v2。QoS模型主要由連通性模型和延遲模型組成。同時(shí)為了準(zhǔn)確分析QoS模型,將路段進(jìn)行分塊,每塊的長(zhǎng)、寬分別為aR和道路寬度,其中R表示車輛的無(wú)線通信傳輸距離,a為矩形塊的長(zhǎng)度系數(shù),本實(shí)施例中a=0.7。
連通性模型:在城市雙向道路環(huán)境下,如圖2所示,同一方向上的任意兩個(gè)連續(xù)車輛之間的距離為X,當(dāng)X≤R時(shí),車輛之間的鏈路處于連通狀態(tài),直接轉(zhuǎn)發(fā)數(shù)據(jù)包;當(dāng)X>R時(shí),車輛之間的鏈路處于斷開狀態(tài),無(wú)法直接轉(zhuǎn)發(fā)數(shù)據(jù)包,但相反方向上處于兩輛車之間的移動(dòng)車輛可以進(jìn)行間接轉(zhuǎn)發(fā)數(shù)據(jù)包,因此路段上的連通性保持不變。
假設(shè)K為隨機(jī)變量,表示aR中的車輛數(shù)目,服從泊松分布,則K的概率質(zhì)量函數(shù)(PMF)為:
P(K=k)=(aRλ)k·e-aRλ/k! (1)
其中,λ表示路段上車輛密度。
由于任意兩個(gè)連續(xù)車輛之間的距離滿足指數(shù)分布[11],則在向東道路上,距離為X的兩輛車之間的鏈路斷開的概率如下:
其中,λ1表示向東道路上的車輛密度。
根據(jù)上述連通性模型,如圖2所示,可知向東道路上的兩個(gè)連續(xù)車輛Ve,Ve+1之間的距離x>R,則鏈路斷開,利用相反方向道路上的車輛(Vw,Vw+1)修復(fù)Ve,Ve+1之間的連通性,修復(fù)的概率表示如下:
其中,P(K=0)=e-aRλ,λ=λ2,λ表示向西道路上的車輛密度。
設(shè)M隨機(jī)變量,表示向東道路上斷開鏈路的數(shù)目,若M個(gè)斷開的鏈路可以修復(fù),則路段Iij處于連通狀態(tài),連通性的概率PcM(M=k)表示為:
其中,N表示向東道路上的車輛數(shù)目。
若向東道路上存在N-1個(gè)鏈路,其中M=k個(gè)鏈路斷開,則M的概率質(zhì)量函數(shù)PM(M=k)服從二項(xiàng)分布,表示為:
由此可知,向東道路上至少一條鏈路斷開的情況下(k≥1),則路段的連通性概率表示為:
當(dāng)向東道路上車輛之間的鏈路全部處于連通狀態(tài)時(shí),即所有塊中至少有一輛車,此時(shí)路段的連通性概率表示為:
根據(jù)上述分析,十字路口Ii和Ij之間的連通性總概率為:
Pc(i,j)=Pc1+Pc2 (8)
延遲模型:由于城市環(huán)境中交通燈的規(guī)則,車輛成簇移動(dòng),簇內(nèi)的車輛相互連接,因此根據(jù)車輛簇群的規(guī)模大小,可以將車輛狀況劃分為以下兩種不同的情況。
(1)路段部分連通狀態(tài):如圖3所示,路段上部分鏈路連通,在連通路段上的數(shù)據(jù)包的傳輸方向上,數(shù)據(jù)包所在當(dāng)前節(jié)點(diǎn)會(huì)在其傳輸范圍內(nèi)的所有節(jié)點(diǎn)中選擇距離自身最遠(yuǎn)的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),進(jìn)行貪婪轉(zhuǎn)發(fā);而斷開路段上的數(shù)據(jù)包進(jìn)行攜帶轉(zhuǎn)發(fā)。
(2)路段全部連通狀態(tài):如圖4所示,路段上的鏈路全部連通,因此兩個(gè)十字路口之間的數(shù)據(jù)包利用中繼節(jié)點(diǎn)的貪婪算法進(jìn)行轉(zhuǎn)發(fā)。
根據(jù)上述模型可以得出兩種情況的路段,接下來(lái)主要分析這兩種路況的延遲。
當(dāng)路段部分連通的情況下,如圖3所示,路段部分連通,傳輸延遲Dnp的表示如下:
其中,L表示路段長(zhǎng)度,表示路段上的數(shù)據(jù)包的平均傳輸速度。
由于相反方向道路上的車輛,向東道路會(huì)出現(xiàn)鏈路連通與斷開的交互時(shí)期,在鏈路斷開時(shí),車輛攜帶數(shù)據(jù)包進(jìn)行傳輸,傳輸速度為v1,當(dāng)傳輸范圍內(nèi)出現(xiàn)鄰居車輛時(shí),將數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā);在鏈路連通時(shí),直接將數(shù)據(jù)包轉(zhuǎn)發(fā)給下一個(gè)鄰居車輛,傳輸速度為v1hop,表達(dá)式如下:
其中aR表示每塊的長(zhǎng)度,tp表示一跳的傳輸時(shí)間[13]。
根據(jù)交互更新過(guò)程定理[14],在鏈路斷開期間,數(shù)據(jù)包的傳輸時(shí)間與總傳輸時(shí)間的比值為:
在鏈路連通期間,數(shù)據(jù)包的傳輸時(shí)間與總傳輸時(shí)間的比值為:
其中Tdp,Tcp分別表示鏈路斷開和連通期間內(nèi)的數(shù)據(jù)包的傳輸時(shí)間,ddp,dcp分別表示鏈路斷開和連通期間內(nèi)數(shù)據(jù)包的傳輸距離,將公式(10)、(11)和(12)代入,推導(dǎo)得到為:
將公式(13)代入公式(9)中,推導(dǎo)得出路段的傳輸延遲為:
鏈路斷開期間,如圖3所示,車輛Vk和Vk+1之間的距離x>R,且x對(duì)應(yīng)的相反方向的道路上沒(méi)有車輛,因此兩者之間的鏈路斷開,Vk則攜帶數(shù)據(jù)包進(jìn)行傳輸,直到Vk的傳輸范圍內(nèi)出現(xiàn)可以進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)的鄰居車輛為止。
車輛Vk和Vk+1之間鏈路斷開,Vk攜帶數(shù)據(jù)包繼續(xù)傳輸,直到向西道路上連續(xù)個(gè)塊中每個(gè)塊至少有一輛車,才能保證鏈路的連通,在此之前,Vk經(jīng)過(guò)的塊的個(gè)數(shù)表示如下[14]:
其中,表示向西道路上每個(gè)塊內(nèi)至少有一輛車的概率。
Vk和Vk+1之間的鏈路斷開(x>R),意味著兩者之間的距離對(duì)應(yīng)的相反方向道路上的塊中至少有一個(gè)塊內(nèi)沒(méi)有車輛,則Vk和Vk+1之間鏈路斷開的概率為:
由于向東道路上車輛的概率密度函數(shù)為則鏈路斷開概率為:
根據(jù)上述分析,鏈路斷開期間數(shù)據(jù)包傳輸?shù)钠骄嚯x為:
將公式(15)、(16)和(17)代入公式(18)中,可以推導(dǎo)出鏈路斷開期間數(shù)據(jù)包傳輸?shù)钠骄嚯x。
在鏈路連通期間,在車輛之間的鏈路連通時(shí),數(shù)據(jù)包的傳輸速度為v1hop,傳輸距離需要分情況討論。
第一種情況,若向東道路上的連續(xù)車輛之間的距離不大于R,或者雖然距離大于R,但距離所對(duì)應(yīng)的向西道路上的塊內(nèi)至少有一輛車可以進(jìn)行修復(fù),如圖3所示,那么這兩者之間是連通的,此時(shí)數(shù)據(jù)包傳輸方向上的兩個(gè)連續(xù)車輛之間的預(yù)期平均傳輸距離為:
若有y個(gè)連續(xù)鏈路連通,那么傳輸距離為y·E(X|C),因此連通鏈路上的預(yù)期平均距離為:
第二種情況,若車輛間鏈路斷開的距離由向西道路上的車輛修復(fù)成功,則數(shù)據(jù)包仍以速度v1hop進(jìn)行傳輸,如圖3所示,隨著兩端車輛的移動(dòng),Vk和Vk+1之間的距離塊被連通情況2內(nèi)的車輛占用,此時(shí)數(shù)據(jù)包可以進(jìn)行跳與跳之間的轉(zhuǎn)發(fā),Vk和Vk+1之間的距離為平均傳輸距離,表達(dá)式如下:
最終路段部分連通狀態(tài)下數(shù)據(jù)傳輸?shù)钠骄嚯x為:
dcp=dcp1+dcp2 (22)
本文將公式(20)和(21)代入公式(22)中,得到路段部分連通下數(shù)據(jù)包傳輸?shù)钠骄嚯x,根據(jù)公式(14)、(18)和(22),推導(dǎo)得出路段延遲Dnp。
當(dāng)路段全部連通時(shí),如圖4所示,路段上的鏈路全部連通,因此利用跳與跳之間的貪婪算法進(jìn)行數(shù)據(jù)包的傳輸,則相鄰十字路口i,j之間的傳輸延遲為:
Dnc=Hnc·tp (23)
其中,表示i,j之間的跳數(shù),tp表示一跳的傳輸時(shí)間。
根據(jù)上述分析,兩個(gè)相鄰十字路口i,j之間的平均傳輸延遲為:
D(i,j)=Dnp·(1-Pc(i,j))+Dnc·Pc(i,j) (24)
其中,Pc(i,j)表示路段的連通概率。
圖7-9分別是路段平均延遲與傳輸距離、車輛數(shù)目和車輛速度三者之間的關(guān)系。在圖7中路段平均延遲是關(guān)于傳輸距離和車輛密度的函數(shù),交通信息的參數(shù)設(shè)置如下,車輛速度v1,v2分別為10m/s和25m/s,路段長(zhǎng)度L為2000m,車輛密度λ1=λ2=λ分別為0.01、0.02、0.03和0.04vehicles/m,由圖可知:(1)車輛密度相同時(shí),傳輸距離增大,數(shù)據(jù)包傳輸所需的延遲會(huì)減??;(2)傳輸距離一定時(shí),車輛密度越大,傳輸延遲越小。在圖8中路段平均延遲是關(guān)于車輛數(shù)目和路段長(zhǎng)度的函數(shù),傳輸距離R為200m,車輛速度v1,v2分別為10m/s和25m/s,路段長(zhǎng)度L分別為1000、1500、2000和2500m,由圖可知:(1)車輛數(shù)目一定時(shí),路段長(zhǎng)度減小,延遲會(huì)逐漸減小;(2)路段長(zhǎng)度相同時(shí),車輛數(shù)目越多,傳輸延遲會(huì)減少。在圖9中路段平均延遲是關(guān)于車輛速度和車輛密度的函數(shù),路段長(zhǎng)度L為2000m,傳輸距離R為200m,車輛密度λ1=λ2=λ分別為0.01、0.015、0.02和0.025vehicles/m,由圖可知:(1)車輛密度相同時(shí),隨著車輛速度的增加,延遲逐漸減少;(2)車輛速度一定時(shí),車輛越密集,則延遲越小。上述曲線圖詳細(xì)顯示了路段平均延遲與不同變量之間的變化趨勢(shì)。
路由協(xié)議探索:如圖6,本實(shí)施例的遺傳算法的基礎(chǔ)協(xié)議是基于十字路口的路由協(xié)議,此協(xié)議中的車輛配備GPS與導(dǎo)航系統(tǒng),根據(jù)交通狀況與地理位置信息預(yù)測(cè)車輛的移動(dòng)方向,動(dòng)態(tài)選擇下一跳十字路口,同時(shí),行駛在路段上的車輛利用攜帶轉(zhuǎn)發(fā)策略進(jìn)行數(shù)據(jù)包的傳輸。
遺傳算法是模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過(guò)程的計(jì)算模型,其本質(zhì)是從一個(gè)隨機(jī)的初始群體出發(fā),依據(jù)優(yōu)勝劣汰原則,通過(guò)選擇,交叉,變異等遺傳優(yōu)化作用,產(chǎn)生更優(yōu)的下一代群體,遺傳算法基本處理流程參見(jiàn)圖5。另一方面,遺傳算法還保留有巨大搜索空間的多樣性的特點(diǎn)。
基于路由探索的可用路徑,根據(jù)下面五個(gè)步驟對(duì)遺傳算法進(jìn)行路徑優(yōu)化,不斷重復(fù)迭代,尋找QoS最佳的路徑。具體步驟如下:
1.編碼:根據(jù)網(wǎng)絡(luò)路由的特點(diǎn)和遺傳算法的編碼原則,本文采用直接編碼,無(wú)需解碼,即對(duì)于一條給定的從源點(diǎn)端點(diǎn)十字路口到目的節(jié)點(diǎn)端點(diǎn)十字路口的路徑,該路徑上的十字路口的編號(hào)即為染色體編碼,一條編號(hào)序列就是一條染色體,即一條路徑對(duì)應(yīng)著一個(gè)個(gè)體。此種編碼方式中染色體的長(zhǎng)度不定,但編號(hào)數(shù)目不會(huì)超過(guò)十字路口的總數(shù),因而有效地避免了循環(huán)路由的問(wèn)題。
2.設(shè)置初始群體:本文根據(jù)基于十字路口的路由協(xié)議的路由選擇策略,探索到G條路由路徑,作為初始群體,規(guī)模大小為G。
3.進(jìn)行選擇操作:遺傳算法中個(gè)體的優(yōu)劣由適應(yīng)度函數(shù)值決定,個(gè)體的適應(yīng)度函數(shù)值越高,則說(shuō)明個(gè)體越優(yōu)秀,即對(duì)應(yīng)的路由路徑越優(yōu),適應(yīng)度函數(shù)表示如下:
S=α·Pn+β·(1/Dnth) (25)
其中,Pn表示第n個(gè)個(gè)體的連通性概率;Dnth表示第n個(gè)個(gè)體(第n條路徑)的平均傳輸延遲;α和β為加權(quán)系數(shù),α,β∈[0,1]。
本文采用最佳策略選擇和輪盤賭選擇相結(jié)合的選擇方法,即在每對(duì)染色體進(jìn)行交叉之前,先根據(jù)適應(yīng)度值選擇最佳個(gè)體,取代子代群體中適應(yīng)度值最差的個(gè)體,直接遺傳到子代群體中,其余個(gè)體都采用輪盤賭法進(jìn)行選擇,適應(yīng)度值越高,被選擇的概率越大。
4.進(jìn)行交叉操作:交叉操作是交換兩個(gè)個(gè)體中的子路徑,本文采用后向交叉,如圖10所示,在群體中隨機(jī)選取兩個(gè)染色體P1,P2作為父代個(gè)體,兩條路徑共同經(jīng)過(guò)的十字路口(源點(diǎn)端點(diǎn)十字路口與目的節(jié)點(diǎn)端點(diǎn)十字路口除外)作為備選的交叉位置,從備選的交叉位置中隨機(jī)選擇作為交叉位置,將交叉位置之后的部分進(jìn)行交換,形成兩個(gè)子代個(gè)體P1’,P2’。
5.進(jìn)行變異操作:如圖11所示,群體中隨機(jī)選擇一個(gè)染色體P,在P中隨機(jī)選擇節(jié)點(diǎn)ni作為變異節(jié)點(diǎn),在ni的鄰居節(jié)點(diǎn)集中隨機(jī)選擇節(jié)點(diǎn)nj,產(chǎn)生從源點(diǎn)到nj和nj到目的節(jié)點(diǎn)的兩條路徑r1,r2,若r1,r2中存在重復(fù)的節(jié)點(diǎn),則放棄此路徑,不進(jìn)行變異,否則連接兩條路徑形成新的染色體P’,進(jìn)入下一代。
6.重復(fù)執(zhí)行選擇、交叉和變異操作,直到達(dá)到迭代次數(shù)為止,最終得到最優(yōu)個(gè)體,優(yōu)化路由路徑。
本實(shí)施例還提供了利用MATLAB仿真軟件對(duì)GABR的性能指標(biāo)進(jìn)行的仿真分析,并且與IBR、CAR協(xié)議進(jìn)行性能參數(shù)的比較。仿真環(huán)境選取上述城市道路進(jìn)行模擬,相關(guān)仿真參數(shù)如表1所示。
表1仿真參數(shù)設(shè)置
Tab.1 Settings of simulation parameters
如圖12,為傳輸范圍與平均延遲的曲線,由圖可知GABR的平均延遲始終低于IBR和CAR,CAR協(xié)議是一種基于源點(diǎn)位置的路由協(xié)議,不能及時(shí)自適應(yīng)地處理拓?fù)涞淖兓赡軙?huì)導(dǎo)致數(shù)據(jù)包傳輸?shù)木徛?;IBR協(xié)議是基于十字路口的路由協(xié)議,利用實(shí)時(shí)交通信息動(dòng)態(tài)選擇下一跳十字路口,但未考慮車輛密度,可能會(huì)導(dǎo)致傳輸延遲稍大;但所提出的GABR協(xié)議將路段進(jìn)行分塊,估計(jì)平均延遲時(shí)考慮路段連通性,再利用遺傳算法進(jìn)行路由優(yōu)化,尋找出最佳路由。
如圖13,為車輛數(shù)目與數(shù)據(jù)包傳輸比值的曲線,由圖可知車輛越多,數(shù)據(jù)包丟失越少,同時(shí)針對(duì)不同的車輛數(shù)目,GABR協(xié)議的數(shù)據(jù)包傳輸能力較優(yōu),GABR協(xié)議實(shí)時(shí)獲取交通信息,對(duì)路段進(jìn)行分塊,分析路段的連通性,動(dòng)態(tài)地選擇下一跳十字路口,利用遺傳算法優(yōu)化路徑,有利于數(shù)據(jù)包傳輸成功;IBR協(xié)議主要考慮車輛數(shù)目與車輛速度,未考慮連通性,可能會(huì)導(dǎo)致數(shù)據(jù)包傳輸失?。籆AR協(xié)議根據(jù)源點(diǎn)位置確定一條完整的路由路徑,但對(duì)于不斷變化的網(wǎng)絡(luò)結(jié)構(gòu)而言,固定的路徑會(huì)導(dǎo)致大量數(shù)據(jù)包的丟失。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。