本發(fā)明屬于車輛智能導(dǎo)航領(lǐng)域,涉及一種車載智能導(dǎo)航系統(tǒng)的基于駕駛員選線經(jīng)驗的車載端多目標(biāo)最短路徑優(yōu)化計算實(shí)現(xiàn)方法。
技術(shù)背景
車載端多目標(biāo)最短路徑計算就是由車載智能導(dǎo)航系統(tǒng)完成從路網(wǎng)中一對出行起訖點(diǎn)之間的所有備選路徑中找出使得個體駕駛員所指定的多種路徑選擇評價指標(biāo)(如出行距離和出行時間等)按其指定的權(quán)值分配方式加權(quán)之和最小的那條路徑。這是一個NP難問題,至今仍未得到有效解決。特別是對于大規(guī)模路網(wǎng),現(xiàn)有方法很難在短時間內(nèi)完成求解計算,多以指定時間內(nèi)計算所得近似最短路徑來衡量各種計算方法的好壞。但是,由于多目標(biāo)之間可能存儲在矛盾,此消彼長,指定時間內(nèi)計算所得近似最短路徑也可能不止一條,多數(shù)為一個集合,而現(xiàn)有方法大多只考慮數(shù)學(xué)意義上的最短,所求解的“最短路徑”在很多情況下并不符合駕駛員出行習(xí)慣,不被駕駛員所接受,如駕駛員通常不會繞行很遠(yuǎn)的距離去選擇等級較高的道路。如何在規(guī)定時間內(nèi)以最快的速度從諸多備選路徑中找出令駕駛員最滿意的路徑已成為目前多目標(biāo)路徑導(dǎo)航得以實(shí)現(xiàn)的瓶頸問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出一種車載智能導(dǎo)航系統(tǒng)的基于選線經(jīng)驗的車載端多目標(biāo)最短路徑計算實(shí)現(xiàn)方法,利用駕駛員的經(jīng)驗路徑數(shù)據(jù)和路徑調(diào)整的一般規(guī)律構(gòu)建基于備選路徑集合迭代更新的多目標(biāo)最短路徑計算機(jī)制,通過迭代計算求取駕駛員的滿意路徑,實(shí)現(xiàn)車載智能導(dǎo)航系統(tǒng)對路網(wǎng)中車輛的實(shí)時和多目標(biāo)路徑導(dǎo)航。駕駛員通過車載導(dǎo)航裝置輸入一次出行的起訖點(diǎn)、路徑選擇評價指標(biāo)及各指標(biāo)相應(yīng)權(quán)值等數(shù)據(jù)信息,車載端多目標(biāo)最短路徑計算方法動態(tài)地讀取存儲在車載智能導(dǎo)航系統(tǒng)二維數(shù)據(jù)表中的經(jīng)驗路徑數(shù)據(jù),在短時間內(nèi)完成出行起訖點(diǎn)之間指定迭代次數(shù)下的多目標(biāo)最短路徑計算和結(jié)果評價,并將計算結(jié)果顯示在車載導(dǎo)航裝置的數(shù)字電子地圖上用于路徑導(dǎo)航。
本發(fā)明的技術(shù)方案是以個體駕駛員的一次出行為計算單元,將車載端多目標(biāo)路徑優(yōu)化計算的計算過程分為備選路徑集合初始化、備選路徑集合迭代更新及多 目標(biāo)最短路徑計算結(jié)果評價與輸出三個階段。其中,備選路徑集合初始化包括經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲模塊和經(jīng)驗路徑查詢與備選路徑集合構(gòu)建模塊,經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲模塊通過設(shè)計巧妙的數(shù)據(jù)組織與存儲方式將路網(wǎng)中所有節(jié)點(diǎn)之間的經(jīng)驗路徑數(shù)據(jù)以占用盡可能少的存儲空間預(yù)先存儲于車載智能導(dǎo)航系統(tǒng)的三個二維數(shù)據(jù)表文件中,經(jīng)驗路徑查詢與備選路徑集合構(gòu)建模塊從經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲模塊構(gòu)建的三個二維數(shù)據(jù)表文件中采用定位查詢的方式獲取駕駛員指定起訖點(diǎn)之間的所有經(jīng)驗路徑數(shù)據(jù)并用于構(gòu)建初始的備選路徑集合;備選路徑集合迭代更新包括備選路徑綜合指標(biāo)評價函數(shù)計算模塊、新備選路徑生成數(shù)計算模塊、新備選路徑生成模塊和備選路徑集合優(yōu)化模塊,備選路徑綜合指標(biāo)評價函數(shù)計算模塊通過構(gòu)建備選路徑綜合指標(biāo)評價函數(shù)在每次迭代計算過程中對備選路徑集合中每條備選路徑的質(zhì)量評價,新備選路徑生成數(shù)計算模塊根據(jù)備選路徑集合中每條備選路徑的綜合指標(biāo)評價函數(shù)值計算其應(yīng)生成的新備選路徑總數(shù),新備選路徑生成模塊根據(jù)駕駛員路徑調(diào)整的一般規(guī)律通過替換備選路徑中的部分路徑生成分布于其周圍指定數(shù)量的新備選路徑,備選路徑集合優(yōu)化模塊用于保障備選路徑集合中的備選路徑數(shù)量不超過預(yù)先指定的最大數(shù)量,如果在某次迭代過程中完成新備選路徑生成計算之后,原備選路徑和新備選路徑總數(shù)超過備選路徑集合允許保存?zhèn)溥x路徑的最大數(shù),就將所有原備選路徑和新備選路徑按照綜合指標(biāo)評價函數(shù)值從小到大的順序進(jìn)行排序,依次刪除綜合評價指標(biāo)函數(shù)值較大的備選路徑以保障備選路徑總數(shù)不超過備選路徑集合允許保存的最大數(shù)值;多目標(biāo)最短路徑計算結(jié)果評價與輸出是將最大迭代次數(shù)計算完成后所得備選路徑集合中綜合指標(biāo)評價函數(shù)值最小的備選路徑作為指定迭代次數(shù)下的最短路徑計算結(jié)果,設(shè)定評價參數(shù)對其進(jìn)行評價,如評價參數(shù)達(dá)到滿意水平,就將其顯示在車載導(dǎo)航裝置的數(shù)字電子地圖上用于路徑導(dǎo)航,如果評價參數(shù)沒有達(dá)到滿意水平,重新修改備選路徑集合迭代更新的最大次數(shù),重新進(jìn)行備選路徑集合迭代更新計算,直至評價參數(shù)達(dá)到滿意水平。
通過采用上述方案,利用駕駛員選線經(jīng)驗加快對多目標(biāo)最短路徑搜索速度的同時,促使所得最短路徑計算結(jié)果更傾向于駕駛員滿意路徑,解決了如何在多目標(biāo)最短路徑計算方法設(shè)計中考慮駕駛員出行習(xí)慣的問題,克服了現(xiàn)有多目標(biāo)路徑優(yōu)化計算方法的弊端,實(shí)現(xiàn)了實(shí)時和多目標(biāo)的路徑導(dǎo)航。
附圖說明
圖1:本發(fā)明框圖
圖2:備選行車路線集合初始化流程圖
圖3:網(wǎng)絡(luò)示例圖
圖4:圖3所示網(wǎng)絡(luò)對應(yīng)的數(shù)據(jù)表X的數(shù)據(jù)存儲示意圖
圖5:圖3所示網(wǎng)絡(luò)對應(yīng)的數(shù)據(jù)表Y的數(shù)據(jù)存儲示意圖
圖6:圖3所示網(wǎng)絡(luò)對應(yīng)的數(shù)據(jù)表Z的數(shù)據(jù)存儲示意圖
圖7:備選行車路線集合迭代更新流程圖
圖8:新備選行車路線生成模塊中所涉及的部分符號與節(jié)點(diǎn)之間的對應(yīng)關(guān)系圖
圖9:行車路線優(yōu)化計算結(jié)果評價與輸出流程圖
具體實(shí)施方式
在實(shí)際出行過程中,經(jīng)驗路徑是駕駛員出行的首選,當(dāng)經(jīng)驗路徑中出現(xiàn)道路交通狀態(tài)較差的道路時,駕駛員才會做路徑調(diào)整,而且路徑調(diào)整主要以規(guī)避原路徑中道路交通狀態(tài)較差道路為主,所選擇的替代路徑通常分布于經(jīng)驗路徑的周圍,因此,以所有經(jīng)驗路徑為中心,向周圍不斷擴(kuò)展以尋找多目標(biāo)最短路徑更符合一般駕駛員的出行習(xí)慣。本發(fā)明解決車載端多目標(biāo)最短路徑計算問題的核心思路就是利用駕駛員路徑調(diào)整的這一規(guī)律,首先以出行起訖點(diǎn)之間的所有經(jīng)驗路徑構(gòu)建一個初始備選路徑集合,再通過替換備選路徑中道路交通狀態(tài)較差部分道路產(chǎn)生新備選路徑,進(jìn)而對備選路徑集合進(jìn)行不斷地迭代更新,使其最終收斂于多目標(biāo)最短路徑。具體實(shí)施方法如下:
第一階段:備選路徑集合初始化
本發(fā)明采用駕駛員指定出行起訖點(diǎn)之間的所有經(jīng)驗路徑構(gòu)建初始備選路徑集合,加快多目標(biāo)最短路徑搜索速度的同時促使所得多目標(biāo)最短路徑更符合駕駛員出行習(xí)慣。其中,備選路徑集合初始化主要由經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲模塊和經(jīng)驗路徑查詢與備選路徑集合構(gòu)建模塊組成,備選路徑集合初始化流程見圖2。
1、經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲模塊
經(jīng)驗路徑屬于靜態(tài)數(shù)據(jù),可通過交通信息中心的車輛行駛軌跡記錄和交通調(diào)查獲取。直接將路網(wǎng)中所有起訖點(diǎn)之間的經(jīng)驗路徑數(shù)據(jù)預(yù)先存儲于車載導(dǎo)航系統(tǒng)的數(shù)據(jù)庫中能夠避免駕駛員在每次出行過程中都要向交通信息中心進(jìn)行信息服務(wù)請求(即浪費(fèi)時間又浪費(fèi)金錢)。本發(fā)明設(shè)計了一種能夠有效節(jié)省存儲空間的經(jīng)驗路徑數(shù)據(jù)組織與存儲方法,僅需如下三個二維數(shù)據(jù)表即可實(shí)現(xiàn):
第一個二維數(shù)據(jù)表(用字母X表示),假設(shè)一個路網(wǎng)共有N個節(jié)點(diǎn)(這里節(jié)點(diǎn)代表路網(wǎng)中的交叉口或樞紐),則第一個二維數(shù)據(jù)表應(yīng)包含N行N列數(shù)據(jù),其 中,第i行第j列存儲的是從第i個節(jié)點(diǎn)到第j個節(jié)點(diǎn)的經(jīng)驗路徑總數(shù);
第二個二維數(shù)據(jù)表(用字母Y表示),該數(shù)據(jù)表包行N行數(shù)據(jù),其中,第i行從第一列開始依次存儲從第i個節(jié)點(diǎn)到其他節(jié)點(diǎn)(按節(jié)點(diǎn)編號從小到大的順序)的所有經(jīng)驗路徑;
第三個二維數(shù)據(jù)表(用字母Z表示)包含N行數(shù)據(jù),其中,第i行從第一列開始依次存儲第二個二維數(shù)據(jù)表第i行中每條經(jīng)驗路徑的起始列和結(jié)束列。
以圖3所示網(wǎng)絡(luò)(共包含6個節(jié)點(diǎn)和7條弧,弧即兩個相鄰節(jié)點(diǎn)間的有向連接線)為例,則上述三個二維數(shù)據(jù)表均應(yīng)包行6行數(shù)據(jù),假設(shè)節(jié)點(diǎn)1到節(jié)點(diǎn)2僅有一條經(jīng)驗路徑{1,2},節(jié)點(diǎn)1到節(jié)點(diǎn)3有兩條經(jīng)驗路徑{1,2,3}和{1,2,5,3},節(jié)點(diǎn)1到節(jié)點(diǎn)4僅有一條經(jīng)驗路徑{1,2,4},節(jié)點(diǎn)1到節(jié)點(diǎn)5僅有一條經(jīng)驗路徑{1,2,5},節(jié)點(diǎn)1到節(jié)點(diǎn)6有兩條經(jīng)驗路徑{1,2,3,6}和{1,2,5,3,6},則數(shù)據(jù)表X、Y和Z的第一行數(shù)據(jù)組織與存儲格式分別如圖4、圖5和圖6所示。
需要說明的是經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲模塊僅需要在首次多目標(biāo)最短路徑計算之前執(zhí)行。
2、經(jīng)驗路徑查詢與備選路徑集合構(gòu)建模塊
在完成經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲之后,即可根據(jù)駕駛員在一次出行過程中所指定的出行起訖點(diǎn)獲取該起訖點(diǎn)之間的所有經(jīng)驗路徑,并用于構(gòu)建備選路徑集合,完成備選路徑集合的初始化。根據(jù)經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲模塊所建立的三個數(shù)據(jù)表,給定起訖點(diǎn)i和j(i≠j),令X(i,j)表示第一個二維數(shù)據(jù)表的第i行第j列所存儲的數(shù)據(jù),則節(jié)點(diǎn)i到節(jié)點(diǎn)j的所有經(jīng)驗路徑在第二個二維數(shù)據(jù)表中的存儲位置為至其中,節(jié)點(diǎn)i到節(jié)點(diǎn)j的第a(0<a≤X(i,j))條經(jīng)驗路徑的起訖點(diǎn)在第二個數(shù)據(jù)表中的存儲位置分別為:和則從節(jié)點(diǎn)i到節(jié)點(diǎn)j的第a條經(jīng)驗路徑為由到所存儲的節(jié)點(diǎn)構(gòu)成,將這些經(jīng)驗路徑用于構(gòu)建備選路徑集合,完成備選路徑集合的初始化。
仍以圖3所示網(wǎng)絡(luò)為例,如想查詢節(jié)點(diǎn)1到節(jié)點(diǎn)3之間的所有經(jīng)驗路徑,根據(jù)圖4,X(1,3)=2,即節(jié)點(diǎn)1到節(jié)點(diǎn)3共有兩條經(jīng)驗路徑,這兩條經(jīng)驗路徑在圖5中的起訖點(diǎn)的存儲位置分別為:Z(1,2×1+1)=3,Z(1,2×1+2)=5,Z(1,2×1+3)=6,Z(1,2×1+4)=9,則第一條經(jīng)驗路徑為由Y(1,3)到Y(jié)(1,5)所存儲的節(jié)點(diǎn)按順序排列構(gòu)成,第二條經(jīng)驗路徑為由Y(1,6)到Y(jié)(1,9)所存儲的節(jié)點(diǎn)按順序排列構(gòu)成,根據(jù)圖5,這兩條經(jīng)驗路徑分別為:{1,2,3}和{1,2,5,3},則節(jié)點(diǎn)1到節(jié)點(diǎn)3的備選路徑集合為{{1,2,3},{1,2,5,3}}。
由上可知,本發(fā)明所提出的經(jīng)驗路徑數(shù)據(jù)組織與預(yù)存儲方法不但能夠節(jié)省存儲空間,而且還能夠?qū)崿F(xiàn)任意起訖點(diǎn)之間所有經(jīng)驗路徑的定位查詢。
第二階段:備選路徑集合迭代更新
備選路徑集合迭代更新主要由備選路徑綜合指標(biāo)評價函數(shù)計算模塊、新備選路徑生成數(shù)計算模塊、新備選路徑生成模塊及備選路徑集合優(yōu)化模塊組成,備選路徑集合迭代更新流程見圖7。
1、備選路徑綜合指標(biāo)評價函數(shù)計算模塊
本發(fā)明定義了一個如式(1)所示綜合指標(biāo)評價函數(shù),實(shí)現(xiàn)以定量的形式評價各備選路徑的優(yōu)劣。
式中,l為任一備選路徑,f(l)為其綜合指標(biāo)評價函數(shù),C為駕駛員所指定的路徑選擇評價指標(biāo)個數(shù),wc為第c個路徑選擇評價指標(biāo)的權(quán)值,且有E為路網(wǎng)中所有弧(這里的一條弧即為相鄰節(jié)點(diǎn)之間的路段的一個行駛方向)構(gòu)成的集合,zc,υ為弧v的第c個路徑選擇評價指標(biāo)所對應(yīng)弧阻抗的歸一化值,其中,路徑選擇評價指標(biāo)與弧阻抗一一對應(yīng),如路徑選擇評價指標(biāo)為路徑的總出行距離,則弧阻抗為弧長度,路徑選擇評價指標(biāo)為路徑的總出行時間,則弧阻抗應(yīng)為弧的行程時間等等。
這里需要說明的是駕駛員指定路徑選擇評價指標(biāo)后,車載導(dǎo)航系統(tǒng)即向交通信息中心請求下發(fā)與路徑選擇評價指標(biāo)相對應(yīng)的路網(wǎng)中所有弧的各弧阻抗的實(shí)時數(shù)據(jù),采用歸一化處理的弧阻抗數(shù)據(jù)主要是考慮到交通信息中心為車載導(dǎo)航系統(tǒng)提供的各種弧阻抗數(shù)據(jù)通常量綱差距較大,如果直接進(jìn)行應(yīng)用計算則容易引起較大誤差,因此,本發(fā)明在式(1)中采用行歸一化處理后的弧阻抗值。其中,各弧阻抗歸一化處理的具體方法如下:
對于駕駛員所指定的C個路徑選擇評價指標(biāo),對應(yīng)的每條弧應(yīng)有c種弧阻抗,分別用符號x1,x2,…,xc,…,xC表示,采用式(2)和式(3)對路網(wǎng)中每條弧的各弧阻抗進(jìn)行歸一化處理。
式(2)中,為圖G中所有弧的第c個弧阻抗的平均值,為(c=1,2,…,C)中的最大值,yc為中間過渡值,式(3)中,和分別為所有弧對應(yīng)的yc的最小值和最大值,zc為第c個弧阻抗歸一化處理的最終值。
2、新備選路徑生成數(shù)計算模塊
備選路徑的綜合指標(biāo)評價函數(shù)值越小的路徑越接近最短路徑,因此,應(yīng)增加對綜合指標(biāo)評價函數(shù)值較小的備選路徑的周圍路徑的搜索,本發(fā)明認(rèn)為每條備選路徑應(yīng)生成的新備選路徑總數(shù)與其綜合指標(biāo)評價函數(shù)值之間具有遞減的函數(shù)關(guān)系,在每次迭代過程中均以式(4)為當(dāng)前備選路徑集合中的每條備選路徑分別計算其應(yīng)生成的新備選路徑總數(shù)。
式中:Si,k和fi,k分別為第k次迭代過程中當(dāng)前備選路徑集合中第i條備選路徑應(yīng)生成新備選路徑的總數(shù)和綜合指標(biāo)評價函數(shù)值,sτ和分別為計算之前預(yù)先指定的每條備選路徑可生成新備選路徑總數(shù)的最大值和最小值,fτ,k和為第k次迭代過程中當(dāng)前備選路徑集合中所有備選路徑的綜合指標(biāo)評價函數(shù)值的最 大值和最小值。
3、新備選路徑生成模塊
本發(fā)明通過替換已有備選路徑中指定數(shù)量的節(jié)點(diǎn)的方式生成分布于原備選路徑周圍的新備選路徑。具體計算步驟如下:
步驟1:備選路徑中應(yīng)被替換節(jié)點(diǎn)總數(shù)計算
隨著迭代次數(shù)的增加,備選路徑應(yīng)逐漸收斂于最短路徑,備選路徑與多目標(biāo)最短路徑的共用節(jié)點(diǎn)也不斷增多,因此,認(rèn)為備選路徑中應(yīng)被替換節(jié)點(diǎn)數(shù)與迭代次數(shù)之間存在遞減的關(guān)系,本發(fā)明在每次迭代過程中均以式(5)計算當(dāng)前備選路徑集合中的每條備選路徑應(yīng)被替換節(jié)點(diǎn)總數(shù)。
式中,ml,k為第k次迭代過程中當(dāng)前備選路徑集合中任一備選路徑l上應(yīng)被替換節(jié)點(diǎn)的總數(shù),Hl為備選路徑l包含的節(jié)點(diǎn)總數(shù),K為預(yù)先指定的最大迭代次數(shù),λ為實(shí)數(shù),且λ∈(0,1]。
步驟2:被替換節(jié)點(diǎn)位置確定及新路徑生成
確定了當(dāng)前備選路徑集合中各備選路徑應(yīng)產(chǎn)生的新備選路徑總數(shù)和應(yīng)被替換的節(jié)點(diǎn)總數(shù)之后,即可通過替換原備選路徑中部分路徑的方式生成指定數(shù)量的新備選路徑。如根據(jù)式(4)和式(5)計算得,在第k次迭代過程中,某一備選路徑q(q∈Q)應(yīng)產(chǎn)生Sq,k條新備選路徑,q中應(yīng)被替換的節(jié)點(diǎn)總數(shù)為mq,k,以q為基礎(chǔ)產(chǎn)生Sq,k條新備選路徑為例來說明新備選路徑生成的具體步驟。
分步驟1:首先,確定備選路徑q上應(yīng)被替換路徑的起始節(jié)點(diǎn)和終止節(jié)點(diǎn),令μ=mq,k+2,備選路徑q中應(yīng)被替代部分路徑的起訖點(diǎn)分別為節(jié)點(diǎn)u和節(jié)點(diǎn)v。為使被替換路線更傾向于道路交通狀態(tài)較差路段,需要定義一個綜合道路交通狀態(tài)評價參數(shù)ρ,計算方法見式(6)。
式中,fc(zc)為折損函數(shù),其中,fc(zc)是zc的函數(shù)。這里以示例的形式說明fc(zc)的具體構(gòu)建方法,如駕駛員所選擇的路徑選擇評價指標(biāo)分別為出行距離和出行時間,以z1和z2表示備選路徑q中任一條弧r的弧長度和弧行程時間規(guī)劃一化處理值,則f1(z1)=zd,其中,zd為弧r的起終點(diǎn)到備選路徑q起訖點(diǎn)直線連接線的垂直距離的最大值(需按弧長度歸一化處理方法做歸一化處理),為弧r的期望行程時間歸一化處理值,ε是隨機(jī)項,ε3~N(0,1)。
分步驟2:以隨機(jī)數(shù)的方式生成一組隨機(jī)數(shù)ε,計算路網(wǎng)中每條弧的綜合道路交通狀態(tài)評價參數(shù)ρ。
分步驟3:找出備選路徑q的所有弧中ρ最大的弧的終止節(jié)點(diǎn)θ,同時,令備選路徑q的起點(diǎn)和節(jié)點(diǎn)θ之間的節(jié)點(diǎn)總數(shù)為p1,節(jié)點(diǎn)θ和備選路徑q的訖點(diǎn)之間的節(jié)點(diǎn)總數(shù)為p2,各符號與節(jié)點(diǎn)間的對應(yīng)關(guān)系見圖7,并作如下處理:
1)如果(如果μ為奇數(shù),則為),則從備選路徑q的第1至1+p1-[μ-(p2+2)]個節(jié)點(diǎn)中隨機(jī)選擇一個節(jié)點(diǎn)作為節(jié)點(diǎn)u,記錄其在備選路徑q上的存儲位置為r,節(jié)點(diǎn)v則為備選路徑q上的第r+μ-1個節(jié)點(diǎn);
2)如果且(如果μ為奇數(shù),則為且p2≥μ),則從備選路徑q的第1至1+p1個節(jié)點(diǎn)中隨機(jī)選擇一個節(jié)點(diǎn)作為節(jié)點(diǎn)u,記錄其在備選路徑q上的存儲位置為r,節(jié)點(diǎn)v則為備選路徑q上的第r+μ-1個節(jié)點(diǎn);
3)如果且則從第1至3+p1+p2-μ+1個節(jié)點(diǎn)中隨機(jī)選擇一個節(jié)點(diǎn)作為節(jié)點(diǎn)u,記錄其在備選路徑q上的存儲位置為r,節(jié)點(diǎn)v則為備選路徑q上的第r+μ-1個節(jié)點(diǎn);
4)如果且p2≥μ,則從第至1+p1個節(jié)點(diǎn)中隨機(jī)選擇一個節(jié)點(diǎn)作為節(jié)點(diǎn)u,記錄其在備選路徑q上的存儲位置為r,節(jié)點(diǎn)v則為備選路徑q上的第r+μ-1個節(jié)點(diǎn)。
時與的情況類似,只是需要進(jìn)行反向查找u和v,不再贅述。
分步驟4:以節(jié)點(diǎn)u和節(jié)點(diǎn)v為起點(diǎn)和訖點(diǎn),采用以ρ為弧阻抗計算從節(jié)點(diǎn)u到節(jié)點(diǎn)v的最短路徑(可以采用圖論中經(jīng)典的Dijkstra算法及其改進(jìn)算法等),并用該路徑替換備選路徑q中節(jié)點(diǎn)u和節(jié)點(diǎn)v之間的路徑,即可得到一條新備選路徑。
分步驟5:重新生成式(6)中的ε,轉(zhuǎn)至分步驟2,直至生成Sk,q條無重復(fù)備選路徑為止結(jié)束計算。
為避免備選路徑重復(fù),需要對每條備選路徑所產(chǎn)生的新備選路徑進(jìn)行檢查,剔除那些與已存在的備選路徑重復(fù)的備選路徑。同時,由于部分備選路徑可能無法產(chǎn)生指定數(shù)量且無重復(fù)的新備選路徑,這樣容易使計算程序陷入無窮搜索過程中,可以通過設(shè)置最大搜索次數(shù)來終止對新備選路徑的搜索。
4、備選路徑集合優(yōu)化模塊
為避免計算量過大,在完成當(dāng)前備選路徑集合中所有備選路徑的新備選路徑生成計算之后,需要統(tǒng)計現(xiàn)有備選路徑(包括所有原備選路徑和所有新備選路徑)的總數(shù),如果該總數(shù)大于預(yù)先設(shè)定的備選路徑集合允許保存的最大數(shù)(該值應(yīng)大于經(jīng)驗路徑總數(shù)),則計算現(xiàn)有各備選路徑的綜合指標(biāo)評價函數(shù)值,并按照數(shù)值大小從小到大進(jìn)行排序,依次刪除綜合指標(biāo)評價函數(shù)值較大的備選路徑,直至所剩備選路徑總數(shù)等于備選路徑集合允許保存的最大數(shù)為止。
第三階段:多目標(biāo)最短路徑計算結(jié)果評價與輸出
多目標(biāo)最短路徑計算結(jié)果評價與輸出流程見圖9,本發(fā)明以達(dá)到指定迭代次數(shù)時備選路徑集合中綜合評價指標(biāo)函數(shù)值最小的路徑q^作為相應(yīng)迭代次數(shù)下所得多目標(biāo)最短路徑,并采用式(7)所示參數(shù)β對計算結(jié)果進(jìn)行評價,其中,β表征了路徑q^對對實(shí)際多目標(biāo)最短路徑的接近度。
式中,為第j個弧阻抗對應(yīng)的單目標(biāo)最短路徑。
當(dāng)β達(dá)到滿意水平時,即可將路徑q^通過車載導(dǎo)航裝置顯示在數(shù)字電子地圖上為駕駛員進(jìn)行路徑導(dǎo)航,如果評價參數(shù)沒有達(dá)到滿意水平,重新修改備選路徑集合迭代更新的最大次數(shù),重新進(jìn)行備選路徑集合迭代更新計算,直至評價參數(shù)達(dá)到滿意水平。由于駕駛員出行習(xí)慣的存在,駕駛員出行的路徑選擇評價指標(biāo)和權(quán)值雖然由駕駛員直接輸入,但是也是駕駛員長期出行經(jīng)驗的一個綜合體現(xiàn),經(jīng)發(fā)明人反復(fù)試驗測試,在很多情況下尤其是對于一些老城區(qū)路網(wǎng)和出行經(jīng)驗豐富的駕駛員,如果出行起訖點(diǎn)之間的經(jīng)驗路徑較為全面,并能夠及時獲得路網(wǎng)的實(shí)時道路阻抗信息,直接比較經(jīng)驗路徑的綜合指標(biāo)評價函數(shù)或僅需幾步的迭代更新計算即可獲取駕駛員滿意路徑,這無疑即節(jié)省了計算時間又滿足了駕駛員的實(shí)際需求。