本發(fā)明涉及路徑規(guī)劃領(lǐng)域,涉及一種引入三維避障因子的改進(jìn)蟻群算法。
背景技術(shù):
1、隨著導(dǎo)航技術(shù)與人工智能技術(shù)的迅速發(fā)展,基于蟻群算法的路徑規(guī)劃技術(shù)在物流業(yè)、制造業(yè)、旅游業(yè)等領(lǐng)域得到了廣泛的應(yīng)用。與此同時(shí),蟻群算法及其改進(jìn)算法成為了相關(guān)技術(shù)的研究核心,優(yōu)秀的算法可以使車輛在已知地圖中高效率地規(guī)劃出最優(yōu)路徑。
2、蟻群算法是一種基于群智能的概率型優(yōu)化算法,其有效性首先是在求解旅行商問題之中得到了驗(yàn)證,隨即該算法受到了更多研究者的關(guān)注與重視,現(xiàn)如今該算法在路徑規(guī)劃和無人駕駛中都展現(xiàn)出了良好的應(yīng)用前景。
3、雖然蟻群算法具有魯棒性良好、適應(yīng)性強(qiáng)等優(yōu)點(diǎn),但是該算法仍然存在以下缺點(diǎn):第一,蟻群算法在初期搜索盲目性強(qiáng),算法收斂速度慢,搜索時(shí)間長;第二,由于算法的正反饋機(jī)制,如果一開始得到的是次優(yōu)解,那么正反饋會(huì)使得次優(yōu)解很快地占據(jù)更大的優(yōu)勢(shì),這使得螞蟻在搜索過程中容易出現(xiàn)停滯,陷入局部最優(yōu)解;第三,蟻群算法由于禁忌表的限制以及復(fù)雜環(huán)境下障礙物的影響,使得蟻群搜索只能前進(jìn)不能后退,很容易造成“死鎖”現(xiàn)象;而且在考慮實(shí)際應(yīng)用中的三維地形因素時(shí),這種現(xiàn)象對(duì)路徑規(guī)劃的效果將造成嚴(yán)重的后果,直接導(dǎo)致本次路徑規(guī)劃失效。因此,需要對(duì)蟻群算法做進(jìn)一步改進(jìn),引入三維避障因子,以脫離“死鎖”現(xiàn)象,得到一種改進(jìn)的蟻群算法。
技術(shù)實(shí)現(xiàn)思路
1、為了克服上述傳統(tǒng)蟻群算法在路徑規(guī)劃任務(wù)中的不足,本發(fā)明提出了一種引入三維避障因子的改進(jìn)蟻群算法。
2、本發(fā)明所采用的技術(shù)方案是:
3、步驟1:運(yùn)用柵格法進(jìn)行環(huán)境建模,公式為:
4、
5、式中,n表示山坡地形的總個(gè)數(shù);(xoi,yoi)是第i座小山坡的中心坐標(biāo);hi表示第i座小山坡的高度;xsi和ysi表示第i座小山坡的坡度在平面坐標(biāo)的兩個(gè)方向上的分量;
6、步驟2:構(gòu)建行程的總體代價(jià)函數(shù),用于計(jì)算衡量車輛在三維地形模型中行駛的總代價(jià)。行程總體代價(jià)函數(shù)表示為:
7、
8、其中,f表示行程總代價(jià);fl表示行駛距離帶來的代價(jià);fs表示行駛過程中的坡度大小所帶來的代價(jià);fh表示行駛過程高度變化帶來的代價(jià);為常數(shù),代表各代價(jià)的權(quán)重值;
9、進(jìn)一步地,行駛距離代價(jià)fl考慮的是車輛從起點(diǎn)到終點(diǎn)的行駛距離,具體可表示為:
10、
11、其中,(xi,yi)和(xi+1,yi+1)分別表示第i個(gè)行程節(jié)點(diǎn)與相鄰下一個(gè)行程節(jié)點(diǎn)的平面坐標(biāo);
12、進(jìn)一步地,行駛的坡度代價(jià)fs考慮的是行駛過程中坡度大小對(duì)于自身損耗的影響;行駛的坡度代價(jià)具體可表示為:
13、
14、其中,n表示行程節(jié)點(diǎn)的總個(gè)數(shù);zi和zi+1分別表示當(dāng)前節(jié)點(diǎn)與下一個(gè)節(jié)點(diǎn)的z軸坐標(biāo);
15、進(jìn)一步地,行駛的高度變化代價(jià)fh考慮的是在車輛行駛的過程中所在的海拔高度變化所帶來的損耗;具體可表示為:
16、
17、其中,n表示行程節(jié)點(diǎn)的總個(gè)數(shù);zk表示第k個(gè)行程節(jié)點(diǎn)處的高度值;
18、步驟3:車輛在三維地形模型中的起點(diǎn)和終點(diǎn),初始化改進(jìn)蟻群算法的各個(gè)參數(shù);
19、步驟4:將所有螞蟻放置在起點(diǎn)的位置上,同時(shí)構(gòu)建禁忌表;
20、步驟5:改進(jìn)蟻群算法的狀態(tài)轉(zhuǎn)移概率公式,主要是引入三維避障因子,改進(jìn)后的公式為:
21、
22、其中,τi,j(t)為節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的信息素;ηi,j(t)為啟發(fā)函數(shù);alowedi是節(jié)點(diǎn)i處的可行節(jié)點(diǎn)的集合;m為螞蟻標(biāo)號(hào);t為迭代次數(shù);i為當(dāng)前節(jié)點(diǎn)標(biāo)號(hào),j為待轉(zhuǎn)移的下一位置節(jié)點(diǎn)標(biāo)號(hào);α和β分別表示信息素和啟發(fā)因素的相對(duì)重要性;ψi,j是行程方向引導(dǎo)函數(shù),具體可表示為:
23、
24、其中,ds,i表示起點(diǎn)到節(jié)點(diǎn)i的距離,di,j表示節(jié)點(diǎn)i到下一個(gè)節(jié)點(diǎn)j的距離;dj,e表示節(jié)點(diǎn)j到終點(diǎn)的距離;γ是方向因子,表示行程方向引導(dǎo)的相對(duì)重要性。avoidj是引入的三維避障因子,具體表示為:
25、
26、其中,oj是三維空間中與節(jié)點(diǎn)j相鄰且存在障礙物的柵格總個(gè)數(shù),lj是三維空間中與節(jié)點(diǎn)j相鄰且被禁忌表限制而不能通過的柵格總個(gè)數(shù),aj是三維空間中與節(jié)點(diǎn)j相鄰的柵格總個(gè)數(shù)。ε為避障系數(shù),取值為一個(gè)小的正數(shù)。通過該公式計(jì)算出轉(zhuǎn)移概率來確定螞蟻下一個(gè)要走的節(jié)點(diǎn),將走過的節(jié)點(diǎn)放入禁忌表中;當(dāng)螞蟻到達(dá)目標(biāo)節(jié)點(diǎn)時(shí),即完成一次搜索;
27、步驟6:改進(jìn)蟻群算法的信息素更新規(guī)則,公式為:
28、
29、
30、其中,ρ為信息素?fù)]發(fā)因子;q為信息素常數(shù);m為螞蟻總數(shù);fm表示在第t次迭代中第m只螞蟻路徑的行程總代價(jià)函數(shù)值;進(jìn)一步地,依據(jù)以上的公式對(duì)信息素含量進(jìn)行更新;
31、步驟7:將每次迭代后得到的最優(yōu)行駛路線進(jìn)行比較,得到當(dāng)前的最優(yōu)行駛路線;
32、步驟8:判斷迭代次數(shù)是否達(dá)到設(shè)定的最大值,若達(dá)到最大,則輸出最優(yōu)路線;否則,繼續(xù)進(jìn)行迭代。
33、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
34、(1)考慮了車輛在三維地形環(huán)境中行駛所面臨的坡度大小以及海拔高度變化帶來的代價(jià),從而改進(jìn)了傳統(tǒng)蟻群算法的信息素更新規(guī)則,使改進(jìn)蟻群算法在車輛路徑規(guī)劃方面的應(yīng)用更為合理有效。
35、(2)設(shè)計(jì)并引入了三維避障因子,緩解了傳統(tǒng)蟻群算法由于禁忌表的限制以及復(fù)雜環(huán)境下障礙物的影響,使得蟻群搜索只能前進(jìn)不能后退,容易造成“死鎖”現(xiàn)象的問題。
1.一種引入三維避障因子的改進(jìn)蟻群算法。其特征在于,包括以下步驟:
2.如權(quán)利要求1所述方法,其特征在于,步驟5中改進(jìn)后的蟻群算法的狀態(tài)概率轉(zhuǎn)移公式具體表示為:
3.如權(quán)利要求1所述方法,其特征在于,步驟6中改進(jìn)后的蟻群算法的信息素更新規(guī)則具體表示為: