本發(fā)明涉及多無(wú)人機(jī)路徑規(guī)劃,尤其是涉及一種基于靈活子輔助任務(wù)的大規(guī)模復(fù)雜約束多目標(biāo)進(jìn)化算法的多無(wú)人機(jī)路徑規(guī)劃方法。
背景技術(shù):
1、進(jìn)化算法(ea)具有良好的特性,它在許多情況只需要很少的調(diào)整就可以提供良好的結(jié)果,利用進(jìn)化算法來(lái)解決多目標(biāo)的問(wèn)題,稱(chēng)為多目標(biāo)進(jìn)化算法(moeas)。無(wú)人機(jī)路徑規(guī)劃問(wèn)題需要考慮飛行總長(zhǎng)度,和飛行過(guò)程中的安全系數(shù),是一個(gè)雙目標(biāo)問(wèn)題。在無(wú)人機(jī)路徑規(guī)劃中,由于涉及到三維空間的路徑,并且需要考慮空間碰撞問(wèn)題,在使用進(jìn)化算法時(shí)會(huì)涉及到較多的復(fù)雜約束。并且在多無(wú)人機(jī)場(chǎng)景下,需要同時(shí)規(guī)劃數(shù)量非常多的無(wú)人機(jī)路徑,會(huì)導(dǎo)致進(jìn)化算法的效果進(jìn)一步惡化。因此設(shè)計(jì)一種能夠同時(shí)處理復(fù)雜約束和大規(guī)模決策變量進(jìn)化算法是十分重要的。
2、目前對(duì)于多無(wú)人機(jī)路徑規(guī)劃問(wèn)題的算法有,遺傳算法、粒子群算法、蟻群算法等,但這些算法在處理具有復(fù)雜約束和大規(guī)模決策變量的無(wú)人機(jī)路徑規(guī)劃問(wèn)題時(shí)存在容易陷入局部最優(yōu),無(wú)法穿越大面積的不可行區(qū)域等特點(diǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是克服上述現(xiàn)有技術(shù)存在的路徑規(guī)劃問(wèn)題時(shí)存在容易陷入局部最優(yōu),無(wú)法穿越大面積的不可行區(qū)域等缺陷而提供一種基于靈活子輔助任務(wù)的大規(guī)模復(fù)雜約束多目標(biāo)進(jìn)化算法的多無(wú)人機(jī)路徑的規(guī)劃方法。
2、本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
3、一種基于靈活子輔助任務(wù)的多目標(biāo)進(jìn)化算法的無(wú)人機(jī)路徑規(guī)劃方法,所述方法構(gòu)建以多個(gè)無(wú)人路徑的總長(zhǎng)度和無(wú)人機(jī)安全系數(shù)為目標(biāo)的無(wú)人機(jī)路徑規(guī)劃多目標(biāo)優(yōu)化問(wèn)題,并采用基于靈活子輔助任務(wù)大規(guī)模復(fù)雜約束多目標(biāo)進(jìn)化算法來(lái)完成多無(wú)人機(jī)路徑的規(guī)劃,具體步驟包括:
4、隨機(jī)初始化實(shí)數(shù)編碼的種群矩陣,種群矩陣的每一行代表一個(gè)個(gè)體,并計(jì)算出對(duì)應(yīng)的多目標(biāo)優(yōu)化問(wèn)題的目標(biāo)函數(shù)值;
5、算法進(jìn)入迭代,通過(guò)競(jìng)爭(zhēng)協(xié)作粒子群算子更新約束處理主任務(wù)與大規(guī)模主任務(wù)分別對(duì)應(yīng)種群的個(gè)體;
6、根據(jù)當(dāng)前迭代次數(shù)計(jì)算當(dāng)前靈活子任務(wù)因子,基于當(dāng)前靈活子任務(wù)因子和生成的隨機(jī)數(shù),判斷激活并執(zhí)行收斂性子輔助任務(wù)算子或者激活多樣性子輔助任務(wù)算子;
7、根據(jù)得到的所有新個(gè)體與原主任務(wù)種群中的個(gè)體,更新主任務(wù)種群,存儲(chǔ)所設(shè)定種群規(guī)模的最優(yōu)個(gè)體;根據(jù)所有新個(gè)體和對(duì)應(yīng)任務(wù)的種群中的上一代個(gè)體,更新所有任務(wù)種群個(gè)體;
8、當(dāng)重復(fù)迭代直至達(dá)到最大迭代數(shù),輸出當(dāng)前種群,根據(jù)種群中個(gè)體得到路徑b樣條曲線的控制點(diǎn),得出完整路徑。
9、作為優(yōu)選技術(shù)方案,所述的多無(wú)人機(jī)路徑規(guī)劃多目標(biāo)問(wèn)題,具體如下:
10、min?f=(f1,f2)
11、
12、其中,dn是無(wú)人機(jī)的數(shù)量,pn為通過(guò)b樣條曲線的控制點(diǎn)生成的路徑點(diǎn)的數(shù)量;多個(gè)無(wú)人路徑的總長(zhǎng)度f(wàn)1優(yōu)化中,ppi,k為第i無(wú)人機(jī)路徑的第k個(gè)路徑點(diǎn);在f2中,mp是最近的網(wǎng)格點(diǎn)的數(shù)量,dsafe為無(wú)人機(jī)與障礙的安全距離,di,k,j為第i個(gè)無(wú)人機(jī)的第k個(gè)路徑點(diǎn)與第j個(gè)網(wǎng)格點(diǎn)之間的距離;
13、在計(jì)算無(wú)人機(jī)安全系數(shù)的目標(biāo)函數(shù)值時(shí),通過(guò)個(gè)體的決策變量的控制點(diǎn)來(lái)求解:
14、對(duì)于多個(gè)無(wú)人路徑的總長(zhǎng)度,通過(guò)b樣條曲線的計(jì)算公式解出路徑點(diǎn),通過(guò)路徑點(diǎn)計(jì)算總長(zhǎng)度,路徑點(diǎn)的生成公式為:
15、
16、其中,(x′i,y′i,z′i)為生成的路徑點(diǎn),ui為節(jié)點(diǎn)向量{u0,u1,...,un},nk,d(ui)為k個(gè)d次b樣條曲線的基函數(shù),對(duì)于基函數(shù)的遞歸公式為:
17、
18、計(jì)算出路徑點(diǎn),通過(guò)f1即可計(jì)算出第一個(gè)目標(biāo)值;
19、對(duì)于無(wú)人機(jī)安全系數(shù),通過(guò)以路徑點(diǎn)為圓心的圓形,將地形網(wǎng)格點(diǎn)和路徑點(diǎn)投影到水平面后來(lái)計(jì)算威脅系數(shù),所述的地形網(wǎng)格點(diǎn)為將地形網(wǎng)格化后在無(wú)人機(jī)的安全距離內(nèi)的地形網(wǎng)格投影在水平面形成的點(diǎn)。
20、作為優(yōu)選技術(shù)方案,所述通過(guò)競(jìng)爭(zhēng)協(xié)作粒子群算子更新約束處理主任務(wù)與大規(guī)模主任務(wù)分別對(duì)應(yīng)種群的個(gè)體,具體如下:
21、競(jìng)爭(zhēng)算子部分處理約束處理主任務(wù),通過(guò)適應(yīng)度兩兩競(jìng)爭(zhēng),適應(yīng)度的計(jì)算采用spea2的計(jì)算方式:
22、
23、其中,y<x表示x支配y,dist(x,x′)表示距離當(dāng)前個(gè)體與最近個(gè)體的歐式距離;
24、通過(guò)適應(yīng)度的大小選出贏家輸家后,對(duì)輸家粒子的速度和位置進(jìn)行更新;采用多項(xiàng)式變異策略進(jìn)行變異,得到最后的新個(gè)體;
25、大規(guī)模主任務(wù)采用協(xié)作算子,更新公式如下:
26、
27、其中,i表示第i個(gè)決策變量,ai的取值為0或1;
28、采用多項(xiàng)式變異策略進(jìn)行變異,得到最后的新個(gè)體。
29、作為優(yōu)選技術(shù)方案,若產(chǎn)生的取值范圍0到1的隨機(jī)數(shù)大于靈活子任務(wù)因子的值,則激活并執(zhí)行收斂性子輔助任務(wù)算子;
30、所述的收斂性子輔助任務(wù)算子通過(guò)競(jìng)爭(zhēng)機(jī)制選出輸家和贏家,并采取不同的更新方式,
31、對(duì)于輸家,對(duì)輸家粒子的速度和位置進(jìn)行更新;
32、對(duì)于贏家,更新公式為:
33、
34、其中,vw1和vw2表示贏家額外的速度,u和l表示取值的上邊界和下邊界,xw表示當(dāng)前贏家所處的位置,‖·‖表示向量的長(zhǎng)度,r1和r2是取值范圍為-1到1的隨機(jī)數(shù),x′w1和x′w2為贏家最后更新的位置;
35、采用多項(xiàng)式變異策略對(duì)所有個(gè)體進(jìn)行變異,得到最后的新個(gè)體。
36、作為優(yōu)選技術(shù)方案,若產(chǎn)生的取值范圍為0到1的隨機(jī)數(shù)小于靈活子任務(wù)因子的值,則激活并執(zhí)行多樣性子輔助任務(wù)算子;
37、所述的多樣性子輔助任務(wù)算子通過(guò)競(jìng)爭(zhēng)機(jī)制選出輸家和贏家,并采取不同的更新方式;
38、對(duì)于輸家,對(duì)輸家粒子的速度和位置進(jìn)行更新;
39、對(duì)于贏家,通過(guò)鄰域配對(duì)找到每個(gè)贏家的鄰域,通過(guò)de-rand-1算子更新,使用多項(xiàng)式變異得出的新個(gè)體。
40、作為優(yōu)選技術(shù)方案,所述的鄰域配對(duì)方法采用小生境技術(shù),通過(guò)角度計(jì)算余弦相似度,找到鄰域內(nèi)10個(gè)個(gè)體,再?gòu)闹须S機(jī)選擇兩個(gè)個(gè)體作為mate1,mate2;通過(guò)de-rand-1算子得到新個(gè)體,公式如下:
41、x′i=xi+τ(xi,m1-xi,m2)
42、其中,xi為原個(gè)體,xi,m1和xi,m2為鄰域內(nèi)個(gè)體mate1和mate2,τ為隨機(jī)取值為{0.6,0.8,1}的常數(shù)。
43、作為優(yōu)選技術(shù)方案,所述的輸家粒子的速度和位置的更新公式為:
44、
45、其中,vl和xl是輸家粒子的速度和位置,m為目標(biāo)數(shù),t為當(dāng)前的迭代數(shù),t為最大迭代數(shù),r1和r2是取值范圍從-1到1的隨機(jī)數(shù)。
46、作為優(yōu)選技術(shù)方案,所述的多項(xiàng)式變異策略公式如下:
47、v′k=vk+δ×(uk-lk)
48、
49、其中,u是一個(gè)[0,1]區(qū)間內(nèi)的隨機(jī)數(shù),ηm是由用戶選取的分布指數(shù),vk為原種群,v′k為變異后的種群,uk表示變量的上界,lk表示變量的下界。
50、作為優(yōu)選技術(shù)方案,所述根據(jù)得到的所有新個(gè)體與原主任務(wù)種群中的個(gè)體,更新主任務(wù)種群,存儲(chǔ)所設(shè)定種群規(guī)模的最優(yōu)個(gè)體,具體為:
51、將新個(gè)體與原主任務(wù)個(gè)體相融合,并通過(guò)約束支配技術(shù)和spea2算子進(jìn)行環(huán)境選擇,利用適應(yīng)度大小篩選出所有的可行的非支配解。
52、作為優(yōu)選技術(shù)方案,所述根據(jù)所有新個(gè)體和對(duì)應(yīng)任務(wù)的種群中的上一代個(gè)體,更新所有任務(wù)種群個(gè)體,具體為:
53、將新個(gè)體與對(duì)應(yīng)的輔助任務(wù)原種群中的個(gè)體融合;
54、針對(duì)約束處理主任務(wù),通過(guò)約束松弛處理技術(shù)與spea2環(huán)境選擇算子,篩選出滿足約束松弛條件的非支配解;
55、針對(duì)大規(guī)模主任務(wù)和子任務(wù),忽略約束,采用spea2環(huán)境選擇算子篩選出不考慮約束的所有非支配解。
56、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
57、本發(fā)明基于當(dāng)前迭代次數(shù)計(jì)算獲得當(dāng)前靈活子任務(wù)因子,調(diào)控在迭代過(guò)程中不同子任務(wù)執(zhí)行的概率,通過(guò)收斂性子任務(wù)與多樣性子任務(wù)在不同時(shí)期的參與程度來(lái)輔助主任務(wù)。在迭代的早期,為了使種群快速收斂,收斂性子任務(wù)將會(huì)以較大概率執(zhí)行,在迭代的后期,為了使種群找到多種合適的方案,保持良好的多樣性,多樣性子任務(wù)會(huì)以較大概率執(zhí)行。并且針對(duì)收斂性子任務(wù)和多樣性子任務(wù)分別設(shè)計(jì)了不同的算子,來(lái)側(cè)重不同方面的進(jìn)化。采用以上方法,來(lái)為多無(wú)人機(jī)路徑規(guī)劃找到盡可能多的近似最優(yōu)方案,以節(jié)省路徑長(zhǎng)度,提高飛行安全系數(shù)。