劉曉歡,張德干,張 捷,張 婷,朱浩麗
(1.天津理工大學 計算機科學與工程學院,天津 300384;2.北京交通大學 電子信息工程學院,北京 100044)
自1959年Dantzig等提出車輛路徑規(guī)劃的問題[1],隨著研究人員們的深入探索,這一難題得到不同程度的解決[2],包括遺傳算法,蟻群算法,粒子群優(yōu)化等[3].在設計智能駕駛車輛路徑規(guī)劃算法時,人們將研究重點放在復雜環(huán)境和多移動目標的系統(tǒng)上[4-5],包括模糊控制,強化學習,智能決策等[6].
粒子群算法[6-7]通過鳥群搜尋食物源和相互傳遞各自的信息使整個鳥群都能聚集在食物源周圍[8].該算法在路徑規(guī)劃中的應用受到很多研究人員的青睞[9].其結構簡單、需要調節(jié)的參數(shù)少而被普遍應用[10-11].但由于其在搜索后期,粒子群種群的多樣性下降容易導致粒子陷入局部極值最優(yōu)解[12-13].針對這一問題,文獻[14]提出一種變異操作方法,增加種群多樣性,通過路徑點冗余篩選算法使所規(guī)劃路徑更平滑更短.文獻[15]提出了將細菌覓食算法引入到粒子群搜索過程的具有全局搜索能力和快速收斂的混合算法.
結合神經(jīng)網(wǎng)絡算法的路徑規(guī)劃方法有很好的適應性,因此市場應用前景良好[16].所以近年來與之相關的問題也成為研究人員們的關注熱點[17-20].例如:為解決網(wǎng)絡流量時間序列的預測問題,文獻[21]提出了量子遺傳算法與模糊神經(jīng)網(wǎng)絡相結合的網(wǎng)絡流量時間序列預測模型.量子遺傳算法具有運算效率高、全局尋優(yōu)能力強、穩(wěn)定性好等優(yōu)點[22].因此利用量子遺傳算法優(yōu)化模糊神經(jīng)網(wǎng)絡的權值可以獲得較好的預測精度和效果[23].文獻[24]提出采用小波網(wǎng)絡和前向神經(jīng)網(wǎng)絡相結合的四層神經(jīng)網(wǎng)絡結構.文獻[25]將神經(jīng)網(wǎng)絡算法與Dijkstra算法結合,解決神經(jīng)網(wǎng)絡的神經(jīng)元活動值計算成本和時間成本急劇增加這一問題.
本文作者設計利用新的權重和學習因子更新方式的粒子群優(yōu)化算法對模糊神經(jīng)網(wǎng)絡進行優(yōu)化,克服局部極值問題,并將之應用于智能駕駛車輛的路徑規(guī)劃中,求解最優(yōu)路徑問題.
本文設計利用粒子群優(yōu)化算法對模糊神經(jīng)網(wǎng)絡權值參數(shù)進行訓練,提出一種基于粒子群優(yōu)化策略與模糊神經(jīng)網(wǎng)絡算法的混合算法(Hybrid PSO and FNN Algorithm, HPFA).
1.1.1 移動環(huán)境建模
對智能駕駛車輛的行駛環(huán)境進行移動環(huán)境映射,在進行環(huán)境地圖建立模型時,對于同一個工作環(huán)境,劃分的網(wǎng)格數(shù)量愈高,網(wǎng)格就會愈小,地圖的精度就會愈高[26].為了更形象的模擬,采用柵格方式進行環(huán)境映射,設計如下步驟:
1)邊界學習:智能駕駛車輛由一個特定的地方開始沿著行駛區(qū)域的邊界或與邊界緊挨著的障礙的邊界按某一特定方向搜索一周,在此過程中獲知整個行駛環(huán)境的輪廓及障礙物的分布情況,并對數(shù)據(jù)進行記錄.
2)生成映射環(huán)境:在Matlab中將記錄的數(shù)據(jù)進行重現(xiàn),標記所有障礙的形狀,大小,位置等參數(shù).
1.1.2 最優(yōu)路徑選擇
在智能駕駛車輛的移動過程中,會自動根據(jù)優(yōu)化指標來選擇最優(yōu)的路徑[27].HPFA算法依據(jù)綜合代價參數(shù)確定最優(yōu)路徑,參數(shù)定義如下:
定義1將智能駕駛車輛在行駛中的路徑成本與躲避障礙物路徑成本進行等價換算,并將結果定義為等價代價.其計算方式為
(1)
式中:C為等價代價;N為映射環(huán)境中最大維度的邊界值;n為步長;α、β∈[0,1],表示加權系數(shù);L代表規(guī)劃路徑長度;l表示躲避障礙的代價路徑長度.
定理1等價代價的增長并不隨著網(wǎng)絡規(guī)模或者路網(wǎng)中節(jié)點數(shù)目固定比例規(guī)律增長,而是隨著網(wǎng)絡的變大,結點的增多,增長速率越來越大,即網(wǎng)絡中后期參與計算節(jié)點的等價代價更大.
證明:根據(jù)式(1)的實際意義,C的增加和網(wǎng)絡的大小有關.即網(wǎng)絡規(guī)模越大,節(jié)點越多,關聯(lián)邊越多,規(guī)劃路徑長度和躲避障礙形式路徑長度值越大,等價代價越高.因此有
(2)
(3)
隨著路網(wǎng)中節(jié)點數(shù)目的增多,L和l可以看作是兩個與指數(shù)增長趨勢相同的變量,因此C的增長速率也越來越快,但不是固定的比例規(guī)律.
定義2根據(jù)路徑規(guī)劃過程中的位置坐標得出
(4)
(5)
式中:(xg,yg)代表目標節(jié)點坐標;(xs,ys)代表起始節(jié)點坐標;(xn,yn)代表當前節(jié)點坐標;M代表目標節(jié)點最大維度坐標值;m表示當前節(jié)點坐標中的最大維度坐標值.
定理2規(guī)劃路徑長度越長,對應躲避障礙行駛代價路徑越長,反之,躲避障礙行駛代價路徑越短,所規(guī)劃路徑也越短.
證明:規(guī)劃路徑是指從起始節(jié)點到終止節(jié)點之間的歐氏距離,到達終點時的最后一個節(jié)點計算中,當前節(jié)點坐標到達終止節(jié)點坐標,則
xn=xg,yn=yg
(6)
即
(7)
此時l最小,即最后一次計算的躲避障礙行駛距離最小.而中間每次計算的躲避障礙行駛距離長度都為不小于零的數(shù),因此,初始節(jié)點與終止節(jié)點坐標距離越大,每次計算的代價路徑長度累加值就越大,對應躲避障礙行駛代價路徑越長,反之亦成立.
1.2.1 粒子群算法
基本的PSO算法原理簡單,假設存在一個能夠搜索的n維空間,種群由m個單獨粒子組成,并記為X=[x1,x2,…,xm]T,其中,第i個個體粒子的位置信息為xi=[xi1,xi2,…,xin]T;速度信息為vi=[vi1,vi2,…,vin]T;每個粒子的個體極值表示為Pi=[pi1,pi2,…,pin]T;而用pg=[pg1,pg2,…,pgn]T代表整個種群的全局極值[28].粒子的位置與速度以迭代方式進行更新,其更新方式如下
(8)
(9)
式中:k表示迭代次數(shù);d代表粒子維度;p表示最優(yōu)解;i和g分別代表粒子個體和粒子群;ω代表慣性權重;c1和c2為學習因子;r1,r2為均勻分布的隨機數(shù),且r1,r2∈U[0,1].
1.2.2 慣性權重更新
在粒子群算法優(yōu)化中,首先對慣性權重的更新進行優(yōu)化,方便在優(yōu)化算法的訓練中使用.慣性權重是平衡全局和局部搜索能力的關鍵,較大的ω值可以保證較強的全局搜索能力,同時局部搜索能力就會減弱,反之亦然,因此合理的設置ω值可以提高算法整體性能以減少迭代次數(shù),提高搜索效率[29].
定義3在算法迭代過程中,慣性權重更新設計采用閾值非線性遞減策略計算,設計將慣性權重的調整與迭代次數(shù)關聯(lián),并定義
(10)
式中:ωmax,ωmin表示慣性權重的最大值和最小值;kT表示迭代閾值;遞減因子λ>0.迭代過程由于遞減因子引入,ωk隨迭代次數(shù)增加而非線性遞減,有利于避免陷入局部極值.算法開始慣性權重值較大,有利于粒子以較大的速度遍布整個搜索空間從而確定最優(yōu)解的范圍,然后其值逐漸減小以集中尋找最優(yōu)解[30].
1.2.3 學習因子更新
設計了新的學習因子更新方式,c1保持較大值有助于粒子大范圍地搜索,但是收斂速度相對較慢.c2保持較大的值,有助于粒子學習群體的社會經(jīng)驗從而快速收斂,但是搜索規(guī)劃空間的能力相對較弱[31].
定義4為增強粒子在算法初期的搜索能力和后期的收斂能力,在算法前期保持較大的c1值和較小的c2值,在算法后期保持較小c1值和較大c2值,定義學習因子的更新公式為
(11)
1.2.4 適應度函數(shù)
關于適應度函數(shù)的確定,優(yōu)化問題的可行解能夠用每個個體粒子的位置信息表示,而適應度函數(shù)的取值很大程度上影響解的最優(yōu)與否[32].即適應度函數(shù)是對每個粒子中包含的網(wǎng)絡參數(shù)好壞的評價,因為適應度函數(shù)選擇決定了整個系統(tǒng)的性能.
定義5在粒子群訓練中,通常認為適應度值越低的個體性能越好,因此基于代價函數(shù)設計如下適應度函數(shù)
(12)
ci=αli+βld
(13)
(14)
(15)
式中:ld表示當前節(jié)點與障礙物之間的距離;ci表示當前節(jié)點的等價代價.因為智能駕駛車輛目前并不能完全實現(xiàn)理想的駕駛理念,因此在研究和試應用中,都將對象設置為中高速車輛,在保證安全的前提下,實現(xiàn)其他功能.因此根據(jù)實際情況,在進行智能駕駛車輛的路徑規(guī)劃設計時,更關注算法對于突發(fā)交通狀況的處理速度,聯(lián)系適應度函數(shù)參數(shù)的意義,相比而言,行駛距離的代價權重要次于當前節(jié)點(即智能駕駛車輛本身)的安全性權重,其與障礙物之間距離越近越危險,因此設置系統(tǒng)隨機分配它們值,且滿足:α<β.
1.2.5 訓練規(guī)則
通過訓練關系,確定粒子群優(yōu)化算法對模糊神經(jīng)網(wǎng)絡結構參數(shù)的訓練規(guī)則.
定義6在迭代次數(shù)滿足k (16) (17) 迭代次數(shù)到達閾值后,即ωk=ωmax,是一個反向過程,此時在程序中設置不再更新cij、σij以減少冗余計算.由于這兩個參數(shù)用于確定模糊神經(jīng)網(wǎng)絡隸屬函數(shù)的位置和形狀,需要不斷調整以獲得更精確的結果,因此設計這樣的訓練規(guī)則,促使模糊神經(jīng)網(wǎng)絡逐漸逼近并確定最優(yōu)解的最小范圍及最優(yōu)解. 神經(jīng)網(wǎng)絡與模糊系統(tǒng)相結合得到的模糊神經(jīng)網(wǎng)絡融合了二者的優(yōu)勢[33].本文中為智能駕駛車輛的路徑規(guī)劃設計使用模糊神經(jīng)網(wǎng)絡算法實現(xiàn),而在模糊規(guī)則定義中,使用粒子群優(yōu)化算法對神經(jīng)網(wǎng)絡的輸出進行訓練,以得到更精確的最優(yōu)路徑解.路徑規(guī)劃的控制模型設計如圖1所示. 模糊神經(jīng)網(wǎng)絡的結構設計使用五層結構的模塊化網(wǎng)絡,其中: 1)輸入層:用于將系統(tǒng)的輸入層傳輸至下一層,節(jié)點沒有函數(shù)變換,共有3個節(jié)點,每個節(jié)點代表一個方向的數(shù)據(jù)信息,即Front、Left和Right,用來描述關于障礙的數(shù)據(jù)信息,該層將輸入直接傳遞到下一層,其作用是模糊界面,此時輸入與輸出相等. 2)模糊化層:將輸入進行模糊化,節(jié)點函數(shù)為模糊系統(tǒng)中的隸屬函數(shù),即為隸屬函數(shù)的生成層.該層每個節(jié)點計算一個隸屬度函數(shù).將輸入的3個模糊量分別分為3種程度的代價,分別為較小代價S、中等代價M和高昂代價B來進行模糊化.因此本層共有9個節(jié)點,對第i個輸入分量的第j個隸屬函數(shù)節(jié)點有 (18) (19) 3)規(guī)則層:即規(guī)則前件匹配層.其功能在于實現(xiàn)規(guī)則前件的匹配.通過與第2層節(jié)點之間的連接,進行組合匹配,通過各輸入模糊值的邏輯運算,實現(xiàn)規(guī)則的前件,并在層內完成歸一化耦合.節(jié)點數(shù)目為27個,該層輸入是隸屬度,輸出為每條規(guī)則的歸一化適用度,即為每條規(guī)則的權重ωk. (20) (21) 4)結論層:該層節(jié)點計算規(guī)則后件,并與輸入的規(guī)則歸一化使用度加權求和.節(jié)點數(shù)與第3層相同,本文中的輸出表示總規(guī)劃路徑成本. (22) 5)反模糊化層:即模糊判決層,也是輸出層.所有第四層的規(guī)則節(jié)點都與該層輸出節(jié)點連接,完成清晰輸出模糊變量的實現(xiàn). 具體結構見圖2,這樣的模糊神經(jīng)網(wǎng)絡結構設計既能夠保證模糊算法功能的實現(xiàn),又具有比傳統(tǒng)的模糊神經(jīng)網(wǎng)絡結構簡潔的優(yōu)勢,在實際路徑規(guī)劃中,尤其在大型復雜網(wǎng)絡中,能夠為整體規(guī)劃算法提供更好的時間和效率優(yōu)勢. 本文算法的執(zhí)行流程規(guī)劃見圖3,具體步驟設計如下: 1)初始化路網(wǎng)環(huán)境,完成柵格映射,并獲取起始點和終點位置坐標. 2)初始化粒子群算法,設置種群規(guī)模,學習因子,障礙權重,當前迭代次數(shù)設置為1,設置粒子初始位置和速度,規(guī)定個體繼承屬性,設置原始最優(yōu)位置為初始位置. 3)計算適應度函數(shù),利用初始粒子群算法參數(shù)調整模糊神經(jīng)網(wǎng)絡參數(shù),計算下一時刻網(wǎng)絡輸出. 根據(jù)式(4)和式(12)計算適應度函數(shù)的偽代碼如下 function F=fit(i) f=0; for i =1:N f=fi+(αli+βLd); %α,β are random?data in[0,1],α<β % euclidean dli=sqrt((xi-xs)*(xi-xs)′)+sqrt((xg-xi)*(xg-xi)′) -sqrt((xg-xs)*(xg-xs)′) dld=sqrt((xd-xi)*(xd-xi)′) F=1/f; end 4)確定當前代的個體最優(yōu)位置和種群最優(yōu)粒子位置. 5)更新粒子群位置和速度,重復步驟2)~4). 更新位置,速度的偽代碼如下: for t =1:M for i=1:N % update location&speed v(i,:)=?w*v(i,:)+c1*r1*(p(i,:)-x(i,:)) +c2*r2*(pg-x(i,:)); x(i,:)=?x(i,:)+v(i,:); if fitness(x(i,:)) y(i)=fitness(x(i,:)); p(i,:)=x(i,:); end if y(i) pg=p(i,:); end end % output best solution Pbest(t)=fitness(pg); end 6)判斷是否到達最大進化代數(shù),若沒有,則根據(jù)式(10)更新權重參數(shù),依據(jù)式(11)更新學習因子;若達到最大進化代數(shù),則確定算法結束條件. 7)根據(jù)式(16)、式(17)的規(guī)則,利用權重參數(shù)ω和迭代參數(shù)k對模糊網(wǎng)絡的模糊子集參數(shù)cij和σij進行調整,并利用最優(yōu)粒子提供的網(wǎng)絡參數(shù)計算模糊神經(jīng)網(wǎng)絡輸出. function Train if k % update c&sigma ck=ck*(xi-xs)/(xg-xi)*wk; sigmak=(1-1/k)sigmak; % update?w&c1,c2 wk=wmax-(wmax-wmin)*((k-1)/(kt-1))∧λ % λ=2 c1k=c1s-(c1s-c1f)*k/m c2k=c2s-(c2s-c2f)*k/m % c1s>c1f,c2s end else % stop update ck=ck; sigmak=sigmak; end end 8)采用濾波法進行平滑處理,對模糊神經(jīng)網(wǎng)絡算出的路徑進行處理,顯示計算結果與最優(yōu)路徑. 在算法的設計和分析中,將求解問題的關鍵操作指定為基本操作,通常把算法執(zhí)行基本操作的次數(shù)定義為算法的時間復雜度.算法的空間復雜度定義為所耗費的存儲空間,即關于問題規(guī)模的函數(shù)[34]. 定理3HPFA算法的時間復雜度為O(n2). 證明 本文所設計的算法的時間復雜度由網(wǎng)絡中所有節(jié)點的基本運算和粒子群優(yōu)化算法對模糊神經(jīng)網(wǎng)絡參數(shù)的訓練兩方面決定.對節(jié)點的基本操作可以認為是掃描時對所有節(jié)點進行搜索,由于在實際交通網(wǎng)絡中一個節(jié)點的相關聯(lián)節(jié)點數(shù)一般不會達到n-1,即不能達到所有節(jié)點均兩兩相連.因此,復雜度中的關聯(lián)點數(shù)可視為一個常量,則在某些情況下算法的時間復雜度為O(n2).而粒子群算法對神經(jīng)網(wǎng)絡參數(shù)的訓練根據(jù)訓練關系,可以理解為每次操作均為基本運算,即時間復雜度也為O(n2).因此HPFA算法的整體時間復雜度為O(n2). 定理4HPFA算法的空間復雜度為Ω(n2). 證明 由于路網(wǎng)結構以鄰接矩陣的形式映射及存儲在程序中,所采用的n×n矩陣來存儲節(jié)點和邊等數(shù)據(jù)的關系.因此HPFA算法的空間復雜度應為Ω(n2). 針對模糊神經(jīng)網(wǎng)絡算法以及粒子群算法與本文所設計HPFA算法在算法功能和性能兩個方面進行仿真對比,基本參數(shù)設置如下: 環(huán)境設置大小為30×30,障礙比例為15%.PSO算法參數(shù)中,粒子群規(guī)模為50.學習因子c1為1.5,學習因子c2為1.5,最大慣性權重wmax為0.9,最小慣性權重wmin為0.3,允許最大迭代次數(shù)m為300.FNN算法中,輸入分量i為3,輸入分量j為3,初始μij為1.5,初始σij為1.HPFA算法中,迭代閾值KT為20,遞減指數(shù)λ為2. 在Matlab平臺進行仿真實驗,首先對本文算法在路徑規(guī)劃功能方面的效果進行仿真;然后對影響算法的參數(shù)進行調整,在不同環(huán)境下測試算法的性能.仿真測試主要分析參數(shù)包括:1)算法收斂速度;2)等價代價;3)求得最優(yōu)解概率P;4)算法運行時間. 圖4為環(huán)境模型和初始環(huán)境設置,其中橫縱坐標表示方向,設置的起始點和終止點坐標分別為(1.5, 0.5)和(29.5, 27.5),黑色標記柵格為障礙,其他為安全柵格,可作為路徑規(guī)劃的下一備選節(jié)點. 圖5為初始參數(shù)設置下的路徑規(guī)劃對比.由圖5可以看出,3種算法都可以成功規(guī)劃出從起始點到終止點的路徑,但相對而言本文算法所規(guī)劃路徑較其他兩種方法更平滑一些,路徑較短. 根據(jù)實驗結果,3種算法在多次實驗中規(guī)劃路徑與求得最優(yōu)解概率如表1所示. 表1 基本參數(shù)實驗結果 從表1可以看出,3種算法所規(guī)劃最長路徑和最短路徑之間都有很大差距,這是因為在3種算法最開始都是未經(jīng)訓練和學習的結果,隨著算法的運行,3種算法的結果都趨于最優(yōu)解.FNN算法雖然規(guī)劃的最長路徑較其他兩種算法差,但從平均規(guī)劃路徑長度可以看出,其多次訓練之后的結果仍然較PSO算法更靠近最優(yōu)解,這也是由于兩種算法本身性質導致的:FNN算法系統(tǒng)較為復雜,初始運行時其計算結果范圍大,但不能更好的向最優(yōu)解逼近;而PSO算法在后期由于粒子多樣性下降導致運行結果質量變差.本文算法在二者基礎上進行的改進使得其在該實驗中表現(xiàn)出了很好的優(yōu)勢,既能快速逼近最優(yōu)解,又能保證很好的求解成功概率. 各算法收斂情況仿真結果分別如圖6所示,可以看出,PSO算法在初始時收斂較快,之后略有減慢,在約100次迭代時達到收斂效果,此時適應度函數(shù)收斂在一個相對較高的值上;FNN算法則不然,其收斂速度由慢加快,在約120次左右迭代后實現(xiàn)收斂,但是適應度函數(shù)收斂在一個較PSO算法略優(yōu)的值上;而本文算法HPFA則以較快速收斂性能,在80次左右迭代后達到收斂在三者中最低適應度函數(shù)的效果,且收斂曲線相對平滑,而PSO算法與FNN算法的收斂曲線在到達收斂值之前,均有不同程度抖動,這可能是由于粒子可選性與模糊神經(jīng)網(wǎng)絡的模糊子集參數(shù)變化導致的. 更改網(wǎng)絡中障礙的比例,并以此來模擬針對突發(fā)交通狀況所造成的路徑規(guī)劃障礙對路徑規(guī)劃算法的影響,當環(huán)境參數(shù)中障礙比例變?yōu)?0%時,仿真實驗結果分別如圖7和表2所示,其中,路徑規(guī)劃仿真結果可以看出,隨著障礙的增加,為了躲避突然發(fā)障礙,3種算法規(guī)劃路徑都稍有變化,平滑性受到了影響,但由于仿真環(huán)境限制,這種效果并不明顯. 表2中的數(shù)據(jù)也表明,在網(wǎng)絡規(guī)模不變時增加障礙后,3種算法所規(guī)劃路徑的最長路徑都增加很多,尤其是FNN算法,這是由于雖然網(wǎng)絡大小不變,但是由于臨時障礙的增加,使得系統(tǒng)需要處理的關系變多,因此相對復雜的系統(tǒng)無效搜索也就變多,而PSO的簡單系統(tǒng)則表現(xiàn)出較好的優(yōu)勢,因此采用PSO算法對模糊網(wǎng)絡的模糊子集進行訓練所得到的算法更能適應突然增加的交通障礙和更加復雜的網(wǎng)絡,這也從另一個方面證明了設計本算法的意義. 圖8為3種算法的運行時間仿真結果記錄.可以看出,3種算法運行時間隨網(wǎng)絡規(guī)格增大的趨勢大概一致,這是因為在網(wǎng)絡較小時,因為節(jié)點數(shù)量較少,運算量小,而隨著網(wǎng)絡增大,可供路徑選擇的節(jié)點數(shù)變多,且需要處理的邊和節(jié)點權值以及關系變得復雜,所以算法運行時間都呈現(xiàn)出快速增長的趨勢;隨著節(jié)點持續(xù)增多,PSO算法因其生物特性優(yōu)勢,使得其增長趨勢相對變緩,而FNN算法則因為結構復雜導致其運行時間明顯大于其他兩種算法.本文算法HPFA則由于采用了PSO算法對FNN中模糊子集參數(shù)的調整,使得其在網(wǎng)絡中節(jié)點少時運行時間最少,而隨著網(wǎng)絡節(jié)點增多,其表現(xiàn)出了較好的適應性,算法運行時間的增長沒有PSO算法與FNN算法增長趨勢明顯,本算法在實際應用中對緩存和系統(tǒng)硬件的要求,證明在同樣網(wǎng)絡計算容量的需求下低于其他兩種算法. 記錄網(wǎng)絡規(guī)格為30×30時不同障礙比例下的等價代價,對比如圖9所示.由圖9所示結果可以看出,隨著網(wǎng)絡中障礙比例由15%分別增加到20%和25%后,3種算法的等價代價都會有所增長,這是由于新增障礙導致安全柵格變少所致;而相比之下,PSO算法的等價代價增長較為明顯,F(xiàn)NN算法次之,HPFA算法的等價代價增長最為緩慢,這是由于FNN算法的自適應性使之表現(xiàn)出較好性能,而本文算法則在此基礎上又兼顧了系統(tǒng)的簡潔使算法更高效,因此能夠以最小的等價代價獲取最優(yōu)路徑. Apollo是很好的智能駕駛研究案例,其基本的路徑規(guī)則算法為A*算法,因此在算法性能分析中,將HPFA算法與A*的改進算法(A* Algorithm Optimization, AAO),以及智能駕駛車輛路徑規(guī)劃中比較常用的其他算法進行對比,其中包括:蟻群算法(Ant Colony Optimization, ACO),遺傳算法(Genetic Algorithm, GA),K則最短路徑算法(Kth Shortest Path Algorithm, KSPA)[35].在30×30柵格網(wǎng)絡環(huán)境,障礙比例為15%時,幾種算法規(guī)劃路徑結果對比如圖10所示. 由圖10所示仿真實驗結果可以看出,在整體規(guī)劃路徑方面,HPFA算法所規(guī)劃路徑在長度和平滑性方面明顯優(yōu)于其他四種算法,根據(jù)定理2可以判斷出算法在規(guī)劃路徑的長度方面具有優(yōu)勢,其躲避障礙行駛距離的等價代價也最小. 當障礙比例增加至20%以模仿交通網(wǎng)絡中的突發(fā)事故等臨時因素導致的障礙時,幾種算法所規(guī)劃路徑如圖11所示.從圖11所示的仿真實驗結果中可以看出,當障礙增加時,HPFA算法所規(guī)劃路徑在相對平滑,轉彎較少的情況下避開所有障礙規(guī)劃出了一條長度較短的路徑,即HPFA算法能夠在等價代價較小的條件下,規(guī)劃出一條最優(yōu)路徑.而其他幾種算法也能夠成功規(guī)劃出從起點到終點的路徑,但相對比而言,轉彎數(shù)量和長度不占優(yōu)勢. 為了更好地說明問題,不同障礙比例環(huán)境下幾種算法規(guī)劃路徑中的等價代價統(tǒng)計如圖12所示.可以看出,HPFA算法在等價代價方面都表現(xiàn)出了比較好的優(yōu)勢,而隨著障礙比例的增加,HPFA算法的等價代價增加也是最少的,這也為本算法在實際應用中的可行性提供了保證. 圖13為經(jīng)過多次仿真實驗的幾種算法的運行時間對比結果.從圖中所示結果可以看出,HPFA算法在多次仿真實驗中運行時間方面顯示出明顯優(yōu)勢,尤其是在網(wǎng)絡節(jié)點越來越多的情況下,這種優(yōu)勢體現(xiàn)得更加明顯,這也為本文算法在實際應用中的可行性提供了保證. 隨機截取的在3000 m×3000 m的天津市實際地圖上進行了ACO算法、GA算法、AAO算法、KSPA算法與HPFA算法的規(guī)劃路徑測試對比,其詳情如圖14~圖16所示. 由圖16所示結果可以看出,幾種算法都能成功規(guī)劃出由起始點人民醫(yī)院至終點營口道的路徑;其中ACO算法、AAO算法與KSPA算法分別用3個轉彎規(guī)劃出相對較短路徑,GA算法所規(guī)劃路徑相對略長,包含兩個轉彎,而本文HPFA算法所規(guī)劃路徑則規(guī)劃出了一條含有一個轉彎的最優(yōu)路徑實現(xiàn)路徑規(guī)劃. 圖17和圖18為該實驗中5種算法的等價代價和平均運行時間對比結果.從圖17和圖18所示結果可以看出,不論是在路徑規(guī)劃中的等價代價,還是算法平均運行時間方面,HPFA算法都比幾種常用的路徑規(guī)劃算法優(yōu)秀,該實驗也在一定程度上為本文算法的實際應用提供了證明. 1)針對粒子群算法在路徑規(guī)劃應用中容易陷入局部極值的缺點,設計了優(yōu)化慣性權重和學習因子更新方式的改進粒子群算法,并通過該算法對模糊神經(jīng)網(wǎng)絡的模糊子集參數(shù)按照定義規(guī)則進行訓練的方法來解決這一問題. 2)設計了合理的適應度函數(shù)來證明該算法的收斂速度更快,通過仿真分析和實驗測試證明了本算法在規(guī)劃路徑長度和算法本身效率方面的優(yōu)勢. 3)由于本文算法注重算法效率和收斂狀況,即尋找最優(yōu)解的效率,其算法復雜度相比而言不占優(yōu)勢,尋找一種能夠克服算法復雜度的影響,又能快速響應的結構和算法完成智能駕駛車輛的路徑規(guī)劃,是我們下一步的研究方向.1.3 模糊神經(jīng)網(wǎng)絡結構設計
1.4 HPFA算法步驟
1.5 算法復雜度分析
2 實驗結果與分析
2.1 參數(shù)設置
2.2 仿真實驗分析
2.3 實驗測試分析
3 結論